summaryrefslogtreecommitdiff
path: root/source/a
diff options
context:
space:
mode:
authorPatrick J Volkerding <volkerdi@slackware.com>2018-09-06 23:22:45 +0000
committerEric Hameleers <alien@slackware.com>2018-09-07 09:00:31 +0200
commit67ddb93bd166d5f98252a533d1a4538e5649af50 (patch)
treefc58a1f76a436f040ce4f8843a667c9cade55325 /source/a
parentce9883adcab118cd8a0ae45076486ebf643fe2d5 (diff)
downloadcurrent-67ddb93bd166d5f98252a533d1a4538e5649af50.tar.gz
Thu Sep 6 23:22:45 UTC 201820180906232245
a/pkgtools-15.0-noarch-23.txz: Rebuilt. Removed stray cat and loop kludges for lack of reported size, since this is fixed now in tar. a/tar-1.30-x86_64-3.txz: Rebuilt. Fixed a bug in the nolonezero patch that was evidently causing all of the issues in installpkg that we'd been kludging around (e.g. the "stray cat"). Thanks *very* much to NonNonBa for the patch, and to SeB for the initial analysis of the problem. ap/ghostscript-9.24-x86_64-2.txz: Rebuilt. Applied upstream patch to fix "Filter failed". Thanks to th_r and bamunds. d/gdb-8.2-x86_64-1.txz: Upgraded. d/indent-2.2.12-x86_64-1.txz: Upgraded. isolinux/initrd.img: Rebuilt. usb-and-pxe-installers/usbboot.img: Rebuilt.
Diffstat (limited to 'source/a')
-rwxr-xr-xsource/a/pkgtools/pkgtools.SlackBuild2
-rw-r--r--source/a/pkgtools/scripts/installpkg33
-rwxr-xr-xsource/a/tar/tar.SlackBuild23
-rw-r--r--source/a/tar/tar.nolonezero.diff31
4 files changed, 42 insertions, 47 deletions
diff --git a/source/a/pkgtools/pkgtools.SlackBuild b/source/a/pkgtools/pkgtools.SlackBuild
index 18451d5f..1b061412 100755
--- a/source/a/pkgtools/pkgtools.SlackBuild
+++ b/source/a/pkgtools/pkgtools.SlackBuild
@@ -30,7 +30,7 @@ PKGNAM=pkgtools
# *** UPDATE THESE WITH EACH BUILD:
VERSION=15.0
ARCH=${ARCH:-noarch}
-BUILD=${BUILD:-22}
+BUILD=${BUILD:-23}
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
diff --git a/source/a/pkgtools/scripts/installpkg b/source/a/pkgtools/scripts/installpkg
index 9e75ef03..2180016f 100644
--- a/source/a/pkgtools/scripts/installpkg
+++ b/source/a/pkgtools/scripts/installpkg
@@ -491,30 +491,7 @@ for package in $* ; do
if [ "$MODE" = "install" ]; then
echo "Verifying package $(basename $package)."
fi
- # The stray cat reduces the frequency of the lack of reported size.
- # If it still fails, we hit it with a bigger hammer down below.
- #
- # SeB's proposed fix for this. Untested.
- #cat $package | $packagecompression -dc | LC_ALL=C dd 2> $TMP/tmpsize${MCOOKIE} | ( tar tf - ; cat > /dev/null ) 2> /dev/null 1> $TMP/tmplist${MCOOKIE}
- # Some background info from SeB's email:
- # As you can see, when dd doesn't print anything, it returns 141,
- # which means it has got a SIGPIPE. The problem is hence some tar
- # archives cause tar to exit before having emptied stdin. That's
- # why adding a cat before tar sometimes makes things better (tar
- # causes it to get a SIGPIPE some ms before it causes itself dd to
- # get one)
- #
- # A fix is then to replace:
- #
- # cat ... | $decompressor ... | ... dd ... | cat ... | tar tf - >...
- #
- # with:
- #
- # $decompressor ... | ... dd ... | ( tar tf -; cat >/dev/null ) >...
- #
- # This way the last cat will either exit because there's nothing on
- # stdin or purge this one properly so dd gets the EOF it needs.
- cat $package | $packagecompression -dc | LC_ALL=C dd 2> $TMP/tmpsize${MCOOKIE} | cat 2> /dev/null | tar tf - 2> /dev/null 1> $TMP/tmplist${MCOOKIE}
+ cat $package | $packagecompression -dc | LC_ALL=C dd 2> $TMP/tmpsize${MCOOKIE} | tar tf - 2> /dev/null 1> $TMP/tmplist${MCOOKIE}
TARERROR=$?
if [ ! "$TARERROR" = "0" ]; then
EXITSTATUS=1 # tar file corrupt
@@ -525,14 +502,6 @@ for package in $* ; do
continue
fi
UNCOMPRESSED="$(cat $TMP/tmpsize${MCOOKIE} | tail -n 1 | cut -f 1 -d ' ' | numfmt --to=iec)"
- # Weird bug "fix". Sometimes we get no uncompressed size (this started when we
- # moved away from tar-1.13, but I don't see what that could have to do with
- # it). So, if we have no uncompressed size here, demand it in this loop.
- # Hopefully the bug is not weird enough to make this an infinite loop. :/
- while [ "$UNCOMPRESSED" = "" ]; do
- cat $package | $packagecompression -dc | LC_ALL=C dd 1> /dev/null 2> $TMP/tmpsize${MCOOKIE}
- UNCOMPRESSED="$(cat $TMP/tmpsize${MCOOKIE} | tail -n 1 | cut -f 1 -d ' ' | numfmt --to=iec)"
- done
rm -f $TMP/tmpsize${MCOOKIE}
# If we still don't have a package description, look inside the package.
diff --git a/source/a/tar/tar.SlackBuild b/source/a/tar/tar.SlackBuild
index 86d97153..3b21c7a8 100755
--- a/source/a/tar/tar.SlackBuild
+++ b/source/a/tar/tar.SlackBuild
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=tar
VERSION=1.30
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
NUMJOBS=${NUMJOBS:--j7}
@@ -50,6 +50,27 @@ fi
TMP=${TMP:-/tmp}
PKG=$TMP/package-tar
+# Don't use icecream:
+for path_element in $(echo $PATH | tr ':' '\n') ; do
+ if [ "$path_element" = "/usr/libexec/icecc/bin" ]; then
+ continue
+ fi
+ if [ -z "$REVERSE_PATH" ]; then
+ REVERSE_PATH="$path_element"
+ else
+ REVERSE_PATH="${REVERSE_PATH}:$path_element"
+ fi
+done
+for path_element in $(echo $REVERSE_PATH | tr ':' '\n') ; do
+ if [ -z "$FORWARD_PATH" ]; then
+ FORWARD_PATH="$path_element"
+ else
+ FORWARD_PATH="${FORWARD_PATH}:$path_element"
+ fi
+done
+PATH=$FORWARD_PATH
+unset FORWARD_PATH REVERSE_PATH
+
rm -rf $PKG
mkdir -p $TMP $PKG
diff --git a/source/a/tar/tar.nolonezero.diff b/source/a/tar/tar.nolonezero.diff
index c47e067f..52967972 100644
--- a/source/a/tar/tar.nolonezero.diff
+++ b/source/a/tar/tar.nolonezero.diff
@@ -1,26 +1,31 @@
-diff -Nur tar-1.27.1.orig/src/list.c tar-1.27.1/src/list.c
---- tar-1.27.1.orig/src/list.c 2013-03-14 15:18:10.000000000 -0500
-+++ tar-1.27.1/src/list.c 2014-07-26 20:42:16.613004098 -0500
-@@ -211,6 +211,14 @@
+--- ./src/list.c.orig 2017-12-16 15:23:12.000000000 -0600
++++ ./src/list.c 2018-09-06 16:51:52.982740004 -0500
+@@ -242,15 +242,22 @@
if (!ignore_zeros_option)
{
+- char buf[UINTMAX_STRSIZE_BOUND];
+
-+ /*
++ /*
+ * According to POSIX tar specs, this is wrong, but on the web
+ * there are some tar specs that can trigger this, and some tar
+ * implementations create tars according to that spec. For now,
+ * let's not be pedantic about issuing the warning.
-+ */
-+#if 0
- char buf[UINTMAX_STRSIZE_BOUND];
++ *
++ * char buf[UINTMAX_STRSIZE_BOUND]; */
status = read_header (&current_header, &current_stat_info,
-@@ -220,6 +228,7 @@
- WARNOPT (WARN_ALONE_ZERO_BLOCK,
- (0, 0, _("A lone zero block at %s"),
- STRINGIFY_BIGINT (current_block_ordinal (), buf)));
-+#endif
+ read_header_auto);
+- if (status == HEADER_ZERO_BLOCK)
+- break;
+- WARNOPT (WARN_ALONE_ZERO_BLOCK,
+- (0, 0, _("A lone zero block at %s"),
+- STRINGIFY_BIGINT (current_block_ordinal (), buf)));
++ /* if (status == HEADER_ZERO_BLOCK)
++ * break;
++ * WARNOPT (WARN_ALONE_ZERO_BLOCK,
++ * (0, 0, _("A lone zero block at %s"),
++ * STRINGIFY_BIGINT (current_block_ordinal (), buf))); */
break;
}
status = prev_status;