Re: Bug#240887: Package building problem.
On Sat, Apr 17, 2004 at 12:14:39PM -0700, Ben Pfaff wrote:
> Herbert Xu <herbert@gondor.apana.org.au> writes:
>
> >> Accordingly, I believe that the pattern in your example means
> >> "backslash, followed by a, followed by closing square bracket", not what
> >> you think it means.
> >
> > You're quite right. This is reaffirmed by the POSIX document for
> > basic regular expressions, which is what POSIX uses to define
> > shell patterns.
> >
> > Therefore tetex-bin and autoconf will need to be fixed instead to
> > not use backslashes in [] expressions.
>
> I read through the entire bug log for 240887 and couldn't figure
> out what actual bug in Autoconf is being pointed out. Can anyone
> help me out? I can't fix a bug if no one tells me what the bug
> is.
configure calls itself in subdirs and tries to pass the
same arguments again.
In configure there is this code:
# Strip out --no-create and --no-recursion so they do not pile
# up.
# Also quote any args containing shell metacharacters.
ac_configure_args=
for ac_arg
do
case "$ac_arg" in
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
| --no-cr | --no-c) ;;
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re |
--no-r) ;;
*" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
ac_configure_args="$ac_configure_args '$ac_arg'" ;;
*) ac_configure_args="$ac_configure_args $ac_arg" ;;
esac
done
Using dash it's not properly requoting
'--mandir=${prefix}/share/man', it gets turned into
--mandir=${prefix} at the first level and --mandir=/usr/share/man
at the next level.
Using bash it stays '--mandir=${prefix}/share/man'.
I'm not really sure who's to blame for it not working. I think
there is atleast a bug in glibc's fnmatch(). That regex might
also need fixing. But I really don't know what needs to be done.
If I understand Herbert Xu correctly, he's saying the regex
should be written as:
*[][~#$^&*(){}\|;<>?]*
Kurt
Reply to: