Juan Manuel Guerrero <[EMAIL PROTECTED]> writes: > sed: read error on ../.: Is a directory > make[1]: *** [stdlib.h] Error 4 > make[1]: Leaving directory `/home/jmg/gzip/lib' > make: *** [all-recursive] Error 1
Thanks for reporting that. I installed this fix: 2007-03-19 Paul Eggert <[EMAIL PROTECTED]> * README-hacking: New file, renamed from README-cvs. * README-cvs: Remove. * bootstrap: Sync from today's gnulib. * bootstrap.conf (gnulib_modules): Add 'time'. * gzip.c: Don't include timespec.h; 'time' fixes time.h for that. * zip.c: Likewise. * gzip.c: Don't include time.h or sys/time.h; gzip.h now includes time.h, which is now enough. * gzip.h: Include <time.h>. Index: README-hacking =================================================================== RCS file: README-hacking diff -N README-hacking --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ README-hacking 20 Mar 2007 05:09:48 -0000 @@ -0,0 +1,64 @@ +-*- outline -*- + +These notes intend to help people working on the CVS version of +this package. + +* Requirements + +Only the sources are installed in the CVS repository (to ease the +maintenance, merges etc.), therefore you will have to get the latest +stable versions of the maintainer tools we depend upon, including: + +- Automake <http://www.gnu.org/software/automake/> +- Autoconf <http://www.gnu.org/software/autoconf/> +- Tar <http://www.gnu.org/software/tar/> +- Wget <http://www.gnu.org/software/wget/> + +Valgrind <http://valgrind.org/> is also highly recommended, if +Valgrind supports your architecture. + +Only building the initial full source tree will be a bit painful, +later, a plain `cvs update -P && make' should be sufficient. + +* First CVS checkout + +Obviously, if you are reading these notes, you did manage to check out +this package from CVS. The next step is to get other files needed to +build, which are extracted from other source packages: + + $ ./bootstrap + +And there you are! Just + + $ ./configure + $ make + $ make check + +At this point, there should be no difference between your local copy, +and the CVS master copy: + + $ cvs diff + +should output no difference. + +Enjoy! + +----- + +Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, +Inc. + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2, or (at your option) +any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +02110-1301, USA. Index: README-cvs =================================================================== RCS file: README-cvs diff -N README-cvs --- README-cvs 20 Nov 2006 08:40:33 -0000 1.1 +++ /dev/null 1 Jan 1970 00:00:00 -0000 @@ -1,64 +0,0 @@ --*- outline -*- - -These notes intend to help people working on the CVS version of -this package. - -* Requirements - -Only the sources are installed in the CVS repository (to ease the -maintenance, merges etc.), therefore you will have to get the latest -stable versions of the maintainer tools we depend upon, including: - -- Automake <http://www.gnu.org/software/automake/> -- Autoconf <http://www.gnu.org/software/autoconf/> -- Tar <http://www.gnu.org/software/tar/> -- Wget <http://www.gnu.org/software/wget/> - -Valgrind <http://valgrind.org/> is also highly recommended, if -Valgrind supports your architecture. - -Only building the initial full source tree will be a bit painful, -later, a plain `cvs update -P && make' should be sufficient. - -* First CVS checkout - -Obviously, if you are reading these notes, you did manage to check out -this package from CVS. The next step is to get other files needed to -build, which are extracted from other source packages: - - $ ./bootstrap - -And there you are! Just - - $ ./configure - $ make - $ make check - -At this point, there should be no difference between your local copy, -and the CVS master copy: - - $ cvs diff - -should output no difference. - -Enjoy! - ------ - -Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, -Inc. - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2, or (at your option) -any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -02110-1301, USA. Index: bootstrap =================================================================== RCS file: /cvsroot/gzip/gzip/bootstrap,v retrieving revision 1.2 diff -u -p -r1.2 bootstrap --- bootstrap 15 Dec 2006 08:18:02 -0000 1.2 +++ bootstrap 20 Mar 2007 05:09:48 -0000 @@ -1,8 +1,8 @@ #! /bin/sh -# Bootstrap this package from CVS. +# Bootstrap this package from checked-out sources. -# Copyright (C) 2003, 2004, 2005, 2006 Free Software Foundation, Inc. +# Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -29,6 +29,11 @@ nl=' LC_ALL=C export LC_ALL +# Temporary directory names. +bt='._bootmp' +bt_regex=`echo "$bt"| sed 's/\./[.]/g'` +bt2=${bt}2 + usage() { echo >&2 "\ Usage: $0 [OPTION]... @@ -38,14 +43,14 @@ Options: --gnulib-srcdir=DIRNAME Specify the local directory where gnulib sources reside. Use this if you already have gnulib sources on your machine, and - do not want to waste your bandwidth dowloading + do not want to waste your bandwidth downloading them again. --copy Copy files instead of creating symbolic links. --force Attempt to bootstrap even if the sources seem not to have been checked out. --skip-po Do not download po files. - --cvs-user=USERNAME Set the CVS username to be used when accessing - the gnulib repository. + --cvs-user=USERNAME Set the username to use when checking out + sources from the gnulib repository. If the file .bootstrap.conf exists in the current working directory, its contents are read as shell variables to configure the bootstrap. @@ -84,28 +89,24 @@ extract_package_name=' } ' package=`sed -n "$extract_package_name" configure.ac` || exit +gnulib_name=lib$package +build_aux=build-aux # Extra files from gnulib, which override files from other sources. -gnulib_extra_files=' - build-aux/install-sh - build-aux/missing - build-aux/mdate-sh - build-aux/texinfo.tex - build-aux/depcomp - build-aux/config.guess - build-aux/config.sub +gnulib_extra_files=" + $build_aux/install-sh + $build_aux/missing + $build_aux/mdate-sh + $build_aux/texinfo.tex + $build_aux/depcomp + $build_aux/config.guess + $build_aux/config.sub doc/INSTALL -' - -# Additional gnulib-tool options to use. Use "\newline" to break lines. -gnulib_tool_option_extras= +" # Other locale categories that need message catalogs. EXTRA_LOCALE_CATEGORIES= -# Whether to use gettext by default. -IMPORT_FROM_GETTEXT=yes - # Additional xgettext options to use. Use "\\\newline" to break lines. XGETTEXT_OPTIONS='\\\ --flag=_:1:pass-c-format\\\ @@ -118,7 +119,7 @@ excluded_files= # File that should exist in the top directory of a checked out hierarchy, # but not in a distribution tarball. -CVS_only_file=README-cvs +checkout_only_file=README-hacking # Whether to use copies instead of symlinks. copy=false @@ -143,7 +144,7 @@ do --skip-po) SKIP_PO=t;; --force) - CVS_only_file=;; + checkout_only_file=;; --copy) copy=true;; *) @@ -152,12 +153,42 @@ do esac done -if test -n "$CVS_only_file" && test ! -r "$CVS_only_file"; then +if test -n "$checkout_only_file" && test ! -r "$checkout_only_file"; then echo "$0: Bootstrapping from a non-checked-out distribution is risky." >&2 exit 1 fi -echo "$0: Bootstrapping CVS $package..." +# If $STR is not already on a line by itself in $FILE, insert it, +# sorting the new contents of the file and replacing $FILE with the result. +insert_sorted_if_absent() { + file=$1 + str=$2 + echo "$str" | sort -u - $file | cmp -s - $file \ + || echo "$str" | sort -u - $file -o $file \ + || exit 1 +} + +# Die if there is no AC_CONFIG_AUX_DIR($build_aux) line in configure.ac. +found_aux_dir=no +grep '^[ ]*AC_CONFIG_AUX_DIR(\['"$build_aux"'\])' configure.ac \ + >/dev/null && found_aux_dir=yes +grep '^[ ]*AC_CONFIG_AUX_DIR('"$build_aux"')' configure.ac \ + >/dev/null && found_aux_dir=yes +if test $found_aux_dir = no; then + echo "$0: expected line not found in configure.ac. Add the following:" >&2 + echo " AC_CONFIG_AUX_DIR([$build_aux])" >&2. +fi + +# If $build_aux doesn't exist, create it now, otherwise some bits +# below will malfunction. If creating it, also mark it as ignored. +if test ! -d $build_aux; then + mkdir $build_aux + for ig in .cvsignore .gitignore; do + test -f $ig && insert_sorted_if_absent $ig $build_aux + done +fi + +echo "$0: Bootstrapping from checked-out $package sources..." cleanup_gnulib() { status=$? @@ -322,7 +353,8 @@ cp_mark_as_generated() if test -z "$c1"; then cmp -s "$cp_src" "$cp_dst" || { echo "$0: cp -f $cp_src $cp_dst" && - cp -f "$cp_src" "$cp_dst" + rm -f "$cp_dst" && + sed "s!$bt_regex/!!g" "$cp_src" > "$cp_dst" } else # Copy the file first to get proper permissions if it @@ -331,7 +363,7 @@ cp_mark_as_generated() ( echo "$c1-*- buffer-read-only: t -*- vi: set ro:$c2" && echo "${c1}DO NOT EDIT! GENERATED AUTOMATICALLY!$c2" && - cat "$cp_src" + sed "s!$bt_regex/!!g" "$cp_src" ) > $cp_dst-t && if cmp -s "$cp_dst-t" "$cp_dst"; then rm -f "$cp_dst-t" @@ -369,7 +401,7 @@ slurp() { done if test $file = Makefile.am; then copied=$copied${sep}gnulib.mk; sep=$nl - remove_intl='/^[^#].*\/intl/s/^/#/' + remove_intl='/^[^#].*\/intl/s/^/#/;'"s!$bt_regex/!!g" sed "$remove_intl" $1/$dir/$file | cmp -s - $dir/gnulib.mk || { echo "$0: Copying $1/$dir/$file to $dir/gnulib.mk ..." && rm -f $dir/gnulib.mk && @@ -400,8 +432,12 @@ slurp() { for dot_ig in .cvsignore .gitignore; do ig=$dir/$dot_ig if test -n "$copied" && test -f $ig; then - echo "$copied" | sort -u - $ig | cmp -s - $ig || - echo "$copied" | sort -u - $ig -o $ig || exit + insert_sorted_if_absent $ig "$copied" + # If an ignored file name ends with _.h, then also add + # the name with just ".h". Many gnulib headers are generated, + # e.g., stdint_.h -> stdint.h, dirent_.h ->..., etc. + f=`echo "$copied"|sed 's/_\.h$/.h/'` + insert_sorted_if_absent $ig "$f" fi done done @@ -409,26 +445,21 @@ slurp() { # Create boot temporary directories to import from gnulib and gettext. - -bt='.#bootmp' -bt2=${bt}2 rm -fr $bt $bt2 && mkdir $bt $bt2 || exit - # Import from gnulib. gnulib_tool_options="\ --import\ --no-changelog\ - --aux-dir $bt/build-aux\ + --aux-dir $bt/$build_aux\ --doc-base $bt/doc\ - --lib lib$package\ + --lib $gnulib_name\ --m4-base $bt/m4/\ --source-base $bt/lib/\ --tests-base $bt/tests\ --local-dir gl\ -$gnulib_tool_option_extras\ " echo "$0: $gnulib_tool $gnulib_tool_options --import ..." $gnulib_tool $gnulib_tool_options --import $gnulib_modules && @@ -440,26 +471,34 @@ done # Import from gettext. +with_gettext=yes +grep '^[ ]*AM_GNU_GETTEXT_VERSION(' configure.ac >/dev/null || \ + with_gettext=no -case $IMPORT_FROM_GETTEXT in -yes) +if test $with_gettext = yes; then echo "$0: (cd $bt2; autopoint) ..." cp configure.ac $bt2 && (cd $bt2 && autopoint && rm configure.ac) && slurp $bt2 $bt || exit - rm -fr $bt $bt2 || exit;; -esac + rm -fr $bt $bt2 || exit +fi # Reconfigure, getting other files. for command in \ + libtool \ 'aclocal --force -I m4' \ 'autoconf --force' \ 'autoheader --force' \ 'automake --add-missing --copy --force-missing'; do + if test "$command" = libtool; then + grep '^[ ]*AM_PROG_LIBTOOL\>' configure.ac >/dev/null || + continue + command='libtoolize -c -f' + fi echo "$0: $command ..." $command || exit done @@ -472,14 +511,11 @@ for file in $gnulib_extra_files; do */INSTALL) dst=INSTALL;; *) dst=$file;; esac - dstdir=`dirname $dst` || exit - test -d $dstdir || mkdir -p $dstdir || exit symlink_to_gnulib $file $dst || exit done - -# Create gettext configuration. -if test -d po; then +if test $with_gettext = yes; then + # Create gettext configuration. echo "$0: Creating po/Makevars from po/Makevars.template ..." rm -f po/Makevars sed ' @@ -491,19 +527,24 @@ if test -d po; then '"$XGETTEXT_OPTIONS"' $${end_of_xgettext_options+} } ' po/Makevars.template >po/Makevars -fi -if test -d runtime-po; then - # Likewise for runtime-po/Makevars, except also change a few other parameters. - rm -f runtime-po/Makevars - sed ' - s/^\(DOMAIN\) *=.*/\1 = '"$package"'-runtime/ - s/^\(subdir\) *=.*/\1 = runtime-po/ - s/^\(XGETTEXT_OPTIONS\) *=.*/\1 = '"$XGETTEXT_OPTIONS_RUNTIME"'/ - ' <po/Makevars >runtime-po/Makevars + if test -d runtime-po; then + # Similarly for runtime-po/Makevars, but not quite the same. + rm -f runtime-po/Makevars + sed ' + /^DOMAIN *=.*/s/=.*/= '"$package"'-runtime/ + /^subdir *=.*/s/=.*/= runtime-po/ + /^MSGID_BUGS_ADDRESS *=/s/=.*/= bug-'"$package"'@gnu.org/ + /^XGETTEXT_OPTIONS *=/{ + s/$/ \\/ + a\ + '"$XGETTEXT_OPTIONS_RUNTIME"' $${end_of_xgettext_options+} + } + ' <po/Makevars.template >runtime-po/Makevars - # Copy identical files from po to runtime-po. - (cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po) + # Copy identical files from po to runtime-po. + (cd po && cp -p Makefile.in.in *-quot *.header *.sed *.sin ../runtime-po) + fi fi echo "$0: done. Now you can run './configure'." Index: bootstrap.conf =================================================================== RCS file: /cvsroot/gzip/gzip/bootstrap.conf,v retrieving revision 1.4 diff -u -p -r1.4 bootstrap.conf --- bootstrap.conf 15 Dec 2006 08:18:02 -0000 1.4 +++ bootstrap.conf 20 Mar 2007 05:09:48 -0000 @@ -29,6 +29,7 @@ gnulib_modules=' getopt stat-time sys_stat + time utimens xalloc yesno Index: gzip.c =================================================================== RCS file: /cvsroot/gzip/gzip/gzip.c,v retrieving revision 1.15 diff -u -p -r1.15 gzip.c --- gzip.c 12 Feb 2007 05:24:34 -0000 1.15 +++ gzip.c 20 Mar 2007 05:09:48 -0000 @@ -72,16 +72,9 @@ static char rcsid[] = "$Id: gzip.c,v 1.1 #include "fcntl-safer.h" #include "getopt.h" #include "stat-time.h" -#include "timespec.h" /* configuration */ -#ifdef HAVE_TIME_H -# include <time.h> -#else -# include <sys/time.h> -#endif - #ifdef HAVE_FCNTL_H # include <fcntl.h> #endif Index: zip.c =================================================================== RCS file: /cvsroot/gzip/gzip/zip.c,v retrieving revision 1.6 diff -u -p -r1.6 zip.c --- zip.c 11 Dec 2006 18:54:39 -0000 1.6 +++ zip.c 20 Mar 2007 05:09:48 -0000 @@ -1,6 +1,6 @@ /* zip.c -- compress files to the gzip or pkzip format - Copyright (C) 1997, 1998, 1999, 2006 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999, 2006, 2007 Free Software Foundation, Inc. Copyright (C) 1992-1993 Jean-loup Gailly This program is free software; you can redistribute it and/or modify @@ -28,8 +28,6 @@ static char rcsid[] = "$Id: zip.c,v 1.6 #include "gzip.h" #include "crypt.h" -#include "timespec.h" - #ifdef HAVE_UNISTD_H # include <unistd.h> #endif Index: gzip.h =================================================================== RCS file: /cvsroot/gzip/gzip/gzip.h,v retrieving revision 1.6 diff -u -p -r1.6 gzip.h --- gzip.h 11 Dec 2006 18:54:39 -0000 1.6 +++ gzip.h 20 Mar 2007 05:09:48 -0000 @@ -1,6 +1,8 @@ /* gzip.h -- common declarations for all gzip modules - Copyright (C) 1997, 1998, 1999, 2001, 2006 Free Software Foundation, Inc. + Copyright (C) 1997, 1998, 1999, 2001, 2006, 2007 Free Software + Foundation, Inc. + Copyright (C) 1992-1993 Jean-loup Gailly. This program is free software; you can redistribute it and/or modify @@ -43,7 +45,8 @@ * too often */ #include <stdio.h> -#include <sys/types.h> /* for off_t, time_t */ +#include <sys/types.h> /* for off_t */ +#include <time.h> #if defined HAVE_STRING_H || defined STDC_HEADERS # include <string.h> # if !defined STDC_HEADERS && defined HAVE_MEMORY_H && !defined __GNUC__