[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: