From 67ddb93bd166d5f98252a533d1a4538e5649af50 Mon Sep 17 00:00:00 2001 From: Patrick J Volkerding Date: Thu, 6 Sep 2018 23:22:45 +0000 Subject: Thu Sep 6 23:22:45 UTC 2018 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. --- source/a/pkgtools/pkgtools.SlackBuild | 2 +- source/a/pkgtools/scripts/installpkg | 33 +-------- source/a/tar/tar.SlackBuild | 23 ++++++- source/a/tar/tar.nolonezero.diff | 31 +++++---- source/ap/ghostscript/ghostscript.SlackBuild | 5 +- .../ghostscript.fix.filter.failed.bc3df077.patch | 80 ++++++++++++++++++++++ source/d/gdb/gdb.SlackBuild | 23 ++++++- source/d/indent/indent.SlackBuild | 20 +++--- 8 files changed, 158 insertions(+), 59 deletions(-) create mode 100644 source/ap/ghostscript/ghostscript.fix.filter.failed.bc3df077.patch (limited to 'source') diff --git a/source/a/pkgtools/pkgtools.SlackBuild b/source/a/pkgtools/pkgtools.SlackBuild index 18451d5fe..1b0614125 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 9e75ef030..2180016f5 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 86d97153f..3b21c7a8b 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 c47e067f6..529679724 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 (¤t_header, ¤t_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; diff --git a/source/ap/ghostscript/ghostscript.SlackBuild b/source/ap/ghostscript/ghostscript.SlackBuild index 0e113a3a0..52d85b3d6 100755 --- a/source/ap/ghostscript/ghostscript.SlackBuild +++ b/source/ap/ghostscript/ghostscript.SlackBuild @@ -27,7 +27,7 @@ if [ -r gnu-ghostscript-*.tar.?z ]; then SRCPREFIX="gnu-" fi VERSION=${VERSION:-$(echo $SRCPREFIX$PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -76,6 +76,9 @@ cd ${SRCPREFIX}${PKGNAM}-$VERSION || exit 1 # Remove unmaintained garbage: rm -rf freetype jpeg lcms2 libpng libtiff png tiff zlib +# Upstream patch to fix "Filter failed." issue: +zcat $CWD/ghostscript.fix.filter.failed.bc3df077.patch.gz | patch -p1 --verbose || exit 1 + # Regenerate ./configure. Needed if patched, or to prevent libtool mismatch. autoreconf --force --install ( cd jbig2dec ; autoreconf --force --install ) diff --git a/source/ap/ghostscript/ghostscript.fix.filter.failed.bc3df077.patch b/source/ap/ghostscript/ghostscript.fix.filter.failed.bc3df077.patch new file mode 100644 index 000000000..7193b8f52 --- /dev/null +++ b/source/ap/ghostscript/ghostscript.fix.filter.failed.bc3df077.patch @@ -0,0 +1,80 @@ +From bc3df0773fccf4b4906a3e59652ad646ea0fee91 Mon Sep 17 00:00:00 2001 +From: Chris Liddell +Date: Tue, 4 Sep 2018 17:01:08 +0100 +Subject: [PATCH] For ICC profile validation, have cups id iteself as DeviceN + +Give the range of color spaces and models that cups supports, we can't +reasonably provide (or expect others to provide) output ICC profiles for all +cases. + +For the purpose of profile validation, have it claim to be DeviceN and benefit +from the extra tolerance in profiles allowed for that class of device. +--- + cups/gdevcups.c | 15 ++++++++++++++- + devices/devs.mak | 2 +- + 2 files changed, 15 insertions(+), 2 deletions(-) + +diff --git a/cups/gdevcups.c b/cups/gdevcups.c +index c1574f8..decd8eb 100644 +--- a/cups/gdevcups.c ++++ b/cups/gdevcups.c +@@ -70,6 +70,7 @@ + #include "std.h" /* to stop stdlib.h redefining types */ + #include "gdevprn.h" + #include "gsparam.h" ++#include "gxdevsop.h" + #include "arch.h" + #include "gsicc_manage.h" + +@@ -252,6 +253,7 @@ private int cups_put_params(gx_device *, gs_param_list *); + private int cups_set_color_info(gx_device *); + private dev_proc_sync_output(cups_sync_output); + private prn_dev_proc_get_space_params(cups_get_space_params); ++private int cups_spec_op(gx_device *dev_, int op, void *data, int datasize); + + #ifdef dev_t_proc_encode_color + private cm_map_proc_gray(cups_map_gray); +@@ -392,7 +394,7 @@ private gx_device_procs cups_procs = + NULL, /* push_transparency_state */ + NULL, /* pop_transparency_state */ + NULL, /* put_image */ +- ++ cups_spec_op + }; + + #define prn_device_body_copies(dtype, procs, dname, w10, h10, xdpi, ydpi, lo, to, lm, bm, rm, tm, ncomp, depth, mg, mc, dg, dc, print_pages)\ +@@ -5927,6 +5929,17 @@ cups_print_planar(gx_device_printer *pdev, + return (0); + } + ++private int ++cups_spec_op(gx_device *dev_, int op, void *data, int datasize) ++{ ++ /* Although not strictly DeviceN, the range of color models ++ this device supports presets similar issues. ++ */ ++ if (op == gxdso_supports_devn) { ++ return true; ++ } ++ return gx_default_dev_spec_op(dev_, op, data, datasize); ++} + + /* + */ +diff --git a/devices/devs.mak b/devices/devs.mak +index c85604c..e8654e5 100644 +--- a/devices/devs.mak ++++ b/devices/devs.mak +@@ -1860,7 +1860,7 @@ $(DD)pwgraster.dev : $(lcups_dev) $(lcupsi_dev) $(cups_) $(GDEV) \ + $(ADDMOD) $(DD)pwgraster -include $(lcups_dev) + $(ADDMOD) $(DD)pwgraster -include $(lcupsi_dev) + +-$(DEVOBJ)gdevcups.$(OBJ) : $(LCUPSSRCDIR)$(D)gdevcups.c $(std_h) $(DEVS_MAK) $(MAKEDIRS) ++$(DEVOBJ)gdevcups.$(OBJ) : $(LCUPSSRCDIR)$(D)gdevcups.c $(std_h) $(gxdevsop_h) $(DEVS_MAK) $(MAKEDIRS) + $(CUPS_CC) $(DEVO_)gdevcups.$(OBJ) $(C_) $(CFLAGS) $(CUPSCFLAGS) \ + $(I_)$(GLSRC) \ + $(I_)$(DEVSRC) \ +-- +2.9.1 + + diff --git a/source/d/gdb/gdb.SlackBuild b/source/d/gdb/gdb.SlackBuild index c45c15480..41b0fd5d7 100755 --- a/source/d/gdb/gdb.SlackBuild +++ b/source/d/gdb/gdb.SlackBuild @@ -55,6 +55,27 @@ fi TMP=${TMP:-/tmp} PKG=$TMP/package-gdb +# 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 @@ -70,7 +91,7 @@ find . \ -exec chmod 644 {} \; # Currently broken in this version, but keep trying: -if [ "$VERSION" = "8.0.1" -o "$VERSION" = "8.1" -o "$VERSION" = "8.1.1" ]; then +if [ "$VERSION" = "8.0.1" -o "$VERSION" = "8.1" -o "$VERSION" = "8.1.1" -o "$VERSION" = "8.2" ]; then GUILE_OPTION="--without-guile" else # Might as well try it to see if it compiles this time: diff --git a/source/d/indent/indent.SlackBuild b/source/d/indent/indent.SlackBuild index 169bcb97e..9dd73c594 100755 --- a/source/d/indent/indent.SlackBuild +++ b/source/d/indent/indent.SlackBuild @@ -23,8 +23,8 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=indent -VERSION=${VERSION:-2.2.10} -BUILD=${BUILD:-2} +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -65,7 +65,7 @@ mkdir -p $TMP $PKG cd $TMP rm -rf indent-$VERSION -tar xvf $CWD/indent-$VERSION.tar.bz2 || exit 1 +tar xvf $CWD/indent-$VERSION.tar.?z || exit 1 cd indent-$VERSION || exit 1 chown -R root:root . find . \ @@ -90,13 +90,13 @@ CXXFLAGS="$SLKCFLAGS" \ make $NUMJOBS || make || exit 1 make install DESTDIR=$PKG || exit 1 -# I'm not sure why this man page fails, but... -if find $PKG -type f -size 0c -name indent.1 ; then - ( cd man - ./texinfo2man ./indent.1.in ./../doc/indent.texinfo > indent.1 - cat indent.1 > $PKG/usr/man/man1/indent.1 - ) -fi +## I'm not sure why this man page fails, but... +#if find $PKG -type f -size 0c -name indent.1 ; then +# ( cd man +# ./texinfo2man ./indent.1.in ./../doc/indent.texinfo > indent.1 +# cat indent.1 > $PKG/usr/man/man1/indent.1 +# ) +#fi # Strip binaries and libraries: find $PKG | xargs file | grep -e "executable" -e "shared object" \ -- cgit v1.2.3