Package: gzip;
Reported by: Jim Meyering <jim <at> meyering.net>
Date: Sun, 1 Jul 2018 14:59:01 UTC
Severity: normal
Done: Jim Meyering <jim <at> meyering.net>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 32025 in the body.
You can then email your comments to 32025 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
bug-gzip <at> gnu.org
:bug#32025
; Package gzip
.
(Sun, 01 Jul 2018 14:59:01 GMT) Full text and rfc822 format available.Jim Meyering <jim <at> meyering.net>
:bug-gzip <at> gnu.org
.
(Sun, 01 Jul 2018 14:59:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: Jim Meyering <jim <at> meyering.net> To: bug-gzip <at> gnu.org Subject: two build/maint-related patches Date: Sun, 01 Jul 2018 07:58:20 -0700
I've just pushed these: >From 203e40cc4558a80998d05eb74b373a51e796ca8b Mon Sep 17 00:00:00 2001 From: Jim Meyering <meyering <at> fb.com> Date: Sat, 30 Jun 2018 19:27:21 -0700 Subject: [PATCH 1/2] build: remove -Wformat-truncation=2 to avoid avoid false-positive * configure.ac (GNULIB_WARN_CFLAGS): Add -Wformat-truncation=2, to disable it when building gnulib with --enable-gcc-warnings. This avoids what looks like a false positive from GCC 9: strerror_r.c: In function 'rpl_strerror_r': strerror_r.c:453:35: error: 'Unknown error ' directive output \ truncated writing 14 bytes into a region of size 2 \ [-Werror=format-truncation=] snprintf (buf, buflen, "Unknown error %d", errnum); ~~^~~~~~~~~~~~ In file included from /usr/include/stdio.h:862, from ./stdio.h:43, from strerror_r.c:29: /usr/include/bits/stdio2.h:64:10: note: '__builtin___snprintf_chk' \ output between 16 and 26 bytes into a destination of size 2 return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, --- configure.ac | 1 + 1 file changed, 1 insertion(+) diff --git a/configure.ac b/configure.ac index 1f05a7e..361d877 100644 --- a/configure.ac +++ b/configure.ac @@ -177,6 +177,7 @@ if test "$gl_gcc_warnings" = yes; then # Remove the following and save the result in GNULIB_WARN_CFLAGS. nw= nw="$nw -Wstrict-overflow" + nw="$nw -Wformat-truncation=2" nw="$nw -Wuninitialized" nw="$nw -Wunused-macros" nw="$nw -Wmissing-prototypes" -- 2.18.0 >From 9ef6a8ac4470aeac60445c7e4802349bc9272d5d Mon Sep 17 00:00:00 2001 From: Jim Meyering <meyering <at> fb.com> Date: Sat, 30 Jun 2018 19:05:55 -0700 Subject: [PATCH 2/2] maint: update gnulib to latest; also update bootstrap and init.sh --- bootstrap | 258 ++++++++++++++++++++++++++++--------------------- gnulib | 2 +- lib/.gitignore | 1 - tests/init.sh | 2 +- 4 files changed, 152 insertions(+), 111 deletions(-) diff --git a/bootstrap b/bootstrap index 25920e9..ed3b0a4 100755 --- a/bootstrap +++ b/bootstrap @@ -1,6 +1,6 @@ #! /bin/sh # Print a version string. -scriptversion=2017-09-19.08; # UTC +scriptversion=2018-07-01.02; # UTC # Bootstrap this package from checked-out sources. @@ -47,6 +47,8 @@ PERL="${PERL-perl}" me=$0 +default_gnulib_url=git://git.sv.gnu.org/gnulib + usage() { cat <<EOF Usage: $me [OPTION]... @@ -76,6 +78,37 @@ contents are read as shell variables to configure the bootstrap. For build prerequisites, environment variables like \$AUTOCONF and \$AMTAR are honored. +Gnulib sources can be fetched in various ways: + + * If this package is in a git repository with a 'gnulib' submodule + configured, then that submodule is initialized and updated and sources + are fetched from there. If \$GNULIB_SRCDIR is set (directly or via + --gnulib-srcdir) and is a git repository, then it is used as a reference. + + * Otherwise, if \$GNULIB_SRCDIR is set (directly or via --gnulib-srcdir), + then sources are fetched from that local directory. If it is a git + repository and \$GNULIB_REVISION is set, then that revision is checked + out. + + * Otherwise, if this package is in a git repository with a 'gnulib' + submodule configured, then that submodule is initialized and updated and + sources are fetched from there. + + * Otherwise, if the 'gnulib' directory does not exist, Gnulib sources are + cloned into that directory using git from \$GNULIB_URL, defaulting to + $default_gnulib_url. + If \$GNULIB_REVISION is set, then that revision is checked out. + + * Otherwise, the existing Gnulib sources in the 'gnulib' directory are + used. If it is a git repository and \$GNULIB_REVISION is set, then that + revision is checked out. + +If you maintain a package and want to pin a particular revision of the +Gnulib sources that has been tested with your package, then there are two +possible approaches: either configure a 'gnulib' submodule with the +appropriate revision, or set \$GNULIB_REVISION (and if necessary +\$GNULIB_URL) in $me.conf. + Running without arguments will suffice in most cases. EOF } @@ -109,9 +142,6 @@ die() { warn_ "$@"; exit 1; } # Configuration. -# Name of the Makefile.am -gnulib_mk=gnulib.mk - # List of gnulib modules needed. gnulib_modules= @@ -170,7 +200,15 @@ source_base=lib m4_base=m4 doc_base=doc tests_base=tests -gnulib_extra_files='' +gnulib_extra_files=" + build-aux/install-sh + 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= @@ -264,24 +302,18 @@ case "$0" in *) test -r "$0.conf" && . ./"$0.conf" ;; esac -# Extra files from gnulib, which override files from other sources. -test -z "${gnulib_extra_files}" && \ - gnulib_extra_files=" - build-aux/install-sh - build-aux/mdate-sh - build-aux/texinfo.tex - build-aux/depcomp - build-aux/config.guess - build-aux/config.sub - doc/INSTALL -" - if test "$vc_ignore" = auto; then vc_ignore= test -d .git && vc_ignore=.gitignore test -d CVS && vc_ignore="$vc_ignore .cvsignore" fi +if test x"$gnulib_modules$gnulib_files$gnulib_extra_files" = x; then + use_gnulib=false +else + use_gnulib=true +fi + # Translate configuration into internal form. # Parse options. @@ -612,85 +644,94 @@ git_modules_config () { test -f .gitmodules && git config --file .gitmodules "$@" } -if $use_git; then - gnulib_path=$(git_modules_config submodule.gnulib.path) - test -z "$gnulib_path" && gnulib_path=gnulib -fi +if $use_gnulib; then + if $use_git; then + gnulib_path=$(git_modules_config submodule.gnulib.path) + test -z "$gnulib_path" && gnulib_path=gnulib + fi -# Get gnulib files. Populate $GNULIB_SRCDIR, possibly updating a -# submodule, for use in the rest of the script. + # Get gnulib files. Populate $GNULIB_SRCDIR, possibly updating a + # submodule, for use in the rest of the script. -case ${GNULIB_SRCDIR--} in --) - # Note that $use_git is necessarily true in this case. - if git_modules_config submodule.gnulib.url >/dev/null; then - echo "$0: getting gnulib files..." - git submodule init -- "$gnulib_path" || exit $? - git submodule update -- "$gnulib_path" || exit $? + case ${GNULIB_SRCDIR--} in + -) + # Note that $use_git is necessarily true in this case. + if git_modules_config submodule.gnulib.url >/dev/null; then + echo "$0: getting gnulib files..." + git submodule init -- "$gnulib_path" || exit $? + git submodule update -- "$gnulib_path" || exit $? - elif [ ! -d "$gnulib_path" ]; then - echo "$0: getting gnulib files..." + elif [ ! -d "$gnulib_path" ]; then + echo "$0: getting gnulib files..." - trap cleanup_gnulib 1 2 13 15 + trap cleanup_gnulib 1 2 13 15 - shallow= - git clone -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2' - git clone $shallow git://git.sv.gnu.org/gnulib "$gnulib_path" || - cleanup_gnulib + shallow= + if test -z "$GNULIB_REVISION"; then + git clone -h 2>&1 | grep -- --depth > /dev/null && shallow='--depth 2' + fi + git clone $shallow ${GNULIB_URL:-$default_gnulib_url} "$gnulib_path" \ + || cleanup_gnulib - trap - 1 2 13 15 - fi - GNULIB_SRCDIR=$gnulib_path - ;; -*) - # Use GNULIB_SRCDIR directly or as a reference. - if $use_git && test -d "$GNULIB_SRCDIR"/.git && \ - git_modules_config submodule.gnulib.url >/dev/null; then - echo "$0: getting gnulib files..." - if git submodule -h|grep -- --reference > /dev/null; then - # Prefer the one-liner available in git 1.6.4 or newer. - git submodule update --init --reference "$GNULIB_SRCDIR" \ - "$gnulib_path" || exit $? - else - # This fallback allows at least git 1.5.5. - if test -f "$gnulib_path"/gnulib-tool; then - # Since file already exists, assume submodule init already complete. - git submodule update -- "$gnulib_path" || exit $? + trap - 1 2 13 15 + fi + GNULIB_SRCDIR=$gnulib_path + ;; + *) + # Use GNULIB_SRCDIR directly or as a reference. + if $use_git && test -d "$GNULIB_SRCDIR"/.git && \ + git_modules_config submodule.gnulib.url >/dev/null; then + echo "$0: getting gnulib files..." + if git submodule -h|grep -- --reference > /dev/null; then + # Prefer the one-liner available in git 1.6.4 or newer. + git submodule update --init --reference "$GNULIB_SRCDIR" \ + "$gnulib_path" || exit $? else - # Older git can't clone into an empty directory. - rmdir "$gnulib_path" 2>/dev/null - git clone --reference "$GNULIB_SRCDIR" \ - "$(git_modules_config submodule.gnulib.url)" "$gnulib_path" \ - && git submodule init -- "$gnulib_path" \ - && git submodule update -- "$gnulib_path" \ - || exit $? + # This fallback allows at least git 1.5.5. + if test -f "$gnulib_path"/gnulib-tool; then + # Since file already exists, assume submodule init already complete. + git submodule update -- "$gnulib_path" || exit $? + else + # Older git can't clone into an empty directory. + rmdir "$gnulib_path" 2>/dev/null + git clone --reference "$GNULIB_SRCDIR" \ + "$(git_modules_config submodule.gnulib.url)" "$gnulib_path" \ + && git submodule init -- "$gnulib_path" \ + && git submodule update -- "$gnulib_path" \ + || exit $? + fi fi + GNULIB_SRCDIR=$gnulib_path fi - GNULIB_SRCDIR=$gnulib_path + ;; + esac + + if test -d "$GNULIB_SRCDIR"/.git && test -n "$GNULIB_REVISION" \ + && ! git_modules_config submodule.gnulib.url >/dev/null; then + (cd "$GNULIB_SRCDIR" && git checkout "$GNULIB_REVISION") || cleanup_gnulib fi - ;; -esac -# $GNULIB_SRCDIR now points to the version of gnulib to use, and -# we no longer need to use git or $gnulib_path below here. + # $GNULIB_SRCDIR now points to the version of gnulib to use, and + # we no longer need to use git or $gnulib_path below here. + + if $bootstrap_sync; then + cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || { + echo "$0: updating bootstrap and restarting..." + case $(sh -c 'echo "$1"' -- a) in + a) ignored=--;; + *) ignored=ignored;; + esac + exec sh -c \ + 'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \ + $ignored "$GNULIB_SRCDIR/build-aux/bootstrap" \ + "$0" "$@" --no-bootstrap-sync + } + fi -if $bootstrap_sync; then - cmp -s "$0" "$GNULIB_SRCDIR/build-aux/bootstrap" || { - echo "$0: updating bootstrap and restarting..." - case $(sh -c 'echo "$1"' -- a) in - a) ignored=--;; - *) ignored=ignored;; - esac - exec sh -c \ - 'cp "$1" "$2" && shift && exec "${CONFIG_SHELL-/bin/sh}" "$@"' \ - $ignored "$GNULIB_SRCDIR/build-aux/bootstrap" \ - "$0" "$@" --no-bootstrap-sync - } + gnulib_tool=$GNULIB_SRCDIR/gnulib-tool + <$gnulib_tool || exit $? fi -gnulib_tool=$GNULIB_SRCDIR/gnulib-tool -<$gnulib_tool || exit $? - # Get translations. download_po_files() { @@ -898,32 +939,33 @@ fi # Import from gnulib. -gnulib_tool_options="\ - --import\ - --no-changelog\ - --aux-dir $build_aux\ - --doc-base $doc_base\ - --lib $gnulib_name\ - --m4-base $m4_base/\ - --source-base $source_base/\ - --tests-base $tests_base\ - --local-dir $local_gl_dir\ - $gnulib_tool_option_extras\ -" -if test $use_libtool = 1; then - case "$gnulib_tool_options " in - *' --libtool '*) ;; - *) gnulib_tool_options="$gnulib_tool_options --libtool" ;; - esac -fi -echo "$0: $gnulib_tool $gnulib_tool_options --import ..." -$gnulib_tool $gnulib_tool_options --import $gnulib_modules \ - || die "gnulib-tool failed" +if $use_gnulib; then + gnulib_tool_options="\ + --no-changelog\ + --aux-dir=$build_aux\ + --doc-base=$doc_base\ + --lib=$gnulib_name\ + --m4-base=$m4_base/\ + --source-base=$source_base/\ + --tests-base=$tests_base\ + --local-dir=$local_gl_dir\ + $gnulib_tool_option_extras\ + " + if test $use_libtool = 1; then + case "$gnulib_tool_options " in + *' --libtool '*) ;; + *) gnulib_tool_options="$gnulib_tool_options --libtool" ;; + esac + fi + echo "$0: $gnulib_tool $gnulib_tool_options --import ..." + $gnulib_tool $gnulib_tool_options --import $gnulib_modules \ + || die "gnulib-tool failed" -for file in $gnulib_files; do - symlink_to_dir "$GNULIB_SRCDIR" $file \ - || die "failed to symlink $file" -done + for file in $gnulib_files; do + symlink_to_dir "$GNULIB_SRCDIR" $file \ + || die "failed to symlink $file" + done +fi bootstrap_post_import_hook \ || die "bootstrap_post_import_hook failed" @@ -1020,7 +1062,7 @@ bootstrap_epilogue echo "$0: done. Now you can run './configure'." # Local variables: -# eval: (add-hook 'write-file-hooks 'time-stamp) +# eval: (add-hook 'before-save-hook 'time-stamp) # time-stamp-start: "scriptversion=" # time-stamp-format: "%:y-%02m-%02d.%02H" # time-stamp-time-zone: "UTC0" diff --git a/gnulib b/gnulib index 7e7c5c7..8cb3181 160000 --- a/gnulib +++ b/gnulib @@ -1 +1 @@ -Subproject commit 7e7c5c7952b7de1e33c8eba891cc425d5d8d7803 +Subproject commit 8cb31815a5093ae1c45ab00c592fc58ac75c9e1e diff --git a/lib/.gitignore b/lib/.gitignore index 6b1ea36..cd11296 100644 --- a/lib/.gitignore +++ b/lib/.gitignore @@ -113,7 +113,6 @@ /malloc.c /malloca.c /malloca.h -/malloca.valgrind /math.c /math.h /math.in.h diff --git a/tests/init.sh b/tests/init.sh index 3a0e63c..93d14f5 100644 --- a/tests/init.sh +++ b/tests/init.sh @@ -527,7 +527,7 @@ rand_bytes_ () fi n_plus_50_=`expr $n_ + 50` - cmds_='date; date +%N; free; who -a; w; ps auxww; ps ef; netstat -n' + cmds_='date; date +%N; free; who -a; w; ps auxww; ps -ef' data_=` (eval "$cmds_") 2>&1 | gzip ` # Ensure that $data_ has length at least 50+$n_ -- 2.18.0
Jim Meyering <jim <at> meyering.net>
:Jim Meyering <jim <at> meyering.net>
:Message #10 received at 32025-done <at> debbugs.gnu.org (full text, mbox):
From: Jim Meyering <jim <at> meyering.net> To: 32025-done <at> debbugs.gnu.org Subject: Re: bug#32025: Acknowledgement (two build/maint-related patches) Date: Sun, 1 Jul 2018 09:30:43 -0700
tags 32025 notabug stop
Debbugs Internal Request <help-debbugs <at> gnu.org>
to internal_control <at> debbugs.gnu.org
.
(Mon, 30 Jul 2018 11:24:04 GMT) Full text and rfc822 format available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.