tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: mtree and file names containing an asterisk
On Fri, 15 Aug 2025, Edgar Fuß wrote:
If the filename in the spec. contains a wildcard, it is treated as such:
But the filename in the spec is foo\052bar, not foo*bar!
\052 is '*', and that substitution happens before the wildcard check--which is
what's causing your issue since it matches the next entry `foobar'.
But, maybe mtree(8) should not do wildcard expansion on the filenames read from
a directory entry. It should only do so if comes from a spec.:
Err, what? Are you saying what it currently does is treating the
on-filesystem filename foo*bar as a wildcard pattern?
Yes.
But what should an on-filesystem filename "match"?
I consider it a bug. FreeBSD's got it too--but then, they're using NetBSD's
mtree implementation, I think.
Whatever, I think the most basic requirement mtree should fulfil is that if
I generate a spec from a path and then compare the spec to the path (without
changing anything on-disc, of course), the comparison should succeed no
matter which octets the on-disc filenames contain or what the phase of the
moon is.
That's what the patch does. It also allows hand-crafted entries containing
wildcards in the spec., as reqd. per the man-page. Give it a try.
-RVP
Home |
Main Index |
Thread Index |
Old Index