From 5d40773ba8447640a5aeaaa2e98bc7feecd61698 Mon Sep 17 00:00:00 2001 From: Theodore Ts'o Date: Sat, 18 Sep 2004 14:53:14 -0400 Subject: [PATCH] Revamp the initrd scripts to use a new helper program, e2initrd_helper, which obviates the need for using /bin/awk and mounting/unmounting the root filesystem during the initrd process. (Addresses Debian Bug #247775) --- ChangeLog | 6 + configure | 462 +++++++++++---------- configure.in | 19 + debian/changelog | 24 ++ debian/e2fsprogs.initrd | 32 -- .../{e2fsprogs.mkinitrd => initrd-tools.e2fsprogs} | 5 +- debian/initrd.ext3-add-journal | 27 ++ debian/rules | 6 +- misc/ChangeLog | 7 + misc/Makefile.in | 12 +- misc/e2initrd_helper.c | 392 +++++++++++++++++ 11 files changed, 736 insertions(+), 256 deletions(-) delete mode 100644 debian/e2fsprogs.initrd rename debian/{e2fsprogs.mkinitrd => initrd-tools.e2fsprogs} (77%) create mode 100644 debian/initrd.ext3-add-journal create mode 100644 misc/e2initrd_helper.c diff --git a/ChangeLog b/ChangeLog index f44b4dc..8700077 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-09-18 Theodore Ts'o + + * configure.in: Add --disable-e2initrd-helper flag to control + whether or not e2initrd_helper program should be + built/installed. + 2004-09-17 Theodore Ts'o * Makefile.in: Remove XSI:isms for greater portability. diff --git a/configure b/configure index f386232..3c04e1d 100644 --- a/configure +++ b/configure @@ -64,6 +64,8 @@ ac_help="$ac_help ac_help="$ac_help --enable-fsck build fsck wrapper program" ac_help="$ac_help + --enable-e2initrd-helper build e2initrd-helper program" +ac_help="$ac_help --enable-old-bitops Use old (non-standard but native) bitmask operations" ac_help="$ac_help --with-gnu-ld assume the C compiler uses GNU ld [default=no]" @@ -600,7 +602,7 @@ ac_prog=ld if test "$GCC" = yes; then # Check if gcc -print-prog-name=ld gives a path. echo $ac_n "checking for ld used by GCC""... $ac_c" 1>&6 -echo "configure:604: checking for ld used by GCC" >&5 +echo "configure:606: checking for ld used by GCC" >&5 case $host in *-*-mingw*) # gcc leaves a trailing carriage return which upsets mingw @@ -630,10 +632,10 @@ echo "configure:604: checking for ld used by GCC" >&5 esac elif test "$with_gnu_ld" = yes; then echo $ac_n "checking for GNU ld""... $ac_c" 1>&6 -echo "configure:634: checking for GNU ld" >&5 +echo "configure:636: checking for GNU ld" >&5 else echo $ac_n "checking for non-GNU ld""... $ac_c" 1>&6 -echo "configure:637: checking for non-GNU ld" >&5 +echo "configure:639: checking for non-GNU ld" >&5 fi if eval "test \"`echo '$''{'acl_cv_path_LD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -668,7 +670,7 @@ else fi test -z "$LD" && { echo "configure: error: no acceptable ld found in \$PATH" 1>&2; exit 1; } echo $ac_n "checking if the linker ($LD) is GNU ld""... $ac_c" 1>&6 -echo "configure:672: checking if the linker ($LD) is GNU ld" >&5 +echo "configure:674: checking if the linker ($LD) is GNU ld" >&5 if eval "test \"`echo '$''{'acl_cv_prog_gnu_ld'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -754,7 +756,7 @@ else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } fi echo $ac_n "checking host system type""... $ac_c" 1>&6 -echo "configure:758: checking host system type" >&5 +echo "configure:760: checking host system type" >&5 host_alias=$host case "$host_alias" in @@ -796,7 +798,7 @@ export CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:800: checking for $ac_word" >&5 +echo "configure:802: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -826,7 +828,7 @@ if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:830: checking for $ac_word" >&5 +echo "configure:832: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -877,7 +879,7 @@ fi # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:881: checking for $ac_word" >&5 +echo "configure:883: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -909,7 +911,7 @@ fi fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 -echo "configure:913: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 +echo "configure:915: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. @@ -920,12 +922,12 @@ cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF -#line 924 "configure" +#line 926 "configure" #include "confdefs.h" main(){return(0);} EOF -if { (eval echo configure:929: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:931: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then @@ -951,12 +953,12 @@ if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 -echo "configure:955: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 +echo "configure:957: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 -echo "configure:960: checking whether we are using GNU C" >&5 +echo "configure:962: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -965,7 +967,7 @@ else yes; #endif EOF -if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:969: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:971: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -984,7 +986,7 @@ ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 -echo "configure:988: checking whether ${CC-cc} accepts -g" >&5 +echo "configure:990: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1033,7 +1035,7 @@ if test "${with_ccopts+set}" = set; then CFLAGS=$withval fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 -echo "configure:1037: checking how to run the C preprocessor" >&5 +echo "configure:1039: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= @@ -1048,13 +1050,13 @@ else # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1058: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1060: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1065,13 +1067,13 @@ else rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1075: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1077: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1082,13 +1084,13 @@ else rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1092: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1094: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : @@ -1114,17 +1116,17 @@ echo "$ac_t""$CPP" 1>&6 ac_safe=`echo "linux/fs.h" | sed 'y%./+-%__p_%'` echo $ac_n "checking for linux/fs.h""... $ac_c" 1>&6 -echo "configure:1118: checking for linux/fs.h" >&5 +echo "configure:1120: checking for linux/fs.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1128: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:1130: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -1151,7 +1153,7 @@ if test "$linux_headers" != yes; then fi echo $ac_n "checking for additional special compiler flags""... $ac_c" 1>&6 -echo "configure:1155: checking for additional special compiler flags" >&5 +echo "configure:1157: checking for additional special compiler flags" >&5 if test "$GCC" = yes then case "$host_cpu" in @@ -1615,6 +1617,26 @@ fi +# Check whether --enable-e2initrd-helper or --disable-e2initrd-helper was given. +if test "${enable_e2initrd_helper+set}" = set; then + enableval="$enable_e2initrd_helper" + if test "$enableval" = "no" +then + E2INITRD_PROG='' E2INITRD_MAN='' + echo "Not building e2initrd helper" +else + E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8 + echo "Building e2initrd helper" +fi + +else + E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8 +echo "Building e2initrd helper by default" + +fi + + + MAKEFILE_LIBRARY=$srcdir/lib/Makefile.library # Check whether --enable-old-bitops or --disable-old-bitops was given. @@ -1652,12 +1674,12 @@ EOF echo $ac_n "checking for inttypes.h""... $ac_c" 1>&6 -echo "configure:1656: checking for inttypes.h" >&5 +echo "configure:1678: checking for inttypes.h" >&5 if eval "test \"`echo '$''{'jm_ac_cv_header_inttypes_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1665,7 +1687,7 @@ int main() { uintmax_t i = (uintmax_t) -1; ; return 0; } EOF -if { (eval echo configure:1669: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1691: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* jm_ac_cv_header_inttypes_h=yes else @@ -1687,12 +1709,12 @@ EOF echo $ac_n "checking for stdint.h""... $ac_c" 1>&6 -echo "configure:1691: checking for stdint.h" >&5 +echo "configure:1713: checking for stdint.h" >&5 if eval "test \"`echo '$''{'jm_ac_cv_header_stdint_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1700,7 +1722,7 @@ int main() { uintmax_t i = (uintmax_t) -1; ; return 0; } EOF -if { (eval echo configure:1704: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:1726: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* jm_ac_cv_header_stdint_h=yes else @@ -1722,12 +1744,12 @@ EOF echo $ac_n "checking for unsigned long long""... $ac_c" 1>&6 -echo "configure:1726: checking for unsigned long long" >&5 +echo "configure:1748: checking for unsigned long long" >&5 if eval "test \"`echo '$''{'ac_cv_type_unsigned_long_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <> i | ullmax / ull | ullmax % ull; ; return 0; } EOF -if { (eval echo configure:1739: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1761: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_type_unsigned_long_long=yes else @@ -1773,7 +1795,7 @@ EOF echo $ac_n "checking for shared library run path origin""... $ac_c" 1>&6 -echo "configure:1777: checking for shared library run path origin" >&5 +echo "configure:1799: checking for shared library run path origin" >&5 if eval "test \"`echo '$''{'acl_cv_rpath'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1806,7 +1828,7 @@ fi echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:1810: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:1832: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1844,7 +1866,7 @@ fi # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:1848: checking for a BSD compatible install" >&5 +echo "configure:1870: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1909,7 +1931,7 @@ test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:1913: checking for $ac_word" >&5 +echo "configure:1935: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -1938,7 +1960,7 @@ fi echo $ac_n "checking for strerror in -lcposix""... $ac_c" 1>&6 -echo "configure:1942: checking for strerror in -lcposix" >&5 +echo "configure:1964: checking for strerror in -lcposix" >&5 ac_lib_var=`echo cposix'_'strerror | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -1946,7 +1968,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lcposix $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:1983: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -1980,12 +2002,12 @@ fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 -echo "configure:1984: checking for ANSI C header files" >&5 +echo "configure:2006: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -1993,7 +2015,7 @@ else #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:1997: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2019: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2010,7 +2032,7 @@ rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -2028,7 +2050,7 @@ fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF @@ -2049,7 +2071,7 @@ if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') @@ -2060,7 +2082,7 @@ if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF -if { (eval echo configure:2064: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2086: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else @@ -2084,12 +2106,12 @@ EOF fi echo $ac_n "checking for working const""... $ac_c" 1>&6 -echo "configure:2088: checking for working const" >&5 +echo "configure:2110: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2164: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else @@ -2159,21 +2181,21 @@ EOF fi echo $ac_n "checking for inline""... $ac_c" 1>&6 -echo "configure:2163: checking for inline" >&5 +echo "configure:2185: checking for inline" >&5 if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2199: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_inline=$ac_kw; break else @@ -2199,12 +2221,12 @@ EOF esac echo $ac_n "checking for off_t""... $ac_c" 1>&6 -echo "configure:2203: checking for off_t" >&5 +echo "configure:2225: checking for off_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -2232,12 +2254,12 @@ EOF fi echo $ac_n "checking for size_t""... $ac_c" 1>&6 -echo "configure:2236: checking for size_t" >&5 +echo "configure:2258: checking for size_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -2267,19 +2289,19 @@ fi # The Ultrix 4.2 mips builtin alloca declared by alloca.h only works # for constant arguments. Useless! echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6 -echo "configure:2271: checking for working alloca.h" >&5 +echo "configure:2293: checking for working alloca.h" >&5 if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char *p = alloca(2 * sizeof(int)); ; return 0; } EOF -if { (eval echo configure:2283: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2305: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_header_alloca_h=yes else @@ -2300,12 +2322,12 @@ EOF fi echo $ac_n "checking for alloca""... $ac_c" 1>&6 -echo "configure:2304: checking for alloca" >&5 +echo "configure:2326: checking for alloca" >&5 if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2359: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_func_alloca_works=yes else @@ -2365,12 +2387,12 @@ EOF echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6 -echo "configure:2369: checking whether alloca needs Cray hooks" >&5 +echo "configure:2391: checking whether alloca needs Cray hooks" >&5 if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&6 if test $ac_cv_os_cray = yes; then for ac_func in _getb67 GETB67 getb67; do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2399: checking for $ac_func" >&5 +echo "configure:2421: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2449: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2450,7 +2472,7 @@ done fi echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6 -echo "configure:2454: checking stack direction for C alloca" >&5 +echo "configure:2476: checking stack direction for C alloca" >&5 if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2458,7 +2480,7 @@ else ac_cv_c_stack_direction=0 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2503: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_stack_direction=1 else @@ -2502,17 +2524,17 @@ for ac_hdr in unistd.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:2506: checking for $ac_hdr" >&5 +echo "configure:2528: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:2516: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:2538: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -2541,12 +2563,12 @@ done for ac_func in getpagesize do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:2545: checking for $ac_func" >&5 +echo "configure:2567: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:2595: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -2594,7 +2616,7 @@ fi done echo $ac_n "checking for working mmap""... $ac_c" 1>&6 -echo "configure:2598: checking for working mmap" >&5 +echo "configure:2620: checking for working mmap" >&5 if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2602,7 +2624,7 @@ else ac_cv_func_mmap_fixed_mapped=no else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2768: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_func_mmap_fixed_mapped=yes else @@ -2766,12 +2788,12 @@ fi echo $ac_n "checking whether we are using the GNU C Library 2.1 or newer""... $ac_c" 1>&6 -echo "configure:2770: checking whether we are using the GNU C Library 2.1 or newer" >&5 +echo "configure:2792: checking whether we are using the GNU C Library 2.1 or newer" >&5 if eval "test \"`echo '$''{'ac_cv_gnu_library_2_1'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -2804,7 +2826,7 @@ echo "$ac_t""$ac_cv_gnu_library_2_1" 1>&6 echo $ac_n "checking whether integer division by zero raises SIGFPE""... $ac_c" 1>&6 -echo "configure:2808: checking whether integer division by zero raises SIGFPE" >&5 +echo "configure:2830: checking whether integer division by zero raises SIGFPE" >&5 if eval "test \"`echo '$''{'gt_cv_int_divbyzero_sigfpe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -2821,7 +2843,7 @@ else else cat > conftest.$ac_ext < @@ -2861,7 +2883,7 @@ int main () } EOF -if { (eval echo configure:2865: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:2887: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then gt_cv_int_divbyzero_sigfpe=yes else @@ -2902,13 +2924,13 @@ EOF echo $ac_n "checking for inttypes.h""... $ac_c" 1>&6 -echo "configure:2906: checking for inttypes.h" >&5 +echo "configure:2928: checking for inttypes.h" >&5 if eval "test \"`echo '$''{'gt_cv_header_inttypes_h'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -2916,7 +2938,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:2920: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2942: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gt_cv_header_inttypes_h=yes else @@ -2941,13 +2963,13 @@ EOF if test $gt_cv_header_inttypes_h = yes; then echo $ac_n "checking whether the inttypes.h PRIxNN macros are broken""... $ac_c" 1>&6 -echo "configure:2945: checking whether the inttypes.h PRIxNN macros are broken" >&5 +echo "configure:2967: checking whether the inttypes.h PRIxNN macros are broken" >&5 if eval "test \"`echo '$''{'gt_cv_inttypes_pri_broken'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #ifdef PRId32 @@ -2958,7 +2980,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:2962: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:2984: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* gt_cv_inttypes_pri_broken=no else @@ -3369,7 +3391,7 @@ fi # Extract the first word of "msgfmt", so it can be a program name with args. set dummy msgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3373: checking for $ac_word" >&5 +echo "configure:3395: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3404,7 +3426,7 @@ fi # Extract the first word of "gmsgfmt", so it can be a program name with args. set dummy gmsgfmt; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3408: checking for $ac_word" >&5 +echo "configure:3430: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3441,7 +3463,7 @@ fi # Extract the first word of "xgettext", so it can be a program name with args. set dummy xgettext; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3445: checking for $ac_word" >&5 +echo "configure:3467: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3478,7 +3500,7 @@ fi # Extract the first word of "msgmerge", so it can be a program name with args. set dummy msgmerge; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3482: checking for $ac_word" >&5 +echo "configure:3504: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MSGMERGE'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3541,17 +3563,17 @@ stdlib.h string.h unistd.h sys/param.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:3545: checking for $ac_hdr" >&5 +echo "configure:3567: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:3555: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:3577: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -3582,12 +3604,12 @@ geteuid getgid getuid mempcpy munmap putenv setenv setlocale stpcpy \ strcasecmp strdup strtoul tsearch __argz_count __argz_stringify __argz_next do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:3586: checking for $ac_func" >&5 +echo "configure:3608: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3636: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -3666,7 +3688,7 @@ done echo $ac_n "checking for iconv""... $ac_c" 1>&6 -echo "configure:3670: checking for iconv" >&5 +echo "configure:3692: checking for iconv" >&5 if eval "test \"`echo '$''{'am_cv_func_iconv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3674,7 +3696,7 @@ else am_cv_func_iconv="no, consider installing GNU libiconv" am_cv_lib_iconv=no cat > conftest.$ac_ext < #include @@ -3684,7 +3706,7 @@ iconv_t cd = iconv_open("",""); iconv_close(cd); ; return 0; } EOF -if { (eval echo configure:3688: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3710: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_func_iconv=yes else @@ -3696,7 +3718,7 @@ rm -f conftest* am_save_LIBS="$LIBS" LIBS="$LIBS $LIBICONV" cat > conftest.$ac_ext < #include @@ -3706,7 +3728,7 @@ iconv_t cd = iconv_open("",""); iconv_close(cd); ; return 0; } EOF -if { (eval echo configure:3710: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3732: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_lib_iconv=yes am_cv_func_iconv=yes @@ -3729,7 +3751,7 @@ EOF fi if test "$am_cv_lib_iconv" = yes; then echo $ac_n "checking how to link with libiconv""... $ac_c" 1>&6 -echo "configure:3733: checking how to link with libiconv" >&5 +echo "configure:3755: checking how to link with libiconv" >&5 echo "$ac_t""$LIBICONV" 1>&6 else CPPFLAGS="$am_save_CPPFLAGS" @@ -3741,13 +3763,13 @@ echo "configure:3733: checking how to link with libiconv" >&5 if test "$am_cv_func_iconv" = yes; then echo $ac_n "checking for iconv declaration""... $ac_c" 1>&6 -echo "configure:3745: checking for iconv declaration" >&5 +echo "configure:3767: checking for iconv declaration" >&5 if eval "test \"`echo '$''{'am_cv_proto_iconv'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < @@ -3766,7 +3788,7 @@ int main() { ; return 0; } EOF -if { (eval echo configure:3770: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:3792: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* am_cv_proto_iconv_arg1="" else @@ -3790,19 +3812,19 @@ EOF echo $ac_n "checking for nl_langinfo and CODESET""... $ac_c" 1>&6 -echo "configure:3794: checking for nl_langinfo and CODESET" >&5 +echo "configure:3816: checking for nl_langinfo and CODESET" >&5 if eval "test \"`echo '$''{'am_cv_langinfo_codeset'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { char* cs = nl_langinfo(CODESET); ; return 0; } EOF -if { (eval echo configure:3806: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3828: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_langinfo_codeset=yes else @@ -3826,19 +3848,19 @@ EOF if test $ac_cv_header_locale_h = yes; then echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 -echo "configure:3830: checking for LC_MESSAGES" >&5 +echo "configure:3852: checking for LC_MESSAGES" >&5 if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { return LC_MESSAGES ; return 0; } EOF -if { (eval echo configure:3842: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:3864: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* am_cv_val_LC_MESSAGES=yes else @@ -3865,7 +3887,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:3869: checking for $ac_word" >&5 +echo "configure:3891: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_INTLBISON'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -3898,7 +3920,7 @@ done ac_verc_fail=yes else echo $ac_n "checking version of bison""... $ac_c" 1>&6 -echo "configure:3902: checking version of bison" >&5 +echo "configure:3924: checking version of bison" >&5 ac_prog_version=`$INTLBISON --version 2>&1 | sed -n 's/^.*GNU Bison.* \([0-9]*\.[0-9.]*\).*$/\1/p'` case $ac_prog_version in '') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;; @@ -3927,7 +3949,7 @@ echo "configure:3902: checking version of bison" >&5 echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 -echo "configure:3931: checking whether NLS is requested" >&5 +echo "configure:3953: checking whether NLS is requested" >&5 # Check whether --enable-nls or --disable-nls was given. if test "${enable_nls+set}" = set; then enableval="$enable_nls" @@ -3951,7 +3973,7 @@ fi gt_use_preinstalled_gnugettext=no echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 -echo "configure:3955: checking whether included gettext is requested" >&5 +echo "configure:3977: checking whether included gettext is requested" >&5 # Check whether --with-included-gettext or --without-included-gettext was given. if test "${with_included_gettext+set}" = set; then withval="$with_included_gettext" @@ -3971,12 +3993,12 @@ fi echo $ac_n "checking for GNU gettext in libc""... $ac_c" 1>&6 -echo "configure:3975: checking for GNU gettext in libc" >&5 +echo "configure:3997: checking for GNU gettext in libc" >&5 if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < extern int _nl_msg_cat_cntr; @@ -3986,7 +4008,7 @@ bindtextdomain ("", ""); return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings ; return 0; } EOF -if { (eval echo configure:3990: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4012: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gnugettext1_libc=yes else @@ -4381,7 +4403,7 @@ fi fi echo $ac_n "checking for GNU gettext in libintl""... $ac_c" 1>&6 -echo "configure:4385: checking for GNU gettext in libintl" >&5 +echo "configure:4407: checking for GNU gettext in libintl" >&5 if eval "test \"`echo '$''{'gt_cv_func_gnugettext1_libintl'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4390,7 +4412,7 @@ else gt_save_LIBS="$LIBS" LIBS="$LIBS $LIBINTL" cat > conftest.$ac_ext < extern int _nl_msg_cat_cntr; @@ -4404,7 +4426,7 @@ bindtextdomain ("", ""); return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0) ; return 0; } EOF -if { (eval echo configure:4408: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4430: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* gt_cv_func_gnugettext1_libintl=yes else @@ -4417,7 +4439,7 @@ rm -f conftest* if test "$gt_cv_func_gnugettext1_libintl" != yes && test -n "$LIBICONV"; then LIBS="$LIBS $LIBICONV" cat > conftest.$ac_ext < extern int _nl_msg_cat_cntr; @@ -4431,7 +4453,7 @@ bindtextdomain ("", ""); return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_expand_alias (0) ; return 0; } EOF -if { (eval echo configure:4435: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:4457: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* LIBINTL="$LIBINTL $LIBICONV" LTLIBINTL="$LTLIBINTL $LTLIBICONV" @@ -4497,7 +4519,7 @@ EOF if test "$gt_use_preinstalled_gnugettext" = "yes"; then if test "$gt_cv_func_gnugettext1_libintl" = "yes"; then echo $ac_n "checking how to link with libintl""... $ac_c" 1>&6 -echo "configure:4501: checking how to link with libintl" >&5 +echo "configure:4523: checking how to link with libintl" >&5 echo "$ac_t""$LIBINTL" 1>&6 for element in $INCINTL; do @@ -4572,7 +4594,7 @@ EOF echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 -echo "configure:4576: checking whether ${MAKE-make} sets \${MAKE}" >&5 +echo "configure:4598: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -4601,7 +4623,7 @@ fi # Extract the first word of "ln", so it can be a program name with args. set dummy ln; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4605: checking for $ac_word" >&5 +echo "configure:4627: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_LN'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4635,7 +4657,7 @@ else fi echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 -echo "configure:4639: checking whether ln -s works" >&5 +echo "configure:4661: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4658,7 +4680,7 @@ fi # Extract the first word of "mv", so it can be a program name with args. set dummy mv; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4662: checking for $ac_word" >&5 +echo "configure:4684: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_MV'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4694,7 +4716,7 @@ fi # Extract the first word of "cp", so it can be a program name with args. set dummy cp; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4698: checking for $ac_word" >&5 +echo "configure:4720: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_CP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4730,7 +4752,7 @@ fi # Extract the first word of "rm", so it can be a program name with args. set dummy rm; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4734: checking for $ac_word" >&5 +echo "configure:4756: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_RM'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4766,7 +4788,7 @@ fi # Extract the first word of "chmod", so it can be a program name with args. set dummy chmod; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4770: checking for $ac_word" >&5 +echo "configure:4792: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_CHMOD'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4802,7 +4824,7 @@ fi # Extract the first word of "awk", so it can be a program name with args. set dummy awk; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4806: checking for $ac_word" >&5 +echo "configure:4828: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_AWK'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4838,7 +4860,7 @@ fi # Extract the first word of "sed", so it can be a program name with args. set dummy sed; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4842: checking for $ac_word" >&5 +echo "configure:4864: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_SED'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4874,7 +4896,7 @@ fi # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4878: checking for $ac_word" >&5 +echo "configure:4900: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_PERL'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4910,7 +4932,7 @@ fi # Extract the first word of "ldconfig", so it can be a program name with args. set dummy ldconfig; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4914: checking for $ac_word" >&5 +echo "configure:4936: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_path_LDCONFIG'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -4944,7 +4966,7 @@ else fi echo $ac_n "checking build system type""... $ac_c" 1>&6 -echo "configure:4948: checking build system type" >&5 +echo "configure:4970: checking build system type" >&5 build_alias=$build case "$build_alias" in @@ -4970,7 +4992,7 @@ fi # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. set dummy ${ac_tool_prefix}ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:4974: checking for $ac_word" >&5 +echo "configure:4996: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5002,7 +5024,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "ar", so it can be a program name with args. set dummy ar; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5006: checking for $ac_word" >&5 +echo "configure:5028: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5037,7 +5059,7 @@ fi # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. set dummy ${ac_tool_prefix}ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5041: checking for $ac_word" >&5 +echo "configure:5063: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5069,7 +5091,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5073: checking for $ac_word" >&5 +echo "configure:5095: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5104,7 +5126,7 @@ fi # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args. set dummy ${ac_tool_prefix}strip; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5108: checking for $ac_word" >&5 +echo "configure:5130: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5136,7 +5158,7 @@ if test -n "$ac_tool_prefix"; then # Extract the first word of "strip", so it can be a program name with args. set dummy strip; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5140: checking for $ac_word" >&5 +echo "configure:5162: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_STRIP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5180,7 +5202,7 @@ fi # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 -echo "configure:5184: checking for a BSD compatible install" >&5 +echo "configure:5206: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -5242,7 +5264,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 -echo "configure:5246: checking for $ac_word" >&5 +echo "configure:5268: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_BUILD_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5276,17 +5298,17 @@ for ac_hdr in stdlib.h unistd.h stdarg.h stdint.h errno.h malloc.h mntent.h path do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5280: checking for $ac_hdr" >&5 +echo "configure:5302: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5290: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5312: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5313,12 +5335,12 @@ fi done echo $ac_n "checking for vprintf""... $ac_c" 1>&6 -echo "configure:5317: checking for vprintf" >&5 +echo "configure:5339: checking for vprintf" >&5 if eval "test \"`echo '$''{'ac_cv_func_vprintf'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5367: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_vprintf=yes" else @@ -5365,12 +5387,12 @@ fi if test "$ac_cv_func_vprintf" != yes; then echo $ac_n "checking for _doprnt""... $ac_c" 1>&6 -echo "configure:5369: checking for _doprnt" >&5 +echo "configure:5391: checking for _doprnt" >&5 if eval "test \"`echo '$''{'ac_cv_func__doprnt'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:5419: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func__doprnt=yes" else @@ -5418,19 +5440,19 @@ fi fi echo $ac_n "checking whether d_reclen declared in dirent""... $ac_c" 1>&6 -echo "configure:5422: checking whether d_reclen declared in dirent" >&5 +echo "configure:5444: checking whether d_reclen declared in dirent" >&5 if eval "test \"`echo '$''{'e2fsprogs_cv_have_d_reclen_dirent'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { struct dirent de; de.d_reclen = 0; ; return 0; } EOF -if { (eval echo configure:5434: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5456: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* e2fsprogs_cv_have_d_reclen_dirent=yes else @@ -5450,19 +5472,19 @@ EOF fi echo $ac_n "checking whether ssize_t declared""... $ac_c" 1>&6 -echo "configure:5454: checking whether ssize_t declared" >&5 +echo "configure:5476: checking whether ssize_t declared" >&5 if eval "test \"`echo '$''{'e2fsprogs_cv_have_ssize_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { ssize_t a = 0; ; return 0; } EOF -if { (eval echo configure:5466: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5488: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* e2fsprogs_cv_have_ssize_t=yes else @@ -5482,19 +5504,19 @@ EOF fi echo $ac_n "checking whether llseek declared in unistd.h""... $ac_c" 1>&6 -echo "configure:5486: checking whether llseek declared in unistd.h" >&5 +echo "configure:5508: checking whether llseek declared in unistd.h" >&5 if eval "test \"`echo '$''{'e2fsprogs_cv_have_llseek_prototype'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { extern int llseek(int); ; return 0; } EOF -if { (eval echo configure:5498: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5520: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* e2fsprogs_cv_have_llseek_prototype=no else @@ -5514,12 +5536,12 @@ EOF fi echo $ac_n "checking whether lseek64 declared in unistd.h""... $ac_c" 1>&6 -echo "configure:5518: checking whether lseek64 declared in unistd.h" >&5 +echo "configure:5540: checking whether lseek64 declared in unistd.h" >&5 if eval "test \"`echo '$''{'e2fsprogs_cv_have_lseek64_prototype'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5554: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* e2fsprogs_cv_have_lseek64_prototype=no else @@ -5556,7 +5578,7 @@ if test "$cross_compiling" = yes -a "$ac_cv_sizeof_long" = ""; then echo "configure: warning: Cross-compiling, so cannot check type sizes; assuming short=2, int=4, long=4, long long=8" 1>&2 fi echo $ac_n "checking size of short""... $ac_c" 1>&6 -echo "configure:5560: checking size of short" >&5 +echo "configure:5582: checking size of short" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_short'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5564,7 +5586,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -5576,7 +5598,7 @@ main() exit(0); } EOF -if { (eval echo configure:5580: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5602: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_short=`cat conftestval` else @@ -5596,7 +5618,7 @@ EOF echo $ac_n "checking size of int""... $ac_c" 1>&6 -echo "configure:5600: checking size of int" >&5 +echo "configure:5622: checking size of int" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_int'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5604,7 +5626,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -5616,7 +5638,7 @@ main() exit(0); } EOF -if { (eval echo configure:5620: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5642: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_int=`cat conftestval` else @@ -5636,7 +5658,7 @@ EOF echo $ac_n "checking size of long""... $ac_c" 1>&6 -echo "configure:5640: checking size of long" >&5 +echo "configure:5662: checking size of long" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5644,7 +5666,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -5656,7 +5678,7 @@ main() exit(0); } EOF -if { (eval echo configure:5660: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5682: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_long=`cat conftestval` else @@ -5676,7 +5698,7 @@ EOF echo $ac_n "checking size of long long""... $ac_c" 1>&6 -echo "configure:5680: checking size of long long" >&5 +echo "configure:5702: checking size of long long" >&5 if eval "test \"`echo '$''{'ac_cv_sizeof_long_long'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -5684,7 +5706,7 @@ else { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext < #include @@ -5696,7 +5718,7 @@ main() exit(0); } EOF -if { (eval echo configure:5700: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5722: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_sizeof_long_long=`cat conftestval` else @@ -5724,14 +5746,14 @@ SIZEOF_LONG_LONG=$ac_cv_sizeof_long_long echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 -echo "configure:5728: checking whether byte ordering is bigendian" >&5 +echo "configure:5750: checking whether byte ordering is bigendian" >&5 if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_cv_c_bigendian=unknown # See if sys/param.h defines the BYTE_ORDER macro. cat > conftest.$ac_ext < #include @@ -5742,11 +5764,11 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:5746: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5768: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* # It does; now see whether it defined to BIG_ENDIAN or not. cat > conftest.$ac_ext < #include @@ -5757,7 +5779,7 @@ int main() { #endif ; return 0; } EOF -if { (eval echo configure:5761: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5783: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_bigendian=yes else @@ -5777,7 +5799,7 @@ if test "$cross_compiling" = yes; then { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null +if { (eval echo configure:5816: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then ac_cv_c_bigendian=no else @@ -5817,17 +5839,17 @@ for ac_hdr in inttypes.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 -echo "configure:5821: checking for $ac_hdr" >&5 +echo "configure:5843: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" -{ (eval echo configure:5831: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } +{ (eval echo configure:5853: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* @@ -5854,12 +5876,12 @@ fi done echo $ac_n "checking for intptr_t""... $ac_c" 1>&6 -echo "configure:5858: checking for intptr_t" >&5 +echo "configure:5880: checking for intptr_t" >&5 if eval "test \"`echo '$''{'ac_cv_type_intptr_t'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #if STDC_HEADERS @@ -5887,19 +5909,19 @@ EOF fi echo $ac_n "checking whether struct stat has a st_flags field""... $ac_c" 1>&6 -echo "configure:5891: checking whether struct stat has a st_flags field" >&5 +echo "configure:5913: checking whether struct stat has a st_flags field" >&5 if eval "test \"`echo '$''{'e2fsprogs_cv_struct_st_flags'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { struct stat stat; stat.st_flags = 0; ; return 0; } EOF -if { (eval echo configure:5903: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5925: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* e2fsprogs_cv_struct_st_flags=yes else @@ -5914,19 +5936,19 @@ fi echo "$ac_t""$e2fsprogs_cv_struct_st_flags" 1>&6 if test "$e2fsprogs_cv_struct_st_flags" = yes; then echo $ac_n "checking whether st_flags field is useful""... $ac_c" 1>&6 -echo "configure:5918: checking whether st_flags field is useful" >&5 +echo "configure:5940: checking whether st_flags field is useful" >&5 if eval "test \"`echo '$''{'e2fsprogs_cv_struct_st_flags_immut'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < int main() { struct stat stat; stat.st_flags |= UF_IMMUTABLE; ; return 0; } EOF -if { (eval echo configure:5930: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5952: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* e2fsprogs_cv_struct_st_flags_immut=yes else @@ -5947,12 +5969,12 @@ EOF fi fi echo $ac_n "checking whether struct sockaddr contains sa_len""... $ac_c" 1>&6 -echo "configure:5951: checking whether struct sockaddr contains sa_len" >&5 +echo "configure:5973: checking whether struct sockaddr contains sa_len" >&5 if eval "test \"`echo '$''{'e2fsprogs_cv_sockaddr_sa_len'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include @@ -5962,7 +5984,7 @@ struct sockaddr sa; sa.sa_len; ; return 0; } EOF -if { (eval echo configure:5966: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then +if { (eval echo configure:5988: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* e2fsprogs_cv_sockaddr_sa_len=yes else @@ -5984,12 +6006,12 @@ fi for ac_func in chflags getrusage llseek lseek64 open64 getmntinfo strtoull strcasecmp srandom fchown mallinfo fdatasync strnlen strptime sysconf pathconf posix_memalign memalign valloc do echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 -echo "configure:5988: checking for $ac_func" >&5 +echo "configure:6010: checking for $ac_func" >&5 if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6038: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_$ac_func=yes" else @@ -6038,7 +6060,7 @@ done SOCKET_LIB='' echo $ac_n "checking for socket in -lsocket""... $ac_c" 1>&6 -echo "configure:6042: checking for socket in -lsocket" >&5 +echo "configure:6064: checking for socket in -lsocket" >&5 ac_lib_var=`echo socket'_'socket | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6046,7 +6068,7 @@ else ac_save_LIBS="$LIBS" LIBS="-lsocket $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6083: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6080,7 +6102,7 @@ fi DLOPEN_LIB='' echo $ac_n "checking for dlopen in -ldl""... $ac_c" 1>&6 -echo "configure:6084: checking for dlopen in -ldl" >&5 +echo "configure:6106: checking for dlopen in -ldl" >&5 ac_lib_var=`echo dl'_'dlopen | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -6088,7 +6110,7 @@ else ac_save_LIBS="$LIBS" LIBS="-ldl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6125: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else @@ -6125,12 +6147,12 @@ fi echo $ac_n "checking for optreset""... $ac_c" 1>&6 -echo "configure:6129: checking for optreset" >&5 +echo "configure:6151: checking for optreset" >&5 if eval "test \"`echo '$''{'ac_cv_have_optreset'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF @@ -6221,20 +6243,20 @@ fi echo $ac_n "checking whether linker accepts -static""... $ac_c" 1>&6 -echo "configure:6225: checking whether linker accepts -static" >&5 +echo "configure:6247: checking whether linker accepts -static" >&5 if eval "test \"`echo '$''{'ac_cv_e2fsprogs_use_static'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else SAVE_LDFLAGS=$LDFLAGS; LDFLAGS="$LDFLAGS -static" cat > conftest.$ac_ext < int main() { fflush(stdout); ; return 0; } EOF -if { (eval echo configure:6238: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then +if { (eval echo configure:6260: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_cv_e2fsprogs_use_static=yes else @@ -6486,6 +6508,8 @@ s%@RESIZER_CMT@%$RESIZER_CMT%g s%@E2FSCK_TYPE@%$E2FSCK_TYPE%g s%@FSCK_PROG@%$FSCK_PROG%g s%@FSCK_MAN@%$FSCK_MAN%g +s%@E2INITRD_PROG@%$E2INITRD_PROG%g +s%@E2INITRD_MAN@%$E2INITRD_MAN%g /@MAKEFILE_LIBRARY@/r $MAKEFILE_LIBRARY s%@MAKEFILE_LIBRARY@%%g s%@PACKAGE@%$PACKAGE%g diff --git a/configure.in b/configure.in index 79a39f4..d8850fb 100644 --- a/configure.in +++ b/configure.in @@ -531,6 +531,25 @@ esac] AC_SUBST(FSCK_PROG) AC_SUBST(FSCK_MAN) dnl +dnl See whether to install the `e2initrd-helper' program +dnl +AC_ARG_ENABLE([e2initrd-helper], +[ --enable-e2initrd-helper build e2initrd-helper program], +[if test "$enableval" = "no" +then + E2INITRD_PROG='' E2INITRD_MAN='' + echo "Not building e2initrd helper" +else + E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8 + echo "Building e2initrd helper" +fi] +, +E2INITRD_PROG=e2initrd_helper E2INITRD_MAN=e2initrd_helper.8 +echo "Building e2initrd helper by default" +) +AC_SUBST(E2INITRD_PROG) +AC_SUBST(E2INITRD_MAN) +dnl dnl MAKEFILE_LIBRARY=$srcdir/lib/Makefile.library AC_SUBST_FILE(MAKEFILE_LIBRARY) diff --git a/debian/changelog b/debian/changelog index 1b9f944..9a9d998 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,27 @@ +e2fsprogs (1.35-7) unstable; urgency=low + + * Change the initrd scripts to be use a helper program which avoids + needing to mount the root filesystem and use awk to query the + /etc/fstab file. (Closes: #247775) + * Add support for the ocfs2 filesystem to the blkid library. + * Various portability fixes for Hurd and FreeBsd, as well as + removing XSI:isms. (Closes: #256669, #264630, #269044, #255589) + * Update config.guess and config.sub from the FSF. + * Minor manual page clarifications (Closes: #268148) + * Fix write ordering problems to make e2fsck more robust in the face + of system crashes while replaying the journal, etc. + * Fix debugging printf in resize2fs. (Closes: #271605) + * Add debugfs -d option to use a separate source of data blocks when + reading from an e2image file. + * Add e2image -I option which allows the e2image metadata to be + installed into a filesystem. + * Change e2fsck to accept directories greater than 32MB. + * Add test_io mechanisms to abort after reading or writing to a + particular block. + * Fix blkid file descriptor and memory leak. + + -- Theodore Y. Ts'o Sat, 18 Sep 2004 09:58:46 -0400 + e2fsprogs (1.35-6) unstable; urgency=low * In the mkinitrd script, make sure the directories exist before diff --git a/debian/e2fsprogs.initrd b/debian/e2fsprogs.initrd deleted file mode 100644 index c1de6ae..0000000 --- a/debian/e2fsprogs.initrd +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -cd / -mount -nt proc proc proc -rootdev=$(cat proc/sys/kernel/real-root-dev) -cmdline=$(cat /proc/cmdline) -umount -n proc -if [ $rootdev != 256 ]; then - mount -nt tmpfs tmpfs /dev2 - mount -nt proc proc /proc - mount -nt devfs devfs /devfs > /dev/null 2>&1 - get_device - mount_device - if test -f /mnt/etc/fstab ; then - ext3root=`awk '!/^ *#/ { if (($2 == "/") && ($3 == "ext3")) {print $1;}}' < /mnt/etc/fstab` - ext2root=`awk '!/^ *#/ { if (($2 == "/") && ($3 == "ext2")) {print $1;}}' < /mnt/etc/fstab` - fi - umount -n /devfs > /dev/null 2>&1 - umount -n /mnt > /dev/null 2>&1 - if test -n "$ext3root" || test -n "$ext2root" ; then - mount -nt tmpfs tmpfs /etc - echo >> /etc/fstab - echo >> /etc/mtab - if test -n "$ext3root" ; then - /sbin/tune2fs -O has_journal /dev2/root2 > /dev/null 2>&1 - else - /sbin/tune2fs -O ^has_journal /dev2/root2 > /dev/null 2>&1 - fi - umount -n /etc - fi - umount -n /dev2 - umount -n /proc > /dev/null 2>&1 -fi diff --git a/debian/e2fsprogs.mkinitrd b/debian/initrd-tools.e2fsprogs similarity index 77% rename from debian/e2fsprogs.mkinitrd rename to debian/initrd-tools.e2fsprogs index 0013dec..80f6fa9 100644 --- a/debian/e2fsprogs.mkinitrd +++ b/debian/initrd-tools.e2fsprogs @@ -1,8 +1,11 @@ #!/bin/sh +# +# /usr/share/initrd-tools/scripts/e2fsprogs +# cp /usr/share/e2fsprogs/initrd.ext3-add-journal \ $INITRDDIR/scripts/ext3-add-journal.sh cp /sbin/tune2fs $INITRDDIR/sbin -cp /usr/bin/awk $INITRDDIR/bin/awk +cp /usr/lib/e2initrd_helper $INITRDDIR/bin/e2initrd_helper case "$VERSION" in 2.4.*) diff --git a/debian/initrd.ext3-add-journal b/debian/initrd.ext3-add-journal new file mode 100644 index 0000000..557fc18 --- /dev/null +++ b/debian/initrd.ext3-add-journal @@ -0,0 +1,27 @@ +#!/bin/sh +# +# /usr/share/e2fsprogs/initrd.ext3-add-journal +# +cd / +mount -nt proc proc proc +rootdev=$(cat proc/sys/kernel/real-root-dev) +cmdline=$(cat /proc/cmdline) +umount -n proc +if [ $rootdev != 256 ]; then + mount -nt tmpfs tmpfs /dev2 + get_device + roottype=`/bin/e2initrd_helper -r /dev2/root2` + if test -n "$roottype" ; then + mount -nt tmpfs tmpfs /etc + echo >> /etc/fstab + echo >> /etc/mtab + if test "$roottype" = "ext3" ; then + /sbin/tune2fs -O has_journal /dev2/root2 > /dev/null 2>&1 + else + /sbin/tune2fs -O ^has_journal /dev2/root2 > /dev/null 2>&1 + fi + umount -n /etc + fi + umount -n /dev2 + umount -n /proc > /dev/null 2>&1 +fi diff --git a/debian/rules b/debian/rules index 59af6ae..db262bc 100644 --- a/debian/rules +++ b/debian/rules @@ -91,7 +91,7 @@ STD_CONF_FLAGS = --with-ccopts="${CCOPTS}" --enable-compression BF_CONF_FLAGS = --with-ccopts="${CCOPTS} ${BF_CCOPTS}" \ --disable-nls --disable-swapfs --disable-imager \ - --disable-resizer --disable-debugfs + --disable-resizer --disable-debugfs --disable-e2initrd-helper MIPS_NOPIC_CONF_FLAGS = --with-ccopts="${CCOPTS}" \ --disable-nls \ @@ -263,12 +263,12 @@ binary-arch: install install-udeb # mkinitrd script mkdir -p debian/e2fsprogs/usr/share/initrd-tools/scripts - install -m755 debian/e2fsprogs.mkinitrd \ + install -m755 debian/initrd-tools.e2fsprogs \ debian/e2fsprogs/usr/share/initrd-tools/scripts/e2fsprogs # initrd script mkdir -p debian/e2fsprogs/usr/share/e2fsprogs - install -m755 debian/e2fsprogs.initrd \ + install -m755 debian/initrd.ext3-add-journal \ debian/e2fsprogs/usr/share/e2fsprogs/initrd.ext3-add-journal diff --git a/misc/ChangeLog b/misc/ChangeLog index ebd4d70..736eead 100644 --- a/misc/ChangeLog +++ b/misc/ChangeLog @@ -1,3 +1,10 @@ +2004-09-18 Theodore Ts'o + + * e2initrd_helper.c: New program which allows initrd scripts to + check on the contents of /etc/fstab without (a) needing to + mount the root filesystem, and (b) needing /bin/awk in the + initrd environment. (Addresses Debian Bug #247775) + 2004-09-17 Theodore Ts'o * tune2fs.8.in: Mention that e2fsck -D might be useful after diff --git a/misc/Makefile.in b/misc/Makefile.in index 2f1b0e8..7a11497 100644 --- a/misc/Makefile.in +++ b/misc/Makefile.in @@ -24,6 +24,8 @@ SMANPAGES= tune2fs.8 mklost+found.8 mke2fs.8 dumpe2fs.8 badblocks.8 \ UPROGS= chattr lsattr uuidgen UMANPAGES= chattr.1 lsattr.1 uuidgen.1 +LPROGS= @E2INITRD_PROG@ + TUNE2FS_OBJS= tune2fs.o util.o MKLPF_OBJS= mklost+found.o MKE2FS_OBJS= mke2fs.o util.o @@ -58,11 +60,15 @@ DEPLIBS_E2P= $(LIBE2P) $(LIBCOM_ERR) .c.o: $(CC) -c $(ALL_CFLAGS) $< -o $@ -all:: $(SPROGS) $(UPROGS) $(USPROGS) $(SMANPAGES) $(UMANPAGES) +all:: $(SPROGS) $(UPROGS) $(USPROGS) $(SMANPAGES) $(UMANPAGES) $(LPROGS) findsuper: findsuper.o $(CC) $(ALL_LDFLAGS) -o findsuper findsuper.o +e2initrd_helper: e2initrd_helper.o $(DEPLIBS) $(DEPLIBS_E2P) $(DEPLIBS_BLKID) + $(CC) $(ALL_LDFLAGS) -o e2initrd_helper e2initrd_helper.o $(LIBS) \ + $(LIBS_BLKID) $(LIBS_E2P) $(LIBINTL) + tune2fs: $(TUNE2FS_OBJS) $(DEPLIBS) $(DEPLIBS_E2P) $(DEPLIBS_BLKID) $(CC) $(ALL_LDFLAGS) -o tune2fs $(TUNE2FS_OBJS) $(LIBS) \ $(LIBS_BLKID) $(LIBS_E2P) $(LIBINTL) @@ -195,6 +201,10 @@ install: all $(SMANPAGES) $(UMANPAGES) installdirs $(INSTALL_PROGRAM) $$i $(DESTDIR)$(bindir)/$$i; \ $(STRIP) $(DESTDIR)$(bindir)/$$i; \ done + for i in $(LPROGS); do \ + $(INSTALL_PROGRAM) $$i $(DESTDIR)$(libdir)/$$i; \ + $(STRIP) $(DESTDIR)$(libdir)/$$i; \ + done for i in $(SMANPAGES); do \ for j in $(COMPRESS_EXT); do \ $(RM) -f $(DESTDIR)$(man8dir)/$$i.$$j; \ diff --git a/misc/e2initrd_helper.c b/misc/e2initrd_helper.c new file mode 100644 index 0000000..243aab4 --- /dev/null +++ b/misc/e2initrd_helper.c @@ -0,0 +1,392 @@ +/* + * e2initrd_helper.c - Get the filesystem table + * + * Copyright 2004 by Theodore Ts'o. + * + * %Begin-Header% + * This file may be redistributed under the terms of the GNU Public + * License. + * %End-Header% + */ + +#include +#include +#include +#include +#include +#include +#ifdef HAVE_ERRNO_H +#include +#endif +#include +#include +#include +#include +#ifdef HAVE_GETOPT_H +#include +#else +extern int optind; +extern char *optarg; +#endif + +#include "ext2fs/ext2_fs.h" +#include "ext2fs/ext2fs.h" +#include "e2p/e2p.h" +#include "blkid/blkid.h" + +#include "../version.h" +#include "nls-enable.h" + +const char * program_name = "get_fstab"; +char * device_name; +static int open_flag; +static int root_type; +static blkid_cache cache = NULL; + +struct mem_file { + char *buf; + int size; + int ptr; +}; + +struct fs_info { + char *device; + char *mountpt; + char *type; + char *opts; + int freq; + int passno; + int flags; + struct fs_info *next; +}; + +static void usage(void) +{ + fprintf(stderr, + _("Usage: %s -r device\n"), program_name); + exit (1); +} + +errcode_t get_file(ext2_filsys fs, const char * filename, + struct mem_file *ret_file) +{ + errcode_t retval; + char *buf; + ext2_file_t e2_file; + int nbytes; + unsigned int got; + struct ext2_inode inode; + ext2_ino_t ino; + + ret_file->buf = 0; + ret_file->size = 0; + ret_file->ptr = 0; + + retval = ext2fs_namei(fs, EXT2_ROOT_INO, EXT2_ROOT_INO, + filename, &ino); + if (retval) + return retval; + + retval = ext2fs_read_inode(fs, ino, &inode); + if (retval) + return retval; + + if (inode.i_size_high || (inode.i_size > 65536)) + return EFBIG; + + buf = malloc(inode.i_size + 1); + if (!buf) + return ENOMEM; + memset(buf, 0, inode.i_size+1); + + retval = ext2fs_file_open(fs, ino, 0, &e2_file); + if (retval) + return retval; + + retval = ext2fs_file_read(e2_file, buf, inode.i_size, &got); + if (retval) + goto errout; + + retval = ext2fs_file_close(e2_file); + if (retval) + return retval; + + ret_file->buf = buf; + ret_file->size = (int) got; + +errout: + ext2fs_file_close(e2_file); + return retval; +} + +char *get_line(struct mem_file *file) +{ + char *cp, *ret; + int s = 0; + + cp = file->buf + file->ptr; + while (*cp && *cp != '\n') { + cp++; + s++; + } + ret = malloc(s+1); + if (!ret) + return 0; + ret[s]=0; + memcpy(ret, file->buf + file->ptr, s); + while (*cp && (*cp == '\n' || *cp == '\r')) { + cp++; + s++; + } + file->ptr += s; + return ret; +} + +int mem_file_eof(struct mem_file *file) +{ + return (file->ptr >= file->size); +} + +/* + * fstab parsing code + */ +static char *string_copy(const char *s) +{ + char *ret; + + if (!s) + return 0; + ret = malloc(strlen(s)+1); + if (ret) + strcpy(ret, s); + return ret; +} + +static char *skip_over_blank(char *cp) +{ + while (*cp && isspace(*cp)) + cp++; + return cp; +} + +static char *skip_over_word(char *cp) +{ + while (*cp && !isspace(*cp)) + cp++; + return cp; +} + +static char *parse_word(char **buf) +{ + char *word, *next; + + word = *buf; + if (*word == 0) + return 0; + + word = skip_over_blank(word); + next = skip_over_word(word); + if (*next) + *next++ = 0; + *buf = next; + return word; +} + +static void parse_escape(char *word) +{ + char *p, *q; + int ac, i; + + if (!word) + return; + + for (p = word, q = word; *p; p++, q++) { + *q = *p; + if (*p != '\\') + continue; + if (*++p == 0) + break; + if (*p == 't') { + *q = '\t'; + continue; + } + if (*p == 'n') { + *q = '\n'; + continue; + } + if (!isdigit(*p)) { + *q = *p; + continue; + } + ac = 0; + for (i = 0; i < 3; i++, p++) { + if (!isdigit(*p)) + break; + ac = (ac * 8) + (*p - '0'); + } + *q = ac; + p--; + } + *q = 0; +} + +static int parse_fstab_line(char *line, struct fs_info *fs) +{ + char *dev, *device, *mntpnt, *type, *opts, *freq, *passno, *cp; + + if ((cp = strchr(line, '#'))) + *cp = 0; /* Ignore everything after the comment char */ + cp = line; + + device = parse_word(&cp); + mntpnt = parse_word(&cp); + type = parse_word(&cp); + opts = parse_word(&cp); + freq = parse_word(&cp); + passno = parse_word(&cp); + + if (!device) + return -1; /* Allow blank lines */ + + if (!mntpnt || !type) + return -1; + + parse_escape(device); + parse_escape(mntpnt); + parse_escape(type); + parse_escape(opts); + parse_escape(freq); + parse_escape(passno); + + dev = blkid_get_devname(cache, device, NULL); + if (dev) + device = dev; + + if (strchr(type, ',')) + type = 0; + + fs->device = string_copy(device); + fs->mountpt = string_copy(mntpnt); + fs->type = string_copy(type); + fs->opts = string_copy(opts ? opts : ""); + fs->freq = freq ? atoi(freq) : -1; + fs->passno = passno ? atoi(passno) : -1; + fs->flags = 0; + fs->next = NULL; + + if (dev) + free(dev); + + return 0; +} + +void free_fstab_line(struct fs_info *fs) +{ + if (fs->device) + fs->device = 0; + if (fs->mountpt) + fs->mountpt = 0; + if (fs->type) + fs->type = 0; + if (fs->opts) + fs->opts = 0; + memset(fs, 0, sizeof(struct fs_info)); +} + + +static void PRS(int argc, char **argv) +{ + int c; + char * tmp; + struct group * gr; + struct passwd * pw; + +#ifdef ENABLE_NLS + setlocale(LC_MESSAGES, ""); + setlocale(LC_CTYPE, ""); + bindtextdomain(NLS_CAT_NAME, LOCALEDIR); + textdomain(NLS_CAT_NAME); +#endif + + while ((c = getopt(argc, argv, "rv")) != EOF) { + switch (c) { + case 'r': + root_type++; + break; + + case 'v': + printf("%s %s (%s)\n", program_name, + E2FSPROGS_VERSION, E2FSPROGS_DATE); + break; + default: + usage(); + } + } + if (optind < argc - 1 || optind == argc) + usage(); + device_name = blkid_get_devname(NULL, argv[optind], NULL); + if (!device_name) { + com_err("tune2fs", 0, _("Unable to resolve '%s'"), + argv[optind]); + exit(1); + } +} + +void get_root_type(ext2_filsys fs) +{ + errcode_t retval; + struct mem_file file; + char *buf; + struct fs_info fs_info; + int ret; + + retval = get_file(fs, "/etc/fstab", &file); + + while (!mem_file_eof(&file)) { + buf = get_line(&file); + if (!buf) + continue; + + ret = parse_fstab_line(buf, &fs_info); + if (ret < 0) + goto next_line; + + if (!strcmp(fs_info.mountpt, "/")) + printf("%s\n", fs_info.type); + + free_fstab_line(&fs_info); + + next_line: + free(buf); + } +} + + +int main (int argc, char ** argv) +{ + errcode_t retval; + ext2_filsys fs; + struct ext2_super_block *sb; + io_manager io_ptr; + int got, ret; + + initialize_ext2_error_table(); + + blkid_get_cache(&cache, NULL); + PRS(argc, argv); + +#ifdef CONFIG_TESTIO_DEBUG + io_ptr = test_io_manager; + test_io_backing_manager = unix_io_manager; +#else + io_ptr = unix_io_manager; +#endif + retval = ext2fs_open (device_name, open_flag, 0, 0, io_ptr, &fs); + if (retval) + exit(1); + + if (root_type) + get_root_type(fs); + + return (ext2fs_close (fs) ? 1 : 0); +} -- 1.8.3.1