Mail Archives: djgpp/2001/07/05/19:27:07
Hello.
Waldemar Schultz wrote:
> small problems with directories/wildcards:
> I changed zipporc to have the line
>
> zip from .,f:/djgppzip
>
> Case 1:
> -------
> running zippo from e:/djgpp
>
> bash-2.04$ zippo -v -q -p fil*
> . DJGPP path 'e:/djgpp/'
> . Installation prefix 'e:/djgpp/'
> . Backup prefix 'e:/djgpp/backup/'
> . Reading configuration from 'e:/djgpp/share/zippo/zipporc'
> . Installed DSM path [1]: 'e:/djgpp/share/zippo/db'
> . Installed manifest path [1]: 'e:/djgpp/manifest'
> . Available DSM path [1]: '.'
> . Available DSM path [2]: 'e:/djgpp/share/zippo/db-avail'
> . Available zip path [1]: '.'
> . Available zip path [2]: 'f:/djgppzip'
> . Available gzip'd tar path [1]: '.'
> . Available gzip'd tar path [2]: 'f:/djgppzip'
> fil*: Package unsupported
> Error: Unable to parse DSM!
That's not surprising. When you run:
zippo -v -q -p fil*
the wildcard tries to match a file in the current directory. If there is
no file matching that name, then it remains unexpanded. zippo tries to
open 'fil*' and fails, because there is no file with that name in
e:/djgpp.
> when I cd to f:/djgppzip it works as expected:
>
> bash-2.04$ zippo -v -q -p fil*
> . DJGPP path 'e:/djgpp/'
> . Installation prefix 'e:/djgpp/'
> . Backup prefix 'e:/djgpp/backup/'
> . Reading configuration from 'e:/djgpp/share/zippo/zipporc'
> . Installed DSM path [1]: 'e:/djgpp/share/zippo/db'
> . Installed manifest path [1]: 'e:/djgpp/manifest'
> . Available DSM path [1]: '.'
> . Available DSM path [2]: 'e:/djgpp/share/zippo/db-avail'
> . Available zip path [1]: '.'
> . Available zip path [2]: 'f:/djgppzip'
> . Available gzip'd tar path [1]: '.'
> . Available gzip'd tar path [2]: 'f:/djgppzip'
> fileutils 4.0 (binaries)
I guess you have fil40b.zip in f:/djgppzip?
> Case 2:
> -------
>
> running zippo from e:/djgpp
>
> bash-2.04$ zippo -q fil*
> findutils 4.1 (binaries)
> ^^^^^^^^^^ ????
> file 3.34 (binaries)
> fileutils 3.16 (binaries)
> fil40b 4.0 release 2 (binaries)
> fil40s 4.0 release 1 (sources)
> 5 package(s) matched
>
> bash-2.04$ ls manifest/fil*.mft
> manifest/fil316b.mft manifest/fil40s.mft
> manifest/fil40b.mft manifest/file334b.mft
You are using a regular expression match on the package names. 'fil*'
means match 'fi' at the start and then zero or more 'l'. So it matches the
packages you see.
BTW you should enclose wildcards in single quotes, unless you want to
match filenames, e.g.:
zippo -q 'fil*'
I should add some text to the documentation, explaining how package names
are matched. It goes through three steps:
1. exact (simple);
2. regular expression;
3. 'user' specifier format, e.g. 'fileutils 4.0 (binaries)'.
If you want to match 'fil...', use something like this:
zippo -q 'fil'
> bash-2.04$ pwd
> e:/djgpp
>
> when I cd to f:/djgppzip:
>
> bash-2.04$ zippo -q fil*
> fil40b 4.0 release 2 (binaries)
> fil40s 4.0 release 1 (sources)
> 2 package(s) matched
>
> bash-2.04$ ls fil*
> fil40b.zip fil40s.zip
> bash-2.04$ pwd
> f:/djgppzip
In this case the wildcard expands to some filenames. I'm not exactly sure
why that matches. I'll take a look when I next have some time (a few weeks
from now).
Hope that helped, bye,
--
Richard Dawe
http://www.phekda.freeserve.co.uk/richdawe/
- Raw text -