I'm currently working on a bunch of release announcements for update
packages...but first things first:
One of those updates is
autoconf2.5-2.59 -- autoconf2.5-2.60
(yes, it's weird. But the received wisdom is that autoconf-2.60 is
considered a continuation of the 2.5x line of development.)
Anyway, the old autoconf2.5 package contained files like:
/usr/bin/autoconf-2.5x
/usr/bin/autoheader-2.5x
etc
However, that's not the way the linuxii do it. AND, since (in another
change) I switched the autoconf wrapper from the Red Hat perl script to
the gentoo bash script -- I felt it better to move closer to the linux
way. Therefore, the new autoconf2.5 package contains
/usr/bin/autoconf-2.60
/usr/bin/autoheader-2.60
etc
For most purposes, this is transparent. You run autoconf which is the
wrapper, and you get the right version. However, cygport explicitly
tests for the presence of autoconf-2.5x in $PATH.
This patch makes cygport's search a little smarter -- and it or
something like it is *required* if you want cygport to work after the
new autoconf is installed.
--
Chuck
--- cygport.orig2006-10-16 22:16:59.953125000 -0400
+++ cygport 2006-10-16 22:13:52.078125000 -0400
@@ -216,13 +216,46 @@
}
# check for mandatory program, else error
+# Two forms:
+# (1) check_prog_req progran_name package
+# search for program_name in path. error if not found
+#
+# (2) check_prog_req progran_name package [alt_prog1 [alt_prog2 [ ...]]]
+# search in order for progran_name, alt_prog1, alt_prog2, ...
+# in path. If none found, error. Otherwise, echo name of
+# program found. Only call this variant inside shell escape
+# (backticks or $())
check_prog_req() {
local prog=${1};
- local pkg=${2:-${1}};
+ shift
+ local pkg=${1:-${prog}};
+ shift
if ! check_prog ${prog}
then
- error ${pkg} is required to build this package;
+ local found;
+ found=no
+ while [ $(( $# 0 )) ]
+ do
+ prog=${1}
+ if check_prog ${prog}
+ then
+ found=yes
+ break
+ fi
+ shift
+ done
+ if [ x${found} != xyes ]
+ then
+ error ${pkg} is required to build this package;
+ else
+ echo ${prog}
+ fi
+ else
+ if [ $(( $# 0 )) ]
+ then
+ echo ${prog}
+ fi
fi
return 0;
@@ -604,7 +637,10 @@
export WANT_AUTOMAKE;
/usr/bin/autoreconf-2.13 --force -i --verbose || error
autoreconf-2.13 failed
else
- check_prog_req autoconf-2.5x autoconf2.5
+ local found_autoconf_prog;
+ local found_autoconf_ver;
+ found_autoconf_prog=$( check_prog_req autoconf-2.5x autoconf2.5
autoconf-2.60 )
+ found_autoconf_ver=${found_autoconf_prog##autoconf-}
export WANT_AUTOCONF=2.5;
export WANT_AUTOMAKE;
@@ -618,7 +654,8 @@
fi
done
- /usr/bin/autoreconf-2.5x --install --force --verbose || error
autoreconf-2.5x failed
+ /usr/bin/autoreconf-${found_autoconf_ver} --install --force
--verbose || \
+ error autoreconf-${found_autoconf_ver} failed
fi
if [ -f config.h.in ]