diff options
Diffstat (limited to 'source/a')
362 files changed, 15106 insertions, 12561 deletions
diff --git a/source/a/aaa_base/aaa_base.SlackBuild b/source/a/aaa_base/aaa_base.SlackBuild index eb67560f..487542da 100755 --- a/source/a/aaa_base/aaa_base.SlackBuild +++ b/source/a/aaa_base/aaa_base.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -20,13 +20,13 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=14.1 -BUILD=${BUILD:-1} +VERSION=14.2 +BUILD=${BUILD:-2} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; diff --git a/source/a/aaa_base/os-release b/source/a/aaa_base/os-release index 2f64cbf7..de8afe3b 100644 --- a/source/a/aaa_base/os-release +++ b/source/a/aaa_base/os-release @@ -1,10 +1,10 @@ NAME=Slackware -VERSION="14.1" +VERSION="14.2" ID=slackware -VERSION_ID=14.1 -PRETTY_NAME="Slackware 14.1" +VERSION_ID=14.2 +PRETTY_NAME="Slackware 14.2" ANSI_COLOR="0;34" -CPE_NAME="cpe:/o:slackware:slackware_linux:14.1" +CPE_NAME="cpe:/o:slackware:slackware_linux:14.2" HOME_URL="http://slackware.com/" SUPPORT_URL="http://www.linuxquestions.org/questions/slackware-14/" BUG_REPORT_URL="http://www.linuxquestions.org/questions/slackware-14/" diff --git a/source/a/aaa_base/slackware-version b/source/a/aaa_base/slackware-version index 1147d297..7921e740 100644 --- a/source/a/aaa_base/slackware-version +++ b/source/a/aaa_base/slackware-version @@ -1 +1 @@ -Slackware 14.1 +Slackware 14.2 diff --git a/source/a/aaa_elflibs/aaa_elflibs.SlackBuild b/source/a/aaa_elflibs/aaa_elflibs.SlackBuild index 8fd9f3fe..f71a2374 100755 --- a/source/a/aaa_elflibs/aaa_elflibs.SlackBuild +++ b/source/a/aaa_elflibs/aaa_elflibs.SlackBuild @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2015 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -21,13 +21,13 @@ PKGNAM=aaa_elflibs -VERSION=${VERSION:-14.1} -BUILD=${BUILD:-3} +VERSION=${VERSION:-14.2} +BUILD=${BUILD:-23} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -46,8 +46,13 @@ PKG=$TMP/package-${PKGNAM} rm -rf $PKG mkdir -p $TMP $PKG +if [ -x /sbin/ldconfig ]; then + /sbin/ldconfig +fi + cd $PKG cat $CWD/symlinks-to-tracked-libs \ + | grep -v "^#" | grep -v "^$" \ | sed -e "s#^/lib/#/lib${LIBDIRSUFFIX}/#" \ -e "s#^/usr/lib/#/usr/lib${LIBDIRSUFFIX}/#" \ | while read library ; do @@ -61,7 +66,39 @@ cat $CWD/symlinks-to-tracked-libs \ cp -a $(dirname $library)/$(readlink $library) . ) done + cat $CWD/tracked-files \ + | grep -v "^#" | grep -v "^$" \ + | sed -e "s#^/lib/#/lib${LIBDIRSUFFIX}/#" \ + -e "s#^/usr/lib/#/usr/lib${LIBDIRSUFFIX}/#" \ + | while read library ; do + ( [ ! -e $library ] && continue + echo "Adding $library" + mkdir -p $(dirname $library | cut -b2- ) + cd $(dirname $library | cut -b2- ) + rm -f $(basename $library) + cp -a $library . + ) +done + +cat $CWD/symlinks-to-tracked-libs-tmp \ + | grep -v "^#" | grep -v "^$" \ + | sed -e "s#^/lib/#/lib${LIBDIRSUFFIX}/#" \ + -e "s#^/usr/lib/#/usr/lib${LIBDIRSUFFIX}/#" \ + | while read library ; do + ( [ ! -e $library ] && continue + echo "Adding $library" + mkdir -p $(dirname $library | cut -b2- ) + cd $(dirname $library | cut -b2- ) + rm -f $(basename $library) + cp -a $library . + rm -f $(readlink $library) + cp -a $(dirname $library)/$(readlink $library) . + ) +done + +cat $CWD/tracked-files-tmp \ + | grep -v "^#" | grep -v "^$" \ | sed -e "s#^/lib/#/lib${LIBDIRSUFFIX}/#" \ -e "s#^/usr/lib/#/usr/lib${LIBDIRSUFFIX}/#" \ | while read library ; do diff --git a/source/a/aaa_elflibs/display_orphans.sh b/source/a/aaa_elflibs/display_orphans.sh new file mode 100755 index 00000000..32bd570b --- /dev/null +++ b/source/a/aaa_elflibs/display_orphans.sh @@ -0,0 +1,44 @@ +#!/bin/sh +# +# Copyright 2015 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# Show libraries that are only present in the aaa_elflibs that is currently +# installed on the system. + +cleanup() { + rm -r $TMPDIR +} + +trap 'cleanup' 2 14 15 # trap CTRL+C and kill + +TMPDIR="$(mktemp -d /tmp/find-aaaelfliborphans.XXXXXX)" + +cp -a /var/log/packages/* $TMPDIR +rm -f $TMPDIR/aaa_elflibs-* +cat /var/log/packages/aaa_elflibs-* | grep -v -e PACKAGE -e aaa_elflibs: -e FILE -e '^\./$' -e install/ | grep -v '/$' | while read file ; do + if ! grep -q $file $TMPDIR/* ; then + echo $file + fi +done + +cleanup + diff --git a/source/a/aaa_elflibs/slack-desc b/source/a/aaa_elflibs/slack-desc index 29a6c8fb..86996375 100644 --- a/source/a/aaa_elflibs/slack-desc +++ b/source/a/aaa_elflibs/slack-desc @@ -12,8 +12,8 @@ aaa_elflibs: This is a collection of shared libraries needed to run Linux progra aaa_elflibs: ELF (Executable and Linking Format) is the standard Linux binary aaa_elflibs: format. These libraries are gathered from other Slackware packages aaa_elflibs: and are intended to give a fairly complete initial set of libraries. -aaa_elflibs: This package should be not upgraded or reinstalled (it could copy -aaa_elflibs: over newer library versions). +aaa_elflibs: +aaa_elflibs: aaa_elflibs: aaa_elflibs: aaa_elflibs: diff --git a/source/a/aaa_elflibs/symlinks-to-tracked-libs b/source/a/aaa_elflibs/symlinks-to-tracked-libs index f19a6b9e..a8ac5e2f 100644 --- a/source/a/aaa_elflibs/symlinks-to-tracked-libs +++ b/source/a/aaa_elflibs/symlinks-to-tracked-libs @@ -1,3 +1,6 @@ +# This file lists shared library symlinks for libraries we would +# like to keep copies of in the aaa_symlinks package. + /lib/libacl.so.1 /lib/libattr.so.1 /lib/libbz2.so.1 @@ -5,60 +8,61 @@ /lib/libcap.so.2 /lib/libdm.so.0 /lib/libfuse.so.2 -/lib/libgpm.so.1 /lib/libgpm.so.2 /lib/liblzma.so.5 /lib/libncurses.so.5 /lib/libncursesw.so.5 +/lib/libpcre.so.1 +/lib/libpcreposix.so.0 /lib/libpopt.so.0 /lib/libsysfs.so.2 /lib/libtermcap.so.2 /lib/libz.so.1 /usr/lib/libasound.so.2 -/usr/lib/libcurl.so.2 -/usr/lib/libcurl.so.3 /usr/lib/libcurl.so.4 -/usr/lib/libelf.so.0 -/usr/lib/libexpat.so.0 +/usr/lib/libelf.so.1 /usr/lib/libexpat.so.1 /usr/lib/libform.so.5 /usr/lib/libformw.so.5 -/usr/lib/libfreetype.so.6 -/usr/lib/libgdbm.so.2 /usr/lib/libgdbm.so.3 +/usr/lib/libgdbm.so.4 /usr/lib/libglib-2.0.so.0 /usr/lib/libgmodule-2.0.so.0 -/usr/lib/libgmp.so.3 /usr/lib/libgmp.so.10 -/usr/lib/libgmpxx.so.3 /usr/lib/libgmpxx.so.4 /usr/lib/libgobject-2.0.so.0 /usr/lib/libgthread-2.0.so.0 /usr/lib/libhistory.so.5 +/usr/lib/libhistory.so.6 /usr/lib/libidn.so.11 /usr/lib/libjpeg.so.62 +/usr/lib/libturbojpeg.so.0 /usr/lib/libjpeg.so.8 /usr/lib/liblber-2.4.so.2 /usr/lib/libldap-2.4.so.2 -/usr/lib/libltdl.so.3 /usr/lib/libltdl.so.7 /usr/lib/libmenu.so.5 /usr/lib/libmenuw.so.5 /usr/lib/libmm.so.14 -/usr/lib/libmpfr.so.1 +/usr/lib/libmpfr.so.4 /usr/lib/libpanel.so.5 /usr/lib/libpanelw.so.5 -/usr/lib/libpcre.so.0 -/usr/lib/libpcre.so.1 -/usr/lib/libpcreposix.so.0 -/usr/lib/libpng.so.3 /usr/lib/libpng.so.14 -/usr/lib/libpng12.so.0 /usr/lib/libpng14.so.14 +/usr/lib/libpng16.so.16 /usr/lib/libreadline.so.5 +/usr/lib/libreadline.so.6 +/usr/lib/libsigsegv.so.2 /usr/lib/libslang.so.1 /usr/lib/libslang.so.2 +/usr/lib/libssh2.so.1 +/usr/lib/libstdc++.so.5 +/usr/lib/libstdc++.so.6 +/usr/lib/libtdb.so.1 /usr/lib/libtiff.so.3 +/usr/lib/libtiffxx.so.3 +/usr/lib/libtiffxx.so.5 +/usr/lib/libtiff.so.5 /usr/lib/libusb-0.1.so.4 /usr/lib/libusb-1.0.so.0 /usr/lib/libvga.so.1 diff --git a/source/a/aaa_elflibs/symlinks-to-tracked-libs-tmp b/source/a/aaa_elflibs/symlinks-to-tracked-libs-tmp new file mode 100644 index 00000000..13323985 --- /dev/null +++ b/source/a/aaa_elflibs/symlinks-to-tracked-libs-tmp @@ -0,0 +1,7 @@ +# This file lists shared library symlinks for libraries we would +# like to keep copies of temporarily until we can recompile +# everything that's still using them. Once that happens, they'll +# be dropped from this package. + +/lib/libudev.so.0 +/lib/libudev.so.1 diff --git a/source/a/aaa_elflibs/tracked-files b/source/a/aaa_elflibs/tracked-files index 16b731ba..f112d04d 100644 --- a/source/a/aaa_elflibs/tracked-files +++ b/source/a/aaa_elflibs/tracked-files @@ -1,5 +1,7 @@ -/lib/libdb-3.1.so -/lib/libdb-3.3.so +# This is a list of files (usually libraries) that we want to include +# in aaa_elflibs but which don't have a shared library symlink pointing +# at them. + /lib/libdb-4.2.so /lib/libdb-4.4.so /lib/libdevmapper.so.1.02 diff --git a/source/a/aaa_elflibs/tracked-files-tmp b/source/a/aaa_elflibs/tracked-files-tmp new file mode 100644 index 00000000..58b6c36d --- /dev/null +++ b/source/a/aaa_elflibs/tracked-files-tmp @@ -0,0 +1,5 @@ +# This is a list of files (usually libraries) that we want to keep +# copies of temporarily until we can recompile everything that's +# still using them. Once that happens, they'll be dropped from +# this package. + diff --git a/source/a/aaa_terminfo/aaa_terminfo.SlackBuild b/source/a/aaa_terminfo/aaa_terminfo.SlackBuild index 291215a9..c749893f 100755 --- a/source/a/aaa_terminfo/aaa_terminfo.SlackBuild +++ b/source/a/aaa_terminfo/aaa_terminfo.SlackBuild @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright 2006, 2007, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2006, 2007, 2009, 2010, 2011, 2015 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,7 +22,7 @@ PKGNAM=aaa_terminfo # Note the version of ncurses in use: -VERSION=${VERSION:-5.8} +VERSION=${VERSION:-5.9} BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: diff --git a/source/a/acl/acl.SlackBuild b/source/a/acl/acl.SlackBuild index a74fb355..24df7078 100755 --- a/source/a/acl/acl.SlackBuild +++ b/source/a/acl/acl.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2005-2012 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2005-2015 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -21,7 +21,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PKGNAM=acl -VERSION=2.2.51 +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 4- -d . | rev | cut -f 2 -d -)} BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: @@ -60,13 +60,6 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -# Add DESTDIR support and improve docs install location: -zcat $CWD/acl.destdir.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit - -# Make sure you have the same version of autoconf as the -# developers did... ;-) -autoconf - ./configure \ --prefix=/ \ --exec-prefix=/ \ @@ -76,15 +69,15 @@ autoconf --libexecdir=/usr/lib${LIBDIRSUFFIX} \ --includedir=/usr/include \ --mandir=/usr/man \ - --datadir=/usr/share + --datadir=/usr/share \ + --docdir=/usr/doc/acl-$VERSION \ + --build=$ARCH-slackware-linux -make || exit 1 -make install DESTDIR=$PKG -make install-dev DESTDIR=$PKG -make install-lib DESTDIR=$PKG +make PKG_DOC_DIR=/usr/doc/acl-$VERSION || exit 1 +make install PKG_DOC_DIR=/usr/doc/acl-$VERSION DESTDIR=$PKG +make install-dev PKG_DOC_DIR=/usr/doc/acl-$VERSION DESTDIR=$PKG +make install-lib PKG_DOC_DIR=/usr/doc/acl-$VERSION DESTDIR=$PKG -mv $PKG/usr/share/doc $PKG/usr -( cd $PKG/usr/doc ; mv acl acl-$VERSION ) #It would be nice to keep the same timestamps that the files have in the source: cp -a \ README doc/COPYING* doc/PORTING \ diff --git a/source/a/acl/acl.destdir.diff b/source/a/acl/acl.destdir.diff deleted file mode 100644 index aa4b42e8..00000000 --- a/source/a/acl/acl.destdir.diff +++ /dev/null @@ -1,36 +0,0 @@ ---- ./include/builddefs.in.orig 2011-04-08 11:55:52.000000000 -0500 -+++ ./include/builddefs.in 2011-04-18 13:41:25.000000000 -0500 -@@ -28,14 +28,14 @@ - PKG_VERSION = @pkg_version@ - PKG_PLATFORM = @pkg_platform@ - PKG_DISTRIBUTION= @pkg_distribution@ --PKG_BIN_DIR = @bindir@ --PKG_SBIN_DIR = @sbindir@ --PKG_LIB_DIR = @libdir@@libdirsuffix@ --PKG_DEVLIB_DIR = @libexecdir@@libdirsuffix@ --PKG_INC_DIR = @includedir@ --PKG_MAN_DIR = @mandir@ --PKG_DOC_DIR = @datadir@/doc/@pkg_name@ --PKG_LOCALE_DIR = @datadir@/locale -+PKG_BIN_DIR = $(DESTDIR)@bindir@ -+PKG_SBIN_DIR = $(DESTDIR)@sbindir@ -+PKG_LIB_DIR = $(DESTDIR)@libdir@@libdirsuffix@ -+PKG_DEVLIB_DIR = $(DESTDIR)@libexecdir@@libdirsuffix@ -+PKG_INC_DIR = $(DESTDIR)@includedir@ -+PKG_MAN_DIR = $(DESTDIR)@mandir@ -+PKG_DOC_DIR = $(DESTDIR)@datadir@/doc/@pkg_name@ -+PKG_LOCALE_DIR = $(DESTDIR)@datadir@/locale - - CC = @cc@ - AWK = @awk@ ---- ./include/buildmacros.orig 2011-04-08 11:55:52.000000000 -0500 -+++ ./include/buildmacros 2011-04-18 13:41:54.000000000 -0500 -@@ -40,7 +40,7 @@ - $(LFILES:.l=.o) \ - $(YFILES:%.y=%.tab.o) - --INSTALL = $(TOPDIR)/include/install-sh -o $(PKG_USER) -g $(PKG_GROUP) -+INSTALL = $(TOPDIR)/include/install-sh - - SHELL = /bin/sh - IMAGES_DIR = $(TOPDIR)/all-images diff --git a/source/a/acpid/acpid.SlackBuild b/source/a/acpid/acpid.SlackBuild index 0b761d78..ce060f27 100755 --- a/source/a/acpid/acpid.SlackBuild +++ b/source/a/acpid/acpid.SlackBuild @@ -28,7 +28,7 @@ BUILD=${BUILD:-1} MARCH=$( uname -m ) if [ -z "$ARCH" ]; then case "$MARCH" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; armv7hl) export ARCH=$MARCH ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: @@ -42,8 +42,8 @@ PKG=$TMP/package-acpid NUMJOBS=${NUMJOBS:--j8} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" diff --git a/source/a/acpid/acpid.url b/source/a/acpid/acpid.url new file mode 100644 index 00000000..a49b7399 --- /dev/null +++ b/source/a/acpid/acpid.url @@ -0,0 +1 @@ +http://downloads.sourceforge.net/project/acpid2/acpid-$VERSION.tar.xz diff --git a/source/a/apmd/apmd.SlackBuild b/source/a/apmd/apmd.SlackBuild deleted file mode 100755 index b17ddf36..00000000 --- a/source/a/apmd/apmd.SlackBuild +++ /dev/null @@ -1,114 +0,0 @@ -#!/bin/sh - -# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -VERSION=${VERSION:-3.2.2} -BUILD=${BUILD:-3} - -# Automatically determine the architecture we're building on: -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) export ARCH=i486 ;; - arm*) export ARCH=arm ;; - # Unless $ARCH is already set, use uname -m for all other archs: - *) export ARCH=$( uname -m ) ;; - esac -fi - -NUMJOBS=${NUMJOBS:-" -j7 "} - -CWD=$(pwd) -TMP=${TMP:-/tmp} -PKG=$TMP/package-apmd - -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" -fi - -rm -rf $PKG -mkdir -p $TMP $PKG - -cd $TMP -rm -rf apmd-$VERSION -tar xvf $CWD/apmd-$VERSION.tar.bz2 || exit 1 -cd apmd-$VERSION - -if [ "$ARCH" = "x86_64" ]; then - sed -i -e "s#/lib#/lib64#" Makefile -fi - -chown -R root:root . -find . \ - \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ - -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ - -exec chmod 644 {} \; - -CFLAGS="$SLKCFLAGS" make $NUMJOBS || exit 1 -CFLAGS="$SLKCFLAGS" make install DESTDIR=$PKG - -( cd xbattery - cp ../.libs/libapm.a .. - xmkmf - make -j3 -) - -mkdir -p $PKG/usr/bin -cat xapm > $PKG/usr/bin/xapm -cat xbattery/xbattery > $PKG/usr/bin/xbattery -chmod 755 $PKG/usr/bin/{xapm,xbattery} - -( cd $PKG - find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null - find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null -) - -mkdir -p $PKG/usr/man/man1 -cat xbattery/xbattery.man | gzip -9c > $PKG/usr/man/man1/xbattery.1.gz -for page in apm.1 apmsleep.1 on_ac_power.1 xapm.1 ; do - cat $page | gzip -9c > $PKG/usr/man/man1/${page}.gz -done -mkdir -p $PKG/usr/man/man8 -cat apmd.8 | gzip -9c > $PKG/usr/man/man8/apmd.8.gz -mkdir -p $PKG/usr/man/fr/man1 -cat apmsleep.fr.1 | gzip -9c > $PKG/usr/man/fr/man1/apmsleep.1.gz - -# Remove this version since the one in pm-utils is better: -rm -f $PKG/usr/bin/on_ac_power -rm -f $PKG/usr/man/man1/on_ac_power.1.gz - -mkdir -p $PKG/usr/doc/apmd-$VERSION -cp -a \ - AUTHORS COPYING LSM README apmlib.COPYING apmsleep.README \ - $PKG/usr/doc/apmd-$VERSION -cp -a xbattery/README $PKG/usr/doc/apmd-$VERSION/README.xbattery - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -# Build the package: -cd $PKG -makepkg -c n -l y $TMP/apmd-$VERSION-$ARCH-$BUILD.txz - diff --git a/source/a/apmd/slack-desc b/source/a/apmd/slack-desc deleted file mode 100644 index a6f5c9a6..00000000 --- a/source/a/apmd/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. Line -# up the first '|' above the ':' following the base package name, and the '|' on -# the right side marks the last column you can put a character in. You must make -# exactly 11 lines for the formatting to be correct. It's also customary to -# leave one space after the ':'. - - |-----handy-ruler------------------------------------------------------| -apmd: apmd (Advanced Power Management daemon) -apmd: -apmd: apmd is an APM monitoring daemon, and works in conjunction with the -apmd: APM BIOS driver in the kernel. Apmd (and the included tools) handle -apmd: tasks such as automatically putting a laptop into suspend when the -apmd: power level drop below a certain point. This package also includes -apmd: the graphical power management tools xapm and xbattery. -apmd: -apmd: The apmd tools were written by Rik Faith and are maintained by -apmd: Avery Pennarun. xbattery was written by Nathan Sidwell. -apmd: diff --git a/source/a/attr/attr.SlackBuild b/source/a/attr/attr.SlackBuild index 892961cf..dbd17da0 100755 --- a/source/a/attr/attr.SlackBuild +++ b/source/a/attr/attr.SlackBuild @@ -21,7 +21,7 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PKGNAM=attr -VERSION=2.4.46 +VERSION=2.4.47 BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: @@ -58,13 +58,6 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -# Add DESTDIR support and improve docs install location: -zcat $CWD/attr.destdir.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1 - -# The 1/2 assed job has begun... the onus of running autoconf should never -# be placed on packagers. They may not have the same autotools versions. -autoconf - ./configure \ --prefix=/ \ --exec-prefix=/ \ @@ -74,15 +67,15 @@ autoconf --libexecdir=/usr/lib${LIBDIRSUFFIX} \ --includedir=/usr/include \ --mandir=/usr/man \ - --datadir=/usr/share + --datadir=/usr/share \ + --docdir=/usr/doc/attr-$VERSION \ + --build=$ARCH-slackware-linux -make || exit 1 -make install DESTDIR=$PKG -make install-dev DESTDIR=$PKG -make install-lib DESTDIR=$PKG +make PKG_DOC_DIR=/usr/doc/attr-$VERSION || exit 1 +make install PKG_DOC_DIR=/usr/doc/attr-$VERSION DESTDIR=$PKG +make install-dev PKG_DOC_DIR=/usr/doc/attr-$VERSION DESTDIR=$PKG +make install-lib PKG_DOC_DIR=/usr/doc/attr-$VERSION DESTDIR=$PKG -mv $PKG/usr/share/doc $PKG/usr -( cd $PKG/usr/doc ; mv attr attr-$VERSION ) #It would be nice to keep the same timestamps that the files have in the source: rm -rf $PKG/usr/doc/attr-$VERSION/ea-conv cp -a \ @@ -96,7 +89,8 @@ strip -g $PKG/usr/lib${LIBDIRSUFFIX}/*.a # Remove bogus files: rm -f $PKG/lib${LIBDIRSUFFIX}/*.a $PKG/lib${LIBDIRSUFFIX}/libattr.so $PKG/lib${LIBDIRSUFFIX}/*.la $PKG/usr/lib${LIBDIRSUFFIX}/*.la # Make /usr/lib${LIBDIRSUFFIX}/libattr.so a symlink to /lib${LIBDIRSUFFIX}: -( cd $PKG/usr/lib${LIBDIRSUFFIX} ; rm -f libattr.so ; ln -sf /lib${LIBDIRSUFFIX}/libattr.so.1 libattr.so ) +mkdir -p $PKG/usr/lib${LIBDIRSUFFIX} +ln -sf /lib${LIBDIRSUFFIX}/libattr.so.1 $PKG/usr/lib${LIBDIRSUFFIX}/libattr.so # Fix shared library perms: chmod 755 $PKG/lib${LIBDIRSUFFIX}/* diff --git a/source/a/attr/attr.destdir.diff b/source/a/attr/attr.destdir.diff deleted file mode 100644 index 5065675b..00000000 --- a/source/a/attr/attr.destdir.diff +++ /dev/null @@ -1,36 +0,0 @@ ---- ./include/builddefs.in.orig 2011-04-08 11:56:59.000000000 -0500 -+++ ./include/builddefs.in 2011-04-18 13:27:35.000000000 -0500 -@@ -40,14 +40,14 @@ - PKG_VERSION = @pkg_version@ - PKG_PLATFORM = @pkg_platform@ - PKG_DISTRIBUTION= @pkg_distribution@ --PKG_BIN_DIR = @bindir@ --PKG_SBIN_DIR = @sbindir@ --PKG_LIB_DIR = @libdir@@libdirsuffix@ --PKG_DEVLIB_DIR = @libexecdir@@libdirsuffix@ --PKG_INC_DIR = @includedir@/attr --PKG_MAN_DIR = @mandir@ --PKG_DOC_DIR = @datadir@/doc/@pkg_name@ --PKG_LOCALE_DIR = @datadir@/locale -+PKG_BIN_DIR = $(DESTDIR)@bindir@ -+PKG_SBIN_DIR = $(DESTDIR)@sbindir@ -+PKG_LIB_DIR = $(DESTDIR)@libdir@@libdirsuffix@ -+PKG_DEVLIB_DIR = $(DESTDIR)@libexecdir@@libdirsuffix@ -+PKG_INC_DIR = $(DESTDIR)@includedir@/attr -+PKG_MAN_DIR = $(DESTDIR)@mandir@ -+PKG_DOC_DIR = $(DESTDIR)@datadir@/doc/@pkg_name@ -+PKG_LOCALE_DIR = $(DESTDIR)@datadir@/locale - - CC = @cc@ - AWK = @awk@ ---- ./include/buildmacros.orig 2011-04-08 11:56:59.000000000 -0500 -+++ ./include/buildmacros 2011-04-18 13:28:23.000000000 -0500 -@@ -40,7 +40,7 @@ - $(LFILES:.l=.o) \ - $(YFILES:%.y=%.tab.o) - --INSTALL = $(TOPDIR)/include/install-sh -o $(PKG_USER) -g $(PKG_GROUP) -+INSTALL = $(TOPDIR)/include/install-sh - - SHELL = /bin/sh - IMAGES_DIR = $(TOPDIR)/all-images diff --git a/source/a/bash/bash-4.2-patches/bash42-001 b/source/a/bash/bash-4.2-patches/bash42-001 deleted file mode 100644 index 547aaa06..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-001 +++ /dev/null @@ -1,78 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-001 - -Bug-Reported-by: Juergen Daubert <jue@jue.li> -Bug-Reference-ID: <20110214175132.GA19813@jue.netz> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00125.html - -Bug-Description: - -When running in Posix mode, bash does not correctly expand the right-hand -side of a double-quoted word expansion containing single quotes. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/subst.c 2011-01-02 16:12:51.000000000 -0500 ---- subst.c 2011-02-19 00:00:00.000000000 -0500 -*************** -*** 1380,1387 **** - - /* The handling of dolbrace_state needs to agree with the code in parse.y: -! parse_matched_pair() */ -! dolbrace_state = 0; -! if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) -! dolbrace_state = (flags & SX_POSIXEXP) ? DOLBRACE_QUOTE : DOLBRACE_PARAM; - - i = *sindex; ---- 1380,1389 ---- - - /* The handling of dolbrace_state needs to agree with the code in parse.y: -! parse_matched_pair(). The different initial value is to handle the -! case where this function is called to parse the word in -! ${param op word} (SX_WORD). */ -! dolbrace_state = (flags & SX_WORD) ? DOLBRACE_WORD : DOLBRACE_PARAM; -! if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && (flags & SX_POSIXEXP)) -! dolbrace_state = DOLBRACE_QUOTE; - - i = *sindex; -*************** -*** 7177,7181 **** - /* Extract the contents of the ${ ... } expansion - according to the Posix.2 rules. */ -! value = extract_dollar_brace_string (string, &sindex, quoted, (c == '%' || c == '#') ? SX_POSIXEXP : 0); - if (string[sindex] == RBRACE) - sindex++; ---- 7181,7185 ---- - /* Extract the contents of the ${ ... } expansion - according to the Posix.2 rules. */ -! value = extract_dollar_brace_string (string, &sindex, quoted, (c == '%' || c == '#' || c =='/' || c == '^' || c == ',' || c ==':') ? SX_POSIXEXP|SX_WORD : SX_WORD); - if (string[sindex] == RBRACE) - sindex++; -*** ../bash-4.2-patched/subst.h 2010-12-02 20:21:29.000000000 -0500 ---- subst.h 2011-02-16 21:12:09.000000000 -0500 -*************** -*** 57,60 **** ---- 57,61 ---- - #define SX_ARITHSUB 0x0080 /* extracting $(( ... )) (currently unused) */ - #define SX_POSIXEXP 0x0100 /* extracting new Posix pattern removal expansions in extract_dollar_brace_string */ -+ #define SX_WORD 0x0200 /* extracting word in ${param op word} */ - - /* Remove backslashes which are quoting backquotes from STRING. Modifies -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 0 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 1 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-002 b/source/a/bash/bash-4.2-patches/bash42-002 deleted file mode 100644 index 077c7e0f..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-002 +++ /dev/null @@ -1,60 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-002 - -Bug-Reported-by: Clark J. Wang <dearvoid@gmail.com> -Bug-Reference-ID: <AANLkTimGbW7aC4E5infXP6ku5WPci4t=xVc+L1SyHqrD@mail.gmail.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00157.html - -Bug-Description: - -The readline vi-mode `cc', `dd', and `yy' commands failed to modify the -entire line. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/lib/readline/vi_mode.c 2010-11-20 19:51:39.000000000 -0500 ---- lib/readline/vi_mode.c 2011-02-17 20:24:25.000000000 -0500 -*************** -*** 1115,1119 **** - _rl_vi_last_motion = c; - RL_UNSETSTATE (RL_STATE_VIMOTION); -! return (0); - } - #if defined (READLINE_CALLBACKS) ---- 1115,1119 ---- - _rl_vi_last_motion = c; - RL_UNSETSTATE (RL_STATE_VIMOTION); -! return (vidomove_dispatch (m)); - } - #if defined (READLINE_CALLBACKS) -*** ../bash-4.2-patched/lib/readline/callback.c 2010-06-06 12:18:58.000000000 -0400 ---- lib/readline/callback.c 2011-02-17 20:43:28.000000000 -0500 -*************** -*** 149,152 **** ---- 149,155 ---- - /* Should handle everything, including cleanup, numeric arguments, - and turning off RL_STATE_VIMOTION */ -+ if (RL_ISSTATE (RL_STATE_NUMERICARG) == 0) -+ _rl_internal_char_cleanup (); -+ - return; - } -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 1 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 2 - - #endif /* _PATCHLEVEL_H_ */ - diff --git a/source/a/bash/bash-4.2-patches/bash42-003 b/source/a/bash/bash-4.2-patches/bash42-003 deleted file mode 100644 index c488e96b..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-003 +++ /dev/null @@ -1,318 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-003 - -Bug-Reported-by: Clark J. Wang <dearvoid@gmail.com> -Bug-Reference-ID: <AANLkTikZ_rVV-frR8Fh0PzhXnMKnm5XsUR-F3qtPPs5G@mail.gmail.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00136.html - -Bug-Description: - -When using the pattern replacement and pattern removal word expansions, bash -miscalculates the possible match length in the presence of an unescaped left -bracket without a closing right bracket, resulting in a failure to match -the pattern. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/lib/glob/gmisc.c 2011-02-05 16:11:17.000000000 -0500 ---- lib/glob/gmisc.c 2011-02-18 23:53:42.000000000 -0500 -*************** -*** 78,83 **** - size_t wmax; - { -! wchar_t wc, *wbrack; -! int matlen, t, in_cclass, in_collsym, in_equiv; - - if (*wpat == 0) ---- 78,83 ---- - size_t wmax; - { -! wchar_t wc; -! int matlen, bracklen, t, in_cclass, in_collsym, in_equiv; - - if (*wpat == 0) -*************** -*** 119,123 **** - case L'[': - /* scan for ending `]', skipping over embedded [:...:] */ -! wbrack = wpat; - wc = *wpat++; - do ---- 119,123 ---- - case L'[': - /* scan for ending `]', skipping over embedded [:...:] */ -! bracklen = 1; - wc = *wpat++; - do -*************** -*** 125,140 **** - if (wc == 0) - { -! matlen += wpat - wbrack - 1; /* incremented below */ -! break; - } - else if (wc == L'\\') - { -! wc = *wpat++; -! if (*wpat == 0) -! break; - } - else if (wc == L'[' && *wpat == L':') /* character class */ - { - wpat++; - in_cclass = 1; - } ---- 125,148 ---- - if (wc == 0) - { -! wpat--; /* back up to NUL */ -! matlen += bracklen; -! goto bad_bracket; - } - else if (wc == L'\\') - { -! /* *wpat == backslash-escaped character */ -! bracklen++; -! /* If the backslash or backslash-escape ends the string, -! bail. The ++wpat skips over the backslash escape */ -! if (*wpat == 0 || *++wpat == 0) -! { -! matlen += bracklen; -! goto bad_bracket; -! } - } - else if (wc == L'[' && *wpat == L':') /* character class */ - { - wpat++; -+ bracklen++; - in_cclass = 1; - } -*************** -*** 142,145 **** ---- 150,154 ---- - { - wpat++; -+ bracklen++; - in_cclass = 0; - } -*************** -*** 147,152 **** - { - wpat++; - if (*wpat == L']') /* right bracket can appear as collating symbol */ -! wpat++; - in_collsym = 1; - } ---- 156,165 ---- - { - wpat++; -+ bracklen++; - if (*wpat == L']') /* right bracket can appear as collating symbol */ -! { -! wpat++; -! bracklen++; -! } - in_collsym = 1; - } -*************** -*** 154,157 **** ---- 167,171 ---- - { - wpat++; -+ bracklen++; - in_collsym = 0; - } -*************** -*** 159,164 **** - { - wpat++; - if (*wpat == L']') /* right bracket can appear as equivalence class */ -! wpat++; - in_equiv = 1; - } ---- 173,182 ---- - { - wpat++; -+ bracklen++; - if (*wpat == L']') /* right bracket can appear as equivalence class */ -! { -! wpat++; -! bracklen++; -! } - in_equiv = 1; - } -*************** -*** 166,174 **** ---- 184,196 ---- - { - wpat++; -+ bracklen++; - in_equiv = 0; - } -+ else -+ bracklen++; - } - while ((wc = *wpat++) != L']'); - matlen++; /* bracket expression can only match one char */ -+ bad_bracket: - break; - } -*************** -*** 214,219 **** - size_t max; - { -! char c, *brack; -! int matlen, t, in_cclass, in_collsym, in_equiv; - - if (*pat == 0) ---- 236,241 ---- - size_t max; - { -! char c; -! int matlen, bracklen, t, in_cclass, in_collsym, in_equiv; - - if (*pat == 0) -*************** -*** 255,259 **** - case '[': - /* scan for ending `]', skipping over embedded [:...:] */ -! brack = pat; - c = *pat++; - do ---- 277,281 ---- - case '[': - /* scan for ending `]', skipping over embedded [:...:] */ -! bracklen = 1; - c = *pat++; - do -*************** -*** 261,276 **** - if (c == 0) - { -! matlen += pat - brack - 1; /* incremented below */ -! break; - } - else if (c == '\\') - { -! c = *pat++; -! if (*pat == 0) -! break; - } - else if (c == '[' && *pat == ':') /* character class */ - { - pat++; - in_cclass = 1; - } ---- 283,306 ---- - if (c == 0) - { -! pat--; /* back up to NUL */ -! matlen += bracklen; -! goto bad_bracket; - } - else if (c == '\\') - { -! /* *pat == backslash-escaped character */ -! bracklen++; -! /* If the backslash or backslash-escape ends the string, -! bail. The ++pat skips over the backslash escape */ -! if (*pat == 0 || *++pat == 0) -! { -! matlen += bracklen; -! goto bad_bracket; -! } - } - else if (c == '[' && *pat == ':') /* character class */ - { - pat++; -+ bracklen++; - in_cclass = 1; - } -*************** -*** 278,281 **** ---- 308,312 ---- - { - pat++; -+ bracklen++; - in_cclass = 0; - } -*************** -*** 283,288 **** - { - pat++; - if (*pat == ']') /* right bracket can appear as collating symbol */ -! pat++; - in_collsym = 1; - } ---- 314,323 ---- - { - pat++; -+ bracklen++; - if (*pat == ']') /* right bracket can appear as collating symbol */ -! { -! pat++; -! bracklen++; -! } - in_collsym = 1; - } -*************** -*** 290,293 **** ---- 325,329 ---- - { - pat++; -+ bracklen++; - in_collsym = 0; - } -*************** -*** 295,300 **** - { - pat++; - if (*pat == ']') /* right bracket can appear as equivalence class */ -! pat++; - in_equiv = 1; - } ---- 331,340 ---- - { - pat++; -+ bracklen++; - if (*pat == ']') /* right bracket can appear as equivalence class */ -! { -! pat++; -! bracklen++; -! } - in_equiv = 1; - } -*************** -*** 302,310 **** ---- 342,354 ---- - { - pat++; -+ bracklen++; - in_equiv = 0; - } -+ else -+ bracklen++; - } - while ((c = *pat++) != ']'); - matlen++; /* bracket expression can only match one char */ -+ bad_bracket: - break; - } -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 2 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 3 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-004 b/source/a/bash/bash-4.2-patches/bash42-004 deleted file mode 100644 index fe29f82c..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-004 +++ /dev/null @@ -1,53 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-004 - -Bug-Reported-by: Mike Frysinger <vapier@gentoo.org> -Bug-Reference-ID: <201102182106.17834.vapier@gentoo.org> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00222.html - -Bug-Description: - -When used in contexts where word splitting and quote removal were not -performed, such as pattern removal or pattern substitution, empty strings -(either literal or resulting from quoted variables that were unset or -null) were not matched correctly, resulting in failure. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/subst.c 2011-01-02 16:12:51.000000000 -0500 ---- subst.c 2011-02-18 22:30:13.000000000 -0500 -*************** -*** 3373,3379 **** - if (string == 0 || *string == '\0') - return (WORD_LIST *)NULL; - -! td.flags = 0; - td.word = string; - tresult = call_expand_word_internal (&td, quoted, 1, dollar_at_p, has_dollar_at); - return (tresult); ---- 3373,3379 ---- - if (string == 0 || *string == '\0') - return (WORD_LIST *)NULL; - -! td.flags = W_NOSPLIT2; /* no splitting, remove "" and '' */ - td.word = string; - tresult = call_expand_word_internal (&td, quoted, 1, dollar_at_p, has_dollar_at); - return (tresult); -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 3 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 4 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-005 b/source/a/bash/bash-4.2-patches/bash42-005 deleted file mode 100644 index 3ca9fc1d..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-005 +++ /dev/null @@ -1,131 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-005 - -Bug-Reported-by: Dennis Williamson <dennistwilliamson@gmail.com> -Bug-Reference-ID: <AANLkTikDbEV5rnbPc0zOfmZfBcg0xGetzLLzK+KjRiNa@mail.gmail.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00147.html - -Bug-Description: - -Systems that use tzset() to set the local timezone require the TZ variable -to be in the environment. Bash must make sure the environment has been -modified with any updated value for TZ before calling tzset(). This -affects prompt string expansions and the `%T' printf conversion specification -on systems that do not allow bash to supply a replacement for getenv(3). - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/variables.h 2010-12-02 20:22:01.000000000 -0500 ---- variables.h 2011-02-19 19:57:12.000000000 -0500 -*************** -*** 314,317 **** ---- 314,318 ---- - extern void sort_variables __P((SHELL_VAR **)); - -+ extern int chkexport __P((char *)); - extern void maybe_make_export_env __P((void)); - extern void update_export_env_inplace __P((char *, int, char *)); -*** ../bash-4.2-patched/variables.c 2011-01-24 20:07:48.000000000 -0500 ---- variables.c 2011-02-19 20:04:50.000000000 -0500 -*************** -*** 3654,3657 **** ---- 3654,3673 ---- - } - -+ int -+ chkexport (name) -+ char *name; -+ { -+ SHELL_VAR *v; -+ -+ v = find_variable (name); -+ if (exported_p (v)) -+ { -+ array_needs_making = 1; -+ maybe_make_export_env (); -+ return 1; -+ } -+ return 0; -+ } -+ - void - maybe_make_export_env () -*************** -*** 4215,4219 **** - { "TEXTDOMAINDIR", sv_locale }, - -! #if defined (HAVE_TZSET) && defined (PROMPT_STRING_DECODE) - { "TZ", sv_tz }, - #endif ---- 4231,4235 ---- - { "TEXTDOMAINDIR", sv_locale }, - -! #if defined (HAVE_TZSET) - { "TZ", sv_tz }, - #endif -*************** -*** 4559,4568 **** - #endif /* HISTORY */ - -! #if defined (HAVE_TZSET) && defined (PROMPT_STRING_DECODE) - void - sv_tz (name) - char *name; - { -! tzset (); - } - #endif ---- 4575,4585 ---- - #endif /* HISTORY */ - -! #if defined (HAVE_TZSET) - void - sv_tz (name) - char *name; - { -! if (chkexport (name)) -! tzset (); - } - #endif -*** ../bash-4.2-patched/parse.y 2011-01-02 15:48:11.000000000 -0500 ---- parse.y 2011-02-19 20:05:00.000000000 -0500 -*************** -*** 5136,5139 **** ---- 5136,5142 ---- - /* Make the current time/date into a string. */ - (void) time (&the_time); -+ #if defined (HAVE_TZSET) -+ sv_tz ("TZ"); /* XXX -- just make sure */ -+ #endif - tm = localtime (&the_time); - -*** ../bash-4.2-patched/builtins/printf.def 2010-11-23 10:02:55.000000000 -0500 ---- builtins/printf.def 2011-02-19 20:05:04.000000000 -0500 -*************** -*** 466,469 **** ---- 466,472 ---- - else - secs = arg; -+ #if defined (HAVE_TZSET) -+ sv_tz ("TZ"); /* XXX -- just make sure */ -+ #endif - tm = localtime (&secs); - n = strftime (timebuf, sizeof (timebuf), timefmt, tm); -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 4 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 5 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-006 b/source/a/bash/bash-4.2-patches/bash42-006 deleted file mode 100644 index be6e49c7..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-006 +++ /dev/null @@ -1,46 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-006 - -Bug-Reported-by: Allan McRae <allan@archlinux.org> -Bug-Reference-ID: <4D6D0D0B.50908@archlinux.org> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00001.html - -Bug-Description: - -A problem with bash42-005 caused it to dump core if TZ was unset. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/variables.c 2011-02-25 12:07:41.000000000 -0500 ---- variables.c 2011-03-01 10:13:04.000000000 -0500 -*************** -*** 3661,3665 **** - - v = find_variable (name); -! if (exported_p (v)) - { - array_needs_making = 1; ---- 3661,3665 ---- - - v = find_variable (name); -! if (v && exported_p (v)) - { - array_needs_making = 1; -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 5 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 6 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-007 b/source/a/bash/bash-4.2-patches/bash42-007 deleted file mode 100644 index d16156e2..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-007 +++ /dev/null @@ -1,46 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-007 - -Bug-Reported-by: Matthias Klose <doko@debian.org> -Bug-Reference-ID: <4D6FD2AC.1010500@debian.org> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00015.html - -Bug-Description: - -When used in contexts where word splitting and quote removal were not -performed, such as case statement word expansion, empty strings -(either literal or resulting from quoted variables that were unset or -null) were not expanded correctly, resulting in failure. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/subst.c 2011-02-25 12:03:58.000000000 -0500 ---- subst.c 2011-03-03 14:08:23.000000000 -0500 -*************** -*** 4609,4614 **** ---- 4611,4617 ---- - if (ifs_firstc == 0) - #endif - word->flags |= W_NOSPLIT; -+ word->flags |= W_NOSPLIT2; - result = call_expand_word_internal (word, quoted, 0, (int *)NULL, (int *)NULL); - expand_no_split_dollar_star = 0; - -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 6 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 7 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-008 b/source/a/bash/bash-4.2-patches/bash42-008 deleted file mode 100644 index 631abbdf..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-008 +++ /dev/null @@ -1,74 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-008 - -Bug-Reported-by: Doug McMahon <mc2man@optonline.net> -Bug-Reference-ID: <1299441211.2535.11.camel@doug-XPS-M1330> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00050.html - -Bug-Description: - -Bash-4.2 does not attempt to save the shell history on receipt of a -terminating signal that is handled synchronously. Unfortunately, the -`close' button on most X11 terminal emulators sends SIGHUP, which -kills the shell. - -This is a very small patch to save the history in the case that an -interactive shell receives a SIGHUP or SIGTERM while in readline and -reading a command. - -The next version of bash will do this differently. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/sig.c Tue Nov 23 08:21:22 2010 ---- sig.c Tue Mar 8 21:28:32 2011 -*************** -*** 47,50 **** ---- 47,51 ---- - #if defined (READLINE) - # include "bashline.h" -+ # include <readline/readline.h> - #endif - -*************** -*** 63,66 **** ---- 64,68 ---- - extern int history_lines_this_session; - #endif -+ extern int no_line_editing; - - extern void initialize_siglist (); -*************** -*** 506,510 **** - #if defined (HISTORY) - /* XXX - will inhibit history file being written */ -! history_lines_this_session = 0; - #endif - terminate_immediately = 0; ---- 508,515 ---- - #if defined (HISTORY) - /* XXX - will inhibit history file being written */ -! # if defined (READLINE) -! if (interactive_shell == 0 || interactive == 0 || (sig != SIGHUP && sig != SIGTERM) || no_line_editing || (RL_ISSTATE (RL_STATE_READCMD) == 0)) -! # endif -! history_lines_this_session = 0; - #endif - terminate_immediately = 0; -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 7 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 8 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-009 b/source/a/bash/bash-4.2-patches/bash42-009 deleted file mode 100644 index 83a7e2c7..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-009 +++ /dev/null @@ -1,82 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-009 - -Bug-Reported-by: <piuma@piumalab.org> -Bug-Reference-ID: <4DAAC0DB.7060606@piumalab.org> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-04/msg00075.html - -Bug-Description: - -Under certain circumstances, running `fc -l' two times in succession with a -relative history offset at the end of the history will result in an incorrect -calculation of the last history entry and a seg fault. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/builtins/fc.def 2010-05-30 18:25:38.000000000 -0400 ---- builtins/fc.def 2011-04-19 15:46:17.000000000 -0400 -*************** -*** 305,309 **** - - /* XXX */ -! if (saved_command_line_count > 0 && i == last_hist && hlist[last_hist] == 0) - while (last_hist >= 0 && hlist[last_hist] == 0) - last_hist--; ---- 305,309 ---- - - /* XXX */ -! if (i == last_hist && hlist[last_hist] == 0) - while (last_hist >= 0 && hlist[last_hist] == 0) - last_hist--; -*************** -*** 476,480 **** - { - int sign, n, clen, rh; -! register int i, j; - register char *s; - ---- 476,480 ---- - { - int sign, n, clen, rh; -! register int i, j, last_hist; - register char *s; - -*************** -*** 496,500 **** - calculation as if it were on. */ - rh = remember_on_history || ((subshell_environment & SUBSHELL_COMSUB) && enable_history_list); -! i -= rh + hist_last_line_added; - - /* No specification defaults to most recent command. */ ---- 496,508 ---- - calculation as if it were on. */ - rh = remember_on_history || ((subshell_environment & SUBSHELL_COMSUB) && enable_history_list); -! last_hist = i - rh - hist_last_line_added; -! -! if (i == last_hist && hlist[last_hist] == 0) -! while (last_hist >= 0 && hlist[last_hist] == 0) -! last_hist--; -! if (last_hist < 0) -! return (-1); -! -! i = last_hist; - - /* No specification defaults to most recent command. */ -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 8 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 9 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-010 b/source/a/bash/bash-4.2-patches/bash42-010 deleted file mode 100644 index e408abd6..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-010 +++ /dev/null @@ -1,61 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-010 - -Bug-Reported-by: Mike Frysinger <vapier@gentoo.org> -Bug-Reference-ID: <201104122356.20160.vapier@gentoo.org> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-04/msg00058.html - -Bug-Description: - -Bash did not correctly print/reproduce here documents attached to commands -inside compound commands such as arithmetic for loops and user-specified -subshells. This affected the execution of such commands inside a shell -function when the function definition is saved and later restored using -`.' or `eval'. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/print_cmd.c 2010-05-30 18:34:08.000000000 -0400 ---- print_cmd.c 2011-04-14 10:43:18.000000000 -0400 -*************** -*** 316,319 **** ---- 317,321 ---- - skip_this_indent++; - make_command_string_internal (command->value.Subshell->command); -+ PRINT_DEFERRED_HEREDOCS (""); - cprintf (" )"); - break; -*************** -*** 593,596 **** ---- 606,610 ---- - indentation += indentation_amount; - make_command_string_internal (arith_for_command->action); -+ PRINT_DEFERRED_HEREDOCS (""); - semicolon (); - indentation -= indentation_amount; -*************** -*** 654,657 **** ---- 668,672 ---- - - make_command_string_internal (group_command->command); -+ PRINT_DEFERRED_HEREDOCS (""); - - if (inside_function_def) -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 9 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 10 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-011 b/source/a/bash/bash-4.2-patches/bash42-011 deleted file mode 100644 index 26fdf65f..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-011 +++ /dev/null @@ -1,46 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-011 - -Bug-Reported-by: "David Parks" <davidparks21@yahoo.com> -Bug-Reference-ID: <014101cc82c6$46ac1540$d4043fc0$@com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-10/msg00031.html - -Bug-Description: - -Overwriting a value in an associative array causes the memory allocated to -store the key on the second and subsequent assignments to leak. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/assoc.c 2009-08-05 20:19:40.000000000 -0400 ---- assoc.c 2011-10-04 20:23:07.000000000 -0400 -*************** -*** 78,81 **** ---- 78,86 ---- - if (b == 0) - return -1; -+ /* If we are overwriting an existing element's value, we're not going to -+ use the key. Nothing in the array assignment code path frees the key -+ string, so we can free it here to avoid a memory leak. */ -+ if (b->key != key) -+ free (key); - FREE (b->data); - b->data = value ? savestring (value) : (char *)0; -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 10 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 11 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-012 b/source/a/bash/bash-4.2-patches/bash42-012 deleted file mode 100644 index 70f0a56b..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-012 +++ /dev/null @@ -1,151 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-012 - -Bug-Reported-by: Rui Santos <rsantos@grupopie.com> -Bug-Reference-ID: <4E04C6D0.2020507@grupopie.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-06/msg00079.html - -Bug-Description: - -When calling the parser to recursively parse a command substitution within -an arithmetic expansion, the shell overwrote the saved shell input line and -associated state, resulting in a garbled command. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/parse.y 2011-02-26 19:19:05.000000000 -0500 ---- parse.y 2011-06-24 20:08:22.000000000 -0400 -*************** -*** 3843,3846 **** ---- 3849,3853 ---- - { - sh_parser_state_t ps; -+ sh_input_line_state_t ls; - int orig_ind, nc, sflags; - char *ret, *s, *ep, *ostring; -*************** -*** 3850,3857 **** ---- 3857,3866 ---- - ostring = string; - -+ /*itrace("xparse_dolparen: size = %d shell_input_line = `%s'", shell_input_line_size, shell_input_line);*/ - sflags = SEVAL_NONINT|SEVAL_NOHIST|SEVAL_NOFREE; - if (flags & SX_NOLONGJMP) - sflags |= SEVAL_NOLONGJMP; - save_parser_state (&ps); -+ save_input_line_state (&ls); - - /*(*/ -*************** -*** 3862,3865 **** ---- 3871,3876 ---- - restore_parser_state (&ps); - reset_parser (); -+ /* reset_parser clears shell_input_line and associated variables */ -+ restore_input_line_state (&ls); - if (interactive) - token_to_read = 0; -*************** -*** 5909,5912 **** ---- 5920,5929 ---- - ps->echo_input_at_read = echo_input_at_read; - -+ ps->token = token; -+ ps->token_buffer_size = token_buffer_size; -+ /* Force reallocation on next call to read_token_word */ -+ token = 0; -+ token_buffer_size = 0; -+ - return (ps); - } -*************** -*** 5950,5953 **** ---- 5967,6006 ---- - expand_aliases = ps->expand_aliases; - echo_input_at_read = ps->echo_input_at_read; -+ -+ FREE (token); -+ token = ps->token; -+ token_buffer_size = ps->token_buffer_size; -+ } -+ -+ sh_input_line_state_t * -+ save_input_line_state (ls) -+ sh_input_line_state_t *ls; -+ { -+ if (ls == 0) -+ ls = (sh_input_line_state_t *)xmalloc (sizeof (sh_input_line_state_t)); -+ if (ls == 0) -+ return ((sh_input_line_state_t *)NULL); -+ -+ ls->input_line = shell_input_line; -+ ls->input_line_size = shell_input_line_size; -+ ls->input_line_len = shell_input_line_len; -+ ls->input_line_index = shell_input_line_index; -+ -+ /* force reallocation */ -+ shell_input_line = 0; -+ shell_input_line_size = shell_input_line_len = shell_input_line_index = 0; -+ } -+ -+ void -+ restore_input_line_state (ls) -+ sh_input_line_state_t *ls; -+ { -+ FREE (shell_input_line); -+ shell_input_line = ls->input_line; -+ shell_input_line_size = ls->input_line_size; -+ shell_input_line_len = ls->input_line_len; -+ shell_input_line_index = ls->input_line_index; -+ -+ set_line_mbstate (); - } - -*** ../bash-4.2-patched/shell.h 2011-01-06 22:16:55.000000000 -0500 ---- shell.h 2011-06-24 19:12:25.000000000 -0400 -*************** -*** 137,140 **** ---- 139,145 ---- - int *token_state; - -+ char *token; -+ int token_buffer_size; -+ - /* input line state -- line number saved elsewhere */ - int input_line_terminator; -*************** -*** 167,171 **** ---- 172,186 ---- - } sh_parser_state_t; - -+ typedef struct _sh_input_line_state_t { -+ char *input_line; -+ int input_line_index; -+ int input_line_size; -+ int input_line_len; -+ } sh_input_line_state_t; -+ - /* Let's try declaring these here. */ - extern sh_parser_state_t *save_parser_state __P((sh_parser_state_t *)); - extern void restore_parser_state __P((sh_parser_state_t *)); -+ -+ extern sh_input_line_state_t *save_input_line_state __P((sh_input_line_state_t *)); -+ extern void restore_input_line_state __P((sh_input_line_state_t *)); -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 11 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 12 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-013 b/source/a/bash/bash-4.2-patches/bash42-013 deleted file mode 100644 index 5bb186b3..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-013 +++ /dev/null @@ -1,52 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-013 - -Bug-Reported-by: Marten Wikstrom <marten.wikstrom@keystream.se> -Bug-Reference-ID: <BANLkTikKECAh94ZEX68iQvxYuPeEM_xoSQ@mail.gmail.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-05/msg00049.html - -Bug-Description: - -An off-by-one error caused the shell to skip over CTLNUL characters, -which are used internally to mark quoted null strings. The effect -was to have stray 0x7f characters left after expanding words like -""""""""aa. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/subst.c 2011-03-06 14:11:11.000000000 -0500 ---- subst.c 2011-05-11 11:23:33.000000000 -0400 -*************** -*** 3707,3711 **** - } - else if (string[i] == CTLNUL) -! i++; - - prev_i = i; ---- 3710,3717 ---- - } - else if (string[i] == CTLNUL) -! { -! i++; -! continue; -! } - - prev_i = i; -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 12 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 13 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-014 b/source/a/bash/bash-4.2-patches/bash42-014 deleted file mode 100644 index a43271c3..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-014 +++ /dev/null @@ -1,47 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-014 - -Bug-Reported-by: Shawn Bohrer <sbohrer@rgmadvisors.com> -Bug-Reference-ID: <20110504152320.6E8F28130527@dev1.rgmadvisors.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-05/msg00018.html - -Bug-Description: - -The regular expression matching operator did not correctly match -expressions with an embedded ^A. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/pathexp.c 2010-08-13 23:21:57.000000000 -0400 ---- pathexp.c 2011-05-05 16:40:58.000000000 -0400 -*************** -*** 197,201 **** - if ((qflags & QGLOB_FILENAME) && pathname[i+1] == '/') - continue; -! if ((qflags & QGLOB_REGEXP) && ere_char (pathname[i+1]) == 0) - continue; - temp[j++] = '\\'; ---- 197,201 ---- - if ((qflags & QGLOB_FILENAME) && pathname[i+1] == '/') - continue; -! if (pathname[i+1] != CTLESC && (qflags & QGLOB_REGEXP) && ere_char (pathname[i+1]) == 0) - continue; - temp[j++] = '\\'; -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 13 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 14 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-015 b/source/a/bash/bash-4.2-patches/bash42-015 deleted file mode 100644 index 86558738..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-015 +++ /dev/null @@ -1,81 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-015 - -Bug-Reported-by: <dnade.ext@orange-ftgroup.com> -Bug-Reference-ID: <728_1312188080_4E3666B0_728_118711_1_3B5D3E0F95CC5C478D6500CDCE8B691F7AAAA4AA3D@PUEXCB2B.nanterre.francetelecom.fr> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-08/msg00000.html - -Bug-Description: - -When in a context where arithmetic evaluation is not taking place, the -evaluator should not check for division by 0. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/expr.c 2010-12-21 11:12:13.000000000 -0500 ---- expr.c 2011-08-02 20:58:28.000000000 -0400 -*************** -*** 477,480 **** ---- 481,492 ---- - if (special) - { -+ if ((op == DIV || op == MOD) && value == 0) -+ { -+ if (noeval == 0) -+ evalerror (_("division by 0")); -+ else -+ value = 1; -+ } -+ - switch (op) - { -*************** -*** 483,493 **** - break; - case DIV: -- if (value == 0) -- evalerror (_("division by 0")); - lvalue /= value; - break; - case MOD: -- if (value == 0) -- evalerror (_("division by 0")); - lvalue %= value; - break; ---- 495,501 ---- -*************** -*** 805,809 **** - - if (((op == DIV) || (op == MOD)) && (val2 == 0)) -! evalerror (_("division by 0")); - - if (op == MUL) ---- 813,822 ---- - - if (((op == DIV) || (op == MOD)) && (val2 == 0)) -! { -! if (noeval == 0) -! evalerror (_("division by 0")); -! else -! val2 = 1; -! } - - if (op == MUL) -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 14 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 15 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-016 b/source/a/bash/bash-4.2-patches/bash42-016 deleted file mode 100644 index 46025888..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-016 +++ /dev/null @@ -1,46 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-016 - -Bug-Reported-by: Martin von Gagern <Martin.vGagern@gmx.net> -Bug-Reference-ID: <4E43AD9E.8060501@gmx.net> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-08/msg00141.html - -Bug-Description: - -Bash should not check for mail while executing the `eval' builtin. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/parse.y Fri Feb 25 12:07:41 2011 ---- parse.y Thu Aug 11 19:02:26 2011 -*************** -*** 2500,2504 **** - is the mail alarm reset; nothing takes place in check_mail () - except the checking of mail. Please don't change this. */ -! if (prompt_is_ps1 && time_to_check_mail ()) - { - check_mail (); ---- 2498,2502 ---- - is the mail alarm reset; nothing takes place in check_mail () - except the checking of mail. Please don't change this. */ -! if (prompt_is_ps1 && parse_and_execute_level == 0 && time_to_check_mail ()) - { - check_mail (); -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 15 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 16 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-017 b/source/a/bash/bash-4.2-patches/bash42-017 deleted file mode 100644 index 010ed1e5..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-017 +++ /dev/null @@ -1,47 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-017 - -Bug-Reported-by: Curtis Doty <Curtis@GreenKey.net> -Bug-Reference-ID: <20110621035324.A4F70849F59@mx1.iParadigms.net> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-06/msg00053.html - -Bug-Description: - -Using `read -a foo' where foo was an already-declared associative array -caused the shell to die with a segmentation fault. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/builtins/read.def 2011-01-04 11:43:36.000000000 -0500 ---- builtins/read.def 2011-06-21 10:31:02.000000000 -0400 -*************** -*** 643,646 **** ---- 642,651 ---- - return EXECUTION_FAILURE; /* readonly or noassign */ - } -+ if (assoc_p (var)) -+ { -+ builtin_error (_("%s: cannot convert associative to indexed array"), arrayname); -+ xfree (input_string); -+ return EXECUTION_FAILURE; /* existing associative array */ -+ } - array_flush (array_cell (var)); - -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 16 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 17 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-018 b/source/a/bash/bash-4.2-patches/bash42-018 deleted file mode 100644 index 5d11dce1..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-018 +++ /dev/null @@ -1,74 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-018 - -Bug-Reported-by: Thomas Cort <tcort@minix3.org> -Bug-Reference-ID: <BANLkTik-ebGGw3k_1YtB=RyfV1bsqdxC_g@mail.gmail.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-06/msg00110.html - -Bug-Description: - -Bash fails to compile unless JOB_CONTROL is defined. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/execute_cmd.c 2011-02-09 17:32:25.000000000 -0500 ---- execute_cmd.c 2011-11-06 15:12:48.000000000 -0500 -*************** -*** 2197,2200 **** ---- 2315,2319 ---- - cmd->flags |= CMD_IGNORE_RETURN; - -+ #if defined (JOB_CONTROL) - lastpipe_flag = 0; - begin_unwind_frame ("lastpipe-exec"); -*************** -*** 2216,2228 **** - add_unwind_protect (lastpipe_cleanup, lastpipe_jid); - } -! cmd->flags |= CMD_LASTPIPE; - } - if (prev >= 0) - add_unwind_protect (close, prev); - - exec_result = execute_command_internal (cmd, asynchronous, prev, pipe_out, fds_to_close); - - if (lstdin > 0) - restore_stdin (lstdin); - - if (prev >= 0) ---- 2335,2351 ---- - add_unwind_protect (lastpipe_cleanup, lastpipe_jid); - } -! if (cmd) -! cmd->flags |= CMD_LASTPIPE; - } - if (prev >= 0) - add_unwind_protect (close, prev); -+ #endif - - exec_result = execute_command_internal (cmd, asynchronous, prev, pipe_out, fds_to_close); - -+ #if defined (JOB_CONTROL) - if (lstdin > 0) - restore_stdin (lstdin); -+ #endif - - if (prev >= 0) -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 17 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 18 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-019 b/source/a/bash/bash-4.2-patches/bash42-019 deleted file mode 100644 index 5fce40ae..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-019 +++ /dev/null @@ -1,47 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-019 - -Bug-Reported-by: Diego Augusto Molina <diegoaugustomolina@gmail.com> -Bug-Reference-ID: <CAGOxLdHcSQu3ck9Qy3pRjj_NBU5tAPSAvNm-95-nLQ9Szwb6aA@mail.gmail.com> -Bug-Reference-URL: lists.gnu.org/archive/html/bug-bash/2011-09/msg00047.html - -Bug-Description: - -Using `declare' with attributes and an invalid array variable name or -assignment reference resulted in a segmentation fault instead of a -declaration error. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/builtins/declare.def 2010-05-30 18:25:21.000000000 -0400 ---- builtins/declare.def 2011-09-15 15:20:20.000000000 -0400 -*************** -*** 514,517 **** ---- 514,522 ---- - var = assign_array_element (name, value, 0); /* XXX - not aflags */ - *subscript_start = '\0'; -+ if (var == 0) /* some kind of assignment error */ -+ { -+ assign_error++; -+ NEXT_VARIABLE (); -+ } - } - else if (simple_array_assign) -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 18 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 19 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-020 b/source/a/bash/bash-4.2-patches/bash42-020 deleted file mode 100644 index a1dd0443..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-020 +++ /dev/null @@ -1,60 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-020 - -Bug-Reported-by: Vincent Sheffer <vince.sheffer@apisphere.com> -Bug-Reference-ID: <F13C1C4F-C44C-4071-BFED-4BB6D13CF92F@apisphere.com> -Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2011-08/msg00000.html - -Bug-Description: - -The shared object helper script needs to be updated for Mac OS X 10.7 -(Lion, darwin11). - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/support/shobj-conf 2009-10-28 09:20:21.000000000 -0400 ---- support/shobj-conf 2011-08-27 13:25:23.000000000 -0400 -*************** -*** 158,162 **** - - # Darwin/MacOS X -! darwin[89]*|darwin10*) - SHOBJ_STATUS=supported - SHLIB_STATUS=supported ---- 172,176 ---- - - # Darwin/MacOS X -! darwin[89]*|darwin1[012]*) - SHOBJ_STATUS=supported - SHLIB_STATUS=supported -*************** -*** 187,191 **** - - case "${host_os}" in -! darwin[789]*|darwin10*) SHOBJ_LDFLAGS='' - SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' - ;; ---- 201,205 ---- - - case "${host_os}" in -! darwin[789]*|darwin1[012]*) SHOBJ_LDFLAGS='' - SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v' - ;; -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 19 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 20 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-021 b/source/a/bash/bash-4.2-patches/bash42-021 deleted file mode 100644 index b6153c78..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-021 +++ /dev/null @@ -1,61 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-021 - -Bug-Reported-by: Dan Douglas <ormaaj@gmail.com> -Bug-Reference-ID: <4585554.nZWb4q7YoZ@smorgbox> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-12/msg00084.html - -Bug-Description: - -Using `read -N' to assign values to an array can result in NUL values being -assigned to some array elements. These values cause seg faults when referenced -later. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/builtins/read.def 2011-11-21 18:03:38.000000000 -0500 ---- builtins/read.def 2011-12-19 19:52:12.000000000 -0500 -*************** -*** 738,742 **** - } - else -! var = bind_read_variable (varname, t); - } - else ---- 775,779 ---- - } - else -! var = bind_read_variable (varname, t ? t : ""); - } - else -*************** -*** 799,803 **** - } - else -! var = bind_read_variable (list->word->word, input_string); - - if (var) ---- 836,840 ---- - } - else -! var = bind_read_variable (list->word->word, input_string ? input_string : ""); - - if (var) -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 20 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 21 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-022 b/source/a/bash/bash-4.2-patches/bash42-022 deleted file mode 100644 index 0067b133..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-022 +++ /dev/null @@ -1,61 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-022 - -Bug-Reported-by: Gregory Margo <gmargo@pacbell.net> -Bug-Reference-ID: <20110727174529.GA3333@pacbell.net> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-07/msg00102.html - -Bug-Description: - -The return value from lseek is `off_t'. This can cause corrupted return -values when the file offset is greater than 2**31 - 1. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/lib/sh/zread.c Mon Mar 2 08:54:45 2009 ---- lib/sh/zread.c Thu Jul 28 18:16:53 2011 -*************** -*** 161,166 **** - int fd; - { -! off_t off; -! int r; - - off = lused - lind; ---- 161,165 ---- - int fd; - { -! off_t off, r; - - off = lused - lind; -*************** -*** 169,173 **** - r = lseek (fd, -off, SEEK_CUR); - -! if (r >= 0) - lused = lind = 0; - } ---- 168,172 ---- - r = lseek (fd, -off, SEEK_CUR); - -! if (r != -1) - lused = lind = 0; - } -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 21 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 22 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-023 b/source/a/bash/bash-4.2-patches/bash42-023 deleted file mode 100644 index 4f204efb..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-023 +++ /dev/null @@ -1,62 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-023 - -Bug-Reported-by: Ewan Mellor <Ewan.Mellor@eu.citrix.com> -Bug-Reference-ID: <6005BE083BF501439A84DC3523BAC82DC4B964FD12@LONPMAILBOX01.citrite.net> -Bug-Reference-URL: - -Bug-Description: - -Under some circumstances, an exit trap triggered by a bad substitution -error when errexit is enabled will cause the shell to exit with an -incorrect exit status (0). - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/subst.c 2011-11-21 12:04:38.000000000 -0500 ---- subst.c 2012-02-08 13:36:28.000000000 -0500 -*************** -*** 7275,7278 **** ---- 7281,7285 ---- - case '\0': - bad_substitution: -+ last_command_exit_value = EXECUTION_FAILURE; - report_error (_("%s: bad substitution"), string ? string : "??"); - FREE (value); -*** ../bash-4.2-patched/error.c 2009-08-21 22:31:31.000000000 -0400 ---- error.c 2012-02-25 15:54:40.000000000 -0500 -*************** -*** 201,205 **** - va_end (args); - if (exit_immediately_on_error) -! exit_shell (1); - } - ---- 201,209 ---- - va_end (args); - if (exit_immediately_on_error) -! { -! if (last_command_exit_value == 0) -! last_command_exit_value = 1; -! exit_shell (last_command_exit_value); -! } - } - -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 22 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 23 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-024 b/source/a/bash/bash-4.2-patches/bash42-024 deleted file mode 100644 index b7b1158b..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-024 +++ /dev/null @@ -1,45 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-024 - -Bug-Reported-by: Jim Avera <james_avera@yahoo.com> -Bug-Reference-ID: <4F29E07A.80405@yahoo.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-02/msg00001.html - -Bug-Description: - -When `printf -v' is used to set an array element, the format string contains -`%b', and the corresponding argument is the empty string, the buffer used -to store the value to be assigned can be NULL, which results in NUL being -assigned to the array element. This causes a seg fault when it's used later. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/builtins/printf.def 2011-02-25 12:07:41.000000000 -0500 ---- builtins/printf.def 2012-02-02 08:37:12.000000000 -0500 -*************** -*** 256,259 **** ---- 257,262 ---- - { - vflag = 1; -+ if (vbsize == 0) -+ vbuf = xmalloc (vbsize = 16); - vblen = 0; - if (vbuf) -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 23 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 24 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-025 b/source/a/bash/bash-4.2-patches/bash42-025 deleted file mode 100644 index 34ac3430..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-025 +++ /dev/null @@ -1,143 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-025 - -Bug-Reported-by: Bill Gradwohl <bill@ycc.com> -Bug-Reference-ID: <CAFyvKis-UfuOWr5THBRKh=vYHDoKEEgdW8hN1RviTuYQ00Lu5A@mail.gmail.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/help-bash/2012-03/msg00078.html - -Bug-Description: - -When used in a shell function, `declare -g -a array=(compound assignment)' -creates a local variable instead of a global one. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/command.h 2010-08-02 19:36:51.000000000 -0400 ---- command.h 2012-04-01 12:38:35.000000000 -0400 -*************** -*** 98,101 **** ---- 98,102 ---- - #define W_ASSIGNASSOC 0x400000 /* word looks like associative array assignment */ - #define W_ARRAYIND 0x800000 /* word is an array index being expanded */ -+ #define W_ASSNGLOBAL 0x1000000 /* word is a global assignment to declare (declare/typeset -g) */ - - /* Possible values for subshell_environment */ -*** ../bash-4.2-patched/execute_cmd.c 2011-11-21 18:03:41.000000000 -0500 ---- execute_cmd.c 2012-04-01 12:42:03.000000000 -0400 -*************** -*** 3581,3585 **** - WORD_LIST *w; - struct builtin *b; -! int assoc; - - if (words == 0) ---- 3581,3585 ---- - WORD_LIST *w; - struct builtin *b; -! int assoc, global; - - if (words == 0) -*************** -*** 3587,3591 **** - - b = 0; -! assoc = 0; - - for (w = words; w; w = w->next) ---- 3587,3591 ---- - - b = 0; -! assoc = global = 0; - - for (w = words; w; w = w->next) -*************** -*** 3604,3607 **** ---- 3604,3609 ---- - if (assoc) - w->word->flags |= W_ASSIGNASSOC; -+ if (global) -+ w->word->flags |= W_ASSNGLOBAL; - #endif - } -*************** -*** 3609,3613 **** - /* Note that we saw an associative array option to a builtin that takes - assignment statements. This is a bit of a kludge. */ -! else if (w->word->word[0] == '-' && strchr (w->word->word, 'A')) - { - if (b == 0) ---- 3611,3618 ---- - /* Note that we saw an associative array option to a builtin that takes - assignment statements. This is a bit of a kludge. */ -! else if (w->word->word[0] == '-' && (strchr (w->word->word+1, 'A') || strchr (w->word->word+1, 'g'))) -! #else -! else if (w->word->word[0] == '-' && strchr (w->word->word+1, 'g')) -! #endif - { - if (b == 0) -*************** -*** 3619,3626 **** - words->word->flags |= W_ASSNBLTIN; - } -! if (words->word->flags & W_ASSNBLTIN) - assoc = 1; - } -- #endif - } - ---- 3624,3632 ---- - words->word->flags |= W_ASSNBLTIN; - } -! if ((words->word->flags & W_ASSNBLTIN) && strchr (w->word->word+1, 'A')) - assoc = 1; -+ if ((words->word->flags & W_ASSNBLTIN) && strchr (w->word->word+1, 'g')) -+ global = 1; - } - } - -*** ../bash-4.2-patched/subst.c 2012-03-11 17:35:13.000000000 -0400 ---- subst.c 2012-04-01 12:38:35.000000000 -0400 -*************** -*** 367,370 **** ---- 367,375 ---- - fprintf (stderr, "W_ASSNBLTIN%s", f ? "|" : ""); - } -+ if (f & W_ASSNGLOBAL) -+ { -+ f &= ~W_ASSNGLOBAL; -+ fprintf (stderr, "W_ASSNGLOBAL%s", f ? "|" : ""); -+ } - if (f & W_COMPASSIGN) - { -*************** -*** 2804,2808 **** - else if (assign_list) - { -! if (word->flags & W_ASSIGNARG) - aflags |= ASS_MKLOCAL; - if (word->flags & W_ASSIGNASSOC) ---- 2809,2813 ---- - else if (assign_list) - { -! if ((word->flags & W_ASSIGNARG) && (word->flags & W_ASSNGLOBAL) == 0) - aflags |= ASS_MKLOCAL; - if (word->flags & W_ASSIGNASSOC) - -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 24 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 25 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-026 b/source/a/bash/bash-4.2-patches/bash42-026 deleted file mode 100644 index e15d7480..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-026 +++ /dev/null @@ -1,58 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-026 - -Bug-Reported-by: Greg Wooledge <wooledg@eeg.ccf.org> -Bug-Reference-ID: <20120425180443.GO22241@eeg.ccf.org> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00172.html - -Bug-Description: - -The `lastpipe' option does not behave correctly on machines where the -open file limit is less than 256. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/execute_cmd.c 2011-11-21 12:04:47.000000000 -0500 ---- execute_cmd.c 2012-04-26 11:09:30.000000000 -0400 -*************** -*** 2206,2210 **** - if (lastpipe_opt && job_control == 0 && asynchronous == 0 && pipe_out == NO_PIPE && prev > 0) - { -! lstdin = move_to_high_fd (0, 0, 255); - if (lstdin > 0) - { ---- 2325,2329 ---- - if (lastpipe_opt && job_control == 0 && asynchronous == 0 && pipe_out == NO_PIPE && prev > 0) - { -! lstdin = move_to_high_fd (0, 1, -1); - if (lstdin > 0) - { -*************** -*** 2252,2256 **** ---- 2371,2377 ---- - } - -+ #if defined (JOB_CONTROL) - discard_unwind_frame ("lastpipe-exec"); -+ #endif - - return (exec_result); - -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 25 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 26 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-027 b/source/a/bash/bash-4.2-patches/bash42-027 deleted file mode 100644 index c0c5d3f8..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-027 +++ /dev/null @@ -1,47 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-027 - -Bug-Reported-by: Mike Frysinger <vapier@gentoo.org> -Bug-Reference-ID: <201204211243.30163.vapier@gentoo.org> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00134.html - -Bug-Description: - -When the `extglob' shell option is enabled, pattern substitution does not -work correctly in the presence of multibyte characters. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/subst.c 2012-03-11 17:52:57.000000000 -0400 ---- subst.c 2012-04-22 16:19:10.000000000 -0400 -*************** -*** 4167,4171 **** - #if defined (EXTENDED_GLOB) - if (extended_glob) -! simple |= (wpat[1] != L'(' || (wpat[0] != L'*' && wpat[0] != L'?' && wpat[0] != L'+' && wpat[0] != L'!' && wpat[0] != L'@')); /*)*/ - #endif - ---- 4167,4171 ---- - #if defined (EXTENDED_GLOB) - if (extended_glob) -! simple &= (wpat[1] != L'(' || (wpat[0] != L'*' && wpat[0] != L'?' && wpat[0] != L'+' && wpat[0] != L'!' && wpat[0] != L'@')); /*)*/ - #endif - -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 26 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 27 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-028 b/source/a/bash/bash-4.2-patches/bash42-028 deleted file mode 100644 index fa3be3b4..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-028 +++ /dev/null @@ -1,52 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-028 - -Bug-Reported-by: Mark Edgar <medgar123@gmail.com> -Bug-Reference-ID: <CABHMh_3d+ZgO_zaEtYXPwK4P7tC0ghZ4g=Ue_TRpsEMf5YDsqw@mail.gmail.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-03/msg00109.html - -Bug-Description: - -When using a word expansion for which the right hand side is evaluated, -certain expansions of quoted null strings include spurious ^? characters. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/subst.c 2012-03-11 17:35:13.000000000 -0400 ---- subst.c 2012-03-20 19:30:13.000000000 -0400 -*************** -*** 5810,5813 **** ---- 5810,5823 ---- - if (qdollaratp && ((hasdol && quoted) || l->next)) - *qdollaratp = 1; -+ /* If we have a quoted null result (QUOTED_NULL(temp)) and the word is -+ a quoted null (l->next == 0 && QUOTED_NULL(l->word->word)), the -+ flags indicate it (l->word->flags & W_HASQUOTEDNULL), and the -+ expansion is quoted (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) -+ (which is more paranoia than anything else), we need to return the -+ quoted null string and set the flags to indicate it. */ -+ if (l->next == 0 && (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && QUOTED_NULL(temp) && QUOTED_NULL(l->word->word) && (l->word->flags & W_HASQUOTEDNULL)) -+ { -+ w->flags |= W_HASQUOTEDNULL; -+ } - dispose_words (l); - } - -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 27 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 28 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-029 b/source/a/bash/bash-4.2-patches/bash42-029 deleted file mode 100644 index c51704ca..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-029 +++ /dev/null @@ -1,524 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-029 - -Bug-Reported-by: "Michael Kalisz" <michael@kalisz.homelinux.net> -Bug-Reference-ID: <50241.78.69.11.112.1298585641.squirrel@kalisz.homelinux.net> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00274.html - -Bug-Description: - -Bash-4.2 tries to leave completed directory names as the user typed them, -without expanding them to a full pathname. One effect of this is that -shell variables used in pathnames being completed (e.g., $HOME) are left -unchanged, but the `$' is quoted by readline because it is a special -character to the shell. - -This patch introduces two things: - -1. A new shell option, `direxpand', which, if set, attempts to emulate the - bash-4.1 behavior of expanding words to full pathnames during - completion; -2. A set of heuristics that reduce the number of times special characters - such as `$' are quoted when the directory name is not expanded. - -Patch (apply with `patch -p0'): - -diff -NrC 2 ../bash-4.2-patched/bashline.c ./bashline.c -*** ../bash-4.2-patched/bashline.c 2011-01-16 15:32:47.000000000 -0500 ---- ./bashline.c 2012-05-07 16:27:18.000000000 -0400 -*************** -*** 122,125 **** ---- 122,128 ---- - static int bash_push_line __P((void)); - -+ static rl_icppfunc_t *save_directory_hook __P((void)); -+ static void reset_directory_hook __P((rl_icppfunc_t *)); -+ - static void cleanup_expansion_error __P((void)); - static void maybe_make_readline_line __P((char *)); -*************** -*** 244,251 **** ---- 247,261 ---- - int dircomplete_spelling = 0; - -+ /* Expand directory names during word/filename completion. */ -+ int dircomplete_expand = 0; -+ int dircomplete_expand_relpath = 0; -+ - static char *bash_completer_word_break_characters = " \t\n\"'@><=;|&(:"; - static char *bash_nohostname_word_break_characters = " \t\n\"'><=;|&(:"; - /* )) */ - -+ static const char *default_filename_quote_characters = " \t\n\\\"'@<>=;|&()#$`?*[!:{~"; /*}*/ -+ static char *custom_filename_quote_characters = 0; -+ - static rl_hook_func_t *old_rl_startup_hook = (rl_hook_func_t *)NULL; - -*************** -*** 502,506 **** - /* Tell the completer that we might want to follow symbolic links or - do other expansion on directory names. */ -! rl_directory_rewrite_hook = bash_directory_completion_hook; - - rl_filename_rewrite_hook = bash_filename_rewrite_hook; ---- 512,516 ---- - /* Tell the completer that we might want to follow symbolic links or - do other expansion on directory names. */ -! set_directory_hook (); - - rl_filename_rewrite_hook = bash_filename_rewrite_hook; -*************** -*** 530,534 **** - - /* characters that need to be quoted when appearing in filenames. */ -! rl_filename_quote_characters = " \t\n\\\"'@<>=;|&()#$`?*[!:{~"; /*}*/ - - rl_filename_quoting_function = bash_quote_filename; ---- 540,544 ---- - - /* characters that need to be quoted when appearing in filenames. */ -! rl_filename_quote_characters = default_filename_quote_characters; - - rl_filename_quoting_function = bash_quote_filename; -*************** -*** 565,570 **** - rl_attempted_completion_function = attempt_shell_completion; - rl_completion_entry_function = NULL; -- rl_directory_rewrite_hook = bash_directory_completion_hook; - rl_ignore_some_completions_function = filename_completion_ignore; - } - ---- 575,582 ---- - rl_attempted_completion_function = attempt_shell_completion; - rl_completion_entry_function = NULL; - rl_ignore_some_completions_function = filename_completion_ignore; -+ rl_filename_quote_characters = default_filename_quote_characters; -+ -+ set_directory_hook (); - } - -*************** -*** 1280,1283 **** ---- 1292,1298 ---- - rl_ignore_some_completions_function = filename_completion_ignore; - -+ rl_filename_quote_characters = default_filename_quote_characters; -+ set_directory_hook (); -+ - /* Determine if this could be a command word. It is if it appears at - the start of the line (ignoring preceding whitespace), or if it -*************** -*** 1592,1595 **** ---- 1607,1616 ---- - else - { -+ if (dircomplete_expand && dot_or_dotdot (filename_hint)) -+ { -+ dircomplete_expand = 0; -+ set_directory_hook (); -+ dircomplete_expand = 1; -+ } - mapping_over = 4; - goto inner; -*************** -*** 1792,1795 **** ---- 1813,1819 ---- - inner: - val = rl_filename_completion_function (filename_hint, istate); -+ if (mapping_over == 4 && dircomplete_expand) -+ set_directory_hook (); -+ - istate = 1; - -*************** -*** 2694,2697 **** ---- 2718,2767 ---- - } - -+ /* Functions to save and restore the appropriate directory hook */ -+ /* This is not static so the shopt code can call it */ -+ void -+ set_directory_hook () -+ { -+ if (dircomplete_expand) -+ { -+ rl_directory_completion_hook = bash_directory_completion_hook; -+ rl_directory_rewrite_hook = (rl_icppfunc_t *)0; -+ } -+ else -+ { -+ rl_directory_rewrite_hook = bash_directory_completion_hook; -+ rl_directory_completion_hook = (rl_icppfunc_t *)0; -+ } -+ } -+ -+ static rl_icppfunc_t * -+ save_directory_hook () -+ { -+ rl_icppfunc_t *ret; -+ -+ if (dircomplete_expand) -+ { -+ ret = rl_directory_completion_hook; -+ rl_directory_completion_hook = (rl_icppfunc_t *)NULL; -+ } -+ else -+ { -+ ret = rl_directory_rewrite_hook; -+ rl_directory_rewrite_hook = (rl_icppfunc_t *)NULL; -+ } -+ -+ return ret; -+ } -+ -+ static void -+ restore_directory_hook (hookf) -+ rl_icppfunc_t *hookf; -+ { -+ if (dircomplete_expand) -+ rl_directory_completion_hook = hookf; -+ else -+ rl_directory_rewrite_hook = hookf; -+ } -+ - /* Handle symbolic link references and other directory name - expansions while hacking completion. This should return 1 if it modifies -*************** -*** 2703,2720 **** - { - char *local_dirname, *new_dirname, *t; -! int return_value, should_expand_dirname; - WORD_LIST *wl; - struct stat sb; - -! return_value = should_expand_dirname = 0; - local_dirname = *dirname; - -! if (mbschr (local_dirname, '$')) -! should_expand_dirname = 1; - else - { - t = mbschr (local_dirname, '`'); - if (t && unclosed_pair (local_dirname, strlen (local_dirname), "`") == 0) -! should_expand_dirname = 1; - } - ---- 2773,2801 ---- - { - char *local_dirname, *new_dirname, *t; -! int return_value, should_expand_dirname, nextch, closer; - WORD_LIST *wl; - struct stat sb; - -! return_value = should_expand_dirname = nextch = closer = 0; - local_dirname = *dirname; - -! if (t = mbschr (local_dirname, '$')) -! { -! should_expand_dirname = '$'; -! nextch = t[1]; -! /* Deliberately does not handle the deprecated $[...] arithmetic -! expansion syntax */ -! if (nextch == '(') -! closer = ')'; -! else if (nextch == '{') -! closer = '}'; -! else -! nextch = 0; -! } - else - { - t = mbschr (local_dirname, '`'); - if (t && unclosed_pair (local_dirname, strlen (local_dirname), "`") == 0) -! should_expand_dirname = '`'; - } - -*************** -*** 2740,2743 **** ---- 2821,2841 ---- - dispose_words (wl); - local_dirname = *dirname; -+ /* XXX - change rl_filename_quote_characters here based on -+ should_expand_dirname/nextch/closer. This is the only place -+ custom_filename_quote_characters is modified. */ -+ if (rl_filename_quote_characters && *rl_filename_quote_characters) -+ { -+ int i, j, c; -+ i = strlen (default_filename_quote_characters); -+ custom_filename_quote_characters = xrealloc (custom_filename_quote_characters, i+1); -+ for (i = j = 0; c = default_filename_quote_characters[i]; i++) -+ { -+ if (c == should_expand_dirname || c == nextch || c == closer) -+ continue; -+ custom_filename_quote_characters[j++] = c; -+ } -+ custom_filename_quote_characters[j] = '\0'; -+ rl_filename_quote_characters = custom_filename_quote_characters; -+ } - } - else -*************** -*** 2759,2762 **** ---- 2857,2871 ---- - } - -+ /* no_symbolic_links == 0 -> use (default) logical view of the file system. -+ local_dirname[0] == '.' && local_dirname[1] == '/' means files in the -+ current directory (./). -+ local_dirname[0] == '.' && local_dirname[1] == 0 means relative pathnames -+ in the current directory (e.g., lib/sh). -+ XXX - should we do spelling correction on these? */ -+ -+ /* This is test as it was in bash-4.2: skip relative pathnames in current -+ directory. Change test to -+ (local_dirname[0] != '.' || (local_dirname[1] && local_dirname[1] != '/')) -+ if we want to skip paths beginning with ./ also. */ - if (no_symbolic_links == 0 && (local_dirname[0] != '.' || local_dirname[1])) - { -*************** -*** 2764,2767 **** ---- 2873,2885 ---- - int len1, len2; - -+ /* If we have a relative path -+ (local_dirname[0] != '/' && local_dirname[0] != '.') -+ that is canonical after appending it to the current directory, then -+ temp1 = temp2+'/' -+ That is, -+ strcmp (temp1, temp2) == 0 -+ after adding a slash to temp2 below. It should be safe to not -+ change those. -+ */ - t = get_working_directory ("symlink-hook"); - temp1 = make_absolute (local_dirname, t); -*************** -*** 2798,2802 **** - } - } -! return_value |= STREQ (local_dirname, temp2) == 0; - free (local_dirname); - *dirname = temp2; ---- 2916,2928 ---- - } - } -! -! /* dircomplete_expand_relpath == 0 means we want to leave relative -! pathnames that are unchanged by canonicalization alone. -! *local_dirname != '/' && *local_dirname != '.' == relative pathname -! (consistent with general.c:absolute_pathname()) -! temp1 == temp2 (after appending a slash to temp2) means the pathname -! is not changed by canonicalization as described above. */ -! if (dircomplete_expand_relpath || ((local_dirname[0] != '/' && local_dirname[0] != '.') && STREQ (temp1, temp2) == 0)) -! return_value |= STREQ (local_dirname, temp2) == 0; - free (local_dirname); - *dirname = temp2; -*************** -*** 3003,3012 **** - orig_func = rl_completion_entry_function; - orig_attempt_func = rl_attempted_completion_function; -- orig_dir_func = rl_directory_rewrite_hook; - orig_ignore_func = rl_ignore_some_completions_function; - orig_rl_completer_word_break_characters = rl_completer_word_break_characters; - rl_completion_entry_function = rl_filename_completion_function; - rl_attempted_completion_function = (rl_completion_func_t *)NULL; -- rl_directory_rewrite_hook = (rl_icppfunc_t *)NULL; - rl_ignore_some_completions_function = filename_completion_ignore; - rl_completer_word_break_characters = " \t\n\"\'"; ---- 3129,3139 ---- - orig_func = rl_completion_entry_function; - orig_attempt_func = rl_attempted_completion_function; - orig_ignore_func = rl_ignore_some_completions_function; - orig_rl_completer_word_break_characters = rl_completer_word_break_characters; -+ -+ orig_dir_func = save_directory_hook (); -+ - rl_completion_entry_function = rl_filename_completion_function; - rl_attempted_completion_function = (rl_completion_func_t *)NULL; - rl_ignore_some_completions_function = filename_completion_ignore; - rl_completer_word_break_characters = " \t\n\"\'"; -*************** -*** 3016,3023 **** - rl_completion_entry_function = orig_func; - rl_attempted_completion_function = orig_attempt_func; -- rl_directory_rewrite_hook = orig_dir_func; - rl_ignore_some_completions_function = orig_ignore_func; - rl_completer_word_break_characters = orig_rl_completer_word_break_characters; - - return r; - } ---- 3143,3151 ---- - rl_completion_entry_function = orig_func; - rl_attempted_completion_function = orig_attempt_func; - rl_ignore_some_completions_function = orig_ignore_func; - rl_completer_word_break_characters = orig_rl_completer_word_break_characters; - -+ restore_directory_hook (orig_dir_func); -+ - return r; - } -diff -NrC 2 ../bash-4.2-patched/bashline.h ./bashline.h -*** ../bash-4.2-patched/bashline.h 2009-01-04 14:32:22.000000000 -0500 ---- ./bashline.h 2012-05-07 16:27:18.000000000 -0400 -*************** -*** 34,41 **** ---- 34,46 ---- - extern int bash_re_edit __P((char *)); - -+ extern void bashline_set_event_hook __P((void)); -+ extern void bashline_reset_event_hook __P((void)); -+ - extern int bind_keyseq_to_unix_command __P((char *)); - - extern char **bash_default_completion __P((const char *, int, int, int, int)); - -+ void set_directory_hook __P((void)); -+ - /* Used by programmable completion code. */ - extern char *command_word_completion_function __P((const char *, int)); -diff -NrC 2 ../bash-4.2-patched/builtins/shopt.def ./builtins/shopt.def -*** ../bash-4.2-patched/builtins/shopt.def 2010-07-02 22:42:44.000000000 -0400 ---- ./builtins/shopt.def 2012-05-07 16:27:18.000000000 -0400 -*************** -*** 62,65 **** ---- 62,69 ---- - #include "bashgetopt.h" - -+ #if defined (READLINE) -+ # include "../bashline.h" -+ #endif -+ - #if defined (HISTORY) - # include "../bashhist.h" -*************** -*** 95,99 **** - extern int no_empty_command_completion; - extern int force_fignore; -! extern int dircomplete_spelling; - - extern int enable_hostname_completion __P((int)); ---- 99,103 ---- - extern int no_empty_command_completion; - extern int force_fignore; -! extern int dircomplete_spelling, dircomplete_expand; - - extern int enable_hostname_completion __P((int)); -*************** -*** 122,125 **** ---- 126,133 ---- - #endif - -+ #if defined (READLINE) -+ static int shopt_set_complete_direxpand __P((char *, int)); -+ #endif -+ - static int shopt_login_shell; - static int shopt_compat31; -*************** -*** 151,154 **** ---- 159,163 ---- - { "compat41", &shopt_compat41, set_compatibility_level }, - #if defined (READLINE) -+ { "direxpand", &dircomplete_expand, shopt_set_complete_direxpand }, - { "dirspell", &dircomplete_spelling, (shopt_set_func_t *)NULL }, - #endif -*************** -*** 536,539 **** ---- 545,559 ---- - } - -+ #if defined (READLINE) -+ static int -+ shopt_set_complete_direxpand (option_name, mode) -+ char *option_name; -+ int mode; -+ { -+ set_directory_hook (); -+ return 0; -+ } -+ #endif -+ - #if defined (RESTRICTED_SHELL) - /* Don't allow the value of restricted_shell to be modified. */ -Binary files ../bash-4.2-patched/doc/._bashref.pdf and ./doc/._bashref.pdf differ -diff -NrC 2 ../bash-4.2-patched/doc/bash.1 ./doc/bash.1 -*** ../bash-4.2-patched/doc/bash.1 2011-01-16 15:31:39.000000000 -0500 ---- ./doc/bash.1 2012-05-07 16:27:18.000000000 -0400 -*************** -*** 8949,8952 **** ---- 8949,8962 ---- - The default bash behavior remains as in previous versions. - .TP 8 -+ .B direxpand -+ If set, -+ .B bash -+ replaces directory names with the results of word expansion when performing -+ filename completion. This changes the contents of the readline editing -+ buffer. -+ If not set, -+ .B bash -+ attempts to preserve what the user typed. -+ .TP 8 - .B dirspell - If set, -diff -NrC 2 ../bash-4.2-patched/doc/bashref.texi ./doc/bashref.texi -*** ../bash-4.2-patched/doc/bashref.texi 2011-01-16 15:31:57.000000000 -0500 ---- ./doc/bashref.texi 2012-05-07 16:27:18.000000000 -0400 -*************** -*** 4536,4539 **** ---- 4536,4546 ---- - The default Bash behavior remains as in previous versions. - -+ @item direxpand -+ If set, Bash -+ replaces directory names with the results of word expansion when performing -+ filename completion. This changes the contents of the readline editing -+ buffer. -+ If not set, Bash attempts to preserve what the user typed. -+ - @item dirspell - If set, Bash -diff -NrC 2 ../bash-4.2-patched/tests/shopt.right ./tests/shopt.right -*** ../bash-4.2-patched/tests/shopt.right 2010-07-02 23:36:30.000000000 -0400 ---- ./tests/shopt.right 2012-05-07 16:27:18.000000000 -0400 -*************** -*** 13,16 **** ---- 13,17 ---- - shopt -u compat40 - shopt -u compat41 -+ shopt -u direxpand - shopt -u dirspell - shopt -u dotglob -*************** -*** 69,72 **** ---- 70,74 ---- - shopt -u compat40 - shopt -u compat41 -+ shopt -u direxpand - shopt -u dirspell - shopt -u dotglob -*************** -*** 102,105 **** ---- 104,108 ---- - compat40 off - compat41 off -+ direxpand off - dirspell off - dotglob off -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 28 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 29 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-030 b/source/a/bash/bash-4.2-patches/bash42-030 deleted file mode 100644 index 261a619b..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-030 +++ /dev/null @@ -1,178 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-030 - -Bug-Reported-by: Roman Rakus <rrakus@redhat.com> -Bug-Reference-ID: <4D7DD91E.7040808@redhat.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00126.html - -Bug-Description: - -When attempting to glob strings in a multibyte locale, and those strings -contain invalid multibyte characters that cause mbsnrtowcs to return 0, -the globbing code loops infinitely. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/lib/glob/xmbsrtowcs.c 2010-05-30 18:36:27.000000000 -0400 ---- lib/glob/xmbsrtowcs.c 2011-03-22 16:06:47.000000000 -0400 -*************** -*** 36,39 **** ---- 36,41 ---- - #if HANDLE_MULTIBYTE - -+ #define WSBUF_INC 32 -+ - #ifndef FREE - # define FREE(x) do { if (x) free (x); } while (0) -*************** -*** 149,153 **** - size_t wcnum; /* Number of wide characters in WSBUF */ - mbstate_t state; /* Conversion State */ -! size_t wcslength; /* Number of wide characters produced by the conversion. */ - const char *end_or_backslash; - size_t nms; /* Number of multibyte characters to convert at one time. */ ---- 151,155 ---- - size_t wcnum; /* Number of wide characters in WSBUF */ - mbstate_t state; /* Conversion State */ -! size_t n, wcslength; /* Number of wide characters produced by the conversion. */ - const char *end_or_backslash; - size_t nms; /* Number of multibyte characters to convert at one time. */ -*************** -*** 172,176 **** - tmp_p = p; - tmp_state = state; -! wcslength = mbsnrtowcs(NULL, &tmp_p, nms, 0, &tmp_state); - - /* Conversion failed. */ ---- 174,189 ---- - tmp_p = p; - tmp_state = state; -! -! if (nms == 0 && *p == '\\') /* special initial case */ -! nms = wcslength = 1; -! else -! wcslength = mbsnrtowcs (NULL, &tmp_p, nms, 0, &tmp_state); -! -! if (wcslength == 0) -! { -! tmp_p = p; /* will need below */ -! tmp_state = state; -! wcslength = 1; /* take a single byte */ -! } - - /* Conversion failed. */ -*************** -*** 187,191 **** - wchar_t *wstmp; - -! wsbuf_size = wcnum+wcslength+1; /* 1 for the L'\0' or the potential L'\\' */ - - wstmp = (wchar_t *) realloc (wsbuf, wsbuf_size * sizeof (wchar_t)); ---- 200,205 ---- - wchar_t *wstmp; - -! while (wsbuf_size < wcnum+wcslength+1) /* 1 for the L'\0' or the potential L'\\' */ -! wsbuf_size += WSBUF_INC; - - wstmp = (wchar_t *) realloc (wsbuf, wsbuf_size * sizeof (wchar_t)); -*************** -*** 200,207 **** - - /* Perform the conversion. This is assumed to return 'wcslength'. -! * It may set 'p' to NULL. */ -! mbsnrtowcs(wsbuf+wcnum, &p, nms, wsbuf_size-wcnum, &state); - -! wcnum += wcslength; - - if (mbsinit (&state) && (p != NULL) && (*p == '\\')) ---- 214,229 ---- - - /* Perform the conversion. This is assumed to return 'wcslength'. -! It may set 'p' to NULL. */ -! n = mbsnrtowcs(wsbuf+wcnum, &p, nms, wsbuf_size-wcnum, &state); - -! /* Compensate for taking single byte on wcs conversion failure above. */ -! if (wcslength == 1 && (n == 0 || n == (size_t)-1)) -! { -! state = tmp_state; -! p = tmp_p; -! wsbuf[wcnum++] = *p++; -! } -! else -! wcnum += wcslength; - - if (mbsinit (&state) && (p != NULL) && (*p == '\\')) -*************** -*** 231,236 **** - of DESTP and INDICESP are NULL. */ - -- #define WSBUF_INC 32 -- - size_t - xdupmbstowcs (destp, indicesp, src) ---- 253,256 ---- -*** ../bash-4.2-patched/lib/glob/glob.c 2009-11-14 18:39:30.000000000 -0500 ---- lib/glob/glob.c 2012-07-07 12:09:56.000000000 -0400 -*************** -*** 201,206 **** - size_t pat_n, dn_n; - - pat_n = xdupmbstowcs (&pat_wc, NULL, pat); -! dn_n = xdupmbstowcs (&dn_wc, NULL, dname); - - ret = 0; ---- 201,209 ---- - size_t pat_n, dn_n; - -+ pat_wc = dn_wc = (wchar_t *)NULL; -+ - pat_n = xdupmbstowcs (&pat_wc, NULL, pat); -! if (pat_n != (size_t)-1) -! dn_n = xdupmbstowcs (&dn_wc, NULL, dname); - - ret = 0; -*************** -*** 222,225 **** ---- 225,230 ---- - ret = 1; - } -+ else -+ ret = skipname (pat, dname, flags); - - FREE (pat_wc); -*************** -*** 267,272 **** - n = xdupmbstowcs (&wpathname, NULL, pathname); - if (n == (size_t) -1) -! /* Something wrong. */ -! return; - orig_wpathname = wpathname; - ---- 272,280 ---- - n = xdupmbstowcs (&wpathname, NULL, pathname); - if (n == (size_t) -1) -! { -! /* Something wrong. Fall back to single-byte */ -! udequote_pathname (pathname); -! return; -! } - orig_wpathname = wpathname; - -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 29 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 30 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-031 b/source/a/bash/bash-4.2-patches/bash42-031 deleted file mode 100644 index 419d4478..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-031 +++ /dev/null @@ -1,80 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-031 - -Bug-Reported-by: Max Horn <max@quendi.de> -Bug-Reference-ID: <20CC5C60-07C3-4E41-9817-741E48D407C5@quendi.de> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2012-06/msg00005.html - -Bug-Description: - -A change between bash-4.1 and bash-4.2 to prevent the readline input hook -from being called too frequently had the side effect of causing delays -when reading pasted input on systems such as Mac OS X. This patch fixes -those delays while retaining the bash-4.2 behavior. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/lib/readline/input.c 2010-05-30 18:33:01.000000000 -0400 ---- lib/readline/input.c 2012-06-25 21:08:42.000000000 -0400 -*************** -*** 410,414 **** - rl_read_key () - { -! int c; - - rl_key_sequence_length++; ---- 412,416 ---- - rl_read_key () - { -! int c, r; - - rl_key_sequence_length++; -*************** -*** 430,441 **** - while (rl_event_hook) - { -! if (rl_gather_tyi () < 0) /* XXX - EIO */ - { - rl_done = 1; - return ('\n'); - } - RL_CHECK_SIGNALS (); -- if (rl_get_char (&c) != 0) -- break; - if (rl_done) /* XXX - experimental */ - return ('\n'); ---- 432,447 ---- - while (rl_event_hook) - { -! if (rl_get_char (&c) != 0) -! break; -! -! if ((r = rl_gather_tyi ()) < 0) /* XXX - EIO */ - { - rl_done = 1; - return ('\n'); - } -+ else if (r == 1) /* read something */ -+ continue; -+ - RL_CHECK_SIGNALS (); - if (rl_done) /* XXX - experimental */ - return ('\n'); -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 30 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 31 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-032 b/source/a/bash/bash-4.2-patches/bash42-032 deleted file mode 100644 index d4f25ca0..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-032 +++ /dev/null @@ -1,75 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-032 - -Bug-Reported-by: Ruediger Kuhlmann <RKuhlmann@orga-systems.com> -Bug-Reference-ID: <OFDE975207.0C3622E5-ONC12579F3.00361A06-C12579F3.00365E39@orga-systems.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-05/msg00010.html - -Bug-Description: - -Bash-4.2 has problems with DEL characters in the expanded value of variables -used in the same quoted string as variables that expand to nothing. - -Patch (apply with `patch -p0'): - -*** ../bash-20120427/subst.c 2012-04-22 16:19:10.000000000 -0400 ---- subst.c 2012-05-07 16:06:35.000000000 -0400 -*************** -*** 8152,8155 **** ---- 8152,8163 ---- - dispose_word_desc (tword); - -+ /* Kill quoted nulls; we will add them back at the end of -+ expand_word_internal if nothing else in the string */ -+ if (had_quoted_null && temp && QUOTED_NULL (temp)) -+ { -+ FREE (temp); -+ temp = (char *)NULL; -+ } -+ - goto add_string; - break; -*************** -*** 8556,8560 **** - if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) - tword->flags |= W_QUOTED; -! if (had_quoted_null) - tword->flags |= W_HASQUOTEDNULL; - list = make_word_list (tword, (WORD_LIST *)NULL); ---- 8564,8568 ---- - if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) - tword->flags |= W_QUOTED; -! if (had_quoted_null && QUOTED_NULL (istring)) - tword->flags |= W_HASQUOTEDNULL; - list = make_word_list (tword, (WORD_LIST *)NULL); -*************** -*** 8587,8591 **** - if (word->flags & W_NOEXPAND) - tword->flags |= W_NOEXPAND; -! if (had_quoted_null) - tword->flags |= W_HASQUOTEDNULL; /* XXX */ - list = make_word_list (tword, (WORD_LIST *)NULL); ---- 8595,8599 ---- - if (word->flags & W_NOEXPAND) - tword->flags |= W_NOEXPAND; -! if (had_quoted_null && QUOTED_NULL (istring)) - tword->flags |= W_HASQUOTEDNULL; /* XXX */ - list = make_word_list (tword, (WORD_LIST *)NULL); -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 31 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 32 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-033 b/source/a/bash/bash-4.2-patches/bash42-033 deleted file mode 100644 index e58d7286..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-033 +++ /dev/null @@ -1,57 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-033 - -Bug-Reported-by: David Leverton <levertond@googlemail.com> -Bug-Reference-ID: <4FCCE737.1060603@googlemail.com> -Bug-Reference-URL: - -Bug-Description: - -Bash uses a static buffer when expanding the /dev/fd prefix for the test -and conditional commands, among other uses, when it should use a dynamic -buffer to avoid buffer overflow. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/lib/sh/eaccess.c 2011-01-08 20:50:10.000000000 -0500 ---- lib/sh/eaccess.c 2012-06-04 21:06:43.000000000 -0400 -*************** -*** 83,86 **** ---- 83,88 ---- - struct stat *finfo; - { -+ static char *pbuf = 0; -+ - if (*path == '\0') - { -*************** -*** 107,111 **** - On most systems, with the notable exception of linux, this is - effectively a no-op. */ -! char pbuf[32]; - strcpy (pbuf, DEV_FD_PREFIX); - strcat (pbuf, path + 8); ---- 109,113 ---- - On most systems, with the notable exception of linux, this is - effectively a no-op. */ -! pbuf = xrealloc (pbuf, sizeof (DEV_FD_PREFIX) + strlen (path + 8)); - strcpy (pbuf, DEV_FD_PREFIX); - strcat (pbuf, path + 8); -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 32 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 33 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-034 b/source/a/bash/bash-4.2-patches/bash42-034 deleted file mode 100644 index e4f05e10..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-034 +++ /dev/null @@ -1,46 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-034 - -Bug-Reported-by: "Davide Brini" <dave_br@gmx.com> -Bug-Reference-ID: <20120604164154.69781EC04B@imaps.oficinas.atrapalo.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-06/msg00030.html - -Bug-Description: - -In bash-4.2, the history code would inappropriately add a semicolon to -multi-line compound array assignments when adding them to the history. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/parse.y 2011-11-21 18:03:36.000000000 -0500 ---- parse.y 2012-06-07 12:48:47.000000000 -0400 -*************** -*** 4900,4905 **** ---- 4916,4924 ---- - return (current_command_line_count == 2 ? "\n" : ""); - } - -+ if (parser_state & PST_COMPASSIGN) -+ return (" "); -+ - /* First, handle some special cases. */ - /*(*/ - /* If we just read `()', assume it's a function definition, and don't -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 33 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 34 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-035 b/source/a/bash/bash-4.2-patches/bash42-035 deleted file mode 100644 index 6f0be6f9..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-035 +++ /dev/null @@ -1,66 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-035 - -Bug-Reported-by: Dan Douglas <ormaaj@gmail.com> -Bug-Reference-ID: <2766482.Ksm3GrSoYi@smorgbox> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-06/msg00071.html - -Bug-Description: - -When given a number of lines to read, `mapfile -n lines' reads one too many. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/builtins/mapfile.def 2010-05-29 22:09:47.000000000 -0400 ---- builtins/mapfile.def 2012-06-20 09:48:33.000000000 -0400 -*************** -*** 196,206 **** - interrupt_immediately++; - for (array_index = origin, line_count = 1; -! zgetline (fd, &line, &line_length, unbuffered_read) != -1; -! array_index++, line_count++) - { -- /* Have we exceeded # of lines to store? */ -- if (line_count_goal != 0 && line_count > line_count_goal) -- break; -- - /* Remove trailing newlines? */ - if (flags & MAPF_CHOP) ---- 196,202 ---- - interrupt_immediately++; - for (array_index = origin, line_count = 1; -! zgetline (fd, &line, &line_length, unbuffered_read) != -1; -! array_index++) - { - /* Remove trailing newlines? */ - if (flags & MAPF_CHOP) -*************** -*** 218,221 **** ---- 214,222 ---- - - bind_array_element (entry, array_index, line, 0); -+ -+ /* Have we exceeded # of lines to store? */ -+ line_count++; -+ if (line_count_goal != 0 && line_count > line_count_goal) -+ break; - } - -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 34 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 35 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-036 b/source/a/bash/bash-4.2-patches/bash42-036 deleted file mode 100644 index 73fac408..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-036 +++ /dev/null @@ -1,92 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-036 - -Bug-Reported-by: gregrwm <backuppc-users@whitleymott.net> -Bug-Reference-ID: <CAD+dB9B4JG+qUwZBQUwiQmVt0j6NDn=DDTxr9R+nkA8DL4KLJA@mail.gmail.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-05/msg00108.html - -Bug-Description: - -Bash-4.2 produces incorrect word splitting results when expanding -double-quoted $@ in the same string as and adjacent to other variable -expansions. The $@ should be split, the other expansions should not. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/subst.c 2012-05-02 12:02:33.000000000 -0400 ---- subst.c 2012-07-08 21:19:32.000000000 -0400 -*************** -*** 7923,7927 **** - /* State flags */ - int had_quoted_null; -! int has_dollar_at; - int tflag; - int pflags; /* flags passed to param_expand */ ---- 7923,7927 ---- - /* State flags */ - int had_quoted_null; -! int has_dollar_at, temp_has_dollar_at; - int tflag; - int pflags; /* flags passed to param_expand */ -*************** -*** 8128,8138 **** - *expanded_something = 1; - -! has_dollar_at = 0; - pflags = (word->flags & W_NOCOMSUB) ? PF_NOCOMSUB : 0; - if (word->flags & W_NOSPLIT2) - pflags |= PF_NOSPLIT2; - tword = param_expand (string, &sindex, quoted, expanded_something, -! &has_dollar_at, "ed_dollar_at, - &had_quoted_null, pflags); - - if (tword == &expand_wdesc_error || tword == &expand_wdesc_fatal) ---- 8128,8139 ---- - *expanded_something = 1; - -! temp_has_dollar_at = 0; - pflags = (word->flags & W_NOCOMSUB) ? PF_NOCOMSUB : 0; - if (word->flags & W_NOSPLIT2) - pflags |= PF_NOSPLIT2; - tword = param_expand (string, &sindex, quoted, expanded_something, -! &temp_has_dollar_at, "ed_dollar_at, - &had_quoted_null, pflags); -+ has_dollar_at += temp_has_dollar_at; - - if (tword == &expand_wdesc_error || tword == &expand_wdesc_fatal) -*************** -*** 8275,8281 **** - temp = (char *)NULL; - -! has_dollar_at = 0; - /* Need to get W_HASQUOTEDNULL flag through this function. */ -! list = expand_word_internal (tword, Q_DOUBLE_QUOTES, 0, &has_dollar_at, (int *)NULL); - - if (list == &expand_word_error || list == &expand_word_fatal) ---- 8276,8283 ---- - temp = (char *)NULL; - -! temp_has_dollar_at = 0; /* XXX */ - /* Need to get W_HASQUOTEDNULL flag through this function. */ -! list = expand_word_internal (tword, Q_DOUBLE_QUOTES, 0, &temp_has_dollar_at, (int *)NULL); -! has_dollar_at += temp_has_dollar_at; - - if (list == &expand_word_error || list == &expand_word_fatal) -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 35 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 36 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-037 b/source/a/bash/bash-4.2-patches/bash42-037 deleted file mode 100644 index a12b8a7e..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-037 +++ /dev/null @@ -1,112 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-037 - -Bug-Reported-by: Jakub Filak -Bug-Reference-ID: -Bug-Reference-URL: https://bugzilla.redhat.com/show_bug.cgi?id=813289 - -Bug-Description: - -Attempting to redo (using `.') the vi editing mode `cc', `dd', or `yy' -commands leads to an infinite loop. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/lib/readline/vi_mode.c 2011-02-25 11:17:02.000000000 -0500 ---- lib/readline/vi_mode.c 2012-06-02 12:24:47.000000000 -0400 -*************** -*** 1235,1243 **** - r = rl_domove_motion_callback (_rl_vimvcxt); - } -! else if (vi_redoing) - { - _rl_vimvcxt->motion = _rl_vi_last_motion; - r = rl_domove_motion_callback (_rl_vimvcxt); - } - #if defined (READLINE_CALLBACKS) - else if (RL_ISSTATE (RL_STATE_CALLBACK)) ---- 1297,1313 ---- - r = rl_domove_motion_callback (_rl_vimvcxt); - } -! else if (vi_redoing && _rl_vi_last_motion != 'd') /* `dd' is special */ - { - _rl_vimvcxt->motion = _rl_vi_last_motion; - r = rl_domove_motion_callback (_rl_vimvcxt); - } -+ else if (vi_redoing) /* handle redoing `dd' here */ -+ { -+ _rl_vimvcxt->motion = _rl_vi_last_motion; -+ rl_mark = rl_end; -+ rl_beg_of_line (1, key); -+ RL_UNSETSTATE (RL_STATE_VIMOTION); -+ r = vidomove_dispatch (_rl_vimvcxt); -+ } - #if defined (READLINE_CALLBACKS) - else if (RL_ISSTATE (RL_STATE_CALLBACK)) -*************** -*** 1317,1325 **** - r = rl_domove_motion_callback (_rl_vimvcxt); - } -! else if (vi_redoing) - { - _rl_vimvcxt->motion = _rl_vi_last_motion; - r = rl_domove_motion_callback (_rl_vimvcxt); - } - #if defined (READLINE_CALLBACKS) - else if (RL_ISSTATE (RL_STATE_CALLBACK)) ---- 1387,1403 ---- - r = rl_domove_motion_callback (_rl_vimvcxt); - } -! else if (vi_redoing && _rl_vi_last_motion != 'c') /* `cc' is special */ - { - _rl_vimvcxt->motion = _rl_vi_last_motion; - r = rl_domove_motion_callback (_rl_vimvcxt); - } -+ else if (vi_redoing) /* handle redoing `cc' here */ -+ { -+ _rl_vimvcxt->motion = _rl_vi_last_motion; -+ rl_mark = rl_end; -+ rl_beg_of_line (1, key); -+ RL_UNSETSTATE (RL_STATE_VIMOTION); -+ r = vidomove_dispatch (_rl_vimvcxt); -+ } - #if defined (READLINE_CALLBACKS) - else if (RL_ISSTATE (RL_STATE_CALLBACK)) -*************** -*** 1378,1381 **** ---- 1456,1472 ---- - r = rl_domove_motion_callback (_rl_vimvcxt); - } -+ else if (vi_redoing && _rl_vi_last_motion != 'y') /* `yy' is special */ -+ { -+ _rl_vimvcxt->motion = _rl_vi_last_motion; -+ r = rl_domove_motion_callback (_rl_vimvcxt); -+ } -+ else if (vi_redoing) /* handle redoing `yy' here */ -+ { -+ _rl_vimvcxt->motion = _rl_vi_last_motion; -+ rl_mark = rl_end; -+ rl_beg_of_line (1, key); -+ RL_UNSETSTATE (RL_STATE_VIMOTION); -+ r = vidomove_dispatch (_rl_vimvcxt); -+ } - #if defined (READLINE_CALLBACKS) - else if (RL_ISSTATE (RL_STATE_CALLBACK)) -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 36 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 37 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-038 b/source/a/bash/bash-4.2-patches/bash42-038 deleted file mode 100644 index 411e4dd5..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-038 +++ /dev/null @@ -1,47 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-038 - -Bug-Reported-by: armandsl@gmail.com -Bug-Reference-ID: <20120822112810.8D14920040@windmill.latviatours.lv> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-08/msg00049.html - -Bug-Description: - -If a backslash-newline (which is removed) with no other input is given as -input to `read', the shell tries to dereference a null pointer and seg faults. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/builtins/read.def 2012-03-11 17:52:44.000000000 -0400 ---- builtins/read.def 2012-08-22 11:53:09.000000000 -0400 -*************** -*** 792,796 **** - #endif - -! if (saw_escape) - { - t = dequote_string (input_string); ---- 847,851 ---- - #endif - -! if (saw_escape && input_string && *input_string) - { - t = dequote_string (input_string); -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 37 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 38 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-039 b/source/a/bash/bash-4.2-patches/bash42-039 deleted file mode 100644 index 21457af1..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-039 +++ /dev/null @@ -1,58 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-039 - -Bug-Reported-by: Dan Douglas <ormaaj@gmail.com> -Bug-Reference-ID: <1498458.MpVlmOXDB7@smorgbox> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-09/msg00008.html - -Bug-Description: - -Under certain circumstances, bash attempts to expand variables in arithmetic -expressions even when evaluation is being suppressed. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/expr.c 2011-11-21 18:03:35.000000000 -0500 ---- expr.c 2012-09-09 16:31:18.000000000 -0400 -*************** -*** 1010,1013 **** ---- 1073,1082 ---- - #endif - -+ /*itrace("expr_streval: %s: noeval = %d", tok, noeval);*/ -+ /* If we are suppressing evaluation, just short-circuit here instead of -+ going through the rest of the evaluator. */ -+ if (noeval) -+ return (0); -+ - /* [[[[[ */ - #if defined (ARRAY_VARS) -*************** -*** 1183,1186 **** ---- 1256,1263 ---- - - *cp = '\0'; -+ /* XXX - watch out for pointer aliasing issues here */ -+ if (curlval.tokstr && curlval.tokstr == tokstr) -+ init_lvalue (&curlval); -+ - FREE (tokstr); - tokstr = savestring (tp); -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 38 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 39 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-040 b/source/a/bash/bash-4.2-patches/bash42-040 deleted file mode 100644 index 1de0fe37..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-040 +++ /dev/null @@ -1,56 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-040 - -Bug-Reported-by: Andrey Zaitsev <jstcdr@gmail.com> -Bug-Reference-ID: <CAEZVQT5PJ1Mb_Zh8LT5qz8sv+-9Q6hGfQ5DU9ZxdJ+gV7xBUaQ@mail.gmail.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00144.html - -Bug-Description: - -Output redirection applied to builtin commands missed I/O errors if -they happened when the file descriptor was closed, rather than on write -(e.g., like with an out-of-space error on a remote NFS file system). - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/redir.c 2011-01-02 16:00:31.000000000 -0500 ---- redir.c 2012-04-24 20:42:12.000000000 -0400 -*************** -*** 1092,1099 **** - #if defined (BUFFERED_INPUT) - check_bash_input (redirector); -! close_buffered_fd (redirector); - #else /* !BUFFERED_INPUT */ -! close (redirector); - #endif /* !BUFFERED_INPUT */ - } - break; ---- 1092,1101 ---- - #if defined (BUFFERED_INPUT) - check_bash_input (redirector); -! r = close_buffered_fd (redirector); - #else /* !BUFFERED_INPUT */ -! r = close (redirector); - #endif /* !BUFFERED_INPUT */ -+ if (r < 0 && (flags & RX_INTERNAL) && (errno == EIO || errno == ENOSPC)) -+ REDIRECTION_ERROR (r, errno, -1); - } - break; -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 39 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 40 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-041 b/source/a/bash/bash-4.2-patches/bash42-041 deleted file mode 100644 index 37d4ac70..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-041 +++ /dev/null @@ -1,47 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-041 - -Bug-Reported-by: Andrey Borzenkov <arvidjaar@gmail.com> -Bug-Reference-ID: <20121202205200.2134478e@opensuse.site> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-12/msg00008.html - -Bug-Description: - -Process substitution incorrectly inherited a flag that inhibited using the -(local) temporary environment for variable lookups if it was providing -the filename to a redirection. The intent the flag is to enforce the -Posix command expansion ordering rules. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/subst.c 2012-07-14 15:53:20.000000000 -0400 ---- subst.c 2012-12-02 22:26:54.000000000 -0500 -*************** -*** 5125,5128 **** ---- 5129,5136 ---- - #endif /* HAVE_DEV_FD */ - -+ /* subshells shouldn't have this flag, which controls using the temporary -+ environment for variable lookups. */ -+ expanding_redir = 0; -+ - result = parse_and_execute (string, "process substitution", (SEVAL_NONINT|SEVAL_NOHIST)); - -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 40 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 41 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-042 b/source/a/bash/bash-4.2-patches/bash42-042 deleted file mode 100644 index 1ce0cae3..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-042 +++ /dev/null @@ -1,57 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-042 - -Bug-Reported-by: Adam Pippin <adam@gp-inc.ca> -Bug-Reference-ID: <CAPYbNHr6ucZFOoWsRdUJj6KP3Ju0j1bkESa_cmb7iU+kZwdVpg@mail.gmail.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-11/msg00087.html - -Bug-Description: - -Compilation failed after specifying the `--enable-minimal-config' option to -configure (more specifically, specifying `--disable-alias'). - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/parse.y 2012-07-08 21:53:33.000000000 -0400 ---- parse.y 2012-10-14 20:20:34.000000000 -0400 -*************** -*** 2394,2397 **** ---- 2392,2396 ---- - to consume the quoted newline and move to the next character in - the expansion. */ -+ #if defined (ALIAS) - if (expanding_alias () && shell_input_line[shell_input_line_index+1] == '\0') - { -*************** -*** 2404,2408 **** - goto next_alias_char; /* and get next character */ - } -! else - goto restart_read; - } ---- 2403,2408 ---- - goto next_alias_char; /* and get next character */ - } -! else -! #endif - goto restart_read; - } - -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 41 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 42 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-043 b/source/a/bash/bash-4.2-patches/bash42-043 deleted file mode 100644 index b25a5ee3..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-043 +++ /dev/null @@ -1,65 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-043 - -Bug-Reported-by: konsolebox <konsolebox@gmail.com> -Bug-Reference-ID: <CAJnmqwZuGKLgMsMwxRK4LL+2NN+HgvmKzrnode99QBGrcgX1Lw@mail.gmail.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2013-01/msg00138.html - -Bug-Description: - -When SIGCHLD is trapped, and a SIGCHLD trap handler runs when a pending -`read -t' invocation times out and generates SIGALRM, bash can crash with -a segmentation fault. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/builtins/read.def 2012-10-31 21:22:51.000517000 -0400 ---- builtins/read.def 2013-01-25 10:28:16.000038000 -0500 -*************** -*** 386,393 **** - /* Tricky. The top of the unwind-protect stack is the free of - input_string. We want to run all the rest and use input_string, -! so we have to remove it from the stack. */ -! remove_unwind_protect (); -! run_unwind_frame ("read_builtin"); - input_string[i] = '\0'; /* make sure it's terminated */ - retval = 128+SIGALRM; - goto assign_vars; ---- 386,403 ---- - /* Tricky. The top of the unwind-protect stack is the free of - input_string. We want to run all the rest and use input_string, -! so we have to save input_string temporarily, run the unwind- -! protects, then restore input_string so we can use it later. */ -! - input_string[i] = '\0'; /* make sure it's terminated */ -+ if (i == 0) -+ { -+ t = (char *)xmalloc (1); -+ t[0] = 0; -+ } -+ else -+ t = savestring (input_string); -+ -+ run_unwind_frame ("read_builtin"); -+ input_string = t; - retval = 128+SIGALRM; - goto assign_vars; - -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 42 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 43 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-044 b/source/a/bash/bash-4.2-patches/bash42-044 deleted file mode 100644 index e5bf2832..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-044 +++ /dev/null @@ -1,70 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-044 - -Bug-Reported-by: "Dashing" <dashing@hushmail.com> -Bug-Reference-ID: <20130211175049.D90786F446@smtp.hushmail.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2013-02/msg00030.html - -Bug-Description: - -When converting a multibyte string to a wide character string as part of -pattern matching, bash does not handle the end of the string correctly, -causing the search for the NUL to go beyond the end of the string and -reference random memory. Depending on the contents of that memory, bash -can produce errors or crash. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/lib/glob/xmbsrtowcs.c 2012-07-08 21:53:19.000000000 -0400 ---- lib/glob/xmbsrtowcs.c 2013-02-12 12:00:39.000000000 -0500 -*************** -*** 217,220 **** ---- 217,226 ---- - n = mbsnrtowcs(wsbuf+wcnum, &p, nms, wsbuf_size-wcnum, &state); - -+ if (n == 0 && p == 0) -+ { -+ wsbuf[wcnum] = L'\0'; -+ break; -+ } -+ - /* Compensate for taking single byte on wcs conversion failure above. */ - if (wcslength == 1 && (n == 0 || n == (size_t)-1)) -*************** -*** 222,226 **** - state = tmp_state; - p = tmp_p; -! wsbuf[wcnum++] = *p++; - } - else ---- 228,238 ---- - state = tmp_state; - p = tmp_p; -! wsbuf[wcnum] = *p; -! if (*p == 0) -! break; -! else -! { -! wcnum++; p++; -! } - } - else - -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 43 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 44 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.2-patches/bash42-045 b/source/a/bash/bash-4.2-patches/bash42-045 deleted file mode 100644 index e0f8559e..00000000 --- a/source/a/bash/bash-4.2-patches/bash42-045 +++ /dev/null @@ -1,53 +0,0 @@ - BASH PATCH REPORT - ================= - -Bash-Release: 4.2 -Patch-ID: bash42-045 - -Bug-Reported-by: Stephane Chazelas <stephane.chazelas@gmail.com> -Bug-Reference-ID: <20130218195539.GA9620@chaz.gmail.com> -Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2013-02/msg00080.html - -Bug-Description: - -The <&n- and >&n- redirections, which move one file descriptor to another, -leave the file descriptor closed when applied to builtins or compound -commands. - -Patch (apply with `patch -p0'): - -*** ../bash-4.2-patched/redir.c 2013-01-30 11:56:09.000000000 -0500 ---- redir.c 2013-02-19 09:38:36.000000000 -0500 -*************** -*** 1008,1011 **** ---- 1008,1021 ---- - REDIRECTION_ERROR (r, errno, -1); - } -+ if ((flags & RX_UNDOABLE) && (ri == r_move_input || ri == r_move_output)) -+ { -+ /* r_move_input and r_move_output add an additional close() -+ that needs to be undone */ -+ if (fcntl (redirector, F_GETFD, 0) != -1) -+ { -+ r = add_undo_redirect (redir_fd, r_close_this, -1); -+ REDIRECTION_ERROR (r, errno, -1); -+ } -+ } - #if defined (BUFFERED_INPUT) - check_bash_input (redirector); - -*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010 ---- patchlevel.h Thu Feb 24 21:41:34 2011 -*************** -*** 26,30 **** - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 44 - - #endif /* _PATCHLEVEL_H_ */ ---- 26,30 ---- - looks for to find the patch level (for the sccs version string). */ - -! #define PATCHLEVEL 45 - - #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-001 b/source/a/bash/bash-4.3-patches/bash43-001 new file mode 100644 index 00000000..ea1c6b26 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-001 @@ -0,0 +1,58 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-001 + +Bug-Reported-by: NBaH <nbah@sfr.fr> +Bug-Reference-ID: <ler0b5$iu9$1@speranza.aioe.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-02/msg00092.html + +Bug-Description: + +A missing check for a valid option prevented `test -R' from working. There +is another problem that causes bash to look up the wrong variable name when +processing the argument to `test -R'. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3/test.c 2014-02-04 16:52:58.000000000 -0500 +--- test.c 2014-02-28 21:22:44.000000000 -0500 +*************** +*** 647,652 **** + + case 'R': +! v = find_variable (arg); +! return (v && invisible_p (v) == 0 && var_isset (v) && nameref_p (v) ? TRUE : FALSE); + } + +--- 647,652 ---- + + case 'R': +! v = find_variable_noref (arg); +! return ((v && invisible_p (v) == 0 && var_isset (v) && nameref_p (v)) ? TRUE : FALSE); + } + +*************** +*** 724,727 **** +--- 724,728 ---- + case 'u': case 'v': case 'w': case 'x': case 'z': + case 'G': case 'L': case 'O': case 'S': case 'N': ++ case 'R': + return (1); + } +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 0 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 1 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-002 b/source/a/bash/bash-4.3-patches/bash43-002 new file mode 100644 index 00000000..735b7b81 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-002 @@ -0,0 +1,62 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-002 + +Bug-Reported-by: Moe Tunes <moetunes42@gmail.com> +Bug-Reference-ID: <53103F49.3070100@gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-02/msg00086.html + +Bug-Description: + +A change to save state while running the DEBUG trap caused pipelines to hang +on systems which need process group synchronization while building pipelines. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3/trap.c 2014-02-05 10:03:21.000000000 -0500 +--- trap.c 2014-02-28 09:51:43.000000000 -0500 +*************** +*** 921,925 **** + + #if defined (JOB_CONTROL) +! save_pipeline (1); /* XXX only provides one save level */ + #endif + +--- 921,926 ---- + + #if defined (JOB_CONTROL) +! if (sig != DEBUG_TRAP) /* run_debug_trap does this */ +! save_pipeline (1); /* XXX only provides one save level */ + #endif + +*************** +*** 941,945 **** + + #if defined (JOB_CONTROL) +! restore_pipeline (1); + #endif + +--- 942,947 ---- + + #if defined (JOB_CONTROL) +! if (sig != DEBUG_TRAP) /* run_debug_trap does this */ +! restore_pipeline (1); + #endif + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 1 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 2 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-003 b/source/a/bash/bash-4.3-patches/bash43-003 new file mode 100644 index 00000000..0f32f410 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-003 @@ -0,0 +1,48 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-003 + +Bug-Reported-by: Anatol Pomozov <anatol.pomozov@gmail.com> +Bug-Reference-ID: <CAOMFOmXy3mT2So5GQ5F-smCVArQuAeBwZ2QKzgCtMeXJoDeYOQ@mail.gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2014-03/msg00010.html + +Bug-Description: + +When in callback mode, some readline commands can cause readline to seg +fault by passing invalid contexts to callback functions. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3/lib/readline/readline.c 2013-10-28 14:58:06.000000000 -0400 +--- lib/readline/readline.c 2014-03-10 14:15:02.000000000 -0400 +*************** +*** 745,749 **** + + RL_CHECK_SIGNALS (); +! if (r == 0) /* success! */ + { + _rl_keyseq_chain_dispose (); +--- 745,750 ---- + + RL_CHECK_SIGNALS (); +! /* We only treat values < 0 specially to simulate recursion. */ +! if (r >= 0 || (r == -1 && (cxt->flags & KSEQ_SUBSEQ) == 0)) /* success! or failure! */ + { + _rl_keyseq_chain_dispose (); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 2 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 3 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-004 b/source/a/bash/bash-4.3-patches/bash43-004 new file mode 100644 index 00000000..010f04a2 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-004 @@ -0,0 +1,47 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-004 + +Bug-Reported-by: Daan van Rossum <daan@flash.uchicago.edu> +Bug-Reference-ID: <20140307072523.GA14250@flash.uchicago.edu> +Bug-Reference-URL: + +Bug-Description: + +The `.' command in vi mode cannot undo multi-key commands beginning with +`c', `d', and `y' (command plus motion specifier). + +Patch (apply with `patch -p0'): + +*** ../bash-4.3/lib/readline/readline.c 2013-10-28 14:58:06.000000000 -0400 +--- lib/readline/readline.c 2014-03-07 15:20:33.000000000 -0500 +*************** +*** 965,969 **** + if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap && + key != ANYOTHERKEY && +! rl_key_sequence_length == 1 && /* XXX */ + _rl_vi_textmod_command (key)) + _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign); +--- 965,969 ---- + if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap && + key != ANYOTHERKEY && +! _rl_dispatching_keymap == vi_movement_keymap && + _rl_vi_textmod_command (key)) + _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 3 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 4 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-005 b/source/a/bash/bash-4.3-patches/bash43-005 new file mode 100644 index 00000000..bcd40697 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-005 @@ -0,0 +1,63 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-005 + +Bug-Reported-by: David Sines <dave.gma@googlemail.com> +Bug-Reference-ID: <CAO3BAa_CK_Rgkhdfzs+NJ4KFYdB9qW3pvXQK0xLCi6GMmDU8bw@mail.gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00037.html + +Bug-Description: + +When in Posix mode, bash did not correctly interpret the ANSI-C-style +$'...' quoting mechanism when performing pattern substitution word +expansions within double quotes. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3/parse.y 2014-02-11 09:42:10.000000000 -0500 +--- parse.y 2014-03-07 20:57:15.000000000 -0500 +*************** +*** 3399,3403 **** + unescaped double-quotes or single-quotes, if any, shall occur." */ + /* This was changed in Austin Group Interp 221 */ +! if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'') + continue; + +--- 3399,3403 ---- + unescaped double-quotes or single-quotes, if any, shall occur." */ + /* This was changed in Austin Group Interp 221 */ +! if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && dolbrace_state != DOLBRACE_QUOTE2 && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'') + continue; + +*** ../bash-4.3/y.tab.c 2014-02-11 10:57:47.000000000 -0500 +--- y.tab.c 2014-03-28 10:41:15.000000000 -0400 +*************** +*** 5711,5715 **** + unescaped double-quotes or single-quotes, if any, shall occur." */ + /* This was changed in Austin Group Interp 221 */ +! if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'') + continue; + +--- 5711,5715 ---- + unescaped double-quotes or single-quotes, if any, shall occur." */ + /* This was changed in Austin Group Interp 221 */ +! if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && dolbrace_state != DOLBRACE_QUOTE2 && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'') + continue; + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 4 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 5 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-006 b/source/a/bash/bash-4.3-patches/bash43-006 new file mode 100644 index 00000000..24ff057a --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-006 @@ -0,0 +1,48 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-006 + +Bug-Reported-by: Eduardo A . Bustamante Lopez <dualbus@gmail.com> +Bug-Reference-ID: <20140228170013.GA16015@dualbus.me> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-02/msg00091.html + +Bug-Description: + +A shell that started with job control active but was not interactive left +the terminal in the wrong process group when exiting, causing its parent +shell to get a stop signal when it attempted to read from the terminal. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3/jobs.c 2014-01-10 09:05:34.000000000 -0500 +--- jobs.c 2014-03-02 18:05:09.000000000 -0500 +*************** +*** 4375,4379 **** + end_job_control () + { +! if (interactive_shell) /* XXX - should it be interactive? */ + { + terminate_stopped_jobs (); +--- 4375,4379 ---- + end_job_control () + { +! if (interactive_shell || job_control) /* XXX - should it be just job_control? */ + { + terminate_stopped_jobs (); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 5 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 6 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-007 b/source/a/bash/bash-4.3-patches/bash43-007 new file mode 100644 index 00000000..0d62c9ec --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-007 @@ -0,0 +1,50 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-007 + +Bug-Reported-by: geir.hauge@gmail.com +Bug-Reference-ID: <20140318093650.B181C1C5B0B@gina.itea.ntnu.no> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00095.html + +Bug-Description: + +Using compound assignments for associative arrays like + +assoc=( [x]= [y]=bar ) + +left the value corresponding to the key `x' NULL. This caused subsequent +lookups to interpret it as unset. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3/arrayfunc.c 2013-08-02 16:19:59.000000000 -0400 +--- arrayfunc.c 2014-03-18 11:08:15.000000000 -0400 +*************** +*** 598,601 **** +--- 598,606 ---- + { + val = expand_assignment_string_to_string (val, 0); ++ if (val == 0) ++ { ++ val = (char *)xmalloc (1); ++ val[0] = '\0'; /* like do_assignment_internal */ ++ } + free_val = 1; + } +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 6 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 7 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-008 b/source/a/bash/bash-4.3-patches/bash43-008 new file mode 100644 index 00000000..0ae7c952 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-008 @@ -0,0 +1,188 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-008 + +Bug-Reported-by: Stephane Chazelas <stephane.chazelas@gmail.com> +Bug-Reference-ID: <20140318135901.GB22158@chaz.gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00098.html + +Bug-Description: + +Some extended glob patterns incorrectly matched filenames with a leading +dot, regardless of the setting of the `dotglob' option. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3/lib/glob/gmisc.c 2013-10-28 14:45:25.000000000 -0400 +--- lib/glob/gmisc.c 2014-03-19 09:16:08.000000000 -0400 +*************** +*** 211,214 **** +--- 211,215 ---- + case '!': + case '@': ++ case '?': + return (pat[1] == LPAREN); + default: +*** ../bash-4.3/lib/glob/glob.c 2014-01-31 21:43:51.000000000 -0500 +--- lib/glob/glob.c 2014-03-20 09:01:26.000000000 -0400 +*************** +*** 180,202 **** + int flags; + { +! char *pp, *pe, *t; +! int n, r; + + pp = pat + 2; +! pe = pp + strlen (pp) - 1; /*(*/ +! if (*pe != ')') +! return 0; +! if ((t = strchr (pp, '|')) == 0) /* easy case first */ + { + *pe = '\0'; + r = skipname (pp, dname, flags); /*(*/ + *pe = ')'; + return r; + } + while (t = glob_patscan (pp, pe, '|')) + { + n = t[-1]; + t[-1] = '\0'; + r = skipname (pp, dname, flags); + t[-1] = n; + if (r == 0) /* if any pattern says not skip, we don't skip */ +--- 180,215 ---- + int flags; + { +! char *pp, *pe, *t, *se; +! int n, r, negate; + ++ negate = *pat == '!'; + pp = pat + 2; +! se = pp + strlen (pp) - 1; /* end of string */ +! pe = glob_patscan (pp, se, 0); /* end of extglob pattern (( */ +! /* we should check for invalid extglob pattern here */ +! /* if pe != se we have more of the pattern at the end of the extglob +! pattern. Check the easy case first ( */ +! if (pe == se && *pe == ')' && (t = strchr (pp, '|')) == 0) + { + *pe = '\0'; ++ #if defined (HANDLE_MULTIBYTE) ++ r = mbskipname (pp, dname, flags); ++ #else + r = skipname (pp, dname, flags); /*(*/ ++ #endif + *pe = ')'; + return r; + } ++ ++ /* check every subpattern */ + while (t = glob_patscan (pp, pe, '|')) + { + n = t[-1]; + t[-1] = '\0'; ++ #if defined (HANDLE_MULTIBYTE) ++ r = mbskipname (pp, dname, flags); ++ #else + r = skipname (pp, dname, flags); ++ #endif + t[-1] = n; + if (r == 0) /* if any pattern says not skip, we don't skip */ +*************** +*** 205,219 **** + } /*(*/ + +! if (pp == pe) /* glob_patscan might find end of pattern */ + return r; + +! *pe = '\0'; +! # if defined (HANDLE_MULTIBYTE) +! r = mbskipname (pp, dname, flags); /*(*/ +! # else +! r = skipname (pp, dname, flags); /*(*/ +! # endif +! *pe = ')'; +! return r; + } + #endif +--- 218,227 ---- + } /*(*/ + +! /* glob_patscan might find end of pattern */ +! if (pp == se) + return r; + +! /* but if it doesn't then we didn't match a leading dot */ +! return 0; + } + #endif +*************** +*** 278,289 **** + { + #if EXTENDED_GLOB +! wchar_t *pp, *pe, *t, n; +! int r; + + pp = pat + 2; +! pe = pp + wcslen (pp) - 1; /*(*/ +! if (*pe != L')') +! return 0; +! if ((t = wcschr (pp, L'|')) == 0) + { + *pe = L'\0'; +--- 286,298 ---- + { + #if EXTENDED_GLOB +! wchar_t *pp, *pe, *t, n, *se; +! int r, negate; + ++ negate = *pat == L'!'; + pp = pat + 2; +! se = pp + wcslen (pp) - 1; /*(*/ +! pe = glob_patscan_wc (pp, se, 0); +! +! if (pe == se && *pe == ')' && (t = wcschr (pp, L'|')) == 0) + { + *pe = L'\0'; +*************** +*** 292,295 **** +--- 301,306 ---- + return r; + } ++ ++ /* check every subpattern */ + while (t = glob_patscan_wc (pp, pe, '|')) + { +*************** +*** 306,313 **** + return r; + +! *pe = L'\0'; +! r = wchkname (pp, dname); /*(*/ +! *pe = L')'; +! return r; + #else + return (wchkname (pat, dname)); +--- 317,322 ---- + return r; + +! /* but if it doesn't then we didn't match a leading dot */ +! return 0; + #else + return (wchkname (pat, dname)); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 7 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 8 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-009 b/source/a/bash/bash-4.3-patches/bash43-009 new file mode 100644 index 00000000..015835cd --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-009 @@ -0,0 +1,64 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-009 + +Bug-Reported-by: Matthias Klose <doko@debian.org> +Bug-Reference-ID: <53346FC8.6090005@debian.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00171.html + +Bug-Description: + +There is a problem with unsigned sign extension when attempting to reallocate +the input line when it is fewer than 3 characters long and there has been a +history expansion. The sign extension causes the shell to not reallocate the +line, which results in a segmentation fault when it writes past the end. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/parse.y 2014-02-11 09:42:10.000000000 -0500 +--- parse.y 2014-03-27 16:33:29.000000000 -0400 +*************** +*** 2425,2429 **** + if (shell_input_line_terminator != EOF) + { +! if (shell_input_line_size < SIZE_MAX && shell_input_line_len > shell_input_line_size - 3) + shell_input_line = (char *)xrealloc (shell_input_line, + 1 + (shell_input_line_size += 2)); +--- 2425,2429 ---- + if (shell_input_line_terminator != EOF) + { +! if (shell_input_line_size < SIZE_MAX-3 && (shell_input_line_len+3 > shell_input_line_size)) + shell_input_line = (char *)xrealloc (shell_input_line, + 1 + (shell_input_line_size += 2)); +*** ../bash-4.3-patched/y.tab.c 2014-03-28 11:17:06.000000000 -0400 +--- y.tab.c 2014-04-07 11:48:31.000000000 -0400 +*************** +*** 4737,4741 **** + if (shell_input_line_terminator != EOF) + { +! if (shell_input_line_size < SIZE_MAX && shell_input_line_len > shell_input_line_size - 3) + shell_input_line = (char *)xrealloc (shell_input_line, + 1 + (shell_input_line_size += 2)); +--- 4737,4741 ---- + if (shell_input_line_terminator != EOF) + { +! if (shell_input_line_size < SIZE_MAX-3 && (shell_input_line_len+3 > shell_input_line_size)) + shell_input_line = (char *)xrealloc (shell_input_line, + 1 + (shell_input_line_size += 2)); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 8 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 9 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-010 b/source/a/bash/bash-4.3-patches/bash43-010 new file mode 100644 index 00000000..835a96ea --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-010 @@ -0,0 +1,157 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-010 + +Bug-Reported-by: Albert Shih <Albert.Shih@obspm.fr> +Bug-Reference-ID: Wed, 5 Mar 2014 23:01:40 +0100 +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00028.html + +Bug-Description: + +Patch (apply with `patch -p0'): + +This patch changes the behavior of programmable completion to compensate +for two assumptions made by the bash-completion package. Bash-4.3 changed +to dequote the argument to programmable completion only under certain +circumstances, to make the behavior of compgen more consistent when run +from the command line -- closer to the behavior when run by a shell function +run as part of programmable completion. Bash-completion can pass quoted +arguments to compgen when the original word to be completed was not quoted, +expecting programmable completion to dequote the word before attempting +completion. + +This patch fixes two cases: + +1. An empty string that bash-completion passes to compgen as a quoted null + string (''). + +2. An unquoted word that bash-completion quotes using single quotes or + backslashes before passing it to compgen. + +In these cases, since readline did not detect a quote character in the original +word to be completed, bash-4.3 + +*** ../bash-4.3/externs.h 2014-01-02 14:58:20.000000000 -0500 +--- externs.h 2014-03-13 14:42:57.000000000 -0400 +*************** +*** 325,328 **** +--- 325,329 ---- + extern char *sh_backslash_quote_for_double_quotes __P((char *)); + extern int sh_contains_shell_metas __P((char *)); ++ extern int sh_contains_quotes __P((char *)); + + /* declarations for functions defined in lib/sh/spell.c */ +*** ../bash-4.3/lib/sh/shquote.c 2013-03-31 21:53:32.000000000 -0400 +--- lib/sh/shquote.c 2014-03-13 14:42:57.000000000 -0400 +*************** +*** 312,313 **** +--- 312,327 ---- + return (0); + } ++ ++ int ++ sh_contains_quotes (string) ++ char *string; ++ { ++ char *s; ++ ++ for (s = string; s && *s; s++) ++ { ++ if (*s == '\'' || *s == '"' || *s == '\\') ++ return 1; ++ } ++ return 0; ++ } +*** ../bash-4.3/pcomplete.c 2013-08-26 15:23:45.000000000 -0400 +--- pcomplete.c 2014-03-25 17:23:23.000000000 -0400 +*************** +*** 184,187 **** +--- 184,188 ---- + COMPSPEC *pcomp_curcs; + const char *pcomp_curcmd; ++ const char *pcomp_curtxt; + + #ifdef DEBUG +*************** +*** 754,757 **** +--- 755,784 ---- + dfn = (*rl_filename_dequoting_function) ((char *)text, rl_completion_quote_character); + } ++ /* Intended to solve a mismatched assumption by bash-completion. If ++ the text to be completed is empty, but bash-completion turns it into ++ a quoted string ('') assuming that this code will dequote it before ++ calling readline, do the dequoting. */ ++ else if (iscompgen && iscompleting && ++ pcomp_curtxt && *pcomp_curtxt == 0 && ++ text && (*text == '\'' || *text == '"') && text[1] == text[0] && text[2] == 0 && ++ rl_filename_dequoting_function) ++ dfn = (*rl_filename_dequoting_function) ((char *)text, rl_completion_quote_character); ++ /* Another mismatched assumption by bash-completion. If compgen is being ++ run as part of bash-completion, and the argument to compgen is not ++ the same as the word originally passed to the programmable completion ++ code, dequote the argument if it has quote characters. It's an ++ attempt to detect when bash-completion is quoting its filename ++ argument before calling compgen. */ ++ /* We could check whether gen_shell_function_matches is in the call ++ stack by checking whether the gen-shell-function-matches tag is in ++ the unwind-protect stack, but there's no function to do that yet. ++ We could simply check whether we're executing in a function by ++ checking variable_context, and may end up doing that. */ ++ else if (iscompgen && iscompleting && rl_filename_dequoting_function && ++ pcomp_curtxt && text && ++ STREQ (pcomp_curtxt, text) == 0 && ++ variable_context && ++ sh_contains_quotes (text)) /* guess */ ++ dfn = (*rl_filename_dequoting_function) ((char *)text, rl_completion_quote_character); + else + dfn = savestring (text); +*************** +*** 1523,1527 **** + { + COMPSPEC *cs, *oldcs; +! const char *oldcmd; + STRINGLIST *ret; + +--- 1550,1554 ---- + { + COMPSPEC *cs, *oldcs; +! const char *oldcmd, *oldtxt; + STRINGLIST *ret; + +*************** +*** 1546,1552 **** +--- 1573,1581 ---- + oldcs = pcomp_curcs; + oldcmd = pcomp_curcmd; ++ oldtxt = pcomp_curtxt; + + pcomp_curcs = cs; + pcomp_curcmd = cmd; ++ pcomp_curtxt = word; + + ret = gen_compspec_completions (cs, cmd, word, start, end, foundp); +*************** +*** 1554,1557 **** +--- 1583,1587 ---- + pcomp_curcs = oldcs; + pcomp_curcmd = oldcmd; ++ pcomp_curtxt = oldtxt; + + /* We need to conditionally handle setting *retryp here */ +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 9 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 10 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-011 b/source/a/bash/bash-4.3-patches/bash43-011 new file mode 100644 index 00000000..cdc1572e --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-011 @@ -0,0 +1,49 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-011 + +Bug-Reported-by: Egmont Koblinger <egmont@gmail.com> +Bug-Reference-ID: <CAGWcZk+bU5Jo1M+tutGvL-250UBE9DXjpeJVofYJSFcqFEVfMg@mail.gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00153.html + +Bug-Description: + +The signal handling changes to bash and readline (to avoid running any code +in a signal handler context) cause the cursor to be placed on the wrong +line of a multi-line command after a ^C interrupts editing. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/lib/readline/display.c 2013-12-27 13:10:56.000000000 -0500 +--- lib/readline/display.c 2014-03-27 11:52:45.000000000 -0400 +*************** +*** 2678,2682 **** + if (_rl_echoing_p) + { +! _rl_move_vert (_rl_vis_botlin); + _rl_vis_botlin = 0; + fflush (rl_outstream); +--- 2678,2683 ---- + if (_rl_echoing_p) + { +! if (_rl_vis_botlin > 0) /* minor optimization plus bug fix */ +! _rl_move_vert (_rl_vis_botlin); + _rl_vis_botlin = 0; + fflush (rl_outstream); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 10 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 11 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-012 b/source/a/bash/bash-4.3-patches/bash43-012 new file mode 100644 index 00000000..176fa15b --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-012 @@ -0,0 +1,43 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-012 + +Bug-Reported-by: Eduardo A. Bustamante López<dualbus@gmail.com> +Bug-Reference-ID: <5346B54C.4070205@case.edu> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00051.html + +Bug-Description: + +When a SIGCHLD trap runs a command containing a shell builtin while +a script is running `wait' to wait for all running children to complete, +the SIGCHLD trap will not be run once for each child that terminates. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/jobs.c 2014-03-28 10:54:19.000000000 -0400 +--- jobs.c 2014-04-15 08:47:03.000000000 -0400 +*************** +*** 3598,3601 **** +--- 3598,3602 ---- + unwind_protect_pointer (the_pipeline); + unwind_protect_pointer (subst_assign_varlist); ++ unwind_protect_pointer (this_shell_builtin); + + /* We have to add the commands this way because they will be run +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 11 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 12 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-013 b/source/a/bash/bash-4.3-patches/bash43-013 new file mode 100644 index 00000000..8f4006b4 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-013 @@ -0,0 +1,66 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-013 + +Bug-Reported-by: <Trond.Endrestol@ximalas.info> +Bug-Reference-ID: <alpine.BSF.2.03.1404192114310.1973@enterprise.ximalas.info> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00069.html + +Bug-Description: + +Using reverse-i-search when horizontal scrolling is enabled does not redisplay +the entire line containing the successful search results. + +Patch (apply with `patch -p0'): +*** ../bash-4.3-patched/lib/readline/display.c 2014-04-08 18:19:36.000000000 -0400 +--- lib/readline/display.c 2014-04-20 18:32:52.000000000 -0400 +*************** +*** 1638,1642 **** + the spot of first difference is before the end of the invisible chars, + lendiff needs to be adjusted. */ +! if (current_line == 0 && !_rl_horizontal_scroll_mode && + current_invis_chars != visible_wrap_offset) + { +--- 1638,1642 ---- + the spot of first difference is before the end of the invisible chars, + lendiff needs to be adjusted. */ +! if (current_line == 0 && /* !_rl_horizontal_scroll_mode && */ + current_invis_chars != visible_wrap_offset) + { +*************** +*** 1826,1831 **** + _rl_last_c_pos += bytes_to_insert; + + if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new))) +! goto clear_rest_of_line; + } + } +--- 1826,1836 ---- + _rl_last_c_pos += bytes_to_insert; + ++ /* XXX - we only want to do this if we are at the end of the line ++ so we move there with _rl_move_cursor_relative */ + if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new))) +! { +! _rl_move_cursor_relative (ne-new, new); +! goto clear_rest_of_line; +! } + } + } +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 12 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 13 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-014 b/source/a/bash/bash-4.3-patches/bash43-014 new file mode 100644 index 00000000..f8371967 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-014 @@ -0,0 +1,102 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-014 + +Bug-Reported-by: Greg Wooledge <wooledg@eeg.ccf.org> +Bug-Reference-ID: <20140418202123.GB7660@eeg.ccf.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/help-bash/2014-04/msg00004.html + +Bug-Description: + +Under certain circumstances, $@ is expanded incorrectly in contexts where +word splitting is not performed. + +Patch (apply with `patch -p0'): +*** ../bash-4.3-patched/subst.c 2014-01-23 16:26:37.000000000 -0500 +--- subst.c 2014-04-19 15:41:26.000000000 -0400 +*************** +*** 3249,3254 **** +--- 3249,3256 ---- + return ((char *)NULL); + ++ expand_no_split_dollar_star = 1; + w->flags |= W_NOSPLIT2; + l = call_expand_word_internal (w, 0, 0, (int *)0, (int *)0); ++ expand_no_split_dollar_star = 0; + if (l) + { +*************** +*** 7848,7851 **** +--- 7850,7857 ---- + according to POSIX.2, this expands to a list of the positional + parameters no matter what IFS is set to. */ ++ /* XXX - what to do when in a context where word splitting is not ++ performed? Even when IFS is not the default, posix seems to imply ++ that we behave like unquoted $* ? Maybe we should use PF_NOSPLIT2 ++ here. */ + temp = string_list_dollar_at (list, (pflags & PF_ASSIGNRHS) ? (quoted|Q_DOUBLE_QUOTES) : quoted); + +*************** +*** 8817,8820 **** +--- 8823,8827 ---- + { + char *ifs_chars; ++ char *tstring; + + ifs_chars = (quoted_dollar_at || has_dollar_at) ? ifs_value : (char *)NULL; +*************** +*** 8831,8834 **** +--- 8838,8865 ---- + if (split_on_spaces) + list = list_string (istring, " ", 1); /* XXX quoted == 1? */ ++ /* If we have $@ (has_dollar_at != 0) and we are in a context where we ++ don't want to split the result (W_NOSPLIT2), and we are not quoted, ++ we have already separated the arguments with the first character of ++ $IFS. In this case, we want to return a list with a single word ++ with the separator possibly replaced with a space (it's what other ++ shells seem to do). ++ quoted_dollar_at is internal to this function and is set if we are ++ passed an argument that is unquoted (quoted == 0) but we encounter a ++ double-quoted $@ while expanding it. */ ++ else if (has_dollar_at && quoted_dollar_at == 0 && ifs_chars && quoted == 0 && (word->flags & W_NOSPLIT2)) ++ { ++ /* Only split and rejoin if we have to */ ++ if (*ifs_chars && *ifs_chars != ' ') ++ { ++ list = list_string (istring, *ifs_chars ? ifs_chars : " ", 1); ++ tstring = string_list (list); ++ } ++ else ++ tstring = istring; ++ tword = make_bare_word (tstring); ++ if (tstring != istring) ++ free (tstring); ++ goto set_word_flags; ++ } + else if (has_dollar_at && ifs_chars) + list = list_string (istring, *ifs_chars ? ifs_chars : " ", 1); +*************** +*** 8836,8839 **** +--- 8867,8871 ---- + { + tword = make_bare_word (istring); ++ set_word_flags: + if ((quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) || (quoted_state == WHOLLY_QUOTED)) + tword->flags |= W_QUOTED; +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 13 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 14 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-015 b/source/a/bash/bash-4.3-patches/bash43-015 new file mode 100644 index 00000000..9c4e5ea4 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-015 @@ -0,0 +1,58 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-015 + +Bug-Reported-by: Clark Wang <dearvoid@gmail.com> +Bug-Reference-ID: <CADv8-og2TOSoabXeNVXVGaXN3tEMHnYVq1rwOLe5meaRPSGRig@mail.gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00095.html + +Bug-Description: + +When completing directory names, the directory name is dequoted twice. +This causes problems for directories with single and double quotes in +their names. + +Patch (apply with `patch -p0'): +*** ../bash-4.3-patched/bashline.c 2014-02-09 19:56:58.000000000 -0500 +--- bashline.c 2014-04-25 14:57:52.000000000 -0400 +*************** +*** 4168,4174 **** + + qc = rl_dispatching ? rl_completion_quote_character : 0; +! dfn = bash_dequote_filename ((char *)text, qc); + m1 = rl_completion_matches (dfn, rl_filename_completion_function); +! free (dfn); + + if (m1 == 0 || m1[0] == 0) +--- 4209,4222 ---- + + qc = rl_dispatching ? rl_completion_quote_character : 0; +! /* If rl_completion_found_quote != 0, rl_completion_matches will call the +! filename dequoting function, causing the directory name to be dequoted +! twice. */ +! if (rl_dispatching && rl_completion_found_quote == 0) +! dfn = bash_dequote_filename ((char *)text, qc); +! else +! dfn = (char *)text; + m1 = rl_completion_matches (dfn, rl_filename_completion_function); +! if (dfn != text) +! free (dfn); + + if (m1 == 0 || m1[0] == 0) +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 14 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 15 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-016 b/source/a/bash/bash-4.3-patches/bash43-016 new file mode 100644 index 00000000..882d5939 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-016 @@ -0,0 +1,132 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-016 + +Bug-Reported-by: Pierre Gaston <pierre.gaston@gmail.com> +Bug-Reference-ID: <CAPSX3sTCD61k1VQLJ5r-LWzEt+e7Xc-fxXmwn2u8EA5gJJej8Q@mail.gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00100.html + +Bug-Description: + +An extended glob pattern containing a slash (`/') causes the globbing code +to misinterpret it as a directory separator. + +Patch (apply with `patch -p0'): +*** ../bash-4.3-patched/lib/glob/glob.c 2014-03-28 10:54:23.000000000 -0400 +--- lib/glob/glob.c 2014-05-02 10:24:28.000000000 -0400 +*************** +*** 124,127 **** +--- 124,129 ---- + extern wchar_t *glob_patscan_wc __P((wchar_t *, wchar_t *, int)); + ++ extern char *glob_dirscan __P((char *, int)); ++ + /* Compile `glob_loop.c' for single-byte characters. */ + #define CHAR unsigned char +*************** +*** 188,191 **** +--- 190,196 ---- + pe = glob_patscan (pp, se, 0); /* end of extglob pattern (( */ + /* we should check for invalid extglob pattern here */ ++ if (pe == 0) ++ return 0; ++ + /* if pe != se we have more of the pattern at the end of the extglob + pattern. Check the easy case first ( */ +*************** +*** 1016,1020 **** + char **result; + unsigned int result_size; +! char *directory_name, *filename, *dname; + unsigned int directory_len; + int free_dirname; /* flag */ +--- 1021,1025 ---- + char **result; + unsigned int result_size; +! char *directory_name, *filename, *dname, *fn; + unsigned int directory_len; + int free_dirname; /* flag */ +*************** +*** 1032,1035 **** +--- 1037,1052 ---- + /* Find the filename. */ + filename = strrchr (pathname, '/'); ++ #if defined (EXTENDED_GLOB) ++ if (filename && extended_glob) ++ { ++ fn = glob_dirscan (pathname, '/'); ++ #if DEBUG_MATCHING ++ if (fn != filename) ++ fprintf (stderr, "glob_filename: glob_dirscan: fn (%s) != filename (%s)\n", fn ? fn : "(null)", filename); ++ #endif ++ filename = fn; ++ } ++ #endif ++ + if (filename == NULL) + { +*** ../bash-4.3-patched/lib/glob/gmisc.c 2014-03-28 10:54:23.000000000 -0400 +--- lib/glob/gmisc.c 2014-05-02 09:35:57.000000000 -0400 +*************** +*** 43,46 **** +--- 43,48 ---- + #define WRPAREN L')' + ++ extern char *glob_patscan __P((char *, char *, int)); ++ + /* Return 1 of the first character of WSTRING could match the first + character of pattern WPAT. Wide character version. */ +*************** +*** 376,377 **** +--- 378,410 ---- + return matlen; + } ++ ++ /* Skip characters in PAT and return the final occurrence of DIRSEP. This ++ is only called when extended_glob is set, so we have to skip over extglob ++ patterns x(...) */ ++ char * ++ glob_dirscan (pat, dirsep) ++ char *pat; ++ int dirsep; ++ { ++ char *p, *d, *pe, *se; ++ ++ d = pe = se = 0; ++ for (p = pat; p && *p; p++) ++ { ++ if (extglob_pattern_p (p)) ++ { ++ if (se == 0) ++ se = p + strlen (p) - 1; ++ pe = glob_patscan (p + 2, se, 0); ++ if (pe == 0) ++ continue; ++ else if (*pe == 0) ++ break; ++ p = pe - 1; /* will do increment above */ ++ continue; ++ } ++ if (*p == dirsep) ++ d = p; ++ } ++ return d; ++ } + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 15 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 16 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-017 b/source/a/bash/bash-4.3-patches/bash43-017 new file mode 100644 index 00000000..4016fb93 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-017 @@ -0,0 +1,51 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-017 + +Bug-Reported-by: Dan Douglas <ormaaj@gmail.com> +Bug-Reference-ID: <7781746.RhfoTROLxF@smorgbox> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-05/msg00026.html + +Bug-Description: + +The code that creates local variables should not clear the `invisible' +attribute when returning an existing local variable. Let the code that +actually assigns a value clear it. + +Patch (apply with `patch -p0'): +*** ../bash-4.3-patched/variables.c 2014-02-14 11:55:12.000000000 -0500 +--- variables.c 2014-05-07 10:53:57.000000000 -0400 +*************** +*** 2198,2205 **** + old_var = find_variable (name); + if (old_var && local_p (old_var) && old_var->context == variable_context) +! { +! VUNSETATTR (old_var, att_invisible); /* XXX */ +! return (old_var); +! } + + was_tmpvar = old_var && tempvar_p (old_var); +--- 2260,2264 ---- + old_var = find_variable (name); + if (old_var && local_p (old_var) && old_var->context == variable_context) +! return (old_var); + + was_tmpvar = old_var && tempvar_p (old_var); + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 16 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 17 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-018 b/source/a/bash/bash-4.3-patches/bash43-018 new file mode 100644 index 00000000..39499f66 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-018 @@ -0,0 +1,44 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-018 + +Bug-Reported-by: Geir Hauge <geir.hauge@gmail.com> +Bug-Reference-ID: <CAO-BiTLOvfPXDypg61jcBausADrxUKJejakV2WTWP26cW0=rgA@mail.gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-05/msg00040.html + +Bug-Description: + +When assigning an array variable using the compound assignment syntax, +but using `declare' with the rhs of the compound assignment quoted, the +shell did not mark the variable as visible after successfully performing +the assignment. + +Patch (apply with `patch -p0'): +*** ../bash-4.3-patched/arrayfunc.c 2014-03-28 10:54:21.000000000 -0400 +--- arrayfunc.c 2014-05-12 11:19:00.000000000 -0400 +*************** +*** 180,183 **** +--- 180,184 ---- + FREE (newval); + ++ VUNSETATTR (entry, att_invisible); /* no longer invisible */ + return (entry); + } + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 17 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 18 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-019 b/source/a/bash/bash-4.3-patches/bash43-019 new file mode 100644 index 00000000..a93714be --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-019 @@ -0,0 +1,84 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-019 + +Bug-Reported-by: John Lenton +Bug-Reference-ID: +Bug-Reference-URL: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1317476 + +Bug-Description: + +The -t timeout option to `read' does not work when the -e option is used. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/lib/readline/input.c 2014-01-10 15:07:08.000000000 -0500 +--- lib/readline/input.c 2014-05-22 18:40:59.000000000 -0400 +*************** +*** 535,540 **** +--- 538,551 ---- + else if (_rl_caught_signal == SIGHUP || _rl_caught_signal == SIGTERM) + return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF); ++ /* keyboard-generated signals of interest */ + else if (_rl_caught_signal == SIGINT || _rl_caught_signal == SIGQUIT) + RL_CHECK_SIGNALS (); ++ /* non-keyboard-generated signals of interest */ ++ else if (_rl_caught_signal == SIGALRM ++ #if defined (SIGVTALRM) ++ || _rl_caught_signal == SIGVTALRM ++ #endif ++ ) ++ RL_CHECK_SIGNALS (); + + if (rl_signal_event_hook) +*** ../bash-4.3-patched/builtins/read.def 2013-09-02 11:54:00.000000000 -0400 +--- builtins/read.def 2014-05-08 11:43:35.000000000 -0400 +*************** +*** 443,447 **** + #if defined (READLINE) + if (edit) +! add_unwind_protect (reset_attempted_completion_function, (char *)NULL); + #endif + falarm (tmsec, tmusec); +--- 443,450 ---- + #if defined (READLINE) + if (edit) +! { +! add_unwind_protect (reset_attempted_completion_function, (char *)NULL); +! add_unwind_protect (bashline_reset_event_hook, (char *)NULL); +! } + #endif + falarm (tmsec, tmusec); +*************** +*** 1022,1025 **** +--- 1025,1029 ---- + old_attempted_completion_function = rl_attempted_completion_function; + rl_attempted_completion_function = (rl_completion_func_t *)NULL; ++ bashline_set_event_hook (); + if (itext) + { +*************** +*** 1033,1036 **** +--- 1037,1041 ---- + rl_attempted_completion_function = old_attempted_completion_function; + old_attempted_completion_function = (rl_completion_func_t *)NULL; ++ bashline_reset_event_hook (); + + if (ret == 0) +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 18 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 19 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-020 b/source/a/bash/bash-4.3-patches/bash43-020 new file mode 100644 index 00000000..5f533ef8 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-020 @@ -0,0 +1,110 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-020 + +Bug-Reported-by: Jared Yanovich <slovichon@gmail.com> +Bug-Reference-ID: <20140417073654.GB26875@nightderanger.psc.edu> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00065.html + +Bug-Description: + +When PS2 contains a command substitution, here-documents entered in an +interactive shell can sometimes cause a segmentation fault. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/shell.h 2012-12-25 21:11:01.000000000 -0500 +--- shell.h 2014-06-03 09:24:28.000000000 -0400 +*************** +*** 169,173 **** + int expand_aliases; + int echo_input_at_read; +! + } sh_parser_state_t; + +--- 169,174 ---- + int expand_aliases; + int echo_input_at_read; +! int need_here_doc; +! + } sh_parser_state_t; + +*** ../bash-4.3-patched/parse.y 2014-05-14 09:16:40.000000000 -0400 +--- parse.y 2014-04-30 09:27:59.000000000 -0400 +*************** +*** 2643,2647 **** + + r = 0; +! while (need_here_doc) + { + parser_state |= PST_HEREDOC; +--- 2643,2647 ---- + + r = 0; +! while (need_here_doc > 0) + { + parser_state |= PST_HEREDOC; +*************** +*** 6076,6079 **** +--- 6076,6080 ---- + ps->expand_aliases = expand_aliases; + ps->echo_input_at_read = echo_input_at_read; ++ ps->need_here_doc = need_here_doc; + + ps->token = token; +*************** +*** 6124,6127 **** +--- 6125,6129 ---- + expand_aliases = ps->expand_aliases; + echo_input_at_read = ps->echo_input_at_read; ++ need_here_doc = ps->need_here_doc; + + FREE (token); +*** ../bash-4.3-patched/y.tab.c 2014-04-07 11:56:12.000000000 -0400 +--- y.tab.c 2014-07-30 09:55:57.000000000 -0400 +*************** +*** 4955,4959 **** + + r = 0; +! while (need_here_doc) + { + parser_state |= PST_HEREDOC; +--- 5151,5155 ---- + + r = 0; +! while (need_here_doc > 0) + { + parser_state |= PST_HEREDOC; +*************** +*** 8388,8391 **** +--- 8584,8588 ---- + ps->expand_aliases = expand_aliases; + ps->echo_input_at_read = echo_input_at_read; ++ ps->need_here_doc = need_here_doc; + + ps->token = token; +*************** +*** 8436,8439 **** +--- 8633,8637 ---- + expand_aliases = ps->expand_aliases; + echo_input_at_read = ps->echo_input_at_read; ++ need_here_doc = ps->need_here_doc; + + FREE (token); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 19 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 20 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-021 b/source/a/bash/bash-4.3-patches/bash43-021 new file mode 100644 index 00000000..fd1c945e --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-021 @@ -0,0 +1,52 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-021 + +Bug-Reported-by: Jared Yanovich <slovichon@gmail.com> +Bug-Reference-ID: <20140625225019.GJ17044@nightderanger.psc.edu> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00070.html + +Bug-Description: + +When the readline `revert-all-at-newline' option is set, pressing newline +when the current line is one retrieved from history results in a double free +and a segmentation fault. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/lib/readline/misc.c 2012-09-01 18:03:11.000000000 -0400 +--- lib/readline/misc.c 2014-06-30 13:41:19.000000000 -0400 +*************** +*** 462,465 **** +--- 462,466 ---- + /* Set up rl_line_buffer and other variables from history entry */ + rl_replace_from_history (entry, 0); /* entry->line is now current */ ++ entry->data = 0; /* entry->data is now current undo list */ + /* Undo all changes to this history entry */ + while (rl_undo_list) +*************** +*** 469,473 **** + FREE (entry->line); + entry->line = savestring (rl_line_buffer); +- entry->data = 0; + } + entry = previous_history (); +--- 470,473 ---- + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 20 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 21 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-022 b/source/a/bash/bash-4.3-patches/bash43-022 new file mode 100644 index 00000000..7ce39ec0 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-022 @@ -0,0 +1,56 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-022 + +Bug-Reported-by: scorp.dev.null@gmail.com +Bug-Reference-ID: <E1WxXw8-0007iE-Bi@pcm14> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00061.html + +Bug-Description: + +Using nested pipelines within loops with the `lastpipe' option set can result +in a segmentation fault. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/execute_cmd.c 2014-01-31 10:54:52.000000000 -0500 +--- execute_cmd.c 2014-06-19 08:05:49.000000000 -0400 +*************** +*** 2410,2414 **** + lstdin = wait_for (lastpid); + #if defined (JOB_CONTROL) +! exec_result = job_exit_status (lastpipe_jid); + #endif + unfreeze_jobs_list (); +--- 2425,2438 ---- + lstdin = wait_for (lastpid); + #if defined (JOB_CONTROL) +! /* If wait_for removes the job from the jobs table, use result of last +! command as pipeline's exit status as usual. The jobs list can get +! frozen and unfrozen at inconvenient times if there are multiple pipelines +! running simultaneously. */ +! if (INVALID_JOB (lastpipe_jid) == 0) +! exec_result = job_exit_status (lastpipe_jid); +! else if (pipefail_opt) +! exec_result = exec_result | lstdin; /* XXX */ +! /* otherwise we use exec_result */ +! + #endif + unfreeze_jobs_list (); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 21 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 22 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-023 b/source/a/bash/bash-4.3-patches/bash43-023 new file mode 100644 index 00000000..d1e4e9d7 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-023 @@ -0,0 +1,104 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-023 + +Bug-Reported-by: Tim Friske <me@timfriske.com> +Bug-Reference-ID: <CAM1RzOcOR9zzC2i+aeES6LtbHNHoOV+0pZEYPrqxv_QAii-RXA@mail.gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00056.html + +Bug-Description: + +Bash does not correctly parse process substitution constructs that contain +unbalanced parentheses as part of the contained command. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/subst.h 2014-01-11 21:02:27.000000000 -0500 +--- subst.h 2014-07-20 17:25:01.000000000 -0400 +*************** +*** 83,87 **** + Start extracting at (SINDEX) as if we had just seen "<(". + Make (SINDEX) get the position just after the matching ")". */ +! extern char *extract_process_subst __P((char *, char *, int *)); + #endif /* PROCESS_SUBSTITUTION */ + +--- 83,87 ---- + Start extracting at (SINDEX) as if we had just seen "<(". + Make (SINDEX) get the position just after the matching ")". */ +! extern char *extract_process_subst __P((char *, char *, int *, int)); + #endif /* PROCESS_SUBSTITUTION */ + +*** ../bash-4.3-patched/subst.c 2014-05-15 08:26:45.000000000 -0400 +--- subst.c 2014-07-20 17:26:44.000000000 -0400 +*************** +*** 1193,1202 **** + Make (SINDEX) get the position of the matching ")". */ /*))*/ + char * +! extract_process_subst (string, starter, sindex) + char *string; + char *starter; + int *sindex; + { + return (extract_delimited_string (string, sindex, starter, "(", ")", SX_COMMAND)); + } + #endif /* PROCESS_SUBSTITUTION */ +--- 1193,1208 ---- + Make (SINDEX) get the position of the matching ")". */ /*))*/ + char * +! extract_process_subst (string, starter, sindex, xflags) + char *string; + char *starter; + int *sindex; ++ int xflags; + { ++ #if 0 + return (extract_delimited_string (string, sindex, starter, "(", ")", SX_COMMAND)); ++ #else ++ xflags |= (no_longjmp_on_fatal_error ? SX_NOLONGJMP : 0); ++ return (xparse_dolparen (string, string+*sindex, sindex, xflags)); ++ #endif + } + #endif /* PROCESS_SUBSTITUTION */ +*************** +*** 1786,1790 **** + if (string[si] == '\0') + CQ_RETURN(si); +! temp = extract_process_subst (string, (c == '<') ? "<(" : ">(", &si); + free (temp); /* no SX_ALLOC here */ + i = si; +--- 1792,1796 ---- + if (string[si] == '\0') + CQ_RETURN(si); +! temp = extract_process_subst (string, (c == '<') ? "<(" : ">(", &si, 0); + free (temp); /* no SX_ALLOC here */ + i = si; +*************** +*** 8250,8254 **** + t_index = sindex + 1; /* skip past both '<' and LPAREN */ + +! temp1 = extract_process_subst (string, (c == '<') ? "<(" : ">(", &t_index); /*))*/ + sindex = t_index; + +--- 8256,8260 ---- + t_index = sindex + 1; /* skip past both '<' and LPAREN */ + +! temp1 = extract_process_subst (string, (c == '<') ? "<(" : ">(", &t_index, 0); /*))*/ + sindex = t_index; + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 22 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 23 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-024 b/source/a/bash/bash-4.3-patches/bash43-024 new file mode 100644 index 00000000..a24b8fbb --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-024 @@ -0,0 +1,54 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-024 + +Bug-Reported-by: Corentin Peuvrel <cpeuvrel@pom-monitoring.com> +Bug-Reference-ID: <53CE9E5D.6050203@pom-monitoring.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-07/msg00021.html + +Bug-Description: + +Indirect variable references do not work correctly if the reference +variable expands to an array reference using a subscript other than 0 +(e.g., foo='bar[1]' ; echo ${!foo}). + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/subst.c 2014-06-03 09:32:44.000000000 -0400 +--- subst.c 2014-07-23 09:58:19.000000000 -0400 +*************** +*** 7375,7379 **** + + if (want_indir) +! tdesc = parameter_brace_expand_indir (name + 1, var_is_special, quoted, quoted_dollar_atp, contains_dollar_at); + else + tdesc = parameter_brace_expand_word (name, var_is_special, quoted, PF_IGNUNBOUND|(pflags&(PF_NOSPLIT2|PF_ASSIGNRHS)), &ind); +--- 7445,7455 ---- + + if (want_indir) +! { +! tdesc = parameter_brace_expand_indir (name + 1, var_is_special, quoted, quoted_dollar_atp, contains_dollar_at); +! /* Turn off the W_ARRAYIND flag because there is no way for this function +! to return the index we're supposed to be using. */ +! if (tdesc && tdesc->flags) +! tdesc->flags &= ~W_ARRAYIND; +! } + else + tdesc = parameter_brace_expand_word (name, var_is_special, quoted, PF_IGNUNBOUND|(pflags&(PF_NOSPLIT2|PF_ASSIGNRHS)), &ind); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 23 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 24 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-025 b/source/a/bash/bash-4.3-patches/bash43-025 new file mode 100644 index 00000000..721aca03 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-025 @@ -0,0 +1,123 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-025 + +Bug-Reported-by: Stephane Chazelas <stephane.chazelas@gmail.com> +Bug-Reference-ID: +Bug-Reference-URL: + +Bug-Description: + +Under certain circumstances, bash will execute user code while processing the +environment for exported function definitions. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/builtins/common.h 2013-07-08 16:54:47.000000000 -0400 +--- builtins/common.h 2014-09-12 14:25:47.000000000 -0400 +*************** +*** 34,37 **** +--- 49,54 ---- + #define SEVAL_PARSEONLY 0x020 + #define SEVAL_NOLONGJMP 0x040 ++ #define SEVAL_FUNCDEF 0x080 /* only allow function definitions */ ++ #define SEVAL_ONECMD 0x100 /* only allow a single command */ + + /* Flags for describe_command, shared between type.def and command.def */ +*** ../bash-4.3-patched/builtins/evalstring.c 2014-02-11 09:42:10.000000000 -0500 +--- builtins/evalstring.c 2014-09-14 14:15:13.000000000 -0400 +*************** +*** 309,312 **** +--- 313,324 ---- + struct fd_bitmap *bitmap; + ++ if ((flags & SEVAL_FUNCDEF) && command->type != cm_function_def) ++ { ++ internal_warning ("%s: ignoring function definition attempt", from_file); ++ should_jump_to_top_level = 0; ++ last_result = last_command_exit_value = EX_BADUSAGE; ++ break; ++ } ++ + bitmap = new_fd_bitmap (FD_BITMAP_SIZE); + begin_unwind_frame ("pe_dispose"); +*************** +*** 369,372 **** +--- 381,387 ---- + dispose_fd_bitmap (bitmap); + discard_unwind_frame ("pe_dispose"); ++ ++ if (flags & SEVAL_ONECMD) ++ break; + } + } +*** ../bash-4.3-patched/variables.c 2014-05-15 08:26:50.000000000 -0400 +--- variables.c 2014-09-14 14:23:35.000000000 -0400 +*************** +*** 359,369 **** + strcpy (temp_string + char_index + 1, string); + +! if (posixly_correct == 0 || legal_identifier (name)) +! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST); +! +! /* Ancient backwards compatibility. Old versions of bash exported +! functions like name()=() {...} */ +! if (name[char_index - 1] == ')' && name[char_index - 2] == '(') +! name[char_index - 2] = '\0'; + + if (temp_var = find_function (name)) +--- 364,372 ---- + strcpy (temp_string + char_index + 1, string); + +! /* Don't import function names that are invalid identifiers from the +! environment, though we still allow them to be defined as shell +! variables. */ +! if (legal_identifier (name)) +! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD); + + if (temp_var = find_function (name)) +*************** +*** 382,389 **** + report_error (_("error importing function definition for `%s'"), name); + } +- +- /* ( */ +- if (name[char_index - 1] == ')' && name[char_index - 2] == '\0') +- name[char_index - 2] = '('; /* ) */ + } + #if defined (ARRAY_VARS) +--- 385,388 ---- +*** ../bash-4.3-patched/subst.c 2014-08-11 11:16:35.000000000 -0400 +--- subst.c 2014-09-12 15:31:04.000000000 -0400 +*************** +*** 8048,8052 **** + goto return0; + } +! else if (var = find_variable_last_nameref (temp1)) + { + temp = nameref_cell (var); +--- 8118,8124 ---- + goto return0; + } +! else if (var && (invisible_p (var) || var_isset (var) == 0)) +! temp = (char *)NULL; +! else if ((var = find_variable_last_nameref (temp1)) && var_isset (var) && invisible_p (var) == 0) + { + temp = nameref_cell (var); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 24 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 25 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-026 b/source/a/bash/bash-4.3-patches/bash43-026 new file mode 100644 index 00000000..d5d5b1dd --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-026 @@ -0,0 +1,60 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-026 + +Bug-Reported-by: Tavis Ormandy <taviso@cmpxchg8b.com> +Bug-Reference-ID: +Bug-Reference-URL: http://twitter.com/taviso/statuses/514887394294652929 + +Bug-Description: + +Under certain circumstances, bash can incorrectly save a lookahead character and +return it on a subsequent call, even when reading a new line. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3.25/parse.y 2014-07-30 10:14:31.000000000 -0400 +--- parse.y 2014-09-25 20:20:21.000000000 -0400 +*************** +*** 2954,2957 **** +--- 2954,2959 ---- + word_desc_to_read = (WORD_DESC *)NULL; + ++ eol_ungetc_lookahead = 0; ++ + current_token = '\n'; /* XXX */ + last_read_token = '\n'; +*** ../bash-4.3.25/y.tab.c 2014-07-30 10:14:32.000000000 -0400 +--- y.tab.c 2014-09-25 20:21:48.000000000 -0400 +*************** +*** 5266,5269 **** +--- 5266,5271 ---- + word_desc_to_read = (WORD_DESC *)NULL; + ++ eol_ungetc_lookahead = 0; ++ + current_token = '\n'; /* XXX */ + last_read_token = '\n'; +*************** +*** 8540,8542 **** + } + #endif /* HANDLE_MULTIBYTE */ +- +--- 8542,8543 ---- +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 25 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 26 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-027 b/source/a/bash/bash-4.3-patches/bash43-027 new file mode 100644 index 00000000..ef48bd82 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-027 @@ -0,0 +1,221 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-027 + +Bug-Reported-by: Florian Weimer <fweimer@redhat.com> +Bug-Reference-ID: +Bug-Reference-URL: + +Bug-Description: + +This patch changes the encoding bash uses for exported functions to avoid +clashes with shell variables and to avoid depending only on an environment +variable's contents to determine whether or not to interpret it as a shell +function. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3.26/variables.c 2014-09-25 23:02:18.000000000 -0400 +--- variables.c 2014-09-27 20:52:04.000000000 -0400 +*************** +*** 84,87 **** +--- 84,92 ---- + #define ifsname(s) ((s)[0] == 'I' && (s)[1] == 'F' && (s)[2] == 'S' && (s)[3] == '\0') + ++ #define BASHFUNC_PREFIX "BASH_FUNC_" ++ #define BASHFUNC_PREFLEN 10 /* == strlen(BASHFUNC_PREFIX */ ++ #define BASHFUNC_SUFFIX "%%" ++ #define BASHFUNC_SUFFLEN 2 /* == strlen(BASHFUNC_SUFFIX) */ ++ + extern char **environ; + +*************** +*** 280,284 **** + static void dispose_temporary_env __P((sh_free_func_t *)); + +! static inline char *mk_env_string __P((const char *, const char *)); + static char **make_env_array_from_var_list __P((SHELL_VAR **)); + static char **make_var_export_array __P((VAR_CONTEXT *)); +--- 285,289 ---- + static void dispose_temporary_env __P((sh_free_func_t *)); + +! static inline char *mk_env_string __P((const char *, const char *, int)); + static char **make_env_array_from_var_list __P((SHELL_VAR **)); + static char **make_var_export_array __P((VAR_CONTEXT *)); +*************** +*** 350,369 **** + /* If exported function, define it now. Don't import functions from + the environment in privileged mode. */ +! if (privmode == 0 && read_but_dont_execute == 0 && STREQN ("() {", string, 4)) + { + string_length = strlen (string); +! temp_string = (char *)xmalloc (3 + string_length + char_index); + +! strcpy (temp_string, name); +! temp_string[char_index] = ' '; +! strcpy (temp_string + char_index + 1, string); + + /* Don't import function names that are invalid identifiers from the + environment, though we still allow them to be defined as shell + variables. */ +! if (legal_identifier (name)) +! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD); + +! if (temp_var = find_function (name)) + { + VSETATTR (temp_var, (att_exported|att_imported)); +--- 355,385 ---- + /* If exported function, define it now. Don't import functions from + the environment in privileged mode. */ +! if (privmode == 0 && read_but_dont_execute == 0 && +! STREQN (BASHFUNC_PREFIX, name, BASHFUNC_PREFLEN) && +! STREQ (BASHFUNC_SUFFIX, name + char_index - BASHFUNC_SUFFLEN) && +! STREQN ("() {", string, 4)) + { ++ size_t namelen; ++ char *tname; /* desired imported function name */ ++ ++ namelen = char_index - BASHFUNC_PREFLEN - BASHFUNC_SUFFLEN; ++ ++ tname = name + BASHFUNC_PREFLEN; /* start of func name */ ++ tname[namelen] = '\0'; /* now tname == func name */ ++ + string_length = strlen (string); +! temp_string = (char *)xmalloc (namelen + string_length + 2); + +! memcpy (temp_string, tname, namelen); +! temp_string[namelen] = ' '; +! memcpy (temp_string + namelen + 1, string, string_length + 1); + + /* Don't import function names that are invalid identifiers from the + environment, though we still allow them to be defined as shell + variables. */ +! if (absolute_program (tname) == 0 && (posixly_correct == 0 || legal_identifier (tname))) +! parse_and_execute (temp_string, tname, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD); + +! if (temp_var = find_function (tname)) + { + VSETATTR (temp_var, (att_exported|att_imported)); +*************** +*** 378,383 **** + } + last_command_exit_value = 1; +! report_error (_("error importing function definition for `%s'"), name); + } + } + #if defined (ARRAY_VARS) +--- 394,402 ---- + } + last_command_exit_value = 1; +! report_error (_("error importing function definition for `%s'"), tname); + } ++ ++ /* Restore original suffix */ ++ tname[namelen] = BASHFUNC_SUFFIX[0]; + } + #if defined (ARRAY_VARS) +*************** +*** 2955,2959 **** + + INVALIDATE_EXPORTSTR (var); +! var->exportstr = mk_env_string (name, value); + + array_needs_making = 1; +--- 2974,2978 ---- + + INVALIDATE_EXPORTSTR (var); +! var->exportstr = mk_env_string (name, value, 0); + + array_needs_making = 1; +*************** +*** 3853,3871 **** + + static inline char * +! mk_env_string (name, value) + const char *name, *value; + { +! int name_len, value_len; +! char *p; + + name_len = strlen (name); + value_len = STRLEN (value); +! p = (char *)xmalloc (2 + name_len + value_len); +! strcpy (p, name); +! p[name_len] = '='; + if (value && *value) +! strcpy (p + name_len + 1, value); + else +! p[name_len + 1] = '\0'; + return (p); + } +--- 3872,3911 ---- + + static inline char * +! mk_env_string (name, value, isfunc) + const char *name, *value; ++ int isfunc; + { +! size_t name_len, value_len; +! char *p, *q; + + name_len = strlen (name); + value_len = STRLEN (value); +! +! /* If we are exporting a shell function, construct the encoded function +! name. */ +! if (isfunc && value) +! { +! p = (char *)xmalloc (BASHFUNC_PREFLEN + name_len + BASHFUNC_SUFFLEN + value_len + 2); +! q = p; +! memcpy (q, BASHFUNC_PREFIX, BASHFUNC_PREFLEN); +! q += BASHFUNC_PREFLEN; +! memcpy (q, name, name_len); +! q += name_len; +! memcpy (q, BASHFUNC_SUFFIX, BASHFUNC_SUFFLEN); +! q += BASHFUNC_SUFFLEN; +! } +! else +! { +! p = (char *)xmalloc (2 + name_len + value_len); +! memcpy (p, name, name_len); +! q = p + name_len; +! } +! +! q[0] = '='; + if (value && *value) +! memcpy (q + 1, value, value_len + 1); + else +! q[1] = '\0'; +! + return (p); + } +*************** +*** 3953,3957 **** + using the cached exportstr... */ + list[list_index] = USE_EXPORTSTR ? savestring (value) +! : mk_env_string (var->name, value); + + if (USE_EXPORTSTR == 0) +--- 3993,3997 ---- + using the cached exportstr... */ + list[list_index] = USE_EXPORTSTR ? savestring (value) +! : mk_env_string (var->name, value, function_p (var)); + + if (USE_EXPORTSTR == 0) +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 26 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 27 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-028 b/source/a/bash/bash-4.3-patches/bash43-028 new file mode 100644 index 00000000..7448cf81 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-028 @@ -0,0 +1,2265 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-028 + +Bug-Reported-by: Florian Weimer <fweimer@redhat.com> +Bug-Reference-ID: +Bug-Reference-URL: + +Bug-Description: + +There are two local buffer overflows in parse.y that can cause the shell +to dump core when given many here-documents attached to a single command +or many nested loops. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/parse.y 2014-09-25 23:02:35.000000000 -0400 +--- parse.y 2014-09-29 16:47:03.000000000 -0400 +*************** +*** 169,172 **** +--- 169,175 ---- + static int reserved_word_acceptable __P((int)); + static int yylex __P((void)); ++ ++ static void push_heredoc __P((REDIRECT *)); ++ static char *mk_alexpansion __P((char *)); + static int alias_expand_token __P((char *)); + static int time_command_acceptable __P((void)); +*************** +*** 266,270 **** + /* Variables to manage the task of reading here documents, because we need to + defer the reading until after a complete command has been collected. */ +! static REDIRECT *redir_stack[10]; + int need_here_doc; + +--- 269,275 ---- + /* Variables to manage the task of reading here documents, because we need to + defer the reading until after a complete command has been collected. */ +! #define HEREDOC_MAX 16 +! +! static REDIRECT *redir_stack[HEREDOC_MAX]; + int need_here_doc; + +*************** +*** 308,312 **** + index is decremented after a case, select, or for command is parsed. */ + #define MAX_CASE_NEST 128 +! static int word_lineno[MAX_CASE_NEST]; + static int word_top = -1; + +--- 313,317 ---- + index is decremented after a case, select, or for command is parsed. */ + #define MAX_CASE_NEST 128 +! static int word_lineno[MAX_CASE_NEST+1]; + static int word_top = -1; + +*************** +*** 521,525 **** + redir.filename = $2; + $$ = make_redirection (source, r_reading_until, redir, 0); +! redir_stack[need_here_doc++] = $$; + } + | NUMBER LESS_LESS WORD +--- 526,530 ---- + redir.filename = $2; + $$ = make_redirection (source, r_reading_until, redir, 0); +! push_heredoc ($$); + } + | NUMBER LESS_LESS WORD +*************** +*** 528,532 **** + redir.filename = $3; + $$ = make_redirection (source, r_reading_until, redir, 0); +! redir_stack[need_here_doc++] = $$; + } + | REDIR_WORD LESS_LESS WORD +--- 533,537 ---- + redir.filename = $3; + $$ = make_redirection (source, r_reading_until, redir, 0); +! push_heredoc ($$); + } + | REDIR_WORD LESS_LESS WORD +*************** +*** 535,539 **** + redir.filename = $3; + $$ = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN); +! redir_stack[need_here_doc++] = $$; + } + | LESS_LESS_MINUS WORD +--- 540,544 ---- + redir.filename = $3; + $$ = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN); +! push_heredoc ($$); + } + | LESS_LESS_MINUS WORD +*************** +*** 542,546 **** + redir.filename = $2; + $$ = make_redirection (source, r_deblank_reading_until, redir, 0); +! redir_stack[need_here_doc++] = $$; + } + | NUMBER LESS_LESS_MINUS WORD +--- 547,551 ---- + redir.filename = $2; + $$ = make_redirection (source, r_deblank_reading_until, redir, 0); +! push_heredoc ($$); + } + | NUMBER LESS_LESS_MINUS WORD +*************** +*** 549,553 **** + redir.filename = $3; + $$ = make_redirection (source, r_deblank_reading_until, redir, 0); +! redir_stack[need_here_doc++] = $$; + } + | REDIR_WORD LESS_LESS_MINUS WORD +--- 554,558 ---- + redir.filename = $3; + $$ = make_redirection (source, r_deblank_reading_until, redir, 0); +! push_heredoc ($$); + } + | REDIR_WORD LESS_LESS_MINUS WORD +*************** +*** 556,560 **** + redir.filename = $3; + $$ = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN); +! redir_stack[need_here_doc++] = $$; + } + | LESS_LESS_LESS WORD +--- 561,565 ---- + redir.filename = $3; + $$ = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN); +! push_heredoc ($$); + } + | LESS_LESS_LESS WORD +*************** +*** 2637,2640 **** +--- 2642,2660 ---- + static int esacs_needed_count; + ++ static void ++ push_heredoc (r) ++ REDIRECT *r; ++ { ++ if (need_here_doc >= HEREDOC_MAX) ++ { ++ last_command_exit_value = EX_BADUSAGE; ++ need_here_doc = 0; ++ report_syntax_error (_("maximum here-document count exceeded")); ++ reset_parser (); ++ exit_shell (last_command_exit_value); ++ } ++ redir_stack[need_here_doc++] = r; ++ } ++ + void + gather_here_documents () +*** ../bash-4.3.27/y.tab.c 2014-10-01 11:38:24.000000000 -0400 +--- y.tab.c 2014-10-01 12:46:11.000000000 -0400 +*************** +*** 169,173 **** + + /* Copy the first part of user declarations. */ +! #line 21 "/usr/homes/chet/src/bash/src/parse.y" + + #include "config.h" +--- 169,173 ---- + + /* Copy the first part of user declarations. */ +! #line 21 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + + #include "config.h" +*************** +*** 320,323 **** +--- 320,326 ---- + static int reserved_word_acceptable __P((int)); + static int yylex __P((void)); ++ ++ static void push_heredoc __P((REDIRECT *)); ++ static char *mk_alexpansion __P((char *)); + static int alias_expand_token __P((char *)); + static int time_command_acceptable __P((void)); +*************** +*** 417,421 **** + /* Variables to manage the task of reading here documents, because we need to + defer the reading until after a complete command has been collected. */ +! static REDIRECT *redir_stack[10]; + int need_here_doc; + +--- 420,426 ---- + /* Variables to manage the task of reading here documents, because we need to + defer the reading until after a complete command has been collected. */ +! #define HEREDOC_MAX 16 +! +! static REDIRECT *redir_stack[HEREDOC_MAX]; + int need_here_doc; + +*************** +*** 459,463 **** + index is decremented after a case, select, or for command is parsed. */ + #define MAX_CASE_NEST 128 +! static int word_lineno[MAX_CASE_NEST]; + static int word_top = -1; + +--- 464,468 ---- + index is decremented after a case, select, or for command is parsed. */ + #define MAX_CASE_NEST 128 +! static int word_lineno[MAX_CASE_NEST+1]; + static int word_top = -1; + +*************** +*** 493,497 **** + #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED + typedef union YYSTYPE +! #line 324 "/usr/homes/chet/src/bash/src/parse.y" + { + WORD_DESC *word; /* the word that we read. */ +--- 498,502 ---- + #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED + typedef union YYSTYPE +! #line 329 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + WORD_DESC *word; /* the word that we read. */ +*************** +*** 504,508 **** + } + /* Line 193 of yacc.c. */ +! #line 507 "y.tab.c" + YYSTYPE; + # define yystype YYSTYPE /* obsolescent; will be withdrawn */ +--- 509,513 ---- + } + /* Line 193 of yacc.c. */ +! #line 512 "y.tab.c" + YYSTYPE; + # define yystype YYSTYPE /* obsolescent; will be withdrawn */ +*************** +*** 517,521 **** + + /* Line 216 of yacc.c. */ +! #line 520 "y.tab.c" + + #ifdef short +--- 522,526 ---- + + /* Line 216 of yacc.c. */ +! #line 525 "y.tab.c" + + #ifdef short +*************** +*** 887,907 **** + static const yytype_uint16 yyrline[] = + { +! 0, 377, 377, 388, 397, 412, 422, 424, 428, 434, +! 440, 446, 452, 458, 464, 470, 476, 482, 488, 494, +! 500, 506, 512, 518, 525, 532, 539, 546, 553, 560, +! 566, 572, 578, 584, 590, 596, 602, 608, 614, 620, +! 626, 632, 638, 644, 650, 656, 662, 668, 674, 680, +! 686, 692, 700, 702, 704, 708, 712, 723, 725, 729, +! 731, 733, 749, 751, 755, 757, 759, 761, 763, 765, +! 767, 769, 771, 773, 775, 779, 784, 789, 794, 799, +! 804, 809, 814, 821, 826, 831, 836, 843, 848, 853, +! 858, 863, 868, 875, 880, 885, 892, 895, 898, 902, +! 904, 935, 942, 947, 964, 969, 986, 993, 995, 997, +! 1002, 1006, 1010, 1014, 1016, 1018, 1022, 1023, 1027, 1029, +! 1031, 1033, 1037, 1039, 1041, 1043, 1045, 1047, 1051, 1053, +! 1062, 1070, 1071, 1077, 1078, 1085, 1089, 1091, 1093, 1100, +! 1102, 1104, 1108, 1109, 1112, 1114, 1116, 1120, 1121, 1130, +! 1143, 1159, 1174, 1176, 1178, 1185, 1188, 1192, 1194, 1200, +! 1206, 1223, 1243, 1245, 1268, 1272, 1274, 1276 + }; + #endif +--- 892,912 ---- + static const yytype_uint16 yyrline[] = + { +! 0, 382, 382, 393, 402, 417, 427, 429, 433, 439, +! 445, 451, 457, 463, 469, 475, 481, 487, 493, 499, +! 505, 511, 517, 523, 530, 537, 544, 551, 558, 565, +! 571, 577, 583, 589, 595, 601, 607, 613, 619, 625, +! 631, 637, 643, 649, 655, 661, 667, 673, 679, 685, +! 691, 697, 705, 707, 709, 713, 717, 728, 730, 734, +! 736, 738, 754, 756, 760, 762, 764, 766, 768, 770, +! 772, 774, 776, 778, 780, 784, 789, 794, 799, 804, +! 809, 814, 819, 826, 831, 836, 841, 848, 853, 858, +! 863, 868, 873, 880, 885, 890, 897, 900, 903, 907, +! 909, 940, 947, 952, 969, 974, 991, 998, 1000, 1002, +! 1007, 1011, 1015, 1019, 1021, 1023, 1027, 1028, 1032, 1034, +! 1036, 1038, 1042, 1044, 1046, 1048, 1050, 1052, 1056, 1058, +! 1067, 1075, 1076, 1082, 1083, 1090, 1094, 1096, 1098, 1105, +! 1107, 1109, 1113, 1114, 1117, 1119, 1121, 1125, 1126, 1135, +! 1148, 1164, 1179, 1181, 1183, 1190, 1193, 1197, 1199, 1205, +! 1211, 1228, 1248, 1250, 1273, 1277, 1279, 1281 + }; + #endif +*************** +*** 2094,2098 **** + { + case 2: +! #line 378 "/usr/homes/chet/src/bash/src/parse.y" + { + /* Case of regular command. Discard the error +--- 2099,2103 ---- + { + case 2: +! #line 383 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + /* Case of regular command. Discard the error +*************** +*** 2108,2112 **** + + case 3: +! #line 389 "/usr/homes/chet/src/bash/src/parse.y" + { + /* Case of regular command, but not a very +--- 2113,2117 ---- + + case 3: +! #line 394 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + /* Case of regular command, but not a very +*************** +*** 2120,2124 **** + + case 4: +! #line 398 "/usr/homes/chet/src/bash/src/parse.y" + { + /* Error during parsing. Return NULL command. */ +--- 2125,2129 ---- + + case 4: +! #line 403 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + /* Error during parsing. Return NULL command. */ +*************** +*** 2138,2142 **** + + case 5: +! #line 413 "/usr/homes/chet/src/bash/src/parse.y" + { + /* Case of EOF seen by itself. Do ignoreeof or +--- 2143,2147 ---- + + case 5: +! #line 418 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + /* Case of EOF seen by itself. Do ignoreeof or +*************** +*** 2149,2163 **** + + case 6: +! #line 423 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); } + break; + + case 7: +! #line 425 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(2) - (2)].word), (yyvsp[(1) - (2)].word_list)); } + break; + + case 8: +! #line 429 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 1; +--- 2154,2168 ---- + + case 6: +! #line 428 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); } + break; + + case 7: +! #line 430 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(2) - (2)].word), (yyvsp[(1) - (2)].word_list)); } + break; + + case 8: +! #line 434 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +*************** +*** 2168,2172 **** + + case 9: +! #line 435 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 0; +--- 2173,2177 ---- + + case 9: +! #line 440 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +*************** +*** 2177,2181 **** + + case 10: +! #line 441 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2182,2186 ---- + + case 10: +! #line 446 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2186,2190 **** + + case 11: +! #line 447 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2191,2195 ---- + + case 11: +! #line 452 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2195,2199 **** + + case 12: +! #line 453 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2200,2204 ---- + + case 12: +! #line 458 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2204,2208 **** + + case 13: +! #line 459 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2209,2213 ---- + + case 13: +! #line 464 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2213,2217 **** + + case 14: +! #line 465 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 1; +--- 2218,2222 ---- + + case 14: +! #line 470 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +*************** +*** 2222,2226 **** + + case 15: +! #line 471 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2227,2231 ---- + + case 15: +! #line 476 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2231,2235 **** + + case 16: +! #line 477 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2236,2240 ---- + + case 16: +! #line 482 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2240,2244 **** + + case 17: +! #line 483 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 1; +--- 2245,2249 ---- + + case 17: +! #line 488 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +*************** +*** 2249,2253 **** + + case 18: +! #line 489 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2254,2258 ---- + + case 18: +! #line 494 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2258,2262 **** + + case 19: +! #line 495 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2263,2267 ---- + + case 19: +! #line 500 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2267,2271 **** + + case 20: +! #line 501 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 0; +--- 2272,2276 ---- + + case 20: +! #line 506 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +*************** +*** 2276,2280 **** + + case 21: +! #line 507 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2281,2285 ---- + + case 21: +! #line 512 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2285,2289 **** + + case 22: +! #line 513 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2290,2294 ---- + + case 22: +! #line 518 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2294,2358 **** + + case 23: +! #line 519 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 0; + redir.filename = (yyvsp[(2) - (2)].word); + (yyval.redirect) = make_redirection (source, r_reading_until, redir, 0); +! redir_stack[need_here_doc++] = (yyval.redirect); + } + break; + + case 24: +! #line 526 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); + redir.filename = (yyvsp[(3) - (3)].word); + (yyval.redirect) = make_redirection (source, r_reading_until, redir, 0); +! redir_stack[need_here_doc++] = (yyval.redirect); + } + break; + + case 25: +! #line 533 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); + redir.filename = (yyvsp[(3) - (3)].word); + (yyval.redirect) = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN); +! redir_stack[need_here_doc++] = (yyval.redirect); + } + break; + + case 26: +! #line 540 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 0; + redir.filename = (yyvsp[(2) - (2)].word); + (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, 0); +! redir_stack[need_here_doc++] = (yyval.redirect); + } + break; + + case 27: +! #line 547 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); + redir.filename = (yyvsp[(3) - (3)].word); + (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, 0); +! redir_stack[need_here_doc++] = (yyval.redirect); + } + break; + + case 28: +! #line 554 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); + redir.filename = (yyvsp[(3) - (3)].word); + (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN); +! redir_stack[need_here_doc++] = (yyval.redirect); + } + break; + + case 29: +! #line 561 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 0; +--- 2299,2363 ---- + + case 23: +! #line 524 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; + redir.filename = (yyvsp[(2) - (2)].word); + (yyval.redirect) = make_redirection (source, r_reading_until, redir, 0); +! push_heredoc ((yyval.redirect)); + } + break; + + case 24: +! #line 531 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); + redir.filename = (yyvsp[(3) - (3)].word); + (yyval.redirect) = make_redirection (source, r_reading_until, redir, 0); +! push_heredoc ((yyval.redirect)); + } + break; + + case 25: +! #line 538 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); + redir.filename = (yyvsp[(3) - (3)].word); + (yyval.redirect) = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN); +! push_heredoc ((yyval.redirect)); + } + break; + + case 26: +! #line 545 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; + redir.filename = (yyvsp[(2) - (2)].word); + (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, 0); +! push_heredoc ((yyval.redirect)); + } + break; + + case 27: +! #line 552 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); + redir.filename = (yyvsp[(3) - (3)].word); + (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, 0); +! push_heredoc ((yyval.redirect)); + } + break; + + case 28: +! #line 559 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); + redir.filename = (yyvsp[(3) - (3)].word); + (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN); +! push_heredoc ((yyval.redirect)); + } + break; + + case 29: +! #line 566 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +*************** +*** 2363,2367 **** + + case 30: +! #line 567 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2368,2372 ---- + + case 30: +! #line 572 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2372,2376 **** + + case 31: +! #line 573 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2377,2381 ---- + + case 31: +! #line 578 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2381,2385 **** + + case 32: +! #line 579 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 0; +--- 2386,2390 ---- + + case 32: +! #line 584 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +*************** +*** 2390,2394 **** + + case 33: +! #line 585 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2395,2399 ---- + + case 33: +! #line 590 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2399,2403 **** + + case 34: +! #line 591 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2404,2408 ---- + + case 34: +! #line 596 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2408,2412 **** + + case 35: +! #line 597 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 1; +--- 2413,2417 ---- + + case 35: +! #line 602 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +*************** +*** 2417,2421 **** + + case 36: +! #line 603 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2422,2426 ---- + + case 36: +! #line 608 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2426,2430 **** + + case 37: +! #line 609 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2431,2435 ---- + + case 37: +! #line 614 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2435,2439 **** + + case 38: +! #line 615 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 0; +--- 2440,2444 ---- + + case 38: +! #line 620 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +*************** +*** 2444,2448 **** + + case 39: +! #line 621 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2449,2453 ---- + + case 39: +! #line 626 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2453,2457 **** + + case 40: +! #line 627 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2458,2462 ---- + + case 40: +! #line 632 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2462,2466 **** + + case 41: +! #line 633 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 1; +--- 2467,2471 ---- + + case 41: +! #line 638 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +*************** +*** 2471,2475 **** + + case 42: +! #line 639 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2476,2480 ---- + + case 42: +! #line 644 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2480,2484 **** + + case 43: +! #line 645 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2485,2489 ---- + + case 43: +! #line 650 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2489,2493 **** + + case 44: +! #line 651 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 1; +--- 2494,2498 ---- + + case 44: +! #line 656 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +*************** +*** 2498,2502 **** + + case 45: +! #line 657 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2503,2507 ---- + + case 45: +! #line 662 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2507,2511 **** + + case 46: +! #line 663 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2512,2516 ---- + + case 46: +! #line 668 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2516,2520 **** + + case 47: +! #line 669 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 0; +--- 2521,2525 ---- + + case 47: +! #line 674 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +*************** +*** 2525,2529 **** + + case 48: +! #line 675 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2530,2534 ---- + + case 48: +! #line 680 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2534,2538 **** + + case 49: +! #line 681 "/usr/homes/chet/src/bash/src/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2539,2543 ---- + + case 49: +! #line 686 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2543,2547 **** + + case 50: +! #line 687 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 1; +--- 2548,2552 ---- + + case 50: +! #line 692 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +*************** +*** 2552,2556 **** + + case 51: +! #line 693 "/usr/homes/chet/src/bash/src/parse.y" + { + source.dest = 1; +--- 2557,2561 ---- + + case 51: +! #line 698 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +*************** +*** 2561,2580 **** + + case 52: +! #line 701 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; } + break; + + case 53: +! #line 703 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; } + break; + + case 54: +! #line 705 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.element).redirect = (yyvsp[(1) - (1)].redirect); (yyval.element).word = 0; } + break; + + case 55: +! #line 709 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.redirect) = (yyvsp[(1) - (1)].redirect); +--- 2566,2585 ---- + + case 52: +! #line 706 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; } + break; + + case 53: +! #line 708 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; } + break; + + case 54: +! #line 710 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.element).redirect = (yyvsp[(1) - (1)].redirect); (yyval.element).word = 0; } + break; + + case 55: +! #line 714 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.redirect) = (yyvsp[(1) - (1)].redirect); +*************** +*** 2583,2587 **** + + case 56: +! #line 713 "/usr/homes/chet/src/bash/src/parse.y" + { + register REDIRECT *t; +--- 2588,2592 ---- + + case 56: +! #line 718 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + register REDIRECT *t; +*************** +*** 2595,2619 **** + + case 57: +! #line 724 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_simple_command ((yyvsp[(1) - (1)].element), (COMMAND *)NULL); } + break; + + case 58: +! #line 726 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_simple_command ((yyvsp[(2) - (2)].element), (yyvsp[(1) - (2)].command)); } + break; + + case 59: +! #line 730 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = clean_simple_command ((yyvsp[(1) - (1)].command)); } + break; + + case 60: +! #line 732 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 61: +! #line 734 "/usr/homes/chet/src/bash/src/parse.y" + { + COMMAND *tc; +--- 2600,2624 ---- + + case 57: +! #line 729 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_simple_command ((yyvsp[(1) - (1)].element), (COMMAND *)NULL); } + break; + + case 58: +! #line 731 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_simple_command ((yyvsp[(2) - (2)].element), (yyvsp[(1) - (2)].command)); } + break; + + case 59: +! #line 735 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = clean_simple_command ((yyvsp[(1) - (1)].command)); } + break; + + case 60: +! #line 737 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 61: +! #line 739 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + COMMAND *tc; +*************** +*** 2634,2703 **** + + case 62: +! #line 750 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 63: +! #line 752 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 64: +! #line 756 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 65: +! #line 758 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 66: +! #line 760 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_while_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); } + break; + + case 67: +! #line 762 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_until_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); } + break; + + case 68: +! #line 764 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 69: +! #line 766 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 70: +! #line 768 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 71: +! #line 770 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 72: +! #line 772 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 73: +! #line 774 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 74: +! #line 776 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 75: +! #line 780 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +--- 2639,2708 ---- + + case 62: +! #line 755 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 63: +! #line 757 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 64: +! #line 761 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 65: +! #line 763 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 66: +! #line 765 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_while_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); } + break; + + case 67: +! #line 767 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_until_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); } + break; + + case 68: +! #line 769 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 69: +! #line 771 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 70: +! #line 773 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 71: +! #line 775 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 72: +! #line 777 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 73: +! #line 779 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 74: +! #line 781 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 75: +! #line 785 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +*************** +*** 2707,2711 **** + + case 76: +! #line 785 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +--- 2712,2716 ---- + + case 76: +! #line 790 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +*************** +*** 2715,2719 **** + + case 77: +! #line 790 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +--- 2720,2724 ---- + + case 77: +! #line 795 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +*************** +*** 2723,2727 **** + + case 78: +! #line 795 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +--- 2728,2732 ---- + + case 78: +! #line 800 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +*************** +*** 2731,2735 **** + + case 79: +! #line 800 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +--- 2736,2740 ---- + + case 79: +! #line 805 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +*************** +*** 2739,2743 **** + + case 80: +! #line 805 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +--- 2744,2748 ---- + + case 80: +! #line 810 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +*************** +*** 2747,2751 **** + + case 81: +! #line 810 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]); +--- 2752,2756 ---- + + case 81: +! #line 815 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]); +*************** +*** 2755,2759 **** + + case 82: +! #line 815 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]); +--- 2760,2764 ---- + + case 82: +! #line 820 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]); +*************** +*** 2763,2767 **** + + case 83: +! #line 822 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno); +--- 2768,2772 ---- + + case 83: +! #line 827 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno); +*************** +*** 2771,2775 **** + + case 84: +! #line 827 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno); +--- 2776,2780 ---- + + case 84: +! #line 832 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno); +*************** +*** 2779,2783 **** + + case 85: +! #line 832 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno); +--- 2784,2788 ---- + + case 85: +! #line 837 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno); +*************** +*** 2787,2791 **** + + case 86: +! #line 837 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno); +--- 2792,2796 ---- + + case 86: +! #line 842 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno); +*************** +*** 2795,2799 **** + + case 87: +! #line 844 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +--- 2800,2804 ---- + + case 87: +! #line 849 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +*************** +*** 2803,2807 **** + + case 88: +! #line 849 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +--- 2808,2812 ---- + + case 88: +! #line 854 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +*************** +*** 2811,2815 **** + + case 89: +! #line 854 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +--- 2816,2820 ---- + + case 89: +! #line 859 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +*************** +*** 2819,2823 **** + + case 90: +! #line 859 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +--- 2824,2828 ---- + + case 90: +! #line 864 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +*************** +*** 2827,2831 **** + + case 91: +! #line 864 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +--- 2832,2836 ---- + + case 91: +! #line 869 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +*************** +*** 2835,2839 **** + + case 92: +! #line 869 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +--- 2840,2844 ---- + + case 92: +! #line 874 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +*************** +*** 2843,2847 **** + + case 93: +! #line 876 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (PATTERN_LIST *)NULL, word_lineno[word_top]); +--- 2848,2852 ---- + + case 93: +! #line 881 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (PATTERN_LIST *)NULL, word_lineno[word_top]); +*************** +*** 2851,2855 **** + + case 94: +! #line 881 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (7)].word), (yyvsp[(5) - (7)].pattern), word_lineno[word_top]); +--- 2856,2860 ---- + + case 94: +! #line 886 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (7)].word), (yyvsp[(5) - (7)].pattern), word_lineno[word_top]); +*************** +*** 2859,2863 **** + + case 95: +! #line 886 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (yyvsp[(5) - (6)].pattern), word_lineno[word_top]); +--- 2864,2868 ---- + + case 95: +! #line 891 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (yyvsp[(5) - (6)].pattern), word_lineno[word_top]); +*************** +*** 2867,2891 **** + + case 96: +! #line 893 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(1) - (5)].word), (yyvsp[(5) - (5)].command), function_dstart, function_bstart); } + break; + + case 97: +! #line 896 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(2) - (6)].word), (yyvsp[(6) - (6)].command), function_dstart, function_bstart); } + break; + + case 98: +! #line 899 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(2) - (4)].word), (yyvsp[(4) - (4)].command), function_dstart, function_bstart); } + break; + + case 99: +! #line 903 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 100: +! #line 905 "/usr/homes/chet/src/bash/src/parse.y" + { + COMMAND *tc; +--- 2872,2896 ---- + + case 96: +! #line 898 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(1) - (5)].word), (yyvsp[(5) - (5)].command), function_dstart, function_bstart); } + break; + + case 97: +! #line 901 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(2) - (6)].word), (yyvsp[(6) - (6)].command), function_dstart, function_bstart); } + break; + + case 98: +! #line 904 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(2) - (4)].word), (yyvsp[(4) - (4)].command), function_dstart, function_bstart); } + break; + + case 99: +! #line 908 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 100: +! #line 910 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + COMMAND *tc; +*************** +*** 2919,2923 **** + + case 101: +! #line 936 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_subshell_command ((yyvsp[(2) - (3)].command)); +--- 2924,2928 ---- + + case 101: +! #line 941 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_subshell_command ((yyvsp[(2) - (3)].command)); +*************** +*** 2927,2931 **** + + case 102: +! #line 943 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_coproc_command ("COPROC", (yyvsp[(2) - (2)].command)); +--- 2932,2936 ---- + + case 102: +! #line 948 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_coproc_command ("COPROC", (yyvsp[(2) - (2)].command)); +*************** +*** 2935,2939 **** + + case 103: +! #line 948 "/usr/homes/chet/src/bash/src/parse.y" + { + COMMAND *tc; +--- 2940,2944 ---- + + case 103: +! #line 953 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + COMMAND *tc; +*************** +*** 2955,2959 **** + + case 104: +! #line 965 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_coproc_command ((yyvsp[(2) - (3)].word)->word, (yyvsp[(3) - (3)].command)); +--- 2960,2964 ---- + + case 104: +! #line 970 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_coproc_command ((yyvsp[(2) - (3)].word)->word, (yyvsp[(3) - (3)].command)); +*************** +*** 2963,2967 **** + + case 105: +! #line 970 "/usr/homes/chet/src/bash/src/parse.y" + { + COMMAND *tc; +--- 2968,2972 ---- + + case 105: +! #line 975 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + COMMAND *tc; +*************** +*** 2983,2987 **** + + case 106: +! #line 987 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = make_coproc_command ("COPROC", clean_simple_command ((yyvsp[(2) - (2)].command))); +--- 2988,2992 ---- + + case 106: +! #line 992 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_coproc_command ("COPROC", clean_simple_command ((yyvsp[(2) - (2)].command))); +*************** +*** 2991,3105 **** + + case 107: +! #line 994 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (COMMAND *)NULL); } + break; + + case 108: +! #line 996 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (7)].command), (yyvsp[(4) - (7)].command), (yyvsp[(6) - (7)].command)); } + break; + + case 109: +! #line 998 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(5) - (6)].command)); } + break; + + case 110: +! #line 1003 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_group_command ((yyvsp[(2) - (3)].command)); } + break; + + case 111: +! #line 1007 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_arith_command ((yyvsp[(1) - (1)].word_list)); } + break; + + case 112: +! #line 1011 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(2) - (3)].command); } + break; + + case 113: +! #line 1015 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (4)].command), (yyvsp[(4) - (4)].command), (COMMAND *)NULL); } + break; + + case 114: +! #line 1017 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(6) - (6)].command)); } + break; + + case 115: +! #line 1019 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (yyvsp[(5) - (5)].command)); } + break; + + case 117: +! #line 1024 "/usr/homes/chet/src/bash/src/parse.y" + { (yyvsp[(2) - (2)].pattern)->next = (yyvsp[(1) - (2)].pattern); (yyval.pattern) = (yyvsp[(2) - (2)].pattern); } + break; + + case 118: +! #line 1028 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (yyvsp[(4) - (4)].command)); } + break; + + case 119: +! #line 1030 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (COMMAND *)NULL); } + break; + + case 120: +! #line 1032 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (yyvsp[(5) - (5)].command)); } + break; + + case 121: +! #line 1034 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (COMMAND *)NULL); } + break; + + case 122: +! #line 1038 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 123: +! #line 1040 "/usr/homes/chet/src/bash/src/parse.y" + { (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 124: +! #line 1042 "/usr/homes/chet/src/bash/src/parse.y" + { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 125: +! #line 1044 "/usr/homes/chet/src/bash/src/parse.y" + { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 126: +! #line 1046 "/usr/homes/chet/src/bash/src/parse.y" + { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_TESTNEXT; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 127: +! #line 1048 "/usr/homes/chet/src/bash/src/parse.y" + { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_TESTNEXT; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 128: +! #line 1052 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); } + break; + + case 129: +! #line 1054 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(3) - (3)].word), (yyvsp[(1) - (3)].word_list)); } + break; + + case 130: +! #line 1063 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = (yyvsp[(2) - (2)].command); +--- 2996,3110 ---- + + case 107: +! #line 999 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (COMMAND *)NULL); } + break; + + case 108: +! #line 1001 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (7)].command), (yyvsp[(4) - (7)].command), (yyvsp[(6) - (7)].command)); } + break; + + case 109: +! #line 1003 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(5) - (6)].command)); } + break; + + case 110: +! #line 1008 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_group_command ((yyvsp[(2) - (3)].command)); } + break; + + case 111: +! #line 1012 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_arith_command ((yyvsp[(1) - (1)].word_list)); } + break; + + case 112: +! #line 1016 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(2) - (3)].command); } + break; + + case 113: +! #line 1020 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (4)].command), (yyvsp[(4) - (4)].command), (COMMAND *)NULL); } + break; + + case 114: +! #line 1022 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(6) - (6)].command)); } + break; + + case 115: +! #line 1024 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (yyvsp[(5) - (5)].command)); } + break; + + case 117: +! #line 1029 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(2) - (2)].pattern)->next = (yyvsp[(1) - (2)].pattern); (yyval.pattern) = (yyvsp[(2) - (2)].pattern); } + break; + + case 118: +! #line 1033 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (yyvsp[(4) - (4)].command)); } + break; + + case 119: +! #line 1035 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (COMMAND *)NULL); } + break; + + case 120: +! #line 1037 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (yyvsp[(5) - (5)].command)); } + break; + + case 121: +! #line 1039 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (COMMAND *)NULL); } + break; + + case 122: +! #line 1043 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 123: +! #line 1045 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 124: +! #line 1047 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 125: +! #line 1049 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 126: +! #line 1051 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_TESTNEXT; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 127: +! #line 1053 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_TESTNEXT; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 128: +! #line 1057 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); } + break; + + case 129: +! #line 1059 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(3) - (3)].word), (yyvsp[(1) - (3)].word_list)); } + break; + + case 130: +! #line 1068 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = (yyvsp[(2) - (2)].command); +*************** +*** 3110,3114 **** + + case 132: +! #line 1072 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = (yyvsp[(2) - (2)].command); +--- 3115,3119 ---- + + case 132: +! #line 1077 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = (yyvsp[(2) - (2)].command); +*************** +*** 3117,3121 **** + + case 134: +! #line 1079 "/usr/homes/chet/src/bash/src/parse.y" + { + if ((yyvsp[(1) - (3)].command)->type == cm_connection) +--- 3122,3126 ---- + + case 134: +! #line 1084 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(1) - (3)].command)->type == cm_connection) +*************** +*** 3127,3141 **** + + case 136: +! #line 1090 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); } + break; + + case 137: +! #line 1092 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); } + break; + + case 138: +! #line 1094 "/usr/homes/chet/src/bash/src/parse.y" + { + if ((yyvsp[(1) - (4)].command)->type == cm_connection) +--- 3132,3146 ---- + + case 136: +! #line 1095 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); } + break; + + case 137: +! #line 1097 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); } + break; + + case 138: +! #line 1099 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(1) - (4)].command)->type == cm_connection) +*************** +*** 3147,3181 **** + + case 139: +! #line 1101 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); } + break; + + case 140: +! #line 1103 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); } + break; + + case 141: +! #line 1105 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 144: +! #line 1113 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.number) = '\n'; } + break; + + case 145: +! #line 1115 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.number) = ';'; } + break; + + case 146: +! #line 1117 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.number) = yacc_EOF; } + break; + + case 149: +! #line 1131 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = (yyvsp[(1) - (1)].command); +--- 3152,3186 ---- + + case 139: +! #line 1106 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); } + break; + + case 140: +! #line 1108 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); } + break; + + case 141: +! #line 1110 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 144: +! #line 1118 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = '\n'; } + break; + + case 145: +! #line 1120 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = ';'; } + break; + + case 146: +! #line 1122 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = yacc_EOF; } + break; + + case 149: +! #line 1136 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = (yyvsp[(1) - (1)].command); +*************** +*** 3193,3197 **** + + case 150: +! #line 1144 "/usr/homes/chet/src/bash/src/parse.y" + { + if ((yyvsp[(1) - (2)].command)->type == cm_connection) +--- 3198,3202 ---- + + case 150: +! #line 1149 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(1) - (2)].command)->type == cm_connection) +*************** +*** 3212,3216 **** + + case 151: +! #line 1160 "/usr/homes/chet/src/bash/src/parse.y" + { + (yyval.command) = (yyvsp[(1) - (2)].command); +--- 3217,3221 ---- + + case 151: +! #line 1165 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = (yyvsp[(1) - (2)].command); +*************** +*** 3228,3242 **** + + case 152: +! #line 1175 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); } + break; + + case 153: +! #line 1177 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); } + break; + + case 154: +! #line 1179 "/usr/homes/chet/src/bash/src/parse.y" + { + if ((yyvsp[(1) - (3)].command)->type == cm_connection) +--- 3233,3247 ---- + + case 152: +! #line 1180 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); } + break; + + case 153: +! #line 1182 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); } + break; + + case 154: +! #line 1184 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(1) - (3)].command)->type == cm_connection) +*************** +*** 3248,3267 **** + + case 155: +! #line 1186 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (3)].command), (yyvsp[(3) - (3)].command), ';'); } + break; + + case 156: +! #line 1189 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 157: +! #line 1193 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 158: +! #line 1195 "/usr/homes/chet/src/bash/src/parse.y" + { + if ((yyvsp[(2) - (2)].command)) +--- 3253,3272 ---- + + case 155: +! #line 1191 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (3)].command), (yyvsp[(3) - (3)].command), ';'); } + break; + + case 156: +! #line 1194 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 157: +! #line 1198 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 158: +! #line 1200 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(2) - (2)].command)) +*************** +*** 3272,3276 **** + + case 159: +! #line 1201 "/usr/homes/chet/src/bash/src/parse.y" + { + if ((yyvsp[(2) - (2)].command)) +--- 3277,3281 ---- + + case 159: +! #line 1206 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(2) - (2)].command)) +*************** +*** 3281,3285 **** + + case 160: +! #line 1207 "/usr/homes/chet/src/bash/src/parse.y" + { + ELEMENT x; +--- 3286,3290 ---- + + case 160: +! #line 1212 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + ELEMENT x; +*************** +*** 3301,3305 **** + + case 161: +! #line 1224 "/usr/homes/chet/src/bash/src/parse.y" + { + ELEMENT x; +--- 3306,3310 ---- + + case 161: +! #line 1229 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + ELEMENT x; +*************** +*** 3322,3331 **** + + case 162: +! #line 1244 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), '|'); } + break; + + case 163: +! #line 1246 "/usr/homes/chet/src/bash/src/parse.y" + { + /* Make cmd1 |& cmd2 equivalent to cmd1 2>&1 | cmd2 */ +--- 3327,3336 ---- + + case 162: +! #line 1249 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), '|'); } + break; + + case 163: +! #line 1251 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + /* Make cmd1 |& cmd2 equivalent to cmd1 2>&1 | cmd2 */ +*************** +*** 3353,3372 **** + + case 164: +! #line 1269 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 165: +! #line 1273 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE; } + break; + + case 166: +! #line 1275 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; } + break; + + case 167: +! #line 1277 "/usr/homes/chet/src/bash/src/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; } + break; +--- 3358,3377 ---- + + case 164: +! #line 1274 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 165: +! #line 1278 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE; } + break; + + case 166: +! #line 1280 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; } + break; + + case 167: +! #line 1282 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; } + break; +*************** +*** 3374,3378 **** + + /* Line 1267 of yacc.c. */ +! #line 3377 "y.tab.c" + default: break; + } +--- 3379,3383 ---- + + /* Line 1267 of yacc.c. */ +! #line 3382 "y.tab.c" + default: break; + } +*************** +*** 3588,3592 **** + + +! #line 1279 "/usr/homes/chet/src/bash/src/parse.y" + + +--- 3593,3597 ---- + + +! #line 1284 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + + +*************** +*** 4949,4952 **** +--- 4954,4972 ---- + static int esacs_needed_count; + ++ static void ++ push_heredoc (r) ++ REDIRECT *r; ++ { ++ if (need_here_doc >= HEREDOC_MAX) ++ { ++ last_command_exit_value = EX_BADUSAGE; ++ need_here_doc = 0; ++ report_syntax_error (_("maximum here-document count exceeded")); ++ reset_parser (); ++ exit_shell (last_command_exit_value); ++ } ++ redir_stack[need_here_doc++] = r; ++ } ++ + void + gather_here_documents () +*************** +*** 8542,8543 **** +--- 8562,8564 ---- + } + #endif /* HANDLE_MULTIBYTE */ ++ +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 27 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 28 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-029 b/source/a/bash/bash-4.3-patches/bash43-029 new file mode 100644 index 00000000..93bd390a --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-029 @@ -0,0 +1,59 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-029 + +Bug-Reported-by: Michal Zalewski <lcamtuf@coredump.cx> +Bug-Reference-ID: +Bug-Reference-URL: + +Bug-Description: + +When bash is parsing a function definition that contains a here-document +delimited by end-of-file (or end-of-string), it leaves the closing delimiter +uninitialized. This can result in an invalid memory access when the parsed +function is later copied. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3.28/make_cmd.c 2011-12-16 08:08:01.000000000 -0500 +--- make_cmd.c 2014-10-02 11:24:23.000000000 -0400 +*************** +*** 693,696 **** +--- 693,697 ---- + temp->redirector = source; + temp->redirectee = dest_and_filename; ++ temp->here_doc_eof = 0; + temp->instruction = instruction; + temp->flags = 0; +*** ../bash-4.3.28/copy_cmd.c 2009-09-11 16:28:02.000000000 -0400 +--- copy_cmd.c 2014-10-02 11:24:23.000000000 -0400 +*************** +*** 127,131 **** + case r_reading_until: + case r_deblank_reading_until: +! new_redirect->here_doc_eof = savestring (redirect->here_doc_eof); + /*FALLTHROUGH*/ + case r_reading_string: +--- 127,131 ---- + case r_reading_until: + case r_deblank_reading_until: +! new_redirect->here_doc_eof = redirect->here_doc_eof ? savestring (redirect->here_doc_eof) : 0; + /*FALLTHROUGH*/ + case r_reading_string: +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 28 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 29 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-030 b/source/a/bash/bash-4.3-patches/bash43-030 new file mode 100644 index 00000000..78984da2 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-030 @@ -0,0 +1,2064 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-030 + +Bug-Reported-by: Michal Zalewski <lcamtuf@coredump.cx> +Bug-Reference-ID: +Bug-Reference-URL: + +Bug-Description: + +A combination of nested command substitutions and function importing from +the environment can cause bash to execute code appearing in the environment +variable value following the function definition. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3.29/builtins/evalstring.c 2014-10-01 12:57:47.000000000 -0400 +--- builtins/evalstring.c 2014-10-03 11:57:04.000000000 -0400 +*************** +*** 309,318 **** + struct fd_bitmap *bitmap; + +! if ((flags & SEVAL_FUNCDEF) && command->type != cm_function_def) + { +! internal_warning ("%s: ignoring function definition attempt", from_file); +! should_jump_to_top_level = 0; +! last_result = last_command_exit_value = EX_BADUSAGE; +! break; + } + +--- 313,335 ---- + struct fd_bitmap *bitmap; + +! if (flags & SEVAL_FUNCDEF) + { +! char *x; +! +! /* If the command parses to something other than a straight +! function definition, or if we have not consumed the entire +! string, or if the parser has transformed the function +! name (as parsing will if it begins or ends with shell +! whitespace, for example), reject the attempt */ +! if (command->type != cm_function_def || +! ((x = parser_remaining_input ()) && *x) || +! (STREQ (from_file, command->value.Function_def->name->word) == 0)) +! { +! internal_warning (_("%s: ignoring function definition attempt"), from_file); +! should_jump_to_top_level = 0; +! last_result = last_command_exit_value = EX_BADUSAGE; +! reset_parser (); +! break; +! } + } + +*************** +*** 379,383 **** + + if (flags & SEVAL_ONECMD) +! break; + } + } +--- 396,403 ---- + + if (flags & SEVAL_ONECMD) +! { +! reset_parser (); +! break; +! } + } + } +*** ../bash-4.3.29/parse.y 2014-10-01 12:58:43.000000000 -0400 +--- parse.y 2014-10-03 14:48:59.000000000 -0400 +*************** +*** 2539,2542 **** +--- 2539,2552 ---- + } + ++ char * ++ parser_remaining_input () ++ { ++ if (shell_input_line == 0) ++ return 0; ++ if (shell_input_line_index < 0 || shell_input_line_index >= shell_input_line_len) ++ return '\0'; /* XXX */ ++ return (shell_input_line + shell_input_line_index); ++ } ++ + #ifdef INCLUDE_UNUSED + /* Back the input pointer up by one, effectively `ungetting' a character. */ +*************** +*** 4028,4033 **** + /* reset_parser clears shell_input_line and associated variables */ + restore_input_line_state (&ls); +! if (interactive) +! token_to_read = 0; + + /* Need to find how many characters parse_and_execute consumed, update +--- 4053,4058 ---- + /* reset_parser clears shell_input_line and associated variables */ + restore_input_line_state (&ls); +! +! token_to_read = 0; + + /* Need to find how many characters parse_and_execute consumed, update +*** ../bash-4.3.29/shell.h 2014-10-01 12:57:39.000000000 -0400 +--- shell.h 2014-10-03 14:49:12.000000000 -0400 +*************** +*** 181,184 **** +--- 181,186 ---- + + /* Let's try declaring these here. */ ++ extern char *parser_remaining_input __P((void)); ++ + extern sh_parser_state_t *save_parser_state __P((sh_parser_state_t *)); + extern void restore_parser_state __P((sh_parser_state_t *)); +*** ../bash-4.3.28/y.tab.c 2014-10-01 13:09:46.000000000 -0400 +--- y.tab.c 2014-10-04 19:26:22.000000000 -0400 +*************** +*** 169,173 **** + + /* Copy the first part of user declarations. */ +! #line 21 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + + #include "config.h" +--- 169,173 ---- + + /* Copy the first part of user declarations. */ +! #line 21 "/usr/src/local/bash/bash-4.3-patched/parse.y" + + #include "config.h" +*************** +*** 498,502 **** + #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED + typedef union YYSTYPE +! #line 329 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + WORD_DESC *word; /* the word that we read. */ +--- 498,502 ---- + #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED + typedef union YYSTYPE +! #line 329 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + WORD_DESC *word; /* the word that we read. */ +*************** +*** 2099,2103 **** + { + case 2: +! #line 383 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + /* Case of regular command. Discard the error +--- 2099,2103 ---- + { + case 2: +! #line 383 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + /* Case of regular command. Discard the error +*************** +*** 2113,2117 **** + + case 3: +! #line 394 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + /* Case of regular command, but not a very +--- 2113,2117 ---- + + case 3: +! #line 394 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + /* Case of regular command, but not a very +*************** +*** 2125,2129 **** + + case 4: +! #line 403 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + /* Error during parsing. Return NULL command. */ +--- 2125,2129 ---- + + case 4: +! #line 403 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + /* Error during parsing. Return NULL command. */ +*************** +*** 2143,2147 **** + + case 5: +! #line 418 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + /* Case of EOF seen by itself. Do ignoreeof or +--- 2143,2147 ---- + + case 5: +! #line 418 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + /* Case of EOF seen by itself. Do ignoreeof or +*************** +*** 2154,2168 **** + + case 6: +! #line 428 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); } + break; + + case 7: +! #line 430 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(2) - (2)].word), (yyvsp[(1) - (2)].word_list)); } + break; + + case 8: +! #line 434 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +--- 2154,2168 ---- + + case 6: +! #line 428 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); } + break; + + case 7: +! #line 430 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(2) - (2)].word), (yyvsp[(1) - (2)].word_list)); } + break; + + case 8: +! #line 434 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 1; +*************** +*** 2173,2177 **** + + case 9: +! #line 440 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +--- 2173,2177 ---- + + case 9: +! #line 440 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 0; +*************** +*** 2182,2186 **** + + case 10: +! #line 446 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2182,2186 ---- + + case 10: +! #line 446 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2191,2195 **** + + case 11: +! #line 452 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2191,2195 ---- + + case 11: +! #line 452 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2200,2204 **** + + case 12: +! #line 458 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2200,2204 ---- + + case 12: +! #line 458 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2209,2213 **** + + case 13: +! #line 464 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2209,2213 ---- + + case 13: +! #line 464 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2218,2222 **** + + case 14: +! #line 470 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +--- 2218,2222 ---- + + case 14: +! #line 470 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 1; +*************** +*** 2227,2231 **** + + case 15: +! #line 476 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2227,2231 ---- + + case 15: +! #line 476 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2236,2240 **** + + case 16: +! #line 482 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2236,2240 ---- + + case 16: +! #line 482 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2245,2249 **** + + case 17: +! #line 488 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +--- 2245,2249 ---- + + case 17: +! #line 488 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 1; +*************** +*** 2254,2258 **** + + case 18: +! #line 494 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2254,2258 ---- + + case 18: +! #line 494 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2263,2267 **** + + case 19: +! #line 500 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2263,2267 ---- + + case 19: +! #line 500 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2272,2276 **** + + case 20: +! #line 506 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +--- 2272,2276 ---- + + case 20: +! #line 506 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 0; +*************** +*** 2281,2285 **** + + case 21: +! #line 512 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2281,2285 ---- + + case 21: +! #line 512 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2290,2294 **** + + case 22: +! #line 518 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2290,2294 ---- + + case 22: +! #line 518 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2299,2303 **** + + case 23: +! #line 524 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +--- 2299,2303 ---- + + case 23: +! #line 524 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 0; +*************** +*** 2309,2313 **** + + case 24: +! #line 531 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2309,2313 ---- + + case 24: +! #line 531 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2319,2323 **** + + case 25: +! #line 538 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2319,2323 ---- + + case 25: +! #line 538 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2329,2333 **** + + case 26: +! #line 545 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +--- 2329,2333 ---- + + case 26: +! #line 545 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 0; +*************** +*** 2339,2343 **** + + case 27: +! #line 552 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2339,2343 ---- + + case 27: +! #line 552 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2349,2353 **** + + case 28: +! #line 559 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2349,2353 ---- + + case 28: +! #line 559 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2359,2363 **** + + case 29: +! #line 566 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +--- 2359,2363 ---- + + case 29: +! #line 566 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 0; +*************** +*** 2368,2372 **** + + case 30: +! #line 572 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2368,2372 ---- + + case 30: +! #line 572 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2377,2381 **** + + case 31: +! #line 578 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2377,2381 ---- + + case 31: +! #line 578 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2386,2390 **** + + case 32: +! #line 584 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +--- 2386,2390 ---- + + case 32: +! #line 584 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 0; +*************** +*** 2395,2399 **** + + case 33: +! #line 590 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2395,2399 ---- + + case 33: +! #line 590 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2404,2408 **** + + case 34: +! #line 596 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2404,2408 ---- + + case 34: +! #line 596 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2413,2417 **** + + case 35: +! #line 602 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +--- 2413,2417 ---- + + case 35: +! #line 602 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 1; +*************** +*** 2422,2426 **** + + case 36: +! #line 608 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2422,2426 ---- + + case 36: +! #line 608 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2431,2435 **** + + case 37: +! #line 614 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2431,2435 ---- + + case 37: +! #line 614 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2440,2444 **** + + case 38: +! #line 620 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +--- 2440,2444 ---- + + case 38: +! #line 620 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 0; +*************** +*** 2449,2453 **** + + case 39: +! #line 626 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2449,2453 ---- + + case 39: +! #line 626 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2458,2462 **** + + case 40: +! #line 632 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2458,2462 ---- + + case 40: +! #line 632 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2467,2471 **** + + case 41: +! #line 638 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +--- 2467,2471 ---- + + case 41: +! #line 638 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 1; +*************** +*** 2476,2480 **** + + case 42: +! #line 644 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2476,2480 ---- + + case 42: +! #line 644 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2485,2489 **** + + case 43: +! #line 650 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2485,2489 ---- + + case 43: +! #line 650 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2494,2498 **** + + case 44: +! #line 656 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +--- 2494,2498 ---- + + case 44: +! #line 656 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 1; +*************** +*** 2503,2507 **** + + case 45: +! #line 662 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2503,2507 ---- + + case 45: +! #line 662 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2512,2516 **** + + case 46: +! #line 668 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2512,2516 ---- + + case 46: +! #line 668 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2521,2525 **** + + case 47: +! #line 674 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 0; +--- 2521,2525 ---- + + case 47: +! #line 674 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 0; +*************** +*** 2530,2534 **** + + case 48: +! #line 680 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +--- 2530,2534 ---- + + case 48: +! #line 680 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = (yyvsp[(1) - (3)].number); +*************** +*** 2539,2543 **** + + case 49: +! #line 686 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +--- 2539,2543 ---- + + case 49: +! #line 686 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.filename = (yyvsp[(1) - (3)].word); +*************** +*** 2548,2552 **** + + case 50: +! #line 692 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +--- 2548,2552 ---- + + case 50: +! #line 692 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 1; +*************** +*** 2557,2561 **** + + case 51: +! #line 698 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + source.dest = 1; +--- 2557,2561 ---- + + case 51: +! #line 698 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + source.dest = 1; +*************** +*** 2566,2585 **** + + case 52: +! #line 706 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; } + break; + + case 53: +! #line 708 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; } + break; + + case 54: +! #line 710 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.element).redirect = (yyvsp[(1) - (1)].redirect); (yyval.element).word = 0; } + break; + + case 55: +! #line 714 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.redirect) = (yyvsp[(1) - (1)].redirect); +--- 2566,2585 ---- + + case 52: +! #line 706 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; } + break; + + case 53: +! #line 708 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; } + break; + + case 54: +! #line 710 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.element).redirect = (yyvsp[(1) - (1)].redirect); (yyval.element).word = 0; } + break; + + case 55: +! #line 714 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.redirect) = (yyvsp[(1) - (1)].redirect); +*************** +*** 2588,2592 **** + + case 56: +! #line 718 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + register REDIRECT *t; +--- 2588,2592 ---- + + case 56: +! #line 718 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + register REDIRECT *t; +*************** +*** 2600,2624 **** + + case 57: +! #line 729 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_simple_command ((yyvsp[(1) - (1)].element), (COMMAND *)NULL); } + break; + + case 58: +! #line 731 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_simple_command ((yyvsp[(2) - (2)].element), (yyvsp[(1) - (2)].command)); } + break; + + case 59: +! #line 735 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = clean_simple_command ((yyvsp[(1) - (1)].command)); } + break; + + case 60: +! #line 737 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 61: +! #line 739 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + COMMAND *tc; +--- 2600,2624 ---- + + case 57: +! #line 729 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_simple_command ((yyvsp[(1) - (1)].element), (COMMAND *)NULL); } + break; + + case 58: +! #line 731 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_simple_command ((yyvsp[(2) - (2)].element), (yyvsp[(1) - (2)].command)); } + break; + + case 59: +! #line 735 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = clean_simple_command ((yyvsp[(1) - (1)].command)); } + break; + + case 60: +! #line 737 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 61: +! #line 739 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + COMMAND *tc; +*************** +*** 2639,2708 **** + + case 62: +! #line 755 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 63: +! #line 757 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 64: +! #line 761 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 65: +! #line 763 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 66: +! #line 765 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_while_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); } + break; + + case 67: +! #line 767 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_until_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); } + break; + + case 68: +! #line 769 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 69: +! #line 771 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 70: +! #line 773 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 71: +! #line 775 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 72: +! #line 777 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 73: +! #line 779 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 74: +! #line 781 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 75: +! #line 785 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +--- 2639,2708 ---- + + case 62: +! #line 755 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 63: +! #line 757 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 64: +! #line 761 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 65: +! #line 763 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 66: +! #line 765 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_while_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); } + break; + + case 67: +! #line 767 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_until_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); } + break; + + case 68: +! #line 769 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 69: +! #line 771 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 70: +! #line 773 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 71: +! #line 775 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 72: +! #line 777 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 73: +! #line 779 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 74: +! #line 781 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 75: +! #line 785 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +*************** +*** 2712,2716 **** + + case 76: +! #line 790 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +--- 2712,2716 ---- + + case 76: +! #line 790 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +*************** +*** 2720,2724 **** + + case 77: +! #line 795 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +--- 2720,2724 ---- + + case 77: +! #line 795 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +*************** +*** 2728,2732 **** + + case 78: +! #line 800 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +--- 2728,2732 ---- + + case 78: +! #line 800 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +*************** +*** 2736,2740 **** + + case 79: +! #line 805 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +--- 2736,2740 ---- + + case 79: +! #line 805 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +*************** +*** 2744,2748 **** + + case 80: +! #line 810 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +--- 2744,2748 ---- + + case 80: +! #line 810 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +*************** +*** 2752,2756 **** + + case 81: +! #line 815 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]); +--- 2752,2756 ---- + + case 81: +! #line 815 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]); +*************** +*** 2760,2764 **** + + case 82: +! #line 820 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]); +--- 2760,2764 ---- + + case 82: +! #line 820 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]); +*************** +*** 2768,2772 **** + + case 83: +! #line 827 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno); +--- 2768,2772 ---- + + case 83: +! #line 827 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno); +*************** +*** 2776,2780 **** + + case 84: +! #line 832 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno); +--- 2776,2780 ---- + + case 84: +! #line 832 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno); +*************** +*** 2784,2788 **** + + case 85: +! #line 837 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno); +--- 2784,2788 ---- + + case 85: +! #line 837 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno); +*************** +*** 2792,2796 **** + + case 86: +! #line 842 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno); +--- 2792,2796 ---- + + case 86: +! #line 842 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno); +*************** +*** 2800,2804 **** + + case 87: +! #line 849 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +--- 2800,2804 ---- + + case 87: +! #line 849 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +*************** +*** 2808,2812 **** + + case 88: +! #line 854 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +--- 2808,2812 ---- + + case 88: +! #line 854 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]); +*************** +*** 2816,2820 **** + + case 89: +! #line 859 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +--- 2816,2820 ---- + + case 89: +! #line 859 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +*************** +*** 2824,2828 **** + + case 90: +! #line 864 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +--- 2824,2828 ---- + + case 90: +! #line 864 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]); +*************** +*** 2832,2836 **** + + case 91: +! #line 869 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +--- 2832,2836 ---- + + case 91: +! #line 869 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +*************** +*** 2840,2844 **** + + case 92: +! #line 874 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +--- 2840,2844 ---- + + case 92: +! #line 874 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]); +*************** +*** 2848,2852 **** + + case 93: +! #line 881 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (PATTERN_LIST *)NULL, word_lineno[word_top]); +--- 2848,2852 ---- + + case 93: +! #line 881 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (PATTERN_LIST *)NULL, word_lineno[word_top]); +*************** +*** 2856,2860 **** + + case 94: +! #line 886 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (7)].word), (yyvsp[(5) - (7)].pattern), word_lineno[word_top]); +--- 2856,2860 ---- + + case 94: +! #line 886 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (7)].word), (yyvsp[(5) - (7)].pattern), word_lineno[word_top]); +*************** +*** 2864,2868 **** + + case 95: +! #line 891 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (yyvsp[(5) - (6)].pattern), word_lineno[word_top]); +--- 2864,2868 ---- + + case 95: +! #line 891 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (yyvsp[(5) - (6)].pattern), word_lineno[word_top]); +*************** +*** 2872,2896 **** + + case 96: +! #line 898 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(1) - (5)].word), (yyvsp[(5) - (5)].command), function_dstart, function_bstart); } + break; + + case 97: +! #line 901 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(2) - (6)].word), (yyvsp[(6) - (6)].command), function_dstart, function_bstart); } + break; + + case 98: +! #line 904 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(2) - (4)].word), (yyvsp[(4) - (4)].command), function_dstart, function_bstart); } + break; + + case 99: +! #line 908 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 100: +! #line 910 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + COMMAND *tc; +--- 2872,2896 ---- + + case 96: +! #line 898 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(1) - (5)].word), (yyvsp[(5) - (5)].command), function_dstart, function_bstart); } + break; + + case 97: +! #line 901 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(2) - (6)].word), (yyvsp[(6) - (6)].command), function_dstart, function_bstart); } + break; + + case 98: +! #line 904 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_function_def ((yyvsp[(2) - (4)].word), (yyvsp[(4) - (4)].command), function_dstart, function_bstart); } + break; + + case 99: +! #line 908 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 100: +! #line 910 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + COMMAND *tc; +*************** +*** 2924,2928 **** + + case 101: +! #line 941 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_subshell_command ((yyvsp[(2) - (3)].command)); +--- 2924,2928 ---- + + case 101: +! #line 941 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_subshell_command ((yyvsp[(2) - (3)].command)); +*************** +*** 2932,2936 **** + + case 102: +! #line 948 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_coproc_command ("COPROC", (yyvsp[(2) - (2)].command)); +--- 2932,2936 ---- + + case 102: +! #line 948 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_coproc_command ("COPROC", (yyvsp[(2) - (2)].command)); +*************** +*** 2940,2944 **** + + case 103: +! #line 953 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + COMMAND *tc; +--- 2940,2944 ---- + + case 103: +! #line 953 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + COMMAND *tc; +*************** +*** 2960,2964 **** + + case 104: +! #line 970 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_coproc_command ((yyvsp[(2) - (3)].word)->word, (yyvsp[(3) - (3)].command)); +--- 2960,2964 ---- + + case 104: +! #line 970 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_coproc_command ((yyvsp[(2) - (3)].word)->word, (yyvsp[(3) - (3)].command)); +*************** +*** 2968,2972 **** + + case 105: +! #line 975 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + COMMAND *tc; +--- 2968,2972 ---- + + case 105: +! #line 975 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + COMMAND *tc; +*************** +*** 2988,2992 **** + + case 106: +! #line 992 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = make_coproc_command ("COPROC", clean_simple_command ((yyvsp[(2) - (2)].command))); +--- 2988,2992 ---- + + case 106: +! #line 992 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = make_coproc_command ("COPROC", clean_simple_command ((yyvsp[(2) - (2)].command))); +*************** +*** 2996,3110 **** + + case 107: +! #line 999 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (COMMAND *)NULL); } + break; + + case 108: +! #line 1001 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (7)].command), (yyvsp[(4) - (7)].command), (yyvsp[(6) - (7)].command)); } + break; + + case 109: +! #line 1003 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(5) - (6)].command)); } + break; + + case 110: +! #line 1008 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_group_command ((yyvsp[(2) - (3)].command)); } + break; + + case 111: +! #line 1012 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_arith_command ((yyvsp[(1) - (1)].word_list)); } + break; + + case 112: +! #line 1016 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(2) - (3)].command); } + break; + + case 113: +! #line 1020 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (4)].command), (yyvsp[(4) - (4)].command), (COMMAND *)NULL); } + break; + + case 114: +! #line 1022 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(6) - (6)].command)); } + break; + + case 115: +! #line 1024 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (yyvsp[(5) - (5)].command)); } + break; + + case 117: +! #line 1029 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(2) - (2)].pattern)->next = (yyvsp[(1) - (2)].pattern); (yyval.pattern) = (yyvsp[(2) - (2)].pattern); } + break; + + case 118: +! #line 1033 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (yyvsp[(4) - (4)].command)); } + break; + + case 119: +! #line 1035 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (COMMAND *)NULL); } + break; + + case 120: +! #line 1037 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (yyvsp[(5) - (5)].command)); } + break; + + case 121: +! #line 1039 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (COMMAND *)NULL); } + break; + + case 122: +! #line 1043 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 123: +! #line 1045 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 124: +! #line 1047 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 125: +! #line 1049 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 126: +! #line 1051 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_TESTNEXT; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 127: +! #line 1053 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_TESTNEXT; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 128: +! #line 1057 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); } + break; + + case 129: +! #line 1059 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(3) - (3)].word), (yyvsp[(1) - (3)].word_list)); } + break; + + case 130: +! #line 1068 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = (yyvsp[(2) - (2)].command); +--- 2996,3110 ---- + + case 107: +! #line 999 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (COMMAND *)NULL); } + break; + + case 108: +! #line 1001 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (7)].command), (yyvsp[(4) - (7)].command), (yyvsp[(6) - (7)].command)); } + break; + + case 109: +! #line 1003 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(5) - (6)].command)); } + break; + + case 110: +! #line 1008 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_group_command ((yyvsp[(2) - (3)].command)); } + break; + + case 111: +! #line 1012 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_arith_command ((yyvsp[(1) - (1)].word_list)); } + break; + + case 112: +! #line 1016 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(2) - (3)].command); } + break; + + case 113: +! #line 1020 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (4)].command), (yyvsp[(4) - (4)].command), (COMMAND *)NULL); } + break; + + case 114: +! #line 1022 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(6) - (6)].command)); } + break; + + case 115: +! #line 1024 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (yyvsp[(5) - (5)].command)); } + break; + + case 117: +! #line 1029 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyvsp[(2) - (2)].pattern)->next = (yyvsp[(1) - (2)].pattern); (yyval.pattern) = (yyvsp[(2) - (2)].pattern); } + break; + + case 118: +! #line 1033 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (yyvsp[(4) - (4)].command)); } + break; + + case 119: +! #line 1035 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (COMMAND *)NULL); } + break; + + case 120: +! #line 1037 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (yyvsp[(5) - (5)].command)); } + break; + + case 121: +! #line 1039 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (COMMAND *)NULL); } + break; + + case 122: +! #line 1043 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 123: +! #line 1045 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 124: +! #line 1047 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 125: +! #line 1049 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 126: +! #line 1051 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_TESTNEXT; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); } + break; + + case 127: +! #line 1053 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_TESTNEXT; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); } + break; + + case 128: +! #line 1057 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); } + break; + + case 129: +! #line 1059 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.word_list) = make_word_list ((yyvsp[(3) - (3)].word), (yyvsp[(1) - (3)].word_list)); } + break; + + case 130: +! #line 1068 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = (yyvsp[(2) - (2)].command); +*************** +*** 3115,3119 **** + + case 132: +! #line 1077 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = (yyvsp[(2) - (2)].command); +--- 3115,3119 ---- + + case 132: +! #line 1077 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = (yyvsp[(2) - (2)].command); +*************** +*** 3122,3126 **** + + case 134: +! #line 1084 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(1) - (3)].command)->type == cm_connection) +--- 3122,3126 ---- + + case 134: +! #line 1084 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + if ((yyvsp[(1) - (3)].command)->type == cm_connection) +*************** +*** 3132,3146 **** + + case 136: +! #line 1095 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); } + break; + + case 137: +! #line 1097 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); } + break; + + case 138: +! #line 1099 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(1) - (4)].command)->type == cm_connection) +--- 3132,3146 ---- + + case 136: +! #line 1095 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); } + break; + + case 137: +! #line 1097 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); } + break; + + case 138: +! #line 1099 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + if ((yyvsp[(1) - (4)].command)->type == cm_connection) +*************** +*** 3152,3186 **** + + case 139: +! #line 1106 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); } + break; + + case 140: +! #line 1108 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); } + break; + + case 141: +! #line 1110 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 144: +! #line 1118 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = '\n'; } + break; + + case 145: +! #line 1120 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = ';'; } + break; + + case 146: +! #line 1122 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = yacc_EOF; } + break; + + case 149: +! #line 1136 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = (yyvsp[(1) - (1)].command); +--- 3152,3186 ---- + + case 139: +! #line 1106 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); } + break; + + case 140: +! #line 1108 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); } + break; + + case 141: +! #line 1110 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 144: +! #line 1118 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.number) = '\n'; } + break; + + case 145: +! #line 1120 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.number) = ';'; } + break; + + case 146: +! #line 1122 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.number) = yacc_EOF; } + break; + + case 149: +! #line 1136 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = (yyvsp[(1) - (1)].command); +*************** +*** 3198,3202 **** + + case 150: +! #line 1149 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(1) - (2)].command)->type == cm_connection) +--- 3198,3202 ---- + + case 150: +! #line 1149 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + if ((yyvsp[(1) - (2)].command)->type == cm_connection) +*************** +*** 3217,3221 **** + + case 151: +! #line 1165 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + (yyval.command) = (yyvsp[(1) - (2)].command); +--- 3217,3221 ---- + + case 151: +! #line 1165 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + (yyval.command) = (yyvsp[(1) - (2)].command); +*************** +*** 3233,3247 **** + + case 152: +! #line 1180 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); } + break; + + case 153: +! #line 1182 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); } + break; + + case 154: +! #line 1184 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(1) - (3)].command)->type == cm_connection) +--- 3233,3247 ---- + + case 152: +! #line 1180 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); } + break; + + case 153: +! #line 1182 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); } + break; + + case 154: +! #line 1184 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + if ((yyvsp[(1) - (3)].command)->type == cm_connection) +*************** +*** 3253,3272 **** + + case 155: +! #line 1191 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (3)].command), (yyvsp[(3) - (3)].command), ';'); } + break; + + case 156: +! #line 1194 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 157: +! #line 1198 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 158: +! #line 1200 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(2) - (2)].command)) +--- 3253,3272 ---- + + case 155: +! #line 1191 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (3)].command), (yyvsp[(3) - (3)].command), ';'); } + break; + + case 156: +! #line 1194 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 157: +! #line 1198 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 158: +! #line 1200 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + if ((yyvsp[(2) - (2)].command)) +*************** +*** 3277,3281 **** + + case 159: +! #line 1206 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + if ((yyvsp[(2) - (2)].command)) +--- 3277,3281 ---- + + case 159: +! #line 1206 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + if ((yyvsp[(2) - (2)].command)) +*************** +*** 3286,3290 **** + + case 160: +! #line 1212 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + ELEMENT x; +--- 3286,3290 ---- + + case 160: +! #line 1212 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + ELEMENT x; +*************** +*** 3306,3310 **** + + case 161: +! #line 1229 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + ELEMENT x; +--- 3306,3310 ---- + + case 161: +! #line 1229 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + ELEMENT x; +*************** +*** 3327,3336 **** + + case 162: +! #line 1249 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), '|'); } + break; + + case 163: +! #line 1251 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { + /* Make cmd1 |& cmd2 equivalent to cmd1 2>&1 | cmd2 */ +--- 3327,3336 ---- + + case 162: +! #line 1249 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), '|'); } + break; + + case 163: +! #line 1251 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { + /* Make cmd1 |& cmd2 equivalent to cmd1 2>&1 | cmd2 */ +*************** +*** 3358,3377 **** + + case 164: +! #line 1274 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 165: +! #line 1278 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE; } + break; + + case 166: +! #line 1280 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; } + break; + + case 167: +! #line 1282 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; } + break; +--- 3358,3377 ---- + + case 164: +! #line 1274 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.command) = (yyvsp[(1) - (1)].command); } + break; + + case 165: +! #line 1278 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE; } + break; + + case 166: +! #line 1280 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; } + break; + + case 167: +! #line 1282 "/usr/src/local/bash/bash-4.3-patched/parse.y" + { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; } + break; +*************** +*** 3593,3597 **** + + +! #line 1284 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y" + + +--- 3593,3597 ---- + + +! #line 1284 "/usr/src/local/bash/bash-4.3-patched/parse.y" + + +*************** +*** 4851,4854 **** +--- 4851,4864 ---- + } + ++ char * ++ parser_remaining_input () ++ { ++ if (shell_input_line == 0) ++ return 0; ++ if (shell_input_line_index < 0 || shell_input_line_index >= shell_input_line_len) ++ return '\0'; /* XXX */ ++ return (shell_input_line + shell_input_line_index); ++ } ++ + #ifdef INCLUDE_UNUSED + /* Back the input pointer up by one, effectively `ungetting' a character. */ +*************** +*** 6340,6345 **** + /* reset_parser clears shell_input_line and associated variables */ + restore_input_line_state (&ls); +! if (interactive) +! token_to_read = 0; + + /* Need to find how many characters parse_and_execute consumed, update +--- 6350,6355 ---- + /* reset_parser clears shell_input_line and associated variables */ + restore_input_line_state (&ls); +! +! token_to_read = 0; + + /* Need to find how many characters parse_and_execute consumed, update +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 29 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 30 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-031 b/source/a/bash/bash-4.3-patches/bash43-031 new file mode 100644 index 00000000..a6519560 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-031 @@ -0,0 +1,112 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-031 + +Bug-Reported-by: lolilolicon <lolilolicon@gmail.com> +Bug-Reference-ID: <CAMtVo_Nz=32Oq=zWTb6=+8gUNXOo2rRvud1W4oPnA-cgVk_ZqQ@mail.gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-08/msg00139.html + +Bug-Description: + +The new nameref assignment functionality introduced in bash-4.3 did not perform +enough validation on the variable value and would create variables with +invalid names. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/subst.h 2014-01-11 21:02:27.000000000 -0500 +--- subst.h 2014-09-01 12:16:56.000000000 -0400 +*************** +*** 48,51 **** +--- 48,52 ---- + #define ASS_MKGLOBAL 0x0008 /* force global assignment */ + #define ASS_NAMEREF 0x0010 /* assigning to nameref variable */ ++ #define ASS_FROMREF 0x0020 /* assigning from value of nameref variable */ + + /* Flags for the string extraction functions. */ +*** ../bash-4.3-patched/variables.c 2014-05-15 08:26:50.000000000 -0400 +--- variables.c 2014-09-01 14:37:44.000000000 -0400 +*************** +*** 2504,2511 **** + int hflags, aflags; + { +! char *newval; + SHELL_VAR *entry; + + entry = (hflags & HASH_NOSRCH) ? (SHELL_VAR *)NULL : hash_lookup (name, table); + /* Follow the nameref chain here if this is the global variables table */ + if (entry && nameref_p (entry) && (invisible_p (entry) == 0) && table == global_variables->table) +--- 2566,2590 ---- + int hflags, aflags; + { +! char *newname, *newval; + SHELL_VAR *entry; ++ #if defined (ARRAY_VARS) ++ arrayind_t ind; ++ char *subp; ++ int sublen; ++ #endif + ++ newname = 0; ++ #if defined (ARRAY_VARS) ++ if ((aflags & ASS_FROMREF) && (hflags & HASH_NOSRCH) == 0 && valid_array_reference (name)) ++ { ++ newname = array_variable_name (name, &subp, &sublen); ++ if (newname == 0) ++ return (SHELL_VAR *)NULL; /* XXX */ ++ entry = hash_lookup (newname, table); ++ } ++ else ++ #endif + entry = (hflags & HASH_NOSRCH) ? (SHELL_VAR *)NULL : hash_lookup (name, table); ++ + /* Follow the nameref chain here if this is the global variables table */ + if (entry && nameref_p (entry) && (invisible_p (entry) == 0) && table == global_variables->table) +*************** +*** 2538,2541 **** +--- 2617,2630 ---- + } + } ++ #if defined (ARRAY_VARS) ++ else if (entry == 0 && newname) ++ { ++ entry = make_new_array_variable (newname); /* indexed array by default */ ++ if (entry == 0) ++ return entry; ++ ind = array_expand_index (name, subp, sublen); ++ bind_array_element (entry, ind, value, aflags); ++ } ++ #endif + else if (entry == 0) + { +*************** +*** 2658,2662 **** + if (nameref_cell (nv) == 0) + return (bind_variable_internal (nv->name, value, nvc->table, 0, flags)); +! return (bind_variable_internal (nameref_cell (nv), value, nvc->table, 0, flags)); + } + else +--- 2747,2752 ---- + if (nameref_cell (nv) == 0) + return (bind_variable_internal (nv->name, value, nvc->table, 0, flags)); +! /* XXX - bug here with ref=array[index] */ +! return (bind_variable_internal (nameref_cell (nv), value, nvc->table, 0, flags|ASS_FROMREF)); + } + else +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 30 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 31 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-032 b/source/a/bash/bash-4.3-patches/bash43-032 new file mode 100644 index 00000000..0843719c --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-032 @@ -0,0 +1,51 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-032 + +Bug-Reported-by: crispusfairbairn@gmail.com +Bug-Reference-ID: <b5e499f7-3b98-408d-9f94-c0387580e73a@googlegroups.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00013.html + +Bug-Description: + +When bash is running in Posix mode, it allows signals -- including SIGCHLD -- +to interrupt the `wait' builtin, as Posix requires. However, the interrupt +causes bash to not run a SIGCHLD trap for all exited children. This patch +fixes the issue and restores the documented behavior in Posix mode. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/jobs.c 2014-05-14 09:20:15.000000000 -0400 +--- jobs.c 2014-09-09 11:50:38.000000000 -0400 +*************** +*** 3340,3344 **** + { + interrupt_immediately = 0; +! trap_handler (SIGCHLD); /* set pending_traps[SIGCHLD] */ + wait_signal_received = SIGCHLD; + /* If we're in a signal handler, let CHECK_WAIT_INTR pick it up; +--- 3346,3352 ---- + { + interrupt_immediately = 0; +! /* This was trap_handler (SIGCHLD) but that can lose traps if +! children_exited > 1 */ +! queue_sigchld_trap (children_exited); + wait_signal_received = SIGCHLD; + /* If we're in a signal handler, let CHECK_WAIT_INTR pick it up; +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 31 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 32 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-033 b/source/a/bash/bash-4.3-patches/bash43-033 new file mode 100644 index 00000000..5f5147ff --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-033 @@ -0,0 +1,225 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-033 + +Bug-Reported-by: mickael9@gmail.com, Jan Rome <jan.rome@gmail.com> +Bug-Reference-ID: <20140907224046.382ED3610CC@mickael-laptop.localdomain>, + <540D661D.50908@gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00029.html + http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00030.html + +Bug-Description: + +Bash does not clean up the terminal state in all cases where bash or +readline modifies it and bash is subsequently terminated by a fatal signal. +This happens when the `read' builtin modifies the terminal settings, both +when readline is active and when it is not. It occurs most often when a script +installs a trap that exits on a signal without re-sending the signal to itself. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/shell.c 2014-01-14 08:04:32.000000000 -0500 +--- shell.c 2014-12-22 10:27:50.000000000 -0500 +*************** +*** 74,77 **** +--- 74,78 ---- + + #if defined (READLINE) ++ # include <readline/readline.h> + # include "bashline.h" + #endif +*************** +*** 910,913 **** +--- 912,923 ---- + fflush (stderr); + ++ /* Clean up the terminal if we are in a state where it's been modified. */ ++ #if defined (READLINE) ++ if (RL_ISSTATE (RL_STATE_TERMPREPPED) && rl_deprep_term_function) ++ (*rl_deprep_term_function) (); ++ #endif ++ if (read_tty_modified ()) ++ read_tty_cleanup (); ++ + /* Do trap[0] if defined. Allow it to override the exit status + passed to us. */ +*** ../bash-4.3-patched/builtins/read.def 2014-10-01 12:57:38.000000000 -0400 +--- builtins/read.def 2014-12-22 10:48:54.000000000 -0500 +*************** +*** 141,148 **** + int sigalrm_seen; + +! static int reading; + static SigHandler *old_alrm; + static unsigned char delim; + + /* In all cases, SIGALRM just sets a flag that we check periodically. This + avoids problems with the semi-tricky stuff we do with the xfree of +--- 141,150 ---- + int sigalrm_seen; + +! static int reading, tty_modified; + static SigHandler *old_alrm; + static unsigned char delim; + ++ static struct ttsave termsave; ++ + /* In all cases, SIGALRM just sets a flag that we check periodically. This + avoids problems with the semi-tricky stuff we do with the xfree of +*************** +*** 189,193 **** + SHELL_VAR *var; + TTYSTRUCT ttattrs, ttset; +- struct ttsave termsave; + #if defined (ARRAY_VARS) + WORD_LIST *alist; +--- 191,194 ---- +*************** +*** 222,226 **** + USE_VAR(lastsig); + +! sigalrm_seen = reading = 0; + + i = 0; /* Index into the string that we are reading. */ +--- 223,227 ---- + USE_VAR(lastsig); + +! sigalrm_seen = reading = tty_modified = 0; + + i = 0; /* Index into the string that we are reading. */ +*************** +*** 439,442 **** +--- 440,445 ---- + goto assign_vars; + } ++ if (interactive_shell == 0) ++ initialize_terminating_signals (); + old_alrm = set_signal_handler (SIGALRM, sigalrm); + add_unwind_protect (reset_alarm, (char *)NULL); +*************** +*** 483,487 **** +--- 486,493 ---- + if (i < 0) + sh_ttyerror (1); ++ tty_modified = 1; + add_unwind_protect ((Function *)ttyrestore, (char *)&termsave); ++ if (interactive_shell == 0) ++ initialize_terminating_signals (); + } + } +*************** +*** 498,502 **** +--- 504,511 ---- + sh_ttyerror (1); + ++ tty_modified = 1; + add_unwind_protect ((Function *)ttyrestore, (char *)&termsave); ++ if (interactive_shell == 0) ++ initialize_terminating_signals (); + } + +*************** +*** 589,592 **** +--- 598,603 ---- + else + lastsig = 0; ++ if (terminating_signal && tty_modified) ++ ttyrestore (&termsave); /* fix terminal before exiting */ + CHECK_TERMSIG; + eof = 1; +*************** +*** 979,982 **** +--- 990,1007 ---- + { + ttsetattr (ttp->fd, ttp->attrs); ++ tty_modified = 0; ++ } ++ ++ void ++ read_tty_cleanup () ++ { ++ if (tty_modified) ++ ttyrestore (&termsave); ++ } ++ ++ int ++ read_tty_modified () ++ { ++ return (tty_modified); + } + +*** ../bash-4.3-patched/builtins/common.h 2014-10-01 12:57:47.000000000 -0400 +--- builtins/common.h 2014-12-22 10:10:14.000000000 -0500 +*************** +*** 123,126 **** +--- 141,148 ---- + extern void getopts_reset __P((int)); + ++ /* Functions from read.def */ ++ extern void read_tty_cleanup __P((void)); ++ extern int read_tty_modified __P((void)); ++ + /* Functions from set.def */ + extern int minus_o_option_value __P((char *)); +*** ../bash-4.3-patched/bashline.c 2014-05-14 09:22:39.000000000 -0400 +--- bashline.c 2014-09-08 11:28:56.000000000 -0400 +*************** +*** 203,206 **** +--- 203,207 ---- + extern int array_needs_making; + extern int posixly_correct, no_symbolic_links; ++ extern int sigalrm_seen; + extern char *current_prompt_string, *ps1_prompt; + extern STRING_INT_ALIST word_token_alist[]; +*************** +*** 4209,4214 **** + /* If we're going to longjmp to top_level, make sure we clean up readline. + check_signals will call QUIT, which will eventually longjmp to top_level, +! calling run_interrupt_trap along the way. */ +! if (interrupt_state) + rl_cleanup_after_signal (); + bashline_reset_event_hook (); +--- 4262,4268 ---- + /* If we're going to longjmp to top_level, make sure we clean up readline. + check_signals will call QUIT, which will eventually longjmp to top_level, +! calling run_interrupt_trap along the way. The check for sigalrm_seen is +! to clean up the read builtin's state. */ +! if (terminating_signal || interrupt_state || sigalrm_seen) + rl_cleanup_after_signal (); + bashline_reset_event_hook (); +*** ../bash-4.3-patched/sig.c 2014-01-10 15:06:06.000000000 -0500 +--- sig.c 2014-09-08 11:26:33.000000000 -0400 +*************** +*** 533,538 **** + /* Set the event hook so readline will call it after the signal handlers + finish executing, so if this interrupted character input we can get +! quick response. */ +! if (interactive_shell && interactive && no_line_editing == 0) + bashline_set_event_hook (); + #endif +--- 533,540 ---- + /* Set the event hook so readline will call it after the signal handlers + finish executing, so if this interrupted character input we can get +! quick response. If readline is active or has modified the terminal we +! need to set this no matter what the signal is, though the check for +! RL_STATE_TERMPREPPED is possibly redundant. */ +! if (RL_ISSTATE (RL_STATE_SIGHANDLER) || RL_ISSTATE (RL_STATE_TERMPREPPED)) + bashline_set_event_hook (); + #endif +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 32 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 33 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-034 b/source/a/bash/bash-4.3-patches/bash43-034 new file mode 100644 index 00000000..17372aa2 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-034 @@ -0,0 +1,90 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-034 + +Bug-Reported-by: Dreamcat4 <dreamcat4@gmail.com> +Bug-Reference-ID: <CAN39uTpAEs2GFu4ebC_SfSVMRTh-DJ9YanrY4BZZ3OO+CCHjng@mail.gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-05/msg00001.html + +Bug-Description: + +If neither the -f nor -v options is supplied to unset, and a name argument is +found to be a function and unset, subsequent name arguments are not treated as +variables before attempting to unset a function by that name. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/builtins/set.def 2013-04-19 07:20:34.000000000 -0400 +--- builtins/set.def 2015-05-05 13:25:36.000000000 -0400 +*************** +*** 752,758 **** +--- 797,805 ---- + { + int unset_function, unset_variable, unset_array, opt, nameref, any_failed; ++ int global_unset_func, global_unset_var; + char *name; + + unset_function = unset_variable = unset_array = nameref = any_failed = 0; ++ global_unset_func = global_unset_var = 0; + + reset_internal_getopt (); +*************** +*** 762,769 **** + { + case 'f': +! unset_function = 1; + break; + case 'v': +! unset_variable = 1; + break; + case 'n': +--- 809,816 ---- + { + case 'f': +! global_unset_func = 1; + break; + case 'v': +! global_unset_var = 1; + break; + case 'n': +*************** +*** 778,782 **** + list = loptend; + +! if (unset_function && unset_variable) + { + builtin_error (_("cannot simultaneously unset a function and a variable")); +--- 825,829 ---- + list = loptend; + +! if (global_unset_func && global_unset_var) + { + builtin_error (_("cannot simultaneously unset a function and a variable")); +*************** +*** 796,799 **** +--- 843,849 ---- + name = list->word->word; + ++ unset_function = global_unset_func; ++ unset_variable = global_unset_var; ++ + #if defined (ARRAY_VARS) + unset_array = 0; + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 33 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 34 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-035 b/source/a/bash/bash-4.3-patches/bash43-035 new file mode 100644 index 00000000..f18bc602 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-035 @@ -0,0 +1,63 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-035 + +Bug-Reported-by: <romerox.adrian@gmail.com> +Bug-Reference-ID: <CABV5r3zhPXmSKUe9uedeGc5YFBM2njJ1iVmY2h5neWdQpDBQug@mail.gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-08/msg00045.html + +Bug-Description: + +A locale with a long name can trigger a buffer overflow and core dump. This +applies on systems that do not have locale_charset in libc, are not using +GNU libiconv, and are not using the libintl that ships with bash in lib/intl. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/lib/sh/unicode.c 2014-01-30 16:47:19.000000000 -0500 +--- lib/sh/unicode.c 2015-05-01 08:58:30.000000000 -0400 +*************** +*** 79,83 **** + if (s) + { +! strcpy (charsetbuf, s+1); + t = strchr (charsetbuf, '@'); + if (t) +--- 79,84 ---- + if (s) + { +! strncpy (charsetbuf, s+1, sizeof (charsetbuf) - 1); +! charsetbuf[sizeof (charsetbuf) - 1] = '\0'; + t = strchr (charsetbuf, '@'); + if (t) +*************** +*** 85,89 **** + return charsetbuf; + } +! strcpy (charsetbuf, locale); + return charsetbuf; + } +--- 86,91 ---- + return charsetbuf; + } +! strncpy (charsetbuf, locale, sizeof (charsetbuf) - 1); +! charsetbuf[sizeof (charsetbuf) - 1] = '\0'; + return charsetbuf; + } +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 34 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 35 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-036 b/source/a/bash/bash-4.3-patches/bash43-036 new file mode 100644 index 00000000..5b42c246 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-036 @@ -0,0 +1,57 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-036 + +Bug-Reported-by: emanuelczirai@cryptolab.net +Bug-Reference-ID: <f962e4f556da5ebfadaf7afe9c78a8cb@cryptolab.net> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-02/msg00071.html + +Bug-Description: + +When evaluating and setting integer variables, and the assignment fails to +create a variable (for example, when performing an operation on an array +variable with an invalid subscript), bash attempts to dereference a null +pointer, causing a segmentation violation. + +Patch (apply with `patch -p0'): + +*** ../bash-20150206/variables.c 2015-01-23 20:39:27.000000000 -0500 +--- variables.c 2015-02-19 13:56:12.000000000 -0500 +*************** +*** 2834,2841 **** + v = bind_variable (lhs, rhs, 0); + +! if (v && isint) +! VSETATTR (v, att_integer); +! +! VUNSETATTR (v, att_invisible); + + return (v); +--- 2834,2843 ---- + v = bind_variable (lhs, rhs, 0); + +! if (v) +! { +! if (isint) +! VSETATTR (v, att_integer); +! VUNSETATTR (v, att_invisible); +! } + + return (v); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 35 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 36 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-037 b/source/a/bash/bash-4.3-patches/bash43-037 new file mode 100644 index 00000000..f04012ba --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-037 @@ -0,0 +1,43 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-037 + +Bug-Reported-by: Greg Wooledge <wooledg@eeg.ccf.org> +Bug-Reference-ID: <20150204144240.GN13956@eeg.ccf.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-02/msg00007.html + +Bug-Description: + +If an associative array uses `@' or `*' as a subscript, `declare -p' produces +output that cannot be reused as input. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/assoc.c 2011-11-05 16:39:05.000000000 -0400 +--- assoc.c 2015-02-04 15:28:25.000000000 -0500 +*************** +*** 437,440 **** +--- 440,445 ---- + if (sh_contains_shell_metas (tlist->key)) + istr = sh_double_quote (tlist->key); ++ else if (ALL_ELEMENT_SUB (tlist->key[0]) && tlist->key[1] == '\0') ++ istr = sh_double_quote (tlist->key); + else + istr = tlist->key; +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 36 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 37 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-038 b/source/a/bash/bash-4.3-patches/bash43-038 new file mode 100644 index 00000000..e0de74e0 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-038 @@ -0,0 +1,88 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-038 + +Bug-Reported-by: worley@alum.mit.edu (Dale R. Worley) +Bug-Reference-ID: <201406100051.s5A0pCeB014978@hobgoblin.ariadne.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00028.html + +Bug-Description: + +There are a number of instances where `time' is not recognized as a reserved +word when the shell grammar says it should be. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/parse.y 2014-04-07 11:56:12.000000000 -0400 +--- parse.y 2014-06-11 10:25:53.000000000 -0400 +*************** +*** 2819,2827 **** + case OR_OR: + case '&': + case DO: + case THEN: + case ELSE: + case '{': /* } */ +! case '(': /* ) */ + case BANG: /* ! time pipeline */ + case TIME: /* time time pipeline */ +--- 2819,2832 ---- + case OR_OR: + case '&': ++ case WHILE: + case DO: ++ case UNTIL: ++ case IF: + case THEN: ++ case ELIF: + case ELSE: + case '{': /* } */ +! case '(': /* )( */ +! case ')': /* only valid in case statement */ + case BANG: /* ! time pipeline */ + case TIME: /* time time pipeline */ +*** ../bash-4.3-patched/y.tab.c 2014-10-05 13:52:50.000000000 -0400 +--- y.tab.c 2015-05-19 15:08:43.000000000 -0400 +*************** +*** 5131,5139 **** + case OR_OR: + case '&': + case DO: + case THEN: + case ELSE: + case '{': /* } */ +! case '(': /* ) */ + case BANG: /* ! time pipeline */ + case TIME: /* time time pipeline */ +--- 5131,5144 ---- + case OR_OR: + case '&': ++ case WHILE: + case DO: ++ case UNTIL: ++ case IF: + case THEN: ++ case ELIF: + case ELSE: + case '{': /* } */ +! case '(': /* )( */ +! case ')': /* only valid in case statement */ + case BANG: /* ! time pipeline */ + case TIME: /* time time pipeline */ +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 37 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 38 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-039 b/source/a/bash/bash-4.3-patches/bash43-039 new file mode 100644 index 00000000..e5e38870 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-039 @@ -0,0 +1,57 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-039 + +Bug-Reported-by: SN <poczta-sn@gazeta.pl> +Bug-Reference-ID: <54E2554C.205@gazeta.pl> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-02/msg00060.html + +Bug-Description: + +Using the output of `declare -p' when run in a function can result in variables +that are invisible to `declare -p'. This problem occurs when an assignment +builtin such as `declare' receives a quoted compound array assignment as one of +its arguments. + +Patch (apply with `patch -p0'): + +*** /usr/src/local/bash/bash-4.3-patched/arrayfunc.c 2014-10-01 13:08:48.000000000 -0400 +--- arrayfunc.c 2015-02-19 14:33:05.000000000 -0500 +*************** +*** 405,408 **** +--- 405,411 ---- + else + array_insert (a, i, l->word->word); ++ ++ VUNSETATTR (var, att_invisible); /* no longer invisible */ ++ + return var; + } +*************** +*** 635,638 **** +--- 638,645 ---- + if (nlist) + dispose_words (nlist); ++ ++ if (var) ++ VUNSETATTR (var, att_invisible); /* no longer invisible */ ++ + return (var); + } +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 38 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 39 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-040 b/source/a/bash/bash-4.3-patches/bash43-040 new file mode 100644 index 00000000..978ce1cd --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-040 @@ -0,0 +1,47 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-040 + +Bug-Reported-by: Jean Delvare <jdelvare@suse.de> +Bug-Reference-ID: <20150609180231.5f463695@endymion.delvare> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00033.html + +Bug-Description: + +There is a memory leak that occurs when bash expands an array reference on +the rhs of an assignment statement. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/subst.c 2014-10-01 12:57:47.000000000 -0400 +--- subst.c 2015-06-22 09:16:53.000000000 -0400 +*************** +*** 5783,5787 **** + if (pflags & PF_ASSIGNRHS) + { +! temp = array_variable_name (name, &tt, (int *)0); + if (ALL_ELEMENT_SUB (tt[0]) && tt[1] == ']') + temp = array_value (name, quoted|Q_DOUBLE_QUOTES, 0, &atype, &ind); +--- 5783,5787 ---- + if (pflags & PF_ASSIGNRHS) + { +! var = array_variable_part (name, &tt, (int *)0); + if (ALL_ELEMENT_SUB (tt[0]) && tt[1] == ']') + temp = array_value (name, quoted|Q_DOUBLE_QUOTES, 0, &atype, &ind); +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 39 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 40 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-041 b/source/a/bash/bash-4.3-patches/bash43-041 new file mode 100644 index 00000000..a040a2ac --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-041 @@ -0,0 +1,72 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-041 + +Bug-Reported-by: Hanno Böck <hanno@hboeck.de> +Bug-Reference-ID: <20150623131106.6f111da9@pc1>, <20150707004640.0e61d2f9@pc1> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00089.html, + http://lists.gnu.org/archive/html/bug-bash/2015-07/msg00018.html + +Bug-Description: + +There are several out-of-bounds read errors that occur when completing command +lines where assignment statements appear before the command name. The first +two appear only when programmable completion is enabled; the last one only +happens when listing possible completions. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3.40/bashline.c 2014-12-29 14:39:43.000000000 -0500 +--- bashline.c 2015-08-12 10:21:58.000000000 -0400 +*************** +*** 1469,1476 **** +--- 1469,1489 ---- + os = start; + n = 0; ++ was_assignment = 0; + s = find_cmd_start (os); + e = find_cmd_end (end); + do + { ++ /* Don't read past the end of rl_line_buffer */ ++ if (s > rl_end) ++ { ++ s1 = s = e1; ++ break; ++ } ++ /* Or past point if point is within an assignment statement */ ++ else if (was_assignment && s > rl_point) ++ { ++ s1 = s = e1; ++ break; ++ } + /* Skip over assignment statements preceding a command name. If we + don't find a command name at all, we can perform command name +*** ../bash-4.3.40/lib/readline/complete.c 2013-10-14 09:27:10.000000000 -0400 +--- lib/readline/complete.c 2015-07-31 09:34:39.000000000 -0400 +*************** +*** 690,693 **** +--- 690,695 ---- + if (temp == 0 || *temp == '\0') + return (pathname); ++ else if (temp[1] == 0 && temp == pathname) ++ return (pathname); + /* If the basename is NULL, we might have a pathname like '/usr/src/'. + Look for a previous slash and, if one is found, return the portion +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 40 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 41 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-042 b/source/a/bash/bash-4.3-patches/bash43-042 new file mode 100644 index 00000000..cc3e17c6 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-042 @@ -0,0 +1,55 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-042 + +Bug-Reported-by: Nathan Neulinger <nneul@neulinger.org> +Bug-Reference-ID: <558EFDF2.7060402@neulinger.org> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00096.html + +Bug-Description: + +There is a problem when parsing command substitutions containing `case' +commands within pipelines that causes the parser to not correctly identify +the end of the command substitution. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/parse.y 2015-05-18 19:27:05.000000000 -0400 +--- parse.y 2015-06-29 10:59:27.000000000 -0400 +*************** +*** 3709,3712 **** +--- 3709,3714 ---- + tflags |= LEX_INWORD; + lex_wlen = 0; ++ if (tflags & LEX_RESWDOK) ++ lex_rwlen = 0; + } + } +*** ../bash-4.3-patched/parse.y 2015-05-18 19:27:05.000000000 -0400 +--- y.tab.c 2015-06-29 10:59:27.000000000 -0400 +*************** +*** 6021,6024 **** +--- 6021,6026 ---- + tflags |= LEX_INWORD; + lex_wlen = 0; ++ if (tflags & LEX_RESWDOK) ++ lex_rwlen = 0; + } + } +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 41 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 42 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-043 b/source/a/bash/bash-4.3-patches/bash43-043 new file mode 100644 index 00000000..ad82c292 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-043 @@ -0,0 +1,59 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-043 + +Bug-Reported-by: lolilolicon <lolilolicon@gmail.com> +Bug-Reference-ID: <CAMtVo_MF16KWanCB4C8WxA88Qt26zWsvV6V7+_U2fM0E6tCDxw@mail.gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-08/msg00040.html + +Bug-Description: + +When the lastpipe option is enabled, the last component can contain nested +pipelines and cause a segmentation fault under certain circumestances. + +Patch (apply with `patch -p0'): + +*** ../bash-4.3-patched/execute_cmd.c 2014-07-30 10:26:52.000000000 -0400 +--- execute_cmd.c 2014-08-15 08:55:24.000000000 -0400 +*************** +*** 2406,2412 **** + { + #if defined (JOB_CONTROL) +! append_process (savestring (the_printed_command), dollar_dollar_pid, exec_result, lastpipe_jid); +! #endif + lstdin = wait_for (lastpid); + #if defined (JOB_CONTROL) + /* If wait_for removes the job from the jobs table, use result of last +--- 2433,2447 ---- + { + #if defined (JOB_CONTROL) +! if (INVALID_JOB (lastpipe_jid) == 0) +! { +! append_process (savestring (the_printed_command_except_trap), dollar_dollar_pid, exec_result, lastpipe_jid); +! lstdin = wait_for (lastpid); +! } +! else +! lstdin = wait_for_single_pid (lastpid); /* checks bgpids list */ +! #else + lstdin = wait_for (lastpid); ++ #endif ++ + #if defined (JOB_CONTROL) + /* If wait_for removes the job from the jobs table, use result of last +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 42 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 43 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-044 b/source/a/bash/bash-4.3-patches/bash43-044 new file mode 100644 index 00000000..d8f1ce07 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-044 @@ -0,0 +1,48 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-044 + +Bug-Reported-by: Ondrej Oprala <ooprala@redhat.com> +Bug-Reference-ID: <539ED55B.2080103@redhat.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00046.html + +Bug-Description: + +A typo prevents the `compat42' shopt option from working as intended. + +Patch (apply with `patch -p0'): + +diff -rC 2 bash-4.3.42/builtins/shopt.def bash-4.3.43/builtins/shopt.def +*** bash-4.3.42/builtins/shopt.def 2013-02-27 09:43:20.000000000 -0500 +--- builtins/shopt.def 2015-10-16 11:25:28.000000000 -0400 +*************** +*** 161,165 **** + { "compat40", &shopt_compat40, set_compatibility_level }, + { "compat41", &shopt_compat41, set_compatibility_level }, +! { "compat42", &shopt_compat41, set_compatibility_level }, + #if defined (READLINE) + { "complete_fullquote", &complete_fullquote, (shopt_set_func_t *)NULL}, +--- 161,165 ---- + { "compat40", &shopt_compat40, set_compatibility_level }, + { "compat41", &shopt_compat41, set_compatibility_level }, +! { "compat42", &shopt_compat42, set_compatibility_level }, + #if defined (READLINE) + { "complete_fullquote", &complete_fullquote, (shopt_set_func_t *)NULL}, + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 43 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 44 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-045 b/source/a/bash/bash-4.3-patches/bash43-045 new file mode 100644 index 00000000..25dc3587 --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-045 @@ -0,0 +1,52 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-045 + +Bug-Reported-by: Basin Ilya <basinilya@gmail.com> +Bug-Reference-ID: <5624C0AC.8070802@gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-10/msg00141.html + +Bug-Description: + +If a file open attempted as part of a redirection fails because it is interrupted +by a signal, the shell needs to process any pending traps to allow the redirection +to be canceled. + +Patch (apply with `patch -p0'): + +*** bash-20150109/redir.c 2014-12-03 10:47:38.000000000 -0500 +--- redir.c 2015-01-16 10:15:47.000000000 -0500 +*************** +*** 672,676 **** + e = errno; + if (fd < 0 && e == EINTR) +! QUIT; + errno = e; + } +--- 672,679 ---- + e = errno; + if (fd < 0 && e == EINTR) +! { +! QUIT; +! run_pending_traps (); +! } + errno = e; + } + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 44 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 45 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash-4.3-patches/bash43-046 b/source/a/bash/bash-4.3-patches/bash43-046 new file mode 100644 index 00000000..bea3970a --- /dev/null +++ b/source/a/bash/bash-4.3-patches/bash43-046 @@ -0,0 +1,55 @@ + BASH PATCH REPORT + ================= + +Bash-Release: 4.3 +Patch-ID: bash43-046 + +Bug-Reported-by: Sergey Tselikh <stselikh@gmail.com> +Bug-Reference-ID: <20150816110235.91f3e12e3f20d20cdaad963e@gmail.com> +Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-08/msg00080.html + +Bug-Description: + +An incorrect conversion from an indexed to associative array can result in a +core dump. + +Patch (apply with `patch -p0'): + +*** /fs2/chet/bash/bash-20150813/subst.c 2015-08-13 11:32:54.000000000 -0400 +--- subst.c 2015-08-18 10:13:59.000000000 -0400 +*************** +*** 9562,9566 **** + opts[opti] = '\0'; + if (opti > 0) +! make_internal_declare (tlist->word->word, opts); + + t = do_word_assignment (tlist->word, 0); +--- 9562,9573 ---- + opts[opti] = '\0'; + if (opti > 0) +! { +! t = make_internal_declare (tlist->word->word, opts); +! if (t != EXECUTION_SUCCESS) +! { +! last_command_exit_value = t; +! exp_jump_to_top_level (DISCARD); +! } +! } + + t = do_word_assignment (tlist->word, 0); + +*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500 +--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400 +*************** +*** 26,30 **** + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 45 + + #endif /* _PATCHLEVEL_H_ */ +--- 26,30 ---- + looks for to find the patch level (for the sccs version string). */ + +! #define PATCHLEVEL 46 + + #endif /* _PATCHLEVEL_H_ */ diff --git a/source/a/bash/bash.SlackBuild b/source/a/bash/bash.SlackBuild index ecd37b3c..69649b76 100755 --- a/source/a/bash/bash.SlackBuild +++ b/source/a/bash/bash.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2005-2012 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2005-2015 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -37,7 +37,7 @@ BUILD=${BUILD:-1} MARCH=$( uname -m ) if [ -z "$ARCH" ]; then case "$MARCH" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; armv7hl) export ARCH=$MARCH ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: @@ -45,10 +45,12 @@ if [ -z "$ARCH" ]; then esac fi -if [ "$ARCH" = "i386" ]; then - SLKCFLAGS="-O2 -march=i386 -mcpu=i686" -elif [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mcpu=i686" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" elif [ "$ARCH" = "x86_64" ]; then @@ -98,10 +100,10 @@ CFLAGS="$SLKCFLAGS" \ --prefix=/usr \ --mandir=/usr/man \ --infodir=/usr/info \ - --build=$TARGET + --build=$TARGET || exit 1 -make -j4 || make || exit 1 -make install DESTDIR=$PKG +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 mv $PKG/usr/share/doc $PKG/usr mkdir -p $PKG/bin mv $PKG/usr/bin/bash $PKG/bin/bash4.new @@ -145,8 +147,8 @@ if [ -d $PKG/usr/info ]; then fi mkdir -p $PKG/usr/doc/bash-$VERSION -cp -a AUTHORS CHANGES COMPAT COPYING INSTALL MANIFEST NEWS NOTES \ - README Y2K doc/FAQ doc/INTRO \ +cp -a AUTHORS CHANGES COMPAT COPYING* INSTALL MANIFEST NEWS NOTES \ + README* Y2K doc/FAQ doc/INTRO \ $PKG/usr/doc/bash-$VERSION ( cd doc ; groff -ms -Tascii article.ms > $PKG/usr/doc/bash-$VERSION/article.txt ) diff --git a/source/a/btrfs-progs/btrfs-progs-v4.5.3.tar.sign b/source/a/btrfs-progs/btrfs-progs-v4.5.3.tar.sign Binary files differnew file mode 100644 index 00000000..008c3f67 --- /dev/null +++ b/source/a/btrfs-progs/btrfs-progs-v4.5.3.tar.sign diff --git a/source/a/btrfs-progs/btrfs-progs.SlackBuild b/source/a/btrfs-progs/btrfs-progs.SlackBuild index 710c7eba..fb901dba 100755 --- a/source/a/btrfs-progs/btrfs-progs.SlackBuild +++ b/source/a/btrfs-progs/btrfs-progs.SlackBuild @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2009, 2010, 2011, 2015 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -36,12 +36,12 @@ if ! /bin/ls $CWD/btrfs-progs*tar* 1> /dev/null 2> /dev/null ; then rm -r $CWD/btrfs-progs fi -VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | cut -f 3 -d - | cut -f 1 -d .)} +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -56,9 +56,9 @@ rm -rf $PKG mkdir -p $PKG cd $TMP -rm -rf btrfs-progs +rm -rf btrfs-progs btrfs-progs-$VERSION tar xf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1 -cd btrfs-progs +cd btrfs-progs-$VERSION || cd btrfs-progs || exit 1 # Make sure ownerships and permissions are sane: chown -R root:root . @@ -74,10 +74,20 @@ find . -perm 511 -exec chmod 755 {} \; find . -perm 711 -exec chmod 755 {} \; find . -perm 555 -exec chmod 755 {} \; -# Build: +# Configure: +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --bindir=/sbin \ + --sysconfdir=/etc \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --disable-static \ + --build=$ARCH-slackware-linux + +# Build and install: make $NUMJOBS || make || exit 1 - -# Install: make install DESTDIR=$PKG || exit 1 # Strip binaries: @@ -86,16 +96,16 @@ make install DESTDIR=$PKG || exit 1 find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null ) -# Move stuff out of /usr/local: -mv $PKG/usr/local/bin $PKG/sbin -mv $PKG/usr/local/man $PKG/usr/man +# Move manpages: +mv $PKG/usr/share/man $PKG/usr/man +rmdir $PKG/usr/share -# Do not ship libraries/include files. +# Do not ship libraries. # If there becomes a use for these outside of btrfs-progs, let me know. -rm -rf $PKG/usr/local +rm -rf $PKG/usr/lib # According to https://btrfs.wiki.kernel.org/index.php/FAQ#When_will_Btrfs_have_a_fsck_like_tool.3F -# it is not recommended to make fsck.btrfs a no-op by linking it to /bin/true: +# it is safe and recommended to make fsck.btrfs a no-op by linking it to /bin/true: ln -sf /bin/true $PKG/sbin/fsck.btrfs # Compress and link manpages, if any: @@ -103,7 +113,7 @@ if [ -d $PKG/usr/man ]; then ( cd $PKG/usr/man for manpagedir in $(find . -type d -name "man*") ; do ( cd $manpagedir - for eachpage in $( find . -type l -maxdepth 1) ; do + for eachpage in $( find . -type l -maxdepth 1 | grep -v '\.gz$') ; do ln -s $( readlink $eachpage ).gz $eachpage.gz rm $eachpage done diff --git a/source/a/btrfs-progs/btrfs-progs.url b/source/a/btrfs-progs/btrfs-progs.url new file mode 100644 index 00000000..c5bba3af --- /dev/null +++ b/source/a/btrfs-progs/btrfs-progs.url @@ -0,0 +1 @@ +ftp://ftp.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs diff --git a/source/a/coreutils/coreutils.SlackBuild b/source/a/coreutils/coreutils.SlackBuild index 3bd8e521..a085e605 100755 --- a/source/a/coreutils/coreutils.SlackBuild +++ b/source/a/coreutils/coreutils.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2005-2012 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2005-2016 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,14 +22,14 @@ PKGNAM=coreutils VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | cut -d - -f 2 | rev | cut -f 3- -d . | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} NUMJOBS=${NUMJOBS:--j6} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -40,8 +40,8 @@ CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-$PKGNAM -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" @@ -88,6 +88,9 @@ find . \ # Patch uname to correctly display CPU information: zcat $CWD/$PKGNAM.uname.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1 +# Revert change to ls quoting style introduced in coreutils-8.25: +zcat $CWD/no_ls_quoting.patch.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1 + # Compilation with glibc version later than 2.3.2 needs the environment # variable DEFAULT_POSIX2_VERSION set to 199209. # Without that line, the coreutils will start complaining about 'obsolete' @@ -107,6 +110,7 @@ DEFAULT_POSIX2_VERSION=199209 \ --sysconfdir=/etc \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --without-gmp \ + --enable-install-program=arch \ --build=$ARCH-slackware-linux make $NUMJOBS || make || exit 1 @@ -131,6 +135,9 @@ mv $PKG/usr/man/man1/mktemp.1 $PKG/usr/man/man1/mktemp-gnu.1 # Oh well, this is what we've done for years, and nobody's complained... rm -rf $PKG/usr/share/locale/*/LC_TIME +# Move "arch" to /bin +mv $PKG/usr/bin/arch $PKG/bin + # These are important enough that they should probably all go into /bin at this # point... Having some of them unavailable when /usr isn't mounted is just a # source of unending bug reports for various third party applications. diff --git a/source/a/coreutils/doinst.sh b/source/a/coreutils/doinst.sh index b1a6112f..73403aa5 100644 --- a/source/a/coreutils/doinst.sh +++ b/source/a/coreutils/doinst.sh @@ -11,3 +11,6 @@ config() { } config etc/DIR_COLORS.new +# This is needed to prevent installpkg from trippping over itself: +PATH=/bin:$PATH + diff --git a/source/a/coreutils/no_ls_quoting.patch b/source/a/coreutils/no_ls_quoting.patch new file mode 100644 index 00000000..bfc9d018 --- /dev/null +++ b/source/a/coreutils/no_ls_quoting.patch @@ -0,0 +1,41 @@ +Description: revert inconsistent ls quoting + This is a revert of upstream commit 109b9220cead6e979d22d16327c4d9f8350431cc. + Info changed to reflect current upstream intentions. + +Bug-Debian: https://bugs.debian.org/813164 + +--- coreutils-8.25.orig/NEWS ++++ coreutils-8.25/NEWS +@@ -71,9 +71,6 @@ GNU coreutils NEWS + df now prefers sources towards the root of a device when + eliding duplicate bind mounted entries. + +- ls now quotes file names unambiguously and appropriate for use in a shell, +- when outputting to a terminal. +- + join, sort, uniq with --zero-terminated, now treat '\n' as a field delimiter. + + ** Improvements +--- coreutils-8.25.orig/doc/coreutils.texi ++++ coreutils-8.25/doc/coreutils.texi +@@ -7750,8 +7750,8 @@ this"} in the default C locale. This lo + + You can specify the default value of the @option{--quoting-style} option + with the environment variable @env{QUOTING_STYLE}@. If that environment +-variable is not set, the default value is @samp{shell-escape} when the +-output is a terminal, and @samp{literal} otherwise. ++variable is not set, the default value is @samp{literal}, but this ++default may change to @samp{shell-escape} in a future version of this package. + + @item --show-control-chars + @opindex --show-control-chars +--- coreutils-8.25.orig/src/ls.c ++++ coreutils-8.25/src/ls.c +@@ -1581,7 +1581,6 @@ decode_switches (int argc, char **argv) + if (isatty (STDOUT_FILENO)) + { + format = many_per_line; +- set_quoting_style (NULL, shell_escape_quoting_style); + /* See description of qmark_funny_chars, above. */ + qmark_funny_chars = true; + } diff --git a/source/a/cpio/cpio.32bit.crc.diff b/source/a/cpio/cpio.32bit.crc.diff deleted file mode 100644 index 8ae94e98..00000000 --- a/source/a/cpio/cpio.32bit.crc.diff +++ /dev/null @@ -1,111 +0,0 @@ -From ccec71ec318fdf739f55858d5bffaf4fd6520036 Mon Sep 17 00:00:00 2001 -From: Sergey Poznyakoff <gray@gnu.org.ua> -Date: Mon, 20 Feb 2012 17:51:27 +0000 -Subject: Always use 32 bit CRC - -* src/cpiohdr.h (cpio_file_stat) <c_chksum>: Change type to -uint32_t. -* src/extern.h (crc): Change type to uint32_t. -* src/global.c: Likewise. -* src/copyout.c (read_for_checksum): Return uint32_t. -* src/copyin.c: Fix printf formats. ---- -diff --git a/src/copyin.c b/src/copyin.c -index 3ab5dac..3282816 100644 ---- a/src/copyin.c -+++ b/src/copyin.c -@@ -178,7 +178,7 @@ list_file(struct cpio_file_stat* file_hdr, int in_file_des) - #endif - if (crc != file_hdr->c_chksum) - { -- error (0, 0, _("%s: checksum error (0x%lx, should be 0x%lx)"), -+ error (0, 0, _("%s: checksum error (0x%x, should be 0x%x)"), - file_hdr->c_name, crc, file_hdr->c_chksum); - } - } -@@ -525,7 +525,7 @@ copyin_regular_file (struct cpio_file_stat* file_hdr, int in_file_des) - if (archive_format == arf_crcascii) - { - if (crc != file_hdr->c_chksum) -- error (0, 0, _("%s: checksum error (0x%lx, should be 0x%lx)"), -+ error (0, 0, _("%s: checksum error (0x%x, should be 0x%x)"), - file_hdr->c_name, crc, file_hdr->c_chksum); - } - tape_skip_padding (in_file_des, file_hdr->c_filesize); -@@ -540,7 +540,7 @@ copyin_regular_file (struct cpio_file_stat* file_hdr, int in_file_des) - if (archive_format == arf_crcascii) - { - if (crc != file_hdr->c_chksum) -- error (0, 0, _("%s: checksum error (0x%lx, should be 0x%lx)"), -+ error (0, 0, _("%s: checksum error (0x%x, should be 0x%x)"), - file_hdr->c_name, crc, file_hdr->c_chksum); - } - -@@ -1436,7 +1436,7 @@ process_copy_in () - tape_skip_padding (in_file_des, file_hdr.c_filesize); - if (crc != file_hdr.c_chksum) - { -- error (0, 0, _("%s: checksum error (0x%lx, should be 0x%lx)"), -+ error (0, 0, _("%s: checksum error (0x%x, should be 0x%x)"), - file_hdr.c_name, crc, file_hdr.c_chksum); - } - /* Debian hack: -v and -V now work with --only-verify-crc. -diff --git a/src/copyout.c b/src/copyout.c -index ab6a243..a5a8931 100644 ---- a/src/copyout.c -+++ b/src/copyout.c -@@ -33,10 +33,10 @@ - /* Read FILE_SIZE bytes of FILE_NAME from IN_FILE_DES and - compute and return a checksum for them. */ - --static unsigned long -+static uint32_t - read_for_checksum (int in_file_des, int file_size, char *file_name) - { -- unsigned long crc; -+ uint32_t crc; - char buf[BUFSIZ]; - int bytes_left; - int bytes_read; -diff --git a/src/cpiohdr.h b/src/cpiohdr.h -index 86ec988..9aa8ed9 100644 ---- a/src/cpiohdr.h -+++ b/src/cpiohdr.h -@@ -123,7 +123,7 @@ struct cpio_file_stat /* Internal representation of a CPIO header */ - long c_rdev_maj; - long c_rdev_min; - size_t c_namesize; -- unsigned long c_chksum; -+ uint32_t c_chksum; - char *c_name; - char *c_tar_linkname; - }; -diff --git a/src/extern.h b/src/extern.h -index be329ae..ef00242 100644 ---- a/src/extern.h -+++ b/src/extern.h -@@ -75,7 +75,7 @@ extern char *new_media_message_after_number; - extern int archive_des; - extern char *archive_name; - extern char *rsh_command_option; --extern unsigned long crc; -+extern uint32_t crc; - #ifdef DEBUG_CPIO - extern int debug_flag; - #endif -diff --git a/src/global.c b/src/global.c -index 29e7afc..e08e188 100644 ---- a/src/global.c -+++ b/src/global.c -@@ -144,7 +144,7 @@ char *archive_name = NULL; - char *rsh_command_option = NULL; - - /* CRC checksum. */ --unsigned long crc; -+uint32_t crc; - - /* Input and output buffers. */ - char *input_buffer, *output_buffer; --- -cgit v0.9.0.2 - diff --git a/source/a/cpio/cpio.SlackBuild b/source/a/cpio/cpio.SlackBuild index 5e3eea05..b4b5f259 100755 --- a/source/a/cpio/cpio.SlackBuild +++ b/source/a/cpio/cpio.SlackBuild @@ -22,12 +22,12 @@ PKGNAM=cpio VERSION=$(ls $PKGNAM-*.tar.?z* | cut -d - -f 2 | rev | cut -f 3- -d . | rev) -BUILD=${BUILD:-2} +BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -43,11 +43,8 @@ PKG=$TMP/package-${PKGNAM} rm -rf $PKG mkdir -p $TMP $PKG -if [ "$ARCH" = "i386" ]; then - SLKCFLAGS="-O2 -march=i386 -mcpu=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" @@ -62,8 +59,6 @@ rm -rf ${PKGNAM}-${VERSION} tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1 cd ${PKGNAM}-$VERSION || exit 1 -zcat $CWD/cpio.32bit.crc.diff.gz | patch -p1 -F 3 --verbose || exit 1 - # Make sure ownerships and permissions are sane: chown -R root:root . find . \ diff --git a/source/a/cryptsetup/cryptsetup-1.7.1.tar.sign b/source/a/cryptsetup/cryptsetup-1.7.1.tar.sign new file mode 100644 index 00000000..11dcc071 --- /dev/null +++ b/source/a/cryptsetup/cryptsetup-1.7.1.tar.sign @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1 + +iQIcBAABCAAGBQJW0vkJAAoJENmwV3vZPpj8aK4P/iU9gAadERsXEu7LkSYUhDhy +PIQCpxl1ozRJZ6XaXKUeJi2EmB5TM9tCZeO8koVDet2wDRqJa6TCH1WHQijTJdnr +XeEbuPEiX7n5g8GKsefu6lIZMY9NKnOsUoTD89PVMw2qzt78WbIKGh52t6QJUatk +s+Ic8uKXUGzYGT735D8N2NVsaT+QpNgNMYaI92iU6jpFbtP5OSQU+3cFJSMSO8S2 +YqeLXAXnJ3mZl0koSqTSjgs+5b4+4Nv0mou/rYUOdg4h1vQiePvDOdTRye+/RQSG +077X94M0w/GalSy8kzDiAZU7yC4H5WQDJQoy10ePJmPYhfo5MChmvMEtTkiiqEi7 +PMuoG1r77Dj/7x2VY4s4XY4ePCEEtBu2IEPzmJZPxM6oN6NPhBzPCctR4Ybn+d3o +8x2vKVTkfqQAxwO5TLsSyDJSKSMI06AJbZDBSEJcX56r+gezyf11KFF0XaN1SjRQ +VGJHkqhzfX8PCQe1JvsfhW3a/EpppUI13SlS16rvoqMvE7aZaOOR1TaBxgPvsINk +BV210m4PKZYU4nqAbVgkJL5O8dFcbw0MFuYpQvazRQFAC/Dz+ta6R3gJ3H5Avsuw +UYfqCQJ4b8t+X5e4yHoUyJXw8gIxdwmmcJMZXweBzP/7DxGsxxu+3kUnYJV4sRQg +BD4YYLWuz+1a3iS7XD8u +=0WaO +-----END PGP SIGNATURE----- diff --git a/source/a/cryptsetup/cryptsetup.SlackBuild b/source/a/cryptsetup/cryptsetup.SlackBuild index 9b874e2a..17d7444d 100755 --- a/source/a/cryptsetup/cryptsetup.SlackBuild +++ b/source/a/cryptsetup/cryptsetup.SlackBuild @@ -1,7 +1,7 @@ #!/bin/sh -# Copyright (c) 2007, 2009, 2010 Eric Hameleers <alien@slackware.com> -# Copyright (c) 2007, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright (c) 2007, 2009, 2010 Eric Hameleers <alien@slackware.com> +# Copyright (c) 2007, 2009, 2010, 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -33,21 +33,21 @@ # ----------------------------------------------------------------------------- PKGNAM=cryptsetup -VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | 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 case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; esac fi -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" @@ -69,7 +69,7 @@ mkdir -p $TMP $PKG/usr cd $TMP rm -rf cryptsetup-$VERSION -tar xvf $CWD/cryptsetup-$VERSION.tar.bz2 || exit 1 +tar xvf $CWD/cryptsetup-$VERSION.tar.xz || exit 1 cd cryptsetup-$VERSION chown -R root:root . find . \ diff --git a/source/a/cryptsetup/slack-desc b/source/a/cryptsetup/slack-desc index 1dd4eeca..ac525cb8 100644 --- a/source/a/cryptsetup/slack-desc +++ b/source/a/cryptsetup/slack-desc @@ -15,7 +15,7 @@ cryptsetup: LUKS for dm-crypt is now implemented in cryptsetup replacing the cryptsetup: original cryptsetup. It provides all the functionally of the cryptsetup: original version plus all LUKS features. cryptsetup: -cryptsetup: cryptsetup home: http://code.google.com/p/cryptsetup/ +cryptsetup: cryptsetup home: https://gitlab.com/cryptsetup/cryptsetup cryptsetup: diff --git a/source/a/cups/cups-1.5.4-usb-quirks.diff b/source/a/cups/cups-1.5.4-usb-quirks.diff deleted file mode 100644 index dfe1dab8..00000000 --- a/source/a/cups/cups-1.5.4-usb-quirks.diff +++ /dev/null @@ -1,319 +0,0 @@ -From efe932a075744c1cfdf755ce8fea0870fc38a1c8 Mon Sep 17 00:00:00 2001 -From: mancha <mancha1@hush.com> -Date: Wed, 9 Oct 2013 -Subject: Backport usb fixes to CUPS 1.5.4 - - usb-libusb.c | 152 +++++++++++++++++++++++++++++++++++++++++++++++++---------- - 1 file changed, 127 insertions(+), 25 deletions(-) - ---- a/backend/usb-libusb.c 2012-07-16 -+++ b/backend/usb-libusb.c 2013-10-09 -@@ -13,7 +13,7 @@ - * - * Contents: - * -- * list_devices() - List the available printers. -+ * list_devices() - List the available printers. - * print_device() - Print a file to a USB device. - * close_device() - Close the connection to the USB printer. - * find_device() - Find or enumerate USB printers. -@@ -70,7 +70,7 @@ typedef struct usb_printer_s /**** USB - read_endp, /* Read endpoint */ - protocol, /* Protocol: 1 = Uni-di, 2 = Bi-di. */ - usblp_attached, /* "usblp" kernel module attached? */ -- opened_for_job; /* Set to 1 by print_device() */ -+ reset_after_job; /* Set to 1 by print_device() */ - unsigned int quirks; /* Quirks flags */ - struct libusb_device_handle *handle; /* Open handle to device */ - } usb_printer_t; -@@ -122,6 +122,9 @@ struct quirk_printer_struct { - #define USBLP_QUIRK_USB_INIT 0x2 /* needs vendor USB init string */ - #define USBLP_QUIRK_BAD_CLASS 0x4 /* descriptor uses vendor-specific - Class or SubClass */ -+#define USBLP_QUIRK_BLACKLIST 0x8 /* these printers do not conform to the USB print spec */ -+#define USBLP_QUIRK_RESET 0x4000 /* After printing do a reset -+ for clean-up */ - #define USBLP_QUIRK_NO_REATTACH 0x8000 /* After printing we cannot re-attach - the usblp kernel module */ - -@@ -139,17 +142,97 @@ static const struct quirk_printer_struct - { 0x0409, 0xbef4, USBLP_QUIRK_BIDIR }, /* NEC Picty760 (HP OEM) */ - { 0x0409, 0xf0be, USBLP_QUIRK_BIDIR }, /* NEC Picty920 (HP OEM) */ - { 0x0409, 0xf1be, USBLP_QUIRK_BIDIR }, /* NEC Picty800 (HP OEM) */ -+ { 0x043d, 0x00f3, USBLP_QUIRK_NO_REATTACH }, /* Lexmark International, -+ Inc. (e250d), https://bugs.launchpad.net/bugs/1084164 */ -+ { 0x043d, 0x00d7, USBLP_QUIRK_NO_REATTACH }, /* Lexmark E328 */ - { 0x0482, 0x0010, USBLP_QUIRK_BIDIR }, /* Kyocera Mita FS 820, - by zut <kernel@zut.de> */ -+ { 0x04a9, 0x1095, USBLP_QUIRK_BIDIR }, /* Canon, Inc. PIXMA iP6000D -+ Printer, https://bugs.launchpad.net/bugs/1160638 */ -+ { 0x04a9, 0x10a2, USBLP_QUIRK_BIDIR }, /* Canon, Inc. PIXMA iP4200 -+ Printer, http://www.cups.org/str.php?L4155 */ -+ { 0x04a9, 0x10b6, USBLP_QUIRK_BIDIR }, /* Canon, Inc. PIXMA iP4300 -+ Printer, https://bugs.launchpad.net/bugs/1032385 */ -+ { 0x04a9, 0x1721, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP210 -+ https://bugzilla.redhat.com/show_bug.cgi?id=847923#c53 */ -+ { 0x04a9, 0x170c, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP500 -+ Printer, https://bugs.launchpad.net/bugs/1032456 */ -+ { 0x04a9, 0x1717, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP510 -+ Printer, https://bugs.launchpad.net/bugs/1050009 */ -+ { 0x04a9, 0x173d, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP550 -+ Printer, http://www.cups.org/str.php?L4155 */ -+ { 0x04a9, 0x173e, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP560 -+ Printer, http://www.cups.org/str.php?L4155 */ -+ { 0x04a9, 0x26a3, USBLP_QUIRK_NO_REATTACH }, /* Canon, Inc. MF4150 -+ Printer, https://bugs.launchpad.net/bugs/1160638 */ -+ { 0x04f9, 0x001a, USBLP_QUIRK_NO_REATTACH }, /* Brother Industries, Ltd -+ HL-1430 Laser Printer, -+ https://bugs.launchpad.net/bugs/1038695 */ - { 0x04f9, 0x000d, USBLP_QUIRK_BIDIR | - USBLP_QUIRK_NO_REATTACH }, /* Brother Industries, Ltd -- HL-1440 Laser Printer */ -+ HL-1440 Laser Printer, -+ https://bugs.launchpad.net/bugs/1000253 */ -+ { 0x04f9, 0x000e, USBLP_QUIRK_BIDIR | -+ USBLP_QUIRK_NO_REATTACH }, /* Brother Industries, Ltd -+ HL-1450 Laser Printer, -+ https://bugs.launchpad.net/bugs/1000253 */ -+ { 0x06bc, 0x000b, USBLP_QUIRK_NO_REATTACH }, /* Oki Data Corp. -+ Okipage 14ex Printer, -+ https://bugs.launchpad.net/bugs/872483 */ -+ { 0x06bc, 0x01c7, USBLP_QUIRK_NO_REATTACH }, /* Oki Data Corp. B410d, -+ https://bugs.launchpad.net/bugs/872483 */ -+ { 0x04b8, 0x0001, USBLP_QUIRK_BIDIR | -+ USBLP_QUIRK_NO_REATTACH }, /* Seiko Epson Corp. Stylus Color 740 / Photo 750, -+ http://bugs.debian.org/697970 */ -+ { 0x04b8, 0x0005, USBLP_QUIRK_NO_REATTACH }, /* Seiko Epson Corp. Stylus Color 670, -+ https://bugs.launchpad.net/bugs/872483 */ - { 0x04b8, 0x0202, USBLP_QUIRK_BAD_CLASS }, /* Seiko Epson Receipt - Printer M129C */ - { 0x067b, 0x2305, USBLP_QUIRK_BIDIR | -- USBLP_QUIRK_NO_REATTACH }, -+ USBLP_QUIRK_NO_REATTACH | -+ USBLP_QUIRK_RESET }, - /* Prolific Technology, Inc. PL2305 Parallel Port -- (USB -> Parallel adapter) */ -+ (USB -> Parallel adapter), https://bugs.launchpad.net/bugs/987485 */ -+ { 0x0924, 0x3ce9, USBLP_QUIRK_NO_REATTACH }, /* Xerox Phaser 3124 -+ https://bugzilla.redhat.com/show_bug.cgi?id=867392 */ -+ { 0x0924, 0x4293, USBLP_QUIRK_NO_REATTACH }, /* Xerox WorkCentre 3210 -+ https://bugs.launchpad.net/bugs/1102470 */ -+ { 0x1a86, 0x7584, USBLP_QUIRK_NO_REATTACH }, /* QinHeng Electronics -+ CH340S (USB -> Parallel adapter), https://bugs.launchpad.net/bugs/1000253 */ -+ { 0x04e8, 0x0000, USBLP_QUIRK_RESET }, /* All Samsung devices, -+ https://bugs.launchpad.net/bugs/1032456 */ -+ { 0x0a5f, 0x0000, USBLP_QUIRK_BIDIR }, /* All Zebra devices, -+ https://bugs.launchpad.net/bugs/1001028 */ -+ /* Canon */ -+ { 0x04a9, 0x304a, USBLP_QUIRK_BLACKLIST }, /* Canon CP-10 */ -+ { 0x04a9, 0x3063, USBLP_QUIRK_BLACKLIST }, /* Canon CP-100 */ -+ { 0x04a9, 0x307c, USBLP_QUIRK_BLACKLIST }, /* Canon CP-200 */ -+ { 0x04a9, 0x307d, USBLP_QUIRK_BLACKLIST }, /* Canon CP-300 */ -+ { 0x04a9, 0x30bd, USBLP_QUIRK_BLACKLIST }, /* Canon CP-220 */ -+ { 0x04a9, 0x30be, USBLP_QUIRK_BLACKLIST }, /* Canon CP-330 */ -+ { 0x04a9, 0x30f6, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP400 */ -+ { 0x04a9, 0x310b, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP600 */ -+ { 0x04a9, 0x3127, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP710 */ -+ { 0x04a9, 0x3128, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP510 */ -+ { 0x04a9, 0x3141, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES1 */ -+ { 0x04a9, 0x3142, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP730 */ -+ { 0x04a9, 0x3143, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP720 */ -+ { 0x04a9, 0x3170, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP750 */ -+ { 0x04a9, 0x3171, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP740 */ -+ { 0x04a9, 0x3185, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES2 */ -+ { 0x04a9, 0x3186, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES20 */ -+ { 0x04a9, 0x31aa, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP770 */ -+ { 0x04a9, 0x31ab, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP760 */ -+ { 0x04a9, 0x31b0, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES30 */ -+ { 0x04a9, 0x31dd, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP780 */ -+ { 0x04a9, 0x31ee, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES40 */ -+ { 0x04a9, 0x3214, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP800 */ -+ { 0x04a9, 0x3255, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP900 */ -+ { 0x04a9, 0x3256, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP810 */ -+ { 0x04a9, 0x30F5, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP500 */ -+ { 0x04a9, 0x31AF, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES3 */ -+ { 0x04a9, 0x31DD, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP780 */ -+ /* MISSING PIDs: CP520, CP530, CP790 */ - { 0, 0 } - }; - -@@ -256,7 +339,12 @@ print_device(const char *uri, /* I - De - } - - g.print_fd = print_fd; -- g.printer->opened_for_job = 1; -+ -+ /* -+ * Some devices need a reset after finishing a job, these devices are -+ * marked with the USBLP_QUIRK_RESET quirk. -+ */ -+ g.printer->reset_after_job = (g.printer->quirks & USBLP_QUIRK_RESET ? 1 : 0); - - /* - * If we are printing data from a print driver on stdin, ignore SIGTERM -@@ -639,10 +727,10 @@ print_device(const char *uri, /* I - De - * If it didn't exit abort the pending read and wait an additional - * second... - */ -- -+ - if (!g.read_thread_done) - { -- fputs("DEBUG: Read thread still active, aborting the pending read...\n", -+ fputs("DEBUG: Read thread still active, aborting the pending read...\n", - stderr); - - g.wait_eof = 0; -@@ -650,7 +738,7 @@ print_device(const char *uri, /* I - De - gettimeofday(&tv, NULL); - cond_timeout.tv_sec = tv.tv_sec + 1; - cond_timeout.tv_nsec = tv.tv_usec * 1000; -- -+ - while (!g.read_thread_done) - { - if (pthread_cond_timedwait(&g.read_thread_cond, &g.read_thread_mutex, -@@ -663,9 +751,6 @@ print_device(const char *uri, /* I - De - pthread_mutex_unlock(&g.read_thread_mutex); - } - -- if (print_fd) -- close(print_fd); -- - /* - * Close the connection and input file and general clean up... - */ -@@ -725,7 +810,7 @@ close_device(usb_printer_t *printer) /* - */ - if (printer->origconf > 0 && printer->origconf != number2) - { -- fprintf(stderr, "DEBUG: Restoring USB device configuration: %d -> %d\n", -+ fprintf(stderr, "DEBUG: Restoring USB device configuration: %d -> %d\n", - number2, printer->origconf); - if ((errcode = libusb_set_configuration(printer->handle, - printer->origconf)) < 0) -@@ -772,7 +857,7 @@ close_device(usb_printer_t *printer) /* - * Reset the device to clean up after the job - */ - -- if (printer->opened_for_job == 1) -+ if (printer->reset_after_job == 1) - { - if ((errcode = libusb_reset_device(printer->handle)) < 0) - fprintf(stderr, -@@ -815,7 +900,8 @@ find_device(usb_cb_t cb, /* I - Callb - /* Pointer to current alternate setting */ - const struct libusb_endpoint_descriptor *endpptr = NULL; - /* Pointer to current endpoint */ -- ssize_t numdevs, /* number of connected devices */ -+ ssize_t err = 0, /* Error code */ -+ numdevs, /* number of connected devices */ - i = 0; - uint8_t conf, /* Current configuration */ - iface, /* Current interface */ -@@ -834,7 +920,14 @@ find_device(usb_cb_t cb, /* I - Callb - * Initialize libusb... - */ - -- libusb_init(NULL); -+ err = libusb_init(NULL); -+ if (err) -+ { -+ fprintf(stderr, "DEBUG: Unable to initialize USB access via libusb, " -+ "libusb error %i\n", err); -+ return (NULL); -+ } -+ - numdevs = libusb_get_device_list(NULL, &list); - fprintf(stderr, "DEBUG: libusb_get_device_list=%d\n", (int)numdevs); - -@@ -859,7 +952,14 @@ find_device(usb_cb_t cb, /* I - Callb - !devdesc.idProduct) - continue; - -- printer.quirks = quirks(devdesc.idVendor, devdesc.idProduct); -+ printer.quirks = quirks(devdesc.idVendor, devdesc.idProduct); -+ -+ /* -+ * Ignore blacklisted printers... -+ */ -+ -+ if (printer.quirks & USBLP_QUIRK_BLACKLIST) -+ continue; - - for (conf = 0; conf < devdesc.bNumConfigurations; conf ++) - { -@@ -886,7 +986,7 @@ find_device(usb_cb_t cb, /* I - Callb - */ - - if (((altptr->bInterfaceClass != LIBUSB_CLASS_PRINTER || -- altptr->bInterfaceSubClass != 1) && -+ altptr->bInterfaceSubClass != 1) && - ((printer.quirks & USBLP_QUIRK_BAD_CLASS) == 0)) || - (altptr->bInterfaceProtocol != 1 && /* Unidirectional */ - altptr->bInterfaceProtocol != 2) || /* Bidirectional */ -@@ -964,7 +1064,7 @@ find_device(usb_cb_t cb, /* I - Callb - bEndpointAddress; - } - else -- fprintf(stderr, "DEBUG: Uni-directional USB communication " -+ fprintf(stderr, "DEBUG: Uni-directional USB communication " - "only!\n"); - printer.write_endp = confptr->interface[printer.iface]. - altsetting[printer.altset]. -@@ -997,7 +1097,8 @@ find_device(usb_cb_t cb, /* I - Callb - * Clean up .... - */ - -- libusb_free_device_list(list, 1); -+ if (numdevs >= 0) -+ libusb_free_device_list(list, 1); - libusb_exit(NULL); - - return (NULL); -@@ -1144,7 +1245,7 @@ make_device_uri( - if ((sern = cupsGetOption("SERIALNUMBER", num_values, values)) == NULL) - if ((sern = cupsGetOption("SERN", num_values, values)) == NULL) - if ((sern = cupsGetOption("SN", num_values, values)) == NULL && -- ((libusb_get_device_descriptor (printer->device, &devdesc) >= 0) && -+ ((libusb_get_device_descriptor(printer->device, &devdesc) >= 0) && - devdesc.iSerialNumber)) - { - /* -@@ -1288,7 +1389,7 @@ open_device(usb_printer_t *printer, /* I - } - - printer->usblp_attached = 0; -- printer->opened_for_job = 0; -+ printer->reset_after_job = 0; - - if (verbose) - fputs("STATE: +connecting-to-device\n", stderr); -@@ -1343,7 +1444,7 @@ open_device(usb_printer_t *printer, /* I - - printer->origconf = current; - -- if ((errcode = -+ if ((errcode = - libusb_get_config_descriptor (printer->device, printer->conf, &confptr)) - < 0) - { -@@ -1355,7 +1456,7 @@ open_device(usb_printer_t *printer, /* I - - if (number1 != current) - { -- fprintf(stderr, "DEBUG: Switching USB device configuration: %d -> %d\n", -+ fprintf(stderr, "DEBUG: Switching USB device configuration: %d -> %d\n", - current, number1); - if ((errcode = libusb_set_configuration(printer->handle, number1)) < 0) - { -@@ -1586,7 +1687,8 @@ static unsigned int quirks(int vendor, i - for (i = 0; quirk_printers[i].vendorId; i++) - { - if (vendor == quirk_printers[i].vendorId && -- product == quirk_printers[i].productId) -+ (quirk_printers[i].productId == 0x0000 || -+ product == quirk_printers[i].productId)) - return quirk_printers[i].quirks; - } - return 0; diff --git a/source/a/cups/cups-blacklist-usblp.conf b/source/a/cups/cups-blacklist-usblp.conf deleted file mode 100644 index 0ebaa9a6..00000000 --- a/source/a/cups/cups-blacklist-usblp.conf +++ /dev/null @@ -1,10 +0,0 @@ -############################################################################## -# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that -############################################################################## - -# Blacklist the (obsolete) usblp module. While the CUPS package has been -# patched to handle if this module is loaded, there are some reports that -# it doesn't always work. Anyway, there should be no need to have this -# module loaded, so we'll blacklist it just in case. - -blacklist usblp diff --git a/source/a/cups/cups.SlackBuild b/source/a/cups/cups.SlackBuild deleted file mode 100755 index 0bb759ee..00000000 --- a/source/a/cups/cups.SlackBuild +++ /dev/null @@ -1,201 +0,0 @@ -#!/bin/sh - -# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# CUPS build script by volkerdi@slackware.com. - -VERSION=1.5.4 -BUILD=${BUILD:-3} - -# Automatically determine the architecture we're building on: -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) export ARCH=i486 ;; - arm*) export ARCH=arm ;; - # Unless $ARCH is already set, use uname -m for all other archs: - *) export ARCH=$( uname -m ) ;; - esac -fi - -if [ "$ARCH" = "x86_64" ]; then - LIBDIRSUFFIX="64" -else - LIBDIRSUFFIX="" -fi - -NUMJOBS=${NUMJOBS:-" -j7 "} - -CWD=$(pwd) -TMP=${TMP:-/tmp} -PKG=$TMP/package-cups - -rm -rf $PKG -mkdir -p $TMP $PKG - -cd $TMP -rm -rf cups-$VERSION -tar xvf $CWD/cups-$VERSION-source.tar.?z* || exit 1 -cd cups-$VERSION || exit 1 - -# Fix for CUPS 1.5.4. Don't reload the obsolete usblp module, as this -# can cause partial printing with certain printers. -zcat $CWD/cups-1.5.4-usb-quirks.diff.gz | patch -p1 --verbose || exit 1 - -sed -i.orig -e 's#$exec_prefix/lib/cups#$libdir/cups#g' configure -./configure \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --enable-ssl \ - --enable-openssl=yes \ - --enable-gnutls=no \ - --enable-cdsassl=no \ - --docdir=/usr/doc \ - --without-php \ - --disable-pam \ - --build=$ARCH-slackware-linux - -make $NUMJOBS || exit 1 -mkdir -p $PKG/etc/cups -mkdir -p $PKG/var/spool -make BUILDROOT=$PKG install || exit 1 - -# Blacklist the usblp module just to make sure that it doesn't cause -# any problems: -mkdir -p $PKG/lib/modprobe.d -cp -a $CWD/cups-blacklist-usblp.conf $PKG/lib/modprobe.d -chown root:root $PKG/lib/modprobe.d/cups-blacklist-usblp.conf -chmod 644 $PKG/lib/modprobe.d/cups-blacklist-usblp.conf - -# Hey, what's with the gigantic test files? Bloat is bad. -rm -f $PKG/usr/share/cups/ipptool/*.{pdf,ps,jpg} - -# I've added so many things like /etc/init.d/ to Slackware that CUPS -# is now installing init scripts to the Red Hat locations. We'll move -# them to the usual locations: -mkdir -p $PKG/etc/rc.d -# Handle this as a config file, and non-executable in a default install: -mv $PKG/etc/init.d/cups $PKG/etc/rc.d/rc.cups.new -chmod 644 $PKG/etc/rc.d/rc.cups.new -# Clear out the additions: -rm -rf $PKG/etc/init.d $PKG/etc/rc{0,2,3,5}.d - -# I'm not sure if overwriting this blindly could have ill effects, -# but it never hurts to play it safe. According to the dbus-daemon -# manpage, only files ending in .conf will be used, so there won't -# be any unintended doubling up. -mv $PKG/etc/dbus-1/system.d/cups.conf $PKG/etc/dbus-1/system.d/cups.conf.new - -# For full CUPS SMB support, you'll need to install the cups-samba -# package from the source in this directory. There's no easy way -# to add that to a package build, and the requests aren't pouring in, -# so you'll have to install it yourself. It's easy to do. - -# However, this will get you the most useful SMB support for free. -# Thanks to Boris Kurktchiev for the tip. :-) -( cd $PKG/usr/lib${LIBDIRSUFFIX}/cups/backend - if [ ! -e smb ]; then - ln -sf /usr/bin/smbspool smb - fi -) - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -# Remove preformatted manpages and move the manpages to /usr/man: -( cd $PKG/usr/share/man - find . -type d -name "cat*" | xargs rm -rf - cd .. - mv man .. -) - -# Adjust/expand docs: -( mkdir -p $PKG/usr/doc - mv $PKG/usr/share/doc/cups $PKG/usr/doc/cups-$VERSION - rmdir $PKG/usr/share/doc - cd $PKG/usr/doc - ln -sf cups-$VERSION cups ) - -# If there's a ChangeLog, installing at least part of the recent history -# is useful, but don't let it get totally out of control: -if [ -r CHANGES.txt ]; then - DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) - cat CHANGES.txt | head -n 1000 > $DOCSDIR/CHANGES.txt - touch -r CHANGES.txt $DOCSDIR/CHANGES.txt -fi - -# I'm sorry, but PDF files are almost as bloated and annoying as -# MS Word documents. We'll retain the HTML files in /usr/doc. -( cd $PKG/usr/doc - find . -name "*.pdf" -exec rm -f {} \; ) - -# Apply no-clobber fix to conffiles: -( cd $PKG/etc/cups - for file in * ; do - if [ -f $file ]; then - mv $file $file.new - fi - done ) - -# Strip stuff: -find $PKG | xargs file | grep -e "executable" -e "shared object" \ - | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null - -# Use symlinks to certain binaries so that CUPS and LPRng can coexist: -SUFFIX=cups -for file in \ -usr/bin/cancel \ -usr/bin/lp \ -usr/bin/lpq \ -usr/bin/lpr \ -usr/bin/lprm \ -usr/bin/lpstat \ -usr/sbin/lpc ; do - ( cd $PKG - mv ${file} ${file}-${SUFFIX} - ( cd `dirname ${file}` ; ln -sf `basename ${file}`-${SUFFIX} `basename ${file}` ) - ) -done -# Now fix the associated man pages: -mv $PKG/usr/man/man1/cancel.1.gz $PKG/usr/man/man1/cancel-${SUFFIX}.1.gz -mv $PKG/usr/man/man1/lp.1.gz $PKG/usr/man/man1/lp-${SUFFIX}.1.gz -mv $PKG/usr/man/man1/lpq.1.gz $PKG/usr/man/man1/lpq-${SUFFIX}.1.gz -mv $PKG/usr/man/man1/lpr.1.gz $PKG/usr/man/man1/lpr-${SUFFIX}.1.gz -mv $PKG/usr/man/man1/lprm.1.gz $PKG/usr/man/man1/lprm-${SUFFIX}.1.gz -mv $PKG/usr/man/man1/lpstat.1.gz $PKG/usr/man/man1/lpstat-${SUFFIX}.1.gz -mv $PKG/usr/man/man8/lpc.8.gz $PKG/usr/man/man8/lpc-${SUFFIX}.8.gz -( cd $PKG/usr/man/man1 - ln -sf cancel-${SUFFIX}.1.gz cancel.1.gz - ln -sf lp-${SUFFIX}.1.gz lp.1.gz - ln -sf lpq-${SUFFIX}.1.gz lpq.1.gz - ln -sf lpr-${SUFFIX}.1.gz lpr.1.gz - ln -sf lprm-${SUFFIX}.1.gz lprm.1.gz - ln -sf lpstat-${SUFFIX}.1.gz lpstat.1.gz -) -( cd $PKG/usr/man/man8 - ln -sf lpc-${SUFFIX}.8.gz lpc.8.gz -) - -# Add the doinst.sh that installs the .new conffiles: -zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh - -# Build the package: -cd $PKG -/sbin/makepkg -l y -c n $TMP/cups-$VERSION-$ARCH-$BUILD.txz - diff --git a/source/a/cups/cups.url b/source/a/cups/cups.url deleted file mode 100644 index fc83aeb6..00000000 --- a/source/a/cups/cups.url +++ /dev/null @@ -1 +0,0 @@ -http://ftp.easysw.com/pub/cups/1.5.4/cups-1.5.4-source.tar.bz2 diff --git a/source/a/cups/doinst.sh b/source/a/cups/doinst.sh deleted file mode 100644 index 6807cc3a..00000000 --- a/source/a/cups/doinst.sh +++ /dev/null @@ -1,34 +0,0 @@ -config() { - NEW="$1" - OLD="`dirname $NEW`/`basename $NEW .new`" - # If there's no config file by that name, mv it over: - if [ ! -r $OLD ]; then - mv $NEW $OLD - elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy - rm $NEW - fi - # Otherwise, we leave the .new copy for the admin to consider... -} -for file in etc/cups/*.new ; do - config $file -done -config etc/dbus-1/system.d/cups.conf.new - -# This file will just have to go. It appeared for a while during a -current -# devel period and has never been part of a stable release. -#config etc/modprobe.d/cups.blacklist.usblp.conf.new -rm -f etc/modprobe.d/cups.blacklist.usblp.conf.new -rm -f etc/modprobe.d/cups.blacklist.usblp.conf - -# Leave any new rc.cups with the same permissions as the old one: -# This is a kludge, but it's because there's no --reference option -# on busybox's 'chmod': -if [ -e etc/rc.d/rc.cups ]; then - if [ -x etc/rc.d/rc.cups ]; then - chmod 755 etc/rc.d/rc.cups.new - else - chmod 644 etc/rc.d/rc.cups.new - fi -fi -# Then config() it: -config etc/rc.d/rc.cups.new diff --git a/source/a/cups/slack-desc b/source/a/cups/slack-desc deleted file mode 100644 index c2e1643c..00000000 --- a/source/a/cups/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. Line -# up the first '|' above the ':' following the base package name, and the '|' on -# the right side marks the last column you can put a character in. You must make -# exactly 11 lines for the formatting to be correct. It's also customary to -# leave one space after the ':'. - - |-----handy-ruler------------------------------------------------------| -cups: CUPS (Common UNIX Printing System) -cups: -cups: The Common UNIX Printing System provides a portable printing layer for -cups: UNIX(R)-like operating systems. It has been developed by Easy Software -cups: Products to promote a standard printing solution for all UNIX vendors -cups: and users. CUPS uses the Internet Printing Protocol ("IPP") as the -cups: basis for managing print jobs and queues. The CUPS package includes -cups: System V and Berkeley command-line interfaces, a PostScript RIP -cups: package for supporting non-PostScript printer drivers, and tools for -cups: creating additional printer drivers and other CUPS services. -cups: diff --git a/source/a/cxxlibs/cxxlibs.SlackBuild b/source/a/cxxlibs/cxxlibs.SlackBuild deleted file mode 100755 index 4de69818..00000000 --- a/source/a/cxxlibs/cxxlibs.SlackBuild +++ /dev/null @@ -1,65 +0,0 @@ -#!/bin/sh -# Copyright 2006, 2007, 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -PKGNAM=cxxlibs -VERSION=${VERSION:-6.0.18} -BUILD=${BUILD:-1} - -# Automatically determine the architecture we're building on: -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) export ARCH=i486 ;; - arm*) export ARCH=arm ;; - # Unless $ARCH is already set, use uname -m for all other archs: - *) export ARCH=$( uname -m ) ;; - esac -fi - -if [ "$ARCH" = "x86_64" ]; then - LIBDIRSUFFIX="64" -else - LIBDIRSUFFIX="" -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp} -PKG=$TMP/package-${PKGNAM} -rm -rf $PKG -mkdir -p $TMP $PKG - -cd $PKG -cat $CWD/symlinks-to-tracked-libs${LIBDIRSUFFIX} | while read library ; do - ( mkdir -p $(dirname $library | cut -b2- ) - cd $(dirname $library | cut -b2- ) - rm -f $(basename $library) - cp -a $library . - rm -f $(readlink $library) - cp -a $(dirname $library)/$(readlink $library) . - ) -done - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -cd $PKG -/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz - diff --git a/source/a/cxxlibs/slack-desc b/source/a/cxxlibs/slack-desc deleted file mode 100644 index c1428f94..00000000 --- a/source/a/cxxlibs/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. Line -# up the first '|' above the ':' following the base package name, and the '|' -# on the right side marks the last column you can put a character in. You must -# make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':'. - - |-----handy-ruler------------------------------------------------------| -cxxlibs: cxxlibs (C++ shared library compatibility package) -cxxlibs: -cxxlibs: This package contains the shared libraries needed to run dynamically -cxxlibs: linked C++ binaries linked with older versions of libstdc++. -cxxlibs: -cxxlibs: -cxxlibs: -cxxlibs: -cxxlibs: -cxxlibs: -cxxlibs: diff --git a/source/a/cxxlibs/symlinks-to-tracked-libs b/source/a/cxxlibs/symlinks-to-tracked-libs deleted file mode 100644 index 39ff58e3..00000000 --- a/source/a/cxxlibs/symlinks-to-tracked-libs +++ /dev/null @@ -1,2 +0,0 @@ -/usr/lib/libstdc++.so.5 -/usr/lib/libstdc++.so.6 diff --git a/source/a/cxxlibs/symlinks-to-tracked-libs64 b/source/a/cxxlibs/symlinks-to-tracked-libs64 deleted file mode 100644 index 3a348cf1..00000000 --- a/source/a/cxxlibs/symlinks-to-tracked-libs64 +++ /dev/null @@ -1,2 +0,0 @@ -/usr/lib64/libstdc++.so.5 -/usr/lib64/libstdc++.so.6 diff --git a/source/a/dbus/dbus-1.6.x-allow_root_globally.diff b/source/a/dbus/dbus-1.10.x-allow_root_globally.diff index ae2d30a6..07d1ac33 100644 --- a/source/a/dbus/dbus-1.6.x-allow_root_globally.diff +++ b/source/a/dbus/dbus-1.10.x-allow_root_globally.diff @@ -1,9 +1,9 @@ -diff -Nur dbus-1.6.0.orig/bus/system.conf.in dbus-1.6.0/bus/system.conf.in ---- dbus-1.6.0.orig/bus/system.conf.in 2012-01-04 11:49:23.000000000 -0600 -+++ dbus-1.6.0/bus/system.conf.in 2012-06-12 23:07:14.541913190 -0500 -@@ -70,6 +70,14 @@ - send_member="UpdateActivationEnvironment"/> - </policy> +diff -Nur dbus-1.10.0.orig/bus/system.conf.in dbus-1.10.0/bus/system.conf.in +--- dbus-1.10.0.orig/bus/system.conf.in 2015-07-21 11:46:00.000000000 -0500 ++++ dbus-1.10.0/bus/system.conf.in 2015-10-03 17:47:18.646635691 -0500 +@@ -100,6 +100,14 @@ + <!-- Include legacy configuration location --> + <include ignore_missing="yes">@DBUS_SYSCONFDIR@/dbus-1/system.conf</include> + <!-- Allow root to do anything over the messagebus. + Don't whine about "security" - anyone with root privileges diff --git a/source/a/dbus/dbus.SlackBuild b/source/a/dbus/dbus.SlackBuild index ee115afa..734c134c 100755 --- a/source/a/dbus/dbus.SlackBuild +++ b/source/a/dbus/dbus.SlackBuild @@ -1,7 +1,7 @@ #!/bin/sh # Copyright 2007-2010 Robby Workman, Northport, Alabama, USA -# Copyright 2007-2012 Patrick Volkerding, Sebeka, MN, USA +# Copyright 2007-2015 Patrick Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -30,7 +30,7 @@ NUMJOBS=${NUMJOBS:-" -j7 "} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -41,8 +41,8 @@ CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-$PKGNAM -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" @@ -68,8 +68,7 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -zcat $CWD/dbus-1.6.x-allow_root_globally.diff.gz | patch -p1 --verbose || exit 1 -zcat $CWD/dbus.set.home.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/dbus-1.10.x-allow_root_globally.diff.gz | patch -p1 --verbose || exit 1 CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ @@ -88,6 +87,7 @@ CXXFLAGS="$SLKCFLAGS" \ --enable-x11-autolaunch \ --with-system-pid-file=/var/run/dbus/dbus.pid \ --with-system-socket=/var/run/dbus/system_bus_socket \ + --with-console-auth-dir=/var/run/console \ --with-init-scripts=slackware \ --build=$ARCH-slackware-linux diff --git a/source/a/dbus/dbus.set.home.diff b/source/a/dbus/dbus.set.home.diff deleted file mode 100644 index 5c0f7976..00000000 --- a/source/a/dbus/dbus.set.home.diff +++ /dev/null @@ -1,22 +0,0 @@ -Set HOME environment variable when switching user. - -2011-08-05 Egor Y. Egorov - -References: -https://bugs.freedesktop.org/show_bug.cgi?id=39857 -https://bugs.kde.org/show_bug.cgi?id=249217#c27 - -diff --git a/bus/activation-helper.c b/bus/activation-helper.c -index baba8f0..b75ea7c 100644 ---- a/bus/activation-helper.c -+++ b/bus/activation-helper.c -@@ -344,6 +344,8 @@ switch_user (char *user, DBusError *error) - "cannot setuid user %i", pw->pw_uid); - return FALSE; - } -+ -+ _dbus_setenv ("HOME", pw->pw_dir); - #endif - return TRUE; - } - diff --git a/source/a/dbus/doinst.sh b/source/a/dbus/doinst.sh index d12d7756..dcefd1ff 100644 --- a/source/a/dbus/doinst.sh +++ b/source/a/dbus/doinst.sh @@ -18,5 +18,9 @@ if [ -e etc/rc.d/rc.messagebus ]; then mv etc/rc.d/rc.messagebus.new.incoming etc/rc.d/rc.messagebus.new fi -config etc/rc.d/rc.messagebus.new +#config etc/rc.d/rc.messagebus.new +# No, just install the thing. Leaving it as .new will only lead to problems. +if [ -r etc/rc.d/rc.messagebus.new ]; then + mv etc/rc.d/rc.messagebus.new etc/rc.d/rc.messagebus +fi diff --git a/source/a/dbus/rc.messagebus b/source/a/dbus/rc.messagebus index fb035af5..9a1ffce9 100644 --- a/source/a/dbus/rc.messagebus +++ b/source/a/dbus/rc.messagebus @@ -6,7 +6,6 @@ # and other messages. See http://www.freedesktop.org/software/dbus/ # # processname: dbus-daemon -# pidfile: /var/run/dbus/pid # This is a modified version of the rc.messagebus script distributed with the # dbus sources. Thanks to Don Tanner of the GWare <http://gware.org> Project diff --git a/source/a/dcron/dcron.SlackBuild b/source/a/dcron/dcron.SlackBuild index 243c0cc8..9d5a6d7f 100755 --- a/source/a/dcron/dcron.SlackBuild +++ b/source/a/dcron/dcron.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2009, 2010, 2012, 2016 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -21,12 +21,12 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. VERSION=${VERSION:-$(echo dcron-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-4} +BUILD=${BUILD:-5} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -37,8 +37,8 @@ CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-dcron -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" @@ -64,13 +64,19 @@ find . \ -exec chmod 644 {} \; # Define TMPDIR as /var/spool/cron instead of /tmp -zcat $CWD/defs.h.TMPDIR.diff.gz | patch -p1 || exit 1 +zcat $CWD/defs.h.TMPDIR.diff.gz | patch -p1 --verbose || exit 1 # Fix problem where user creates /var/spool/cron/crontabs/<user>.new # using 'crontab -', exits with control-c, and then crontab refuses to # overwrite the junk file. It would be better if dcron would wipe # the junk file in the event it were not closed correctly, but oh well. -zcat $CWD/crontab.c.O_EXCL.diff.gz | patch -p1 || exit 1 +zcat $CWD/crontab.c.O_EXCL.diff.gz | patch -p1 --verbose || exit 1 + +# Running jobs should not block cron.update: +zcat $CWD/dcron.update.during.long.running.jobs.diff.gz | patch -p1 --verbose || exit 1 + +# Change _BSD_SOURCE to _DEFAULT_SOURCE for recent glibc: +zcat $CWD/defs.h._DEFAULT_SOURCE.diff.gz | patch -p1 --verbose || exit 1 CFLAGS+="$SLKCFLAGS" make || exit 1 strip --strip-unneeded crond crontab diff --git a/source/a/dcron/dcron.update.during.long.running.jobs.diff b/source/a/dcron/dcron.update.during.long.running.jobs.diff new file mode 100644 index 00000000..cd1297c7 --- /dev/null +++ b/source/a/dcron/dcron.update.during.long.running.jobs.diff @@ -0,0 +1,19 @@ + Update main.c + +Removed bug where cron.update is not picked up while jobs are still running. (We have long running cronjobs and experienced long overdue cron.update files) + +diff --git a/main.c b/main.c +index 595f07a..0eba280 100644 +--- a/main.c ++++ b/main.c +@@ -338,7 +338,8 @@ main(int ac, char **av) + SynchronizeDir(SCDir, "root", 0); + ReadTimestamps(NULL); + } +- } else { ++ } ++ if (rescan < 60) { + CheckUpdates(CDir, NULL, t1, t2); + CheckUpdates(SCDir, "root", t1, t2); + } + diff --git a/source/a/dcron/defs.h._DEFAULT_SOURCE.diff b/source/a/dcron/defs.h._DEFAULT_SOURCE.diff new file mode 100644 index 00000000..8d17b33a --- /dev/null +++ b/source/a/dcron/defs.h._DEFAULT_SOURCE.diff @@ -0,0 +1,11 @@ +--- ./defs.h.orig 2016-05-10 12:56:47.127582837 -0500 ++++ ./defs.h 2016-05-10 12:59:31.059577597 -0500 +@@ -17,7 +17,7 @@ + */ + + #define _XOPEN_SOURCE 1 +-#define _BSD_SOURCE 1 ++#define _DEFAULT_SOURCE 1 + + #include <sys/types.h> + #include <sys/stat.h> diff --git a/source/a/dosfstools/dosfstools.SlackBuild b/source/a/dosfstools/dosfstools.SlackBuild index bd3c5773..04606236 100755 --- a/source/a/dosfstools/dosfstools.SlackBuild +++ b/source/a/dosfstools/dosfstools.SlackBuild @@ -28,7 +28,7 @@ BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -37,8 +37,8 @@ fi NUMJOBS=${NUMJOBS:-" -j7 "} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" diff --git a/source/a/dosfstools/dosfstools.url b/source/a/dosfstools/dosfstools.url new file mode 100644 index 00000000..945cf15f --- /dev/null +++ b/source/a/dosfstools/dosfstools.url @@ -0,0 +1 @@ +lftpget http://github.com/dosfstools/dosfstools/releases/download/v3.0.28/dosfstools-3.0.28.tar.xz diff --git a/source/a/dosfstools/slack-desc b/source/a/dosfstools/slack-desc index b070c1e2..2ac81136 100644 --- a/source/a/dosfstools/slack-desc +++ b/source/a/dosfstools/slack-desc @@ -11,7 +11,7 @@ dosfstools: dosfstools: Utilities for creating FAT filesystems (mkdosfs), and for checking dosfstools: and repairing them (dosfsck). dosfstools: -dosfstools: +dosfstools: Homepage: http://daniel-baumann.ch/software/dosfstools dosfstools: dosfstools: dosfstools: diff --git a/source/a/e2fsprogs/e2fsprogs-1.42.8.tar.sign b/source/a/e2fsprogs/e2fsprogs-1.42.8.tar.sign Binary files differdeleted file mode 100644 index 660df333..00000000 --- a/source/a/e2fsprogs/e2fsprogs-1.42.8.tar.sign +++ /dev/null diff --git a/source/a/e2fsprogs/e2fsprogs-1.43.1.tar.sign b/source/a/e2fsprogs/e2fsprogs-1.43.1.tar.sign Binary files differnew file mode 100644 index 00000000..362b4274 --- /dev/null +++ b/source/a/e2fsprogs/e2fsprogs-1.43.1.tar.sign diff --git a/source/a/e2fsprogs/e2fsprogs.SlackBuild b/source/a/e2fsprogs/e2fsprogs.SlackBuild index 51c268a1..d96c7193 100755 --- a/source/a/e2fsprogs/e2fsprogs.SlackBuild +++ b/source/a/e2fsprogs/e2fsprogs.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009, 2010, 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,8 +23,9 @@ # Modified 2012 by Eric Hameleers <alien at slackware.com> for ARM port. +PKGNAM=e2fsprogs VERSION=${VERSION:-$(echo e2fsprogs*.tar.?z* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:-" -j7 "} @@ -32,7 +33,7 @@ NUMJOBS=${NUMJOBS:-" -j7 "} MARCH=$( uname -m ) if [ -z "$ARCH" ]; then case "$MARCH" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; armv7hl) export ARCH=$MARCH ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: @@ -40,8 +41,8 @@ if [ -z "$ARCH" ]; then esac fi -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" @@ -79,6 +80,11 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; +# Do not use 64-bit by default on ext4, since some bootloaders cannot handle +# it yet. But use "auto_64-bit_support = 1", which will enable 64-bit if the +# number of blocks for the file system requires the feature to be enabled. +zcat $CWD/e2fsprogs.no.64bit.by.default.diff.gz | patch -p1 --verbose || exit 1 + # Disable libblkid and libuuid, as we'll be using the ones in u-l-ng CFLAGS="$SLKCFLAGS" \ ./configure \ @@ -106,12 +112,12 @@ make install-libs DESTDIR=$PKG || exit 1 # cat findsuper > $PKG/sbin/findsuper # chmod 0755 $PKG/sbin/findsuper ) -find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ - | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null - # Don't clobber an existing config file mv $PKG/etc/mke2fs.conf $PKG/etc/mke2fs.conf.new +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + # Fix up package: mkdir -p $PKG/usr/lib${LIBDIRSUFFIX} mv $PKG/lib${LIBDIRSUFFIX}/pkgconfig $PKG/lib${LIBDIRSUFFIX}/*.so \ @@ -152,6 +158,10 @@ EOF cp -a fsck.ext2 fsck.ext4 cp -a fsck.ext2 fsck.ext4dev ) +( cd $PKG/usr/man/man5 + ln -sf ext4.5 ext2.5 + ln -sf ext4.5 ext3.5 +) ( cd $PKG/usr/man/man8 rm -f fsck.ext2.8 fsck.ext3.8 mkfs.ext2.8 mkfs.ext3.8 \ mkfs.ext4.8 mkfs.ext4dev.8 @@ -165,18 +175,29 @@ EOF ln -sf mke2fs.8 mkfs.ext4dev.8 ) -# Compress and link manpages -( cd $PKG/usr/man - find . -type f -exec gzip -9 {} \; - for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done -) +# Compress manual pages: +find $PKG/usr/man -type f -exec gzip -9 {} \; +for i in $( find $PKG/usr/man -type l ) ; do + ln -s $( readlink $i ).gz $i.gz + rm $i +done mkdir -p $PKG/usr/doc/e2fsprogs-$VERSION cp -a \ - COPYING* INSTALL INSTALL.elfbin README* RELEASE-NOTES SHLIBS \ + COPYING* INSTALL* NOTICE README* RELEASE-NOTES SHLIBS SUBMITTING-PATCHES \ $PKG/usr/doc/e2fsprogs-$VERSION +cp -a ext2ed/COPYRIGHT $PKG/usr/doc/e2fsprogs-$VERSION/COPYRIGHT.ext2ed +cp -a ext2ed/README $PKG/usr/doc/e2fsprogs-$VERSION/README.ext2ed +cp -a lib/uuid/COPYING $PKG/usr/doc/e2fsprogs-$VERSION/COPYING.uuid chmod 644 $PKG/usr/doc/e2fsprogs-$VERSION/* +# Trim RELEASE-NOTES to only include recent history: +if [ -r RELEASE-NOTES ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat RELEASE-NOTES | head -n 1000 > $DOCSDIR/RELEASE-NOTES + touch -r RELEASE-NOTES $DOCSDIR/RELEASE-NOTES +fi + mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh diff --git a/source/a/e2fsprogs/e2fsprogs.no.64bit.by.default.diff b/source/a/e2fsprogs/e2fsprogs.no.64bit.by.default.diff new file mode 100644 index 00000000..b866f0cc --- /dev/null +++ b/source/a/e2fsprogs/e2fsprogs.no.64bit.by.default.diff @@ -0,0 +1,12 @@ +--- ./misc/mke2fs.conf.in.orig 2016-05-17 00:32:58.000000000 -0500 ++++ ./misc/mke2fs.conf.in 2016-05-24 19:04:24.956000477 -0500 +@@ -11,7 +11,8 @@ + features = has_journal + } + ext4 = { +- features = has_journal,extent,huge_file,flex_bg,64bit,dir_nlink,extra_isize ++ features = has_journal,extent,huge_file,flex_bg,dir_nlink,extra_isize ++ auto_64-bit_support = 1 + inode_size = 256 + } + ext4dev = { diff --git a/source/a/e2fsprogs/slack-desc b/source/a/e2fsprogs/slack-desc index e35c02a2..5a41b153 100644 --- a/source/a/e2fsprogs/slack-desc +++ b/source/a/e2fsprogs/slack-desc @@ -13,7 +13,7 @@ e2fsprogs: e2fsprogs: These utilities were written by Remy Card (the developer and e2fsprogs: maintainer of the ext2 fs) and Theodore T'so. e2fsprogs: -e2fsprogs: +e2fsprogs: http://kernel.org/pub/linux/kernel/people/tytso/e2fsprogs e2fsprogs: e2fsprogs: e2fsprogs: diff --git a/source/a/ed/ed.SlackBuild b/source/a/ed/ed.SlackBuild index 72f47141..298c13fa 100755 --- a/source/a/ed/ed.SlackBuild +++ b/source/a/ed/ed.SlackBuild @@ -28,7 +28,7 @@ BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -46,7 +46,7 @@ mkdir -p $TMP $PKG cd $TMP rm -rf ${PKGNAM}-${VERSION} tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1 -cd ${PKGNAM}-$VERSION +cd ${PKGNAM}-$VERSION || exit 1 # Make sure ownerships and permissions are sane: chown -R root:root . @@ -61,7 +61,7 @@ CFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ --infodir=/usr/info \ - --mandir=/usr/man + --mandir=/usr/man || exit 1 # Build and install: make $NUMJOBS || make || exit 1 diff --git a/source/a/efibootmgr/efibootmgr.SlackBuild b/source/a/efibootmgr/efibootmgr.SlackBuild index 1e411677..bf2e0d39 100755 --- a/source/a/efibootmgr/efibootmgr.SlackBuild +++ b/source/a/efibootmgr/efibootmgr.SlackBuild @@ -29,7 +29,7 @@ BUILD=${BUILD:-1} if [ -z "$ARCH" ]; then case "$(uname -m)" in i?86) ARCH=i486 ;; - arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; # Unless $ARCH is already set, use uname -m for all other archs: *) ARCH=$(uname -m) ;; esac diff --git a/source/a/elilo/elilo.SlackBuild b/source/a/elilo/elilo.SlackBuild index ad2ffc14..2fa31a7a 100755 --- a/source/a/elilo/elilo.SlackBuild +++ b/source/a/elilo/elilo.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2013, 2014, 2016 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,11 +22,11 @@ PKGNAM=elilo VERSION=${VERSION:-$(echo $PKGNAM*.tar.?z* | rev | cut -f 2 -d - | rev)} -BUILD=${BUILD:-6} +BUILD=${BUILD:-2} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -36,8 +36,8 @@ CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-$PKGNAM -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -58,12 +58,18 @@ mkdir elilo cd elilo tar xvf $CWD/${PKGNAM}-$VERSION-all.tar.?z* || exit 1 tar xvf elilo-${VERSION}-source.tar.gz || exit 1 +# This is a rebuilt version of the x86_64 elilo (which is really the only +# useful one), fetched from $TMP/elilo/elilo-${VERSION}-source/ after +# running this script. Elilo can be rather fragile, so we don't want to +# rebuild it all the time and risk breaking it. +tar xvf $CWD/elilo.x64.rebuilt.tar.xz || exit 1 chown -R root:root . chmod -R u+w,go+r-w,a-s . -cd elilo +cd elilo-${VERSION}-source || cd elilo || exit sed -i "s,/usr/lib,/usr/lib${LIBDIRSUFFIX},g" Make.defaults sed -i "s,EFICRT0.*= /usr/lib${LIBDIRSUFFIX},EFICRT0 = /usr/lib${LIBDIRSUFFIX}/gnuefi,g" Make.defaults +sed -i "s,dpkg-architecture -qDEB_BUILD_ARCH,uname -m,g" Make.defaults # We will build this from source. # However, we will package the pre-built EFI binaries, since we would diff --git a/source/a/elilo/eliloconfig b/source/a/elilo/eliloconfig index 91f66d69..912d6505 100644 --- a/source/a/elilo/eliloconfig +++ b/source/a/elilo/eliloconfig @@ -1,5 +1,5 @@ #!/bin/sh -# Copyright 2013 Patrick Volkerding, Sebeka, Minnesota, USA +# Copyright 2013, 2016 Patrick Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -88,10 +88,10 @@ fi # Figure out the device and partition number of the ESP: if mount | grep vfat | grep -wq /boot/efi ; then EFI_DEVICE=$(mount | grep vfat | grep -w /boot/efi | cut -b 1-8) - EFI_PARTITION=$(mount | grep vfat | grep -w /boot/efi | cut -f 1 -d ' ' | cut -b 9-) + EFI_PARTITION=$(mount | grep vfat | grep -w /boot/efi | cut -f 1 -d ' ' | cut -b 9- | tr -d [a-z]) else EFI_DEVICE=$(mount | grep vfat | grep -w /mnt/boot/efi | cut -b 1-8) - EFI_PARTITION=$(mount | grep vfat | grep -w /mnt/boot/efi | cut -f 1 -d ' ' | cut -b 9-) + EFI_PARTITION=$(mount | grep vfat | grep -w /mnt/boot/efi | cut -f 1 -d ' ' | cut -b 9- | tr -d [a-z]) fi # There better be a kernel: diff --git a/source/a/etc/etc.SlackBuild b/source/a/etc/etc.SlackBuild index 0233a977..34762f05 100755 --- a/source/a/etc/etc.SlackBuild +++ b/source/a/etc/etc.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2005-2016 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -20,13 +20,13 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=14.1 -BUILD=${BUILD:-2} +VERSION=14.2 +BUILD=${BUILD:-7} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -43,7 +43,7 @@ mkdir -p $TMP $PKG cd $PKG explodepkg $CWD/_etc.tar.gz # Fix for ARCH: -sed -i -e "s#/i486-slackware-linux#/${ARCH}-slackware-linux#" etc/ld.so.conf.new +sed -i -e "s#/i586-slackware-linux#/${ARCH}-slackware-linux#" etc/ld.so.conf.new # Fix paths if lib64 is needed: if [ "$ARCH" = "x86_64" ]; then sed -i -e "s#/lib#/lib64#" etc/ld.so.conf.new diff --git a/source/a/eudev/0001-Remove-obsolete-udev_root-references.patch b/source/a/eudev/0001-Remove-obsolete-udev_root-references.patch new file mode 100644 index 00000000..e09f82e0 --- /dev/null +++ b/source/a/eudev/0001-Remove-obsolete-udev_root-references.patch @@ -0,0 +1,68 @@ +From 26b8f53163c0efd9c638f9798bb8e36be2a3d719 Mon Sep 17 00:00:00 2001 +From: Robby Workman <rworkman@slackware.com> +Date: Sun, 15 Nov 2015 15:07:37 -0600 +Subject: [PATCH] Remove obsolete udev_root references + +This was removed in 6ada823a9a0979ea145fd70add1007c21caa45c0 +--- + man/udev.7 | 5 ----- + man/udev.xml | 7 ------- + test/udev-test.pl | 8 -------- + 3 files changed, 20 deletions(-) + +diff --git a/man/udev.7 b/man/udev.7 +index b54683d..293f404 100644 +--- a/man/udev.7 ++++ b/man/udev.7 +@@ -515,11 +515,6 @@ The current name of the device\&. If not changed by a rule, it is the name of th + A space\-separated list of the current symlinks\&. The value is only set during a remove event or if an earlier rule assigned a value\&. + .RE + .PP +-\fB$root\fR, \fB%r\fR +-.RS 4 +-The udev_root value\&. +-.RE +-.PP + \fB$sys\fR, \fB%S\fR + .RS 4 + The sysfs mount point\&. +diff --git a/man/udev.xml b/man/udev.xml +index fd7df34..d1ade24 100644 +--- a/man/udev.xml ++++ b/man/udev.xml +@@ -703,13 +703,6 @@ + </varlistentry> + + <varlistentry> +- <term><option>$root</option>, <option>%r</option></term> +- <listitem> +- <para>The udev_root value.</para> +- </listitem> +- </varlistentry> +- +- <varlistentry> + <term><option>$sys</option>, <option>%S</option></term> + <listitem> + <para>The sysfs mount point.</para> +diff --git a/test/udev-test.pl b/test/udev-test.pl +index 14f11df..9a425bb 100755 +--- a/test/udev-test.pl ++++ b/test/udev-test.pl +@@ -889,14 +889,6 @@ SUBSYSTEMS=="scsi", KERNEL=="sda1", SYMLINK+="%P-part-1" + EOF + }, + { +- desc => "udev_root substitution", +- devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1", +- exp_name => "start-/dev-end", +- rules => <<EOF +-SUBSYSTEMS=="scsi", KERNEL=="sda1", SYMLINK+="start-%r-end" +-EOF +- }, +- { + desc => "last_rule option", + devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1", + exp_name => "last", +-- +2.6.3 + diff --git a/source/a/eudev/0002-src-udev-udevd.c-add-eudev-startup-message-for-kmsg.patch b/source/a/eudev/0002-src-udev-udevd.c-add-eudev-startup-message-for-kmsg.patch new file mode 100644 index 00000000..55e2bccf --- /dev/null +++ b/source/a/eudev/0002-src-udev-udevd.c-add-eudev-startup-message-for-kmsg.patch @@ -0,0 +1,38 @@ +From 71ff5b6886946dacca8ae685ac85cdc174cfdece Mon Sep 17 00:00:00 2001 +From: Richard Narron <richard@aaazen.com> +Date: Sun, 22 Nov 2015 02:27:58 -0500 +Subject: [PATCH 2/2] src/udev/udevd.c: add eudev startup message for kmsg + +Signed-off-by: Anthony G. Basile <blueness@gentoo.org> +--- + src/udev/udevd.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/src/udev/udevd.c b/src/udev/udevd.c +index b1de97a..b3fbc27 100644 +--- a/src/udev/udevd.c ++++ b/src/udev/udevd.c +@@ -1125,6 +1125,7 @@ static int parse_argv(int argc, char *argv[]) { + int main(int argc, char *argv[]) { + struct udev *udev; + sigset_t mask; ++ FILE *f; + int fd_ctrl = -1; + int fd_netlink = -1; + int fd_worker = -1; +@@ -1277,6 +1278,12 @@ int main(int argc, char *argv[]) { + + udev_list_node_init(&event_list); + ++ f = fopen("/dev/kmsg", "w"); ++ if (f != NULL) { ++ fprintf(f, "<30>udevd[%u]: starting eudev-" VERSION "\n", getpid()); ++ fclose(f); ++ } ++ + if (!arg_debug) { + int fd; + +-- +2.6.3 + diff --git a/source/a/udev/60-cdrom_id.rules.diff b/source/a/eudev/60-cdrom_id.rules.diff index 6ac5e227..c785dcca 100644 --- a/source/a/udev/60-cdrom_id.rules.diff +++ b/source/a/eudev/60-cdrom_id.rules.diff @@ -1,8 +1,9 @@ ---- ./src/cdrom_id/60-cdrom_id.rules.orig 2012-01-30 12:02:56.526251552 -0600 -+++ ./src/cdrom_id/60-cdrom_id.rules 2013-01-17 21:11:20.821006629 -0600 -@@ -15,6 +15,24 @@ - # enable the receiving of media eject button events - IMPORT{program}="cdrom_id --lock-media $devnode" +diff -rNaud eudev-3.1.old/rules/60-cdrom_id.rules eudev-3.1/rules/60-cdrom_id.rules +--- eudev-3.1.old/rules/60-cdrom_id.rules 2015-03-19 22:57:28.000000000 +0100 ++++ eudev-3.1/rules/60-cdrom_id.rules 2015-10-24 12:36:13.350966101 +0200 +@@ -20,6 +20,25 @@ + # stale mounts after ejecting + ENV{DISK_MEDIA_CHANGE}=="?*", ENV{ID_CDROM_MEDIA}!="?*", ENV{SYSTEMD_READY}="0" -KERNEL=="sr0", SYMLINK+="cdrom", OPTIONS+="link_priority=-100" +# create default links to the first detected device @@ -24,5 +25,6 @@ +KERNEL=="sr[0-9]*", ENV{ID_CDROM_DVD_R}=="1", SYMLINK+="dvdr%n", OPTIONS+="link_priority=-100" +KERNEL=="sr[0-9]*", ENV{ID_CDROM_DVD_R}=="1", SYMLINK+="dvdwriter%n", OPTIONS+="link_priority=-100" +KERNEL=="sr[0-9]*", ENV{ID_CDROM_DVD_RW}=="1", SYMLINK+="dvdrw%n", OPTIONS+="link_priority=-100" ++ LABEL="cdrom_end" diff --git a/source/a/udev/config/modprobe.d/8139cp.conf b/source/a/eudev/config/modprobe.d/8139cp.conf index 65f0af0d..65f0af0d 100644 --- a/source/a/udev/config/modprobe.d/8139cp.conf +++ b/source/a/eudev/config/modprobe.d/8139cp.conf diff --git a/source/a/udev/config/modprobe.d/README b/source/a/eudev/config/modprobe.d/README index 43355e82..43355e82 100644 --- a/source/a/udev/config/modprobe.d/README +++ b/source/a/eudev/config/modprobe.d/README diff --git a/source/a/udev/config/modprobe.d/bcm43xx.conf b/source/a/eudev/config/modprobe.d/bcm43xx.conf index 55b3c2ab..55b3c2ab 100644 --- a/source/a/udev/config/modprobe.d/bcm43xx.conf +++ b/source/a/eudev/config/modprobe.d/bcm43xx.conf diff --git a/source/a/udev/config/modprobe.d/eepro100.conf b/source/a/eudev/config/modprobe.d/eepro100.conf index a7ca4aae..a7ca4aae 100644 --- a/source/a/udev/config/modprobe.d/eepro100.conf +++ b/source/a/eudev/config/modprobe.d/eepro100.conf diff --git a/source/a/udev/config/modprobe.d/eth1394.conf b/source/a/eudev/config/modprobe.d/eth1394.conf index a2f475af..a2f475af 100644 --- a/source/a/udev/config/modprobe.d/eth1394.conf +++ b/source/a/eudev/config/modprobe.d/eth1394.conf diff --git a/source/a/udev/config/modprobe.d/evbug.conf b/source/a/eudev/config/modprobe.d/evbug.conf index 0af0a83c..0af0a83c 100644 --- a/source/a/udev/config/modprobe.d/evbug.conf +++ b/source/a/eudev/config/modprobe.d/evbug.conf diff --git a/source/a/udev/config/modprobe.d/framebuffers.conf b/source/a/eudev/config/modprobe.d/framebuffers.conf index 770ce420..770ce420 100644 --- a/source/a/udev/config/modprobe.d/framebuffers.conf +++ b/source/a/eudev/config/modprobe.d/framebuffers.conf diff --git a/source/a/udev/config/modprobe.d/hostap.conf b/source/a/eudev/config/modprobe.d/hostap.conf index 4254d3da..4254d3da 100644 --- a/source/a/udev/config/modprobe.d/hostap.conf +++ b/source/a/eudev/config/modprobe.d/hostap.conf diff --git a/source/a/udev/config/modprobe.d/hw_random.conf b/source/a/eudev/config/modprobe.d/hw_random.conf index b912e012..b912e012 100644 --- a/source/a/udev/config/modprobe.d/hw_random.conf +++ b/source/a/eudev/config/modprobe.d/hw_random.conf diff --git a/source/a/udev/config/modprobe.d/isapnp.conf b/source/a/eudev/config/modprobe.d/isapnp.conf index a89ad6bb..a89ad6bb 100644 --- a/source/a/udev/config/modprobe.d/isapnp.conf +++ b/source/a/eudev/config/modprobe.d/isapnp.conf diff --git a/source/a/udev/config/modprobe.d/isdn.conf b/source/a/eudev/config/modprobe.d/isdn.conf index 7f736753..7f736753 100644 --- a/source/a/udev/config/modprobe.d/isdn.conf +++ b/source/a/eudev/config/modprobe.d/isdn.conf diff --git a/source/a/udev/config/modprobe.d/oss.conf b/source/a/eudev/config/modprobe.d/oss.conf index 52ed2f59..52ed2f59 100644 --- a/source/a/udev/config/modprobe.d/oss.conf +++ b/source/a/eudev/config/modprobe.d/oss.conf diff --git a/source/a/udev/config/modprobe.d/pcspkr.conf b/source/a/eudev/config/modprobe.d/pcspkr.conf index 66de6b74..66de6b74 100644 --- a/source/a/udev/config/modprobe.d/pcspkr.conf +++ b/source/a/eudev/config/modprobe.d/pcspkr.conf diff --git a/source/a/udev/config/modprobe.d/psmouse.conf b/source/a/eudev/config/modprobe.d/psmouse.conf index cc414141..cc414141 100644 --- a/source/a/udev/config/modprobe.d/psmouse.conf +++ b/source/a/eudev/config/modprobe.d/psmouse.conf diff --git a/source/a/udev/config/modprobe.d/scsi-sata-controllers.conf b/source/a/eudev/config/modprobe.d/scsi-sata-controllers.conf index 61470416..61470416 100644 --- a/source/a/udev/config/modprobe.d/scsi-sata-controllers.conf +++ b/source/a/eudev/config/modprobe.d/scsi-sata-controllers.conf diff --git a/source/a/udev/config/modprobe.d/sound-modems.conf b/source/a/eudev/config/modprobe.d/sound-modems.conf index f458346d..f458346d 100644 --- a/source/a/udev/config/modprobe.d/sound-modems.conf +++ b/source/a/eudev/config/modprobe.d/sound-modems.conf diff --git a/source/a/udev/config/modprobe.d/tulip.conf b/source/a/eudev/config/modprobe.d/tulip.conf index 64b6a5ca..64b6a5ca 100644 --- a/source/a/udev/config/modprobe.d/tulip.conf +++ b/source/a/eudev/config/modprobe.d/tulip.conf diff --git a/source/a/udev/config/modprobe.d/usb-controller.conf b/source/a/eudev/config/modprobe.d/usb-controller.conf index f5e4e502..f5e4e502 100644 --- a/source/a/udev/config/modprobe.d/usb-controller.conf +++ b/source/a/eudev/config/modprobe.d/usb-controller.conf diff --git a/source/a/udev/config/modprobe.d/via-ircc.conf b/source/a/eudev/config/modprobe.d/via-ircc.conf index 3dfa5731..3dfa5731 100644 --- a/source/a/udev/config/modprobe.d/via-ircc.conf +++ b/source/a/eudev/config/modprobe.d/via-ircc.conf diff --git a/source/a/udev/config/modprobe.d/watchdog.conf b/source/a/eudev/config/modprobe.d/watchdog.conf index 66d1f837..22a5c829 100644 --- a/source/a/udev/config/modprobe.d/watchdog.conf +++ b/source/a/eudev/config/modprobe.d/watchdog.conf @@ -8,8 +8,12 @@ blacklist acquirewdt blacklist advantechwdt blacklist alim1535_wdt blacklist alim7101_wdt +blacklist bcm7038_wdt +blacklist cadence_wdt blacklist cpu5wdt +blacklist dw_wdt blacklist eurotechwdt +blacklist f71808e_wdt blacklist hpwdt blacklist i6300esb blacklist i8xx_tco @@ -17,22 +21,34 @@ blacklist iTCO_vendor_support blacklist iTCO_wdt blacklist ib700wdt blacklist ibmasr +blacklist ie6xx_wdt blacklist it8712f_wdt +blacklist it87_wdt blacklist machzwd +blacklist max63xx_wdt +blacklist mena21_wdt +blacklist menf21bmc_wdt blacklist mixcomwd +blacklist nv_tco blacklist pc87413_wdt blacklist pcwd blacklist pcwd_pci blacklist pcwd_usb +blacklist retu_wdt +blacklist rn5t618_wdt blacklist sbc60xxwdt blacklist sbc7240_wdt blacklist sbc8360 blacklist sbc_epx_c3 +blacklist sbc_fitpc2_wdt blacklist sc1200wdt blacklist sc520_wdt +blacklist sch311x_wdt blacklist scx200_wdt blacklist smsc37b787_wdt blacklist softdog +blacklist sp5100_tco +blacklist via_wdt blacklist w83627hf_wdt blacklist w83697hf_wdt blacklist w83877f_wdt diff --git a/source/a/udev/config/rc.d/rc.udev.new b/source/a/eudev/config/rc.d/rc.udev.new index f000e938..aaa1eb15 100644..100755 --- a/source/a/udev/config/rc.d/rc.udev.new +++ b/source/a/eudev/config/rc.d/rc.udev.new @@ -5,57 +5,47 @@ PATH="/sbin:/bin" -. /etc/udev/udev.conf - -# remove trailing slash from udev_root -UDEV_ROOT=$(echo "${udev_root}" |sed 's/\/*$//') - check_mounted() { grep -E -q "^[^[:space:]]+ $1 $2" /proc/mounts return $? } mount_devpts() { - if ! check_mounted $UDEV_ROOT/pts devpts ; then - mkdir $UDEV_ROOT/pts 2> /dev/null - mount -n -o mode=0620,gid=5 -t devpts devpts $UDEV_ROOT/pts + if ! check_mounted /dev/pts devpts ; then + mkdir /dev/pts 2> /dev/null + mount -n -o mode=0620,gid=5 -t devpts devpts /dev/pts + fi +} + +mount_devshm() { + if ! check_mounted /dev/shm tmpfs ; then + mkdir /dev/shm 2> /dev/null + mount /dev/shm fi } case "$1" in start) - # Sanity check #1, udev requires that the kernel support devtmpfs: - if ! grep -wq devtmpfs /proc/filesystems ; then - echo "Sorry, but you need devtmpfs support in the kernel to use udev." - echo "Both of these options are needed: CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y" - echo - echo "FATAL: Refusing to run /etc/rc.d/rc.udev." - sleep 10 - exit 1 - fi - - # Sanity check #2, udev requires that the kernel support tmpfs: + # Sanity check #1, udev requires that the kernel support tmpfs: if ! grep -wq tmpfs /proc/filesystems ; then echo "Sorry, but you need tmpfs support in the kernel to use udev." echo echo "FATAL: Refusing to run /etc/rc.d/rc.udev." - sleep 10 exit 1 fi - # Sanity check #3, make sure that a 2.6.x kernel is new enough: + # Sanity check #2, make sure that a 2.6.x kernel is new enough: if [ "$(uname -r | cut -f 1,2 -d .)" = "2.6" ]; then if [ "$(uname -r | cut -f 3 -d . | sed 's/[^[:digit:]].*//')" -lt "32" ]; then echo "Sorry, but you need a 2.6.32+ kernel to use this udev." echo "Your kernel version is only $(uname -r)." echo echo "FATAL: Refusing to run /etc/rc.d/rc.udev." - sleep 10 exit 1 fi fi - # Sanity check #4, make sure the udev package was not removed. If udevd + # Sanity check #3, make sure the udev package was not removed. If udevd # is not there, this will also shut off this script to prevent further # problems: if [ ! -x /sbin/udevd ]; then @@ -63,7 +53,6 @@ case "$1" in echo "No udevd daemon found." echo "Turning off udev: chmod 644 /etc/rc.d/rc.udev" echo "FATAL: Refusing to run /etc/rc.d/rc.udev." - sleep 10 exit 1 fi @@ -73,36 +62,54 @@ case "$1" in fi if grep -qw devtmpfs /proc/filesystems ; then - if ! check_mounted $UDEV_ROOT devtmpfs ; then - # umount shm if needed - check_mounted $UDEV_ROOT/shm tmpfs && umount -l $UDEV_ROOT/shm + if ! check_mounted /dev devtmpfs ; then + # umount shm if needed + check_mounted /dev/shm tmpfs && umount -l /dev/shm - # Umount pts if needed, we will remount it later: - check_mounted $UDEV_ROOT/pts devpts && umount -l $UDEV_ROOT/pts + # Umount pts if needed, we will remount it later: + check_mounted /dev/pts devpts && umount -l /dev/pts - # Mount tmpfs on $UDEV_ROOT: - mount -n -t devtmpfs devtmpfs $UDEV_ROOT - fi + # Mount tmpfs on /dev: + mount -n -t devtmpfs devtmpfs /dev + fi else - # Mount tmpfs on $UDEV_ROOT: - if ! check_mounted $UDEV_ROOT tmpfs ; then - # umount shm if needed - check_mounted $UDEV_ROOT/shm tmpfs && umount -l $UDEV_ROOT/shm + # Mount tmpfs on /dev: + if ! check_mounted /dev tmpfs ; then + # umount shm if needed + check_mounted /dev/shm tmpfs && umount -l /dev/shm - # Umount pts if needed, we will remount it later: - check_mounted $UDEV_ROOT/pts devpts && umount -l $UDEV_ROOT/pts - - # Mount tmpfs on $UDEV_ROOT: - # the -n is because we don't want $UDEV_ROOT umounted when - # someone (rc.[06]) calls umount -a - mount -n -o mode=0755 -t tmpfs tmpfs $UDEV_ROOT + # Umount pts if needed, we will remount it later: + check_mounted /dev/pts devpts && umount -l /dev/pts - fi - fi + # Mount tmpfs on /dev: + # the -n is because we don't want /dev umounted when + # someone (rc.[06]) calls umount -a + mount -n -o mode=0755 -t tmpfs tmpfs /dev + fi + fi + # Mount devpts mount_devpts + mount_devshm if ! /sbin/pidof udevd 1>/dev/null 2>/dev/null; then # start udevd + echo "Creating static nodes in /dev." + kmod static-nodes -f tmpfiles --output /run/static-nodes + grep "^d\ " /run/static-nodes | while read line ; do + mkdir -p -m $(echo $line | cut -f 3 -d ' ') $(echo $line | cut -f 2 -d ' ') + done + grep -v "^d\ " /run/static-nodes | while read line ; do + mknod -m $(echo $line | cut -f 3 -d ' ') \ + $(echo $line | cut -f 2 -d ' ') \ + $(echo $line | cut -b1 ) \ + $(echo $line | cut -f 7 -d ' ' | cut -f 1 -d :) \ + $(echo $line | cut -f 7 -d ' ' | cut -f 2 -d :) 2> /dev/null + done + rm -f /run/static-nodes + # Add any system defined additional device nodes: + cp --preserve=all --recursive --update /lib/udev/devices/* /dev 2> /dev/null + # Add any locally defined additional device nodes: + cp --preserve=all --recursive --update /etc/udev/devices/* /dev 2> /dev/null echo "Starting udevd: /sbin/udevd --daemon" /sbin/udevd --daemon # Since udev is just now being started we want to use add events: @@ -111,12 +118,12 @@ case "$1" in /sbin/udevadm trigger --type=subsystems --action=add /sbin/udevadm trigger --type=devices --action=add else # trigger changes for already running udevd - # If the persistent rules files do not exist, trigger an add event: - if [ ! -r /etc/udev/rules.d/70-persistent-net.rules -o ! -r /etc/udev/rules.d/70-persistent-cd.rules ]; then + # If the persistent network rules file does not exist, trigger an add event: + if [ ! -r /etc/udev/rules.d/70-persistent-net.rules ]; then # Test that we can actually write to the directory first: if touch /etc/udev/rules.d/testfile 2> /dev/null ; then rm -f /etc/udev/rules.d/testfile - # This should add persistent net/cd rules: + # This should add persistent net rules: echo "Triggering udev to write persistent rules to /etc/udev/rules.d/" /sbin/udevadm trigger --type=devices --action=add sleep 3 @@ -126,9 +133,14 @@ case "$1" in # rules at every boot. # To force another attempt, delete the file(s). touch /etc/udev/rules.d/70-persistent-net.rules - touch /etc/udev/rules.d/70-persistent-cd.rules fi fi + # Update the hardware database index (/etc/udev/hwdb.bin), if possible: + if touch /etc/udev/testfile 2> /dev/null ; then + rm -f /etc/udev/testfile + echo "Updating hardware database index: /sbin/udevadm hwdb --update" + /sbin/udevadm hwdb --update + fi # Since udevd is running, most of the time we only need change events: echo "Triggering udev events: /sbin/udevadm trigger --action=change" /sbin/udevadm trigger --type=subsystems --action=change @@ -158,13 +170,12 @@ case "$1" in reload) echo "Reloading udev rules" udevadm control --reload - cp --preserve=all --recursive --update /lib/udev/devices/* $UDEV_ROOT ;; force-reload) - echo "Updating all available device nodes in $UDEV_ROOT" + echo "Updating all available device nodes in /dev" udevadm control --reload - rm -rf $UDEV_ROOT/.udev $UDEV_ROOT/disk - cp --preserve=all --recursive --update /lib/udev/devices/* $UDEV_ROOT + rm -rf /dev/.udev /dev/disk + cp --preserve=all --recursive --update /lib/udev/devices/* /dev 2> /dev/null ;; *) diff --git a/source/a/udev/config/rules.d/40-slackware.rules b/source/a/eudev/config/rules.d/40-slackware.rules index 9e8c6342..3240b29e 100644 --- a/source/a/udev/config/rules.d/40-slackware.rules +++ b/source/a/eudev/config/rules.d/40-slackware.rules @@ -20,3 +20,6 @@ KERNEL=="rfkill", GROUP:="netdev", MODE:="0664" # Mount fusectl filesystem KERNEL=="fuse", ACTION=="add", RUN+="/bin/mount -t fusectl fusectl /sys/fs/fuse/connections" +# Set default perms for /dev/ppp: +KERNEL=="ppp", MODE="0660", GROUP="dialout", OPTIONS+="static_node=ppp" + diff --git a/source/a/udev/config/rules.d/65-permissions.rules b/source/a/eudev/config/rules.d/65-permissions.rules index 6f82b0f3..6f82b0f3 100644 --- a/source/a/udev/config/rules.d/65-permissions.rules +++ b/source/a/eudev/config/rules.d/65-permissions.rules diff --git a/source/a/eudev/config/udev.conf b/source/a/eudev/config/udev.conf new file mode 100644 index 00000000..e507e116 --- /dev/null +++ b/source/a/eudev/config/udev.conf @@ -0,0 +1,8 @@ +# /etc/udev/udev.conf + +# This file can be used to override some of udev's default values +# See udev(7) for details + +# udev_log - The initial syslog(3) priority: "err", "info", "debug" +udev_log="err" + diff --git a/source/a/udev/doinst.sh b/source/a/eudev/doinst.sh index 2912e5c8..2912e5c8 100644 --- a/source/a/udev/doinst.sh +++ b/source/a/eudev/doinst.sh diff --git a/source/a/udev/udev.SlackBuild b/source/a/eudev/eudev.SlackBuild index d39da262..c82107f4 100755 --- a/source/a/udev/udev.SlackBuild +++ b/source/a/eudev/eudev.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2006, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2006, 2008, 2009, 2010, 2011, 2012, 2013, 2015 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -20,15 +20,15 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=${VERSION:-$(echo udev-*.tar.* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)} -BUILD=${BUILD:-7} +VERSION=${VERSION:-$(echo eudev-*.tar.* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)} +BUILD=${BUILD:-8} NUMJOBS=${NUMJOBS:-" -j7 "} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -43,14 +43,14 @@ fi CWD=$(pwd) TMP=${TMP:-/tmp} -PKG=$TMP/package-udev +PKG=$TMP/package-eudev rm -rf $PKG mkdir -p $TMP $PKG/lib/udev cd $TMP -rm -rf udev-$VERSION -tar xvf $CWD/udev-$VERSION.tar.xz || exit 1 -cd udev-$VERSION || exit 1 +rm -rf eudev-$VERSION +tar xvf $CWD/eudev-$VERSION.tar.xz || exit 1 +cd eudev-$VERSION || exit 1 chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ @@ -58,42 +58,31 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -# Fix ata_id (remove with udev-186+) -zcat $CWD/udev-ata_id-fixup-all-8-not-only-6-bytes-of-the-fw_rev.patch.gz | patch -p1 || exit 1 - -# Fix 42-usb-hid-pm.rules (remove with udev-187+) -zcat $CWD/fix-42-usb-hid-pm.rules.diff.gz | patch -p1 --verbose || exit 1 - -# Fixup the rule generator for our use -zcat $CWD/rule_generator.diff.gz | patch -p1 --verbose || exit 1 - -# Patch 60-cdrom_id.rules to create a full set of symlinks. -# This is needed for a hotplugged optical device since the generated -# rules will not be used until the second time the device is plugged. +# Patch 60-cdrom_id.rules to create a full set of symlinks: zcat $CWD/60-cdrom_id.rules.diff.gz | patch -p1 --verbose || exit 1 -# static libudev is needed for lvm2 -# --enable-udev_acl was removed (will be part of future CK release) -# --enable-floppy support was also disabled by default in 173 -# --enable-rule_generator was disabled by default in 175 +zcat $CWD/0001-Remove-obsolete-udev_root-references.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/0002-src-udev-udevd.c-add-eudev-startup-message-for-kmsg.patch.gz | patch -p1 --verbose || exit 1 -LDFLAGS="$LDFLAGS -lrt" \ ./configure \ --prefix=/usr \ --with-rootprefix=/ \ --libdir=/usr/lib${LIBDIRSUFFIX} \ --with-rootlibdir=/lib${LIBDIRSUFFIX} \ - --with-firmware-path=/lib/firmware/updates:/lib/firmware \ + --with-rootrundir=/run \ + --with-rootlibexecdir=/lib/udev \ --sysconfdir=/etc \ --bindir=/sbin \ --sbindir=/sbin \ --libexecdir=/lib \ --enable-introspection \ + --enable-hwdb \ + --enable-manpages \ --mandir=/usr/man \ - --docdir=/usr/doc/udev-$VERSION \ - --enable-floppy \ - --enable-static \ + --docdir=/usr/doc/eudev-$VERSION \ + --disable-static \ --enable-rule_generator \ + --enable-split-usr \ --build=$ARCH-slackware-linux || exit 1 make $NUMJOBS || make || exit 1 @@ -105,9 +94,9 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ # scsi_id is needed by multipath ( cd $PKG/sbin ; ln -s ../lib/udev/scsi_id scsi_id ) -# Put udevd back in /sbin -mv $PKG/lib/udev/udevd $PKG/sbin -ln -s /sbin/udevd $PKG/lib/udev/udevd +# Move system installed hwdb files under /lib: +mkdir -p $PKG/lib/udev/hwdb.d +mv $PKG/etc/udev/hwdb.d/* $PKG/lib/udev/hwdb.d mkdir -p \ $PKG/run \ @@ -116,13 +105,13 @@ mkdir -p \ $PKG/etc/udev/rules.d \ $PKG/lib/firmware -# Yes, these will clobber existing config files. +# Yes, this will clobber existing config files. cp -a $CWD/config/udev.conf $PKG/etc/udev/udev.conf -# Copy Slackware custom rules +# Copy Slackware custom rules: cp -a $CWD/config/rules.d/* $PKG/lib/udev/rules.d/ -# Now the init script and module-init-tools stuff +# Now the init script and kmod stuff: cp -a $CWD/config/rc.d/rc.udev.new $PKG/etc/rc.d/rc.udev.new cp -a $CWD/config/modprobe.d/*.conf $PKG/lib/modprobe.d/ cp -a $CWD/config/modprobe.d/README $PKG/etc/modprobe.d/ @@ -133,18 +122,21 @@ find $PKG/etc -type d -exec chmod 755 {} \; chmod 0755 $PKG/etc/rc.d/rc.udev.new # Add extra device nodes to the package that udev doesn't make: -tar xvf $CWD/udev-fixed-devices.tar.gz -C $PKG +mkdir -p $PKG/lib/udev/devices +if [ -r $CWD/udev-fixed-devices.tar.gz ]; then + tar xvf $CWD/udev-fixed-devices.tar.gz -C $PKG +fi + +# Support locally added additional devices found in this directory: +mkdir -p $PKG/etc/udev/devices chown -R root:root $PKG/lib/udev chmod 0755 $PKG/lib/udev/* -mkdir -p $PKG/usr/doc/udev-$VERSION +mkdir -p $PKG/usr/doc/eudev-$VERSION cp -a \ COPYING* README* TODO \ - $PKG/usr/doc/udev-$VERSION - -# Don't package the API docs: -rm -rf $PKG/usr/share/gtk-doc ; rmdir $PKG/usr/share 2>/dev/null + $PKG/usr/doc/eudev-$VERSION # Compress and fix manpage symlinks: if [ -d $PKG/usr/man ]; then @@ -166,4 +158,4 @@ zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh cat $CWD/slack-desc > $PKG/install/slack-desc cd $PKG -/sbin/makepkg -l y -c y $TMP/udev-$VERSION-$ARCH-$BUILD.txz +/sbin/makepkg -l y -c y $TMP/eudev-$VERSION-$ARCH-$BUILD.txz diff --git a/source/a/eudev/slack-desc b/source/a/eudev/slack-desc new file mode 100644 index 00000000..c709d6e0 --- /dev/null +++ b/source/a/eudev/slack-desc @@ -0,0 +1,20 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler-------------------------------------------------------| +eudev: eudev (dynamic device directory system) +eudev: +eudev: eudev provides a dynamic device directory containing only the files +eudev: for the devices which are actually present. It creates or removes +eudev: device node files usually located in the /dev directory. eudev is a +eudev: fork of git://anongit.freedesktop.org/systemd/systemd with the aim of +eudev: isolating udev from any particular flavor of system initialization. +eudev: +eudev: Homepage: https://wiki.gentoo.org/wiki/Project:Eudev +eudev: +eudev: + diff --git a/source/a/file/doinst.sh b/source/a/file/doinst.sh new file mode 100644 index 00000000..d9c7f047 --- /dev/null +++ b/source/a/file/doinst.sh @@ -0,0 +1,5 @@ +# Compile /etc/file/magic.mgc: +chroot . /usr/bin/file --compile 1> /dev/null 2> /dev/null +if [ -r magic.mgc ]; then + mv magic.mgc etc/file +fi diff --git a/source/a/file/file.SlackBuild b/source/a/file/file.SlackBuild index 2435c5f0..d6ed07ee 100755 --- a/source/a/file/file.SlackBuild +++ b/source/a/file/file.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2005-2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2005-2008, 2009, 2010, 2013, 2015 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -28,15 +28,15 @@ NUMJOBS=${NUMJOBS:--j7} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; esac fi -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -106,30 +106,28 @@ cat $(which libtool) > libtool make $NUMJOBS || make || exit 1 make install DESTDIR=$PKG || exit 1 +# Ignore for now - still labeled as experimental +# Actually, let's ignore it until something needs it :) <volkerdi> +#cd python/ +# python setup.py build +# python setup.py install --root=$PKG +#cd .. + # Seems --disable-static has been ignored lately: rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmagic.a -# Update: We're going to use magic.mgc now as the flat files cause -# libmagic crashes with versions newer than file-5.11. Maybe that -# wasn't being tested as well... in any case, using magic.mgc works. -# -# -## Is file really this much of a processing bottleneck? Doubtful. -## -## NOTE: Benchmarked flat files vs. .mgc June 2009, found no measurable -## difference on 3000+ files. -## -## If you really need these (let's say you're doing virus scanning -## and this *would* speed things up quite a bit) you can create -## the pre-parsed file yourself using file's -C option. -#rm -f $PKG/etc/file/magic.mgc -#mkdir -p $PKG/etc/file/magic -#cp -a magic/Magdir/* $PKG/etc/file/magic -## After building, this works fine. /etc/file/magic/ takes up 1.2M, -## while the magic.mgc file is 1.7M. Considering a difference of 500k, -## and the potential speedup, I'm not sure it's worth the effort... -## but it does make it easier for an admin to add a small chunk of -## new magic. +# Install the flat files. +# We'll generate /etc/file/magic.mgc in the doinst.sh. +rm -f $PKG/etc/file/magic.mgc +mkdir -p $PKG/etc/file/magic +cp -a magic/Magdir/* $PKG/etc/file/magic + +# Add a script to recompile the flat files in the obvious location. +# The package install script will compile the flat files initially. +cp -a $CWD/recompile_magic.mgc.sh.gz $PKG/etc/file +gzip -d $PKG/etc/file/recompile_magic.mgc.sh.gz +chown root:root $PKG/etc/file/recompile_magic.mgc.sh +chmod 755 $PKG/etc/file/recompile_magic.mgc.sh # IMHO, moving this sort of thing does not make sense. # We'll support both the traditional and new locations. @@ -148,11 +146,12 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" \ mkdir -p $PKG/usr/doc/file-$VERSION cp -a \ - AUTHORS COPYING INSTALL MAINT NEWS README TODO \ + AUTHORS COPYING* INSTALL MAINT NEWS README* TODO \ $PKG/usr/doc/file-$VERSION mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh # Build the package: cd $PKG diff --git a/source/a/file/recompile_magic.mgc.sh b/source/a/file/recompile_magic.mgc.sh new file mode 100644 index 00000000..2ae5ca39 --- /dev/null +++ b/source/a/file/recompile_magic.mgc.sh @@ -0,0 +1,14 @@ +#!/bin/sh +# +# Recompile the /etc/file/magic.mgc database. +# This should be done after any additions or changes to the files +# in /etc/file/magic/. + +if [ ! "$UID" = "0" ]; then + echo "Error: must be root to recompile the system magic.mgc" + exit 1 +fi + +cd /etc/file +/usr/bin/file --compile + diff --git a/source/a/gawk/gawk.SlackBuild b/source/a/gawk/gawk.SlackBuild index cb332aa7..5a6acb71 100755 --- a/source/a/gawk/gawk.SlackBuild +++ b/source/a/gawk/gawk.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2005-2014 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,14 +22,14 @@ PKGNAM=gawk VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:--j6} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -40,8 +40,8 @@ CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-gawk -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" @@ -90,7 +90,6 @@ make install DESTDIR=$PKG || exit 1 ( cd $PKG/usr/bin ln -sf gawk-$VERSION gawk - ln -sf pgawk-$VERSION pgawk ) mkdir -p $PKG/bin @@ -109,12 +108,16 @@ mv $PKG/usr/bin/awk $PKG/bin ) ( cd $PKG/usr/man/man1 - rm -f pgawk.1 - gzip -9 * - ln -sf gawk.1.gz awk.1.gz - ln -sf gawk.1.gz pgawk.1.gz + ln -sf gawk.1 awk.1 ) +# Compress manual pages: +find $PKG/usr/man -type f -exec gzip -9 {} \; +for i in $( find $PKG/usr/man -type l ) ; do + ln -s $( readlink $i ).gz $i.gz + rm $i +done + mkdir -p $PKG/usr/doc/gawk-$VERSION cp -a \ ABOUT-NLS AUTHORS COPYING* FUTURES INSTALL LIMITATIONS NEWS POSIX.STD \ diff --git a/source/a/gettext/gettext-tools.SlackBuild b/source/a/gettext/gettext-tools.SlackBuild index b231ad5f..3b32f2f5 100755 --- a/source/a/gettext/gettext-tools.SlackBuild +++ b/source/a/gettext/gettext-tools.SlackBuild @@ -20,15 +20,15 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=0.18.2.1 -BUILD=${BUILD:-2} +VERSION=0.19.8.1 +BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:-" -j6 "} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -42,8 +42,8 @@ PKG=$TMP/package-gettext-tools if [ "$ARCH" = "i386" ]; then SLKCFLAGS="-O2 -march=i386 -mcpu=i686" LIBDIRSUFFIX="" -elif [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" @@ -78,7 +78,7 @@ CXXFLAGS="$SLKCFLAGS" \ --infodir=/usr/info \ --mandir=/usr/man \ --docdir=/usr/doc/gettext-tools-$VERSION \ - --build=$ARCH-slackware-linux + --build=$ARCH-slackware-linux || exit 1 make $NUMJOBS || make || exit 1 diff --git a/source/a/gettext/gettext.SlackBuild b/source/a/gettext/gettext.SlackBuild index ce4ef587..2f3e134b 100755 --- a/source/a/gettext/gettext.SlackBuild +++ b/source/a/gettext/gettext.SlackBuild @@ -20,15 +20,15 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=0.18.2.1 -BUILD=${BUILD:-2} +VERSION=0.19.8.1 +BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:-" -j6 "} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -42,8 +42,8 @@ PKG=$TMP/package-gettext if [ "$ARCH" = "i386" ]; then SLKCFLAGS="-O2 -march=i386 -mcpu=i686" LIBDIRSUFFIX="" -elif [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" @@ -79,7 +79,7 @@ CXXFLAGS="$SLKCFLAGS" \ --mandir=/usr/man \ --docdir=/usr/doc/gettext-$VERSION \ --disable-static \ - --build=$ARCH-slackware-linux + --build=$ARCH-slackware-linux || exit 1 make $NUMJOBS || make || exit 1 make install DESTDIR=$PKG diff --git a/source/a/glibc-zoneinfo/doinst.sh b/source/a/glibc-zoneinfo/doinst.sh new file mode 100644 index 00000000..816e86e0 --- /dev/null +++ b/source/a/glibc-zoneinfo/doinst.sh @@ -0,0 +1,15 @@ +# Fix existing old style /etc/localtime symlink: +if [ -L etc/localtime -a ! -r etc/localtime-copied-from ]; then + mv etc/localtime etc/localtime-copied-from +fi +# Add the default timezone in /etc, if none exists: +if [ ! -r etc/localtime ]; then + ( cd etc ; rm -rf localtime localtime-copied-from ) + ( cd etc ; ln -sf /usr/share/zoneinfo/Factory localtime-copied-from ) +fi +# Make sure /etc/localtime is updated: +chroot . /bin/cp etc/localtime-copied-from etc/localtime +# Add the default link in /usr/share/zoneinfo: +( cd usr/share/zoneinfo ; rm -rf timeconfig ) +( cd usr/share/zoneinfo ; ln -sf /usr/sbin/timeconfig timeconfig ) +### Make the rest of the symbolic links in the zoneinfo database: diff --git a/source/a/glibc-zoneinfo/glibc-zoneinfo.SlackBuild b/source/a/glibc-zoneinfo/glibc-zoneinfo.SlackBuild new file mode 100755 index 00000000..6aff6459 --- /dev/null +++ b/source/a/glibc-zoneinfo/glibc-zoneinfo.SlackBuild @@ -0,0 +1,142 @@ +#!/bin/sh + +# Copyright 2015, 2016 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +PKGNAM=glibc-zoneinfo +ZONE_VERSIONS="$(echo tzdata* | cut -f1 -d . | cut -b7-11)" +BUILD=${BUILD:-1} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$(uname -m)" in + i?86) ARCH=i586 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) ARCH=$(uname -m) ;; + esac + export ARCH +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mcpu=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16" + LIBDIRSUFFIX="" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG/etc + +# Build and install the zoneinfo database: +cd $TMP +rm -rf tzcodedata-build +mkdir tzcodedata-build +cd tzcodedata-build +tar xzf $CWD/tzdata?????.tar.gz +tar xzf $CWD/tzcode?????.tar.gz + +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +sed -i "s,/usr/local,$(pwd),g" Makefile +sed -i "s,/etc/zoneinfo,/zoneinfo,g" Makefile +make +make install +mkdir -p $PKG/usr/share/zoneinfo +cd etc +cp -a zoneinfo/* $PKG/usr/share/zoneinfo + +# These are all identical to the normal zoneinfo files, so let's hard link +# them to save space: +cp -al $PKG/usr/share/zoneinfo $PKG/usr/share/posix +mv $PKG/usr/share/posix $PKG/usr/share/zoneinfo + +mkdir -p $PKG/usr/share/zoneinfo/right +cp -a zoneinfo-leaps/* $PKG/usr/share/zoneinfo/right + +# Remove $PKG/usr/share/zoneinfo/localtime -- the install script will +# create it as a link to /etc/localtime. +rm -f $PKG/usr/share/zoneinfo/localtime + +# Install some scripts to help select a timezone: +mkdir -p $PKG/var/log/setup +cp -a $CWD/timezone-scripts/setup.timeconfig $PKG/var/log/setup +chown root:root $PKG/var/log/setup/setup.timeconfig +chmod 755 $PKG/var/log/setup/setup.timeconfig +mkdir -p $PKG/usr/sbin +cp -a $CWD/timezone-scripts/timeconfig $PKG/usr/sbin +chown root:root $PKG/usr/sbin/timeconfig +chmod 755 $PKG/usr/sbin/timeconfig +( cd $CWD/timezone-scripts + # Try to rebuild this: + sh output-updated-timeconfig.sh $PKG/usr/share/zoneinfo > $PKG/usr/sbin/timeconfig 2> /dev/null +) +# Note in timeconfig which zoneinfo database was used: +sed -i "s/# ChangeLog:/# ChangeLog:\n# $(date '+%Y-%m-%d'): Updated timezones from tzdata${ZONE_VERSIONS}./g" $PKG/usr/sbin/timeconfig + +# Don't forget to add the /usr/share/zoneinfo/localtime -> /etc/localtime symlink! :) +if [ ! -r $PKG/usr/share/zoneinfo/localtime ]; then + ( cd $PKG/usr/share/zoneinfo ; ln -sf /etc/localtime . ) +fi + +cd .. +mkdir -p $PKG/usr/doc/glibc-zoneinfo-$ZONE_VERSIONS +cp -a \ + CONTRIBUTING NEWS README Theory \ + $PKG/usr/doc/glibc-zoneinfo-$ZONE_VERSIONS + +mkdir -p $PKG/install +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +makepkg -l y -c n $TMP/glibc-zoneinfo-$ZONE_VERSIONS-noarch-$BUILD.txz + diff --git a/source/a/glibc-zoneinfo/slack-desc b/source/a/glibc-zoneinfo/slack-desc new file mode 100644 index 00000000..69420f78 --- /dev/null +++ b/source/a/glibc-zoneinfo/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler------------------------------------------------------| +glibc-zoneinfo: glibc-zoneinfo (timezone database) +glibc-zoneinfo: +glibc-zoneinfo: This package allows you to configure your time zone. +glibc-zoneinfo: +glibc-zoneinfo: This timezone database comes from the tzdata and tzcode packages by +glibc-zoneinfo: Arthur David Olson et.al. The latest version and more information +glibc-zoneinfo: may be found at: http://www.iana.org/time-zones +glibc-zoneinfo: +glibc-zoneinfo: Use the timeconfig utility to set your local time zone. +glibc-zoneinfo: +glibc-zoneinfo: diff --git a/source/a/glibc-zoneinfo/timezone-scripts/output-updated-timeconfig.sh b/source/a/glibc-zoneinfo/timezone-scripts/output-updated-timeconfig.sh new file mode 100755 index 00000000..268e4c6c --- /dev/null +++ b/source/a/glibc-zoneinfo/timezone-scripts/output-updated-timeconfig.sh @@ -0,0 +1,60 @@ +#!/bin/sh +# Copyright 2000, 2001, 2006, 2007, 2008, 2012 Patrick J. Volkerding, Sebeka, MN, USA. +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +if [ ! "$(basename "$1")" = "zoneinfo" -o ! -d "$1" ]; then + echo " Usage: output-updated-timeconfig.sh <zoneinfo directory>" + exit 1 +fi + +CWD=$(pwd) +cat $CWD/parts/00 +# Sorry, I'd rather not be US-centric but some people here have a hard +# time finding things. ;-) +( cd $1 + find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep "^US/" | while read zone ; do + echo "\"${zone}\" \" \" \\" + done +) +# Don't list right/ and posix/ zones, as these are wrong choices for most +# people. posix/ is just a duplicate of the normal zones, while right/ do +# not include leap seconds. Anyone actually needing something from one of +# those trees will have no problem selecting it by manually adjusting +# /etc/localtime. +( cd $1 + find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep -v "^US/" | grep -v "^posix/" | grep -v "^right/" | while read zone ; do + echo "\"${zone}\" \" \" \\" + done +) +cat $CWD/parts/02 +# US/ first: +( cd $1 + find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep "^US/" | while read zone ; do + echo "${zone}" + done +) +# Don't list right/ and posix/ zones: +( cd $1 + find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep -v "^US/" | grep -v "^posix/" | grep -v "^right/" | while read zone ; do + echo "${zone}" + done +) +cat $CWD/parts/04 diff --git a/source/a/glibc-zoneinfo/timezone-scripts/parts/00 b/source/a/glibc-zoneinfo/timezone-scripts/parts/00 new file mode 100644 index 00000000..678094e1 --- /dev/null +++ b/source/a/glibc-zoneinfo/timezone-scripts/parts/00 @@ -0,0 +1,132 @@ +#!/bin/sh +# +# timeconfig Slackware Linux timezone configuration utility. +# +# Author: Patrick Volkerding <volkerdi@slackware.com> +# Modified by: David Cantrell <david@slackware.com>, 06-Oct-2000 +# +# ChangeLog: +# 2014-10-22: Updated timezones from tzdata2014i. <pjv> +# 2012-12-12: Updated timezones from tzdata2012j. <pjv> +# 2008-03-10: Updated timezones from tzdata2008a. <pjv> +# 2007-12-21: Updated timezones from tzdata2007j. <pjv> +# 2006-12-03: Updated timezones from tzdata2006p. <pjv> +# 2006-09-14: Updated timezones from tzdata2006k. <pjv> +# 2006-08-22: Updated timezones from tzdata2006j. +# 2006-08-13: Updated timezones from tzdata2006g. +# 2006-03-13: Updated timezones from tzdata2006c. +# 19-Feb-2001 Add new timezones from glibc-2.2.2. +# 06-Oct-2000 Fixed a problem with selecting UTC time. It was writing +# the hardwareclock file to the root disk and not your dest +# partition. Changed the HWCLOCK_CONF variable to be +# $T_PX/etc/hardwareclock to fix this. Thanks to David L. +# Dickman <softbear@optonline.net> for finding this and +# submitting a patch. +# +# 15-Mar-2000 Added the writeconf function to write out the +# /etc/hardwareclock file which tells what the hardware clock +# is set to (UTC or localtime). +# +# 03-Mar-2000 Reorganized script. Made one timezone set block, added +# stage that asks the user if the hardware clock is set to +# UTC. + +# setup our temp locations and variables +TMP=/var/log/setup/tmp +if [ -r $TMP/SeTT_PX ]; then + T_PX="`cat $TMP/SeTT_PX`" +elif [ ! "$!" = "" ]; then + T_PX=$1 +else + T_PX=/ +fi + +# the hardware clock configuration file +HWCLOCK_CONF=$T_PX/etc/hardwareclock + +# setzone( $TIMEZONE ) +# +# This function accepts a time zone as the only parameter and sets it as +# the default system time zone. +setzone() +{ + TZ=$1 + + cd $T_PX/etc + if [ -r $T_PX/usr/share/zoneinfo/$TZ -o \ + -r /var/log/mount/usr/share/zoneinfo/$TZ -o \ + -L $T_PX/usr/share/zoneinfo/$TZ -o \ + -L /var/log/mount/usr/share/zoneinfo/$TZ ]; then + rm -f localtime-copied-from + ln -sf /usr/share/zoneinfo/$TZ localtime-copied-from + rm -f localtime + cd .. + chroot . cp etc/localtime-copied-from etc/localtime + fi +} + +# writeconf( $CLOCK_SET_TO ) +# +# Writes out $HWCLOCK_CONF that tells rc.S how the hardware clock +# value is stored. +writeconf() +{ + echo "# /etc/hardwareclock" > $HWCLOCK_CONF + echo "#" >> $HWCLOCK_CONF + echo "# Tells how the hardware clock time is stored." >> $HWCLOCK_CONF + echo "# You should run timeconfig to edit this file." >> $HWCLOCK_CONF + echo >> $HWCLOCK_CONF + echo $1 >> $HWCLOCK_CONF +} + +# ask the user if the hardware clock is set for UTC/GMT +if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then + ### + ### use color menus here + ### + dialog --title "HARDWARE CLOCK SET TO UTC?" --menu "Is the hardware clock set \ +to Coordinated Universal Time (UTC/GMT)? If it is, select YES here. If the \ +hardware clock is set to the current local time (this is how most PCs are set \ +up), then say NO here. If you are not sure what this is, you should answer NO \ +here." 13 60 2 \ + "NO" "Hardware clock is set to local time" \ + "YES" "Hardware clock is set to UTC" \ + 2> $TMP/utc + if [ $? = 1 -o $? = 255 ]; then + rm -f $TMP/utc + exit + fi + if [ "`cat $TMP/utc`" = "YES" ]; then + # yes, the hardware clock is UTC + writeconf "UTC" + else # must be NO + writeconf "localtime" + fi + rm -f $TMP/utc +else + ### + ### use text prompts + ### + echo "Is the hardware clock set to Coordinated Universal Time (UTC/GMT)?" + echo "If it is, select 'y' here. If the hardware clock is set to the" + echo "current local time (this is how most PCs are set up), then say 'n'" + echo "here. If you are not sure what this is, you should answer 'n' here." + echo + echo -n "Is your hardware clock set to UTC ([y]es, [n]o)? " + read HEJAZ + + if [ "$HEJAZ" = "y" -o "$HEJAZ" = "Y" -o "$HEJAZ" = "YES" -o "$HEJAZ" = "yes" ]; then + # yes, the hardware clock is UTC + writeconf "UTC" + else + # default to localtime + writeconf "localtime" + fi +fi + +# Now set the correct timezone link: +if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then + ### + ### use color menus here + ### + dialog --title "TIMEZONE CONFIGURATION" --menu "Please select one of the following timezones for your machine:" 21 50 13 \ diff --git a/source/a/glibc-zoneinfo/timezone-scripts/parts/01 b/source/a/glibc-zoneinfo/timezone-scripts/parts/01 new file mode 100644 index 00000000..999f67d7 --- /dev/null +++ b/source/a/glibc-zoneinfo/timezone-scripts/parts/01 @@ -0,0 +1,585 @@ +"US/Alaska" " " \ +"US/Aleutian" " " \ +"US/Arizona" " " \ +"US/Central" " " \ +"US/East-Indiana" " " \ +"US/Eastern" " " \ +"US/Hawaii" " " \ +"US/Indiana-Starke" " " \ +"US/Michigan" " " \ +"US/Mountain" " " \ +"US/Pacific" " " \ +"US/Pacific-New" " " \ +"US/Samoa" " " \ +"Africa/Abidjan" " " \ +"Africa/Accra" " " \ +"Africa/Addis_Ababa" " " \ +"Africa/Algiers" " " \ +"Africa/Asmara" " " \ +"Africa/Asmera" " " \ +"Africa/Bamako" " " \ +"Africa/Bangui" " " \ +"Africa/Banjul" " " \ +"Africa/Bissau" " " \ +"Africa/Blantyre" " " \ +"Africa/Brazzaville" " " \ +"Africa/Bujumbura" " " \ +"Africa/Cairo" " " \ +"Africa/Casablanca" " " \ +"Africa/Ceuta" " " \ +"Africa/Conakry" " " \ +"Africa/Dakar" " " \ +"Africa/Dar_es_Salaam" " " \ +"Africa/Djibouti" " " \ +"Africa/Douala" " " \ +"Africa/El_Aaiun" " " \ +"Africa/Freetown" " " \ +"Africa/Gaborone" " " \ +"Africa/Harare" " " \ +"Africa/Johannesburg" " " \ +"Africa/Juba" " " \ +"Africa/Kampala" " " \ +"Africa/Khartoum" " " \ +"Africa/Kigali" " " \ +"Africa/Kinshasa" " " \ +"Africa/Lagos" " " \ +"Africa/Libreville" " " \ +"Africa/Lome" " " \ +"Africa/Luanda" " " \ +"Africa/Lubumbashi" " " \ +"Africa/Lusaka" " " \ +"Africa/Malabo" " " \ +"Africa/Maputo" " " \ +"Africa/Maseru" " " \ +"Africa/Mbabane" " " \ +"Africa/Mogadishu" " " \ +"Africa/Monrovia" " " \ +"Africa/Nairobi" " " \ +"Africa/Ndjamena" " " \ +"Africa/Niamey" " " \ +"Africa/Nouakchott" " " \ +"Africa/Ouagadougou" " " \ +"Africa/Porto-Novo" " " \ +"Africa/Sao_Tome" " " \ +"Africa/Timbuktu" " " \ +"Africa/Tripoli" " " \ +"Africa/Tunis" " " \ +"Africa/Windhoek" " " \ +"America/Adak" " " \ +"America/Anchorage" " " \ +"America/Anguilla" " " \ +"America/Antigua" " " \ +"America/Araguaina" " " \ +"America/Argentina/Buenos_Aires" " " \ +"America/Argentina/Catamarca" " " \ +"America/Argentina/ComodRivadavia" " " \ +"America/Argentina/Cordoba" " " \ +"America/Argentina/Jujuy" " " \ +"America/Argentina/La_Rioja" " " \ +"America/Argentina/Mendoza" " " \ +"America/Argentina/Rio_Gallegos" " " \ +"America/Argentina/Salta" " " \ +"America/Argentina/San_Juan" " " \ +"America/Argentina/San_Luis" " " \ +"America/Argentina/Tucuman" " " \ +"America/Argentina/Ushuaia" " " \ +"America/Aruba" " " \ +"America/Asuncion" " " \ +"America/Atikokan" " " \ +"America/Atka" " " \ +"America/Bahia" " " \ +"America/Bahia_Banderas" " " \ +"America/Barbados" " " \ +"America/Belem" " " \ +"America/Belize" " " \ +"America/Blanc-Sablon" " " \ +"America/Boa_Vista" " " \ +"America/Bogota" " " \ +"America/Boise" " " \ +"America/Buenos_Aires" " " \ +"America/Cambridge_Bay" " " \ +"America/Campo_Grande" " " \ +"America/Cancun" " " \ +"America/Caracas" " " \ +"America/Catamarca" " " \ +"America/Cayenne" " " \ +"America/Cayman" " " \ +"America/Chicago" " " \ +"America/Chihuahua" " " \ +"America/Coral_Harbour" " " \ +"America/Cordoba" " " \ +"America/Costa_Rica" " " \ +"America/Creston" " " \ +"America/Cuiaba" " " \ +"America/Curacao" " " \ +"America/Danmarkshavn" " " \ +"America/Dawson" " " \ +"America/Dawson_Creek" " " \ +"America/Denver" " " \ +"America/Detroit" " " \ +"America/Dominica" " " \ +"America/Edmonton" " " \ +"America/Eirunepe" " " \ +"America/El_Salvador" " " \ +"America/Ensenada" " " \ +"America/Fort_Nelson" " " \ +"America/Fort_Wayne" " " \ +"America/Fortaleza" " " \ +"America/Glace_Bay" " " \ +"America/Godthab" " " \ +"America/Goose_Bay" " " \ +"America/Grand_Turk" " " \ +"America/Grenada" " " \ +"America/Guadeloupe" " " \ +"America/Guatemala" " " \ +"America/Guayaquil" " " \ +"America/Guyana" " " \ +"America/Halifax" " " \ +"America/Havana" " " \ +"America/Hermosillo" " " \ +"America/Indiana/Indianapolis" " " \ +"America/Indiana/Knox" " " \ +"America/Indiana/Marengo" " " \ +"America/Indiana/Petersburg" " " \ +"America/Indiana/Tell_City" " " \ +"America/Indiana/Vevay" " " \ +"America/Indiana/Vincennes" " " \ +"America/Indiana/Winamac" " " \ +"America/Indianapolis" " " \ +"America/Inuvik" " " \ +"America/Iqaluit" " " \ +"America/Jamaica" " " \ +"America/Jujuy" " " \ +"America/Juneau" " " \ +"America/Kentucky/Louisville" " " \ +"America/Kentucky/Monticello" " " \ +"America/Knox_IN" " " \ +"America/Kralendijk" " " \ +"America/La_Paz" " " \ +"America/Lima" " " \ +"America/Los_Angeles" " " \ +"America/Louisville" " " \ +"America/Lower_Princes" " " \ +"America/Maceio" " " \ +"America/Managua" " " \ +"America/Manaus" " " \ +"America/Marigot" " " \ +"America/Martinique" " " \ +"America/Matamoros" " " \ +"America/Mazatlan" " " \ +"America/Mendoza" " " \ +"America/Menominee" " " \ +"America/Merida" " " \ +"America/Metlakatla" " " \ +"America/Mexico_City" " " \ +"America/Miquelon" " " \ +"America/Moncton" " " \ +"America/Monterrey" " " \ +"America/Montevideo" " " \ +"America/Montreal" " " \ +"America/Montserrat" " " \ +"America/Nassau" " " \ +"America/New_York" " " \ +"America/Nipigon" " " \ +"America/Nome" " " \ +"America/Noronha" " " \ +"America/North_Dakota/Beulah" " " \ +"America/North_Dakota/Center" " " \ +"America/North_Dakota/New_Salem" " " \ +"America/Ojinaga" " " \ +"America/Panama" " " \ +"America/Pangnirtung" " " \ +"America/Paramaribo" " " \ +"America/Phoenix" " " \ +"America/Port-au-Prince" " " \ +"America/Port_of_Spain" " " \ +"America/Porto_Acre" " " \ +"America/Porto_Velho" " " \ +"America/Puerto_Rico" " " \ +"America/Rainy_River" " " \ +"America/Rankin_Inlet" " " \ +"America/Recife" " " \ +"America/Regina" " " \ +"America/Resolute" " " \ +"America/Rio_Branco" " " \ +"America/Rosario" " " \ +"America/Santa_Isabel" " " \ +"America/Santarem" " " \ +"America/Santiago" " " \ +"America/Santo_Domingo" " " \ +"America/Sao_Paulo" " " \ +"America/Scoresbysund" " " \ +"America/Shiprock" " " \ +"America/Sitka" " " \ +"America/St_Barthelemy" " " \ +"America/St_Johns" " " \ +"America/St_Kitts" " " \ +"America/St_Lucia" " " \ +"America/St_Thomas" " " \ +"America/St_Vincent" " " \ +"America/Swift_Current" " " \ +"America/Tegucigalpa" " " \ +"America/Thule" " " \ +"America/Thunder_Bay" " " \ +"America/Tijuana" " " \ +"America/Toronto" " " \ +"America/Tortola" " " \ +"America/Vancouver" " " \ +"America/Virgin" " " \ +"America/Whitehorse" " " \ +"America/Winnipeg" " " \ +"America/Yakutat" " " \ +"America/Yellowknife" " " \ +"Antarctica/Casey" " " \ +"Antarctica/Davis" " " \ +"Antarctica/DumontDUrville" " " \ +"Antarctica/Macquarie" " " \ +"Antarctica/Mawson" " " \ +"Antarctica/McMurdo" " " \ +"Antarctica/Palmer" " " \ +"Antarctica/Rothera" " " \ +"Antarctica/South_Pole" " " \ +"Antarctica/Syowa" " " \ +"Antarctica/Troll" " " \ +"Antarctica/Vostok" " " \ +"Arctic/Longyearbyen" " " \ +"Asia/Aden" " " \ +"Asia/Almaty" " " \ +"Asia/Amman" " " \ +"Asia/Anadyr" " " \ +"Asia/Aqtau" " " \ +"Asia/Aqtobe" " " \ +"Asia/Ashgabat" " " \ +"Asia/Ashkhabad" " " \ +"Asia/Baghdad" " " \ +"Asia/Bahrain" " " \ +"Asia/Baku" " " \ +"Asia/Bangkok" " " \ +"Asia/Beirut" " " \ +"Asia/Bishkek" " " \ +"Asia/Brunei" " " \ +"Asia/Calcutta" " " \ +"Asia/Chita" " " \ +"Asia/Choibalsan" " " \ +"Asia/Chongqing" " " \ +"Asia/Chungking" " " \ +"Asia/Colombo" " " \ +"Asia/Dacca" " " \ +"Asia/Damascus" " " \ +"Asia/Dhaka" " " \ +"Asia/Dili" " " \ +"Asia/Dubai" " " \ +"Asia/Dushanbe" " " \ +"Asia/Gaza" " " \ +"Asia/Harbin" " " \ +"Asia/Hebron" " " \ +"Asia/Ho_Chi_Minh" " " \ +"Asia/Hong_Kong" " " \ +"Asia/Hovd" " " \ +"Asia/Irkutsk" " " \ +"Asia/Istanbul" " " \ +"Asia/Jakarta" " " \ +"Asia/Jayapura" " " \ +"Asia/Jerusalem" " " \ +"Asia/Kabul" " " \ +"Asia/Kamchatka" " " \ +"Asia/Karachi" " " \ +"Asia/Kashgar" " " \ +"Asia/Kathmandu" " " \ +"Asia/Katmandu" " " \ +"Asia/Khandyga" " " \ +"Asia/Kolkata" " " \ +"Asia/Krasnoyarsk" " " \ +"Asia/Kuala_Lumpur" " " \ +"Asia/Kuching" " " \ +"Asia/Kuwait" " " \ +"Asia/Macao" " " \ +"Asia/Macau" " " \ +"Asia/Magadan" " " \ +"Asia/Makassar" " " \ +"Asia/Manila" " " \ +"Asia/Muscat" " " \ +"Asia/Nicosia" " " \ +"Asia/Novokuznetsk" " " \ +"Asia/Novosibirsk" " " \ +"Asia/Omsk" " " \ +"Asia/Oral" " " \ +"Asia/Phnom_Penh" " " \ +"Asia/Pontianak" " " \ +"Asia/Pyongyang" " " \ +"Asia/Qatar" " " \ +"Asia/Qyzylorda" " " \ +"Asia/Rangoon" " " \ +"Asia/Riyadh" " " \ +"Asia/Saigon" " " \ +"Asia/Sakhalin" " " \ +"Asia/Samarkand" " " \ +"Asia/Seoul" " " \ +"Asia/Shanghai" " " \ +"Asia/Singapore" " " \ +"Asia/Srednekolymsk" " " \ +"Asia/Taipei" " " \ +"Asia/Tashkent" " " \ +"Asia/Tbilisi" " " \ +"Asia/Tehran" " " \ +"Asia/Tel_Aviv" " " \ +"Asia/Thimbu" " " \ +"Asia/Thimphu" " " \ +"Asia/Tokyo" " " \ +"Asia/Ujung_Pandang" " " \ +"Asia/Ulaanbaatar" " " \ +"Asia/Ulan_Bator" " " \ +"Asia/Urumqi" " " \ +"Asia/Ust-Nera" " " \ +"Asia/Vientiane" " " \ +"Asia/Vladivostok" " " \ +"Asia/Yakutsk" " " \ +"Asia/Yekaterinburg" " " \ +"Asia/Yerevan" " " \ +"Atlantic/Azores" " " \ +"Atlantic/Bermuda" " " \ +"Atlantic/Canary" " " \ +"Atlantic/Cape_Verde" " " \ +"Atlantic/Faeroe" " " \ +"Atlantic/Faroe" " " \ +"Atlantic/Jan_Mayen" " " \ +"Atlantic/Madeira" " " \ +"Atlantic/Reykjavik" " " \ +"Atlantic/South_Georgia" " " \ +"Atlantic/St_Helena" " " \ +"Atlantic/Stanley" " " \ +"Australia/ACT" " " \ +"Australia/Adelaide" " " \ +"Australia/Brisbane" " " \ +"Australia/Broken_Hill" " " \ +"Australia/Canberra" " " \ +"Australia/Currie" " " \ +"Australia/Darwin" " " \ +"Australia/Eucla" " " \ +"Australia/Hobart" " " \ +"Australia/LHI" " " \ +"Australia/Lindeman" " " \ +"Australia/Lord_Howe" " " \ +"Australia/Melbourne" " " \ +"Australia/NSW" " " \ +"Australia/North" " " \ +"Australia/Perth" " " \ +"Australia/Queensland" " " \ +"Australia/South" " " \ +"Australia/Sydney" " " \ +"Australia/Tasmania" " " \ +"Australia/Victoria" " " \ +"Australia/West" " " \ +"Australia/Yancowinna" " " \ +"Brazil/Acre" " " \ +"Brazil/DeNoronha" " " \ +"Brazil/East" " " \ +"Brazil/West" " " \ +"CET" " " \ +"CST6CDT" " " \ +"Canada/Atlantic" " " \ +"Canada/Central" " " \ +"Canada/East-Saskatchewan" " " \ +"Canada/Eastern" " " \ +"Canada/Mountain" " " \ +"Canada/Newfoundland" " " \ +"Canada/Pacific" " " \ +"Canada/Saskatchewan" " " \ +"Canada/Yukon" " " \ +"Chile/Continental" " " \ +"Chile/EasterIsland" " " \ +"Cuba" " " \ +"EET" " " \ +"EST" " " \ +"EST5EDT" " " \ +"Egypt" " " \ +"Eire" " " \ +"Etc/GMT" " " \ +"Etc/GMT+0" " " \ +"Etc/GMT+1" " " \ +"Etc/GMT+10" " " \ +"Etc/GMT+11" " " \ +"Etc/GMT+12" " " \ +"Etc/GMT+2" " " \ +"Etc/GMT+3" " " \ +"Etc/GMT+4" " " \ +"Etc/GMT+5" " " \ +"Etc/GMT+6" " " \ +"Etc/GMT+7" " " \ +"Etc/GMT+8" " " \ +"Etc/GMT+9" " " \ +"Etc/GMT-0" " " \ +"Etc/GMT-1" " " \ +"Etc/GMT-10" " " \ +"Etc/GMT-11" " " \ +"Etc/GMT-12" " " \ +"Etc/GMT-13" " " \ +"Etc/GMT-14" " " \ +"Etc/GMT-2" " " \ +"Etc/GMT-3" " " \ +"Etc/GMT-4" " " \ +"Etc/GMT-5" " " \ +"Etc/GMT-6" " " \ +"Etc/GMT-7" " " \ +"Etc/GMT-8" " " \ +"Etc/GMT-9" " " \ +"Etc/GMT0" " " \ +"Etc/Greenwich" " " \ +"Etc/UCT" " " \ +"Etc/UTC" " " \ +"Etc/Universal" " " \ +"Etc/Zulu" " " \ +"Europe/Amsterdam" " " \ +"Europe/Andorra" " " \ +"Europe/Athens" " " \ +"Europe/Belfast" " " \ +"Europe/Belgrade" " " \ +"Europe/Berlin" " " \ +"Europe/Bratislava" " " \ +"Europe/Brussels" " " \ +"Europe/Bucharest" " " \ +"Europe/Budapest" " " \ +"Europe/Busingen" " " \ +"Europe/Chisinau" " " \ +"Europe/Copenhagen" " " \ +"Europe/Dublin" " " \ +"Europe/Gibraltar" " " \ +"Europe/Guernsey" " " \ +"Europe/Helsinki" " " \ +"Europe/Isle_of_Man" " " \ +"Europe/Istanbul" " " \ +"Europe/Jersey" " " \ +"Europe/Kaliningrad" " " \ +"Europe/Kiev" " " \ +"Europe/Lisbon" " " \ +"Europe/Ljubljana" " " \ +"Europe/London" " " \ +"Europe/Luxembourg" " " \ +"Europe/Madrid" " " \ +"Europe/Malta" " " \ +"Europe/Mariehamn" " " \ +"Europe/Minsk" " " \ +"Europe/Monaco" " " \ +"Europe/Moscow" " " \ +"Europe/Nicosia" " " \ +"Europe/Oslo" " " \ +"Europe/Paris" " " \ +"Europe/Podgorica" " " \ +"Europe/Prague" " " \ +"Europe/Riga" " " \ +"Europe/Rome" " " \ +"Europe/Samara" " " \ +"Europe/San_Marino" " " \ +"Europe/Sarajevo" " " \ +"Europe/Simferopol" " " \ +"Europe/Skopje" " " \ +"Europe/Sofia" " " \ +"Europe/Stockholm" " " \ +"Europe/Tallinn" " " \ +"Europe/Tirane" " " \ +"Europe/Tiraspol" " " \ +"Europe/Uzhgorod" " " \ +"Europe/Vaduz" " " \ +"Europe/Vatican" " " \ +"Europe/Vienna" " " \ +"Europe/Vilnius" " " \ +"Europe/Volgograd" " " \ +"Europe/Warsaw" " " \ +"Europe/Zagreb" " " \ +"Europe/Zaporozhye" " " \ +"Europe/Zurich" " " \ +"Factory" " " \ +"GB" " " \ +"GB-Eire" " " \ +"GMT" " " \ +"GMT+0" " " \ +"GMT-0" " " \ +"GMT0" " " \ +"Greenwich" " " \ +"HST" " " \ +"Hongkong" " " \ +"Iceland" " " \ +"Indian/Antananarivo" " " \ +"Indian/Chagos" " " \ +"Indian/Christmas" " " \ +"Indian/Cocos" " " \ +"Indian/Comoro" " " \ +"Indian/Kerguelen" " " \ +"Indian/Mahe" " " \ +"Indian/Maldives" " " \ +"Indian/Mauritius" " " \ +"Indian/Mayotte" " " \ +"Indian/Reunion" " " \ +"Iran" " " \ +"Israel" " " \ +"Jamaica" " " \ +"Japan" " " \ +"Kwajalein" " " \ +"Libya" " " \ +"MET" " " \ +"MST" " " \ +"MST7MDT" " " \ +"Mexico/BajaNorte" " " \ +"Mexico/BajaSur" " " \ +"Mexico/General" " " \ +"NZ" " " \ +"NZ-CHAT" " " \ +"Navajo" " " \ +"PRC" " " \ +"PST8PDT" " " \ +"Pacific/Apia" " " \ +"Pacific/Auckland" " " \ +"Pacific/Bougainville" " " \ +"Pacific/Chatham" " " \ +"Pacific/Chuuk" " " \ +"Pacific/Easter" " " \ +"Pacific/Efate" " " \ +"Pacific/Enderbury" " " \ +"Pacific/Fakaofo" " " \ +"Pacific/Fiji" " " \ +"Pacific/Funafuti" " " \ +"Pacific/Galapagos" " " \ +"Pacific/Gambier" " " \ +"Pacific/Guadalcanal" " " \ +"Pacific/Guam" " " \ +"Pacific/Honolulu" " " \ +"Pacific/Johnston" " " \ +"Pacific/Kiritimati" " " \ +"Pacific/Kosrae" " " \ +"Pacific/Kwajalein" " " \ +"Pacific/Majuro" " " \ +"Pacific/Marquesas" " " \ +"Pacific/Midway" " " \ +"Pacific/Nauru" " " \ +"Pacific/Niue" " " \ +"Pacific/Norfolk" " " \ +"Pacific/Noumea" " " \ +"Pacific/Pago_Pago" " " \ +"Pacific/Palau" " " \ +"Pacific/Pitcairn" " " \ +"Pacific/Pohnpei" " " \ +"Pacific/Ponape" " " \ +"Pacific/Port_Moresby" " " \ +"Pacific/Rarotonga" " " \ +"Pacific/Saipan" " " \ +"Pacific/Samoa" " " \ +"Pacific/Tahiti" " " \ +"Pacific/Tarawa" " " \ +"Pacific/Tongatapu" " " \ +"Pacific/Truk" " " \ +"Pacific/Wake" " " \ +"Pacific/Wallis" " " \ +"Pacific/Yap" " " \ +"Poland" " " \ +"Portugal" " " \ +"ROC" " " \ +"ROK" " " \ +"Singapore" " " \ +"Turkey" " " \ +"UCT" " " \ +"UTC" " " \ +"Universal" " " \ +"W-SU" " " \ +"WET" " " \ +"Zulu" " " \ +"posixrules" " " \ diff --git a/source/a/glibc-zoneinfo/timezone-scripts/parts/02 b/source/a/glibc-zoneinfo/timezone-scripts/parts/02 new file mode 100644 index 00000000..bd5a50bb --- /dev/null +++ b/source/a/glibc-zoneinfo/timezone-scripts/parts/02 @@ -0,0 +1,28 @@ + 2> $TMP/tz + + if [ $? = 1 -o $? = 255 ]; then + rm -f $TMP/tz + exit + fi + + TIMEZONE="`cat $TMP/tz`" + rm -f $TMP/tz + + setzone $TIMEZONE + exit +else + ### + ### use text prompts + ### + while [ 0 ]; do + echo -n "Would you like to configure your timezone ([y]es, [n]o)? " + read TIMECONF; + echo + + if [ "$TIMECONF" = "n" ]; then + break + fi + + cat << EOF +Select one of these timezones: + diff --git a/source/a/glibc-zoneinfo/timezone-scripts/parts/03 b/source/a/glibc-zoneinfo/timezone-scripts/parts/03 new file mode 100644 index 00000000..f595dfab --- /dev/null +++ b/source/a/glibc-zoneinfo/timezone-scripts/parts/03 @@ -0,0 +1,585 @@ +US/Alaska +US/Aleutian +US/Arizona +US/Central +US/East-Indiana +US/Eastern +US/Hawaii +US/Indiana-Starke +US/Michigan +US/Mountain +US/Pacific +US/Pacific-New +US/Samoa +Africa/Abidjan +Africa/Accra +Africa/Addis_Ababa +Africa/Algiers +Africa/Asmara +Africa/Asmera +Africa/Bamako +Africa/Bangui +Africa/Banjul +Africa/Bissau +Africa/Blantyre +Africa/Brazzaville +Africa/Bujumbura +Africa/Cairo +Africa/Casablanca +Africa/Ceuta +Africa/Conakry +Africa/Dakar +Africa/Dar_es_Salaam +Africa/Djibouti +Africa/Douala +Africa/El_Aaiun +Africa/Freetown +Africa/Gaborone +Africa/Harare +Africa/Johannesburg +Africa/Juba +Africa/Kampala +Africa/Khartoum +Africa/Kigali +Africa/Kinshasa +Africa/Lagos +Africa/Libreville +Africa/Lome +Africa/Luanda +Africa/Lubumbashi +Africa/Lusaka +Africa/Malabo +Africa/Maputo +Africa/Maseru +Africa/Mbabane +Africa/Mogadishu +Africa/Monrovia +Africa/Nairobi +Africa/Ndjamena +Africa/Niamey +Africa/Nouakchott +Africa/Ouagadougou +Africa/Porto-Novo +Africa/Sao_Tome +Africa/Timbuktu +Africa/Tripoli +Africa/Tunis +Africa/Windhoek +America/Adak +America/Anchorage +America/Anguilla +America/Antigua +America/Araguaina +America/Argentina/Buenos_Aires +America/Argentina/Catamarca +America/Argentina/ComodRivadavia +America/Argentina/Cordoba +America/Argentina/Jujuy +America/Argentina/La_Rioja +America/Argentina/Mendoza +America/Argentina/Rio_Gallegos +America/Argentina/Salta +America/Argentina/San_Juan +America/Argentina/San_Luis +America/Argentina/Tucuman +America/Argentina/Ushuaia +America/Aruba +America/Asuncion +America/Atikokan +America/Atka +America/Bahia +America/Bahia_Banderas +America/Barbados +America/Belem +America/Belize +America/Blanc-Sablon +America/Boa_Vista +America/Bogota +America/Boise +America/Buenos_Aires +America/Cambridge_Bay +America/Campo_Grande +America/Cancun +America/Caracas +America/Catamarca +America/Cayenne +America/Cayman +America/Chicago +America/Chihuahua +America/Coral_Harbour +America/Cordoba +America/Costa_Rica +America/Creston +America/Cuiaba +America/Curacao +America/Danmarkshavn +America/Dawson +America/Dawson_Creek +America/Denver +America/Detroit +America/Dominica +America/Edmonton +America/Eirunepe +America/El_Salvador +America/Ensenada +America/Fort_Nelson +America/Fort_Wayne +America/Fortaleza +America/Glace_Bay +America/Godthab +America/Goose_Bay +America/Grand_Turk +America/Grenada +America/Guadeloupe +America/Guatemala +America/Guayaquil +America/Guyana +America/Halifax +America/Havana +America/Hermosillo +America/Indiana/Indianapolis +America/Indiana/Knox +America/Indiana/Marengo +America/Indiana/Petersburg +America/Indiana/Tell_City +America/Indiana/Vevay +America/Indiana/Vincennes +America/Indiana/Winamac +America/Indianapolis +America/Inuvik +America/Iqaluit +America/Jamaica +America/Jujuy +America/Juneau +America/Kentucky/Louisville +America/Kentucky/Monticello +America/Knox_IN +America/Kralendijk +America/La_Paz +America/Lima +America/Los_Angeles +America/Louisville +America/Lower_Princes +America/Maceio +America/Managua +America/Manaus +America/Marigot +America/Martinique +America/Matamoros +America/Mazatlan +America/Mendoza +America/Menominee +America/Merida +America/Metlakatla +America/Mexico_City +America/Miquelon +America/Moncton +America/Monterrey +America/Montevideo +America/Montreal +America/Montserrat +America/Nassau +America/New_York +America/Nipigon +America/Nome +America/Noronha +America/North_Dakota/Beulah +America/North_Dakota/Center +America/North_Dakota/New_Salem +America/Ojinaga +America/Panama +America/Pangnirtung +America/Paramaribo +America/Phoenix +America/Port-au-Prince +America/Port_of_Spain +America/Porto_Acre +America/Porto_Velho +America/Puerto_Rico +America/Rainy_River +America/Rankin_Inlet +America/Recife +America/Regina +America/Resolute +America/Rio_Branco +America/Rosario +America/Santa_Isabel +America/Santarem +America/Santiago +America/Santo_Domingo +America/Sao_Paulo +America/Scoresbysund +America/Shiprock +America/Sitka +America/St_Barthelemy +America/St_Johns +America/St_Kitts +America/St_Lucia +America/St_Thomas +America/St_Vincent +America/Swift_Current +America/Tegucigalpa +America/Thule +America/Thunder_Bay +America/Tijuana +America/Toronto +America/Tortola +America/Vancouver +America/Virgin +America/Whitehorse +America/Winnipeg +America/Yakutat +America/Yellowknife +Antarctica/Casey +Antarctica/Davis +Antarctica/DumontDUrville +Antarctica/Macquarie +Antarctica/Mawson +Antarctica/McMurdo +Antarctica/Palmer +Antarctica/Rothera +Antarctica/South_Pole +Antarctica/Syowa +Antarctica/Troll +Antarctica/Vostok +Arctic/Longyearbyen +Asia/Aden +Asia/Almaty +Asia/Amman +Asia/Anadyr +Asia/Aqtau +Asia/Aqtobe +Asia/Ashgabat +Asia/Ashkhabad +Asia/Baghdad +Asia/Bahrain +Asia/Baku +Asia/Bangkok +Asia/Beirut +Asia/Bishkek +Asia/Brunei +Asia/Calcutta +Asia/Chita +Asia/Choibalsan +Asia/Chongqing +Asia/Chungking +Asia/Colombo +Asia/Dacca +Asia/Damascus +Asia/Dhaka +Asia/Dili +Asia/Dubai +Asia/Dushanbe +Asia/Gaza +Asia/Harbin +Asia/Hebron +Asia/Ho_Chi_Minh +Asia/Hong_Kong +Asia/Hovd +Asia/Irkutsk +Asia/Istanbul +Asia/Jakarta +Asia/Jayapura +Asia/Jerusalem +Asia/Kabul +Asia/Kamchatka +Asia/Karachi +Asia/Kashgar +Asia/Kathmandu +Asia/Katmandu +Asia/Khandyga +Asia/Kolkata +Asia/Krasnoyarsk +Asia/Kuala_Lumpur +Asia/Kuching +Asia/Kuwait +Asia/Macao +Asia/Macau +Asia/Magadan +Asia/Makassar +Asia/Manila +Asia/Muscat +Asia/Nicosia +Asia/Novokuznetsk +Asia/Novosibirsk +Asia/Omsk +Asia/Oral +Asia/Phnom_Penh +Asia/Pontianak +Asia/Pyongyang +Asia/Qatar +Asia/Qyzylorda +Asia/Rangoon +Asia/Riyadh +Asia/Saigon +Asia/Sakhalin +Asia/Samarkand +Asia/Seoul +Asia/Shanghai +Asia/Singapore +Asia/Srednekolymsk +Asia/Taipei +Asia/Tashkent +Asia/Tbilisi +Asia/Tehran +Asia/Tel_Aviv +Asia/Thimbu +Asia/Thimphu +Asia/Tokyo +Asia/Ujung_Pandang +Asia/Ulaanbaatar +Asia/Ulan_Bator +Asia/Urumqi +Asia/Ust-Nera +Asia/Vientiane +Asia/Vladivostok +Asia/Yakutsk +Asia/Yekaterinburg +Asia/Yerevan +Atlantic/Azores +Atlantic/Bermuda +Atlantic/Canary +Atlantic/Cape_Verde +Atlantic/Faeroe +Atlantic/Faroe +Atlantic/Jan_Mayen +Atlantic/Madeira +Atlantic/Reykjavik +Atlantic/South_Georgia +Atlantic/St_Helena +Atlantic/Stanley +Australia/ACT +Australia/Adelaide +Australia/Brisbane +Australia/Broken_Hill +Australia/Canberra +Australia/Currie +Australia/Darwin +Australia/Eucla +Australia/Hobart +Australia/LHI +Australia/Lindeman +Australia/Lord_Howe +Australia/Melbourne +Australia/NSW +Australia/North +Australia/Perth +Australia/Queensland +Australia/South +Australia/Sydney +Australia/Tasmania +Australia/Victoria +Australia/West +Australia/Yancowinna +Brazil/Acre +Brazil/DeNoronha +Brazil/East +Brazil/West +CET +CST6CDT +Canada/Atlantic +Canada/Central +Canada/East-Saskatchewan +Canada/Eastern +Canada/Mountain +Canada/Newfoundland +Canada/Pacific +Canada/Saskatchewan +Canada/Yukon +Chile/Continental +Chile/EasterIsland +Cuba +EET +EST +EST5EDT +Egypt +Eire +Etc/GMT +Etc/GMT+0 +Etc/GMT+1 +Etc/GMT+10 +Etc/GMT+11 +Etc/GMT+12 +Etc/GMT+2 +Etc/GMT+3 +Etc/GMT+4 +Etc/GMT+5 +Etc/GMT+6 +Etc/GMT+7 +Etc/GMT+8 +Etc/GMT+9 +Etc/GMT-0 +Etc/GMT-1 +Etc/GMT-10 +Etc/GMT-11 +Etc/GMT-12 +Etc/GMT-13 +Etc/GMT-14 +Etc/GMT-2 +Etc/GMT-3 +Etc/GMT-4 +Etc/GMT-5 +Etc/GMT-6 +Etc/GMT-7 +Etc/GMT-8 +Etc/GMT-9 +Etc/GMT0 +Etc/Greenwich +Etc/UCT +Etc/UTC +Etc/Universal +Etc/Zulu +Europe/Amsterdam +Europe/Andorra +Europe/Athens +Europe/Belfast +Europe/Belgrade +Europe/Berlin +Europe/Bratislava +Europe/Brussels +Europe/Bucharest +Europe/Budapest +Europe/Busingen +Europe/Chisinau +Europe/Copenhagen +Europe/Dublin +Europe/Gibraltar +Europe/Guernsey +Europe/Helsinki +Europe/Isle_of_Man +Europe/Istanbul +Europe/Jersey +Europe/Kaliningrad +Europe/Kiev +Europe/Lisbon +Europe/Ljubljana +Europe/London +Europe/Luxembourg +Europe/Madrid +Europe/Malta +Europe/Mariehamn +Europe/Minsk +Europe/Monaco +Europe/Moscow +Europe/Nicosia +Europe/Oslo +Europe/Paris +Europe/Podgorica +Europe/Prague +Europe/Riga +Europe/Rome +Europe/Samara +Europe/San_Marino +Europe/Sarajevo +Europe/Simferopol +Europe/Skopje +Europe/Sofia +Europe/Stockholm +Europe/Tallinn +Europe/Tirane +Europe/Tiraspol +Europe/Uzhgorod +Europe/Vaduz +Europe/Vatican +Europe/Vienna +Europe/Vilnius +Europe/Volgograd +Europe/Warsaw +Europe/Zagreb +Europe/Zaporozhye +Europe/Zurich +Factory +GB +GB-Eire +GMT +GMT+0 +GMT-0 +GMT0 +Greenwich +HST +Hongkong +Iceland +Indian/Antananarivo +Indian/Chagos +Indian/Christmas +Indian/Cocos +Indian/Comoro +Indian/Kerguelen +Indian/Mahe +Indian/Maldives +Indian/Mauritius +Indian/Mayotte +Indian/Reunion +Iran +Israel +Jamaica +Japan +Kwajalein +Libya +MET +MST +MST7MDT +Mexico/BajaNorte +Mexico/BajaSur +Mexico/General +NZ +NZ-CHAT +Navajo +PRC +PST8PDT +Pacific/Apia +Pacific/Auckland +Pacific/Bougainville +Pacific/Chatham +Pacific/Chuuk +Pacific/Easter +Pacific/Efate +Pacific/Enderbury +Pacific/Fakaofo +Pacific/Fiji +Pacific/Funafuti +Pacific/Galapagos +Pacific/Gambier +Pacific/Guadalcanal +Pacific/Guam +Pacific/Honolulu +Pacific/Johnston +Pacific/Kiritimati +Pacific/Kosrae +Pacific/Kwajalein +Pacific/Majuro +Pacific/Marquesas +Pacific/Midway +Pacific/Nauru +Pacific/Niue +Pacific/Norfolk +Pacific/Noumea +Pacific/Pago_Pago +Pacific/Palau +Pacific/Pitcairn +Pacific/Pohnpei +Pacific/Ponape +Pacific/Port_Moresby +Pacific/Rarotonga +Pacific/Saipan +Pacific/Samoa +Pacific/Tahiti +Pacific/Tarawa +Pacific/Tongatapu +Pacific/Truk +Pacific/Wake +Pacific/Wallis +Pacific/Yap +Poland +Portugal +ROC +ROK +Singapore +Turkey +UCT +UTC +Universal +W-SU +WET +Zulu +posixrules diff --git a/source/a/glibc-zoneinfo/timezone-scripts/parts/04 b/source/a/glibc-zoneinfo/timezone-scripts/parts/04 new file mode 100644 index 00000000..5b0da0e8 --- /dev/null +++ b/source/a/glibc-zoneinfo/timezone-scripts/parts/04 @@ -0,0 +1,33 @@ + +Type it at the prompt below exactly as it appears above. (NOTE: If you don't +see your timezone, use "timeconfig" again after booting for the verbose list) + +EOF + echo -n "Timezone? " + read TIMEZONE; + echo + + if [ -n "$TIMEZONE" -a \ + -r $T_PX/usr/share/zoneinfo/$TIMEZONE -o \ + -r /var/log/mount/usr/share/zoneinfo/$TIMEZONE -o \ + -L $T_PX/usr/share/zoneinfo/$TIMEZONE -o \ + -L /var/log/mount/usr/share/zoneinfo/$TIMEZONE ]; then + echo "Creating link from $TIMEZONE to localtime in /etc..." + echo + setzone $TIMEZONE + exit + else + cat << EOF + +Timezone $TIMEZONE could not be found. You may try again if you wish. +Make sure you type the name exactly as it appears - this configuration script +is case sensitive. + +Press [enter] to continue. + +EOF + read JUNK; + fi + done +fi + diff --git a/source/a/glibc-zoneinfo/timezone-scripts/parts/README b/source/a/glibc-zoneinfo/timezone-scripts/parts/README new file mode 100644 index 00000000..80d5cf5b --- /dev/null +++ b/source/a/glibc-zoneinfo/timezone-scripts/parts/README @@ -0,0 +1,2 @@ +Files 01 and 03 are samples, showing the format, and are +not necessarily up to date... diff --git a/source/a/glibc-zoneinfo/timezone-scripts/setup.timeconfig b/source/a/glibc-zoneinfo/timezone-scripts/setup.timeconfig new file mode 100644 index 00000000..81ff7055 --- /dev/null +++ b/source/a/glibc-zoneinfo/timezone-scripts/setup.timeconfig @@ -0,0 +1,3 @@ +#!/bin/sh +#BLURB="Select your timezone" +sh usr/sbin/timeconfig $* diff --git a/source/a/glibc-zoneinfo/timezone-scripts/timeconfig b/source/a/glibc-zoneinfo/timezone-scripts/timeconfig new file mode 100644 index 00000000..0fa59ac0 --- /dev/null +++ b/source/a/glibc-zoneinfo/timezone-scripts/timeconfig @@ -0,0 +1,1363 @@ +#!/bin/sh +# +# timeconfig Slackware Linux timezone configuration utility. +# +# Author: Patrick Volkerding <volkerdi@slackware.com> +# Modified by: David Cantrell <david@slackware.com>, 06-Oct-2000 +# +# ChangeLog: +# 2014-10-22: Updated timezones from tzdata2014i. <pjv> +# 2012-12-12: Updated timezones from tzdata2012j. <pjv> +# 2008-03-10: Updated timezones from tzdata2008a. <pjv> +# 2007-12-21: Updated timezones from tzdata2007j. <pjv> +# 2006-12-03: Updated timezones from tzdata2006p. <pjv> +# 2006-09-14: Updated timezones from tzdata2006k. <pjv> +# 2006-08-22: Updated timezones from tzdata2006j. +# 2006-08-13: Updated timezones from tzdata2006g. +# 2006-03-13: Updated timezones from tzdata2006c. +# 19-Feb-2001 Add new timezones from glibc-2.2.2. +# 06-Oct-2000 Fixed a problem with selecting UTC time. It was writing +# the hardwareclock file to the root disk and not your dest +# partition. Changed the HWCLOCK_CONF variable to be +# $T_PX/etc/hardwareclock to fix this. Thanks to David L. +# Dickman <softbear@optonline.net> for finding this and +# submitting a patch. +# +# 15-Mar-2000 Added the writeconf function to write out the +# /etc/hardwareclock file which tells what the hardware clock +# is set to (UTC or localtime). +# +# 03-Mar-2000 Reorganized script. Made one timezone set block, added +# stage that asks the user if the hardware clock is set to +# UTC. + +# setup our temp locations and variables +TMP=/var/log/setup/tmp +if [ -r $TMP/SeTT_PX ]; then + T_PX="`cat $TMP/SeTT_PX`" +elif [ ! "$!" = "" ]; then + T_PX=$1 +else + T_PX=/ +fi + +# the hardware clock configuration file +HWCLOCK_CONF=$T_PX/etc/hardwareclock + +# setzone( $TIMEZONE ) +# +# This function accepts a time zone as the only parameter and sets it as +# the default system time zone. +setzone() +{ + TZ=$1 + + cd $T_PX/etc + if [ -r $T_PX/usr/share/zoneinfo/$TZ -o \ + -r /var/log/mount/usr/share/zoneinfo/$TZ -o \ + -L $T_PX/usr/share/zoneinfo/$TZ -o \ + -L /var/log/mount/usr/share/zoneinfo/$TZ ]; then + rm -f localtime-copied-from + ln -sf /usr/share/zoneinfo/$TZ localtime-copied-from + rm -f localtime + cd .. + chroot . cp etc/localtime-copied-from etc/localtime + fi +} + +# writeconf( $CLOCK_SET_TO ) +# +# Writes out $HWCLOCK_CONF that tells rc.S how the hardware clock +# value is stored. +writeconf() +{ + echo "# /etc/hardwareclock" > $HWCLOCK_CONF + echo "#" >> $HWCLOCK_CONF + echo "# Tells how the hardware clock time is stored." >> $HWCLOCK_CONF + echo "# You should run timeconfig to edit this file." >> $HWCLOCK_CONF + echo >> $HWCLOCK_CONF + echo $1 >> $HWCLOCK_CONF +} + +# ask the user if the hardware clock is set for UTC/GMT +if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then + ### + ### use color menus here + ### + dialog --title "HARDWARE CLOCK SET TO UTC?" --menu "Is the hardware clock set \ +to Coordinated Universal Time (UTC/GMT)? If it is, select YES here. If the \ +hardware clock is set to the current local time (this is how most PCs are set \ +up), then say NO here. If you are not sure what this is, you should answer NO \ +here." 13 60 2 \ + "NO" "Hardware clock is set to local time" \ + "YES" "Hardware clock is set to UTC" \ + 2> $TMP/utc + if [ $? = 1 -o $? = 255 ]; then + rm -f $TMP/utc + exit + fi + if [ "`cat $TMP/utc`" = "YES" ]; then + # yes, the hardware clock is UTC + writeconf "UTC" + else # must be NO + writeconf "localtime" + fi + rm -f $TMP/utc +else + ### + ### use text prompts + ### + echo "Is the hardware clock set to Coordinated Universal Time (UTC/GMT)?" + echo "If it is, select 'y' here. If the hardware clock is set to the" + echo "current local time (this is how most PCs are set up), then say 'n'" + echo "here. If you are not sure what this is, you should answer 'n' here." + echo + echo -n "Is your hardware clock set to UTC ([y]es, [n]o)? " + read HEJAZ + + if [ "$HEJAZ" = "y" -o "$HEJAZ" = "Y" -o "$HEJAZ" = "YES" -o "$HEJAZ" = "yes" ]; then + # yes, the hardware clock is UTC + writeconf "UTC" + else + # default to localtime + writeconf "localtime" + fi +fi + +# Now set the correct timezone link: +if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then + ### + ### use color menus here + ### + dialog --title "TIMEZONE CONFIGURATION" --menu "Please select one of the following timezones for your machine:" 21 50 13 \ +"US/Alaska" " " \ +"US/Aleutian" " " \ +"US/Arizona" " " \ +"US/Central" " " \ +"US/East-Indiana" " " \ +"US/Eastern" " " \ +"US/Hawaii" " " \ +"US/Indiana-Starke" " " \ +"US/Michigan" " " \ +"US/Mountain" " " \ +"US/Pacific" " " \ +"US/Pacific-New" " " \ +"US/Samoa" " " \ +"Africa/Abidjan" " " \ +"Africa/Accra" " " \ +"Africa/Addis_Ababa" " " \ +"Africa/Algiers" " " \ +"Africa/Asmara" " " \ +"Africa/Asmera" " " \ +"Africa/Bamako" " " \ +"Africa/Bangui" " " \ +"Africa/Banjul" " " \ +"Africa/Bissau" " " \ +"Africa/Blantyre" " " \ +"Africa/Brazzaville" " " \ +"Africa/Bujumbura" " " \ +"Africa/Cairo" " " \ +"Africa/Casablanca" " " \ +"Africa/Ceuta" " " \ +"Africa/Conakry" " " \ +"Africa/Dakar" " " \ +"Africa/Dar_es_Salaam" " " \ +"Africa/Djibouti" " " \ +"Africa/Douala" " " \ +"Africa/El_Aaiun" " " \ +"Africa/Freetown" " " \ +"Africa/Gaborone" " " \ +"Africa/Harare" " " \ +"Africa/Johannesburg" " " \ +"Africa/Juba" " " \ +"Africa/Kampala" " " \ +"Africa/Khartoum" " " \ +"Africa/Kigali" " " \ +"Africa/Kinshasa" " " \ +"Africa/Lagos" " " \ +"Africa/Libreville" " " \ +"Africa/Lome" " " \ +"Africa/Luanda" " " \ +"Africa/Lubumbashi" " " \ +"Africa/Lusaka" " " \ +"Africa/Malabo" " " \ +"Africa/Maputo" " " \ +"Africa/Maseru" " " \ +"Africa/Mbabane" " " \ +"Africa/Mogadishu" " " \ +"Africa/Monrovia" " " \ +"Africa/Nairobi" " " \ +"Africa/Ndjamena" " " \ +"Africa/Niamey" " " \ +"Africa/Nouakchott" " " \ +"Africa/Ouagadougou" " " \ +"Africa/Porto-Novo" " " \ +"Africa/Sao_Tome" " " \ +"Africa/Timbuktu" " " \ +"Africa/Tripoli" " " \ +"Africa/Tunis" " " \ +"Africa/Windhoek" " " \ +"America/Adak" " " \ +"America/Anchorage" " " \ +"America/Anguilla" " " \ +"America/Antigua" " " \ +"America/Araguaina" " " \ +"America/Argentina/Buenos_Aires" " " \ +"America/Argentina/Catamarca" " " \ +"America/Argentina/ComodRivadavia" " " \ +"America/Argentina/Cordoba" " " \ +"America/Argentina/Jujuy" " " \ +"America/Argentina/La_Rioja" " " \ +"America/Argentina/Mendoza" " " \ +"America/Argentina/Rio_Gallegos" " " \ +"America/Argentina/Salta" " " \ +"America/Argentina/San_Juan" " " \ +"America/Argentina/San_Luis" " " \ +"America/Argentina/Tucuman" " " \ +"America/Argentina/Ushuaia" " " \ +"America/Aruba" " " \ +"America/Asuncion" " " \ +"America/Atikokan" " " \ +"America/Atka" " " \ +"America/Bahia" " " \ +"America/Bahia_Banderas" " " \ +"America/Barbados" " " \ +"America/Belem" " " \ +"America/Belize" " " \ +"America/Blanc-Sablon" " " \ +"America/Boa_Vista" " " \ +"America/Bogota" " " \ +"America/Boise" " " \ +"America/Buenos_Aires" " " \ +"America/Cambridge_Bay" " " \ +"America/Campo_Grande" " " \ +"America/Cancun" " " \ +"America/Caracas" " " \ +"America/Catamarca" " " \ +"America/Cayenne" " " \ +"America/Cayman" " " \ +"America/Chicago" " " \ +"America/Chihuahua" " " \ +"America/Coral_Harbour" " " \ +"America/Cordoba" " " \ +"America/Costa_Rica" " " \ +"America/Creston" " " \ +"America/Cuiaba" " " \ +"America/Curacao" " " \ +"America/Danmarkshavn" " " \ +"America/Dawson" " " \ +"America/Dawson_Creek" " " \ +"America/Denver" " " \ +"America/Detroit" " " \ +"America/Dominica" " " \ +"America/Edmonton" " " \ +"America/Eirunepe" " " \ +"America/El_Salvador" " " \ +"America/Ensenada" " " \ +"America/Fort_Nelson" " " \ +"America/Fort_Wayne" " " \ +"America/Fortaleza" " " \ +"America/Glace_Bay" " " \ +"America/Godthab" " " \ +"America/Goose_Bay" " " \ +"America/Grand_Turk" " " \ +"America/Grenada" " " \ +"America/Guadeloupe" " " \ +"America/Guatemala" " " \ +"America/Guayaquil" " " \ +"America/Guyana" " " \ +"America/Halifax" " " \ +"America/Havana" " " \ +"America/Hermosillo" " " \ +"America/Indiana/Indianapolis" " " \ +"America/Indiana/Knox" " " \ +"America/Indiana/Marengo" " " \ +"America/Indiana/Petersburg" " " \ +"America/Indiana/Tell_City" " " \ +"America/Indiana/Vevay" " " \ +"America/Indiana/Vincennes" " " \ +"America/Indiana/Winamac" " " \ +"America/Indianapolis" " " \ +"America/Inuvik" " " \ +"America/Iqaluit" " " \ +"America/Jamaica" " " \ +"America/Jujuy" " " \ +"America/Juneau" " " \ +"America/Kentucky/Louisville" " " \ +"America/Kentucky/Monticello" " " \ +"America/Knox_IN" " " \ +"America/Kralendijk" " " \ +"America/La_Paz" " " \ +"America/Lima" " " \ +"America/Los_Angeles" " " \ +"America/Louisville" " " \ +"America/Lower_Princes" " " \ +"America/Maceio" " " \ +"America/Managua" " " \ +"America/Manaus" " " \ +"America/Marigot" " " \ +"America/Martinique" " " \ +"America/Matamoros" " " \ +"America/Mazatlan" " " \ +"America/Mendoza" " " \ +"America/Menominee" " " \ +"America/Merida" " " \ +"America/Metlakatla" " " \ +"America/Mexico_City" " " \ +"America/Miquelon" " " \ +"America/Moncton" " " \ +"America/Monterrey" " " \ +"America/Montevideo" " " \ +"America/Montreal" " " \ +"America/Montserrat" " " \ +"America/Nassau" " " \ +"America/New_York" " " \ +"America/Nipigon" " " \ +"America/Nome" " " \ +"America/Noronha" " " \ +"America/North_Dakota/Beulah" " " \ +"America/North_Dakota/Center" " " \ +"America/North_Dakota/New_Salem" " " \ +"America/Ojinaga" " " \ +"America/Panama" " " \ +"America/Pangnirtung" " " \ +"America/Paramaribo" " " \ +"America/Phoenix" " " \ +"America/Port-au-Prince" " " \ +"America/Port_of_Spain" " " \ +"America/Porto_Acre" " " \ +"America/Porto_Velho" " " \ +"America/Puerto_Rico" " " \ +"America/Rainy_River" " " \ +"America/Rankin_Inlet" " " \ +"America/Recife" " " \ +"America/Regina" " " \ +"America/Resolute" " " \ +"America/Rio_Branco" " " \ +"America/Rosario" " " \ +"America/Santa_Isabel" " " \ +"America/Santarem" " " \ +"America/Santiago" " " \ +"America/Santo_Domingo" " " \ +"America/Sao_Paulo" " " \ +"America/Scoresbysund" " " \ +"America/Shiprock" " " \ +"America/Sitka" " " \ +"America/St_Barthelemy" " " \ +"America/St_Johns" " " \ +"America/St_Kitts" " " \ +"America/St_Lucia" " " \ +"America/St_Thomas" " " \ +"America/St_Vincent" " " \ +"America/Swift_Current" " " \ +"America/Tegucigalpa" " " \ +"America/Thule" " " \ +"America/Thunder_Bay" " " \ +"America/Tijuana" " " \ +"America/Toronto" " " \ +"America/Tortola" " " \ +"America/Vancouver" " " \ +"America/Virgin" " " \ +"America/Whitehorse" " " \ +"America/Winnipeg" " " \ +"America/Yakutat" " " \ +"America/Yellowknife" " " \ +"Antarctica/Casey" " " \ +"Antarctica/Davis" " " \ +"Antarctica/DumontDUrville" " " \ +"Antarctica/Macquarie" " " \ +"Antarctica/Mawson" " " \ +"Antarctica/McMurdo" " " \ +"Antarctica/Palmer" " " \ +"Antarctica/Rothera" " " \ +"Antarctica/South_Pole" " " \ +"Antarctica/Syowa" " " \ +"Antarctica/Troll" " " \ +"Antarctica/Vostok" " " \ +"Arctic/Longyearbyen" " " \ +"Asia/Aden" " " \ +"Asia/Almaty" " " \ +"Asia/Amman" " " \ +"Asia/Anadyr" " " \ +"Asia/Aqtau" " " \ +"Asia/Aqtobe" " " \ +"Asia/Ashgabat" " " \ +"Asia/Ashkhabad" " " \ +"Asia/Baghdad" " " \ +"Asia/Bahrain" " " \ +"Asia/Baku" " " \ +"Asia/Bangkok" " " \ +"Asia/Beirut" " " \ +"Asia/Bishkek" " " \ +"Asia/Brunei" " " \ +"Asia/Calcutta" " " \ +"Asia/Chita" " " \ +"Asia/Choibalsan" " " \ +"Asia/Chongqing" " " \ +"Asia/Chungking" " " \ +"Asia/Colombo" " " \ +"Asia/Dacca" " " \ +"Asia/Damascus" " " \ +"Asia/Dhaka" " " \ +"Asia/Dili" " " \ +"Asia/Dubai" " " \ +"Asia/Dushanbe" " " \ +"Asia/Gaza" " " \ +"Asia/Harbin" " " \ +"Asia/Hebron" " " \ +"Asia/Ho_Chi_Minh" " " \ +"Asia/Hong_Kong" " " \ +"Asia/Hovd" " " \ +"Asia/Irkutsk" " " \ +"Asia/Istanbul" " " \ +"Asia/Jakarta" " " \ +"Asia/Jayapura" " " \ +"Asia/Jerusalem" " " \ +"Asia/Kabul" " " \ +"Asia/Kamchatka" " " \ +"Asia/Karachi" " " \ +"Asia/Kashgar" " " \ +"Asia/Kathmandu" " " \ +"Asia/Katmandu" " " \ +"Asia/Khandyga" " " \ +"Asia/Kolkata" " " \ +"Asia/Krasnoyarsk" " " \ +"Asia/Kuala_Lumpur" " " \ +"Asia/Kuching" " " \ +"Asia/Kuwait" " " \ +"Asia/Macao" " " \ +"Asia/Macau" " " \ +"Asia/Magadan" " " \ +"Asia/Makassar" " " \ +"Asia/Manila" " " \ +"Asia/Muscat" " " \ +"Asia/Nicosia" " " \ +"Asia/Novokuznetsk" " " \ +"Asia/Novosibirsk" " " \ +"Asia/Omsk" " " \ +"Asia/Oral" " " \ +"Asia/Phnom_Penh" " " \ +"Asia/Pontianak" " " \ +"Asia/Pyongyang" " " \ +"Asia/Qatar" " " \ +"Asia/Qyzylorda" " " \ +"Asia/Rangoon" " " \ +"Asia/Riyadh" " " \ +"Asia/Saigon" " " \ +"Asia/Sakhalin" " " \ +"Asia/Samarkand" " " \ +"Asia/Seoul" " " \ +"Asia/Shanghai" " " \ +"Asia/Singapore" " " \ +"Asia/Srednekolymsk" " " \ +"Asia/Taipei" " " \ +"Asia/Tashkent" " " \ +"Asia/Tbilisi" " " \ +"Asia/Tehran" " " \ +"Asia/Tel_Aviv" " " \ +"Asia/Thimbu" " " \ +"Asia/Thimphu" " " \ +"Asia/Tokyo" " " \ +"Asia/Ujung_Pandang" " " \ +"Asia/Ulaanbaatar" " " \ +"Asia/Ulan_Bator" " " \ +"Asia/Urumqi" " " \ +"Asia/Ust-Nera" " " \ +"Asia/Vientiane" " " \ +"Asia/Vladivostok" " " \ +"Asia/Yakutsk" " " \ +"Asia/Yekaterinburg" " " \ +"Asia/Yerevan" " " \ +"Atlantic/Azores" " " \ +"Atlantic/Bermuda" " " \ +"Atlantic/Canary" " " \ +"Atlantic/Cape_Verde" " " \ +"Atlantic/Faeroe" " " \ +"Atlantic/Faroe" " " \ +"Atlantic/Jan_Mayen" " " \ +"Atlantic/Madeira" " " \ +"Atlantic/Reykjavik" " " \ +"Atlantic/South_Georgia" " " \ +"Atlantic/St_Helena" " " \ +"Atlantic/Stanley" " " \ +"Australia/ACT" " " \ +"Australia/Adelaide" " " \ +"Australia/Brisbane" " " \ +"Australia/Broken_Hill" " " \ +"Australia/Canberra" " " \ +"Australia/Currie" " " \ +"Australia/Darwin" " " \ +"Australia/Eucla" " " \ +"Australia/Hobart" " " \ +"Australia/LHI" " " \ +"Australia/Lindeman" " " \ +"Australia/Lord_Howe" " " \ +"Australia/Melbourne" " " \ +"Australia/NSW" " " \ +"Australia/North" " " \ +"Australia/Perth" " " \ +"Australia/Queensland" " " \ +"Australia/South" " " \ +"Australia/Sydney" " " \ +"Australia/Tasmania" " " \ +"Australia/Victoria" " " \ +"Australia/West" " " \ +"Australia/Yancowinna" " " \ +"Brazil/Acre" " " \ +"Brazil/DeNoronha" " " \ +"Brazil/East" " " \ +"Brazil/West" " " \ +"CET" " " \ +"CST6CDT" " " \ +"Canada/Atlantic" " " \ +"Canada/Central" " " \ +"Canada/East-Saskatchewan" " " \ +"Canada/Eastern" " " \ +"Canada/Mountain" " " \ +"Canada/Newfoundland" " " \ +"Canada/Pacific" " " \ +"Canada/Saskatchewan" " " \ +"Canada/Yukon" " " \ +"Chile/Continental" " " \ +"Chile/EasterIsland" " " \ +"Cuba" " " \ +"EET" " " \ +"EST" " " \ +"EST5EDT" " " \ +"Egypt" " " \ +"Eire" " " \ +"Etc/GMT" " " \ +"Etc/GMT+0" " " \ +"Etc/GMT+1" " " \ +"Etc/GMT+10" " " \ +"Etc/GMT+11" " " \ +"Etc/GMT+12" " " \ +"Etc/GMT+2" " " \ +"Etc/GMT+3" " " \ +"Etc/GMT+4" " " \ +"Etc/GMT+5" " " \ +"Etc/GMT+6" " " \ +"Etc/GMT+7" " " \ +"Etc/GMT+8" " " \ +"Etc/GMT+9" " " \ +"Etc/GMT-0" " " \ +"Etc/GMT-1" " " \ +"Etc/GMT-10" " " \ +"Etc/GMT-11" " " \ +"Etc/GMT-12" " " \ +"Etc/GMT-13" " " \ +"Etc/GMT-14" " " \ +"Etc/GMT-2" " " \ +"Etc/GMT-3" " " \ +"Etc/GMT-4" " " \ +"Etc/GMT-5" " " \ +"Etc/GMT-6" " " \ +"Etc/GMT-7" " " \ +"Etc/GMT-8" " " \ +"Etc/GMT-9" " " \ +"Etc/GMT0" " " \ +"Etc/Greenwich" " " \ +"Etc/UCT" " " \ +"Etc/UTC" " " \ +"Etc/Universal" " " \ +"Etc/Zulu" " " \ +"Europe/Amsterdam" " " \ +"Europe/Andorra" " " \ +"Europe/Athens" " " \ +"Europe/Belfast" " " \ +"Europe/Belgrade" " " \ +"Europe/Berlin" " " \ +"Europe/Bratislava" " " \ +"Europe/Brussels" " " \ +"Europe/Bucharest" " " \ +"Europe/Budapest" " " \ +"Europe/Busingen" " " \ +"Europe/Chisinau" " " \ +"Europe/Copenhagen" " " \ +"Europe/Dublin" " " \ +"Europe/Gibraltar" " " \ +"Europe/Guernsey" " " \ +"Europe/Helsinki" " " \ +"Europe/Isle_of_Man" " " \ +"Europe/Istanbul" " " \ +"Europe/Jersey" " " \ +"Europe/Kaliningrad" " " \ +"Europe/Kiev" " " \ +"Europe/Lisbon" " " \ +"Europe/Ljubljana" " " \ +"Europe/London" " " \ +"Europe/Luxembourg" " " \ +"Europe/Madrid" " " \ +"Europe/Malta" " " \ +"Europe/Mariehamn" " " \ +"Europe/Minsk" " " \ +"Europe/Monaco" " " \ +"Europe/Moscow" " " \ +"Europe/Nicosia" " " \ +"Europe/Oslo" " " \ +"Europe/Paris" " " \ +"Europe/Podgorica" " " \ +"Europe/Prague" " " \ +"Europe/Riga" " " \ +"Europe/Rome" " " \ +"Europe/Samara" " " \ +"Europe/San_Marino" " " \ +"Europe/Sarajevo" " " \ +"Europe/Simferopol" " " \ +"Europe/Skopje" " " \ +"Europe/Sofia" " " \ +"Europe/Stockholm" " " \ +"Europe/Tallinn" " " \ +"Europe/Tirane" " " \ +"Europe/Tiraspol" " " \ +"Europe/Uzhgorod" " " \ +"Europe/Vaduz" " " \ +"Europe/Vatican" " " \ +"Europe/Vienna" " " \ +"Europe/Vilnius" " " \ +"Europe/Volgograd" " " \ +"Europe/Warsaw" " " \ +"Europe/Zagreb" " " \ +"Europe/Zaporozhye" " " \ +"Europe/Zurich" " " \ +"Factory" " " \ +"GB" " " \ +"GB-Eire" " " \ +"GMT" " " \ +"GMT+0" " " \ +"GMT-0" " " \ +"GMT0" " " \ +"Greenwich" " " \ +"HST" " " \ +"Hongkong" " " \ +"Iceland" " " \ +"Indian/Antananarivo" " " \ +"Indian/Chagos" " " \ +"Indian/Christmas" " " \ +"Indian/Cocos" " " \ +"Indian/Comoro" " " \ +"Indian/Kerguelen" " " \ +"Indian/Mahe" " " \ +"Indian/Maldives" " " \ +"Indian/Mauritius" " " \ +"Indian/Mayotte" " " \ +"Indian/Reunion" " " \ +"Iran" " " \ +"Israel" " " \ +"Jamaica" " " \ +"Japan" " " \ +"Kwajalein" " " \ +"Libya" " " \ +"MET" " " \ +"MST" " " \ +"MST7MDT" " " \ +"Mexico/BajaNorte" " " \ +"Mexico/BajaSur" " " \ +"Mexico/General" " " \ +"NZ" " " \ +"NZ-CHAT" " " \ +"Navajo" " " \ +"PRC" " " \ +"PST8PDT" " " \ +"Pacific/Apia" " " \ +"Pacific/Auckland" " " \ +"Pacific/Bougainville" " " \ +"Pacific/Chatham" " " \ +"Pacific/Chuuk" " " \ +"Pacific/Easter" " " \ +"Pacific/Efate" " " \ +"Pacific/Enderbury" " " \ +"Pacific/Fakaofo" " " \ +"Pacific/Fiji" " " \ +"Pacific/Funafuti" " " \ +"Pacific/Galapagos" " " \ +"Pacific/Gambier" " " \ +"Pacific/Guadalcanal" " " \ +"Pacific/Guam" " " \ +"Pacific/Honolulu" " " \ +"Pacific/Johnston" " " \ +"Pacific/Kiritimati" " " \ +"Pacific/Kosrae" " " \ +"Pacific/Kwajalein" " " \ +"Pacific/Majuro" " " \ +"Pacific/Marquesas" " " \ +"Pacific/Midway" " " \ +"Pacific/Nauru" " " \ +"Pacific/Niue" " " \ +"Pacific/Norfolk" " " \ +"Pacific/Noumea" " " \ +"Pacific/Pago_Pago" " " \ +"Pacific/Palau" " " \ +"Pacific/Pitcairn" " " \ +"Pacific/Pohnpei" " " \ +"Pacific/Ponape" " " \ +"Pacific/Port_Moresby" " " \ +"Pacific/Rarotonga" " " \ +"Pacific/Saipan" " " \ +"Pacific/Samoa" " " \ +"Pacific/Tahiti" " " \ +"Pacific/Tarawa" " " \ +"Pacific/Tongatapu" " " \ +"Pacific/Truk" " " \ +"Pacific/Wake" " " \ +"Pacific/Wallis" " " \ +"Pacific/Yap" " " \ +"Poland" " " \ +"Portugal" " " \ +"ROC" " " \ +"ROK" " " \ +"Singapore" " " \ +"Turkey" " " \ +"UCT" " " \ +"UTC" " " \ +"Universal" " " \ +"W-SU" " " \ +"WET" " " \ +"Zulu" " " \ +"posixrules" " " \ + 2> $TMP/tz + + if [ $? = 1 -o $? = 255 ]; then + rm -f $TMP/tz + exit + fi + + TIMEZONE="`cat $TMP/tz`" + rm -f $TMP/tz + + setzone $TIMEZONE + exit +else + ### + ### use text prompts + ### + while [ 0 ]; do + echo -n "Would you like to configure your timezone ([y]es, [n]o)? " + read TIMECONF; + echo + + if [ "$TIMECONF" = "n" ]; then + break + fi + + cat << EOF +Select one of these timezones: + +US/Alaska +US/Aleutian +US/Arizona +US/Central +US/East-Indiana +US/Eastern +US/Hawaii +US/Indiana-Starke +US/Michigan +US/Mountain +US/Pacific +US/Pacific-New +US/Samoa +Africa/Abidjan +Africa/Accra +Africa/Addis_Ababa +Africa/Algiers +Africa/Asmara +Africa/Asmera +Africa/Bamako +Africa/Bangui +Africa/Banjul +Africa/Bissau +Africa/Blantyre +Africa/Brazzaville +Africa/Bujumbura +Africa/Cairo +Africa/Casablanca +Africa/Ceuta +Africa/Conakry +Africa/Dakar +Africa/Dar_es_Salaam +Africa/Djibouti +Africa/Douala +Africa/El_Aaiun +Africa/Freetown +Africa/Gaborone +Africa/Harare +Africa/Johannesburg +Africa/Juba +Africa/Kampala +Africa/Khartoum +Africa/Kigali +Africa/Kinshasa +Africa/Lagos +Africa/Libreville +Africa/Lome +Africa/Luanda +Africa/Lubumbashi +Africa/Lusaka +Africa/Malabo +Africa/Maputo +Africa/Maseru +Africa/Mbabane +Africa/Mogadishu +Africa/Monrovia +Africa/Nairobi +Africa/Ndjamena +Africa/Niamey +Africa/Nouakchott +Africa/Ouagadougou +Africa/Porto-Novo +Africa/Sao_Tome +Africa/Timbuktu +Africa/Tripoli +Africa/Tunis +Africa/Windhoek +America/Adak +America/Anchorage +America/Anguilla +America/Antigua +America/Araguaina +America/Argentina/Buenos_Aires +America/Argentina/Catamarca +America/Argentina/ComodRivadavia +America/Argentina/Cordoba +America/Argentina/Jujuy +America/Argentina/La_Rioja +America/Argentina/Mendoza +America/Argentina/Rio_Gallegos +America/Argentina/Salta +America/Argentina/San_Juan +America/Argentina/San_Luis +America/Argentina/Tucuman +America/Argentina/Ushuaia +America/Aruba +America/Asuncion +America/Atikokan +America/Atka +America/Bahia +America/Bahia_Banderas +America/Barbados +America/Belem +America/Belize +America/Blanc-Sablon +America/Boa_Vista +America/Bogota +America/Boise +America/Buenos_Aires +America/Cambridge_Bay +America/Campo_Grande +America/Cancun +America/Caracas +America/Catamarca +America/Cayenne +America/Cayman +America/Chicago +America/Chihuahua +America/Coral_Harbour +America/Cordoba +America/Costa_Rica +America/Creston +America/Cuiaba +America/Curacao +America/Danmarkshavn +America/Dawson +America/Dawson_Creek +America/Denver +America/Detroit +America/Dominica +America/Edmonton +America/Eirunepe +America/El_Salvador +America/Ensenada +America/Fort_Nelson +America/Fort_Wayne +America/Fortaleza +America/Glace_Bay +America/Godthab +America/Goose_Bay +America/Grand_Turk +America/Grenada +America/Guadeloupe +America/Guatemala +America/Guayaquil +America/Guyana +America/Halifax +America/Havana +America/Hermosillo +America/Indiana/Indianapolis +America/Indiana/Knox +America/Indiana/Marengo +America/Indiana/Petersburg +America/Indiana/Tell_City +America/Indiana/Vevay +America/Indiana/Vincennes +America/Indiana/Winamac +America/Indianapolis +America/Inuvik +America/Iqaluit +America/Jamaica +America/Jujuy +America/Juneau +America/Kentucky/Louisville +America/Kentucky/Monticello +America/Knox_IN +America/Kralendijk +America/La_Paz +America/Lima +America/Los_Angeles +America/Louisville +America/Lower_Princes +America/Maceio +America/Managua +America/Manaus +America/Marigot +America/Martinique +America/Matamoros +America/Mazatlan +America/Mendoza +America/Menominee +America/Merida +America/Metlakatla +America/Mexico_City +America/Miquelon +America/Moncton +America/Monterrey +America/Montevideo +America/Montreal +America/Montserrat +America/Nassau +America/New_York +America/Nipigon +America/Nome +America/Noronha +America/North_Dakota/Beulah +America/North_Dakota/Center +America/North_Dakota/New_Salem +America/Ojinaga +America/Panama +America/Pangnirtung +America/Paramaribo +America/Phoenix +America/Port-au-Prince +America/Port_of_Spain +America/Porto_Acre +America/Porto_Velho +America/Puerto_Rico +America/Rainy_River +America/Rankin_Inlet +America/Recife +America/Regina +America/Resolute +America/Rio_Branco +America/Rosario +America/Santa_Isabel +America/Santarem +America/Santiago +America/Santo_Domingo +America/Sao_Paulo +America/Scoresbysund +America/Shiprock +America/Sitka +America/St_Barthelemy +America/St_Johns +America/St_Kitts +America/St_Lucia +America/St_Thomas +America/St_Vincent +America/Swift_Current +America/Tegucigalpa +America/Thule +America/Thunder_Bay +America/Tijuana +America/Toronto +America/Tortola +America/Vancouver +America/Virgin +America/Whitehorse +America/Winnipeg +America/Yakutat +America/Yellowknife +Antarctica/Casey +Antarctica/Davis +Antarctica/DumontDUrville +Antarctica/Macquarie +Antarctica/Mawson +Antarctica/McMurdo +Antarctica/Palmer +Antarctica/Rothera +Antarctica/South_Pole +Antarctica/Syowa +Antarctica/Troll +Antarctica/Vostok +Arctic/Longyearbyen +Asia/Aden +Asia/Almaty +Asia/Amman +Asia/Anadyr +Asia/Aqtau +Asia/Aqtobe +Asia/Ashgabat +Asia/Ashkhabad +Asia/Baghdad +Asia/Bahrain +Asia/Baku +Asia/Bangkok +Asia/Beirut +Asia/Bishkek +Asia/Brunei +Asia/Calcutta +Asia/Chita +Asia/Choibalsan +Asia/Chongqing +Asia/Chungking +Asia/Colombo +Asia/Dacca +Asia/Damascus +Asia/Dhaka +Asia/Dili +Asia/Dubai +Asia/Dushanbe +Asia/Gaza +Asia/Harbin +Asia/Hebron +Asia/Ho_Chi_Minh +Asia/Hong_Kong +Asia/Hovd +Asia/Irkutsk +Asia/Istanbul +Asia/Jakarta +Asia/Jayapura +Asia/Jerusalem +Asia/Kabul +Asia/Kamchatka +Asia/Karachi +Asia/Kashgar +Asia/Kathmandu +Asia/Katmandu +Asia/Khandyga +Asia/Kolkata +Asia/Krasnoyarsk +Asia/Kuala_Lumpur +Asia/Kuching +Asia/Kuwait +Asia/Macao +Asia/Macau +Asia/Magadan +Asia/Makassar +Asia/Manila +Asia/Muscat +Asia/Nicosia +Asia/Novokuznetsk +Asia/Novosibirsk +Asia/Omsk +Asia/Oral +Asia/Phnom_Penh +Asia/Pontianak +Asia/Pyongyang +Asia/Qatar +Asia/Qyzylorda +Asia/Rangoon +Asia/Riyadh +Asia/Saigon +Asia/Sakhalin +Asia/Samarkand +Asia/Seoul +Asia/Shanghai +Asia/Singapore +Asia/Srednekolymsk +Asia/Taipei +Asia/Tashkent +Asia/Tbilisi +Asia/Tehran +Asia/Tel_Aviv +Asia/Thimbu +Asia/Thimphu +Asia/Tokyo +Asia/Ujung_Pandang +Asia/Ulaanbaatar +Asia/Ulan_Bator +Asia/Urumqi +Asia/Ust-Nera +Asia/Vientiane +Asia/Vladivostok +Asia/Yakutsk +Asia/Yekaterinburg +Asia/Yerevan +Atlantic/Azores +Atlantic/Bermuda +Atlantic/Canary +Atlantic/Cape_Verde +Atlantic/Faeroe +Atlantic/Faroe +Atlantic/Jan_Mayen +Atlantic/Madeira +Atlantic/Reykjavik +Atlantic/South_Georgia +Atlantic/St_Helena +Atlantic/Stanley +Australia/ACT +Australia/Adelaide +Australia/Brisbane +Australia/Broken_Hill +Australia/Canberra +Australia/Currie +Australia/Darwin +Australia/Eucla +Australia/Hobart +Australia/LHI +Australia/Lindeman +Australia/Lord_Howe +Australia/Melbourne +Australia/NSW +Australia/North +Australia/Perth +Australia/Queensland +Australia/South +Australia/Sydney +Australia/Tasmania +Australia/Victoria +Australia/West +Australia/Yancowinna +Brazil/Acre +Brazil/DeNoronha +Brazil/East +Brazil/West +CET +CST6CDT +Canada/Atlantic +Canada/Central +Canada/East-Saskatchewan +Canada/Eastern +Canada/Mountain +Canada/Newfoundland +Canada/Pacific +Canada/Saskatchewan +Canada/Yukon +Chile/Continental +Chile/EasterIsland +Cuba +EET +EST +EST5EDT +Egypt +Eire +Etc/GMT +Etc/GMT+0 +Etc/GMT+1 +Etc/GMT+10 +Etc/GMT+11 +Etc/GMT+12 +Etc/GMT+2 +Etc/GMT+3 +Etc/GMT+4 +Etc/GMT+5 +Etc/GMT+6 +Etc/GMT+7 +Etc/GMT+8 +Etc/GMT+9 +Etc/GMT-0 +Etc/GMT-1 +Etc/GMT-10 +Etc/GMT-11 +Etc/GMT-12 +Etc/GMT-13 +Etc/GMT-14 +Etc/GMT-2 +Etc/GMT-3 +Etc/GMT-4 +Etc/GMT-5 +Etc/GMT-6 +Etc/GMT-7 +Etc/GMT-8 +Etc/GMT-9 +Etc/GMT0 +Etc/Greenwich +Etc/UCT +Etc/UTC +Etc/Universal +Etc/Zulu +Europe/Amsterdam +Europe/Andorra +Europe/Athens +Europe/Belfast +Europe/Belgrade +Europe/Berlin +Europe/Bratislava +Europe/Brussels +Europe/Bucharest +Europe/Budapest +Europe/Busingen +Europe/Chisinau +Europe/Copenhagen +Europe/Dublin +Europe/Gibraltar +Europe/Guernsey +Europe/Helsinki +Europe/Isle_of_Man +Europe/Istanbul +Europe/Jersey +Europe/Kaliningrad +Europe/Kiev +Europe/Lisbon +Europe/Ljubljana +Europe/London +Europe/Luxembourg +Europe/Madrid +Europe/Malta +Europe/Mariehamn +Europe/Minsk +Europe/Monaco +Europe/Moscow +Europe/Nicosia +Europe/Oslo +Europe/Paris +Europe/Podgorica +Europe/Prague +Europe/Riga +Europe/Rome +Europe/Samara +Europe/San_Marino +Europe/Sarajevo +Europe/Simferopol +Europe/Skopje +Europe/Sofia +Europe/Stockholm +Europe/Tallinn +Europe/Tirane +Europe/Tiraspol +Europe/Uzhgorod +Europe/Vaduz +Europe/Vatican +Europe/Vienna +Europe/Vilnius +Europe/Volgograd +Europe/Warsaw +Europe/Zagreb +Europe/Zaporozhye +Europe/Zurich +Factory +GB +GB-Eire +GMT +GMT+0 +GMT-0 +GMT0 +Greenwich +HST +Hongkong +Iceland +Indian/Antananarivo +Indian/Chagos +Indian/Christmas +Indian/Cocos +Indian/Comoro +Indian/Kerguelen +Indian/Mahe +Indian/Maldives +Indian/Mauritius +Indian/Mayotte +Indian/Reunion +Iran +Israel +Jamaica +Japan +Kwajalein +Libya +MET +MST +MST7MDT +Mexico/BajaNorte +Mexico/BajaSur +Mexico/General +NZ +NZ-CHAT +Navajo +PRC +PST8PDT +Pacific/Apia +Pacific/Auckland +Pacific/Bougainville +Pacific/Chatham +Pacific/Chuuk +Pacific/Easter +Pacific/Efate +Pacific/Enderbury +Pacific/Fakaofo +Pacific/Fiji +Pacific/Funafuti +Pacific/Galapagos +Pacific/Gambier +Pacific/Guadalcanal +Pacific/Guam +Pacific/Honolulu +Pacific/Johnston +Pacific/Kiritimati +Pacific/Kosrae +Pacific/Kwajalein +Pacific/Majuro +Pacific/Marquesas +Pacific/Midway +Pacific/Nauru +Pacific/Niue +Pacific/Norfolk +Pacific/Noumea +Pacific/Pago_Pago +Pacific/Palau +Pacific/Pitcairn +Pacific/Pohnpei +Pacific/Ponape +Pacific/Port_Moresby +Pacific/Rarotonga +Pacific/Saipan +Pacific/Samoa +Pacific/Tahiti +Pacific/Tarawa +Pacific/Tongatapu +Pacific/Truk +Pacific/Wake +Pacific/Wallis +Pacific/Yap +Poland +Portugal +ROC +ROK +Singapore +Turkey +UCT +UTC +Universal +W-SU +WET +Zulu +posixrules + +Type it at the prompt below exactly as it appears above. (NOTE: If you don't +see your timezone, use "timeconfig" again after booting for the verbose list) + +EOF + echo -n "Timezone? " + read TIMEZONE; + echo + + if [ -n "$TIMEZONE" -a \ + -r $T_PX/usr/share/zoneinfo/$TIMEZONE -o \ + -r /var/log/mount/usr/share/zoneinfo/$TIMEZONE -o \ + -L $T_PX/usr/share/zoneinfo/$TIMEZONE -o \ + -L /var/log/mount/usr/share/zoneinfo/$TIMEZONE ]; then + echo "Creating link from $TIMEZONE to localtime in /etc..." + echo + setzone $TIMEZONE + exit + else + cat << EOF + +Timezone $TIMEZONE could not be found. You may try again if you wish. +Make sure you type the name exactly as it appears - this configuration script +is case sensitive. + +Press [enter] to continue. + +EOF + read JUNK; + fi + done +fi + diff --git a/source/a/gpm/gpm.SlackBuild b/source/a/gpm/gpm.SlackBuild index 25ac63b0..6c763657 100755 --- a/source/a/gpm/gpm.SlackBuild +++ b/source/a/gpm/gpm.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2008, 2009, 2010, 2013, 2014 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,7 +23,7 @@ # by: volkerdi@slackware.com VERSION=1.20.7 -BUILD=${BUILD:-2} +BUILD=${BUILD:-3} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -97,7 +97,8 @@ CFLAGS="$SLKCFLAGS" \ make || exit 1 make install DESTDIR=$PKG || exit 1 -rm -f $PKG/usr/share/emacs/site-lisp/*.elc +# Emacs ships better versions of these: +rm -rf $PKG/usr/share/emacs chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/libgpm.so.* mkdir $PKG/lib${LIBDIRSUFFIX} diff --git a/source/a/gptfdisk/gptfdisk.SlackBuild b/source/a/gptfdisk/gptfdisk.SlackBuild index c6155653..054f8382 100755 --- a/source/a/gptfdisk/gptfdisk.SlackBuild +++ b/source/a/gptfdisk/gptfdisk.SlackBuild @@ -64,10 +64,6 @@ rm -rf $PKGNAM-$VERSION tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1 cd $PKGNAM-$VERSION || exit 1 -# Remove dependency on icu4c by switching from the uncommented Makefile -# lines to the commented ones: -zcat $CWD/gptfdisk.remove.icu4c.dep.diff.gz | patch -p1 || exit 1 - chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ diff --git a/source/a/gptfdisk/gptfdisk.remove.icu4c.dep.diff b/source/a/gptfdisk/gptfdisk.remove.icu4c.dep.diff deleted file mode 100644 index ce5d7a8a..00000000 --- a/source/a/gptfdisk/gptfdisk.remove.icu4c.dep.diff +++ /dev/null @@ -1,36 +0,0 @@ ---- ./Makefile.orig 2012-05-30 10:38:43.000000000 -0500 -+++ ./Makefile 2012-08-06 16:37:17.256362865 -0500 -@@ -1,8 +1,8 @@ - CC=gcc - CXX=g++ - CFLAGS+=-D_FILE_OFFSET_BITS=64 --CXXFLAGS+=-Wall -D_FILE_OFFSET_BITS=64 -D USE_UTF16 --#CXXFLAGS+=-Wall -D_FILE_OFFSET_BITS=64 -+#CXXFLAGS+=-Wall -D_FILE_OFFSET_BITS=64 -D USE_UTF16 -+CXXFLAGS+=-Wall -D_FILE_OFFSET_BITS=64 - LDFLAGS+= - LIB_NAMES=crc32 support guid gptpart mbrpart basicmbr mbr gpt bsd parttypes attributes diskio diskio-unix - MBR_LIBS=support diskio diskio-unix basicmbr mbrpart -@@ -14,16 +14,16 @@ - all: cgdisk gdisk sgdisk fixparts - - gdisk: $(LIB_OBJS) gdisk.o gpttext.o --# $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) -luuid -o gdisk -- $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) -licuio -licuuc -luuid -o gdisk -+ $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) -luuid -o gdisk -+# $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) -licuio -licuuc -luuid -o gdisk - - cgdisk: $(LIB_OBJS) cgdisk.o gptcurses.o --# $(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) -luuid -lncurses -o cgdisk -- $(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) -licuio -licuuc -luuid -lncurses -o cgdisk -+ $(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) -luuid -lncurses -o cgdisk -+# $(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) -licuio -licuuc -luuid -lncurses -o cgdisk - - sgdisk: $(LIB_OBJS) sgdisk.o gptcl.o --# $(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) -luuid -lpopt -o sgdisk -- $(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) -licuio -licuuc -luuid -lpopt -o sgdisk -+ $(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) -luuid -lpopt -o sgdisk -+# $(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) -licuio -licuuc -luuid -lpopt -o sgdisk - - fixparts: $(MBR_LIB_OBJS) fixparts.o - $(CXX) $(MBR_LIB_OBJS) fixparts.o $(LDFLAGS) -o fixparts diff --git a/source/a/gptfdisk/slack-desc b/source/a/gptfdisk/slack-desc index 913fd875..322c02db 100644 --- a/source/a/gptfdisk/slack-desc +++ b/source/a/gptfdisk/slack-desc @@ -15,5 +15,5 @@ gptfdisk: Record) partition tables. It features several partitioning tools, gptfdisk: recovery tools to help you deal with corrupt partition tables, and the gptfdisk: ability to convert MBR disks to GPT format. gptfdisk: -gptfdisk: gdisk home: http://www.rodsbooks.com/gdisk/ +gptfdisk: gptfdisk home: http://sourceforge.net/projects/gptfdisk/ gptfdisk: diff --git a/source/a/grep/grep.SlackBuild b/source/a/grep/grep.SlackBuild index 6bdf0d81..9d8c6f4f 100755 --- a/source/a/grep/grep.SlackBuild +++ b/source/a/grep/grep.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2005-2012 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2005-2015 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -29,7 +29,7 @@ NUMJOBS=${NUMJOBS:-" -j7 "} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -40,8 +40,8 @@ CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-grep -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" diff --git a/source/a/grub/0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch b/source/a/grub/0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch new file mode 100644 index 00000000..5701b547 --- /dev/null +++ b/source/a/grub/0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch @@ -0,0 +1,45 @@ +From 88c9657960a6c5d3673a25c266781e876c181add Mon Sep 17 00:00:00 2001 +From: Hector Marco-Gisbert <hecmargi@upv.es> +Date: Fri, 13 Nov 2015 16:21:09 +0100 +Subject: [PATCH] Fix security issue when reading username and password + + This patch fixes two integer underflows at: + * grub-core/lib/crypto.c + * grub-core/normal/auth.c + +Signed-off-by: Hector Marco-Gisbert <hecmargi@upv.es> +Signed-off-by: Ismael Ripoll-Ripoll <iripoll@disca.upv.es> +--- + grub-core/lib/crypto.c | 2 +- + grub-core/normal/auth.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/grub-core/lib/crypto.c b/grub-core/lib/crypto.c +index 010e550..524a3d8 100644 +--- a/grub-core/lib/crypto.c ++++ b/grub-core/lib/crypto.c +@@ -468,7 +468,7 @@ grub_password_get (char buf[], unsigned buf_size) + break; + } + +- if (key == '\b') ++ if (key == '\b' && cur_len) + { + cur_len--; + continue; +diff --git a/grub-core/normal/auth.c b/grub-core/normal/auth.c +index c6bd96e..5782ec5 100644 +--- a/grub-core/normal/auth.c ++++ b/grub-core/normal/auth.c +@@ -172,7 +172,7 @@ grub_username_get (char buf[], unsigned buf_size) + break; + } + +- if (key == '\b') ++ if (key == '\b' && cur_len) + { + cur_len--; + grub_printf ("\b"); +-- +1.9.1 + diff --git a/source/a/grub/etc.default.grub b/source/a/grub/etc.default.grub index f612a35a..b2d4080a 100644 --- a/source/a/grub/etc.default.grub +++ b/source/a/grub/etc.default.grub @@ -24,5 +24,5 @@ GRUB_CMDLINE_LINUX="" # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux #GRUB_DISABLE_LINUX_UUID=true -# Uncomment to disable generation of recovery mode menu entrys -#GRUB_DISABLE_LINUX_RECOVERY="true" +# Uncomment to disable generation of recovery mode menu entries +#GRUB_DISABLE_RECOVERY="true" diff --git a/source/a/grub/grub.SlackBuild b/source/a/grub/grub.SlackBuild index 5a0c27e8..ba7ecd8b 100755 --- a/source/a/grub/grub.SlackBuild +++ b/source/a/grub/grub.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2013, 2016 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -20,16 +20,17 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# Modified 2016 by Eric Hameleers <alien@slackware.com> for Slackware Live Edition. PKGNAM=grub VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-5} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$(uname -m)" in - i?86) ARCH=i486 ;; - arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;; + i?86) ARCH=i586 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; # Unless $ARCH is already set, use uname -m for all other archs: *) ARCH=$(uname -m) ;; esac @@ -43,18 +44,22 @@ if [ "$ARCH" = "i386" ]; then LIBDIRSUFFIX="" elif [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" + EFI32_FLAGS=" --with-platform=efi --target=i386 --program-prefix= " LIBDIRSUFFIX="" elif [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" + EFI32_FLAGS=" --with-platform=efi --target=i386 --program-prefix= " LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686" + EFI32_FLAGS=" --with-platform=efi --target=i386 --program-prefix= " LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2" + EFI32_FLAGS=" --with-platform=efi --target=i386 --program-prefix= " EFI_FLAGS=" --with-platform=efi --target=x86_64 --program-prefix= " LIBDIRSUFFIX="64" elif [ "$ARCH" = "armv7hl" ]; then @@ -96,12 +101,11 @@ zcat $CWD/grub.dejavusansmono.gfxterm.font.diff.gz | patch -p1 --verbose || exit # Terminate EFI several times. This is a workaround for broken UEFI firmware. zcat $CWD/grub.e75fdee420a7ad95e9a465c9699adc2e2e970440.terminate.efi.several.times.diff.gz | patch -p1 --verbose || exit 1 -for i in 1 2 ; do - # Skip to regular build if EFI support is not requested: - if [ i = 1 -a -z "$EFI_FLAGS" ]; then - continue; - fi +# Fix security issue when reading username and password: +zcat $CWD/0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch.gz | patch -p1 --verbose || exit 1 +build_grub() { + EFI_DO="$*" # Configure: CFLAGS="$SLKCFLAGS" \ ./configure \ @@ -112,16 +116,26 @@ for i in 1 2 ; do --infodir=/usr/info \ --mandir=/usr/man \ --disable-werror \ - $EFI_FLAGS + $EFI_DO # Build and install: make clean make $NUMJOBS || make || exit 1 make install DESTDIR=$PKG || exit 1 - # Clear $EFI_FLAGS for a regular build: - unset EFI_FLAGS -done + # Clear $EFI_DO : + unset EFI_DO +} + +# Build 32bit and 64bit efi targets if requested: +if [ -n "$EFI32_FLAGS" ]; then + build_grub $EFI32_FLAGS +fi +if [ -n "$EFI_FLAGS" ]; then + build_grub $EFI_FLAGS +fi +# Always end with regular build: +build_grub # Preserve the contents of /etc/grub.d/40_custom: mv $PKG/etc/grub.d/40_custom $PKG/etc/grub.d/40_custom.new @@ -132,9 +146,19 @@ mv $PKG/etc/grub.d/40_custom $PKG/etc/grub.d/40_custom.new find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null ) +# Put bash-completion file in system directory: +mkdir -p $PKG/usr/share/bash-completion/completions/ +mv $PKG/etc/bash_completion.d/grub \ + $PKG/usr/share/bash-completion/completions/grub +rmdir --parents $PKG/etc/bash_completion.d 2>/dev/null + +# Install default options file: mkdir -p $PKG/etc/default cat $CWD/etc.default.grub > $PKG/etc/default/grub.new +# Create a directory for grub.cfg: +mkdir -p $PKG/boot/grub + # Add fonts, if found on the system: FONT_SIZE=${FONT_SIZE:-19} if [ -r /usr/share/fonts/TTF/unifont.ttf ]; then diff --git a/source/a/gzip/gzip.SlackBuild b/source/a/gzip/gzip.SlackBuild index 333f8d33..f45bcd4a 100755 --- a/source/a/gzip/gzip.SlackBuild +++ b/source/a/gzip/gzip.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2006-2013 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2006-2016 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -29,7 +29,7 @@ NUMJOBS=${NUMJOBS:--j6} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -40,10 +40,8 @@ CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-${PKGNAM} -if [ "$ARCH" = "i386" ]; then - SLKCFLAGS="-O2 -march=i386 -mcpu=i686" -elif [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" elif [ "$ARCH" = "x86_64" ]; then @@ -147,7 +145,7 @@ fi # Add a documentation directory: mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION cp -a \ - AUTHORS COPYING INSTALL NEWS README README-alpha THANKS TODO \ + AUTHORS COPYING* NEWS README* THANKS TODO \ $PKG/usr/doc/${PKGNAM}-$VERSION # If there's a ChangeLog, installing at least part of the recent history diff --git a/source/a/hdparm/hdparm.SlackBuild b/source/a/hdparm/hdparm.SlackBuild index 951436d1..3f39ca27 100755 --- a/source/a/hdparm/hdparm.SlackBuild +++ b/source/a/hdparm/hdparm.SlackBuild @@ -27,7 +27,7 @@ BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; diff --git a/source/a/hwdata/hwdata.SlackBuild b/source/a/hwdata/hwdata.SlackBuild new file mode 100755 index 00000000..6381d27e --- /dev/null +++ b/source/a/hwdata/hwdata.SlackBuild @@ -0,0 +1,115 @@ +#!/bin/sh + +# Slackware build script for hwdata + +# Copyright 2015 Robby Workman, Tuscaloosa, Alabama, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# tarball created from git repo - releases have git tags +# e.g. "git checkout hwdata-0.283" +# Remove the .git/ directory for size considerations +# +# Ready made tarballs are also available from this location: +# https://git.fedorahosted.org/git/hwdata.git + +PKGNAM=hwdata +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +# Override $ARCH, since there are no binaries included at this time: +ARCH=noarch + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1 +cd $PKGNAM-$VERSION || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +./configure --libdir=/lib || exit 1 +#make download # grab latest copies of everything +make install DESTDIR=$PKG || exit 1 + +# Put compat symlinks in place for stuff that doesn't know about pkgconfig +for file in iab.txt oui.txt pci.ids pnp.ids usb.ids; do + if [ -r $PKG/usr/share/hwdata/$file ]; then + ln -s hwdata/$file $PKG/usr/share/$file + fi +done + +# Move the provided blacklist stuff to the docs. +# Ideally, we have that info in udev package. +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + COPYING* LICENSE README* \ + $PKG/usr/doc/$PKGNAM-$VERSION +mv $PKG/lib/modprobe.d/dist-blacklist.conf $PKG/usr/doc/$PKGNAM-$VERSION + +# Remove the usused directories /lib/modprobe.d and /lib one at a time +# so we'll notice if anything new is added there: +#rm -rf $PKG/lib +rmdir $PKG/lib/modprobe.d || exit 1 +rmdir $PKG/lib || exit 1 + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/source/a/hwdata/slack-desc b/source/a/hwdata/slack-desc new file mode 100644 index 00000000..02962272 --- /dev/null +++ b/source/a/hwdata/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +hwdata: hwdata (hardware identification and configuration data) +hwdata: +hwdata: hwdata contains various hardware identification and configuration +hwdata: data, such as the pci.ids database and MonitorsDB databases. +hwdata: +hwdata: Homepage: https://git.fedorahosted.org/git/hwdata.git +hwdata: +hwdata: +hwdata: +hwdata: +hwdata: diff --git a/source/a/infozip/infozip.SlackBuild b/source/a/infozip/infozip.SlackBuild index 9205fca6..1fdd779b 100755 --- a/source/a/infozip/infozip.SlackBuild +++ b/source/a/infozip/infozip.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2008, 2009, 2010, 2013, 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,7 +22,7 @@ VERSION=6.0 ZIP=3.0 -BUILD=${BUILD:-2} +BUILD=${BUILD:-3} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -67,6 +67,7 @@ tar xvf $CWD/unzip$(echo $VERSION | tr -d .).tar.?z* || exit 1 cd unzip$(echo $VERSION | tr -d .) zcat $CWD/unzip.use.system.libbz2.diff.gz | patch -p1 --verbose || exit 1 zcat $CWD/unzip.process.c.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/unzip.git.archive.fix.diff.gz | patch -p0 --verbose || exit 1 chown -R root:root . mkdir -p $PKG/usr/doc/unzip-$VERSION cp -a BUGS COPYING* Contents History.* INSTALL LICENSE README ToDo WHERE \ diff --git a/source/a/infozip/unzip.git.archive.fix.diff b/source/a/infozip/unzip.git.archive.fix.diff new file mode 100644 index 00000000..6349a2c9 --- /dev/null +++ b/source/a/infozip/unzip.git.archive.fix.diff @@ -0,0 +1,15 @@ +--- process.c ++++ process.c +@@ -1751,6 +1751,12 @@ int process_cdir_file_hdr(__G) /* ret + = (G.crec.general_purpose_bit_flag & (1 << 11)) == (1 << 11); + #endif + ++#ifdef SYMLINKS ++ /* Initialize the symlink flag, may be set by the platform-specific ++ mapattr function. */ ++ G.pInfo->symlink = 0; ++#endif ++ + return PK_COOL; + + } /* end function process_cdir_file_hdr() */ diff --git a/source/a/kmod/kmod-15.tar.sign b/source/a/kmod/kmod-15.tar.sign deleted file mode 100644 index 0e79dd5b..00000000 --- a/source/a/kmod/kmod-15.tar.sign +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.21 (GNU/Linux) - -iQIcBAABAgAGBQJSFhpaAAoJEJuipaYwy+pT55AP/jZK04iAzoyrGYXlFWo+ngBP -f34CueSb3OJs+JQ6CJZNS5qg83XmOWhTSt2r41nH+N5kWmrF2NsDJ58zzqWy/Rwq -VW4AmSImeJSAi4jtV5T3gjp25htqO1pW57dPwugX4F13PkxqD+l8lJ28X0FcY32k -POR0uiYc0qLOssUASVdFJeRgrYA9V3/Se+fOr118GYWji5S+NlwYSCKb3Khu/j2U -cUHeVrEhbRbYGZ5sQ2ylC0RoM+9G/fJz9cSCxeZh1F6KuCfgJDOzfzLwTQzcRjSA -sBflTMWcw6KcLa5AvNYIrQHIDXHrVn0kR1yQb4glgYygPfU2LhAA20VGPyYsp4JS -6C55VrkXmhX6IlwA0LTdVGkNBOWmuPxzxtMInPoOVapCRHl1KnLMa68T38VSDwS8 -8g6fKM7gUEM5wu3w1ica9yXy9panaom7HBrMFouOjk9YU1DqkIV+ItbBfE9HdW1X -x5LqoOktiuVtJCNbj8Ll6OsjMfKROa+pnRxMT95wA5l2e5rZljR6Ie0deTaRDFX/ -IOMHQn/oK3CIfYcjM5SOn3AaFNHE9KleYSewV/XC/m4YOnaKmUoCrhMJSJQxPUue -9qLh3fqqSQSD3cZmRPfBFaT2cGnehbmx5oPh8uZIxqV8z21y6oNF3CbKSij9ZaeO -sigBwb3OIcf7K5jCrdJl -=qu/t ------END PGP SIGNATURE----- diff --git a/source/a/kmod/kmod-22.tar.sign b/source/a/kmod/kmod-22.tar.sign new file mode 100644 index 00000000..12f5300f --- /dev/null +++ b/source/a/kmod/kmod-22.tar.sign @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2 + +iQIcBAABCAAGBQJWS8KQAAoJEJuipaYwy+pTtI4P+gM1moO6Qt3CEP1GCfZPek9F ++2MxgtWnttSwroJ1PnQowv/yJtAtjnyBr78KK2M79g3XWRn2zXbf8+7S49dgrcpO +f7lHrvP+WIzTtS4mk7GTUk7LX8fUUOWr3na2aO6Cv2diJRW9JBKHWWzij5Wa0Zvn +JnA8b2CxweJp7KBcf+GxcLBkUrN5/5Qfej8KCK9pp4RUt1ks6vUTYaFjZHugr8ks +4U6GQbaFqpICpVd1k3qj/kfgftkPkQUcOL7MfK+LBtPuyA4rycy01hsESrB05gaJ +lw6dcmCAcI7xoI/2EpqD9D5pBGMR13IbBb4KmO2CdE30cQxT/R4oH1mt+Dbn3kwl +s185nSCqe7yo+F+qYmdqAy+u76yjXnlVl9/CpOBTkRkC0U8zq/QmnyBDZyYrcl5k +3z9UH+p5Y0lXFopbljEdGJfiLCWjP7g1ynqQl4mVL3ymfu0nW5/7/bsQq8lh20uh +c0u0qLAKzsL6XlO1YN60tzDHv43cZ3UoEtlNozJgLcNGM2KyrQsonwPtqMjNCSzw +xqQHcJZvcO1C3TLQ4FYGHfpN8/kNK3LpWLV7D+WHfZRQnU7MwuPkU7cUJrt4uh8w +IislcX/AbkbZ7VG81IaV/ni5jVfFBfnxFnW2xIgO2cN4xkTo8TVt1Qw0kF+TYaD7 +st8UBrgP1xKixic51979 +=vwC8 +-----END PGP SIGNATURE----- diff --git a/source/a/kmod/kmod.SlackBuild b/source/a/kmod/kmod.SlackBuild index 4eb58cfa..807f5ee8 100755 --- a/source/a/kmod/kmod.SlackBuild +++ b/source/a/kmod/kmod.SlackBuild @@ -2,8 +2,8 @@ # Slackware build script for kmod -# Copyright 2011,2012,2013 Robby Workman, Northport, Alabama, USA -# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2011-2015 Robby Workman, Tuscaloosa, Alabama, USA +# Copyright 2013-2015 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -24,12 +24,12 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PKGNAM=kmod -VERSION=${VERSION:-15} +VERSION=${VERSION:-22} BUILD=${BUILD:-1} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) ARCH=i486 ;; + i?86) ARCH=i586 ;; arm*) ARCH=arm ;; *) ARCH=$( uname -m ) ;; esac @@ -39,8 +39,8 @@ CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-$PKGNAM -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -82,6 +82,7 @@ CXXFLAGS="$SLKCFLAGS" \ --docdir=/usr/doc/$PKGNAM-$VERSION \ --with-xz \ --with-zlib \ + --enable-python \ --build=$ARCH-slackware-linux || exit 1 make || exit 1 diff --git a/source/a/less/less.SlackBuild b/source/a/less/less.SlackBuild index 49a15eed..3e6908da 100755 --- a/source/a/less/less.SlackBuild +++ b/source/a/less/less.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2005-2010 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2005-2015 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -27,7 +27,7 @@ BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -36,8 +36,8 @@ fi NUMJOBS=${NUMJOBS:-" -j7 "} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" elif [ "$ARCH" = "x86_64" ]; then @@ -63,7 +63,9 @@ cd $TMP rm -rf less-$VERSION tar xvf $CWD/less-$VERSION.tar.?z* || exit 1 cd less-$VERSION -zcat $CWD/less.sysconfdir.diff.gz | patch -p1 --verbose || exit 1 + +# Fix path in manpage: +sed -i "s,/usr/local/etc,/etc,g" less.nro chown -R root:root . find . \ diff --git a/source/a/less/less.sysconfdir.diff b/source/a/less/less.sysconfdir.diff deleted file mode 100644 index 25c5bb58..00000000 --- a/source/a/less/less.sysconfdir.diff +++ /dev/null @@ -1,15 +0,0 @@ ---- ./less.nro.orig Mon May 27 17:14:24 2002 -+++ ./less.nro Mon May 27 17:14:46 2002 -@@ -947,10 +947,10 @@ - Otherwise, - .I less - looks in a standard place for the system-wide lesskey file: --On Unix systems, the system-wide lesskey file is /usr/local/etc/sysless. -+On Unix systems, the system-wide lesskey file is /etc/sysless. - (However, if - .I less --was built with a different sysconf directory than /usr/local/etc, -+was built with a different sysconf directory than /etc, - that directory is where the sysless file is found.) - On MS-DOS and Windows systems, the system-wide lesskey file is c:\\_sysless. - On OS/2 systems, the system-wide lesskey file is c:\\sysless.ini. diff --git a/source/a/libcgroup/libcgroup.SlackBuild b/source/a/libcgroup/libcgroup.SlackBuild index cc4cd421..b15b91ec 100755 --- a/source/a/libcgroup/libcgroup.SlackBuild +++ b/source/a/libcgroup/libcgroup.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2011, 2014 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,7 +23,7 @@ PKGNAM=libcgroup VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then diff --git a/source/a/libcgroup/libcgroup.init.diff b/source/a/libcgroup/libcgroup.init.diff index 72dcaa31..c3f110ed 100644 --- a/source/a/libcgroup/libcgroup.init.diff +++ b/source/a/libcgroup/libcgroup.init.diff @@ -1,6 +1,6 @@ ---- ./scripts/init.d/cgred.in.orig 2011-03-08 05:29:42.000000000 -0600 -+++ ./scripts/init.d/cgred.in 2013-02-23 16:15:54.054745738 -0600 -@@ -39,9 +39,8 @@ +--- ./scripts/init.d/cgred.in.orig 2014-01-13 08:05:56.000000000 -0600 ++++ ./scripts/init.d/cgred.in 2014-08-25 14:38:35.588193215 -0500 +@@ -39,13 +39,12 @@ # Sanity checks [ -x $CGRED_BIN ] || exit 1 @@ -10,8 +10,14 @@ -. /lib/lsb/init-functions # Read in configuration options. - if [ -f "/etc/sysconfig/cgred.conf" ] ; then -@@ -70,16 +69,16 @@ +-if [ -f "/etc/sysconfig/cgred.conf" ] ; then +- . /etc/sysconfig/cgred.conf ++if [ -f $CGRED_CONF ] ; then ++ . $CGRED_CONF + OPTIONS="$NODAEMON $LOG" + if [ -n "$LOG_FILE" ]; then + OPTIONS="$OPTIONS --logfile=$LOG_FILE" +@@ -70,13 +69,13 @@ { echo -n $"Starting CGroup Rules Engine Daemon: " if [ -f "$lockfile" ]; then @@ -19,19 +25,15 @@ + echo "$servicename is already running with PID `cat ${pidfile}`" return 0 fi - if [ ! -s $CGRED_CONF ]; then -- log_failure_msg "not configured" -+ echo "not configured" - return 6 - fi - if ! grep "^cgroup" /proc/mounts &>/dev/null; then + num=`grep "cgroup" /proc/mounts | awk '$3=="cgroup"' | wc -l` + if [ $num -eq 0 ]; then echo - log_failure_msg $"Cannot find cgroups, is cgconfig service running?" + echo $"Cannot find cgroups, is cgconfig service running?" return 1 fi daemon --check $servicename --pidfile $pidfile $CGRED_BIN $OPTIONS -@@ -100,7 +99,7 @@ +@@ -97,7 +96,7 @@ { echo -n $"Stopping CGroup Rules Engine Daemon..." if [ ! -f $pidfile ]; then @@ -40,7 +42,7 @@ return 0 fi killproc -p $pidfile -TERM "$processname" -@@ -146,13 +145,13 @@ +@@ -143,13 +142,13 @@ echo $"Reloading rules configuration..." kill -s 12 `cat ${pidfile}` RETVAL=$? @@ -60,8 +62,8 @@ fi ;; *) ---- ./scripts/init.d/cgconfig.in.orig 2011-12-06 03:42:15.000000000 -0600 -+++ ./scripts/init.d/cgconfig.in 2013-02-23 16:23:51.530775095 -0600 +--- ./scripts/init.d/cgconfig.in.orig 2014-01-13 08:05:56.000000000 -0600 ++++ ./scripts/init.d/cgconfig.in 2014-08-25 14:38:38.291193382 -0500 @@ -36,11 +36,6 @@ servicename=cgconfig lockfile=/var/lock/subsys/$servicename @@ -75,8 +77,8 @@ CREATE_DEFAULT=yes if [ -e /etc/sysconfig/cgconfig ]; then @@ -54,8 +49,8 @@ - grep -m1 '^\*[[:space:]]\+' /etc/cgrules.conf | \ - read user ctrl defaultcgroup + read user ctrl defaultcgroup <<< \ + $(grep -m1 '^\*[[:space:]]\+' /etc/cgrules.conf) if [ -n "$defaultcgroup" -a "$defaultcgroup" = "*" ]; then - log_warning_msg "/etc/cgrules.conf incorrect" - log_warning_msg "Overriding it" diff --git a/source/a/libgudev/libgudev.SlackBuild b/source/a/libgudev/libgudev.SlackBuild new file mode 100755 index 00000000..680c95f7 --- /dev/null +++ b/source/a/libgudev/libgudev.SlackBuild @@ -0,0 +1,116 @@ +#!/bin/sh + +# Copyright 2015 Patrick J. Volkerding, Sebeka, MN, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PKGNAM=libgudev +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)} +BUILD=${BUILD:-1} + +NUMJOBS=${NUMJOBS:-" -j7 "} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i586 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + +if [ "$ARCH" = "x86_64" ]; then + LIBDIRSUFFIX="64" +else + LIBDIRSUFFIX="" +fi + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG/lib/udev +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1 +cd $PKGNAM-$VERSION || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +LDFLAGS="$LDFLAGS -lrt" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --bindir=/sbin \ + --sbindir=/sbin \ + --libexecdir=/lib \ + --enable-introspection \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --enable-static \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +# Move shared library to /lib${LIBDIRSUFFIX}: +mkdir $PKG/lib${LIBDIRSUFFIX} +( cd $PKG/usr/lib${LIBDIRSUFFIX} + for file in lib*.so.?.* ; do + mv $file ../../lib${LIBDIRSUFFIX} + ln -sf ../../lib${LIBDIRSUFFIX}/$file . + done + cp -a lib*.so.? ../../lib${LIBDIRSUFFIX} +) + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + COPYING* README* TODO \ + $PKG/usr/doc/$PKGNAM-$VERSION + +# Compress and fix manpage symlinks: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c y $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/source/a/libgudev/slack-desc b/source/a/libgudev/slack-desc new file mode 100644 index 00000000..9ccca1e9 --- /dev/null +++ b/source/a/libgudev/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. Line +# up the first '|' above the ':' following the base package name, and the '|' on +# the right side marks the last column you can put a character in. You must make +# exactly 11 lines for the formatting to be correct. It's also customary to +# leave one space after the ':'. + + |-----handy-ruler-------------------------------------------------------| +libgudev: libgudev (udev GObject bindings library) +libgudev: +libgudev: This is libgudev, a library providing GObject bindings for libudev. +libgudev: It used to be part of udev, but it's now a project on its own. +libgudev: +libgudev: Homepage: http://wiki.gnome.org/Projects/libgudev +libgudev: +libgudev: +libgudev: +libgudev: +libgudev: diff --git a/source/a/lilo/lilo.SlackBuild b/source/a/lilo/lilo.SlackBuild index c481b015..ec4a3ba8 100755 --- a/source/a/lilo/lilo.SlackBuild +++ b/source/a/lilo/lilo.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009, 2010, 2011, 2013, 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -21,13 +21,13 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=${VERSION:-24.0} -BUILD=${BUILD:-4} +VERSION=${VERSION:-24.2} +BUILD=${BUILD:-2} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -47,6 +47,8 @@ tar xvf $CWD/lilo-$VERSION.tar.gz || exit 1 cd lilo-$VERSION chown -R root:root . +zcat $CWD/lilo.ignore.usable.memory.above.4G.diff.gz | patch -p1 --verbose || exit 1 + make || exit 1 make -i install DESTDIR=$PKG || exit 1 diff --git a/source/a/lilo/lilo.ignore.usable.memory.above.4G.diff b/source/a/lilo/lilo.ignore.usable.memory.above.4G.diff new file mode 100644 index 00000000..ee5ad8bc --- /dev/null +++ b/source/a/lilo/lilo.ignore.usable.memory.above.4G.diff @@ -0,0 +1,42 @@ +From Sl4ck3ver on LQ: +http://www.linuxquestions.org/questions/slackware-14/[patch]-found-a-nasty-lilo-bug-with-a-2-line-fix-for-14-2-a-4175577969/ + +Every BIOS-e820 entry contains start and size of the area as 64-bit value +and is shifted right 10 bits (1024) with "shrd" while searching for the +largest "usable" memory range entry. + + +Finally the found values are converted back into real addresses by shifting +left 10 bits... + +BUT this is done the wrong only using a 32-bit register so the high dword is lost!!! + +0x000000027fffffff gets 0x000000007fffffff :-( + +Every EXISTING system which happens to work fine just happens to +have an entry which just contains "usable" memory at that address. +Often in the form of an entry like: + +BIOS-e820: [mem 0x0000000000100000-0x00000000fxxxxxxx] usable + +Virtually all systems have "usable" memory at that position, so until +now this bug was not noticed! + + +HERE IS THE FIX, A 2-LINER: +=========================== + +Ignore any usable memory range not starting below 4GB and +so avoid the truncation, really just a work around :-) + +--- ./src/second.S.orig 2016-04-21 15:12:57.155456806 -0500 ++++ ./src/second.S 2016-04-21 15:15:08.918466313 -0500 +@@ -2975,6 +2975,8 @@ + shrd memmap+8,eax,#10 ; convert to 1k + cmp dword memmap,#1024 ; below 1M + jb e8go2 ; below 1M, no interest ++ cmp dword memmap,#4*1024*1024 ; above 4G ++ jae e8go2 ; above 4G, no interest + cmp esi,memmap+8 ; check size + ja e8go2 ; want largest + mov edx,memmap ; start (in 1k) diff --git a/source/a/lilo/liloconfig b/source/a/lilo/liloconfig index 75e3b0eb..f498da72 100644 --- a/source/a/lilo/liloconfig +++ b/source/a/lilo/liloconfig @@ -134,7 +134,7 @@ PROBE() { fdisk -l $devs 2> /dev/null done else # We got output without /dev/ide or /dev/scsi, so it can probably be trusted: - fdisk -l 2> /dev/null + fdisk -l 2> /dev/null | sed -e "s/Linux filesystem/Linux/g" fi } diff --git a/source/a/logrotate/logrotate.SlackBuild b/source/a/logrotate/logrotate.SlackBuild index 63670a0a..13c1a230 100755 --- a/source/a/logrotate/logrotate.SlackBuild +++ b/source/a/logrotate/logrotate.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2008, 2009, 2012, 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -20,7 +20,7 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=${VERSION:-3.8.6} +VERSION=${VERSION:-3.8.9} BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: diff --git a/source/a/lrzip/lrzip.SlackBuild b/source/a/lrzip/lrzip.SlackBuild index 5cc09be6..a69ed91e 100755 --- a/source/a/lrzip/lrzip.SlackBuild +++ b/source/a/lrzip/lrzip.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2011 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2011, 2015 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -28,7 +28,7 @@ BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -37,8 +37,8 @@ fi NUMJOBS=${NUMJOBS:-" -j7 "} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" diff --git a/source/a/lvm2/create-dm-run-dir.diff b/source/a/lvm2/create-dm-run-dir.diff new file mode 100644 index 00000000..a0e0a54f --- /dev/null +++ b/source/a/lvm2/create-dm-run-dir.diff @@ -0,0 +1,13 @@ +diff -Nur LVM2.2.02.114.orig/daemons/dmeventd/dmeventd.c LVM2.2.02.114/daemons/dmeventd/dmeventd.c +--- LVM2.2.02.114.orig/daemons/dmeventd/dmeventd.c 2014-11-28 17:07:42.000000000 -0600 ++++ LVM2.2.02.114/daemons/dmeventd/dmeventd.c 2014-12-08 22:46:58.702066654 -0600 +@@ -2176,6 +2176,9 @@ + if (_restart) + restart(); + ++ /* Create rundir */ ++ mkdir(DEFAULT_DM_RUN_DIR, 0700); ++ + #ifdef __linux__ + _systemd_activation = _systemd_handover(&fifos); + #endif diff --git a/source/a/lvm2/fix-build-with-udev-183.patch b/source/a/lvm2/fix-build-with-udev-183.patch deleted file mode 100644 index 747926c4..00000000 --- a/source/a/lvm2/fix-build-with-udev-183.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 57f4ebb843195bdd29c0d58e1659eeb0e9700081 Mon Sep 17 00:00:00 2001 -From: "Wulf C. Krueger" <philantrop@exherbo.org> -Date: Sun, 27 May 2012 00:34:55 +0200 -Subject: [PATCH] lvm2: Fix build with systemd/udev-183. - ---- - lib/misc/lvm-wrappers.c | 2 +- - tools/dmsetup.c | 3 +-- - 2 files changed, 2 insertions(+), 3 deletions(-) - -diff --git a/lib/misc/lvm-wrappers.c b/lib/misc/lvm-wrappers.c -index 84f61a6..d4fcea6 100644 ---- a/lib/misc/lvm-wrappers.c -+++ b/lib/misc/lvm-wrappers.c -@@ -72,7 +72,7 @@ const char *udev_get_dev_dir(void) - return NULL; - } - -- return udev_get_dev_path(_udev); -+ return "/dev"; - } - - struct udev* udev_get_library_context(void) -diff --git a/tools/dmsetup.c b/tools/dmsetup.c -index 6934de8..e09b56c 100644 ---- a/tools/dmsetup.c -+++ b/tools/dmsetup.c -@@ -1009,7 +1009,7 @@ static int _udevcookies(CMD_ARGS) - static int _set_up_udev_support(const char *dev_dir) - { - struct udev *udev; -- const char *udev_dev_dir; -+ const char *udev_dev_dir = "/dev"; - size_t udev_dev_dir_len; - int dirs_diff; - const char *env; -@@ -1031,7 +1031,6 @@ static int _set_up_udev_support(const char *dev_dir) - _udev_cookie); - - if (!(udev = udev_new()) || -- !(udev_dev_dir = udev_get_dev_path(udev)) || - !*udev_dev_dir) { - log_error("Could not get udev dev path."); - return 0; diff --git a/source/a/lvm2/lvm2.SlackBuild b/source/a/lvm2/lvm2.SlackBuild index d662476c..d3251c67 100755 --- a/source/a/lvm2/lvm2.SlackBuild +++ b/source/a/lvm2/lvm2.SlackBuild @@ -29,7 +29,7 @@ NUMJOBS=${NUMJOBS:-" -j7 "} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -40,8 +40,8 @@ CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-lvm2 -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" @@ -68,8 +68,7 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -# Not yet. -#zcat $CWD/fix-build-with-udev-183.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/create-dm-run-dir.diff.gz | patch -p1 --verbose || exit 1 # uid 0 = root # gid 6 = disk @@ -93,6 +92,7 @@ CFLAGS="$SLKCFLAGS" \ --with-device-mode=0660 \ --with-default-locking-dir=/run/lock/lvm \ --with-default-run-dir=/run/lvm \ + --with-default-dm-run-dir=/run/lvm \ --with-clvmd-pidfile=/run/lvm/clvmd.pid \ --with-cmirrord-pidfile=/run/lvm/cmirrord.pid \ --with-dmeventd-pidfile=/run/lvm/dmeventd.pid \ diff --git a/source/a/mcelog/mcelog-1.0pre3.tar.bz2.sign b/source/a/mcelog/mcelog-1.0pre3.tar.bz2.sign deleted file mode 100644 index 1f9c73a4..00000000 --- a/source/a/mcelog/mcelog-1.0pre3.tar.bz2.sign +++ /dev/null @@ -1,8 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.9 (GNU/Linux) -Comment: See http://www.kernel.org/signature.html for info - -iD8DBQBLV9g/yGugalF9Dw4RAlheAJ4t2DqUZX1ySR3QH8RdVHLYyePHawCcC/Ct -N94+oQu1HHumOx0V6Ft+2Fo= -=eEE6 ------END PGP SIGNATURE----- diff --git a/source/a/mcelog/mcelog.SlackBuild b/source/a/mcelog/mcelog.SlackBuild index 0a461cd8..1f5e1d7b 100755 --- a/source/a/mcelog/mcelog.SlackBuild +++ b/source/a/mcelog/mcelog.SlackBuild @@ -23,13 +23,13 @@ PKGNAM=mcelog -VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | 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 case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -47,11 +47,9 @@ mkdir -p $TMP $PKG cd $TMP rm -rf $PKGNAM-$VERSION -tar xvf $CWD/$PKGNAM-$VERSION.tar.bz2 || exit 1 +tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1 cd $PKGNAM-$VERSION -zcat $CWD/mcelog.init.diff.gz | patch -p1 --verbose || exit 1 - chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ @@ -59,23 +57,25 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -make $NUMJOBS || make || exit 1 +zcat $CWD/mcelog.init.diff.gz | patch -p1 --verbose || exit 1 -mkdir -p $PKG/etc/mcelog $PKG/usr/sbin $PKG/usr/man/man8 -install -m 755 -p mcelog $PKG/usr/sbin/mcelog -install -m 644 -p mcelog.8 $PKG/usr/man/man8 -gzip -9 $PKG/usr/man/man8/mcelog.8 -install -m 644 -p -b mcelog.conf $PKG/etc/mcelog/mcelog.conf.new -for i in cache-error-trigger dimm-error-trigger page-error-trigger socket-memory-error-trigger ; do - install -m 755 -p -b triggers/$i $PKG/etc/mcelog -done +make $NUMJOBS DOCDIR=/usr/doc/mcelog-$VERSION MANDIR=/usr/man \ + || make DOCDIR=/usr/doc/mcelog-$VERSION MANDIR=/usr/man \ + || exit 1 -mkdir -p $PKG/etc/rc.d -install -m 755 -p mcelog.init $PKG/etc/rc.d/rc.mcelog.new +make install DOCDIR=/usr/doc/mcelog-$VERSION MANDIR=/usr/man DESTDIR=$PKG + +mv $PKG/etc/mcelog/mcelog.conf $PKG/etc/mcelog/mcelog.conf.new +rm -f $PKG/etc/mcelog/*~ mkdir -p $PKG/etc/logrotate.d install -m 644 -p mcelog.logrotate $PKG/etc/logrotate.d/mcelog.new +mkdir -p $PKG/etc/rc.d +install -m 755 -p mcelog.init $PKG/etc/rc.d/rc.mcelog.new + +gzip -9 $PKG/usr/man/man?/*.? + mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION cp -a \ CHANGES README* TODO* *.pdf \ diff --git a/source/a/mdadm/mdadm-3.3.4.tar.sign b/source/a/mdadm/mdadm-3.3.4.tar.sign new file mode 100644 index 00000000..70e2a563 --- /dev/null +++ b/source/a/mdadm/mdadm-3.3.4.tar.sign @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2 + +iQIcBAABCAAGBQJVvwgLAAoJEDnsnt1WYoG5NEwP/00Ip3ScYXglN7Co6/dIcF93 +qrJG8lvFbG5UicqpUcTmSN7yLconU58Zlw9U8tz3sx362BGgVTkHPCq4aKlrXyGS +HqD+1u+KNSeiz8UIitW22VpOnUuExYO08unwhYEos8LoRXM/MDUZBzE3sjI/UmKp +G6kCxl8oziJCvLfbUleO+A//ucFihW0Etx/VUqI4Q6CGTxQSDqQkiBXs7VtZv5cU +UvbDYO39Fj8NRG/JUl21ZdCgPbqQL9ohYmI9v0DkI1dXYe6KsNH/7FbXDGXgfwWl +soSJeMOjkIoF2dU52HXtDnX1YRr6twX0TCwMQCoJ3b+o6s55TDYA19Kg9xIHXhlG +8MSxYoP0hoabmdT+Zx2yJ0dD6qTMJCTD/DN4NDRUaK9OY83+1EfX/gOcKiMX7k47 +aPV4dSWBCYRlkjGZz9bK1jN+7AvDIej22QBoxwDZac+x/vUfV8ccwJOZQ08kYZYT +Gvy4zK6a6gWPj/XaujXm58j4rBBfapvpOQ+gssETDkiug8WCzLEmZnnD/DFbc6Rv +10Fs4C3hXt6OnrwpyOeP9XmXNDj4tTeYYNL3svbkv0MQXDtgXDoKldohwFs056rw +5IrDEVvKUuHCfspCNRP4CXN3+/R4p2TwTGrlyPmZTWqSCzVf9B1UnEIMxZ0gGmq/ +AykNvFYvq2+n5RaTWX5M +=PuYU +-----END PGP SIGNATURE----- diff --git a/source/a/mdadm/mdadm.SlackBuild b/source/a/mdadm/mdadm.SlackBuild index 7ede6ab7..dff9dd01 100755 --- a/source/a/mdadm/mdadm.SlackBuild +++ b/source/a/mdadm/mdadm.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2008, 2009, 2010, 2011, 2012, 2016 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -21,13 +21,13 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=${VERSION:-$(echo mdadm-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +VERSION=${VERSION:-$(echo mdadm-*.tar.xz | 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 case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -40,8 +40,8 @@ CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-mdadm -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -58,7 +58,7 @@ rm -rf $PKG mkdir -p $TMP $PKG cd $TMP rm -rf mdadm-$VERSION -tar xvf $CWD/mdadm-$VERSION.tar.?z || exit 1 +tar xvf $CWD/mdadm-$VERSION.tar.xz || exit 1 cd mdadm-$VERSION chown -R root:root . @@ -98,7 +98,7 @@ cat mdadm.conf-example > $PKG/etc/mdadm.conf.new mkdir -p $PKG/usr/doc/mdadm-$VERSION cp -a \ - ANNOUNCE-$VERSION COPYING* INSTALL TODO \ + ANNOUNCE-$VERSION COPYING* INSTALL README* TODO \ $PKG/usr/doc/mdadm-$VERSION # If there's a ChangeLog, installing at least part of the recent history diff --git a/source/a/mkinitrd/busybox-dot-config.1.15.x b/source/a/mkinitrd/busybox-dot-config.1.15.x deleted file mode 100644 index 65e298b5..00000000 --- a/source/a/mkinitrd/busybox-dot-config.1.15.x +++ /dev/null @@ -1,903 +0,0 @@ -# -# Automatically generated make config: don't edit -# Busybox version: 1.15.3 -# Thu Dec 17 17:50:16 2009 -# -CONFIG_HAVE_DOT_CONFIG=y - -# -# Busybox Settings -# - -# -# General Configuration -# -CONFIG_DESKTOP=y -# CONFIG_EXTRA_COMPAT is not set -CONFIG_FEATURE_BUFFERS_USE_MALLOC=y -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set -CONFIG_SHOW_USAGE=y -CONFIG_FEATURE_VERBOSE_USAGE=y -CONFIG_FEATURE_COMPRESS_USAGE=y -CONFIG_FEATURE_INSTALLER=y -CONFIG_LOCALE_SUPPORT=y -# CONFIG_FEATURE_ASSUME_UNICODE is not set -# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set -CONFIG_LONG_OPTS=y -CONFIG_FEATURE_DEVPTS=y -# CONFIG_FEATURE_CLEAN_UP is not set -CONFIG_FEATURE_PIDFILE=y -CONFIG_FEATURE_SUID=y -CONFIG_FEATURE_SUID_CONFIG=y -CONFIG_FEATURE_SUID_CONFIG_QUIET=y -# CONFIG_SELINUX is not set -# CONFIG_FEATURE_PREFER_APPLETS is not set -CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" -CONFIG_FEATURE_SYSLOG=y -CONFIG_FEATURE_HAVE_RPC=y - -# -# Build Options -# -# CONFIG_STATIC is not set -# CONFIG_PIE is not set -# CONFIG_NOMMU is not set -# CONFIG_BUILD_LIBBUSYBOX is not set -# CONFIG_FEATURE_INDIVIDUAL is not set -# CONFIG_FEATURE_SHARED_BUSYBOX is not set -CONFIG_LFS=y -CONFIG_CROSS_COMPILER_PREFIX="" -CONFIG_EXTRA_CFLAGS="" - -# -# Debugging Options -# -# CONFIG_DEBUG is not set -# CONFIG_DEBUG_PESSIMIZE is not set -# CONFIG_WERROR is not set -CONFIG_NO_DEBUG_LIB=y -# CONFIG_DMALLOC is not set -# CONFIG_EFENCE is not set -CONFIG_INCLUDE_SUSv2=y - -# -# Installation Options -# -CONFIG_INSTALL_NO_USR=y -CONFIG_INSTALL_APPLET_SYMLINKS=y -# CONFIG_INSTALL_APPLET_HARDLINKS is not set -# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set -# CONFIG_INSTALL_APPLET_DONT is not set -# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set -# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set -# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set -CONFIG_PREFIX="/tmp/package-mkinitrd/usr/share/mkinitrd/initrd-tree" - -# -# Busybox Library Tuning -# -CONFIG_PASSWORD_MINLEN=6 -CONFIG_MD5_SIZE_VS_SPEED=2 -# CONFIG_FEATURE_FAST_TOP is not set -# CONFIG_FEATURE_ETC_NETWORKS is not set -CONFIG_FEATURE_EDITING=y -CONFIG_FEATURE_EDITING_MAX_LEN=1024 -CONFIG_FEATURE_EDITING_VI=y -CONFIG_FEATURE_EDITING_HISTORY=64 -# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set -CONFIG_FEATURE_TAB_COMPLETION=y -# CONFIG_FEATURE_USERNAME_COMPLETION is not set -CONFIG_FEATURE_EDITING_FANCY_PROMPT=y -CONFIG_FEATURE_EDITING_ASK_TERMINAL=y -# CONFIG_FEATURE_NON_POSIX_CP is not set -CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y -CONFIG_FEATURE_COPYBUF_KB=4 -CONFIG_MONOTONIC_SYSCALL=y -CONFIG_IOCTL_HEX2STR_ERROR=y -# CONFIG_FEATURE_HWIB is not set - -# -# Applets -# - -# -# Archival Utilities -# -# CONFIG_FEATURE_SEAMLESS_LZMA is not set -CONFIG_FEATURE_SEAMLESS_BZ2=y -CONFIG_FEATURE_SEAMLESS_GZ=y -CONFIG_FEATURE_SEAMLESS_Z=y -CONFIG_AR=y -CONFIG_FEATURE_AR_LONG_FILENAMES=y -CONFIG_BUNZIP2=y -CONFIG_BZIP2=y -CONFIG_CPIO=y -CONFIG_FEATURE_CPIO_O=y -CONFIG_FEATURE_CPIO_P=y -# CONFIG_DPKG is not set -# CONFIG_DPKG_DEB is not set -# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set -CONFIG_GUNZIP=y -CONFIG_GZIP=y -CONFIG_LZOP=y -CONFIG_LZOP_COMPR_HIGH=y -CONFIG_RPM2CPIO=y -# CONFIG_RPM is not set -CONFIG_TAR=y -CONFIG_FEATURE_TAR_CREATE=y -CONFIG_FEATURE_TAR_AUTODETECT=y -CONFIG_FEATURE_TAR_FROM=y -CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y -# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set -CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y -CONFIG_FEATURE_TAR_LONG_OPTIONS=y -CONFIG_FEATURE_TAR_UNAME_GNAME=y -CONFIG_UNCOMPRESS=y -CONFIG_UNLZMA=y -CONFIG_FEATURE_LZMA_FAST=y -CONFIG_UNZIP=y - -# -# Coreutils -# -CONFIG_BASENAME=y -CONFIG_CAL=y -CONFIG_CAT=y -CONFIG_CATV=y -CONFIG_CHGRP=y -CONFIG_CHMOD=y -CONFIG_CHOWN=y -CONFIG_CHROOT=y -CONFIG_CKSUM=y -CONFIG_COMM=y -CONFIG_CP=y -CONFIG_CUT=y -CONFIG_DATE=y -CONFIG_FEATURE_DATE_ISOFMT=y -CONFIG_DD=y -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y -CONFIG_FEATURE_DD_IBS_OBS=y -CONFIG_DF=y -CONFIG_FEATURE_DF_FANCY=y -CONFIG_DIRNAME=y -CONFIG_DOS2UNIX=y -CONFIG_UNIX2DOS=y -CONFIG_DU=y -CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y -CONFIG_ECHO=y -CONFIG_FEATURE_FANCY_ECHO=y -CONFIG_ENV=y -CONFIG_FEATURE_ENV_LONG_OPTIONS=y -CONFIG_EXPAND=y -CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y -CONFIG_EXPR=y -CONFIG_EXPR_MATH_SUPPORT_64=y -CONFIG_FALSE=y -CONFIG_FOLD=y -CONFIG_FSYNC=y -CONFIG_HEAD=y -CONFIG_FEATURE_FANCY_HEAD=y -CONFIG_HOSTID=y -CONFIG_ID=y -CONFIG_INSTALL=y -CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y -CONFIG_LENGTH=y -CONFIG_LN=y -CONFIG_LOGNAME=y -CONFIG_LS=y -CONFIG_FEATURE_LS_FILETYPES=y -CONFIG_FEATURE_LS_FOLLOWLINKS=y -CONFIG_FEATURE_LS_RECURSIVE=y -CONFIG_FEATURE_LS_SORTFILES=y -CONFIG_FEATURE_LS_TIMESTAMPS=y -CONFIG_FEATURE_LS_USERNAME=y -CONFIG_FEATURE_LS_COLOR=y -CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y -CONFIG_MD5SUM=y -CONFIG_MKDIR=y -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y -CONFIG_MKFIFO=y -CONFIG_MKNOD=y -CONFIG_MV=y -CONFIG_FEATURE_MV_LONG_OPTIONS=y -CONFIG_NICE=y -CONFIG_NOHUP=y -CONFIG_OD=y -CONFIG_PRINTENV=y -CONFIG_PRINTF=y -CONFIG_PWD=y -CONFIG_READLINK=y -CONFIG_FEATURE_READLINK_FOLLOW=y -CONFIG_REALPATH=y -CONFIG_RM=y -CONFIG_RMDIR=y -# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set -CONFIG_SEQ=y -CONFIG_SHA1SUM=y -CONFIG_SHA256SUM=y -CONFIG_SHA512SUM=y -CONFIG_SLEEP=y -CONFIG_FEATURE_FANCY_SLEEP=y -# CONFIG_FEATURE_FLOAT_SLEEP is not set -CONFIG_SORT=y -CONFIG_FEATURE_SORT_BIG=y -CONFIG_SPLIT=y -CONFIG_FEATURE_SPLIT_FANCY=y -CONFIG_STAT=y -CONFIG_FEATURE_STAT_FORMAT=y -CONFIG_STTY=y -CONFIG_SUM=y -CONFIG_SYNC=y -CONFIG_TAC=y -CONFIG_TAIL=y -CONFIG_FEATURE_FANCY_TAIL=y -CONFIG_TEE=y -CONFIG_FEATURE_TEE_USE_BLOCK_IO=y -CONFIG_TEST=y -CONFIG_FEATURE_TEST_64=y -CONFIG_TOUCH=y -CONFIG_TR=y -CONFIG_FEATURE_TR_CLASSES=y -CONFIG_FEATURE_TR_EQUIV=y -CONFIG_TRUE=y -CONFIG_TTY=y -CONFIG_UNAME=y -CONFIG_UNEXPAND=y -CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y -CONFIG_UNIQ=y -CONFIG_USLEEP=y -CONFIG_UUDECODE=y -CONFIG_UUENCODE=y -CONFIG_WC=y -CONFIG_FEATURE_WC_LARGE=y -CONFIG_WHO=y -CONFIG_WHOAMI=y -CONFIG_YES=y - -# -# Common options for cp and mv -# -CONFIG_FEATURE_PRESERVE_HARDLINKS=y - -# -# Common options for ls, more and telnet -# -CONFIG_FEATURE_AUTOWIDTH=y - -# -# Common options for df, du, ls -# -CONFIG_FEATURE_HUMAN_READABLE=y - -# -# Common options for md5sum, sha1sum -# -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y - -# -# Console Utilities -# -CONFIG_CHVT=y -CONFIG_CLEAR=y -CONFIG_DEALLOCVT=y -CONFIG_DUMPKMAP=y -CONFIG_KBD_MODE=y -CONFIG_LOADFONT=y -CONFIG_LOADKMAP=y -CONFIG_OPENVT=y -CONFIG_RESET=y -CONFIG_RESIZE=y -CONFIG_FEATURE_RESIZE_PRINT=y -CONFIG_SETCONSOLE=y -CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y -CONFIG_SETFONT=y -CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y -CONFIG_DEFAULT_SETFONT_DIR="/usr/share/kbd/consolefonts" -CONFIG_SETKEYCODES=y -CONFIG_SETLOGCONS=y -CONFIG_SHOWKEY=y - -# -# Debian Utilities -# -CONFIG_MKTEMP=y -CONFIG_PIPE_PROGRESS=y -CONFIG_RUN_PARTS=y -CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y -CONFIG_FEATURE_RUN_PARTS_FANCY=y -CONFIG_START_STOP_DAEMON=y -CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y -CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y -CONFIG_WHICH=y - -# -# Editors -# -CONFIG_AWK=y -CONFIG_FEATURE_AWK_LIBM=y -CONFIG_CMP=y -CONFIG_DIFF=y -CONFIG_FEATURE_DIFF_BINARY=y -CONFIG_FEATURE_DIFF_DIR=y -CONFIG_FEATURE_DIFF_MINIMAL=y -CONFIG_ED=y -CONFIG_PATCH=y -CONFIG_SED=y -CONFIG_VI=y -CONFIG_FEATURE_VI_MAX_LEN=1024 -CONFIG_FEATURE_VI_8BIT=y -CONFIG_FEATURE_VI_COLON=y -CONFIG_FEATURE_VI_YANKMARK=y -CONFIG_FEATURE_VI_SEARCH=y -CONFIG_FEATURE_VI_USE_SIGNALS=y -CONFIG_FEATURE_VI_DOT_CMD=y -CONFIG_FEATURE_VI_READONLY=y -CONFIG_FEATURE_VI_SETOPTS=y -CONFIG_FEATURE_VI_SET=y -CONFIG_FEATURE_VI_WIN_RESIZE=y -CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y -CONFIG_FEATURE_ALLOW_EXEC=y - -# -# Finding Utilities -# -CONFIG_FIND=y -CONFIG_FEATURE_FIND_PRINT0=y -CONFIG_FEATURE_FIND_MTIME=y -CONFIG_FEATURE_FIND_MMIN=y -CONFIG_FEATURE_FIND_PERM=y -CONFIG_FEATURE_FIND_TYPE=y -CONFIG_FEATURE_FIND_XDEV=y -CONFIG_FEATURE_FIND_MAXDEPTH=y -CONFIG_FEATURE_FIND_NEWER=y -CONFIG_FEATURE_FIND_INUM=y -CONFIG_FEATURE_FIND_EXEC=y -CONFIG_FEATURE_FIND_USER=y -CONFIG_FEATURE_FIND_GROUP=y -CONFIG_FEATURE_FIND_NOT=y -CONFIG_FEATURE_FIND_DEPTH=y -CONFIG_FEATURE_FIND_PAREN=y -CONFIG_FEATURE_FIND_SIZE=y -CONFIG_FEATURE_FIND_PRUNE=y -# CONFIG_FEATURE_FIND_DELETE is not set -CONFIG_FEATURE_FIND_PATH=y -CONFIG_FEATURE_FIND_REGEX=y -# CONFIG_FEATURE_FIND_CONTEXT is not set -CONFIG_GREP=y -CONFIG_FEATURE_GREP_EGREP_ALIAS=y -CONFIG_FEATURE_GREP_FGREP_ALIAS=y -CONFIG_FEATURE_GREP_CONTEXT=y -CONFIG_XARGS=y -CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y -CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y -CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y -CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y - -# -# Init Utilities -# -CONFIG_INIT=y -CONFIG_FEATURE_USE_INITTAB=y -CONFIG_FEATURE_KILL_REMOVED=y -CONFIG_FEATURE_KILL_DELAY=10 -CONFIG_FEATURE_INIT_SCTTY=y -CONFIG_FEATURE_INIT_SYSLOG=y -CONFIG_FEATURE_EXTRA_QUIET=y -# CONFIG_FEATURE_INIT_COREDUMPS is not set -# CONFIG_FEATURE_INITRD is not set -CONFIG_HALT=y -# CONFIG_FEATURE_CALL_TELINIT is not set -CONFIG_TELINIT_PATH="" -CONFIG_MESG=y - -# -# Login/Password Management Utilities -# -CONFIG_FEATURE_SHADOWPASSWDS=y -# CONFIG_USE_BB_PWD_GRP is not set -# CONFIG_USE_BB_SHADOW is not set -CONFIG_USE_BB_CRYPT=y -CONFIG_USE_BB_CRYPT_SHA=y -CONFIG_ADDGROUP=y -CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y -CONFIG_FEATURE_ADDUSER_TO_GROUP=y -CONFIG_DELGROUP=y -CONFIG_FEATURE_DEL_USER_FROM_GROUP=y -CONFIG_FEATURE_CHECK_NAMES=y -CONFIG_ADDUSER=y -# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set -CONFIG_FIRST_SYSTEM_ID=1000 -CONFIG_LAST_SYSTEM_ID=12000 -CONFIG_DELUSER=y -CONFIG_GETTY=y -CONFIG_FEATURE_UTMP=y -CONFIG_FEATURE_WTMP=y -CONFIG_LOGIN=y -# CONFIG_PAM is not set -CONFIG_LOGIN_SCRIPTS=y -CONFIG_FEATURE_NOLOGIN=y -# CONFIG_FEATURE_SECURETTY is not set -CONFIG_PASSWD=y -CONFIG_FEATURE_PASSWD_WEAK_CHECK=y -CONFIG_CRYPTPW=y -CONFIG_CHPASSWD=y -CONFIG_SU=y -CONFIG_FEATURE_SU_SYSLOG=y -CONFIG_FEATURE_SU_CHECKS_SHELLS=y -CONFIG_SULOGIN=y -CONFIG_VLOCK=y - -# -# Linux Ext2 FS Progs -# -CONFIG_CHATTR=y -CONFIG_FSCK=y -CONFIG_LSATTR=y - -# -# Linux Module Utilities -# -# CONFIG_MODPROBE_SMALL is not set -# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set -# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set -CONFIG_INSMOD=y -CONFIG_RMMOD=y -CONFIG_LSMOD=y -CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y -CONFIG_MODPROBE=y -CONFIG_FEATURE_MODPROBE_BLACKLIST=y -CONFIG_DEPMOD=y - -# -# Options common to multiple modutils -# -CONFIG_FEATURE_2_4_MODULES=y -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set -CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS=y -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set -# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set -# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set -CONFIG_FEATURE_CHECK_TAINTED_MODULE=y -CONFIG_FEATURE_MODUTILS_ALIAS=y -CONFIG_FEATURE_MODUTILS_SYMBOLS=y -CONFIG_DEFAULT_MODULES_DIR="/lib/modules" -CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" - -# -# Linux System Utilities -# -CONFIG_ACPID=y -CONFIG_FEATURE_ACPID_COMPAT=y -CONFIG_BLKID=y -CONFIG_DMESG=y -CONFIG_FEATURE_DMESG_PRETTY=y -CONFIG_FBSET=y -CONFIG_FEATURE_FBSET_FANCY=y -CONFIG_FEATURE_FBSET_READMODE=y -CONFIG_FDFLUSH=y -CONFIG_FDFORMAT=y -CONFIG_FDISK=y -CONFIG_FDISK_SUPPORT_LARGE_DISKS=y -CONFIG_FEATURE_FDISK_WRITABLE=y -# CONFIG_FEATURE_AIX_LABEL is not set -# CONFIG_FEATURE_SGI_LABEL is not set -# CONFIG_FEATURE_SUN_LABEL is not set -CONFIG_FEATURE_OSF_LABEL=y -CONFIG_FEATURE_FDISK_ADVANCED=y -CONFIG_FINDFS=y -CONFIG_FREERAMDISK=y -CONFIG_FSCK_MINIX=y -CONFIG_MKFS_MINIX=y - -# -# Minix filesystem support -# -CONFIG_FEATURE_MINIX2=y -CONFIG_MKFS_VFAT=y -CONFIG_GETOPT=y -CONFIG_FEATURE_GETOPT_LONG=y -CONFIG_HEXDUMP=y -CONFIG_FEATURE_HEXDUMP_REVERSE=y -CONFIG_HD=y -CONFIG_HWCLOCK=y -CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y -CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y -CONFIG_IPCRM=y -CONFIG_IPCS=y -CONFIG_LOSETUP=y -CONFIG_MDEV=y -CONFIG_FEATURE_MDEV_CONF=y -CONFIG_FEATURE_MDEV_RENAME=y -CONFIG_FEATURE_MDEV_RENAME_REGEXP=y -CONFIG_FEATURE_MDEV_EXEC=y -CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y -CONFIG_MKSWAP=y -CONFIG_FEATURE_MKSWAP_UUID=y -CONFIG_MORE=y -CONFIG_FEATURE_USE_TERMIOS=y -CONFIG_VOLUMEID=y -CONFIG_FEATURE_VOLUMEID_EXT=y -CONFIG_FEATURE_VOLUMEID_REISERFS=y -CONFIG_FEATURE_VOLUMEID_FAT=y -CONFIG_FEATURE_VOLUMEID_HFS=y -CONFIG_FEATURE_VOLUMEID_JFS=y -CONFIG_FEATURE_VOLUMEID_XFS=y -CONFIG_FEATURE_VOLUMEID_NTFS=y -CONFIG_FEATURE_VOLUMEID_ISO9660=y -CONFIG_FEATURE_VOLUMEID_UDF=y -CONFIG_FEATURE_VOLUMEID_LUKS=y -CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y -CONFIG_FEATURE_VOLUMEID_CRAMFS=y -CONFIG_FEATURE_VOLUMEID_ROMFS=y -CONFIG_FEATURE_VOLUMEID_SYSV=y -# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set -CONFIG_FEATURE_VOLUMEID_LINUXRAID=y -CONFIG_MOUNT=y -CONFIG_FEATURE_MOUNT_FAKE=y -# CONFIG_FEATURE_MOUNT_VERBOSE is not set -CONFIG_FEATURE_MOUNT_HELPERS=y -CONFIG_FEATURE_MOUNT_LABEL=y -CONFIG_FEATURE_MOUNT_NFS=y -CONFIG_FEATURE_MOUNT_CIFS=y -CONFIG_FEATURE_MOUNT_FLAGS=y -CONFIG_FEATURE_MOUNT_FSTAB=y -CONFIG_PIVOT_ROOT=y -CONFIG_RDATE=y -CONFIG_RDEV=y -CONFIG_READPROFILE=y -CONFIG_RTCWAKE=y -CONFIG_SCRIPT=y -CONFIG_SCRIPTREPLAY=y -CONFIG_SETARCH=y -CONFIG_SWAPONOFF=y -CONFIG_FEATURE_SWAPON_PRI=y -CONFIG_SWITCH_ROOT=y -CONFIG_UMOUNT=y -CONFIG_FEATURE_UMOUNT_ALL=y - -# -# Common options for mount/umount -# -CONFIG_FEATURE_MOUNT_LOOP=y -CONFIG_FEATURE_MTAB_SUPPORT=y - -# -# Miscellaneous Utilities -# -CONFIG_ADJTIMEX=y -CONFIG_BBCONFIG=y -CONFIG_BEEP=y -CONFIG_FEATURE_BEEP_FREQ=4000 -CONFIG_FEATURE_BEEP_LENGTH_MS=30 -CONFIG_CHAT=y -CONFIG_FEATURE_CHAT_NOFAIL=y -# CONFIG_FEATURE_CHAT_TTY_HIFI is not set -CONFIG_FEATURE_CHAT_IMPLICIT_CR=y -# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set -# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set -# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set -# CONFIG_FEATURE_CHAT_CLR_ABORT is not set -CONFIG_CHRT=y -CONFIG_CROND=y -CONFIG_FEATURE_CROND_D=y -# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set -CONFIG_FEATURE_CROND_DIR="/var/spool/cron" -CONFIG_CRONTAB=y -CONFIG_DC=y -CONFIG_FEATURE_DC_LIBM=y -# CONFIG_DEVFSD is not set -# CONFIG_DEVFSD_MODLOAD is not set -# CONFIG_DEVFSD_FG_NP is not set -# CONFIG_DEVFSD_VERBOSE is not set -# CONFIG_FEATURE_DEVFS is not set -CONFIG_DEVMEM=y -CONFIG_EJECT=y -CONFIG_FEATURE_EJECT_SCSI=y -CONFIG_FBSPLASH=y -CONFIG_FLASH_LOCK=y -CONFIG_FLASH_UNLOCK=y -CONFIG_FLASH_ERASEALL=y -CONFIG_IONICE=y -CONFIG_INOTIFYD=y -CONFIG_LAST=y -CONFIG_FEATURE_LAST_SMALL=y -# CONFIG_FEATURE_LAST_FANCY is not set -CONFIG_LESS=y -CONFIG_FEATURE_LESS_MAXLINES=9999999 -CONFIG_FEATURE_LESS_BRACKETS=y -CONFIG_FEATURE_LESS_FLAGS=y -CONFIG_FEATURE_LESS_MARKS=y -CONFIG_FEATURE_LESS_REGEXP=y -CONFIG_FEATURE_LESS_WINCH=y -CONFIG_FEATURE_LESS_DASHCMD=y -CONFIG_FEATURE_LESS_LINENUMS=y -CONFIG_HDPARM=y -CONFIG_FEATURE_HDPARM_GET_IDENTITY=y -CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y -CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y -CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y -CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y -CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y -CONFIG_MAKEDEVS=y -# CONFIG_FEATURE_MAKEDEVS_LEAF is not set -CONFIG_FEATURE_MAKEDEVS_TABLE=y -# CONFIG_MAN is not set -# CONFIG_MICROCOM is not set -CONFIG_MOUNTPOINT=y -CONFIG_MT=y -CONFIG_RAIDAUTORUN=y -CONFIG_READAHEAD=y -CONFIG_RUNLEVEL=y -CONFIG_RX=y -CONFIG_SETSID=y -CONFIG_STRINGS=y -CONFIG_TASKSET=y -CONFIG_FEATURE_TASKSET_FANCY=y -CONFIG_TIME=y -CONFIG_TIMEOUT=y -CONFIG_TTYSIZE=y -CONFIG_VOLNAME=y -CONFIG_WATCHDOG=y - -# -# Networking Utilities -# -CONFIG_FEATURE_IPV6=y -CONFIG_FEATURE_UNIX_LOCAL=y -CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y -# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set -CONFIG_ARP=y -CONFIG_ARPING=y -CONFIG_BRCTL=y -# CONFIG_FEATURE_BRCTL_FANCY is not set -# CONFIG_FEATURE_BRCTL_SHOW is not set -CONFIG_DNSD=y -CONFIG_ETHER_WAKE=y -CONFIG_FAKEIDENTD=y -CONFIG_FTPD=y -CONFIG_FEATURE_FTP_WRITE=y -CONFIG_FTPGET=y -CONFIG_FTPPUT=y -CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y -CONFIG_HOSTNAME=y -# CONFIG_HTTPD is not set -# CONFIG_FEATURE_HTTPD_RANGES is not set -# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set -# CONFIG_FEATURE_HTTPD_SETUID is not set -# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set -# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set -# CONFIG_FEATURE_HTTPD_CGI is not set -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set -# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set -# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set -# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set -# CONFIG_FEATURE_HTTPD_PROXY is not set -CONFIG_IFCONFIG=y -CONFIG_FEATURE_IFCONFIG_STATUS=y -CONFIG_FEATURE_IFCONFIG_SLIP=y -CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y -CONFIG_FEATURE_IFCONFIG_HW=y -CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y -CONFIG_IFENSLAVE=y -CONFIG_IFPLUGD=y -CONFIG_IFUPDOWN=y -CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" -CONFIG_FEATURE_IFUPDOWN_IP=y -CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set -CONFIG_FEATURE_IFUPDOWN_IPV4=y -CONFIG_FEATURE_IFUPDOWN_IPV6=y -CONFIG_FEATURE_IFUPDOWN_MAPPING=y -CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP=y -# CONFIG_INETD is not set -# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set -# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set -# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set -# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set -# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set -# CONFIG_FEATURE_INETD_RPC is not set -CONFIG_IP=y -CONFIG_FEATURE_IP_ADDRESS=y -CONFIG_FEATURE_IP_LINK=y -CONFIG_FEATURE_IP_ROUTE=y -CONFIG_FEATURE_IP_TUNNEL=y -CONFIG_FEATURE_IP_RULE=y -CONFIG_FEATURE_IP_SHORT_FORMS=y -# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set -CONFIG_IPADDR=y -CONFIG_IPLINK=y -CONFIG_IPROUTE=y -CONFIG_IPTUNNEL=y -CONFIG_IPRULE=y -CONFIG_IPCALC=y -CONFIG_FEATURE_IPCALC_FANCY=y -CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y -CONFIG_NAMEIF=y -# CONFIG_FEATURE_NAMEIF_EXTENDED is not set -CONFIG_NC=y -CONFIG_NC_SERVER=y -CONFIG_NC_EXTRA=y -CONFIG_NETSTAT=y -# CONFIG_FEATURE_NETSTAT_WIDE is not set -CONFIG_FEATURE_NETSTAT_PRG=y -CONFIG_NSLOOKUP=y -CONFIG_PING=y -CONFIG_PING6=y -CONFIG_FEATURE_FANCY_PING=y -CONFIG_PSCAN=y -CONFIG_ROUTE=y -CONFIG_SLATTACH=y -CONFIG_TELNET=y -CONFIG_FEATURE_TELNET_TTYPE=y -CONFIG_FEATURE_TELNET_AUTOLOGIN=y -CONFIG_TELNETD=y -CONFIG_FEATURE_TELNETD_STANDALONE=y -CONFIG_TFTP=y -# CONFIG_TFTPD is not set -CONFIG_FEATURE_TFTP_GET=y -CONFIG_FEATURE_TFTP_PUT=y -CONFIG_FEATURE_TFTP_BLOCKSIZE=y -CONFIG_TFTP_DEBUG=y -CONFIG_TRACEROUTE=y -# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set -# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set -# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set -# CONFIG_APP_UDHCPD is not set -# CONFIG_APP_DHCPRELAY is not set -# CONFIG_APP_DUMPLEASES is not set -# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set -CONFIG_DHCPD_LEASES_FILE="" -# CONFIG_APP_UDHCPC is not set -# CONFIG_FEATURE_UDHCPC_ARPING is not set -# CONFIG_FEATURE_UDHCP_PORT is not set -CONFIG_UDHCP_DEBUG=0 -# CONFIG_FEATURE_UDHCP_RFC3397 is not set -CONFIG_UDHCPC_DEFAULT_SCRIPT="" -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0 -CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="" -CONFIG_VCONFIG=y -CONFIG_WGET=y -CONFIG_FEATURE_WGET_STATUSBAR=y -CONFIG_FEATURE_WGET_AUTHENTICATION=y -CONFIG_FEATURE_WGET_LONG_OPTIONS=y -CONFIG_ZCIP=y -CONFIG_TCPSVD=y -CONFIG_TUNCTL=y -CONFIG_FEATURE_TUNCTL_UG=y -CONFIG_UDPSVD=y - -# -# Print Utilities -# -# CONFIG_LPD is not set -CONFIG_LPR=y -# CONFIG_LPQ is not set - -# -# Mail Utilities -# -CONFIG_MAKEMIME=y -CONFIG_FEATURE_MIME_CHARSET="us-ascii" -CONFIG_POPMAILDIR=y -CONFIG_FEATURE_POPMAILDIR_DELIVERY=y -CONFIG_REFORMIME=y -CONFIG_FEATURE_REFORMIME_COMPAT=y -# CONFIG_SENDMAIL is not set - -# -# Process Utilities -# -CONFIG_FREE=y -CONFIG_FUSER=y -CONFIG_KILL=y -CONFIG_KILLALL=y -CONFIG_KILLALL5=y -CONFIG_NMETER=y -CONFIG_PGREP=y -CONFIG_PIDOF=y -CONFIG_FEATURE_PIDOF_SINGLE=y -CONFIG_FEATURE_PIDOF_OMIT=y -CONFIG_PKILL=y -CONFIG_PS=y -CONFIG_FEATURE_PS_WIDE=y -CONFIG_FEATURE_PS_TIME=y -CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y -# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set -CONFIG_RENICE=y -CONFIG_BB_SYSCTL=y -CONFIG_TOP=y -CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y -CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y -CONFIG_FEATURE_TOP_SMP_CPU=y -CONFIG_FEATURE_TOP_DECIMALS=y -CONFIG_FEATURE_TOP_SMP_PROCESS=y -CONFIG_FEATURE_TOPMEM=y -CONFIG_UPTIME=y -CONFIG_WATCH=y - -# -# Runit Utilities -# -CONFIG_RUNSV=y -CONFIG_RUNSVDIR=y -CONFIG_FEATURE_RUNSVDIR_LOG=y -CONFIG_SV=y -CONFIG_SV_DEFAULT_SERVICE_DIR="/var/service" -CONFIG_SVLOGD=y -CONFIG_CHPST=y -CONFIG_SETUIDGID=y -CONFIG_ENVUIDGID=y -CONFIG_ENVDIR=y -CONFIG_SOFTLIMIT=y -# CONFIG_CHCON is not set -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set -# CONFIG_GETENFORCE is not set -# CONFIG_GETSEBOOL is not set -# CONFIG_LOAD_POLICY is not set -# CONFIG_MATCHPATHCON is not set -# CONFIG_RESTORECON is not set -# CONFIG_RUNCON is not set -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set -# CONFIG_SELINUXENABLED is not set -# CONFIG_SETENFORCE is not set -# CONFIG_SETFILES is not set -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set -# CONFIG_SETSEBOOL is not set -# CONFIG_SESTATUS is not set - -# -# Shells -# -CONFIG_FEATURE_SH_IS_ASH=y -# CONFIG_FEATURE_SH_IS_HUSH is not set -# CONFIG_FEATURE_SH_IS_NONE is not set -CONFIG_ASH=y -CONFIG_ASH_BASH_COMPAT=y -CONFIG_ASH_JOB_CONTROL=y -CONFIG_ASH_READ_NCHARS=y -CONFIG_ASH_READ_TIMEOUT=y -CONFIG_ASH_ALIAS=y -CONFIG_ASH_GETOPTS=y -CONFIG_ASH_BUILTIN_ECHO=y -CONFIG_ASH_BUILTIN_PRINTF=y -CONFIG_ASH_BUILTIN_TEST=y -CONFIG_ASH_CMDCMD=y -CONFIG_ASH_MAIL=y -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y -CONFIG_ASH_RANDOM_SUPPORT=y -CONFIG_ASH_EXPAND_PRMT=y -# CONFIG_HUSH is not set -# CONFIG_HUSH_BASH_COMPAT is not set -# CONFIG_HUSH_HELP is not set -# CONFIG_HUSH_INTERACTIVE is not set -# CONFIG_HUSH_JOB is not set -# CONFIG_HUSH_TICK is not set -# CONFIG_HUSH_IF is not set -# CONFIG_HUSH_LOOPS is not set -# CONFIG_HUSH_CASE is not set -# CONFIG_HUSH_FUNCTIONS is not set -# CONFIG_HUSH_LOCAL is not set -# CONFIG_HUSH_EXPORT_N is not set -# CONFIG_LASH is not set -# CONFIG_MSH is not set -CONFIG_SH_MATH_SUPPORT=y -CONFIG_SH_MATH_SUPPORT_64=y -CONFIG_FEATURE_SH_EXTRA_QUIET=y -# CONFIG_FEATURE_SH_STANDALONE is not set -# CONFIG_FEATURE_SH_NOFORK is not set -CONFIG_CTTYHACK=y - -# -# System Logging Utilities -# -CONFIG_SYSLOGD=y -CONFIG_FEATURE_ROTATE_LOGFILE=y -CONFIG_FEATURE_REMOTE_LOG=y -# CONFIG_FEATURE_SYSLOGD_DUP is not set -CONFIG_FEATURE_IPC_SYSLOG=y -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16 -CONFIG_LOGREAD=y -CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y -CONFIG_KLOGD=y -CONFIG_LOGGER=y diff --git a/source/a/mkinitrd/busybox-dot-config.1.17.x b/source/a/mkinitrd/busybox-dot-config.1.17.x deleted file mode 100644 index 18cd5e6e..00000000 --- a/source/a/mkinitrd/busybox-dot-config.1.17.x +++ /dev/null @@ -1,970 +0,0 @@ -# -# Automatically generated make config: don't edit -# Busybox version: 1.17.2 -# Sat Aug 28 23:13:46 2010 -# -CONFIG_HAVE_DOT_CONFIG=y - -# -# Busybox Settings -# - -# -# General Configuration -# -CONFIG_DESKTOP=y -# CONFIG_EXTRA_COMPAT is not set -CONFIG_INCLUDE_SUSv2=y -# CONFIG_USE_PORTABLE_CODE is not set -CONFIG_FEATURE_BUFFERS_USE_MALLOC=y -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set -CONFIG_SHOW_USAGE=y -CONFIG_FEATURE_VERBOSE_USAGE=y -CONFIG_FEATURE_COMPRESS_USAGE=y -CONFIG_FEATURE_INSTALLER=y -CONFIG_LOCALE_SUPPORT=y -CONFIG_UNICODE_SUPPORT=y -# CONFIG_UNICODE_USING_LOCALE is not set -# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set -CONFIG_SUBST_WCHAR=63 -CONFIG_LAST_SUPPORTED_WCHAR=767 -# CONFIG_UNICODE_COMBINING_WCHARS is not set -# CONFIG_UNICODE_WIDE_WCHARS is not set -# CONFIG_UNICODE_BIDI_SUPPORT is not set -# CONFIG_UNICODE_NEUTRAL_TABLE is not set -# CONFIG_UNICODE_PRESERVE_BROKEN is not set -CONFIG_LONG_OPTS=y -CONFIG_FEATURE_DEVPTS=y -# CONFIG_FEATURE_CLEAN_UP is not set -CONFIG_FEATURE_UTMP=y -CONFIG_FEATURE_WTMP=y -CONFIG_FEATURE_PIDFILE=y -CONFIG_FEATURE_SUID=y -CONFIG_FEATURE_SUID_CONFIG=y -CONFIG_FEATURE_SUID_CONFIG_QUIET=y -# CONFIG_SELINUX is not set -# CONFIG_FEATURE_PREFER_APPLETS is not set -CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" -CONFIG_FEATURE_SYSLOG=y -CONFIG_FEATURE_HAVE_RPC=y - -# -# Build Options -# -# CONFIG_STATIC is not set -# CONFIG_PIE is not set -# CONFIG_NOMMU is not set -# CONFIG_BUILD_LIBBUSYBOX is not set -# CONFIG_FEATURE_INDIVIDUAL is not set -# CONFIG_FEATURE_SHARED_BUSYBOX is not set -CONFIG_LFS=y -CONFIG_CROSS_COMPILER_PREFIX="" -CONFIG_EXTRA_CFLAGS="" - -# -# Debugging Options -# -# CONFIG_DEBUG is not set -# CONFIG_DEBUG_PESSIMIZE is not set -# CONFIG_WERROR is not set -CONFIG_NO_DEBUG_LIB=y -# CONFIG_DMALLOC is not set -# CONFIG_EFENCE is not set - -# -# Installation Options -# -CONFIG_INSTALL_NO_USR=y -CONFIG_INSTALL_APPLET_SYMLINKS=y -# CONFIG_INSTALL_APPLET_HARDLINKS is not set -# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set -# CONFIG_INSTALL_APPLET_DONT is not set -# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set -# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set -# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set -CONFIG_PREFIX="/tmp/package-mkinitrd/usr/share/mkinitrd/initrd-tree" - -# -# Busybox Library Tuning -# -CONFIG_PASSWORD_MINLEN=6 -CONFIG_MD5_SIZE_VS_SPEED=2 -# CONFIG_FEATURE_FAST_TOP is not set -# CONFIG_FEATURE_ETC_NETWORKS is not set -CONFIG_FEATURE_EDITING=y -CONFIG_FEATURE_EDITING_MAX_LEN=1024 -CONFIG_FEATURE_EDITING_VI=y -CONFIG_FEATURE_EDITING_HISTORY=64 -# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set -CONFIG_FEATURE_TAB_COMPLETION=y -# CONFIG_FEATURE_USERNAME_COMPLETION is not set -CONFIG_FEATURE_EDITING_FANCY_PROMPT=y -CONFIG_FEATURE_EDITING_ASK_TERMINAL=y -# CONFIG_FEATURE_NON_POSIX_CP is not set -CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y -CONFIG_FEATURE_COPYBUF_KB=4 -CONFIG_MONOTONIC_SYSCALL=y -CONFIG_IOCTL_HEX2STR_ERROR=y -# CONFIG_FEATURE_HWIB is not set - -# -# Applets -# - -# -# Archival Utilities -# -CONFIG_FEATURE_SEAMLESS_XZ=y -# CONFIG_FEATURE_SEAMLESS_LZMA is not set -CONFIG_FEATURE_SEAMLESS_BZ2=y -CONFIG_FEATURE_SEAMLESS_GZ=y -CONFIG_FEATURE_SEAMLESS_Z=y -CONFIG_AR=y -CONFIG_FEATURE_AR_LONG_FILENAMES=y -# CONFIG_FEATURE_AR_CREATE is not set -CONFIG_BUNZIP2=y -CONFIG_BZIP2=y -CONFIG_CPIO=y -CONFIG_FEATURE_CPIO_O=y -CONFIG_FEATURE_CPIO_P=y -# CONFIG_DPKG is not set -# CONFIG_DPKG_DEB is not set -# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set -CONFIG_GUNZIP=y -CONFIG_GZIP=y -CONFIG_FEATURE_GZIP_LONG_OPTIONS=y -CONFIG_LZOP=y -CONFIG_LZOP_COMPR_HIGH=y -CONFIG_RPM2CPIO=y -# CONFIG_RPM is not set -CONFIG_TAR=y -CONFIG_FEATURE_TAR_CREATE=y -CONFIG_FEATURE_TAR_AUTODETECT=y -CONFIG_FEATURE_TAR_FROM=y -CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y -# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set -CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y -CONFIG_FEATURE_TAR_LONG_OPTIONS=y -# CONFIG_FEATURE_TAR_TO_COMMAND is not set -CONFIG_FEATURE_TAR_UNAME_GNAME=y -CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y -# CONFIG_FEATURE_TAR_SELINUX is not set -CONFIG_UNCOMPRESS=y -CONFIG_UNLZMA=y -CONFIG_FEATURE_LZMA_FAST=y -CONFIG_LZMA=y -CONFIG_UNXZ=y -CONFIG_XZ=y -CONFIG_UNZIP=y - -# -# Coreutils -# -CONFIG_BASENAME=y -CONFIG_CAT=y -CONFIG_DATE=y -CONFIG_FEATURE_DATE_ISOFMT=y -# CONFIG_FEATURE_DATE_NANO is not set -# CONFIG_FEATURE_DATE_COMPAT is not set -CONFIG_TEST=y -CONFIG_FEATURE_TEST_64=y -CONFIG_TR=y -CONFIG_FEATURE_TR_CLASSES=y -CONFIG_FEATURE_TR_EQUIV=y -CONFIG_CAL=y -CONFIG_CATV=y -CONFIG_CHGRP=y -CONFIG_CHMOD=y -CONFIG_CHOWN=y -# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set -CONFIG_CHROOT=y -CONFIG_CKSUM=y -CONFIG_COMM=y -CONFIG_CP=y -CONFIG_FEATURE_CP_LONG_OPTIONS=y -CONFIG_CUT=y -CONFIG_DD=y -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y -# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set -CONFIG_FEATURE_DD_IBS_OBS=y -CONFIG_DF=y -CONFIG_FEATURE_DF_FANCY=y -CONFIG_DIRNAME=y -CONFIG_DOS2UNIX=y -CONFIG_UNIX2DOS=y -CONFIG_DU=y -CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y -CONFIG_ECHO=y -CONFIG_FEATURE_FANCY_ECHO=y -CONFIG_ENV=y -CONFIG_FEATURE_ENV_LONG_OPTIONS=y -CONFIG_EXPAND=y -CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y -CONFIG_EXPR=y -CONFIG_EXPR_MATH_SUPPORT_64=y -CONFIG_FALSE=y -CONFIG_FOLD=y -CONFIG_FSYNC=y -CONFIG_HEAD=y -CONFIG_FEATURE_FANCY_HEAD=y -CONFIG_HOSTID=y -CONFIG_ID=y -CONFIG_INSTALL=y -CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y -CONFIG_LENGTH=y -CONFIG_LN=y -CONFIG_LOGNAME=y -CONFIG_LS=y -CONFIG_FEATURE_LS_FILETYPES=y -CONFIG_FEATURE_LS_FOLLOWLINKS=y -CONFIG_FEATURE_LS_RECURSIVE=y -CONFIG_FEATURE_LS_SORTFILES=y -CONFIG_FEATURE_LS_TIMESTAMPS=y -CONFIG_FEATURE_LS_USERNAME=y -CONFIG_FEATURE_LS_COLOR=y -CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y -CONFIG_MD5SUM=y -CONFIG_MKDIR=y -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y -CONFIG_MKFIFO=y -CONFIG_MKNOD=y -CONFIG_MV=y -CONFIG_FEATURE_MV_LONG_OPTIONS=y -CONFIG_NICE=y -CONFIG_NOHUP=y -CONFIG_OD=y -CONFIG_PRINTENV=y -CONFIG_PRINTF=y -CONFIG_PWD=y -CONFIG_READLINK=y -CONFIG_FEATURE_READLINK_FOLLOW=y -CONFIG_REALPATH=y -CONFIG_RM=y -CONFIG_RMDIR=y -# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set -CONFIG_SEQ=y -CONFIG_SHA1SUM=y -CONFIG_SHA256SUM=y -CONFIG_SHA512SUM=y -CONFIG_SLEEP=y -CONFIG_FEATURE_FANCY_SLEEP=y -# CONFIG_FEATURE_FLOAT_SLEEP is not set -CONFIG_SORT=y -CONFIG_FEATURE_SORT_BIG=y -CONFIG_SPLIT=y -CONFIG_FEATURE_SPLIT_FANCY=y -CONFIG_STAT=y -CONFIG_FEATURE_STAT_FORMAT=y -CONFIG_STTY=y -CONFIG_SUM=y -CONFIG_SYNC=y -CONFIG_TAC=y -CONFIG_TAIL=y -CONFIG_FEATURE_FANCY_TAIL=y -CONFIG_TEE=y -CONFIG_FEATURE_TEE_USE_BLOCK_IO=y -CONFIG_TOUCH=y -CONFIG_TRUE=y -CONFIG_TTY=y -CONFIG_UNAME=y -CONFIG_UNEXPAND=y -CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y -CONFIG_UNIQ=y -CONFIG_USLEEP=y -CONFIG_UUDECODE=y -CONFIG_UUENCODE=y -CONFIG_WC=y -CONFIG_FEATURE_WC_LARGE=y -CONFIG_WHO=y -CONFIG_WHOAMI=y -CONFIG_YES=y - -# -# Common options for cp and mv -# -CONFIG_FEATURE_PRESERVE_HARDLINKS=y - -# -# Common options for ls, more and telnet -# -CONFIG_FEATURE_AUTOWIDTH=y - -# -# Common options for df, du, ls -# -CONFIG_FEATURE_HUMAN_READABLE=y - -# -# Common options for md5sum, sha1sum, sha256sum, sha512sum -# -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y - -# -# Console Utilities -# -CONFIG_CHVT=y -CONFIG_FGCONSOLE=y -CONFIG_CLEAR=y -CONFIG_DEALLOCVT=y -CONFIG_DUMPKMAP=y -CONFIG_KBD_MODE=y -CONFIG_LOADFONT=y -CONFIG_LOADKMAP=y -CONFIG_OPENVT=y -CONFIG_RESET=y -CONFIG_RESIZE=y -CONFIG_FEATURE_RESIZE_PRINT=y -CONFIG_SETCONSOLE=y -CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y -CONFIG_SETFONT=y -CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y -CONFIG_DEFAULT_SETFONT_DIR="/usr/share/kbd/consolefonts" -CONFIG_SETKEYCODES=y -CONFIG_SETLOGCONS=y -CONFIG_SHOWKEY=y - -# -# Common options for loadfont and setfont -# -# CONFIG_FEATURE_LOADFONT_PSF2 is not set -CONFIG_FEATURE_LOADFONT_RAW=y - -# -# Debian Utilities -# -CONFIG_MKTEMP=y -CONFIG_PIPE_PROGRESS=y -CONFIG_RUN_PARTS=y -CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y -CONFIG_FEATURE_RUN_PARTS_FANCY=y -CONFIG_START_STOP_DAEMON=y -CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y -CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y -CONFIG_WHICH=y - -# -# Editors -# -CONFIG_AWK=y -CONFIG_FEATURE_AWK_LIBM=y -CONFIG_CMP=y -CONFIG_DIFF=y -# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set -CONFIG_FEATURE_DIFF_DIR=y -CONFIG_ED=y -CONFIG_PATCH=y -CONFIG_SED=y -CONFIG_VI=y -CONFIG_FEATURE_VI_MAX_LEN=1024 -CONFIG_FEATURE_VI_8BIT=y -CONFIG_FEATURE_VI_COLON=y -CONFIG_FEATURE_VI_YANKMARK=y -CONFIG_FEATURE_VI_SEARCH=y -CONFIG_FEATURE_VI_USE_SIGNALS=y -CONFIG_FEATURE_VI_DOT_CMD=y -CONFIG_FEATURE_VI_READONLY=y -CONFIG_FEATURE_VI_SETOPTS=y -CONFIG_FEATURE_VI_SET=y -CONFIG_FEATURE_VI_WIN_RESIZE=y -CONFIG_FEATURE_VI_ASK_TERMINAL=y -CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y -CONFIG_FEATURE_ALLOW_EXEC=y - -# -# Finding Utilities -# -CONFIG_FIND=y -CONFIG_FEATURE_FIND_PRINT0=y -CONFIG_FEATURE_FIND_MTIME=y -CONFIG_FEATURE_FIND_MMIN=y -CONFIG_FEATURE_FIND_PERM=y -CONFIG_FEATURE_FIND_TYPE=y -CONFIG_FEATURE_FIND_XDEV=y -CONFIG_FEATURE_FIND_MAXDEPTH=y -CONFIG_FEATURE_FIND_NEWER=y -CONFIG_FEATURE_FIND_INUM=y -CONFIG_FEATURE_FIND_EXEC=y -CONFIG_FEATURE_FIND_USER=y -CONFIG_FEATURE_FIND_GROUP=y -CONFIG_FEATURE_FIND_NOT=y -CONFIG_FEATURE_FIND_DEPTH=y -CONFIG_FEATURE_FIND_PAREN=y -CONFIG_FEATURE_FIND_SIZE=y -CONFIG_FEATURE_FIND_PRUNE=y -# CONFIG_FEATURE_FIND_DELETE is not set -CONFIG_FEATURE_FIND_PATH=y -CONFIG_FEATURE_FIND_REGEX=y -# CONFIG_FEATURE_FIND_CONTEXT is not set -CONFIG_FEATURE_FIND_LINKS=y -CONFIG_GREP=y -CONFIG_FEATURE_GREP_EGREP_ALIAS=y -CONFIG_FEATURE_GREP_FGREP_ALIAS=y -CONFIG_FEATURE_GREP_CONTEXT=y -CONFIG_XARGS=y -CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y -CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y -CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y -CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y - -# -# Init Utilities -# -# CONFIG_BOOTCHARTD is not set -# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set -# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set -CONFIG_INIT=y -CONFIG_FEATURE_USE_INITTAB=y -CONFIG_FEATURE_KILL_REMOVED=y -CONFIG_FEATURE_KILL_DELAY=10 -CONFIG_FEATURE_INIT_SCTTY=y -CONFIG_FEATURE_INIT_SYSLOG=y -CONFIG_FEATURE_EXTRA_QUIET=y -# CONFIG_FEATURE_INIT_COREDUMPS is not set -# CONFIG_FEATURE_INITRD is not set -CONFIG_HALT=y -# CONFIG_FEATURE_CALL_TELINIT is not set -CONFIG_TELINIT_PATH="" -CONFIG_MESG=y - -# -# Login/Password Management Utilities -# -CONFIG_FEATURE_SHADOWPASSWDS=y -# CONFIG_USE_BB_PWD_GRP is not set -# CONFIG_USE_BB_SHADOW is not set -CONFIG_USE_BB_CRYPT=y -CONFIG_USE_BB_CRYPT_SHA=y -CONFIG_ADDGROUP=y -CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y -CONFIG_FEATURE_ADDUSER_TO_GROUP=y -CONFIG_DELGROUP=y -CONFIG_FEATURE_DEL_USER_FROM_GROUP=y -CONFIG_FEATURE_CHECK_NAMES=y -CONFIG_ADDUSER=y -# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set -CONFIG_FIRST_SYSTEM_ID=1000 -CONFIG_LAST_SYSTEM_ID=12000 -CONFIG_DELUSER=y -CONFIG_GETTY=y -CONFIG_LOGIN=y -# CONFIG_PAM is not set -CONFIG_LOGIN_SCRIPTS=y -CONFIG_FEATURE_NOLOGIN=y -# CONFIG_FEATURE_SECURETTY is not set -CONFIG_PASSWD=y -CONFIG_FEATURE_PASSWD_WEAK_CHECK=y -CONFIG_CRYPTPW=y -CONFIG_CHPASSWD=y -CONFIG_SU=y -CONFIG_FEATURE_SU_SYSLOG=y -CONFIG_FEATURE_SU_CHECKS_SHELLS=y -CONFIG_SULOGIN=y -CONFIG_VLOCK=y - -# -# Linux Ext2 FS Progs -# -CONFIG_CHATTR=y -CONFIG_FSCK=y -CONFIG_LSATTR=y -CONFIG_TUNE2FS=y - -# -# Linux Module Utilities -# -CONFIG_MODINFO=y -# CONFIG_MODPROBE_SMALL is not set -# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set -# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set -CONFIG_INSMOD=y -CONFIG_RMMOD=y -CONFIG_LSMOD=y -CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y -CONFIG_MODPROBE=y -CONFIG_FEATURE_MODPROBE_BLACKLIST=y -CONFIG_DEPMOD=y - -# -# Options common to multiple modutils -# -CONFIG_FEATURE_2_4_MODULES=y -# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set -CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS=y -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set -# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set -# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set -CONFIG_FEATURE_CHECK_TAINTED_MODULE=y -CONFIG_FEATURE_MODUTILS_ALIAS=y -CONFIG_FEATURE_MODUTILS_SYMBOLS=y -CONFIG_DEFAULT_MODULES_DIR="/lib/modules" -CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" - -# -# Linux System Utilities -# -CONFIG_REV=y -CONFIG_ACPID=y -CONFIG_FEATURE_ACPID_COMPAT=y -CONFIG_BLKID=y -CONFIG_DMESG=y -CONFIG_FEATURE_DMESG_PRETTY=y -CONFIG_FBSET=y -CONFIG_FEATURE_FBSET_FANCY=y -CONFIG_FEATURE_FBSET_READMODE=y -CONFIG_FDFLUSH=y -CONFIG_FDFORMAT=y -CONFIG_FDISK=y -CONFIG_FDISK_SUPPORT_LARGE_DISKS=y -CONFIG_FEATURE_FDISK_WRITABLE=y -# CONFIG_FEATURE_AIX_LABEL is not set -# CONFIG_FEATURE_SGI_LABEL is not set -# CONFIG_FEATURE_SUN_LABEL is not set -CONFIG_FEATURE_OSF_LABEL=y -CONFIG_FEATURE_FDISK_ADVANCED=y -CONFIG_FINDFS=y -# CONFIG_FLOCK is not set -CONFIG_FREERAMDISK=y -CONFIG_FSCK_MINIX=y -# CONFIG_MKFS_EXT2 is not set -CONFIG_MKFS_MINIX=y -CONFIG_FEATURE_MINIX2=y -# CONFIG_MKFS_REISER is not set -CONFIG_MKFS_VFAT=y -CONFIG_GETOPT=y -CONFIG_FEATURE_GETOPT_LONG=y -CONFIG_HEXDUMP=y -CONFIG_FEATURE_HEXDUMP_REVERSE=y -CONFIG_HD=y -CONFIG_HWCLOCK=y -CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y -CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y -CONFIG_IPCRM=y -CONFIG_IPCS=y -CONFIG_LOSETUP=y -CONFIG_LSPCI=y -CONFIG_LSUSB=y -CONFIG_MDEV=y -CONFIG_FEATURE_MDEV_CONF=y -CONFIG_FEATURE_MDEV_RENAME=y -CONFIG_FEATURE_MDEV_RENAME_REGEXP=y -CONFIG_FEATURE_MDEV_EXEC=y -CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y -CONFIG_MKSWAP=y -CONFIG_FEATURE_MKSWAP_UUID=y -CONFIG_MORE=y -CONFIG_FEATURE_USE_TERMIOS=y -CONFIG_MOUNT=y -CONFIG_FEATURE_MOUNT_FAKE=y -# CONFIG_FEATURE_MOUNT_VERBOSE is not set -CONFIG_FEATURE_MOUNT_HELPERS=y -CONFIG_FEATURE_MOUNT_LABEL=y -CONFIG_FEATURE_MOUNT_NFS=y -CONFIG_FEATURE_MOUNT_CIFS=y -CONFIG_FEATURE_MOUNT_FLAGS=y -CONFIG_FEATURE_MOUNT_FSTAB=y -CONFIG_PIVOT_ROOT=y -CONFIG_RDATE=y -CONFIG_RDEV=y -CONFIG_READPROFILE=y -CONFIG_RTCWAKE=y -CONFIG_SCRIPT=y -CONFIG_SCRIPTREPLAY=y -CONFIG_SETARCH=y -CONFIG_SWAPONOFF=y -CONFIG_FEATURE_SWAPON_PRI=y -CONFIG_SWITCH_ROOT=y -CONFIG_UMOUNT=y -CONFIG_FEATURE_UMOUNT_ALL=y - -# -# Common options for mount/umount -# -CONFIG_FEATURE_MOUNT_LOOP=y -CONFIG_FEATURE_MOUNT_LOOP_CREATE=y -CONFIG_FEATURE_MTAB_SUPPORT=y -CONFIG_VOLUMEID=y - -# -# Filesystem/Volume identification -# -CONFIG_FEATURE_VOLUMEID_EXT=y -# CONFIG_FEATURE_VOLUMEID_BTRFS is not set -CONFIG_FEATURE_VOLUMEID_REISERFS=y -CONFIG_FEATURE_VOLUMEID_FAT=y -CONFIG_FEATURE_VOLUMEID_HFS=y -CONFIG_FEATURE_VOLUMEID_JFS=y -CONFIG_FEATURE_VOLUMEID_XFS=y -CONFIG_FEATURE_VOLUMEID_NTFS=y -CONFIG_FEATURE_VOLUMEID_ISO9660=y -CONFIG_FEATURE_VOLUMEID_UDF=y -CONFIG_FEATURE_VOLUMEID_LUKS=y -CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y -CONFIG_FEATURE_VOLUMEID_CRAMFS=y -CONFIG_FEATURE_VOLUMEID_ROMFS=y -CONFIG_FEATURE_VOLUMEID_SYSV=y -# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set -CONFIG_FEATURE_VOLUMEID_LINUXRAID=y - -# -# Miscellaneous Utilities -# -# CONFIG_CONSPY is not set -# CONFIG_UBIATTACH is not set -# CONFIG_UBIDETACH is not set -CONFIG_ADJTIMEX=y -CONFIG_BBCONFIG=y -CONFIG_BEEP=y -CONFIG_FEATURE_BEEP_FREQ=4000 -CONFIG_FEATURE_BEEP_LENGTH_MS=30 -CONFIG_CHAT=y -CONFIG_FEATURE_CHAT_NOFAIL=y -# CONFIG_FEATURE_CHAT_TTY_HIFI is not set -CONFIG_FEATURE_CHAT_IMPLICIT_CR=y -# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set -# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set -# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set -# CONFIG_FEATURE_CHAT_CLR_ABORT is not set -CONFIG_CHRT=y -CONFIG_CROND=y -CONFIG_FEATURE_CROND_D=y -# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set -CONFIG_FEATURE_CROND_DIR="/var/spool/cron" -CONFIG_CRONTAB=y -CONFIG_DC=y -CONFIG_FEATURE_DC_LIBM=y -# CONFIG_DEVFSD is not set -# CONFIG_DEVFSD_MODLOAD is not set -# CONFIG_DEVFSD_FG_NP is not set -# CONFIG_DEVFSD_VERBOSE is not set -# CONFIG_FEATURE_DEVFS is not set -CONFIG_DEVMEM=y -CONFIG_EJECT=y -CONFIG_FEATURE_EJECT_SCSI=y -CONFIG_FBSPLASH=y -# CONFIG_FLASHCP is not set -CONFIG_FLASH_LOCK=y -CONFIG_FLASH_UNLOCK=y -CONFIG_FLASH_ERASEALL=y -CONFIG_IONICE=y -CONFIG_INOTIFYD=y -CONFIG_LAST=y -CONFIG_FEATURE_LAST_SMALL=y -# CONFIG_FEATURE_LAST_FANCY is not set -CONFIG_LESS=y -CONFIG_FEATURE_LESS_MAXLINES=9999999 -CONFIG_FEATURE_LESS_BRACKETS=y -CONFIG_FEATURE_LESS_FLAGS=y -CONFIG_FEATURE_LESS_MARKS=y -CONFIG_FEATURE_LESS_REGEXP=y -CONFIG_FEATURE_LESS_WINCH=y -CONFIG_FEATURE_LESS_DASHCMD=y -CONFIG_FEATURE_LESS_LINENUMS=y -CONFIG_HDPARM=y -CONFIG_FEATURE_HDPARM_GET_IDENTITY=y -CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y -CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y -CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y -CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y -CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y -CONFIG_MAKEDEVS=y -# CONFIG_FEATURE_MAKEDEVS_LEAF is not set -CONFIG_FEATURE_MAKEDEVS_TABLE=y -# CONFIG_MAN is not set -# CONFIG_MICROCOM is not set -CONFIG_MOUNTPOINT=y -CONFIG_MT=y -CONFIG_RAIDAUTORUN=y -CONFIG_READAHEAD=y -# CONFIG_RFKILL is not set -CONFIG_RUNLEVEL=y -CONFIG_RX=y -CONFIG_SETSID=y -CONFIG_STRINGS=y -CONFIG_TASKSET=y -CONFIG_FEATURE_TASKSET_FANCY=y -CONFIG_TIME=y -CONFIG_TIMEOUT=y -CONFIG_TTYSIZE=y -CONFIG_VOLNAME=y -# CONFIG_WALL is not set -CONFIG_WATCHDOG=y - -# -# Networking Utilities -# -CONFIG_NC=y -CONFIG_NC_SERVER=y -CONFIG_NC_EXTRA=y -# CONFIG_NC_110_COMPAT is not set -CONFIG_FEATURE_IPV6=y -CONFIG_FEATURE_UNIX_LOCAL=y -CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y -# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set -CONFIG_ARP=y -CONFIG_ARPING=y -CONFIG_BRCTL=y -# CONFIG_FEATURE_BRCTL_FANCY is not set -# CONFIG_FEATURE_BRCTL_SHOW is not set -CONFIG_DNSD=y -CONFIG_ETHER_WAKE=y -CONFIG_FAKEIDENTD=y -CONFIG_FTPD=y -CONFIG_FEATURE_FTP_WRITE=y -CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y -CONFIG_FTPGET=y -CONFIG_FTPPUT=y -CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y -CONFIG_HOSTNAME=y -# CONFIG_HTTPD is not set -# CONFIG_FEATURE_HTTPD_RANGES is not set -# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set -# CONFIG_FEATURE_HTTPD_SETUID is not set -# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set -# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set -# CONFIG_FEATURE_HTTPD_CGI is not set -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set -# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set -# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set -# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set -# CONFIG_FEATURE_HTTPD_PROXY is not set -CONFIG_IFCONFIG=y -CONFIG_FEATURE_IFCONFIG_STATUS=y -CONFIG_FEATURE_IFCONFIG_SLIP=y -CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y -CONFIG_FEATURE_IFCONFIG_HW=y -CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y -CONFIG_IFENSLAVE=y -CONFIG_IFPLUGD=y -CONFIG_IFUPDOWN=y -CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" -CONFIG_FEATURE_IFUPDOWN_IP=y -CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set -CONFIG_FEATURE_IFUPDOWN_IPV4=y -CONFIG_FEATURE_IFUPDOWN_IPV6=y -CONFIG_FEATURE_IFUPDOWN_MAPPING=y -CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP=y -# CONFIG_INETD is not set -# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set -# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set -# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set -# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set -# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set -# CONFIG_FEATURE_INETD_RPC is not set -CONFIG_IP=y -CONFIG_FEATURE_IP_ADDRESS=y -CONFIG_FEATURE_IP_LINK=y -CONFIG_FEATURE_IP_ROUTE=y -CONFIG_FEATURE_IP_TUNNEL=y -CONFIG_FEATURE_IP_RULE=y -CONFIG_FEATURE_IP_SHORT_FORMS=y -# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set -CONFIG_IPADDR=y -CONFIG_IPLINK=y -CONFIG_IPROUTE=y -CONFIG_IPTUNNEL=y -CONFIG_IPRULE=y -CONFIG_IPCALC=y -CONFIG_FEATURE_IPCALC_FANCY=y -CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y -CONFIG_NAMEIF=y -# CONFIG_FEATURE_NAMEIF_EXTENDED is not set -CONFIG_NETSTAT=y -# CONFIG_FEATURE_NETSTAT_WIDE is not set -CONFIG_FEATURE_NETSTAT_PRG=y -CONFIG_NSLOOKUP=y -# CONFIG_NTPD is not set -# CONFIG_FEATURE_NTPD_SERVER is not set -CONFIG_PING=y -CONFIG_PING6=y -CONFIG_FEATURE_FANCY_PING=y -CONFIG_PSCAN=y -CONFIG_ROUTE=y -CONFIG_SLATTACH=y -CONFIG_TCPSVD=y -CONFIG_TELNET=y -CONFIG_FEATURE_TELNET_TTYPE=y -CONFIG_FEATURE_TELNET_AUTOLOGIN=y -CONFIG_TELNETD=y -CONFIG_FEATURE_TELNETD_STANDALONE=y -# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set -CONFIG_TFTP=y -# CONFIG_TFTPD is not set - -# -# Common options for tftp/tftpd -# -CONFIG_FEATURE_TFTP_GET=y -CONFIG_FEATURE_TFTP_PUT=y -CONFIG_FEATURE_TFTP_BLOCKSIZE=y -CONFIG_FEATURE_TFTP_PROGRESS_BAR=y -CONFIG_TFTP_DEBUG=y -CONFIG_TRACEROUTE=y -CONFIG_TRACEROUTE6=y -# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set -# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set -# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set -CONFIG_TUNCTL=y -CONFIG_FEATURE_TUNCTL_UG=y -# CONFIG_UDHCPD is not set -# CONFIG_DHCPRELAY is not set -# CONFIG_DUMPLEASES is not set -# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set -CONFIG_DHCPD_LEASES_FILE="" -# CONFIG_UDHCPC is not set -# CONFIG_FEATURE_UDHCPC_ARPING is not set -# CONFIG_FEATURE_UDHCP_PORT is not set -CONFIG_UDHCP_DEBUG=0 -# CONFIG_FEATURE_UDHCP_RFC3397 is not set -CONFIG_UDHCPC_DEFAULT_SCRIPT="" -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0 -CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="" -CONFIG_UDPSVD=y -CONFIG_VCONFIG=y -CONFIG_WGET=y -CONFIG_FEATURE_WGET_STATUSBAR=y -CONFIG_FEATURE_WGET_AUTHENTICATION=y -CONFIG_FEATURE_WGET_LONG_OPTIONS=y -CONFIG_ZCIP=y - -# -# Print Utilities -# -# CONFIG_LPD is not set -CONFIG_LPR=y -# CONFIG_LPQ is not set - -# -# Mail Utilities -# -CONFIG_MAKEMIME=y -CONFIG_FEATURE_MIME_CHARSET="us-ascii" -CONFIG_POPMAILDIR=y -CONFIG_FEATURE_POPMAILDIR_DELIVERY=y -CONFIG_REFORMIME=y -CONFIG_FEATURE_REFORMIME_COMPAT=y -# CONFIG_SENDMAIL is not set - -# -# Process Utilities -# -# CONFIG_SMEMCAP is not set -CONFIG_FREE=y -CONFIG_FUSER=y -CONFIG_KILL=y -CONFIG_KILLALL=y -CONFIG_KILLALL5=y -CONFIG_NMETER=y -CONFIG_PGREP=y -CONFIG_PIDOF=y -CONFIG_FEATURE_PIDOF_SINGLE=y -CONFIG_FEATURE_PIDOF_OMIT=y -CONFIG_PKILL=y -CONFIG_PS=y -CONFIG_FEATURE_PS_WIDE=y -CONFIG_FEATURE_PS_TIME=y -CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y -# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set -CONFIG_RENICE=y -CONFIG_BB_SYSCTL=y -CONFIG_TOP=y -CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y -CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y -CONFIG_FEATURE_TOP_SMP_CPU=y -CONFIG_FEATURE_TOP_DECIMALS=y -CONFIG_FEATURE_TOP_SMP_PROCESS=y -CONFIG_FEATURE_TOPMEM=y -CONFIG_FEATURE_SHOW_THREADS=y -CONFIG_UPTIME=y -CONFIG_WATCH=y - -# -# Runit Utilities -# -CONFIG_RUNSV=y -CONFIG_RUNSVDIR=y -CONFIG_FEATURE_RUNSVDIR_LOG=y -CONFIG_SV=y -CONFIG_SV_DEFAULT_SERVICE_DIR="/var/service" -CONFIG_SVLOGD=y -CONFIG_CHPST=y -CONFIG_SETUIDGID=y -CONFIG_ENVUIDGID=y -CONFIG_ENVDIR=y -CONFIG_SOFTLIMIT=y -# CONFIG_CHCON is not set -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set -# CONFIG_GETENFORCE is not set -# CONFIG_GETSEBOOL is not set -# CONFIG_LOAD_POLICY is not set -# CONFIG_MATCHPATHCON is not set -# CONFIG_RESTORECON is not set -# CONFIG_RUNCON is not set -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set -# CONFIG_SELINUXENABLED is not set -# CONFIG_SETENFORCE is not set -# CONFIG_SETFILES is not set -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set -# CONFIG_SETSEBOOL is not set -# CONFIG_SESTATUS is not set - -# -# Shells -# -CONFIG_ASH=y -CONFIG_ASH_BASH_COMPAT=y -CONFIG_ASH_JOB_CONTROL=y -CONFIG_ASH_ALIAS=y -CONFIG_ASH_GETOPTS=y -CONFIG_ASH_BUILTIN_ECHO=y -CONFIG_ASH_BUILTIN_PRINTF=y -CONFIG_ASH_BUILTIN_TEST=y -CONFIG_ASH_CMDCMD=y -CONFIG_ASH_MAIL=y -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y -CONFIG_ASH_RANDOM_SUPPORT=y -CONFIG_ASH_EXPAND_PRMT=y -# CONFIG_HUSH is not set -# CONFIG_HUSH_BASH_COMPAT is not set -# CONFIG_HUSH_HELP is not set -# CONFIG_HUSH_INTERACTIVE is not set -# CONFIG_HUSH_JOB is not set -# CONFIG_HUSH_TICK is not set -# CONFIG_HUSH_IF is not set -# CONFIG_HUSH_LOOPS is not set -# CONFIG_HUSH_CASE is not set -# CONFIG_HUSH_FUNCTIONS is not set -# CONFIG_HUSH_LOCAL is not set -# CONFIG_HUSH_EXPORT_N is not set -# CONFIG_HUSH_RANDOM_SUPPORT is not set -CONFIG_FEATURE_SH_IS_ASH=y -# CONFIG_FEATURE_SH_IS_HUSH is not set -# CONFIG_FEATURE_SH_IS_NONE is not set -# CONFIG_FEATURE_BASH_IS_ASH is not set -# CONFIG_FEATURE_BASH_IS_HUSH is not set -CONFIG_FEATURE_BASH_IS_NONE=y -# CONFIG_LASH is not set -# CONFIG_MSH is not set -CONFIG_SH_MATH_SUPPORT=y -CONFIG_SH_MATH_SUPPORT_64=y -CONFIG_FEATURE_SH_EXTRA_QUIET=y -# CONFIG_FEATURE_SH_STANDALONE is not set -# CONFIG_FEATURE_SH_NOFORK is not set -CONFIG_CTTYHACK=y - -# -# System Logging Utilities -# -CONFIG_SYSLOGD=y -CONFIG_FEATURE_ROTATE_LOGFILE=y -CONFIG_FEATURE_REMOTE_LOG=y -# CONFIG_FEATURE_SYSLOGD_DUP is not set -CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 -CONFIG_FEATURE_IPC_SYSLOG=y -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16 -CONFIG_LOGREAD=y -CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y -CONFIG_KLOGD=y -CONFIG_LOGGER=y diff --git a/source/a/mkinitrd/busybox-dot-config.1.18.x b/source/a/mkinitrd/busybox-dot-config.1.18.x deleted file mode 100644 index 35b32a4f..00000000 --- a/source/a/mkinitrd/busybox-dot-config.1.18.x +++ /dev/null @@ -1,990 +0,0 @@ -# -# Automatically generated make config: don't edit -# Busybox version: 1.18.4 -# Fri Mar 25 23:08:06 2011 -# -CONFIG_HAVE_DOT_CONFIG=y - -# -# Busybox Settings -# - -# -# General Configuration -# -CONFIG_DESKTOP=y -# CONFIG_EXTRA_COMPAT is not set -CONFIG_INCLUDE_SUSv2=y -# CONFIG_USE_PORTABLE_CODE is not set -CONFIG_PLATFORM_LINUX=y -CONFIG_FEATURE_BUFFERS_USE_MALLOC=y -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set -CONFIG_SHOW_USAGE=y -CONFIG_FEATURE_VERBOSE_USAGE=y -CONFIG_FEATURE_COMPRESS_USAGE=y -CONFIG_FEATURE_INSTALLER=y -CONFIG_INSTALL_NO_USR=y -CONFIG_LOCALE_SUPPORT=y -CONFIG_UNICODE_SUPPORT=y -# CONFIG_UNICODE_USING_LOCALE is not set -# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set -CONFIG_SUBST_WCHAR=63 -CONFIG_LAST_SUPPORTED_WCHAR=767 -# CONFIG_UNICODE_COMBINING_WCHARS is not set -# CONFIG_UNICODE_WIDE_WCHARS is not set -# CONFIG_UNICODE_BIDI_SUPPORT is not set -# CONFIG_UNICODE_NEUTRAL_TABLE is not set -# CONFIG_UNICODE_PRESERVE_BROKEN is not set -CONFIG_LONG_OPTS=y -CONFIG_FEATURE_DEVPTS=y -# CONFIG_FEATURE_CLEAN_UP is not set -CONFIG_FEATURE_WTMP=y -CONFIG_FEATURE_UTMP=y -CONFIG_FEATURE_PIDFILE=y -CONFIG_FEATURE_SUID=y -CONFIG_FEATURE_SUID_CONFIG=y -CONFIG_FEATURE_SUID_CONFIG_QUIET=y -# CONFIG_SELINUX is not set -# CONFIG_FEATURE_PREFER_APPLETS is not set -CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" -CONFIG_FEATURE_SYSLOG=y -CONFIG_FEATURE_HAVE_RPC=y - -# -# Build Options -# -# CONFIG_STATIC is not set -# CONFIG_PIE is not set -# CONFIG_NOMMU is not set -# CONFIG_BUILD_LIBBUSYBOX is not set -# CONFIG_FEATURE_INDIVIDUAL is not set -# CONFIG_FEATURE_SHARED_BUSYBOX is not set -CONFIG_LFS=y -CONFIG_CROSS_COMPILER_PREFIX="" -CONFIG_EXTRA_CFLAGS="" - -# -# Debugging Options -# -# CONFIG_DEBUG is not set -# CONFIG_DEBUG_PESSIMIZE is not set -# CONFIG_WERROR is not set -CONFIG_NO_DEBUG_LIB=y -# CONFIG_DMALLOC is not set -# CONFIG_EFENCE is not set - -# -# Installation Options ("make install" behavior) -# -CONFIG_INSTALL_APPLET_SYMLINKS=y -# CONFIG_INSTALL_APPLET_HARDLINKS is not set -# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set -# CONFIG_INSTALL_APPLET_DONT is not set -# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set -# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set -# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set -CONFIG_PREFIX="/tmp/package-mkinitrd/usr/share/mkinitrd/initrd-tree" - -# -# Busybox Library Tuning -# -CONFIG_PASSWORD_MINLEN=6 -CONFIG_MD5_SIZE_VS_SPEED=2 -# CONFIG_FEATURE_FAST_TOP is not set -# CONFIG_FEATURE_ETC_NETWORKS is not set -CONFIG_FEATURE_USE_TERMIOS=y -CONFIG_FEATURE_EDITING=y -CONFIG_FEATURE_EDITING_MAX_LEN=1024 -CONFIG_FEATURE_EDITING_VI=y -CONFIG_FEATURE_EDITING_HISTORY=64 -# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set -CONFIG_FEATURE_TAB_COMPLETION=y -# CONFIG_FEATURE_USERNAME_COMPLETION is not set -CONFIG_FEATURE_EDITING_FANCY_PROMPT=y -CONFIG_FEATURE_EDITING_ASK_TERMINAL=y -# CONFIG_FEATURE_NON_POSIX_CP is not set -CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y -CONFIG_FEATURE_COPYBUF_KB=4 -CONFIG_MONOTONIC_SYSCALL=y -CONFIG_IOCTL_HEX2STR_ERROR=y -# CONFIG_FEATURE_HWIB is not set - -# -# Applets -# - -# -# Archival Utilities -# -CONFIG_FEATURE_SEAMLESS_XZ=y -# CONFIG_FEATURE_SEAMLESS_LZMA is not set -CONFIG_FEATURE_SEAMLESS_BZ2=y -CONFIG_FEATURE_SEAMLESS_GZ=y -CONFIG_FEATURE_SEAMLESS_Z=y -CONFIG_AR=y -CONFIG_FEATURE_AR_LONG_FILENAMES=y -# CONFIG_FEATURE_AR_CREATE is not set -CONFIG_BUNZIP2=y -CONFIG_BZIP2=y -CONFIG_CPIO=y -CONFIG_FEATURE_CPIO_O=y -CONFIG_FEATURE_CPIO_P=y -# CONFIG_DPKG is not set -# CONFIG_DPKG_DEB is not set -# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set -CONFIG_GUNZIP=y -CONFIG_GZIP=y -CONFIG_FEATURE_GZIP_LONG_OPTIONS=y -CONFIG_LZOP=y -CONFIG_LZOP_COMPR_HIGH=y -CONFIG_RPM2CPIO=y -# CONFIG_RPM is not set -CONFIG_TAR=y -CONFIG_FEATURE_TAR_CREATE=y -CONFIG_FEATURE_TAR_AUTODETECT=y -CONFIG_FEATURE_TAR_FROM=y -CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y -# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set -CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y -CONFIG_FEATURE_TAR_LONG_OPTIONS=y -# CONFIG_FEATURE_TAR_TO_COMMAND is not set -CONFIG_FEATURE_TAR_UNAME_GNAME=y -CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y -# CONFIG_FEATURE_TAR_SELINUX is not set -CONFIG_UNCOMPRESS=y -CONFIG_UNLZMA=y -CONFIG_FEATURE_LZMA_FAST=y -CONFIG_LZMA=y -CONFIG_UNXZ=y -CONFIG_XZ=y -CONFIG_UNZIP=y - -# -# Coreutils -# -CONFIG_BASENAME=y -CONFIG_CAT=y -CONFIG_DATE=y -CONFIG_FEATURE_DATE_ISOFMT=y -# CONFIG_FEATURE_DATE_NANO is not set -# CONFIG_FEATURE_DATE_COMPAT is not set -CONFIG_TEST=y -CONFIG_FEATURE_TEST_64=y -CONFIG_TR=y -CONFIG_FEATURE_TR_CLASSES=y -CONFIG_FEATURE_TR_EQUIV=y -CONFIG_BASE64=y -CONFIG_CAL=y -CONFIG_CATV=y -CONFIG_CHGRP=y -CONFIG_CHMOD=y -CONFIG_CHOWN=y -# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set -CONFIG_CHROOT=y -CONFIG_CKSUM=y -CONFIG_COMM=y -CONFIG_CP=y -CONFIG_FEATURE_CP_LONG_OPTIONS=y -CONFIG_CUT=y -CONFIG_DD=y -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y -# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set -CONFIG_FEATURE_DD_IBS_OBS=y -CONFIG_DF=y -CONFIG_FEATURE_DF_FANCY=y -CONFIG_DIRNAME=y -CONFIG_DOS2UNIX=y -CONFIG_UNIX2DOS=y -CONFIG_DU=y -CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y -CONFIG_ECHO=y -CONFIG_FEATURE_FANCY_ECHO=y -CONFIG_ENV=y -CONFIG_FEATURE_ENV_LONG_OPTIONS=y -CONFIG_EXPAND=y -CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y -CONFIG_EXPR=y -CONFIG_EXPR_MATH_SUPPORT_64=y -CONFIG_FALSE=y -CONFIG_FOLD=y -CONFIG_FSYNC=y -CONFIG_HEAD=y -CONFIG_FEATURE_FANCY_HEAD=y -CONFIG_HOSTID=y -CONFIG_ID=y -CONFIG_INSTALL=y -CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y -CONFIG_LENGTH=y -CONFIG_LN=y -CONFIG_LOGNAME=y -CONFIG_LS=y -CONFIG_FEATURE_LS_FILETYPES=y -CONFIG_FEATURE_LS_FOLLOWLINKS=y -CONFIG_FEATURE_LS_RECURSIVE=y -CONFIG_FEATURE_LS_SORTFILES=y -CONFIG_FEATURE_LS_TIMESTAMPS=y -CONFIG_FEATURE_LS_USERNAME=y -CONFIG_FEATURE_LS_COLOR=y -CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y -CONFIG_MD5SUM=y -CONFIG_MKDIR=y -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y -CONFIG_MKFIFO=y -CONFIG_MKNOD=y -CONFIG_MV=y -CONFIG_FEATURE_MV_LONG_OPTIONS=y -CONFIG_NICE=y -CONFIG_NOHUP=y -CONFIG_OD=y -CONFIG_PRINTENV=y -CONFIG_PRINTF=y -CONFIG_PWD=y -CONFIG_READLINK=y -CONFIG_FEATURE_READLINK_FOLLOW=y -CONFIG_REALPATH=y -CONFIG_RM=y -CONFIG_RMDIR=y -# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set -CONFIG_SEQ=y -CONFIG_SHA1SUM=y -CONFIG_SHA256SUM=y -CONFIG_SHA512SUM=y -CONFIG_SLEEP=y -CONFIG_FEATURE_FANCY_SLEEP=y -# CONFIG_FEATURE_FLOAT_SLEEP is not set -CONFIG_SORT=y -CONFIG_FEATURE_SORT_BIG=y -CONFIG_SPLIT=y -CONFIG_FEATURE_SPLIT_FANCY=y -CONFIG_STAT=y -CONFIG_FEATURE_STAT_FORMAT=y -CONFIG_STTY=y -CONFIG_SUM=y -CONFIG_SYNC=y -CONFIG_TAC=y -CONFIG_TAIL=y -CONFIG_FEATURE_FANCY_TAIL=y -CONFIG_TEE=y -CONFIG_FEATURE_TEE_USE_BLOCK_IO=y -CONFIG_TOUCH=y -CONFIG_TRUE=y -CONFIG_TTY=y -CONFIG_UNAME=y -CONFIG_UNEXPAND=y -CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y -CONFIG_UNIQ=y -CONFIG_USLEEP=y -CONFIG_UUDECODE=y -CONFIG_UUENCODE=y -CONFIG_WC=y -CONFIG_FEATURE_WC_LARGE=y -CONFIG_WHO=y -CONFIG_WHOAMI=y -CONFIG_YES=y - -# -# Common options for cp and mv -# -CONFIG_FEATURE_PRESERVE_HARDLINKS=y - -# -# Common options for ls, more and telnet -# -CONFIG_FEATURE_AUTOWIDTH=y - -# -# Common options for df, du, ls -# -CONFIG_FEATURE_HUMAN_READABLE=y - -# -# Common options for md5sum, sha1sum, sha256sum, sha512sum -# -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y - -# -# Console Utilities -# -CONFIG_CHVT=y -CONFIG_FGCONSOLE=y -CONFIG_CLEAR=y -CONFIG_DEALLOCVT=y -CONFIG_DUMPKMAP=y -CONFIG_KBD_MODE=y -CONFIG_LOADFONT=y -CONFIG_LOADKMAP=y -CONFIG_OPENVT=y -CONFIG_RESET=y -CONFIG_RESIZE=y -CONFIG_FEATURE_RESIZE_PRINT=y -CONFIG_SETCONSOLE=y -CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y -CONFIG_SETFONT=y -CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y -CONFIG_DEFAULT_SETFONT_DIR="/usr/share/kbd/consolefonts" -CONFIG_SETKEYCODES=y -CONFIG_SETLOGCONS=y -CONFIG_SHOWKEY=y - -# -# Common options for loadfont and setfont -# -# CONFIG_FEATURE_LOADFONT_PSF2 is not set -CONFIG_FEATURE_LOADFONT_RAW=y - -# -# Debian Utilities -# -CONFIG_MKTEMP=y -CONFIG_PIPE_PROGRESS=y -CONFIG_RUN_PARTS=y -CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y -CONFIG_FEATURE_RUN_PARTS_FANCY=y -CONFIG_START_STOP_DAEMON=y -CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y -CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y -CONFIG_WHICH=y - -# -# Editors -# -CONFIG_PATCH=y -CONFIG_AWK=y -CONFIG_FEATURE_AWK_LIBM=y -CONFIG_CMP=y -CONFIG_DIFF=y -# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set -CONFIG_FEATURE_DIFF_DIR=y -CONFIG_ED=y -CONFIG_SED=y -CONFIG_VI=y -CONFIG_FEATURE_VI_MAX_LEN=1024 -CONFIG_FEATURE_VI_8BIT=y -CONFIG_FEATURE_VI_COLON=y -CONFIG_FEATURE_VI_YANKMARK=y -CONFIG_FEATURE_VI_SEARCH=y -CONFIG_FEATURE_VI_USE_SIGNALS=y -CONFIG_FEATURE_VI_DOT_CMD=y -CONFIG_FEATURE_VI_READONLY=y -CONFIG_FEATURE_VI_SETOPTS=y -CONFIG_FEATURE_VI_SET=y -CONFIG_FEATURE_VI_WIN_RESIZE=y -CONFIG_FEATURE_VI_ASK_TERMINAL=y -CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y -CONFIG_FEATURE_ALLOW_EXEC=y - -# -# Finding Utilities -# -CONFIG_FIND=y -CONFIG_FEATURE_FIND_PRINT0=y -CONFIG_FEATURE_FIND_MTIME=y -CONFIG_FEATURE_FIND_MMIN=y -CONFIG_FEATURE_FIND_PERM=y -CONFIG_FEATURE_FIND_TYPE=y -CONFIG_FEATURE_FIND_XDEV=y -CONFIG_FEATURE_FIND_MAXDEPTH=y -CONFIG_FEATURE_FIND_NEWER=y -CONFIG_FEATURE_FIND_INUM=y -CONFIG_FEATURE_FIND_EXEC=y -CONFIG_FEATURE_FIND_USER=y -CONFIG_FEATURE_FIND_GROUP=y -CONFIG_FEATURE_FIND_NOT=y -CONFIG_FEATURE_FIND_DEPTH=y -CONFIG_FEATURE_FIND_PAREN=y -CONFIG_FEATURE_FIND_SIZE=y -CONFIG_FEATURE_FIND_PRUNE=y -# CONFIG_FEATURE_FIND_DELETE is not set -CONFIG_FEATURE_FIND_PATH=y -CONFIG_FEATURE_FIND_REGEX=y -# CONFIG_FEATURE_FIND_CONTEXT is not set -CONFIG_FEATURE_FIND_LINKS=y -CONFIG_GREP=y -CONFIG_FEATURE_GREP_EGREP_ALIAS=y -CONFIG_FEATURE_GREP_FGREP_ALIAS=y -CONFIG_FEATURE_GREP_CONTEXT=y -CONFIG_XARGS=y -CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y -CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y -CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y -CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y - -# -# Init Utilities -# -# CONFIG_BOOTCHARTD is not set -# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set -# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set -CONFIG_HALT=y -# CONFIG_FEATURE_CALL_TELINIT is not set -CONFIG_TELINIT_PATH="" -CONFIG_INIT=y -CONFIG_FEATURE_USE_INITTAB=y -CONFIG_FEATURE_KILL_REMOVED=y -CONFIG_FEATURE_KILL_DELAY=10 -CONFIG_FEATURE_INIT_SCTTY=y -CONFIG_FEATURE_INIT_SYSLOG=y -CONFIG_FEATURE_EXTRA_QUIET=y -# CONFIG_FEATURE_INIT_COREDUMPS is not set -# CONFIG_FEATURE_INITRD is not set -CONFIG_INIT_TERMINAL_TYPE="linux" -CONFIG_MESG=y - -# -# Login/Password Management Utilities -# -CONFIG_ADD_SHELL=y -CONFIG_REMOVE_SHELL=y -CONFIG_FEATURE_SHADOWPASSWDS=y -# CONFIG_USE_BB_PWD_GRP is not set -# CONFIG_USE_BB_SHADOW is not set -CONFIG_USE_BB_CRYPT=y -CONFIG_USE_BB_CRYPT_SHA=y -CONFIG_ADDUSER=y -# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set -CONFIG_FEATURE_CHECK_NAMES=y -CONFIG_FIRST_SYSTEM_ID=1000 -CONFIG_LAST_SYSTEM_ID=12000 -CONFIG_ADDGROUP=y -CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y -CONFIG_FEATURE_ADDUSER_TO_GROUP=y -CONFIG_DELUSER=y -CONFIG_DELGROUP=y -CONFIG_FEATURE_DEL_USER_FROM_GROUP=y -CONFIG_GETTY=y -CONFIG_LOGIN=y -# CONFIG_PAM is not set -CONFIG_LOGIN_SCRIPTS=y -CONFIG_FEATURE_NOLOGIN=y -# CONFIG_FEATURE_SECURETTY is not set -CONFIG_PASSWD=y -CONFIG_FEATURE_PASSWD_WEAK_CHECK=y -CONFIG_CRYPTPW=y -CONFIG_CHPASSWD=y -CONFIG_SU=y -CONFIG_FEATURE_SU_SYSLOG=y -CONFIG_FEATURE_SU_CHECKS_SHELLS=y -CONFIG_SULOGIN=y -CONFIG_VLOCK=y - -# -# Linux Ext2 FS Progs -# -CONFIG_CHATTR=y -CONFIG_FSCK=y -CONFIG_LSATTR=y -CONFIG_TUNE2FS=y - -# -# Linux Module Utilities -# -CONFIG_MODINFO=y -# CONFIG_MODPROBE_SMALL is not set -# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set -# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set -CONFIG_INSMOD=y -CONFIG_RMMOD=y -CONFIG_LSMOD=y -CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y -CONFIG_MODPROBE=y -CONFIG_FEATURE_MODPROBE_BLACKLIST=y -CONFIG_DEPMOD=y - -# -# Options common to multiple modutils -# -CONFIG_FEATURE_2_4_MODULES=y -# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set -CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS=y -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set -# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set -# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set -CONFIG_FEATURE_CHECK_TAINTED_MODULE=y -CONFIG_FEATURE_MODUTILS_ALIAS=y -CONFIG_FEATURE_MODUTILS_SYMBOLS=y -CONFIG_DEFAULT_MODULES_DIR="/lib/modules" -CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" - -# -# Linux System Utilities -# -CONFIG_BLOCKDEV=y -CONFIG_REV=y -CONFIG_ACPID=y -CONFIG_FEATURE_ACPID_COMPAT=y -CONFIG_BLKID=y -CONFIG_DMESG=y -CONFIG_FEATURE_DMESG_PRETTY=y -CONFIG_FBSET=y -CONFIG_FEATURE_FBSET_FANCY=y -CONFIG_FEATURE_FBSET_READMODE=y -CONFIG_FDFLUSH=y -CONFIG_FDFORMAT=y -CONFIG_FDISK=y -CONFIG_FDISK_SUPPORT_LARGE_DISKS=y -CONFIG_FEATURE_FDISK_WRITABLE=y -# CONFIG_FEATURE_AIX_LABEL is not set -# CONFIG_FEATURE_SGI_LABEL is not set -# CONFIG_FEATURE_SUN_LABEL is not set -CONFIG_FEATURE_OSF_LABEL=y -CONFIG_FEATURE_GPT_LABEL=y -CONFIG_FEATURE_FDISK_ADVANCED=y -CONFIG_FINDFS=y -# CONFIG_FLOCK is not set -CONFIG_FREERAMDISK=y -CONFIG_FSCK_MINIX=y -# CONFIG_MKFS_EXT2 is not set -CONFIG_MKFS_MINIX=y -CONFIG_FEATURE_MINIX2=y -# CONFIG_MKFS_REISER is not set -CONFIG_MKFS_VFAT=y -CONFIG_GETOPT=y -CONFIG_FEATURE_GETOPT_LONG=y -CONFIG_HEXDUMP=y -CONFIG_FEATURE_HEXDUMP_REVERSE=y -CONFIG_HD=y -CONFIG_HWCLOCK=y -CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y -CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y -CONFIG_IPCRM=y -CONFIG_IPCS=y -CONFIG_LOSETUP=y -CONFIG_LSPCI=y -CONFIG_LSUSB=y -CONFIG_MDEV=y -CONFIG_FEATURE_MDEV_CONF=y -CONFIG_FEATURE_MDEV_RENAME=y -CONFIG_FEATURE_MDEV_RENAME_REGEXP=y -CONFIG_FEATURE_MDEV_EXEC=y -CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y -CONFIG_MKSWAP=y -CONFIG_FEATURE_MKSWAP_UUID=y -CONFIG_MORE=y -CONFIG_MOUNT=y -CONFIG_FEATURE_MOUNT_FAKE=y -# CONFIG_FEATURE_MOUNT_VERBOSE is not set -CONFIG_FEATURE_MOUNT_HELPERS=y -CONFIG_FEATURE_MOUNT_LABEL=y -CONFIG_FEATURE_MOUNT_NFS=y -CONFIG_FEATURE_MOUNT_CIFS=y -CONFIG_FEATURE_MOUNT_FLAGS=y -CONFIG_FEATURE_MOUNT_FSTAB=y -CONFIG_PIVOT_ROOT=y -CONFIG_RDATE=y -CONFIG_RDEV=y -CONFIG_READPROFILE=y -CONFIG_RTCWAKE=y -CONFIG_SCRIPT=y -CONFIG_SCRIPTREPLAY=y -CONFIG_SETARCH=y -CONFIG_SWAPONOFF=y -CONFIG_FEATURE_SWAPON_PRI=y -CONFIG_SWITCH_ROOT=y -CONFIG_UMOUNT=y -CONFIG_FEATURE_UMOUNT_ALL=y - -# -# Common options for mount/umount -# -CONFIG_FEATURE_MOUNT_LOOP=y -CONFIG_FEATURE_MOUNT_LOOP_CREATE=y -CONFIG_FEATURE_MTAB_SUPPORT=y -CONFIG_VOLUMEID=y - -# -# Filesystem/Volume identification -# -CONFIG_FEATURE_VOLUMEID_EXT=y -# CONFIG_FEATURE_VOLUMEID_BTRFS is not set -CONFIG_FEATURE_VOLUMEID_REISERFS=y -CONFIG_FEATURE_VOLUMEID_FAT=y -CONFIG_FEATURE_VOLUMEID_HFS=y -CONFIG_FEATURE_VOLUMEID_JFS=y -CONFIG_FEATURE_VOLUMEID_XFS=y -CONFIG_FEATURE_VOLUMEID_NTFS=y -CONFIG_FEATURE_VOLUMEID_ISO9660=y -CONFIG_FEATURE_VOLUMEID_UDF=y -CONFIG_FEATURE_VOLUMEID_LUKS=y -CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y -CONFIG_FEATURE_VOLUMEID_CRAMFS=y -CONFIG_FEATURE_VOLUMEID_ROMFS=y -CONFIG_FEATURE_VOLUMEID_SYSV=y -# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set -CONFIG_FEATURE_VOLUMEID_LINUXRAID=y - -# -# Miscellaneous Utilities -# -# CONFIG_CONSPY is not set -# CONFIG_NANDWRITE is not set -# CONFIG_NANDDUMP is not set -# CONFIG_UBIATTACH is not set -# CONFIG_UBIDETACH is not set -CONFIG_ADJTIMEX=y -CONFIG_BBCONFIG=y -CONFIG_FEATURE_COMPRESS_BBCONFIG=y -CONFIG_BEEP=y -CONFIG_FEATURE_BEEP_FREQ=4000 -CONFIG_FEATURE_BEEP_LENGTH_MS=30 -CONFIG_CHAT=y -CONFIG_FEATURE_CHAT_NOFAIL=y -# CONFIG_FEATURE_CHAT_TTY_HIFI is not set -CONFIG_FEATURE_CHAT_IMPLICIT_CR=y -# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set -# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set -# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set -# CONFIG_FEATURE_CHAT_CLR_ABORT is not set -CONFIG_CHRT=y -CONFIG_CROND=y -CONFIG_FEATURE_CROND_D=y -# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set -CONFIG_FEATURE_CROND_DIR="/var/spool/cron" -CONFIG_CRONTAB=y -CONFIG_DC=y -CONFIG_FEATURE_DC_LIBM=y -# CONFIG_DEVFSD is not set -# CONFIG_DEVFSD_MODLOAD is not set -# CONFIG_DEVFSD_FG_NP is not set -# CONFIG_DEVFSD_VERBOSE is not set -# CONFIG_FEATURE_DEVFS is not set -CONFIG_DEVMEM=y -CONFIG_EJECT=y -CONFIG_FEATURE_EJECT_SCSI=y -CONFIG_FBSPLASH=y -# CONFIG_FLASHCP is not set -CONFIG_FLASH_LOCK=y -CONFIG_FLASH_UNLOCK=y -CONFIG_FLASH_ERASEALL=y -CONFIG_IONICE=y -CONFIG_INOTIFYD=y -CONFIG_LAST=y -CONFIG_FEATURE_LAST_SMALL=y -# CONFIG_FEATURE_LAST_FANCY is not set -CONFIG_LESS=y -CONFIG_FEATURE_LESS_MAXLINES=9999999 -CONFIG_FEATURE_LESS_BRACKETS=y -CONFIG_FEATURE_LESS_FLAGS=y -CONFIG_FEATURE_LESS_MARKS=y -CONFIG_FEATURE_LESS_REGEXP=y -CONFIG_FEATURE_LESS_WINCH=y -CONFIG_FEATURE_LESS_DASHCMD=y -CONFIG_FEATURE_LESS_LINENUMS=y -CONFIG_HDPARM=y -CONFIG_FEATURE_HDPARM_GET_IDENTITY=y -CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y -CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y -CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y -CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y -CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y -CONFIG_MAKEDEVS=y -# CONFIG_FEATURE_MAKEDEVS_LEAF is not set -CONFIG_FEATURE_MAKEDEVS_TABLE=y -# CONFIG_MAN is not set -# CONFIG_MICROCOM is not set -CONFIG_MOUNTPOINT=y -CONFIG_MT=y -CONFIG_RAIDAUTORUN=y -CONFIG_READAHEAD=y -# CONFIG_RFKILL is not set -CONFIG_RUNLEVEL=y -CONFIG_RX=y -CONFIG_SETSID=y -CONFIG_STRINGS=y -CONFIG_TASKSET=y -CONFIG_FEATURE_TASKSET_FANCY=y -CONFIG_TIME=y -CONFIG_TIMEOUT=y -CONFIG_TTYSIZE=y -CONFIG_VOLNAME=y -# CONFIG_WALL is not set -CONFIG_WATCHDOG=y - -# -# Networking Utilities -# -CONFIG_NBDCLIENT=y -CONFIG_NC=y -CONFIG_NC_SERVER=y -CONFIG_NC_EXTRA=y -# CONFIG_NC_110_COMPAT is not set -CONFIG_FEATURE_IPV6=y -CONFIG_FEATURE_UNIX_LOCAL=y -CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y -# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set -CONFIG_ARP=y -CONFIG_ARPING=y -CONFIG_BRCTL=y -# CONFIG_FEATURE_BRCTL_FANCY is not set -# CONFIG_FEATURE_BRCTL_SHOW is not set -CONFIG_DNSD=y -CONFIG_ETHER_WAKE=y -CONFIG_FAKEIDENTD=y -CONFIG_FTPD=y -CONFIG_FEATURE_FTP_WRITE=y -CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y -CONFIG_FTPGET=y -CONFIG_FTPPUT=y -CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y -CONFIG_HOSTNAME=y -# CONFIG_HTTPD is not set -# CONFIG_FEATURE_HTTPD_RANGES is not set -# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set -# CONFIG_FEATURE_HTTPD_SETUID is not set -# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set -# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set -# CONFIG_FEATURE_HTTPD_CGI is not set -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set -# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set -# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set -# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set -# CONFIG_FEATURE_HTTPD_PROXY is not set -# CONFIG_FEATURE_HTTPD_GZIP is not set -CONFIG_IFCONFIG=y -CONFIG_FEATURE_IFCONFIG_STATUS=y -CONFIG_FEATURE_IFCONFIG_SLIP=y -CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y -CONFIG_FEATURE_IFCONFIG_HW=y -CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y -CONFIG_IFENSLAVE=y -CONFIG_IFPLUGD=y -CONFIG_IFUPDOWN=y -CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" -CONFIG_FEATURE_IFUPDOWN_IP=y -CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set -CONFIG_FEATURE_IFUPDOWN_IPV4=y -CONFIG_FEATURE_IFUPDOWN_IPV6=y -CONFIG_FEATURE_IFUPDOWN_MAPPING=y -CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP=y -# CONFIG_INETD is not set -# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set -# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set -# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set -# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set -# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set -# CONFIG_FEATURE_INETD_RPC is not set -CONFIG_IP=y -CONFIG_FEATURE_IP_ADDRESS=y -CONFIG_FEATURE_IP_LINK=y -CONFIG_FEATURE_IP_ROUTE=y -CONFIG_FEATURE_IP_TUNNEL=y -CONFIG_FEATURE_IP_RULE=y -CONFIG_FEATURE_IP_SHORT_FORMS=y -# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set -CONFIG_IPADDR=y -CONFIG_IPLINK=y -CONFIG_IPROUTE=y -CONFIG_IPTUNNEL=y -CONFIG_IPRULE=y -CONFIG_IPCALC=y -CONFIG_FEATURE_IPCALC_FANCY=y -CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y -CONFIG_NAMEIF=y -# CONFIG_FEATURE_NAMEIF_EXTENDED is not set -CONFIG_NETSTAT=y -# CONFIG_FEATURE_NETSTAT_WIDE is not set -CONFIG_FEATURE_NETSTAT_PRG=y -CONFIG_NSLOOKUP=y -# CONFIG_NTPD is not set -# CONFIG_FEATURE_NTPD_SERVER is not set -CONFIG_PING=y -CONFIG_PING6=y -CONFIG_FEATURE_FANCY_PING=y -CONFIG_PSCAN=y -CONFIG_ROUTE=y -CONFIG_SLATTACH=y -CONFIG_TCPSVD=y -CONFIG_TELNET=y -CONFIG_FEATURE_TELNET_TTYPE=y -CONFIG_FEATURE_TELNET_AUTOLOGIN=y -CONFIG_TELNETD=y -CONFIG_FEATURE_TELNETD_STANDALONE=y -# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set -CONFIG_TFTP=y -# CONFIG_TFTPD is not set - -# -# Common options for tftp/tftpd -# -CONFIG_FEATURE_TFTP_GET=y -CONFIG_FEATURE_TFTP_PUT=y -CONFIG_FEATURE_TFTP_BLOCKSIZE=y -CONFIG_FEATURE_TFTP_PROGRESS_BAR=y -CONFIG_TFTP_DEBUG=y -CONFIG_TRACEROUTE=y -CONFIG_TRACEROUTE6=y -# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set -# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set -# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set -CONFIG_TUNCTL=y -CONFIG_FEATURE_TUNCTL_UG=y -# CONFIG_UDHCPD is not set -# CONFIG_DHCPRELAY is not set -# CONFIG_DUMPLEASES is not set -# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set -CONFIG_DHCPD_LEASES_FILE="" -# CONFIG_UDHCPC is not set -# CONFIG_FEATURE_UDHCPC_ARPING is not set -# CONFIG_FEATURE_UDHCP_PORT is not set -CONFIG_UDHCP_DEBUG=0 -# CONFIG_FEATURE_UDHCP_RFC3397 is not set -CONFIG_UDHCPC_DEFAULT_SCRIPT="" -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0 -CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="" -CONFIG_UDPSVD=y -CONFIG_VCONFIG=y -CONFIG_WGET=y -CONFIG_FEATURE_WGET_STATUSBAR=y -CONFIG_FEATURE_WGET_AUTHENTICATION=y -CONFIG_FEATURE_WGET_LONG_OPTIONS=y -CONFIG_FEATURE_WGET_TIMEOUT=y -CONFIG_ZCIP=y - -# -# Print Utilities -# -# CONFIG_LPD is not set -CONFIG_LPR=y -# CONFIG_LPQ is not set - -# -# Mail Utilities -# -CONFIG_MAKEMIME=y -CONFIG_FEATURE_MIME_CHARSET="us-ascii" -CONFIG_POPMAILDIR=y -CONFIG_FEATURE_POPMAILDIR_DELIVERY=y -CONFIG_REFORMIME=y -CONFIG_FEATURE_REFORMIME_COMPAT=y -# CONFIG_SENDMAIL is not set - -# -# Process Utilities -# -CONFIG_IOSTAT=y -CONFIG_MPSTAT=y -CONFIG_PMAP=y -CONFIG_POWERTOP=y -# CONFIG_SMEMCAP is not set -CONFIG_FREE=y -CONFIG_FUSER=y -CONFIG_KILL=y -CONFIG_KILLALL=y -CONFIG_KILLALL5=y -CONFIG_NMETER=y -CONFIG_PGREP=y -CONFIG_PIDOF=y -CONFIG_FEATURE_PIDOF_SINGLE=y -CONFIG_FEATURE_PIDOF_OMIT=y -CONFIG_PKILL=y -CONFIG_PS=y -CONFIG_FEATURE_PS_WIDE=y -CONFIG_FEATURE_PS_TIME=y -CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y -# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set -CONFIG_RENICE=y -CONFIG_BB_SYSCTL=y -CONFIG_TOP=y -CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y -CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y -CONFIG_FEATURE_TOP_SMP_CPU=y -CONFIG_FEATURE_TOP_DECIMALS=y -CONFIG_FEATURE_TOP_SMP_PROCESS=y -CONFIG_FEATURE_TOPMEM=y -CONFIG_FEATURE_SHOW_THREADS=y -CONFIG_UPTIME=y -CONFIG_WATCH=y - -# -# Runit Utilities -# -CONFIG_RUNSV=y -CONFIG_RUNSVDIR=y -CONFIG_FEATURE_RUNSVDIR_LOG=y -CONFIG_SV=y -CONFIG_SV_DEFAULT_SERVICE_DIR="/var/service" -CONFIG_SVLOGD=y -CONFIG_CHPST=y -CONFIG_SETUIDGID=y -CONFIG_ENVUIDGID=y -CONFIG_ENVDIR=y -CONFIG_SOFTLIMIT=y -# CONFIG_CHCON is not set -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set -# CONFIG_GETENFORCE is not set -# CONFIG_GETSEBOOL is not set -# CONFIG_LOAD_POLICY is not set -# CONFIG_MATCHPATHCON is not set -# CONFIG_RESTORECON is not set -# CONFIG_RUNCON is not set -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set -# CONFIG_SELINUXENABLED is not set -# CONFIG_SETENFORCE is not set -# CONFIG_SETFILES is not set -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set -# CONFIG_SETSEBOOL is not set -# CONFIG_SESTATUS is not set - -# -# Shells -# -CONFIG_ASH=y -CONFIG_ASH_BASH_COMPAT=y -CONFIG_ASH_JOB_CONTROL=y -CONFIG_ASH_ALIAS=y -CONFIG_ASH_GETOPTS=y -CONFIG_ASH_BUILTIN_ECHO=y -CONFIG_ASH_BUILTIN_PRINTF=y -CONFIG_ASH_BUILTIN_TEST=y -CONFIG_ASH_CMDCMD=y -CONFIG_ASH_MAIL=y -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y -CONFIG_ASH_RANDOM_SUPPORT=y -CONFIG_ASH_EXPAND_PRMT=y -CONFIG_CTTYHACK=y -# CONFIG_HUSH is not set -# CONFIG_HUSH_BASH_COMPAT is not set -# CONFIG_HUSH_BRACE_EXPANSION is not set -# CONFIG_HUSH_HELP is not set -# CONFIG_HUSH_INTERACTIVE is not set -# CONFIG_HUSH_SAVEHISTORY is not set -# CONFIG_HUSH_JOB is not set -# CONFIG_HUSH_TICK is not set -# CONFIG_HUSH_IF is not set -# CONFIG_HUSH_LOOPS is not set -# CONFIG_HUSH_CASE is not set -# CONFIG_HUSH_FUNCTIONS is not set -# CONFIG_HUSH_LOCAL is not set -# CONFIG_HUSH_RANDOM_SUPPORT is not set -# CONFIG_HUSH_EXPORT_N is not set -# CONFIG_HUSH_MODE_X is not set -# CONFIG_MSH is not set -CONFIG_FEATURE_SH_IS_ASH=y -# CONFIG_FEATURE_SH_IS_HUSH is not set -# CONFIG_FEATURE_SH_IS_NONE is not set -# CONFIG_FEATURE_BASH_IS_ASH is not set -# CONFIG_FEATURE_BASH_IS_HUSH is not set -CONFIG_FEATURE_BASH_IS_NONE=y -CONFIG_SH_MATH_SUPPORT=y -CONFIG_SH_MATH_SUPPORT_64=y -CONFIG_FEATURE_SH_EXTRA_QUIET=y -# CONFIG_FEATURE_SH_STANDALONE is not set -# CONFIG_FEATURE_SH_NOFORK is not set - -# -# System Logging Utilities -# -CONFIG_SYSLOGD=y -CONFIG_FEATURE_ROTATE_LOGFILE=y -CONFIG_FEATURE_REMOTE_LOG=y -# CONFIG_FEATURE_SYSLOGD_DUP is not set -CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 -CONFIG_FEATURE_IPC_SYSLOG=y -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16 -CONFIG_LOGREAD=y -CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y -CONFIG_KLOGD=y -CONFIG_FEATURE_KLOGD_KLOGCTL=y -CONFIG_LOGGER=y diff --git a/source/a/mkinitrd/busybox-dot-config.1.19.x b/source/a/mkinitrd/busybox-dot-config.1.19.x deleted file mode 100644 index 864fed9d..00000000 --- a/source/a/mkinitrd/busybox-dot-config.1.19.x +++ /dev/null @@ -1,1013 +0,0 @@ -# -# Automatically generated make config: don't edit -# Busybox version: 1.19.3 -# Sat Dec 10 20:40:02 2011 -# -CONFIG_HAVE_DOT_CONFIG=y - -# -# Busybox Settings -# - -# -# General Configuration -# -CONFIG_DESKTOP=y -# CONFIG_EXTRA_COMPAT is not set -CONFIG_INCLUDE_SUSv2=y -# CONFIG_USE_PORTABLE_CODE is not set -CONFIG_PLATFORM_LINUX=y -CONFIG_FEATURE_BUFFERS_USE_MALLOC=y -# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set -# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set -CONFIG_SHOW_USAGE=y -CONFIG_FEATURE_VERBOSE_USAGE=y -CONFIG_FEATURE_COMPRESS_USAGE=y -CONFIG_FEATURE_INSTALLER=y -CONFIG_INSTALL_NO_USR=y -CONFIG_LOCALE_SUPPORT=y -CONFIG_UNICODE_SUPPORT=y -# CONFIG_UNICODE_USING_LOCALE is not set -# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set -CONFIG_SUBST_WCHAR=63 -CONFIG_LAST_SUPPORTED_WCHAR=767 -# CONFIG_UNICODE_COMBINING_WCHARS is not set -# CONFIG_UNICODE_WIDE_WCHARS is not set -# CONFIG_UNICODE_BIDI_SUPPORT is not set -# CONFIG_UNICODE_NEUTRAL_TABLE is not set -# CONFIG_UNICODE_PRESERVE_BROKEN is not set -CONFIG_LONG_OPTS=y -CONFIG_FEATURE_DEVPTS=y -# CONFIG_FEATURE_CLEAN_UP is not set -CONFIG_FEATURE_UTMP=y -CONFIG_FEATURE_WTMP=y -CONFIG_FEATURE_PIDFILE=y -CONFIG_FEATURE_SUID=y -CONFIG_FEATURE_SUID_CONFIG=y -CONFIG_FEATURE_SUID_CONFIG_QUIET=y -# CONFIG_SELINUX is not set -# CONFIG_FEATURE_PREFER_APPLETS is not set -CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe" -CONFIG_FEATURE_SYSLOG=y -CONFIG_FEATURE_HAVE_RPC=y - -# -# Build Options -# -# CONFIG_STATIC is not set -# CONFIG_PIE is not set -# CONFIG_NOMMU is not set -# CONFIG_BUILD_LIBBUSYBOX is not set -# CONFIG_FEATURE_INDIVIDUAL is not set -# CONFIG_FEATURE_SHARED_BUSYBOX is not set -CONFIG_LFS=y -CONFIG_CROSS_COMPILER_PREFIX="" -CONFIG_EXTRA_CFLAGS="" - -# -# Debugging Options -# -# CONFIG_DEBUG is not set -# CONFIG_DEBUG_PESSIMIZE is not set -# CONFIG_WERROR is not set -CONFIG_NO_DEBUG_LIB=y -# CONFIG_DMALLOC is not set -# CONFIG_EFENCE is not set - -# -# Installation Options ("make install" behavior) -# -CONFIG_INSTALL_APPLET_SYMLINKS=y -# CONFIG_INSTALL_APPLET_HARDLINKS is not set -# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set -# CONFIG_INSTALL_APPLET_DONT is not set -# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set -# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set -# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set -CONFIG_PREFIX="/tmp/package-mkinitrd/usr/share/mkinitrd/initrd-tree" - -# -# Busybox Library Tuning -# -# CONFIG_FEATURE_SYSTEMD is not set -CONFIG_FEATURE_RTMINMAX=y -CONFIG_PASSWORD_MINLEN=6 -CONFIG_MD5_SIZE_VS_SPEED=2 -# CONFIG_FEATURE_FAST_TOP is not set -# CONFIG_FEATURE_ETC_NETWORKS is not set -CONFIG_FEATURE_USE_TERMIOS=y -CONFIG_FEATURE_EDITING=y -CONFIG_FEATURE_EDITING_MAX_LEN=1024 -CONFIG_FEATURE_EDITING_VI=y -CONFIG_FEATURE_EDITING_HISTORY=64 -# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set -# CONFIG_FEATURE_REVERSE_SEARCH is not set -CONFIG_FEATURE_TAB_COMPLETION=y -# CONFIG_FEATURE_USERNAME_COMPLETION is not set -CONFIG_FEATURE_EDITING_FANCY_PROMPT=y -CONFIG_FEATURE_EDITING_ASK_TERMINAL=y -# CONFIG_FEATURE_NON_POSIX_CP is not set -CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y -CONFIG_FEATURE_COPYBUF_KB=4 -# CONFIG_FEATURE_SKIP_ROOTFS is not set -CONFIG_MONOTONIC_SYSCALL=y -CONFIG_IOCTL_HEX2STR_ERROR=y -# CONFIG_FEATURE_HWIB is not set - -# -# Applets -# - -# -# Archival Utilities -# -CONFIG_FEATURE_SEAMLESS_XZ=y -# CONFIG_FEATURE_SEAMLESS_LZMA is not set -CONFIG_FEATURE_SEAMLESS_BZ2=y -CONFIG_FEATURE_SEAMLESS_GZ=y -CONFIG_FEATURE_SEAMLESS_Z=y -CONFIG_AR=y -CONFIG_FEATURE_AR_LONG_FILENAMES=y -# CONFIG_FEATURE_AR_CREATE is not set -CONFIG_BUNZIP2=y -CONFIG_BZIP2=y -CONFIG_CPIO=y -CONFIG_FEATURE_CPIO_O=y -CONFIG_FEATURE_CPIO_P=y -# CONFIG_DPKG is not set -# CONFIG_DPKG_DEB is not set -# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set -CONFIG_GUNZIP=y -CONFIG_GZIP=y -CONFIG_FEATURE_GZIP_LONG_OPTIONS=y -CONFIG_LZOP=y -CONFIG_LZOP_COMPR_HIGH=y -CONFIG_RPM2CPIO=y -# CONFIG_RPM is not set -CONFIG_TAR=y -CONFIG_FEATURE_TAR_CREATE=y -CONFIG_FEATURE_TAR_AUTODETECT=y -CONFIG_FEATURE_TAR_FROM=y -CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y -# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set -CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y -CONFIG_FEATURE_TAR_LONG_OPTIONS=y -# CONFIG_FEATURE_TAR_TO_COMMAND is not set -CONFIG_FEATURE_TAR_UNAME_GNAME=y -CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y -# CONFIG_FEATURE_TAR_SELINUX is not set -CONFIG_UNCOMPRESS=y -CONFIG_UNLZMA=y -CONFIG_FEATURE_LZMA_FAST=y -CONFIG_LZMA=y -CONFIG_UNXZ=y -CONFIG_XZ=y -CONFIG_UNZIP=y - -# -# Coreutils -# -CONFIG_BASENAME=y -CONFIG_CAT=y -CONFIG_DATE=y -CONFIG_FEATURE_DATE_ISOFMT=y -# CONFIG_FEATURE_DATE_NANO is not set -# CONFIG_FEATURE_DATE_COMPAT is not set -CONFIG_ID=y -# CONFIG_GROUPS is not set -CONFIG_TEST=y -CONFIG_FEATURE_TEST_64=y -CONFIG_TOUCH=y -CONFIG_TR=y -CONFIG_FEATURE_TR_CLASSES=y -CONFIG_FEATURE_TR_EQUIV=y -CONFIG_BASE64=y -CONFIG_WHO=y -CONFIG_USERS=y -CONFIG_CAL=y -CONFIG_CATV=y -CONFIG_CHGRP=y -CONFIG_CHMOD=y -CONFIG_CHOWN=y -# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set -CONFIG_CHROOT=y -CONFIG_CKSUM=y -CONFIG_COMM=y -CONFIG_CP=y -CONFIG_FEATURE_CP_LONG_OPTIONS=y -CONFIG_CUT=y -CONFIG_DD=y -CONFIG_FEATURE_DD_SIGNAL_HANDLING=y -# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set -CONFIG_FEATURE_DD_IBS_OBS=y -CONFIG_DF=y -CONFIG_FEATURE_DF_FANCY=y -CONFIG_DIRNAME=y -CONFIG_DOS2UNIX=y -CONFIG_UNIX2DOS=y -CONFIG_DU=y -CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y -CONFIG_ECHO=y -CONFIG_FEATURE_FANCY_ECHO=y -CONFIG_ENV=y -CONFIG_FEATURE_ENV_LONG_OPTIONS=y -CONFIG_EXPAND=y -CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y -CONFIG_EXPR=y -CONFIG_EXPR_MATH_SUPPORT_64=y -CONFIG_FALSE=y -CONFIG_FOLD=y -CONFIG_FSYNC=y -CONFIG_HEAD=y -CONFIG_FEATURE_FANCY_HEAD=y -CONFIG_HOSTID=y -CONFIG_INSTALL=y -CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y -CONFIG_LN=y -CONFIG_LOGNAME=y -CONFIG_LS=y -CONFIG_FEATURE_LS_FILETYPES=y -CONFIG_FEATURE_LS_FOLLOWLINKS=y -CONFIG_FEATURE_LS_RECURSIVE=y -CONFIG_FEATURE_LS_SORTFILES=y -CONFIG_FEATURE_LS_TIMESTAMPS=y -CONFIG_FEATURE_LS_USERNAME=y -CONFIG_FEATURE_LS_COLOR=y -CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y -CONFIG_MD5SUM=y -CONFIG_MKDIR=y -CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y -CONFIG_MKFIFO=y -CONFIG_MKNOD=y -CONFIG_MV=y -CONFIG_FEATURE_MV_LONG_OPTIONS=y -CONFIG_NICE=y -CONFIG_NOHUP=y -CONFIG_OD=y -CONFIG_PRINTENV=y -CONFIG_PRINTF=y -CONFIG_PWD=y -CONFIG_READLINK=y -CONFIG_FEATURE_READLINK_FOLLOW=y -CONFIG_REALPATH=y -CONFIG_RM=y -CONFIG_RMDIR=y -# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set -CONFIG_SEQ=y -CONFIG_SHA1SUM=y -CONFIG_SHA256SUM=y -CONFIG_SHA512SUM=y -CONFIG_SLEEP=y -CONFIG_FEATURE_FANCY_SLEEP=y -# CONFIG_FEATURE_FLOAT_SLEEP is not set -CONFIG_SORT=y -CONFIG_FEATURE_SORT_BIG=y -CONFIG_SPLIT=y -CONFIG_FEATURE_SPLIT_FANCY=y -CONFIG_STAT=y -CONFIG_FEATURE_STAT_FORMAT=y -CONFIG_STTY=y -CONFIG_SUM=y -CONFIG_SYNC=y -CONFIG_TAC=y -CONFIG_TAIL=y -CONFIG_FEATURE_FANCY_TAIL=y -CONFIG_TEE=y -CONFIG_FEATURE_TEE_USE_BLOCK_IO=y -CONFIG_TRUE=y -CONFIG_TTY=y -CONFIG_UNAME=y -CONFIG_UNEXPAND=y -CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y -CONFIG_UNIQ=y -CONFIG_USLEEP=y -CONFIG_UUDECODE=y -CONFIG_UUENCODE=y -CONFIG_WC=y -CONFIG_FEATURE_WC_LARGE=y -CONFIG_WHOAMI=y -CONFIG_YES=y - -# -# Common options for cp and mv -# -CONFIG_FEATURE_PRESERVE_HARDLINKS=y - -# -# Common options for ls, more and telnet -# -CONFIG_FEATURE_AUTOWIDTH=y - -# -# Common options for df, du, ls -# -CONFIG_FEATURE_HUMAN_READABLE=y - -# -# Common options for md5sum, sha1sum, sha256sum, sha512sum -# -CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y - -# -# Console Utilities -# -CONFIG_CHVT=y -CONFIG_FGCONSOLE=y -CONFIG_CLEAR=y -CONFIG_DEALLOCVT=y -CONFIG_DUMPKMAP=y -CONFIG_KBD_MODE=y -CONFIG_LOADFONT=y -CONFIG_LOADKMAP=y -CONFIG_OPENVT=y -CONFIG_RESET=y -CONFIG_RESIZE=y -CONFIG_FEATURE_RESIZE_PRINT=y -CONFIG_SETCONSOLE=y -CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y -CONFIG_SETFONT=y -CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y -CONFIG_DEFAULT_SETFONT_DIR="/usr/share/kbd/consolefonts" -CONFIG_SETKEYCODES=y -CONFIG_SETLOGCONS=y -CONFIG_SHOWKEY=y - -# -# Common options for loadfont and setfont -# -# CONFIG_FEATURE_LOADFONT_PSF2 is not set -CONFIG_FEATURE_LOADFONT_RAW=y - -# -# Debian Utilities -# -CONFIG_MKTEMP=y -CONFIG_PIPE_PROGRESS=y -CONFIG_RUN_PARTS=y -CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y -CONFIG_FEATURE_RUN_PARTS_FANCY=y -CONFIG_START_STOP_DAEMON=y -CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y -CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y -CONFIG_WHICH=y - -# -# Editors -# -CONFIG_PATCH=y -CONFIG_VI=y -CONFIG_FEATURE_VI_MAX_LEN=1024 -CONFIG_FEATURE_VI_8BIT=y -CONFIG_FEATURE_VI_COLON=y -CONFIG_FEATURE_VI_YANKMARK=y -CONFIG_FEATURE_VI_SEARCH=y -# CONFIG_FEATURE_VI_REGEX_SEARCH is not set -CONFIG_FEATURE_VI_USE_SIGNALS=y -CONFIG_FEATURE_VI_DOT_CMD=y -CONFIG_FEATURE_VI_READONLY=y -CONFIG_FEATURE_VI_SETOPTS=y -CONFIG_FEATURE_VI_SET=y -CONFIG_FEATURE_VI_WIN_RESIZE=y -CONFIG_FEATURE_VI_ASK_TERMINAL=y -CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y -CONFIG_AWK=y -CONFIG_FEATURE_AWK_LIBM=y -CONFIG_CMP=y -CONFIG_DIFF=y -# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set -CONFIG_FEATURE_DIFF_DIR=y -CONFIG_ED=y -CONFIG_SED=y -CONFIG_FEATURE_ALLOW_EXEC=y - -# -# Finding Utilities -# -CONFIG_FIND=y -CONFIG_FEATURE_FIND_PRINT0=y -CONFIG_FEATURE_FIND_MTIME=y -CONFIG_FEATURE_FIND_MMIN=y -CONFIG_FEATURE_FIND_PERM=y -CONFIG_FEATURE_FIND_TYPE=y -CONFIG_FEATURE_FIND_XDEV=y -CONFIG_FEATURE_FIND_MAXDEPTH=y -CONFIG_FEATURE_FIND_NEWER=y -CONFIG_FEATURE_FIND_INUM=y -CONFIG_FEATURE_FIND_EXEC=y -CONFIG_FEATURE_FIND_USER=y -CONFIG_FEATURE_FIND_GROUP=y -CONFIG_FEATURE_FIND_NOT=y -CONFIG_FEATURE_FIND_DEPTH=y -CONFIG_FEATURE_FIND_PAREN=y -CONFIG_FEATURE_FIND_SIZE=y -CONFIG_FEATURE_FIND_PRUNE=y -# CONFIG_FEATURE_FIND_DELETE is not set -CONFIG_FEATURE_FIND_PATH=y -CONFIG_FEATURE_FIND_REGEX=y -# CONFIG_FEATURE_FIND_CONTEXT is not set -CONFIG_FEATURE_FIND_LINKS=y -CONFIG_GREP=y -CONFIG_FEATURE_GREP_EGREP_ALIAS=y -CONFIG_FEATURE_GREP_FGREP_ALIAS=y -CONFIG_FEATURE_GREP_CONTEXT=y -CONFIG_XARGS=y -CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y -CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y -CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y -CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y - -# -# Init Utilities -# -# CONFIG_BOOTCHARTD is not set -# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set -# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set -CONFIG_HALT=y -# CONFIG_FEATURE_CALL_TELINIT is not set -CONFIG_TELINIT_PATH="" -CONFIG_INIT=y -CONFIG_FEATURE_USE_INITTAB=y -CONFIG_FEATURE_KILL_REMOVED=y -CONFIG_FEATURE_KILL_DELAY=10 -CONFIG_FEATURE_INIT_SCTTY=y -CONFIG_FEATURE_INIT_SYSLOG=y -CONFIG_FEATURE_EXTRA_QUIET=y -# CONFIG_FEATURE_INIT_COREDUMPS is not set -# CONFIG_FEATURE_INITRD is not set -CONFIG_INIT_TERMINAL_TYPE="linux" -CONFIG_MESG=y -CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y - -# -# Login/Password Management Utilities -# -CONFIG_ADD_SHELL=y -CONFIG_REMOVE_SHELL=y -CONFIG_FEATURE_SHADOWPASSWDS=y -# CONFIG_USE_BB_PWD_GRP is not set -# CONFIG_USE_BB_SHADOW is not set -CONFIG_USE_BB_CRYPT=y -CONFIG_USE_BB_CRYPT_SHA=y -CONFIG_ADDUSER=y -# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set -CONFIG_FEATURE_CHECK_NAMES=y -CONFIG_FIRST_SYSTEM_ID=1000 -CONFIG_LAST_SYSTEM_ID=12000 -CONFIG_ADDGROUP=y -CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y -CONFIG_FEATURE_ADDUSER_TO_GROUP=y -CONFIG_DELUSER=y -CONFIG_DELGROUP=y -CONFIG_FEATURE_DEL_USER_FROM_GROUP=y -CONFIG_GETTY=y -CONFIG_LOGIN=y -# CONFIG_PAM is not set -CONFIG_LOGIN_SCRIPTS=y -CONFIG_FEATURE_NOLOGIN=y -# CONFIG_FEATURE_SECURETTY is not set -CONFIG_PASSWD=y -CONFIG_FEATURE_PASSWD_WEAK_CHECK=y -CONFIG_CRYPTPW=y -CONFIG_CHPASSWD=y -CONFIG_SU=y -CONFIG_FEATURE_SU_SYSLOG=y -CONFIG_FEATURE_SU_CHECKS_SHELLS=y -CONFIG_SULOGIN=y -CONFIG_VLOCK=y - -# -# Linux Ext2 FS Progs -# -CONFIG_CHATTR=y -CONFIG_FSCK=y -CONFIG_LSATTR=y -CONFIG_TUNE2FS=y - -# -# Linux Module Utilities -# -CONFIG_MODINFO=y -# CONFIG_MODPROBE_SMALL is not set -# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set -# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set -CONFIG_INSMOD=y -CONFIG_RMMOD=y -CONFIG_LSMOD=y -CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y -CONFIG_MODPROBE=y -CONFIG_FEATURE_MODPROBE_BLACKLIST=y -CONFIG_DEPMOD=y - -# -# Options common to multiple modutils -# -CONFIG_FEATURE_2_4_MODULES=y -# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set -# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set -CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS=y -# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set -# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set -# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set -CONFIG_FEATURE_CHECK_TAINTED_MODULE=y -CONFIG_FEATURE_MODUTILS_ALIAS=y -CONFIG_FEATURE_MODUTILS_SYMBOLS=y -CONFIG_DEFAULT_MODULES_DIR="/lib/modules" -CONFIG_DEFAULT_DEPMOD_FILE="modules.dep" - -# -# Linux System Utilities -# -CONFIG_BLOCKDEV=y -CONFIG_REV=y -CONFIG_ACPID=y -CONFIG_FEATURE_ACPID_COMPAT=y -CONFIG_BLKID=y -CONFIG_FEATURE_BLKID_TYPE=y -CONFIG_DMESG=y -CONFIG_FEATURE_DMESG_PRETTY=y -CONFIG_FBSET=y -CONFIG_FEATURE_FBSET_FANCY=y -CONFIG_FEATURE_FBSET_READMODE=y -CONFIG_FDFLUSH=y -CONFIG_FDFORMAT=y -CONFIG_FDISK=y -# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set -CONFIG_FEATURE_FDISK_WRITABLE=y -# CONFIG_FEATURE_AIX_LABEL is not set -# CONFIG_FEATURE_SGI_LABEL is not set -# CONFIG_FEATURE_SUN_LABEL is not set -CONFIG_FEATURE_OSF_LABEL=y -CONFIG_FEATURE_GPT_LABEL=y -CONFIG_FEATURE_FDISK_ADVANCED=y -CONFIG_FINDFS=y -# CONFIG_FLOCK is not set -CONFIG_FREERAMDISK=y -CONFIG_FSCK_MINIX=y -# CONFIG_MKFS_EXT2 is not set -CONFIG_MKFS_MINIX=y -CONFIG_FEATURE_MINIX2=y -# CONFIG_MKFS_REISER is not set -CONFIG_MKFS_VFAT=y -CONFIG_GETOPT=y -CONFIG_FEATURE_GETOPT_LONG=y -CONFIG_HEXDUMP=y -CONFIG_FEATURE_HEXDUMP_REVERSE=y -CONFIG_HD=y -CONFIG_HWCLOCK=y -CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y -CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y -CONFIG_IPCRM=y -CONFIG_IPCS=y -CONFIG_LOSETUP=y -CONFIG_LSPCI=y -CONFIG_LSUSB=y -CONFIG_MDEV=y -CONFIG_FEATURE_MDEV_CONF=y -CONFIG_FEATURE_MDEV_RENAME=y -CONFIG_FEATURE_MDEV_RENAME_REGEXP=y -CONFIG_FEATURE_MDEV_EXEC=y -CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y -CONFIG_MKSWAP=y -CONFIG_FEATURE_MKSWAP_UUID=y -CONFIG_MORE=y -CONFIG_MOUNT=y -CONFIG_FEATURE_MOUNT_FAKE=y -# CONFIG_FEATURE_MOUNT_VERBOSE is not set -CONFIG_FEATURE_MOUNT_HELPERS=y -CONFIG_FEATURE_MOUNT_LABEL=y -CONFIG_FEATURE_MOUNT_NFS=y -CONFIG_FEATURE_MOUNT_CIFS=y -CONFIG_FEATURE_MOUNT_FLAGS=y -CONFIG_FEATURE_MOUNT_FSTAB=y -CONFIG_PIVOT_ROOT=y -CONFIG_RDATE=y -CONFIG_RDEV=y -CONFIG_READPROFILE=y -CONFIG_RTCWAKE=y -CONFIG_SCRIPT=y -CONFIG_SCRIPTREPLAY=y -CONFIG_SETARCH=y -CONFIG_SWAPONOFF=y -CONFIG_FEATURE_SWAPON_PRI=y -CONFIG_SWITCH_ROOT=y -CONFIG_UMOUNT=y -CONFIG_FEATURE_UMOUNT_ALL=y - -# -# Common options for mount/umount -# -CONFIG_FEATURE_MOUNT_LOOP=y -CONFIG_FEATURE_MOUNT_LOOP_CREATE=y -CONFIG_FEATURE_MTAB_SUPPORT=y -CONFIG_VOLUMEID=y - -# -# Filesystem/Volume identification -# -CONFIG_FEATURE_VOLUMEID_EXT=y -# CONFIG_FEATURE_VOLUMEID_BTRFS is not set -CONFIG_FEATURE_VOLUMEID_REISERFS=y -CONFIG_FEATURE_VOLUMEID_FAT=y -CONFIG_FEATURE_VOLUMEID_HFS=y -CONFIG_FEATURE_VOLUMEID_JFS=y -CONFIG_FEATURE_VOLUMEID_XFS=y -CONFIG_FEATURE_VOLUMEID_NTFS=y -CONFIG_FEATURE_VOLUMEID_ISO9660=y -CONFIG_FEATURE_VOLUMEID_UDF=y -CONFIG_FEATURE_VOLUMEID_LUKS=y -CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y -CONFIG_FEATURE_VOLUMEID_CRAMFS=y -CONFIG_FEATURE_VOLUMEID_ROMFS=y -CONFIG_FEATURE_VOLUMEID_SYSV=y -# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set -CONFIG_FEATURE_VOLUMEID_LINUXRAID=y - -# -# Miscellaneous Utilities -# -# CONFIG_CONSPY is not set -CONFIG_LESS=y -CONFIG_FEATURE_LESS_MAXLINES=9999999 -CONFIG_FEATURE_LESS_BRACKETS=y -CONFIG_FEATURE_LESS_FLAGS=y -CONFIG_FEATURE_LESS_MARKS=y -CONFIG_FEATURE_LESS_REGEXP=y -CONFIG_FEATURE_LESS_WINCH=y -CONFIG_FEATURE_LESS_ASK_TERMINAL=y -CONFIG_FEATURE_LESS_DASHCMD=y -CONFIG_FEATURE_LESS_LINENUMS=y -# CONFIG_NANDWRITE is not set -# CONFIG_NANDDUMP is not set -CONFIG_SETSERIAL=y -# CONFIG_UBIATTACH is not set -# CONFIG_UBIDETACH is not set -# CONFIG_UBIMKVOL is not set -# CONFIG_UBIRMVOL is not set -# CONFIG_UBIRSVOL is not set -# CONFIG_UBIUPDATEVOL is not set -CONFIG_ADJTIMEX=y -CONFIG_BBCONFIG=y -CONFIG_FEATURE_COMPRESS_BBCONFIG=y -CONFIG_BEEP=y -CONFIG_FEATURE_BEEP_FREQ=4000 -CONFIG_FEATURE_BEEP_LENGTH_MS=30 -CONFIG_CHAT=y -CONFIG_FEATURE_CHAT_NOFAIL=y -# CONFIG_FEATURE_CHAT_TTY_HIFI is not set -CONFIG_FEATURE_CHAT_IMPLICIT_CR=y -# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set -# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set -# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set -# CONFIG_FEATURE_CHAT_CLR_ABORT is not set -CONFIG_CHRT=y -CONFIG_CROND=y -CONFIG_FEATURE_CROND_D=y -# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set -CONFIG_FEATURE_CROND_DIR="/var/spool/cron" -CONFIG_CRONTAB=y -CONFIG_DC=y -CONFIG_FEATURE_DC_LIBM=y -# CONFIG_DEVFSD is not set -# CONFIG_DEVFSD_MODLOAD is not set -# CONFIG_DEVFSD_FG_NP is not set -# CONFIG_DEVFSD_VERBOSE is not set -# CONFIG_FEATURE_DEVFS is not set -CONFIG_DEVMEM=y -CONFIG_EJECT=y -CONFIG_FEATURE_EJECT_SCSI=y -CONFIG_FBSPLASH=y -# CONFIG_FLASHCP is not set -CONFIG_FLASH_LOCK=y -CONFIG_FLASH_UNLOCK=y -CONFIG_FLASH_ERASEALL=y -CONFIG_IONICE=y -CONFIG_INOTIFYD=y -CONFIG_LAST=y -CONFIG_FEATURE_LAST_SMALL=y -# CONFIG_FEATURE_LAST_FANCY is not set -CONFIG_HDPARM=y -CONFIG_FEATURE_HDPARM_GET_IDENTITY=y -CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y -CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y -CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y -CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y -CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y -CONFIG_MAKEDEVS=y -# CONFIG_FEATURE_MAKEDEVS_LEAF is not set -CONFIG_FEATURE_MAKEDEVS_TABLE=y -# CONFIG_MAN is not set -# CONFIG_MICROCOM is not set -CONFIG_MOUNTPOINT=y -CONFIG_MT=y -CONFIG_RAIDAUTORUN=y -CONFIG_READAHEAD=y -# CONFIG_RFKILL is not set -CONFIG_RUNLEVEL=y -CONFIG_RX=y -CONFIG_SETSID=y -CONFIG_STRINGS=y -CONFIG_TASKSET=y -CONFIG_FEATURE_TASKSET_FANCY=y -CONFIG_TIME=y -CONFIG_TIMEOUT=y -CONFIG_TTYSIZE=y -CONFIG_VOLNAME=y -# CONFIG_WALL is not set -CONFIG_WATCHDOG=y - -# -# Networking Utilities -# -CONFIG_NAMEIF=y -# CONFIG_FEATURE_NAMEIF_EXTENDED is not set -CONFIG_NBDCLIENT=y -CONFIG_NC=y -CONFIG_NC_SERVER=y -CONFIG_NC_EXTRA=y -# CONFIG_NC_110_COMPAT is not set -CONFIG_PING=y -CONFIG_PING6=y -CONFIG_FEATURE_FANCY_PING=y -# CONFIG_WHOIS is not set -CONFIG_FEATURE_IPV6=y -CONFIG_FEATURE_UNIX_LOCAL=y -CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y -# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set -CONFIG_ARP=y -CONFIG_ARPING=y -CONFIG_BRCTL=y -# CONFIG_FEATURE_BRCTL_FANCY is not set -# CONFIG_FEATURE_BRCTL_SHOW is not set -CONFIG_DNSD=y -CONFIG_ETHER_WAKE=y -CONFIG_FAKEIDENTD=y -CONFIG_FTPD=y -CONFIG_FEATURE_FTP_WRITE=y -CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y -CONFIG_FTPGET=y -CONFIG_FTPPUT=y -CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y -CONFIG_HOSTNAME=y -# CONFIG_HTTPD is not set -# CONFIG_FEATURE_HTTPD_RANGES is not set -# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set -# CONFIG_FEATURE_HTTPD_SETUID is not set -# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set -# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set -# CONFIG_FEATURE_HTTPD_CGI is not set -# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set -# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set -# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set -# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set -# CONFIG_FEATURE_HTTPD_PROXY is not set -# CONFIG_FEATURE_HTTPD_GZIP is not set -CONFIG_IFCONFIG=y -CONFIG_FEATURE_IFCONFIG_STATUS=y -CONFIG_FEATURE_IFCONFIG_SLIP=y -CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y -CONFIG_FEATURE_IFCONFIG_HW=y -CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y -CONFIG_IFENSLAVE=y -CONFIG_IFPLUGD=y -CONFIG_IFUPDOWN=y -CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate" -CONFIG_FEATURE_IFUPDOWN_IP=y -CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y -# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set -CONFIG_FEATURE_IFUPDOWN_IPV4=y -CONFIG_FEATURE_IFUPDOWN_IPV6=y -CONFIG_FEATURE_IFUPDOWN_MAPPING=y -CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP=y -# CONFIG_INETD is not set -# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set -# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set -# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set -# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set -# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set -# CONFIG_FEATURE_INETD_RPC is not set -CONFIG_IP=y -CONFIG_FEATURE_IP_ADDRESS=y -CONFIG_FEATURE_IP_LINK=y -CONFIG_FEATURE_IP_ROUTE=y -CONFIG_FEATURE_IP_TUNNEL=y -CONFIG_FEATURE_IP_RULE=y -CONFIG_FEATURE_IP_SHORT_FORMS=y -# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set -CONFIG_IPADDR=y -CONFIG_IPLINK=y -CONFIG_IPROUTE=y -CONFIG_IPTUNNEL=y -CONFIG_IPRULE=y -CONFIG_IPCALC=y -CONFIG_FEATURE_IPCALC_FANCY=y -CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y -CONFIG_NETSTAT=y -# CONFIG_FEATURE_NETSTAT_WIDE is not set -CONFIG_FEATURE_NETSTAT_PRG=y -CONFIG_NSLOOKUP=y -# CONFIG_NTPD is not set -# CONFIG_FEATURE_NTPD_SERVER is not set -CONFIG_PSCAN=y -CONFIG_ROUTE=y -CONFIG_SLATTACH=y -CONFIG_TCPSVD=y -CONFIG_TELNET=y -CONFIG_FEATURE_TELNET_TTYPE=y -CONFIG_FEATURE_TELNET_AUTOLOGIN=y -CONFIG_TELNETD=y -CONFIG_FEATURE_TELNETD_STANDALONE=y -# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set -CONFIG_TFTP=y -# CONFIG_TFTPD is not set - -# -# Common options for tftp/tftpd -# -CONFIG_FEATURE_TFTP_GET=y -CONFIG_FEATURE_TFTP_PUT=y -CONFIG_FEATURE_TFTP_BLOCKSIZE=y -CONFIG_FEATURE_TFTP_PROGRESS_BAR=y -CONFIG_TFTP_DEBUG=y -CONFIG_TRACEROUTE=y -CONFIG_TRACEROUTE6=y -# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set -# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set -# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set -CONFIG_TUNCTL=y -CONFIG_FEATURE_TUNCTL_UG=y -# CONFIG_UDHCPD is not set -# CONFIG_DHCPRELAY is not set -# CONFIG_DUMPLEASES is not set -# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set -# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set -CONFIG_DHCPD_LEASES_FILE="" -# CONFIG_UDHCPC is not set -# CONFIG_FEATURE_UDHCPC_ARPING is not set -# CONFIG_FEATURE_UDHCP_PORT is not set -CONFIG_UDHCP_DEBUG=0 -# CONFIG_FEATURE_UDHCP_RFC3397 is not set -# CONFIG_FEATURE_UDHCP_8021Q is not set -CONFIG_UDHCPC_DEFAULT_SCRIPT="" -CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0 -CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS="" -CONFIG_UDPSVD=y -CONFIG_VCONFIG=y -CONFIG_WGET=y -CONFIG_FEATURE_WGET_STATUSBAR=y -CONFIG_FEATURE_WGET_AUTHENTICATION=y -CONFIG_FEATURE_WGET_LONG_OPTIONS=y -CONFIG_FEATURE_WGET_TIMEOUT=y -CONFIG_ZCIP=y - -# -# Print Utilities -# -# CONFIG_LPD is not set -CONFIG_LPR=y -# CONFIG_LPQ is not set - -# -# Mail Utilities -# -CONFIG_MAKEMIME=y -CONFIG_FEATURE_MIME_CHARSET="us-ascii" -CONFIG_POPMAILDIR=y -CONFIG_FEATURE_POPMAILDIR_DELIVERY=y -CONFIG_REFORMIME=y -CONFIG_FEATURE_REFORMIME_COMPAT=y -# CONFIG_SENDMAIL is not set - -# -# Process Utilities -# -CONFIG_IOSTAT=y -CONFIG_MPSTAT=y -CONFIG_NMETER=y -CONFIG_PMAP=y -CONFIG_POWERTOP=y -# CONFIG_PSTREE is not set -# CONFIG_PWDX is not set -# CONFIG_SMEMCAP is not set -CONFIG_UPTIME=y -# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set -CONFIG_FREE=y -CONFIG_FUSER=y -CONFIG_KILL=y -CONFIG_KILLALL=y -CONFIG_KILLALL5=y -CONFIG_PGREP=y -CONFIG_PIDOF=y -CONFIG_FEATURE_PIDOF_SINGLE=y -CONFIG_FEATURE_PIDOF_OMIT=y -CONFIG_PKILL=y -CONFIG_PS=y -CONFIG_FEATURE_PS_WIDE=y -CONFIG_FEATURE_PS_TIME=y -CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y -# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set -CONFIG_RENICE=y -CONFIG_BB_SYSCTL=y -CONFIG_TOP=y -CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y -CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y -CONFIG_FEATURE_TOP_SMP_CPU=y -CONFIG_FEATURE_TOP_DECIMALS=y -CONFIG_FEATURE_TOP_SMP_PROCESS=y -CONFIG_FEATURE_TOPMEM=y -CONFIG_FEATURE_SHOW_THREADS=y -CONFIG_WATCH=y - -# -# Runit Utilities -# -CONFIG_RUNSV=y -CONFIG_RUNSVDIR=y -CONFIG_FEATURE_RUNSVDIR_LOG=y -CONFIG_SV=y -CONFIG_SV_DEFAULT_SERVICE_DIR="/var/service" -CONFIG_SVLOGD=y -CONFIG_CHPST=y -CONFIG_SETUIDGID=y -CONFIG_ENVUIDGID=y -CONFIG_ENVDIR=y -CONFIG_SOFTLIMIT=y -# CONFIG_CHCON is not set -# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set -# CONFIG_GETENFORCE is not set -# CONFIG_GETSEBOOL is not set -# CONFIG_LOAD_POLICY is not set -# CONFIG_MATCHPATHCON is not set -# CONFIG_RESTORECON is not set -# CONFIG_RUNCON is not set -# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set -# CONFIG_SELINUXENABLED is not set -# CONFIG_SETENFORCE is not set -# CONFIG_SETFILES is not set -# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set -# CONFIG_SETSEBOOL is not set -# CONFIG_SESTATUS is not set - -# -# Shells -# -CONFIG_ASH=y -CONFIG_ASH_BASH_COMPAT=y -# CONFIG_ASH_IDLE_TIMEOUT is not set -CONFIG_ASH_JOB_CONTROL=y -CONFIG_ASH_ALIAS=y -CONFIG_ASH_GETOPTS=y -CONFIG_ASH_BUILTIN_ECHO=y -CONFIG_ASH_BUILTIN_PRINTF=y -CONFIG_ASH_BUILTIN_TEST=y -CONFIG_ASH_CMDCMD=y -CONFIG_ASH_MAIL=y -CONFIG_ASH_OPTIMIZE_FOR_SIZE=y -CONFIG_ASH_RANDOM_SUPPORT=y -CONFIG_ASH_EXPAND_PRMT=y -CONFIG_CTTYHACK=y -# CONFIG_HUSH is not set -# CONFIG_HUSH_BASH_COMPAT is not set -# CONFIG_HUSH_BRACE_EXPANSION is not set -# CONFIG_HUSH_HELP is not set -# CONFIG_HUSH_INTERACTIVE is not set -# CONFIG_HUSH_SAVEHISTORY is not set -# CONFIG_HUSH_JOB is not set -# CONFIG_HUSH_TICK is not set -# CONFIG_HUSH_IF is not set -# CONFIG_HUSH_LOOPS is not set -# CONFIG_HUSH_CASE is not set -# CONFIG_HUSH_FUNCTIONS is not set -# CONFIG_HUSH_LOCAL is not set -# CONFIG_HUSH_RANDOM_SUPPORT is not set -# CONFIG_HUSH_EXPORT_N is not set -# CONFIG_HUSH_MODE_X is not set -# CONFIG_MSH is not set -CONFIG_FEATURE_SH_IS_ASH=y -# CONFIG_FEATURE_SH_IS_HUSH is not set -# CONFIG_FEATURE_SH_IS_NONE is not set -# CONFIG_FEATURE_BASH_IS_ASH is not set -# CONFIG_FEATURE_BASH_IS_HUSH is not set -CONFIG_FEATURE_BASH_IS_NONE=y -CONFIG_SH_MATH_SUPPORT=y -CONFIG_SH_MATH_SUPPORT_64=y -CONFIG_FEATURE_SH_EXTRA_QUIET=y -# CONFIG_FEATURE_SH_STANDALONE is not set -# CONFIG_FEATURE_SH_NOFORK is not set -CONFIG_FEATURE_SH_HISTFILESIZE=y - -# -# System Logging Utilities -# -CONFIG_SYSLOGD=y -CONFIG_FEATURE_ROTATE_LOGFILE=y -CONFIG_FEATURE_REMOTE_LOG=y -# CONFIG_FEATURE_SYSLOGD_DUP is not set -# CONFIG_FEATURE_SYSLOGD_CFG is not set -CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256 -CONFIG_FEATURE_IPC_SYSLOG=y -CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16 -CONFIG_LOGREAD=y -CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y -CONFIG_KLOGD=y -CONFIG_FEATURE_KLOGD_KLOGCTL=y -CONFIG_LOGGER=y diff --git a/source/a/mkinitrd/busybox-dot-config.1.20.x b/source/a/mkinitrd/busybox-dot-config.1.20.x index 3184ac28..93a4ea8d 100644 --- a/source/a/mkinitrd/busybox-dot-config.1.20.x +++ b/source/a/mkinitrd/busybox-dot-config.1.20.x @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Busybox version: 1.20.1 -# Tue Jun 12 09:42:03 2012 +# Busybox version: 1.20.2 +# Wed Jun 8 14:48:15 2016 # CONFIG_HAVE_DOT_CONFIG=y @@ -509,10 +509,10 @@ CONFIG_DEPMOD=y # # Options common to multiple modutils # -CONFIG_FEATURE_2_4_MODULES=y +# CONFIG_FEATURE_2_4_MODULES is not set # CONFIG_FEATURE_INSMOD_TRY_MMAP is not set # CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set -CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS=y +# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set # CONFIG_FEATURE_INSMOD_LOADINKMEM is not set # CONFIG_FEATURE_INSMOD_LOAD_MAP is not set # CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set diff --git a/source/a/mkinitrd/init b/source/a/mkinitrd/init index b31eb0e4..0ee01298 100755 --- a/source/a/mkinitrd/init +++ b/source/a/mkinitrd/init @@ -111,7 +111,7 @@ for ARG in $(cat /proc/cmdline); do RESCUE=1 ;; resume=*) - RESUMEDEV=$(echo $ARG | cut -f2 -d=) + RESUMEDEV=$(echo $ARG | cut -f2- -d=) ;; root=/dev/*) ROOTDEV=$(echo $ARG | cut -f2 -d=) @@ -193,9 +193,10 @@ if [ "$RESCUE" = "" ]; then if [ ! -z "$LUKSKEY" ]; then mkdir /mountkey KEYPART=$(echo $LUKSKEY |cut -f1 -d:) + KEYNAME=$(echo $KEYPART |cut -f2 -d=) LUKSPATH="/mountkey$(echo $LUKSKEY |cut -f2 -d:)" # Catch possible mount failure: - if blkid -t TYPE=vfat $KEYPART 1>/dev/null 2>&1 ; then + if blkid |grep "TYPE=\"vfat\"" |grep $KEYNAME 1>/dev/null 2>&1 ; then MOUNTOPTS="-t vfat -o shortname=mixed" else MOUNTOPTS="-t auto" @@ -283,8 +284,11 @@ if [ "$RESCUE" = "" ]; then # Resume state from swap if [ "$RESUMEDEV" != "" ]; then - if ls -l $RESUMEDEV | grep -q "^l" ; then - #RESUMEDEV=$(ls -l $RESUMEDEV | awk '{ print $NF }') + # Find resume device if a label or UUID was given: + if echo $RESUMEDEV | grep -q "LABEL=" || \ + echo $RESUMEDEV | grep -q "UUID=" ; then + RESUMEDEV=$(findfs $RESUMEDEV) + elif ls -l $RESUMEDEV | grep -q "^l" ; then RESUMEDEV=$(readlink -f $RESUMEDEV) fi echo "Trying to resume from $RESUMEDEV" diff --git a/source/a/mkinitrd/mkinitrd b/source/a/mkinitrd/mkinitrd index fdc26934..96e0e388 100644 --- a/source/a/mkinitrd/mkinitrd +++ b/source/a/mkinitrd/mkinitrd @@ -1,7 +1,7 @@ #!/bin/sh # Copyright 2004 Slackware Linux, Inc., Concord, CA, USA # Copyright 2004 Patrick J. Volkerding, Concord, CA, USA -# Copyright 2007, 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2007, 2008, 2009, 2010, 2011, 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -50,9 +50,12 @@ MKINITRD_VERSION=1.4.8 # Don't include these things from /lib/udev/ in the initrd image LIBUDEV_BLACKLIST="\ ipod-set-info \ + iphone-set-info \ check-mtp-device \ check-ptp-camera \ - udev-configure-printer" + udev-configure-printer \ + rules.d/60-openobex.rules \ + " print_usage() { cat << EOF @@ -292,7 +295,7 @@ fi # default no-option actions # Parse for the use config file option first or else the other command # line options can not override /etc/mkinitrd.conf. for opt in "$@"; do - if [ $opt = "-F" ]; then + if [ "$opt" = "-F" ]; then if [ -e /etc/mkinitrd.conf ]; then . /etc/mkinitrd.conf || badconf_file else @@ -466,7 +469,7 @@ if [ ! -z "$LUKSKEY" ]; then # Several extra modules are needed to support a vfat formatted USB stick... # assuming here we are using a western codepage. # This possibly adds doublures, but we clean up the MODULE_LIST further down! - MODULE_LIST="${MODULE_LIST}:ehci-hcd:uhci-hcd:usb-storage:hid:usbhid:fat:nls_cp437:nls_iso8859-1:msdos:vfat" + MODULE_LIST="${MODULE_LIST}:xhci-pci:ohci-pci:ehci-pci:xhci-hcd:ohci-hcd:ehci-hcd:uhci-hcd:usb-storage:hid:usbhid:fat:nls_cp437:nls_iso8859-1:msdos:vfat" # Finally, write the lukskey to the initrd-tree: echo $LUKSKEY > $SOURCE_TREE/lukskey diff --git a/source/a/mkinitrd/mkinitrd.SlackBuild b/source/a/mkinitrd/mkinitrd.SlackBuild index 4683a17f..8983f34d 100755 --- a/source/a/mkinitrd/mkinitrd.SlackBuild +++ b/source/a/mkinitrd/mkinitrd.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,12 +23,12 @@ VERSION=${VERSION:-1.4.8} BB=1.20.2 -BUILD=${BUILD:-2} +BUILD=${BUILD:-8} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -107,8 +107,9 @@ chown root:root $PKG/sbin/mkinitrd chmod 755 $PKG/sbin/mkinitrd mkdir -p $PKG/usr/man/man{5,8} -cat $CWD/mkinitrd.8 | gzip -9c > $PKG/usr/man/man8/mkinitrd.8.gz cat $CWD/mkinitrd.conf.5 | gzip -9c > $PKG/usr/man/man5/mkinitrd.conf.5.gz +cat $CWD/mkinitrd.8 | gzip -9c > $PKG/usr/man/man8/mkinitrd.8.gz +cat $CWD/mkinitrd_command_generator.8 | gzip -9c > $PKG/usr/man/man8/mkinitrd_command_generator.8.gz mkdir -p $PKG/etc cp -a $CWD/mkinitrd.conf.sample $PKG/etc/mkinitrd.conf.sample diff --git a/source/a/mkinitrd/mkinitrd_command_generator.8 b/source/a/mkinitrd/mkinitrd_command_generator.8 new file mode 100644 index 00000000..954fab48 --- /dev/null +++ b/source/a/mkinitrd/mkinitrd_command_generator.8 @@ -0,0 +1,187 @@ +'\" t +.\" Title: mkinitrd_command_generator +.\" Author: Eric Hameleers +.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/> +.\" Date: 2016-02-07 +.\" Manual: Slackware Tools +.\" Source: http://www.slackware.com 1.40 +.\" Language: English +.\" +.TH "MKINITRD_COMMAND_GEN" "8" "2016-02-07" "http://www\&.slackware\&.com" "Slackware Tools" +.\" ----------------------------------------------------------------- +.\" * Define some portability stuff +.\" ----------------------------------------------------------------- +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.\" http://bugs.debian.org/507673 +.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html +.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" ----------------------------------------------------------------- +.\" * set default formatting +.\" ----------------------------------------------------------------- +.\" disable hyphenation +.nh +.\" disable justification (adjust text to left margin only) +.ad l +.\" ----------------------------------------------------------------- +.\" * MAIN CONTENT STARTS HERE * +.\" ----------------------------------------------------------------- +.SH "NAME" +mkinitrd_command_generator \- mkinitrd the easy way +.SH "SYNOPSIS" +.sp +.nf +mkinitrd_command_generator\&.sh [ \fIoptions\fR ] [ \fIkernel_filename\fR ] +.fi +.SH "OPTIONS" +.PP +\fB\-a \fR\fB\fIadditional params\fR\fR +.RS 4 +Additional parameters to pass to mkinitrd\&. +.RE +.PP +\fB\-c | \-\-conf\fR +.RS 4 +Show a suitable mkinitrd configuration file\&. +.RE +.PP +\fB\-h | \-\-help\fR +.RS 4 +Show this help\&. +.RE +.PP +\fB\-i | \-\-interactive\fR +.RS 4 +Navigate through menus instead of using commandline arguments\&. +.RE +.PP +\fB\-\-longhelp\fR +.RS 4 +Show more detailed information/examples\&. +.RE +.PP +\fB\-k \fR\fB\fIkernelversion\fR\fR +.RS 4 +Use specific kernel version\&. +.RE +.PP +\fB\-m \fR\fB\fIadditional mods\fR\fR +.RS 4 +Additional modules to pass to mkinitrd, separated by colons (:)\&. +.RE +.PP +\fB\-l | \-\-lilo\fR +.RS 4 +Only show lilo\&.conf section (requires a kernel_filename)\&. +.RE +.PP +\fB\-r | \-\-run\fR +.RS 4 +Only show +\fImkinitrd\fR +command\&. +.RE +.SH "DESCRIPTION" +.sp +This script is useful in situations where you require an initrd image to boot your computer\&. +.sp +For instance, when booting a kernel that does not have support for your storage or root filesystem built in (such as the Slackware \fIgeneric\fR kernels)\&. +.sp +When you run the script without parameters, it will examine your running system, your current kernel version and will output an example of a \fImkinitrd\fR commandline that you can use to generate an initrd image containing enough driver support to boot the computer\&. +.sp +You can make it more specific: when you add the filename of a kernel as parameter to the script, it will determine the kernel version from that kernel, and also give an example of the lines that you should add to your \fI/etc/lilo\&.conf\fR file\&. +.sp +If you want your initrd image to have a custom name instead of the default \fI/boot/initrd\&.gz\fR you can add it as another parameter to the script, as follows: +.sp +mkinitrd_command_generator\&.sh \-a "\-o \fI/boot/custom\&.gz\fR" +.sp +The arguments to the \fI\-a\fR parameter will be used as additional arguments to the \fImkinitrd\fR command\&. +.sp +If you need additional modules in the initrd image, apart from what the script determines, you can pass then to the script using the \fI\-m\fR parameter as follows: +.sp +mkinitrd_command_generator\&.sh \-m "uhci\-hcd:usbhid:hid:hid\-generic" +.sp +The above example adds support for USB keyboards to the initrd \- you may need that if you have encrypted your root partition and need to enter a passphrase using a USB keyboard\&. +.sp +Instead of copying and pasting the script\(cqs output, you can create an initrd by directly executing the output, like in this example: +.sp +.if n \{\ +.RS 4 +.\} +.nf +$(mkinitrd_command_generator\&.sh \-\-run /boot/vmlinuz\-generic\-4\&.4\&.1) +.fi +.if n \{\ +.RE +.\} +.sp +That used the \fI\-r\fR or \fI\-\-run\fR switch to make the script only write the \fImkinitrd\fR commandline to the terminal\&. +.sp +When you want to add a section for a specific kernel to \fI/etc/lilo\&.conf\fR directly, use the \fI\-l\fR or \fI\-\-lilo\fR switch and use a command like in this example: +.sp +mkinitrd_command_generator\&.sh \-\-lilo /boot/vmlinuz\-generic\-smp\-4\&.4\&.1 >>/etc/lilo\&.conf +.sp +That command will result in the following lines being added to your \fI/etc/lilo\&.conf\fR file (example for my hardware): +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fI# Linux bootable partition config begins\fR +\fI# initrd created with \*(Aqmkinitrd \-c \-k 4\&.4\&.1 \-m mbcache:jbd2:ext4 \-f ext4 \-r /dev/sda7 \-u \-o /boot/initrd\&.gz\fR\*(Aq +image = /boot/vmlinuz\-generic\-4\&.4\&.1 +initrd = /boot/initrd\&.gz +root = /dev/sda7 +label = 4\&.4\&.1 +read\-only +\fI# Linux bootable partition config ends\fR +.fi +.if n \{\ +.RE +.\} +.sp +The last two examples show how easy it is to configure your computer for the use of an initrd if you need one\&. The only thing left to do afterwards is running \fIlilo\fR\&. +.SH "EXIT STATUS" +.sp +.if n \{\ +.RS 4 +.\} +.nf +\fB0\fR Success +\fB1\fR Failure +.fi +.if n \{\ +.RE +.\} +.SH "FILES" +.sp +.if n \{\ +.RS 4 +.\} +.nf +/usr/share/mkinitrd/mkinitrd_command_generator\&.sh +.fi +.if n \{\ +.RE +.\} +.SH "BUGS" +.sp +Report bugs to Eric Hameleers <alien@slackware\&.com> +.SH "SEE ALSO" +.sp +.if n \{\ +.RS 4 +.\} +.nf +mkinitrd(1), lilo\&.conf(1) +.fi +.if n \{\ +.RE +.\} +.SH "AUTHOR" +.PP +\fBEric Hameleers\fR +.RS 4 +Author. +.RE diff --git a/source/a/mkinitrd/mkinitrd_command_generator.sh b/source/a/mkinitrd/mkinitrd_command_generator.sh index 16893b05..33d9c9de 100644 --- a/source/a/mkinitrd/mkinitrd_command_generator.sh +++ b/source/a/mkinitrd/mkinitrd_command_generator.sh @@ -225,7 +225,7 @@ function add_usb_keyboard() { local USBMOD if cat /proc/bus/input/devices | sed -e 's/^$/\$/g' | \ tr "\n$" " \n" | grep -q " Phys=.*usb.* .*Handlers=.*kbd.*B:"; then - USBMOD="usbhid:hid_generic" + USBMOD="xhci-pci:ohci-pci:ehci-pci:xhci-hcd:uhci-hcd:ehci-hcd:hid:usbhid:i2c-hid:hid_generic:hid-cherry:hid-logitech:hid-logitech-dj:hid-logitech-hidpp:hid-lenovo:hid-microsoft:hid_multitouch" [ -n "$MLIST" ] && MLIST="$MLIST:$USBMOD" \ || MLIST="$USBMOD" fi @@ -235,7 +235,7 @@ function add_usb_keyboard() { # Determine what USB Host Controller is in use function add_usb_hcd() { local USBMOD - for i in $(ls -Ld /sys/module/*_hcd/drivers/*); do + for i in $(ls -Ld /sys/module/*_hcd/drivers/* 2> /dev/null); do if ls -L $i | grep -q "[0-9a-f]*:" ; then USBMOD=$( echo $i | cut -f4 -d/ | tr "_" "-") [ -n "$MLIST" ] && MLIST="$MLIST:$USBMOD" \ @@ -409,7 +409,7 @@ fi # and check if modules for this kernel are actually present: if [ -z "$KVER" ]; then if [ -n "$KFILE" ]; then - KVER="$(strings $KFILE | grep '(.*@.*) #' | cut -f1 -d' ')" + KVER="$(strings $KFILE | grep '([^ ]*@[^ ]*) #' | cut -f1 -d' ')" else KVER="$(uname -r)" fi diff --git a/source/a/ncompress/ncompress.SlackBuild b/source/a/ncompress/ncompress.SlackBuild index ba6f38d5..871df242 100755 --- a/source/a/ncompress/ncompress.SlackBuild +++ b/source/a/ncompress/ncompress.SlackBuild @@ -20,13 +20,13 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=4.2.4.3 +VERSION=4.2.4.4 BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -37,9 +37,22 @@ CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-ncompress +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + rm -rf $PKG mkdir -p $TMP $PKG - cd $TMP rm -rf ncompress-${VERSION} tar xzf $CWD/ncompress-${VERSION}.tar.gz @@ -51,23 +64,26 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -make ENDIAN=4321 || exit 1 +make CFLAGS="$SLKCFLAGS" || exit 1 + mkdir -p $PKG/usr/bin cat compress > $PKG/usr/bin/compress chmod 755 $PKG/usr/bin/compress -( cd $PKG/usr/bin ; ln -sf compress uncompress ) +ln -s compress $PKG/usr/bin/uncompress + mkdir $PKG/bin -( cd $PKG/bin ; ln -sf /usr/bin/compress compress ) -( cd $PKG/bin ; ln -sf compress uncompress ) +ln -s /usr/bin/compress $PKG/bin/compress +ln -s compress $PKG/bin/uncompress + mkdir -p $PKG/usr/man/man1 -cat compress.1 | gzip -9c > $PKG/usr/man/man1/compress.1.gz +gzip -9c compress.1 > $PKG/usr/man/man1/compress.1.gz echo '.so man1/compress.1' | gzip -9c > $PKG/usr/man/man1/uncompress.1.gz + mkdir -p $PKG/usr/doc/ncompress-${VERSION} cp -a \ - Acknowleds LZW.INFO README \ + Acknowleds Changes LZW.INFO README \ $PKG/usr/doc/ncompress-${VERSION} -# Strip everything for good measure: ( cd $PKG find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null @@ -76,7 +92,6 @@ cp -a \ mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc -# Build the package: cd $PKG -makepkg -l y -c n $TMP/ncompress-$VERSION-$ARCH-$BUILD.txz +/sbin/makepkg -l y -c n $TMP/ncompress-$VERSION-$ARCH-$BUILD.txz diff --git a/source/a/ntfs-3g/ntfs-3g.SlackBuild b/source/a/ntfs-3g/ntfs-3g.SlackBuild index ca5c46e5..bf4f028c 100755 --- a/source/a/ntfs-3g/ntfs-3g.SlackBuild +++ b/source/a/ntfs-3g/ntfs-3g.SlackBuild @@ -3,7 +3,7 @@ # Slackware build script for ntfs-3g # Copyright 2008 Antonio Hernandez Blas <hba.nihilismus@gmail.com> -# Copyright 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2012, 2013, 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -27,24 +27,24 @@ # Modified by Eric Hameleers <alien@slackware.com> PKGNAM=ntfs-3g -VERSION=2013.1.13 +SRCNAM=ntfs-3g_ntfsprogs +VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} BUILD=${BUILD:-1} -SRCNAM=ntfs-3g_ntfsprogs NUMJOBS=${NUMJOBS:-" -j7 "} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; esac fi -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -90,6 +90,10 @@ CXXFLAGS="$SLKCFLAGS" \ || exit 1 make $NUMJOBS || make || exit 1 + +# Installation bug kludge: +mkdir -p $PKG/lib${LIBDIRSUFFIX} + make install DESTDIR=$PKG || exit 1 # I hate to do this (it worked without it before), but recently /bin/ntfs-3g diff --git a/source/a/ntfs-3g/slack-desc b/source/a/ntfs-3g/slack-desc index 353695bb..d7308e2a 100644 --- a/source/a/ntfs-3g/slack-desc +++ b/source/a/ntfs-3g/slack-desc @@ -15,5 +15,5 @@ ntfs-3g: Windows Vista file systems. Most POSIX file system operations are ntfs-3g: supported, with the exception of full file ownership and access ntfs-3g: rights support. ntfs-3g: -ntfs-3g: Homepage for the ntfs-3g project: http://www.ntfs-3g.org +ntfs-3g: Homepage: http://www.tuxera.com/community/open-source-ntfs-3g/ ntfs-3g: diff --git a/source/a/os-prober/os-prober.SlackBuild b/source/a/os-prober/os-prober.SlackBuild index 4e443e68..a9524326 100755 --- a/source/a/os-prober/os-prober.SlackBuild +++ b/source/a/os-prober/os-prober.SlackBuild @@ -28,21 +28,15 @@ BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$(uname -m)" in - i?86) ARCH=i486 ;; - arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;; + i?86) ARCH=i586 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; # Unless $ARCH is already set, use uname -m for all other archs: *) ARCH=$(uname -m) ;; esac export ARCH fi -if [ "$ARCH" = "i386" ]; then - SLKCFLAGS="-O2 -march=i386 -mcpu=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i586" ]; then +if [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then @@ -89,7 +83,7 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -make || exit 1 +make CFLAGS="$SLKCFLAGS" || exit 1 mkdir -p $PKG/usr/bin cp -a linux-boot-prober os-prober $PKG/usr/bin diff --git a/source/a/patch/patch.281537bcd92515ae3b9f154acd579ce97260f99b.diff b/source/a/patch/patch.281537bcd92515ae3b9f154acd579ce97260f99b.diff deleted file mode 100644 index b882b725..00000000 --- a/source/a/patch/patch.281537bcd92515ae3b9f154acd579ce97260f99b.diff +++ /dev/null @@ -1,78 +0,0 @@ -From 281537bcd92515ae3b9f154acd579ce97260f99b Mon Sep 17 00:00:00 2001 -From: Andreas Gruenbacher <agruen@linbit.com> -Date: Thu, 13 Sep 2012 14:13:08 +0000 -Subject: In a git-style diff, make sure not to unlink the original by accident - -* src/patch.c (main): Fail if a file is not empty as expected. -(output_files): In a git-style diff, make sure not to unlink the original when -making a backup of an unmodified file. -* tests/create-delete: Fix failed-file-deletion test and add -successful-file-deletion test. ---- -diff --git a/src/patch.c b/src/patch.c -index 1c6fb4b..ce81bbe 100644 ---- a/src/patch.c -+++ b/src/patch.c -@@ -508,6 +508,7 @@ main (int argc, char **argv) - && ! (merge && somefailed)) - { - mismatch = true; -+ somefailed = true; - if (verbosity != SILENT) - say ("File %s is not empty after patch, as expected\n", - quotearg (outname)); -@@ -1865,7 +1866,7 @@ output_files (struct stat const *st) - output_file_now (file_to_output->from, &from_needs_removal, - from_st, file_to_output->to, - file_to_output->mode, file_to_output->backup); -- if (from_needs_removal) -+ if (file_to_output->to && from_needs_removal) - unlink (file_to_output->from); - - if (st && st->st_dev == from_st->st_dev && st->st_ino == from_st->st_ino) -diff --git a/tests/create-delete b/tests/create-delete -index 9a6e1bb..7eed11f 100644 ---- a/tests/create-delete -+++ b/tests/create-delete -@@ -176,12 +176,37 @@ EOF - echo data > target - cat > p.diff <<EOF - diff --git a/target b/target --index 1..0 -+deleted file mode 100644 -+index 1269488..0000000 - EOF - - check 'patch -p1 -b < p.diff || echo status: $?' <<EOF - patching file target - File target is not empty after patch, as expected -+status: 1 -+EOF -+ -+check 'cat target' <<EOF -+data -+EOF -+ -+# Patch creates a backup file even when the original file remains unchanged: -+check 'cat target.orig' <<EOF -+data -+EOF -+ -+cat > p.diff <<EOF -+diff --git a/target b/target -+deleted file mode 100644 -+index 1269488..0000000 -+--- a/target -++++ /dev/null -+@@ -1 +0,0 @@ -+-data -+EOF -+ -+check 'patch -p1 -b -f < p.diff || echo status: $?' <<EOF -+patching file target - EOF - - ncheck 'test ! -e target' --- -cgit v0.9.0.2 - diff --git a/source/a/patch/patch.99f2638763845d8173a0c9f9209ac2b4be947165.diff b/source/a/patch/patch.99f2638763845d8173a0c9f9209ac2b4be947165.diff deleted file mode 100644 index 14c342a5..00000000 --- a/source/a/patch/patch.99f2638763845d8173a0c9f9209ac2b4be947165.diff +++ /dev/null @@ -1,88 +0,0 @@ -From 99f2638763845d8173a0c9f9209ac2b4be947165 Mon Sep 17 00:00:00 2001 -From: Andreas Gruenbacher <agruen@linbit.com> -Date: Tue, 18 Sep 2012 10:51:17 +0000 -Subject: Fix file truncation when switching from git diff to non-git diff - -* src/patch.c (main): Output queued output files only when switching from a git -diff to a non-git diff. This can modify the input file, so make sure to -stat() it again. -* tests/concat-git-diff: Add test case growing a file with a git diff and then -with a non-git diff; without this fix; the result would be truncated. ---- -diff --git a/src/patch.c b/src/patch.c -index 0bce8fb..0b0fdd4 100644 ---- a/src/patch.c -+++ b/src/patch.c -@@ -196,8 +196,12 @@ main (int argc, char **argv) - - if (have_git_diff != pch_git_diff ()) - { -+ if (have_git_diff) -+ { -+ output_files (NULL); -+ inerrno = -1; -+ } - have_git_diff = ! have_git_diff; -- output_files (NULL); - } - - if (TMPREJNAME_needs_removal) -diff --git a/tests/concat-git-diff b/tests/concat-git-diff -index 927eb5a..c78da53 100644 ---- a/tests/concat-git-diff -+++ b/tests/concat-git-diff -@@ -56,11 +56,7 @@ check 'cat f' <<EOF - three - EOF - --cat > f <<EOF --1 --2 --3 --EOF -+seq 3 > f - - cat > concat2.diff <<EOF - diff --git a/f b/f -@@ -95,3 +91,38 @@ a - 3 - b - EOF -+ -+seq 3 > f -+ -+cat > concat3.diff <<EOF -+diff --git a/f b/f -+index 01e79c3..0d0b976 100644 -+--- a/f -++++ b/f -+@@ -1,3 +1,4 @@ -+ 1 -+ 2 -+ 3 -++b -+diff a/f b/f -+--- a/f -++++ b/f -+@@ -1,3 +1,4 @@ -++a -+ 1 -+ 2 -+ 3 -+EOF -+ -+check 'patch -p1 < concat3.diff || echo "Status: $?"' <<EOF -+patching file f -+patching file f -+EOF -+ -+check 'cat f' <<EOF -+a -+1 -+2 -+3 -+b -+EOF --- -cgit v0.9.0.2 - diff --git a/source/a/patch/patch.SlackBuild b/source/a/patch/patch.SlackBuild index 1607b405..28880a27 100755 --- a/source/a/patch/patch.SlackBuild +++ b/source/a/patch/patch.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2005-2009, 2010, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2005-2009, 2010, 2012, 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -20,13 +20,14 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=2.7 -BUILD=${BUILD:-2} +PKGNAM=patch +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | 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 case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -40,8 +41,8 @@ PKG=$TMP/package-patch rm -rf $PKG mkdir -p $TMP $PKG -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" elif [ "$ARCH" = "x86_64" ]; then @@ -55,9 +56,6 @@ rm -rf patch-${VERSION} tar xvf $CWD/patch-${VERSION}.tar.xz || exit 1 cd patch-${VERSION} || exit 1 -zcat $CWD/patch.281537bcd92515ae3b9f154acd579ce97260f99b.diff.gz | patch -p1 --verbose || exit 1 -zcat $CWD/patch.99f2638763845d8173a0c9f9209ac2b4be947165.diff.gz | patch -p1 --verbose || exit 1 - chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ diff --git a/source/a/pciutils/pciutils-3.2.0.tar.sign b/source/a/pciutils/pciutils-3.2.0.tar.sign deleted file mode 100644 index 5cc46614..00000000 --- a/source/a/pciutils/pciutils-3.2.0.tar.sign +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.12 (GNU/Linux) - -iQIVAwUAUXFFN8KOeEftcPgtAQLG3w/8C2cNMhW3v4romdMzTFJ0StgayKsQhvNk -BxG1FLexwswGWO91TPz52bwOcgN+8OZODsTLf2iMmnt5wVnskov/z73KHPEXKFW7 -Q7fpbSszaAWklDL0G4Pp6kdt7yxFKgqPDSIbKbmMNTzFdTF5QyqajAJ6/3ah1cEt -z75Nb3II24Yaip7ibRjb8d1OS9EpN64J+pEbrGLPh7FFOfqfY6yQtFdajdLor31x -/zs/VcI1gjlGaKym8zQkamH561NDQLUoWxSNjnNDLbSEn369r4pBBuQbr4iXrPDB -dGV+g6FXLFGb7QRODrLsRO+xLswQG7Jpn7dyd7Uxf1HoYuy8USXMg5gZPjNctWA3 -ZRF4RAP4AgxLSIwQBZqDjjDIwf52cJsrKC37AFLqmWMn5zyPNcLdFlkYbN2DiwPE -5Q2egQMB13xeURwOgEeQ3BA5AbAOx4JdlctyM+WUl5zhzheUqlmZRN6rg/cJt1HY -NhsbA4Gkt2OZYXJdpPixBJENxV8RJftNMVd4WKhLktJ8uzLoG/sWfyI6NBOXC17x -7+fZTFV9MeY9/JJsyY8WMYT94ut7wyR7nSFfe6ZsPSRV8DTZNlSITF9Qb3czTGOY -te4jC/oH+yNzyWCLvRD0uuf/cxmZKQqfsfosU4w+0nONoe15CCWkx7laYwBx0hN3 -l7tsXYaGnbk= -=fcLj ------END PGP SIGNATURE----- diff --git a/source/a/pciutils/pciutils-3.4.1.tar.sign b/source/a/pciutils/pciutils-3.4.1.tar.sign new file mode 100644 index 00000000..ec76e3bd --- /dev/null +++ b/source/a/pciutils/pciutils-3.4.1.tar.sign @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.12 (GNU/Linux) + +iQIVAwUAVokuY8KOeEftcPgtAQIocQ/+P7n7axTElRQb6X4qmc9Dpn8iPUd4WL5L +8tdOsWN8iILg0QjdOPRhsBjtIdrjIy2XuYJQavJyGLhHuLDTTlxbvzT7MBPRDy0n +M1B/S1al6IjI6hjW7czTgPJUJ4po+I3vCpDRI4BgXYNPy59rp45xELdQsb8ybGp9 +4zkcSCHzGS7h2fc5pNLr5Kk18wXD5HtKtXSNRee3u4aK1GfBgpcCUMHf86/Ddqqz +kriEcNUkOjEmfgXTlCDH0XPh/sE3efB2yD5G9AcSwEtDAyb2XPuTQifB8aPDVrEw +5GSg6el5MPkMH6+nfFk2lQ2FT4T3FTd6IgcABCSAk5SmtX45dmlzOIBSY6ngL0QI +wrnnHesJqat7gHIAXO8ox4vt77VbTnQklSks5PSKNZ1ySluomZs9RqLh5jtGqyqq +nT4cTBGG48a4pejkbA0Ew3LTXjfZAVIDAPkWc5J0LT0m4xdgfYxEgJTkmIR74Mdl +CWqe7eZYcWP7fD51ViuAZA9Pko1+eUDebinEKVlDKw+cFe7R3tHPWK0BKwE/c8pE +CH5kQZKswKWMxVro6gmFO/fQOHovUKnfRfnNYAXUNUt1Kwt5Nh/khOsvcw3g1dFL +CHi0Yp7uuw1sMHGKGJtmBWC6Q1ljl/HRPwcewCAaeiga96Wt/XrsaasktrNGzWQT +3o5upw70HSE= +=/4W8 +-----END PGP SIGNATURE----- diff --git a/source/a/pciutils/pciutils.SlackBuild b/source/a/pciutils/pciutils.SlackBuild index c7936106..776d1a92 100755 --- a/source/a/pciutils/pciutils.SlackBuild +++ b/source/a/pciutils/pciutils.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009, 2010, 2013, 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,14 +22,14 @@ VERSION=${VERSION:-$(echo pciutils-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} -NUMJOBS=${NUMJOBS:--j3} +NUMJOBS=${NUMJOBS:--j7} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -40,8 +40,8 @@ CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-pciutils -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" @@ -56,7 +56,7 @@ mkdir -p $TMP $PKG cd $TMP rm -rf pciutils-$VERSION tar xvf $CWD/pciutils-$VERSION.tar.xz || exit 1 -cd pciutils-$VERSION +cd pciutils-$VERSION || exit 1 chown -R root:root . find . \ @@ -66,9 +66,10 @@ find . \ -exec chmod 644 {} \; zcat $CWD/pciutils.dontcompress.diff.gz | patch -p1 || exit 1 -zcat $CWD/pciutils.update.pci.ids.url.diff.gz | patch -p1 || exit 1 -make \ +# Build/install the library and utilities: +make clean +make install install-lib \ PREFIX=/usr \ SBINDIR=/sbin \ LIBDIR=/usr/lib${LIBDIRSUFFIX} \ @@ -76,29 +77,30 @@ make \ IDSDIR=/usr/share/hwdata \ PCI_IDS=pci.ids \ PCI_COMPRESSED_IDS=0 \ - SHARED=no \ + SHARED=yes \ OPT="$SLKCFLAGS" \ - $NUMJOBS || exit 1 + DESTDIR=$PKG || exit 1 -make install install-lib \ - PREFIX=/usr \ - SBINDIR=/sbin \ - LIBDIR=/usr/lib${LIBDIRSUFFIX} \ - MANDIR=/usr/man \ - IDSDIR=/usr/share/hwdata \ - PCI_IDS=pci.ids \ - PCI_COMPRESSED_IDS=0 \ - SHARED=no \ - DESTDIR=$PKG +chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/libpci.so.* + +# Move libraries, as they might be needed by programs that bring a network +# mounted /usr online: +mkdir $PKG/lib${LIBDIRSUFFIX} +( cd $PKG/usr/lib${LIBDIRSUFFIX} + for file in lib*.so.?.* ; do + mv $file ../../lib${LIBDIRSUFFIX} + ln -sf ../../lib${LIBDIRSUFFIX}/$file . + done + cp -a lib*.so.? ../../lib${LIBDIRSUFFIX} +) mkdir -p $PKG/usr/sbin mv $PKG/sbin/update-pciids $PKG/usr/sbin/update-pciids -# Do not compress pci.ids -( cd $PKG/usr/share ; gzip -d pci.ids.gz ) - -# Put a compat symlink in place -ln -s hwdata/pci.ids $PKG/usr/share/pci.ids +# Use pci.ids from hwdata package +rm -f $PKG/usr/share/hwdata/pci.ids +# Remove empty directories: +rmdir $PKG/usr/share/hwdata $PKG/usr/share # Compress and link manpages, if any: if [ -d $PKG/usr/man ]; then @@ -120,7 +122,7 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" \ mkdir -p $PKG/usr/doc/pciutils-$VERSION cp -a \ - COPYING* README TODO \ + COPYING* README* TODO \ $PKG/usr/doc/pciutils-$VERSION # If there's a ChangeLog, installing at least part of the recent history diff --git a/source/a/pciutils/pciutils.update.pci.ids.url.diff b/source/a/pciutils/pciutils.update.pci.ids.url.diff deleted file mode 100644 index 1588f729..00000000 --- a/source/a/pciutils/pciutils.update.pci.ids.url.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- ./update-pciids.sh.orig 2012-07-02 21:45:31.280890064 -0500 -+++ ./update-pciids.sh 2012-07-02 21:46:03.875889369 -0500 -@@ -3,7 +3,7 @@ - [ "$1" = "-q" ] && quiet=true || quiet=false - - set -e --SRC="http://pci-ids.ucw.cz/v2.2/pci.ids" -+SRC="http://pciids.sourceforge.net/pci.ids" - DEST=pci.ids - PCI_COMPRESSED_IDS=0 - GREP=grep diff --git a/source/a/pcmciautils/pcmciautils-017.tar.sign b/source/a/pcmciautils/pcmciautils-017.tar.sign deleted file mode 100644 index cd492c77..00000000 --- a/source/a/pcmciautils/pcmciautils-017.tar.sign +++ /dev/null @@ -1,8 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.9 (GNU/Linux) -Comment: See http://www.kernel.org/signature.html for info - -iD8DBQBLRLP8yGugalF9Dw4RAn4EAJ96T5HaIjfdqhIfp2/GeL18BgylOwCfZA+R -sWw0NvzDaf3ZKhgHZHNmGLs= -=A5s6 ------END PGP SIGNATURE----- diff --git a/source/a/pcmciautils/pcmciautils-018.tar.sign b/source/a/pcmciautils/pcmciautils-018.tar.sign new file mode 100644 index 00000000..2f410579 --- /dev/null +++ b/source/a/pcmciautils/pcmciautils-018.tar.sign @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1 + +iQIcBAABAgAGBQJVdEN7AAoJEJqXYIlMjaMNMIoP/1rBoqXynp4+o5/tnYbjSFwT +09+fnA0V4xiuRxDszMT1IteZi3JTgn8ltlYoxug+yzxynDoYRFKXrGkDvIDN+pao +lPDr9b6QvWfoVPGXYG6W1026UojkoNjdH6gJSW2P6P8Y7/K1NWDSvKM7kd8+Of2A +16LUYh7LBu7MhUKft1QXVy5qxxZTiceXar7kOpY9UeP3VoNVhxEQ7UkLcTTt+Bsv +8PCsIfPJ2m4CvQRLDXtTg8G71ZOkiuc305inluf63jsIiSJztlU3IUC+i38No23j +moZbGIW7QDjzoMGJSDYLCtDi4OhrDpYEYc9xwkAb3p/F9cLOPtTBB1cHlNcOk/KV +D4yWiB1eWK3dl0mIPz2th4cLKnbAxt52rlXP7PfDrC4vmue6KGPDuhhDS92gtEiI +pKsXWfDFYIcCzFwwKPzuFBipweAzLwvARW8x1KCMSmKVNXoroGcGzKM4PXllZkiL +XrBS1qt5YJWT648JwdMbFHPa86klXqOz51jT1DchwiFqbXd/qI32POlz2qmWuvaf +Mp2E30u0Mwi/2EA4aBiSiRP222rZoHh8ZpxnilRrUG7ewW+Q1F1bOVw07mSACQ11 +tQZa4FfT5GP6rqurgJX1Uw8NKRg68vBKK2Y0hvzS7RLvJbG6/T1JkSVBXy07T1gE +sUVy7nZl1p9UnbJRgAZ5 +=NhTa +-----END PGP SIGNATURE----- diff --git a/source/a/pcmciautils/pcmciautils.SlackBuild b/source/a/pcmciautils/pcmciautils.SlackBuild index fa458172..2a492d44 100755 --- a/source/a/pcmciautils/pcmciautils.SlackBuild +++ b/source/a/pcmciautils/pcmciautils.SlackBuild @@ -23,13 +23,13 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=${VERSION:-017} +VERSION=${VERSION:-018} BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -43,11 +43,25 @@ CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-pcmciautils +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + rm -rf $PKG mkdir -p $TMP $PKG cd $TMP rm -rf pcmciautils-$VERSION -tar xvf $CWD/pcmciautils-$VERSION.tar.bz2 || exit 1 +tar xvf $CWD/pcmciautils-$VERSION.tar.xz || exit 1 cd pcmciautils-$VERSION chown -R root.root . find . \ @@ -56,7 +70,7 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -make $NUMJOBS || make || exit 1 +CFLAGS="$SLKCFLAGS" make $NUMJOBS || make || exit 1 make install DESTDIR=$PKG || exit 1 ( cd $PKG diff --git a/source/a/pkgtools/manpages/setup.8-deprecated b/source/a/pkgtools/manpages/setup.8-deprecated deleted file mode 100644 index 53397422..00000000 --- a/source/a/pkgtools/manpages/setup.8-deprecated +++ /dev/null @@ -1,120 +0,0 @@ -.\" -*- nroff -*- -.ds g \" empty -.ds G \" empty -.\" Like TP, but if specified indent is more than half -.\" the current line-length - indent, use the default indent. -.de Tp -.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP -.el .TP "\\$1" -.. -.TH SETUP 8 "21 May 1994" "Slackware Version 2.0.0" -.SH NAME -setup \- Slackware system setup tool. -.SH SYNOPSIS -.B setup -.LP -.SH DESCRIPTION -.B setup -is the system installation and setup tool provided with the Slackware Linux -distribution. -.LP -.B setup -is usually used to install software packages from your hard drive, a CD, -NFS, or floppy disks. It is also a frontend for -.B pkgtool -and many configuration scripts that come with various packages, such as the -scripts which allow you to install LILO, configure your timezone, set your -keyboard fonts, make bootdisks, and many other tasks. -.SH OPTIONS -.TP -.B HELP -Read the -.B setup -help file. -.TP -.B KEYMAP -Change your keyboard map to one of many international and specialized keymaps -available. -.B NOTE: -This change will not become permanent unless you go through the -.B CONFIGURE option. -.TP -.B MAKE TAGS -This allows you to write out custom tagfiles. A -.B tagfile -is a list of package names followed by one of these tags: -.B ADD -(required), -.B SKP -(skip), -.B REC -(recommended) or, -.B OPT -(optional). These allow you to completely automate your software installation. -You can either put these files on the first disk of each disk series -(optionally using a custom 3 character extension), or in a custom location -altogether, such as on a floppy disk in ./a1, ./ap1, ./d1, ..., directories. -The format of a line in a -.B tagfile -is like this: -.LP -package: -.B TAG -.TP -.B SOURCE -Select your source media, such as hard disk, NFS, CD, or floppy. You should -select installation from a directory if your CD or NFS directory has already -been mounted, as it probably is if you're using -.B setup -on your hard drive. -.TP -.B TARGET -Select your target directory. For testing purposes, you may install the -packages to a directory other than '/'. Don't expect them to run from there, -though. -.TP -.B DISK SETS -Select the disk sets you want to install. You can also install custom disk -sets by tagging the -.B CUS -selection. The disk sets must be Slackware-like: they require the diskxxx? -index on each disk, such as diskxyz1 for the first disk of the XYZ series. -On the last disk there must be a file called -.B install.end -to signal the end of the disk series. -.TP -.B INSTALL -Once you've gone through -.B SOURCE -and -.B DISK SETS -( and possibly -.B TARGET -), then you select this choice to go on with the software installation. You'll -be asked what type of tagfiles you want to use and then -.B pkgtool -will be called to install the software. -.TP -.B CONFIGURE -This option runs through several scripts that configure various aspects of your -Linux system. These might include LILO installation, timezone configuration, -and other things. -.TP -.B PKGTOOL -This option calls the -.B pkgtool(8) -utility for you. -.TP -.B EXIT -Exit the -.B setup -program. -.SH AUTHOR -Patrick J. Volkerding <volkerdi@slackware.com> -.SH "SEE ALSO" -.BR makepkg(8), -.BR installpkg(8), -.BR explodepkg(8), -.BR removepkg(8), -.BR pkgtool(8), -.BR upgradepkg(8) diff --git a/source/a/pkgtools/pkgtools.SlackBuild b/source/a/pkgtools/pkgtools.SlackBuild index d2930638..c33fb062 100755 --- a/source/a/pkgtools/pkgtools.SlackBuild +++ b/source/a/pkgtools/pkgtools.SlackBuild @@ -27,9 +27,9 @@ fi PKG=$TMP/package-pkgtools # *** UPDATE THESE WITH EACH BUILD: -VERSION=14.1 +VERSION=14.2 ARCH=${ARCH:-noarch} -BUILD=2 +BUILD=10 if [ ! -d $TMP ]; then mkdir -p $TMP # location to build the source @@ -46,6 +46,19 @@ mkdir -p $PKG done ) +# Install internationalized manpages from +# http://slint.fr/forSlackware/man_l10n/pkgtools/ +( cd $PKG/usr/man + tar xf $CWD/manpages-l10n.tar.xz + for page in manpages-l10n/* ; do + manpage=$(basename $page) + mkdir -p ${manpage%%.*}/man8 + mv $page ${manpage%%.*}/man8/${page#*.}.8 + done + gzip -9 */man8/*.8 + rmdir manpages-l10n +) + # Install Slackware scripts: ( cd $CWD/scripts # Install the core Slackware package tools: @@ -74,7 +87,7 @@ cat $CWD/slack-desc > $PKG/install/slack-desc # Build the package: cd $PKG -makepkg -l y -c n $TMP/pkgtools-$VERSION-$ARCH-$BUILD.tgz +makepkg -l y -c n $TMP/pkgtools-$VERSION-$ARCH-$BUILD.txz echo echo "HEY -- did you remember to update the version numbers in the setup scripts?" diff --git a/source/a/pkgtools/scripts/installpkg b/source/a/pkgtools/scripts/installpkg index 2d3f208d..96c34fd9 100644 --- a/source/a/pkgtools/scripts/installpkg +++ b/source/a/pkgtools/scripts/installpkg @@ -21,19 +21,10 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # -# Fri Apr 22 20:45:45 UTC 2011 -# A stronger formula is needed to regularize output that will be parsed. -unset LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY \ - LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT \ - LC_IDENTIFICATION LC_ALL -LANG=C -export LANG -# -# Thu Apr 21 17:31:29 UTC 2011 -# Set LC_MESSAGES=C to avoid output parsing issues. -# Might as well do that right now. -#LC_MESSAGES=C -#export LC_MESSAGES +# Sun Sep 6 21:58:36 BST 2009 +# Replaced usage of "cat" with STDIN redirection or file name parameters +# to speed up execution on ARM. +# Replaced pkgbase & package_name code with 'sed' script by Jim Hawkins. # # Sat Apr 25 21:18:53 UTC 2009 # Converted to use new pkgbase() function to remove pathname and @@ -67,28 +58,18 @@ export LANG # Changed $TMP directory to /var/log/setup/tmp, and chmod'ed it 700 to close # some security holes. +# A stronger formula is needed to regularize output that will be parsed. +unset LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY \ + LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT \ + LC_IDENTIFICATION LC_ALL +LANG=C +export LANG + # Return a package name that has been stripped of the dirname portion # and any of the valid extensions (only): pkgbase() { - PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev) - case $PKGEXT in - 'tgz' ) - PKGRETURN=$(basename $1 .tgz) - ;; - 'tbz' ) - PKGRETURN=$(basename $1 .tbz) - ;; - 'tlz' ) - PKGRETURN=$(basename $1 .tlz) - ;; - 'txz' ) - PKGRETURN=$(basename $1 .txz) - ;; - *) - PKGRETURN=$(basename $1) - ;; - esac - echo $PKGRETURN + # basename + strip extensions .tbz, .tgz, .tlz and .txz + echo "$1" | sed 's?.*/??;s/\.t[bglx]z$//' } # If installpkg encounters a problem, it will return a non-zero error code. @@ -157,33 +138,9 @@ crunch() { done } +# Strip version, architecture and build from the end of the name package_name() { - STRING=$(pkgbase $1) - # Check for old style package name with one segment: - if [ "$(echo $STRING | cut -f 1 -d -)" = "$(echo $STRING | cut -f 2 -d -)" ]; then - echo $STRING - else # has more than one dash delimited segment - # Count number of segments: - INDEX=1 - while [ ! "$(echo $STRING | cut -f $INDEX -d -)" = "" ]; do - INDEX=$(expr $INDEX + 1) - done - INDEX=$(expr $INDEX - 1) # don't include the null value - # If we don't have four segments, return the old-style (or out of spec) package name: - if [ "$INDEX" = "2" -o "$INDEX" = "3" ]; then - echo $STRING - else # we have four or more segments, so we'll consider this a new-style name: - NAME=$(expr $INDEX - 3) - NAME="$(echo $STRING | cut -f 1-$NAME -d -)" - echo $NAME - # cruft for later ;) - #VER=$(expr $INDEX - 2) - #VER="$(echo $STRING | cut -f $VER -d -)" - #ARCH=$(expr $INDEX - 1) - #ARCH="$(echo $STRING | cut -f $ARCH -d -)" - #BUILD="$(echo $STRING | cut -f $INDEX -d -)" - fi - fi + pkgbase $1 | sed 's?-[^-]*-[^-]*-[^-]*$??' } # Parse options: @@ -285,8 +242,8 @@ if [ "$MODE" = "warn" ]; then esac ( cd $TMP/scan$$ ; $packagecompression -dc | $TAR xf - install ) < $1 2> /dev/null if [ -r $TMP/scan$$/install/doinst.sh ]; then - if cat $TMP/scan$$/install/doinst.sh | grep ' rm -rf ' 1>/dev/null 2>/dev/null ; then - cat $TMP/scan$$/install/doinst.sh | grep ' rm -rf ' > $TMP/scan$$/install/delete + if grep ' rm -rf ' $TMP/scan$$/install/doinst.sh 1>/dev/null 2>/dev/null ; then + grep ' rm -rf ' $TMP/scan$$/install/doinst.sh > $TMP/scan$$/install/delete for f in `cat $TMP/scan$$/install/delete | cut -f 3,7 -d ' ' | tr ' ' '/'`; do f="/$f" if [ -f "$f" -o -L "$f" ]; then @@ -428,14 +385,7 @@ for package in $* ; do rm -f $TMP/tmplist$$ $TMP/tmpsize$$ continue fi - UNCOMPRESSED="$(expr $(cat $TMP/tmpsize$$ | head -n 1 | cut -f 1 -d +) / 2)" - if [ $UNCOMPRESSED -lt 1024 ]; then - UNCOMPRESSED="${UNCOMPRESSED}K" - elif [ $UNCOMPRESSED -lt 10239 ]; then - UNCOMPRESSED="$(expr $UNCOMPRESSED \* 1000 / 1024 | cut -b1).$(expr $UNCOMPRESSED \* 1000 / 1024 | cut -b2)M" - else - UNCOMPRESSED="$(expr $UNCOMPRESSED / 1024)M" - fi + UNCOMPRESSED="$(cat $TMP/tmpsize$$ | tail -n 1 | cut -f 1 -d ' ' | numfmt --to=iec)" rm -f $TMP/tmpsize$$ # If we still don't have a package description, look inside the package. @@ -456,12 +406,12 @@ for package in $* ; do fi # Gather package infomation into a temporary file: - cat $DESCRIPTION | grep "^$packagebase:" | cut -f 2- -d : | cut -b2- 1> $TMP/tmpmsg$$ 2> /dev/null + grep "^$packagebase:" $DESCRIPTION | cut -f 2- -d : | cut -b2- 1> $TMP/tmpmsg$$ 2> /dev/null if [ "$shortname" != "$packagebase" ]; then - cat $DESCRIPTION | grep "^$shortname:" | cut -f 2- -d : | cut -b2- 1>> $TMP/tmpmsg$$ 2> /dev/null + grep "^$shortname:" $DESCRIPTION | cut -f 2- -d : | cut -b2- 1>> $TMP/tmpmsg$$ 2> /dev/null fi # Adjust the length here. This allows a slack-desc to be any size up to 13 lines instead of fixed at 11. - LENGTH=$(cat $TMP/tmpmsg$$ | wc -l) + LENGTH=$(wc -l < $TMP/tmpmsg$$ ) while [ $LENGTH -lt 12 ]; do echo >> $TMP/tmpmsg$$ LENGTH=$(expr $LENGTH + 1) @@ -495,12 +445,12 @@ EOF echo "Installing package $(basename $package) $PMSG:" fi echo "PACKAGE DESCRIPTION:" - cat $DESCRIPTION | grep "^$packagebase:" | uniq | sed "s/^$packagebase:/#/g" + grep "^$packagebase:" $DESCRIPTION | uniq | sed "s/^$packagebase:/#/g" if [ "$shortname" != "$packagebase" ]; then - cat $DESCRIPTION | grep "^$shortname:" | uniq | sed "s/^$shortname:/#/g" + grep "^$shortname:" $DESCRIPTION | uniq | sed "s/^$shortname:/#/g" fi elif [ "$MODE" = "terse" ]; then # emit a single description line - printf "%-72s %-6s\n" "$(echo $shortname: $(cat $DESCRIPTION | grep "^$packagebase:" | sed "s/^$packagebase: //g" | head -n 1 | tr -d '()' | sed "s/^$packagebase //g" ) | cut -b1-72)" "[${UNCOMPRESSED}]" | cut -b1-80 + printf "%-72s %-6s\n" "$(echo $shortname: $(echo $(cat $DESCRIPTION | grep "^$packagebase:" | sed "s/^$packagebase: //g" | head -n 1 | tr -d '()' | sed "s/^$packagebase //g" ) $(echo " ......................................................................")) | cut -b1-72)" "[${UNCOMPRESSED}]" | cut -b1-80 elif [ "$MODE" = "infobox" ]; then # install infobox package dialog --title "Installing package $shortname $PMSG" --infobox "$(cat $TMP/tmpmsg$$)" 0 0 elif [ "$MODE" = "menu" -a "$PRIORITY" = "ADD" -a ! "$ALWAYSASK" = "yes" ]; then # ADD overrides menu mode unless -ask was used @@ -526,7 +476,7 @@ EOF # Make sure there are no symbolic links sitting in the way of # incoming package files: - cat $TMP/tmplist$$ | grep -v "/$" | while read file ; do + grep -v "/$" $TMP/tmplist$$ | while read file ; do if [ -L "$ROOT/$file" ]; then rm -f "$ROOT/$file" fi @@ -543,13 +493,13 @@ EOF echo "PACKAGE MD5SUM: $(md5sum $package | cut -f 1 -d ' ')" >> $ADM_DIR/packages/$shortname fi echo "PACKAGE DESCRIPTION:" >> $ADM_DIR/packages/$shortname - cat $DESCRIPTION | grep "^$packagebase:" >> $ADM_DIR/packages/$shortname 2> /dev/null + grep "^$packagebase:" $DESCRIPTION >> $ADM_DIR/packages/$shortname 2> /dev/null if [ "$shortname" != "$packagebase" ]; then - cat $DESCRIPTION | grep "^$shortname:" >> $ADM_DIR/packages/$shortname 2> /dev/null + grep "^$shortname:" $DESCRIPTION >> $ADM_DIR/packages/$shortname 2> /dev/null fi echo "FILE LIST:" >> $ADM_DIR/packages/$shortname - ( cd $ROOT/ ; $packagecompression -dc | $TAR -xlUpvf - ) < $package >> $TMP/$shortname 2> /dev/null - if [ "$(cat $TMP/$shortname | grep '^\./' | wc -l | tr -d ' ')" = "1" ]; then + ( cd $ROOT/ ; $packagecompression -dc | $TAR -xlUpvf - | sort ) < $package >> $TMP/$shortname 2> /dev/null + if [ "$( grep '^\./' $TMP/$shortname | wc -l | tr -d ' ')" = "1" ]; then # Good. We have a package that meets the Slackware spec. cat $TMP/$shortname >> $ADM_DIR/packages/$shortname else @@ -571,7 +521,14 @@ EOF if [ "$MODE" = "install" ]; then echo "Executing install script for $(basename $package)." fi - ( cd $ROOT/ ; sh install/doinst.sh -install; ) + # If bash is available, use sed to convert the install script to use pushd/popd + # rather than spawning subshells which is slow on ARM. This will also speed up + # install script processing on any platform. + if [ -x /bin/bash ]; then + ( cd $ROOT/ ; sed -e's?^( cd \([^;]*\);\(.*\) )$?pushd \1 \&\> /dev/null ; \2 ; popd \&\> /dev/null?g ' install/doinst.sh | /bin/bash ; ) + else + ( cd $ROOT/ ; sh install/doinst.sh ; ) + fi fi # Clean up the mess... if [ -d $ROOT/install ]; then diff --git a/source/a/pkgtools/scripts/makepkg b/source/a/pkgtools/scripts/makepkg index e6805476..25c5f236 100644 --- a/source/a/pkgtools/scripts/makepkg +++ b/source/a/pkgtools/scripts/makepkg @@ -1,7 +1,7 @@ #!/bin/sh # Copyright 1994, 1998, 2008 Patrick Volkerding, Moorhead, Minnesota USA # Copyright 2003 Slackware Linux, Inc. Concord, CA USA -# Copyright 2009 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2009, 2015 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -21,9 +21,16 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # +# Wed Sep 23 18:36:43 UTC 2015 +# Support spaces in file/directory names. <alphageek> +# # Sun Apr 5 21:23:26 CDT 2009 # Support .tgz, .tbz, .tlz, and .txz packages. <volkerdi> # +# Fri Nov 26 13:53:36 GMT 2004 +# Patched to chmod 755 the package's root directory if needed, then restore +# previous permissions after the package has been created. <sw> +# # Wed Mar 18 15:32:33 CST 1998 # Patched to avoid possible symlink attacks in /tmp. @@ -48,18 +55,21 @@ Written by John Gilmore and Jay Fenlason." ]; then fi make_install_script() { + TAB="$(echo -e "\t")" COUNT=1 - LINE="$(sed -n "$COUNT p" $1)" - while [ ! "$LINE" = "" ]; do - LINKGOESIN="$(echo "$LINE" | cut -f 1 -d " ")" - LINKGOESIN="$(dirname $LINKGOESIN)" - LINKNAMEIS="$(echo "$LINE" | cut -f 1 -d ' ')" + while :; do + LINE="$(sed -n "$COUNT p" $1)" + if [ "$LINE" = "" ]; then + break + fi + LINKGOESIN="$(echo "$LINE" | cut -f 1 -d "$TAB")" + LINKGOESIN="$(dirname "$LINKGOESIN")" + LINKNAMEIS="$(echo "$LINE" | cut -f 1 -d "$TAB")" LINKNAMEIS="$(basename "$LINKNAMEIS")" - LINKPOINTSTO="$(echo "$LINE" | cut -f 3 -d ' ')" + LINKPOINTSTO="$(echo "$LINE" | cut -f 2 -d "$TAB")" echo "( cd $LINKGOESIN ; rm -rf $LINKNAMEIS )" echo "( cd $LINKGOESIN ; ln -sf $LINKPOINTSTO $LINKNAMEIS )" COUNT=$(expr $COUNT + 1) - LINE="$(sed -n "$COUNT p" $1)" done } @@ -189,13 +199,12 @@ case $EXTENSION in esac echo -echo "Slackware package maker, version 3.14159." +echo "Slackware package maker, version 3.141593." echo echo "Searching for symbolic links:" # Get rid of possible pre-existing trouble: INST=$(mktemp $TMP/makepkg.XXXXXX) -# This requires the ls from coreutils-5.0 (or newer): -find . -type l -exec ls -l --time-style=long-iso {} \; | while read foo ; do echo $foo ; done | cut -f 8- -d ' ' | cut -b3- | tee $INST +find . -type l -printf "%p\t%l\n" | sed 's,^\./,, ; s, ,\\ ,g' | tee $INST if [ ! "$(cat $INST)" = "" ]; then echo echo "Making symbolic link creation script:" @@ -279,6 +288,18 @@ if [ "$CHOWN" = "y" ]; then find . -type d -exec chown -v root.root {} \; fi +# Ensure that the 'root' of the package is chmod 755 because +# the / of your filesystem will inherit these permissions. +# If it's anything tighter than 755 then bad things happen such as users +# not being able to login, users already logged in can no longer run commands +# and so on. +OLDROOTPERMS="$(find -name . -printf "%m\n")" +if [ $OLDROOTPERMS -ne 755 ]; then + echo "WARNING: $PWD is chmod $OLDROOTPERMS" + echo " temporarily changing to chmod 755" + chmod 755 . +fi + echo "Creating Slackware package: ${TARGET_NAME}/${TAR_NAME}.${EXTENSION}" echo rm -f ${TARGET_NAME}/${TAR_NAME}.${EXTENSION} @@ -342,6 +363,13 @@ if find . | grep site_perl 1> /dev/null ; then echo "WARNING: site_perl directory detected (this is fine for a local package build)" fi +# Restore the old permissions if they previously weren't chmod 755 +if [ $OLDROOTPERMS -ne 755 ]; then + echo + echo "Restoring permissions of $PWD to chmod $OLDROOTPERMS" + chmod $OLDROOTPERMS . +fi + echo echo "Slackware package ${TARGET_NAME}/${TAR_NAME}.${EXTENSION} created." echo diff --git a/source/a/pkgtools/scripts/pkgtool b/source/a/pkgtools/scripts/pkgtool index dd9d6816..fd77f298 100644 --- a/source/a/pkgtools/scripts/pkgtool +++ b/source/a/pkgtools/scripts/pkgtool @@ -1,10 +1,9 @@ #!/bin/sh # -# Copyright 1993, 1994, 1995, 1996, 1997, -# 1998, 1999 Patrick Volkerding, Moorhead, MN USA +# Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999 Patrick Volkerding, Moorhead, MN USA # Copyright 2001, 2004 Slackware Linux, Inc., Concord, CA USA # All rights reserved. -# Copyright 2007, 2009, 2010, 2011, 2013 Patrick Volkerding, Sebeka, MN, USA +# Copyright 2007, 2009, 2010, 2011, 2013, 2015 Patrick Volkerding, Sebeka, MN, USA # # Redistribution and use of this script, with or without modification, is # permitted provided that the following conditions are met: @@ -44,6 +43,15 @@ # Wed Jan 26 23:06:22 GMT 2005 # * Fix for non-standard package descriptions by Jim Hawkins +# Avoid problems if any files in /var/log/packages and /var/log/scripts +# might contain any broken UTF-8 sequences. This was once known to cause +# dialog to crash. +unset LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY \ + LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT \ + LC_IDENTIFICATION LC_ALL +LANG=C +export LANG + # Return a package name that has been stripped of the dirname portion # and any of the valid extensions (only): pkgbase() { @@ -72,10 +80,9 @@ SOURCE_DIR=/var/log/mount ASK="tagfiles" if [ -L /bin/chmod -a -L /bin/chown ]; then # probably on the bootdisk using busybox TARGET_DIR=/mnt + rootdevice="$(mount | grep ' on /mnt ' | tail -n 1 | cut -f 1 -d ' ' 2> /dev/null)" TMP=/mnt/var/log/setup/tmp - if mount | grep "on /mnt" 1> /dev/null 2>&1 ; then # good - true - else # bad + if ! mount | grep ' on /mnt ' 1> /dev/null 2> /dev/null ; then echo echo echo "You can't run pkgtool from the rootdisk until you've mounted your Linux" @@ -95,6 +102,7 @@ if [ -L /bin/chmod -a -L /bin/chown ]; then # probably on the bootdisk using bus fi else TARGET_DIR=/ + rootdevice="$(mount | grep ' on / ' | tail -n 1 | cut -f 1 -d ' ')" TMP=/var/log/setup/tmp fi if [ ! -d $TMP ]; then @@ -212,7 +220,7 @@ else # there were no arguments, so we'll get the needed information from the CMD_START="true" rm -f $TMP/SeT* while [ 0 ]; do - dialog --title "Slackware Package Tool (pkgtool version 14.1)" \ + dialog --title "Slackware Package Tool (pkgtool version 14.2)" \ --menu "\nWelcome to the Slackware package tool.\n\ \nWhich option would you like?\n" 17 75 7 \ "Current" "Install packages from the current directory" \ @@ -250,8 +258,7 @@ are done selecting to run the scripts." 17 70 9 \' > $TMP/setupscr # Run each script: for script in $(cat $TMP/return) ; do scrpath=$ADM_DIR/setup/setup.$(echo $script | tr -d \") - rootdevice="$(mount | head -n 1 | cut -f 1 -d ' ')" - ( COLOR=on ; cd $TARGET_DIR ; . $scrpath / $rootdevice ) + ( COLOR=on ; cd $TARGET_DIR ; . $scrpath $TARGET_DIR $rootdevice ) done fi rm -f $TMP/return $TMP/setupscr @@ -470,7 +477,7 @@ retry, or quit?" 10 60 2 \ umount_the_source() { if [ ! "$SOURCE_MOUNTED" = "always" ]; then - umount $SOURCE_DEVICE 1> /dev/null 2>&1 + umount $SOURCE_DEVICE 1> /dev/null 2> /dev/null fi; } @@ -570,7 +577,7 @@ install_disk() { CATALOG_FILE=$(basename $PACKAGE_DIR/disk*); fi if [ -r $PACKAGE_DIR/$CATALOG_FILE -a ! -d $PACKAGE_DIR/$CATALOG_FILE ]; then - if grep CONTENTS: $PACKAGE_DIR/$CATALOG_FILE 1> /dev/null 2>&1 ; then + if grep CONTENTS: $PACKAGE_DIR/$CATALOG_FILE 1> /dev/null 2> /dev/null ; then # First we check for missing packages... for PKGTEST in $(grep "^CONTENTS:" $PACKAGE_DIR/$CATALOG_FILE | cut -f2- -d : 2> /dev/null) ; do # This is not a perfect test. (say emacs is missing but emacs-nox is not) @@ -601,7 +608,7 @@ EOF for PACKAGE_FILENAME in $PACKAGE_DIR/*.t?z; do BASE=$(pkgbase $PACKAGE_FILENAME) BASE="$(package_name $BASE)" - if echo $ALLOWED | grep $BASE 1> /dev/null 2>&1 ; then + if echo $ALLOWED | grep $BASE 1> /dev/null 2> /dev/null ; then true else cat << EOF > $TMP/tmpmsg @@ -687,7 +694,7 @@ if [ "$DISK_SETS" = "disk" ]; then else touch $TMP/tagfile chmod 600 $TMP/tagfile - if echo $DISK_SETS | grep "#a#" 1> /dev/null 2>&1; then + if echo $DISK_SETS | grep "#a#" 1> /dev/null 2> /dev/null ; then A_IS_NEEDED="true" else A_IS_NEEDED="false" diff --git a/source/a/pkgtools/scripts/removepkg b/source/a/pkgtools/scripts/removepkg index 8b5a911d..2813fc3c 100644 --- a/source/a/pkgtools/scripts/removepkg +++ b/source/a/pkgtools/scripts/removepkg @@ -1,6 +1,12 @@ #!/bin/sh # Slackware remove package script # +# Thu Sep 24 03:31:58 UTC 2015 <alphageek> +# extract_links() sed adjusted to handle symlinks with spaces. +# +# Sun Sep 6 21:58:36 BST 2009 +# Replaced pkgbase & package_name code with 'sed' script by Jim Hawkins. +# # Sat Apr 25 21:18:53 UTC 2009 (12.34567890b) # Converted to use new pkgbase() function to remove pathname and # valid package extensions. @@ -72,7 +78,7 @@ # Copyright 1994, 1995, 1998 Patrick Volkerding, Moorhead, Minnesota USA # Copyright 2001, Slackware Linux, Inc., Concord, CA USA -# Copyright 2009 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2009, 2015 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -96,25 +102,8 @@ # Return a package name that has been stripped of the dirname portion # and any of the valid extensions (only): pkgbase() { - PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev) - case $PKGEXT in - 'tgz' ) - PKGRETURN=$(basename $1 .tgz) - ;; - 'tbz' ) - PKGRETURN=$(basename $1 .tbz) - ;; - 'tlz' ) - PKGRETURN=$(basename $1 .tlz) - ;; - 'txz' ) - PKGRETURN=$(basename $1 .txz) - ;; - *) - PKGRETURN=$(basename $1) - ;; - esac - echo $PKGRETURN + # basename + strip extensions .tbz, .tgz, .tlz and .txz + echo "$1" | sed 's?.*/??;s/\.t[bglx]z$//' } # This makes "sort" run much faster: @@ -149,7 +138,7 @@ cat_except() { } extract_links() { - sed -n 's,^( *cd \([^ ;][^ ;]*\) *; *rm -rf \([^ )][^ )]*\) *) *$,\1/\2,p' + sed -n 's,^[ ]*( [ ]*cd[ ]* \(.*\) [ ]*; [ ]*rm [ ]*-rf[ ]* \(.*\) [ ]*)[ ]*$,\1/\2,p' } preserve_file() { @@ -228,7 +217,7 @@ delete_links() { if [ -L "$ROOT/$LINK" ]; then if [ ! "$WARN" = "true" ]; then echo " --> Deleting symlink $ROOT/$LINK" - rm -f $ROOT/$LINK + rm -f "$ROOT/$LINK" else echo " --> $ROOT/$LINK (symlink) would be deleted" fi @@ -271,38 +260,14 @@ delete_cats() { } package_name() { - STRING=$(pkgbase $1) + STRING=$(pkgbase $1 | sed 's?-[^-]*-[^-]*-[^-]*$??') # If we don't do this, commands run later will take the '-' to be an option # and will destroy the package database. Packages should not contain spaces # in them. Normally this type of problem results from a command line typo. if [ "$(echo $STRING | cut -b 1)" = "-" ]; then STRING="malformed-package-name-detected" fi - # Check for old style package name with one segment: - if [ "$(echo $STRING | cut -f 1 -d -)" = "$(echo $STRING | cut -f 2 -d -)" ]; then - echo $STRING - else # has more than one dash delimited segment - # Count number of segments: - INDEX=1 - while [ ! "$(echo $STRING | cut -f $INDEX -d -)" = "" ]; do - INDEX=$(expr $INDEX + 1) - done - INDEX=$(expr $INDEX - 1) # don't include the null value - # If we don't have four segments, return the old-style (or out of spec) package name: - if [ "$INDEX" = "2" -o "$INDEX" = "3" ]; then - echo $STRING - else # we have four or more segments, so we'll consider this a new-style name: - NAME=$(expr $INDEX - 3) - NAME="$(echo $STRING | cut -f 1-$NAME -d -)" - echo $NAME - # cruft for later ;) - #VER=$(expr $INDEX - 2) - #VER="$(echo $STRING | cut -f $VER -d -)" - #ARCH=$(expr $INDEX - 1) - #ARCH="$(echo $STRING | cut -f $ARCH -d -)" - #BUILD="$(echo $STRING | cut -f $INDEX -d -)" - fi - fi + echo $STRING } # Conversion to 'comm' utility by Mark Wisdom. @@ -329,7 +294,7 @@ remove_packages() { fi if [ ! -e $ADM_DIR/packages/$PKGNAME ]; then - long_package=$(ls -1 $ADM_DIR/packages/${PKGNAME}* | grep -m 1 "${PKGNAME}-[^-]*-[^-]*-[^-]*$") + long_package=$(ls -1 $ADM_DIR/packages/${PKGNAME}* | grep -m 1 "^${PKGNAME}-[^-]*-[^-]*-[^-]*$") if [ -e "$long_package" ]; then PKGNAME=$(basename $long_package) fi diff --git a/source/a/pkgtools/scripts/setup.80.make-bootdisk b/source/a/pkgtools/scripts/setup.80.make-bootdisk index a5d44235..1f0202a5 100644 --- a/source/a/pkgtools/scripts/setup.80.make-bootdisk +++ b/source/a/pkgtools/scripts/setup.80.make-bootdisk @@ -5,13 +5,12 @@ if [ -r /usr/lib/setup/setup ]; then else RDIR=/dev/null fi -NDIR=/dev/null TMP=/var/log/setup/tmp if [ ! -d $TMP ]; then mkdir -p $TMP fi -if [ -z "$T_PX" ]; then +if [ -z "$1" ]; then T_PX=/ else T_PX="$1" @@ -22,6 +21,16 @@ else ROOT_DEVICE="$2" fi +if [ -r $T_PX/usr/share/syslinux/mbr.bin ]; then + MBR_BIN=$T_PX/usr/share/syslinux/mbr.bin +elif [ -r /usr/share/syslinux/mbr.bin ]; then + MBR_BIN=/usr/share/syslinux/mbr.bin +else + dialog --title "ERROR: USB BOOT STICK NOT CREATED" --msgbox \ + "Master Boot Record file mbr.bin not found. This script requires that the syslinux package is installed." 6 60 + exit +fi + while [ 0 ]; do # the bootdisk menu loop # Run "rescan-scsi-bus -l" to get an up to date overview of devices: /sbin/rescan-scsi-bus -l 1>$RDIR 2>$RDIR @@ -38,7 +47,7 @@ while [ 0 ]; do # the bootdisk menu loop fi dialog --title "MAKE USB FLASH BOOT" --default-item "$DEFAULTITEM" --menu \ "If your computer supports booting from a USB device, it is recommended that you make \ -a USB boot stick for your system at this time. It will boot your computer straight \ +a USB boot stick for your system at this time. It will boot your computer straight \ into the root filesystem on $ROOT_DEVICE. \n\ \n\ Please insert a USB flash memory stick and then press ENTER to create a boot stick. \n\ @@ -89,31 +98,56 @@ otherwise select 'No'." 12 70 dialog --title "CREATING USB BOOT STICK" --infobox "Creating SYSLINUX bootdisk for \ $ROOT_DEVICE on /dev/$STICK." 3 64 - # Determine max size of the filesystem (in KB) we want to create: - USBSIZE=$(( $(cat /sys/block/$STICK/size) / 2048)) - if [ $USBSIZE -lt 512 ]; then DOSSIZE=$(($USBSIZE*1024)) - else DOSSIZE=$((512*1024)) - fi - # Hack from Pat. If we're wasting a whole stick, who cares if the partition is - # extra-small, as long as the kernel fits? Also, FAT12 is the least problematic. - DOSSIZE=15861 + # Create a 16M partition with FAT16. This should be large enough for any kernel (for now). + PARTSIZE="+16384K" + # Zero out master boot record and then initialize it with one bootable dos partition + dd if=/dev/zero of=/dev/$STICK bs=512 count=1 1> $RDIR 2> $RDIR + echo "PARTSIZE=$PARTSIZE" 1> $RDIR + fdisk /dev/$STICK << EOF 1> $RDIR 2> $RDIR +n +p +1 +2048 +$PARTSIZE +t 1 +6 +a +w +EOF if [ -x /sbin/mkdosfs ]; then - /sbin/mkdosfs -I -n USBSLACK -F 12 /dev/$STICK $DOSSIZE 1> /dev/null 2> /dev/null + /sbin/mkdosfs -I -n USBSLACK -F 16 /dev/${STICK}1 1> $RDIR 2> $RDIR + else + chroot $T_PX /sbin/mkdosfs -I -n USBSLACK -F 16 /dev/${STICK}1 1> $RDIR 2> $RDIR + fi + sync + # install syslinux + if which syslinux-nomtools 1> $RDIR 2> $RDIR ; then + syslinux-nomtools -i -s /dev/${STICK}1 1> $RDIR 2> $RDIR + elif which strace 1> $RDIR 2> $RDIR ; then + # There is a race condition between udev >= 214 and mtools which causes + # the regular version of syslinux to fail when installing to USB, but + # strace changes the timing just enough that it usually works: + strace syslinux -i -s /dev/${STICK}1 1> $RDIR 2> $RDIR else - chroot $T_PX /sbin/mkdosfs -I -n USBSLACK -F 12 /dev/$STICK $DOSSIZE 1> /dev/null 2> /dev/null + # This might work when the issues with mtools and udev are addressed, + # or if syslinux is eventually able to work around them. + syslinux -i -s /dev/${STICK}1 1> $RDIR 2> $RDIR fi + # make the device bootable: + echo "dd if=$MBR_BIN of=/dev/$STICK" 1> $RDIR 2> $RDIR + dd if=$MBR_BIN of=/dev/$STICK 1> $RDIR 2> $RDIR + sync + # mount the device and write some configuration files if [ ! -d $TMP/bootdisk ]; then - mkdir $TMP/bootdisk + mkdir $TMP/bootdisk 2> $RDIR fi - mount -t vfat /dev/$STICK $TMP/bootdisk 1> /dev/null 2> /dev/null - if [ -r $T_PX/vmlinuz ]; then - cp $T_PX/vmlinuz $TMP/bootdisk/vmlinuz - elif [ -r $T_PX/boot/vmlinuz ]; then - cp $T_PX/boot/vmlinuz $TMP/bootdisk/vmlinuz + mount -t vfat /dev/${STICK}1 $TMP/bootdisk 1> $RDIR 2> $RDIR + if [ -r $T_PX/boot/vmlinuz ]; then + cp $T_PX/boot/vmlinuz $TMP/bootdisk/vmlinuz 1> $RDIR 2> $RDIR + elif [ -r $T_PX/vmlinuz ]; then + cp $T_PX/vmlinuz $TMP/bootdisk/vmlinuz 1> $RDIR 2> $RDIR fi - # We don't need the isolinux bootloader with syslinux do we? - #cp $T_PX/usr/share/syslinux/isolinux.bin $TMP/bootdisk/ - cat << EOF > $TMP/bootdisk/message.txt + cat << EOF > $TMP/bootdisk/message.txt 2> $RDIR Welcome to the 09Slackware07 Linux custom USB boot stick! @@ -131,7 +165,7 @@ kernel parameters you might need depending on your hardware, and which drivers are included in your kernel. EOF - cat << EOF > $TMP/bootdisk/syslinux.cfg + cat << EOF > $TMP/bootdisk/syslinux.cfg 2> $RDIR default vmlinuz root=$ROOT_DEVICE vga=normal ro prompt 1 timeout 6000 @@ -147,7 +181,7 @@ label mount kernel vmlinuz append root=$ROOT_DEVICE vga=normal ro EOF - cat << EOF > $TMP/bootdisk/f1.txt + cat << EOF > $TMP/bootdisk/f1.txt 2> $RDIR STANDARD MODES: To make the kernel prompt for standard video modes use: vga=ask @@ -169,9 +203,9 @@ EOF EOF if [ "$(uname -m)" == "x86_64" ]; then # also install an EFI bootloader - mkdir -p $TMP/bootdisk/EFI/BOOT 1> /dev/null 2> /dev/null - cp $T_PX/boot/elilo-x86_64.efi $TMP/bootdisk/EFI/BOOT/BOOTX64.EFI 1> /dev/null 2> /dev/null - cat << EOF > $TMP/bootdisk/EFI/BOOT/message.txt 2> /dev/null + mkdir -p $TMP/bootdisk/EFI/BOOT 1> $RDIR 2> $RDIR + cp $T_PX/boot/elilo-x86_64.efi $TMP/bootdisk/EFI/BOOT/BOOTX64.EFI 1> $RDIR 2> $RDIR + cat << EOF > $TMP/bootdisk/EFI/BOOT/message.txt 2> $RDIR Welcome to the Slackware Linux custom USB boot stick! @@ -190,7 +224,7 @@ drivers are included in your kernel. Hit ENTER to boot: EOF - cat << EOF > $TMP/bootdisk/EFI/BOOT/elilo.conf 2> /dev/null + cat << EOF > $TMP/bootdisk/EFI/BOOT/elilo.conf 2> $RDIR chooser=simple message=message.txt delay=300 @@ -202,10 +236,12 @@ image=/vmlinuz append="root=$ROOT_DEVICE vga=normal ro" EOF fi # end EFI installation - umount /dev/$STICK + sync + umount /dev/${STICK}1 rm -r $TMP/bootdisk - # Make the device bootable: - syslinux -s /dev/$STICK 1> /dev/null 2> /dev/null + # Sometimes the nomtools version of syslinux will leave the volume mounted, + # so umount again: + umount /dev/${STICK}1 2> $RDIR if [ "$T_PX" = "/" ]; then dialog --title "USB BOOT STICK CREATED" --msgbox \ "The USB boot stick has been successfully created on device /dev/$STICK." 6 60 diff --git a/source/a/pkgtools/scripts/upgradepkg b/source/a/pkgtools/scripts/upgradepkg index 6b0c2abb..5e029980 100644 --- a/source/a/pkgtools/scripts/upgradepkg +++ b/source/a/pkgtools/scripts/upgradepkg @@ -1,7 +1,8 @@ -#!/bin/sh +#!/bin/bash # Copyright 1999 Patrick Volkerding, Moorhead, Minnesota, USA # Copyright 2001, 2002, 2003 Slackware Linux, Inc., Concord, California, USA -# Copyright 2009 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2009, 2015 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2015 Michal Nazarewicz <mina86@mina86.com> # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -34,29 +35,20 @@ # Support new compression types and package extensions. # Converted to use new pkgbase() function to remove pathname and # valid package extensions. +# +# Sat 17 Jan 16:21:32 UTC 2015 mina86 +# Various optimisation mostly resolving around avoiding having to fork +# and call cut, basename and other helper commands. Slight +# refactoring of code calling removepkg. # Return a package name that has been stripped of the dirname portion # and any of the valid extensions (only): pkgbase() { - PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev) - case $PKGEXT in - 'tgz' ) - PKGRETURN=$(basename $1 .tgz) - ;; - 'tbz' ) - PKGRETURN=$(basename $1 .tbz) - ;; - 'tlz' ) - PKGRETURN=$(basename $1 .tlz) - ;; - 'txz' ) - PKGRETURN=$(basename $1 .txz) - ;; - *) - PKGRETURN=$(basename $1) - ;; + PKGRETURN=${1##*/} + case "$PKGRETURN" in *.t[gblx]z) + PKGRETURN=${PKGRETURN%.*} esac - echo $PKGRETURN + echo "$PKGRETURN" } usage() { @@ -101,6 +93,8 @@ umask 022 # $ROOT defined? if [ -d "$ROOT" ]; then export ROOT +else + unset ROOT fi # --help or no args? @@ -147,173 +141,158 @@ done # processing args # old package. package_name() { - STRING=$(pkgbase $1) - # Check for old style package name with one segment: - if [ "$(echo $STRING | cut -f 1 -d -)" = "$(echo $STRING | cut -f 2 -d -)" ]; then + STRING=$(pkgbase "$1") + case "$STRING" in + *-*-*-*) + # At least four segments, strip version arch and build and return name: + echo "${STRING%-*-*-*}" + # cruft for later ;) + # BUILD=${STRING##*-} + # STRING=${STRING%*-} + # ARCH=${STRING##*-} + # STRING=${STRING%*-} + # VER=${STRING%*-} + ;; + *) + # Old style package name with one segment or we don't have four + # segments: return the old-style (or out of spec) package name. echo $STRING - else # has more than one dash delimited segment - # Count number of segments: - INDEX=1 - while [ ! "$(echo $STRING | cut -f $INDEX -d -)" = "" ]; do - INDEX=$(expr $INDEX + 1) - done - INDEX=$(expr $INDEX - 1) # don't include the null value - # If we don't have four segments, return the old-style (or out of spec) package name: - if [ "$INDEX" = "2" -o "$INDEX" = "3" ]; then - echo $STRING - else # we have four or more segments, so we'll consider this a new-style name: - NAME=$(expr $INDEX - 3) - NAME="$(echo $STRING | cut -f 1-$NAME -d -)" - echo $NAME - # cruft for later ;) - #VER=$(expr $INDEX - 2) - #VER="$(echo $STRING | cut -f $VER -d -)" - #ARCH=$(expr $INDEX - 1) - #ARCH="$(echo $STRING | cut -f $ARCH -d -)" - #BUILD="$(echo $STRING | cut -f $INDEX -d -)" - fi - fi + esac } ERRCODE=0 # Main processing loop: -while [ ! "$1" = "" ]; do - -# Simple package integrity check: -if [ ! -f $(echo $1 | cut -f 2 -d '%') ]; then - ERRCODE=4 - echo "Cannot install $1: file not found" - shift 1 - continue; -fi +for ARG; do + OLD=${ARG%'%'*} # first segment, = $ARG if no % + NEW=${ARG#*'%'} # second segment, = $ARG if no % + + # Simple package integrity check: + if ! [ -f "$NEW" ]; then + ERRCODE=4 + echo "Cannot install $ARG: file not found" + continue; + fi -# Figure out the names of the old and new packages: -OLD=$(echo $1 | cut -f 1 -d '%') -NEW=$(echo $1 | cut -f 2 -d '%') -INCOMINGDIR=$(dirname $NEW) -# These are the package names with the extension: -NNAME=$(basename $NEW) -ONAME=$(basename $OLD) -# These are the package names without the extension: -OLD=$(pkgbase $OLD) -NEW=$(pkgbase $NEW) - -# Make sure the extension is valid: -if [ "$NNAME" = "$NEW" ]; then - # We won't throw an ERRCODE for this, but the package is skipped: - echo "Cannot install $1: invalid package extension" - shift 1 - continue; -fi + # Figure out the names of the old and new packages: + INCOMINGDIR=$(dirname $NEW) + # These are the package names with the extension: + NNAME=${NEW##*/} + ONAME=${OLD##*/} + # These are the package names without the extension: + OLD=$(pkgbase $OLD) + NEW=$(pkgbase $NEW) + + # Make sure the extension is valid: + if [ "$NNAME" = "$NEW" ]; then + # We won't throw an ERRCODE for this, but the package is skipped: + echo "Cannot install $OLD: invalid package extension" + continue; + fi -# Check and fix the old package name: -SHORT="$(package_name $OLD)" -if [ ! -r $ROOT/var/log/packages/$OLD ]; then - if ls $ROOT/var/log/packages/$SHORT* 1> /dev/null 2> /dev/null ; then - for installed_package in $ROOT/var/log/packages/$SHORT* ; do - if [ "$(package_name $installed_package)" = "$SHORT" ]; then # found one - OLD="$(basename $installed_package)" - break - fi - done + # Check and fix the old package name: + SHORT="$(package_name $OLD)" + if [ ! -r $ROOT/var/log/packages/$OLD ]; then + if ls $ROOT/var/log/packages/$SHORT* 1> /dev/null 2> /dev/null ; then + for installed_package in $ROOT/var/log/packages/$SHORT* ; do + if [ "$(package_name $installed_package)" = "$SHORT" ]; then # found one + OLD="${installed_package##*/}" + break + fi + done + fi fi -fi -# Test to see if both the old and new packages are where we expect them -# to be -- skip to the next package (or package pair) if anything's wrong: + # Test to see if both the old and new packages are where we expect them + # to be -- skip to the next package (or package pair) if anything's wrong: -if [ ! -r $ROOT/var/log/packages/$OLD ]; then - if [ ! "$INSTALL_NEW" = "yes" ]; then - if [ "$DRY_RUN" = "true" ]; then - echo "$OLD would not be upgraded (no installed package named $SHORT)." - else - echo - echo "Error: there is no installed package named $OLD." - echo " (looking for $ROOT/var/log/packages/$OLD)" - echo - fi - ERRCODE=1 - else # --install-new was given, so install the new package: - if [ "$DRY_RUN" = "true" ]; then - echo "$NEW would be installed (new package)." - else - cat << EOF + if [ ! -r $ROOT/var/log/packages/$OLD ]; then + if [ ! "$INSTALL_NEW" = "yes" ]; then + if [ "$DRY_RUN" = "true" ]; then + echo "$OLD would not be upgraded (no installed package named $SHORT)." + else + echo + echo "Error: there is no installed package named $OLD." + echo " (looking for $ROOT/var/log/packages/$OLD)" + echo + fi + ERRCODE=1 + else # --install-new was given, so install the new package: + if [ "$DRY_RUN" = "true" ]; then + echo "$NEW would be installed (new package)." + else + cat << EOF +============================================================================== | Installing new package $INCOMINGDIR/$NNAME +============================================================================== EOF - /sbin/installpkg $INCOMINGDIR/$NNAME + /sbin/installpkg $INCOMINGDIR/$NNAME + fi fi - fi - shift 1 - continue; -elif [ ! -r "$INCOMINGDIR/$NNAME" ]; then - if [ "$DRY_RUN" = "true" ]; then - echo "$NEW incoming package not found (command line)." - else - echo - echo "Error: incoming package $INCOMINGDIR/$NNAME not found." - echo - fi - shift 1 - ERRCODE=1 - continue; -fi - -# Unless --reinstall was given, compare the package names -# and skip any exact matches: -if [ ! "$REINSTALL" = "true" ]; then - if [ "$OLD" = "$NEW" ]; then + continue; + elif [ ! -r "$INCOMINGDIR/$NNAME" ]; then if [ "$DRY_RUN" = "true" ]; then - echo "$NEW would be skipped (already installed)." + echo "$NEW incoming package not found (command line)." else - cat << EOF + echo + echo "Error: incoming package $INCOMINGDIR/$NNAME not found." + echo + fi + ERRCODE=1 + continue; + fi + + # Unless --reinstall was given, compare the package names + # and skip any exact matches: + if [ ! "$REINSTALL" = "true" ]; then + if [ "$OLD" = "$NEW" ]; then + if [ "$DRY_RUN" = "true" ]; then + echo "$NEW would be skipped (already installed)." + else + cat << EOF +============================================================================== | Skipping package $NEW (already installed) +============================================================================== EOF + fi + continue; fi - shift 1 - continue; fi -fi -# Showtime. Let's do the upgrade. First, we will rename all the -# installed packages with this basename to make them easy to remove later: + # Showtime. Let's do the upgrade. First, we will rename all the + # installed packages with this basename to make them easy to remove later: -TIMESTAMP=$(date +%Y-%m-%d,%T) -SHORT="$(package_name $OLD)" -if [ "$DRY_RUN" = "true" ]; then - echo -n "$NEW would upgrade: " - for installed_package in $ROOT/var/log/packages/$SHORT* ; do - if [ "$(package_name $installed_package)" = "$SHORT" ]; then - echo -n "$(pkgbase $installed_package)" + TIMESTAMP=$(date +%Y-%m-%d,%T) + SHORT="$(package_name $OLD)" + if [ "$DRY_RUN" = "true" ]; then + echo -n "$NEW would upgrade: " + for installed_package in $ROOT/var/log/packages/$SHORT* ; do + if [ "$(package_name $installed_package)" = "$SHORT" ]; then + echo -n "$(pkgbase $installed_package)" + fi + done + echo + continue fi + for installed_package in $ROOT/var/log/packages/$SHORT* ; do + if [ "$(package_name $installed_package)" = "$SHORT" ]; then + mv $installed_package ${installed_package}-upgraded-$TIMESTAMP + fi done - echo - shift 1 - continue -fi -for installed_package in $ROOT/var/log/packages/$SHORT* ; do - if [ "$(package_name $installed_package)" = "$SHORT" ]; then - mv $installed_package ${installed_package}-upgraded-$TIMESTAMP - fi -done -for installed_script in $ROOT/var/log/scripts/$SHORT* ; do - if [ "$(package_name $installed_script)" = "$SHORT" ]; then - if [ -r $installed_script ]; then - mv $installed_script ${installed_script}-upgraded-$TIMESTAMP + for installed_script in $ROOT/var/log/scripts/$SHORT* ; do + if [ "$(package_name $installed_script)" = "$SHORT" ]; then + if [ -r $installed_script ]; then + mv $installed_script ${installed_script}-upgraded-$TIMESTAMP + fi fi - fi -done + done -# Print a banner for the current upgrade: -cat << EOF + # Print a banner for the current upgrade: + cat << EOF +============================================================================== | Upgrading $OLD package using $INCOMINGDIR/$NNAME @@ -321,67 +300,49 @@ cat << EOF EOF -# Next, the new package is pre-installed: -if [ "$VERBOSE" = "verbose" ]; then - /sbin/installpkg $INCOMINGDIR/$NNAME - RETCODE=$? -else - echo "Pre-installing package $NEW..." - /sbin/installpkg $INCOMINGDIR/$NNAME 1> /dev/null - RETCODE=$? -fi -# Make sure that worked: -if [ ! $RETCODE = 0 ]; then - echo "ERROR: Package $INCOMINGDIR/$NNAME did not install" - echo "correctly. You may need to reinstall your old package" - echo "to avoid problems. Make sure the new package is not" - echo "corrupted." - sleep 30 - # Skip this package, but still try to proceed. Good luck... - shift 1 - continue; -fi - -# Now, the leftovers from the old package(s) can go. Pretty simple, huh? :) -if [ -d "$ROOT" ]; then - ( cd $ROOT/var/log/packages - for rempkg in *-$TIMESTAMP ; do - if [ "$VERBOSE" = "verbose" ]; then - ROOT=$ROOT /sbin/removepkg $rempkg - else - ROOT=$ROOT /sbin/removepkg $rempkg | grep -v "Skipping\." | grep -v "Removing files:" - fi - done - ) -else - ( cd /var/log/packages - for rempkg in *-$TIMESTAMP ; do - if [ "$VERBOSE" = "verbose" ]; then - /sbin/removepkg $rempkg - else - /sbin/removepkg $rempkg | grep -v "Skipping\." | grep -v "Removing files:" - fi - done - ) -fi -echo - -# Again! Again! -# Seriously, the reinstalling of a package can be crucial if any files -# shift location, so we should always reinstall as the final step: -if [ ! "$NOT_PARANOID" = "true" ]; then - /sbin/installpkg $INCOMINGDIR/$NNAME -fi + # Next, the new package is pre-installed: + if [ "$VERBOSE" = "verbose" ]; then + /sbin/installpkg $INCOMINGDIR/$NNAME + RETCODE=$? + else + echo "Pre-installing package $NEW..." + /sbin/installpkg $INCOMINGDIR/$NNAME 1> /dev/null + RETCODE=$? + fi + # Make sure that worked: + if [ ! $RETCODE = 0 ]; then + echo "ERROR: Package $INCOMINGDIR/$NNAME did not install" + echo "correctly. You may need to reinstall your old package" + echo "to avoid problems. Make sure the new package is not" + echo "corrupted." + sleep 30 + # Skip this package, but still try to proceed. Good luck... + continue; + fi -echo "Package $OLD upgraded with new package $INCOMINGDIR/$NNAME." -ERRCODE=0 + # Now, the leftovers from the old package(s) can go. Pretty simple, huh? :) + for rempkg in "$ROOT/var/log/packages/"*"-$TIMESTAMP"; do + if [ "$VERBOSE" = "verbose" ]; then + /sbin/removepkg "${rempkg##*/}" + else + /sbin/removepkg "${rempkg##*/}" | grep -v 'Skipping\.\|Removing files:' + fi + done + echo -# Process next parameter: -shift 1 + # Again! Again! + # Seriously, the reinstalling of a package can be crucial if any files + # shift location, so we should always reinstall as the final step: + if [ ! "$NOT_PARANOID" = "true" ]; then + /sbin/installpkg $INCOMINGDIR/$NNAME + fi + echo "Package $OLD upgraded with new package $INCOMINGDIR/$NNAME." + ERRCODE=0 done if [ ! "$DRY_RUN" = "true" ]; then echo fi exit $ERRCODE + diff --git a/source/a/procps-ng/procps-ng.SlackBuild b/source/a/procps-ng/procps-ng.SlackBuild new file mode 100755 index 00000000..e46afd2c --- /dev/null +++ b/source/a/procps-ng/procps-ng.SlackBuild @@ -0,0 +1,251 @@ +#!/bin/sh + +# Copyright 2005-2016 Patrick J. Volkerding, Sebeka, Minnesota, USA +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +PKGNAM=procps-ng +VERSION=${VERSION:-3.3.11} +PSMISCVER=${PSMISCVER:-22.21} +PROCINFONGVER=${PROCINFONGVER:-2.0.304} +PROCINFOVER=${PROCINFOVER:-18} +BUILD=${BUILD:-1} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +CWD=$(pwd) +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +rm -rf $PKG +mkdir -p $TMP $PKG +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1 +cd $PKGNAM-$VERSION || exit 1 +tar xvf $CWD/psmisc-$PSMISCVER.tar.xz || exit 1 +tar xvf $CWD/procinfo-ng-$PROCINFONGVER.tar.xz || exit 1 +tar xvf $CWD/procinfo-$PROCINFOVER.tar.xz || exit 1 +chown -R root:root . + +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/ \ + --bindir=/bin \ + --sbindir=/sbin \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --includedir=/usr/include \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --datarootdir=/usr/share \ + --docdir=/usr/doc/$PKGNAM-$VERSION \ + --enable-static=no \ + --disable-silent-rules \ + --disable-rpath \ + --enable-watch8bit \ + --enable-skill \ + --enable-sigwinch \ + --enable-w-from \ + --disable-kill \ + --without-systemd \ + --disable-modern-top \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Move the shared library to $PKG/lib${LIBDIRSUFFIX}: +mkdir -p $PKG/lib${LIBDIRSUFFIX} +( cd $PKG/usr/lib${LIBDIRSUFFIX} + for file in lib*.so.?.* ; do + mv $file ../../lib${LIBDIRSUFFIX} + ln -sf ../../lib${LIBDIRSUFFIX}/$file . + done + cp -a lib*.so.? ../../lib${LIBDIRSUFFIX} +) + +# Remove .la file(s): +rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la + +# It seems that upstream has shuffled the location of many tools with the +# 3.3.11 release. To me, this just doesn't make sense to break any existing +# scripts that might be using an absolute path, or to move tools that might +# be needed before /usr is mounted into /usr. So, we will make sure that +# everything is moved back to where the Slackware locations have always been. +# These tools belong in /bin: +mkdir -p $PKG/bin +for file in free killall ps ; do + find $PKG -name $file -exec mv "{}" $PKG/bin \; +done +# These tools belong in /sbin: +mkdir -p $PKG/sbin +for file in pidof sysctl ; do + find $PKG -name $file -exec mv "{}" $PKG/sbin \; +done +mkdir -p $PKG/usr/bin +# These tools belong in /usr/bin: +for file in fuser lsdev peekfd pgrep pkill pmap procinfo prtstat pstree pwdx skill slabtop snice socklist tload top uptime vmstat w watch ; do + find $PKG -name $file -exec mv "{}" $PKG/usr/bin \; +done +# These symlinks belong in /bin: +rm -f $PKG/bin/pidof +ln -sf /sbin/pidof $PKG/bin/pidof +# These symlinks belong in /usr/bin: +rm -f $PKG/usr/bin/free $PKG/usr/bin/pidof $PKG/usr/bin/ps +ln -sf /bin/free $PKG/usr/bin/free +ln -sf /sbin/pidof $PKG/usr/bin/pidof +ln -sf /bin/ps $PKG/usr/bin/ps + +# Create /etc/sysctl.d: +mkdir -p $PKG/etc/sysctl.d + +cd psmisc-$PSMISCVER || exit 1 + +# Fix fuser -s: +zcat $CWD/psmisc.3638cc55b4d08851faba46635d737b24d016665b.diff.gz | patch -p1 --verbose || exit 1 + +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/psmisc-$PSMISCVER \ + --disable-silent-rules \ + --disable-rpath \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Move "killall" to the traditional location: +mv $PKG/usr/bin/killall $PKG/bin +ln -s /bin/killall $PKG/usr/bin/killall + +mkdir -p $PKG/usr/doc/psmisc-$PSMISCVER +cp -a ChangeLog COPYING* NEWS README* $PKG/usr/doc/psmisc-$PSMISCVER + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$PKG/usr/doc/psmisc-$PSMISCVER + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +cd ../procinfo-ng-$PROCINFONGVER || exit 1 +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/procinfo-ng-$PROCINFONGVER \ + --enable-maintainer-mode \ + --build=$ARCH-slackware-linux || exit 1 + +make $NUMJOBS || exit 1 +make install DESTDIR=$PKG || exit 1 + +mkdir -p $PKG/usr/doc/procinfo-ng-$PROCINFONGVER +cp -a GPL-2.txt LGPL-2.1.txt LICENSE.txt COPYING* README* $PKG/usr/doc/procinfo-ng-$PROCINFONGVER + +# Now install a couple of scripts from the original procinfo package. +cd ../procinfo-$PROCINFOVER || exit 1 +install -m 0755 lsdev.pl $PKG/usr/bin/lsdev +install -m 0755 socklist.pl $PKG/usr/bin/socklist +install -m 0644 lsdev.8 socklist.8 $PKG/usr/man/man8 + +# Strip binaries: +( cd $PKG + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +) + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1 | grep -v '\.gz$') ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +# Back to the procps-ng main source directory... +cd .. + +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION +cp -a \ + AUTHORS ChangeLog COPYING* NEWS README* \ + $PKG/usr/doc/$PKGNAM-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$PKG/usr/doc/$PKGNAM-$VERSION + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz + diff --git a/source/a/procps-ng/psmisc.3638cc55b4d08851faba46635d737b24d016665b.diff b/source/a/procps-ng/psmisc.3638cc55b4d08851faba46635d737b24d016665b.diff new file mode 100644 index 00000000..d930f6f2 --- /dev/null +++ b/source/a/procps-ng/psmisc.3638cc55b4d08851faba46635d737b24d016665b.diff @@ -0,0 +1,25 @@ +diff --git a/ChangeLog b/ChangeLog +index fd1cccf..e5f784c 100644 +--- a/ChangeLog ++++ b/ChangeLog +@@ -1,3 +1,7 @@ ++Changes in 22.22 ++================ ++ * Fixed typo in fuser which has -M on Debian #740275 ++ + Changes in 22.21 + ================ + * Missing comma in fuser(1) added Debian #702391 +diff --git a/src/fuser.c b/src/fuser.c +index b485f65..389b302 100644 +--- a/src/fuser.c ++++ b/src/fuser.c +@@ -1174,7 +1174,7 @@ int main(int argc, char *argv[]) + usage(_("No process specification given")); + + /* Check if -M flag was used and if so check mounts */ +- if (opts * OPT_ISMOUNTPOINT) { ++ if (opts & OPT_ISMOUNTPOINT) { + check_mountpoints(&mounts, &names_head, &names_tail); + } + diff --git a/source/a/procps-ng/slack-desc b/source/a/procps-ng/slack-desc new file mode 100644 index 00000000..0573fcb0 --- /dev/null +++ b/source/a/procps-ng/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +procps-ng: procps-ng (utilities for displaying process information) +procps-ng: +procps-ng: The procps-ng package provides the classic set of utilities used to +procps-ng: display information about the processes currently running on the +procps-ng: machine. +procps-ng: +procps-ng: Homepage: http://sourceforge.net/projects/procps-ng/ +procps-ng: +procps-ng: +procps-ng: +procps-ng: diff --git a/source/a/procps/procinfo.gcc3.diff b/source/a/procps/procinfo.gcc3.diff deleted file mode 100644 index 96a3dbb1..00000000 --- a/source/a/procps/procinfo.gcc3.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- ./routines.c.orig 2001-02-24 15:30:45.000000000 -0800 -+++ ./routines.c 2003-02-07 13:38:09.000000000 -0800 -@@ -390,7 +390,7 @@ - unsigned int d, h, m, s; - static char buf[22]; - -- t = t * 100 / HZ; -+ t = t * 100. / HZ; - d = (int) (t / 8640000); - t = t - (long) (d * 8640000); - h = (int) (t / 360000); diff --git a/source/a/procps/procinfo.lsm b/source/a/procps/procinfo.lsm deleted file mode 100644 index 70ff559f..00000000 --- a/source/a/procps/procinfo.lsm +++ /dev/null @@ -1,15 +0,0 @@ -Begin3 -Title: procinfo -Version: 18 -Entered-date: 02MAR01 -Description: A utility to prettyprint /proc/* -Keywords: procinfo, system info -Author: svm@kozmix.cistron.nl (Sander van Malssen) -Maintained-by: svm@kozmix.cistron.nl (Sander van Malssen) -Primary-site: ftp.cistron.nl /pub/people/svm - 23k procinfo-18.tar.gz -Alternate-site: metalab.unc.edu /pub/Linux/system/status/ps -Alternate-site: tsx-11.mit.edu /pub/linux/sources/usr.bin -Platforms: Linux 1.0.x - 2.4.x -Copying-policy: GNU Public License -End diff --git a/source/a/procps/procps-3.2.7-ps-cgroup.patch b/source/a/procps/procps-3.2.7-ps-cgroup.patch deleted file mode 100644 index de5c6b26..00000000 --- a/source/a/procps/procps-3.2.7-ps-cgroup.patch +++ /dev/null @@ -1,65 +0,0 @@ -diff -burN procps-3.2.8/ps/output.c procps-3.2.8.cgroups/ps/output.c ---- procps-3.2.8/ps/output.c 2009-05-10 14:24:50.000000000 -0500 -+++ procps-3.2.8.cgroups/ps/output.c 2010-12-04 12:35:56.000000000 -0600 -@@ -1099,6 +1099,39 @@ - return snprintf(outbuf, COLWID, "*"); - } - -+static int pr_cgroup(char *restrict const outbuf, const proc_t *restrict const pp){ -+ char filename[48]; -+ FILE *fd; -+ int counter = 0; -+ int c; -+ int is_cgroup = 0; -+ -+ outbuf[0]='\0'; -+ snprintf(filename, sizeof filename, "/proc/%d/cgroup", pp->tgid); -+ fd = fopen(filename, "r"); -+ if (likely(fd == NULL)) goto fail; -+ while (( (c = fgetc(fd)) != EOF) && (counter<665)) { -+ if (is_cgroup == 0) { -+ if (c == ':') { -+ is_cgroup = 1; -+ if (counter>0) -+ outbuf[counter++]=';'; -+ } -+ }else -+ if ((c == '\n') || (c == '\0')) -+ is_cgroup = 0; -+ else -+ outbuf[counter++]=c; -+ } -+ outbuf[counter]='\0'; -+ close(fd); -+ if (counter>0) -+ return counter; -+fail: -+ outbuf[0] = '-'; -+ outbuf[1] = '\0'; -+ return 1; -+} - - /****************** FLASK & seLinux security stuff **********************/ - // move the bulk of this to libproc sometime -@@ -1293,6 +1326,7 @@ - {"bsdtime", "TIME", pr_bsdtime, sr_nop, 6, 0, LNX, ET|RIGHT}, - {"c", "C", pr_c, sr_pcpu, 2, 0, SUN, ET|RIGHT}, - {"caught", "CAUGHT", pr_sigcatch, sr_nop, 9, 0, BSD, TO|SIGNAL}, /*sigcatch*/ -+{"cgroup", "CGROUP", pr_cgroup, sr_nop, 35, 0, LNX, PO|LEFT}, /* cgroups*/ - {"class", "CLS", pr_class, sr_sched, 3, 0, XXX, TO|LEFT}, - {"cls", "CLS", pr_class, sr_sched, 3, 0, HPU, TO|RIGHT}, /*says HPUX or RT*/ - {"cmaj_flt", "-", pr_nop, sr_cmaj_flt, 1, 0, LNX, AN|RIGHT}, -diff -burN procps-3.2.8/ps/ps.1 procps-3.2.8.cgroups/ps/ps.1 ---- procps-3.2.8/ps/ps.1 2009-05-10 14:38:17.000000000 -0500 -+++ procps-3.2.8.cgroups/ps/ps.1 2010-12-04 12:43:12.000000000 -0600 -@@ -904,6 +904,10 @@ - displayed. (alias\ \fBsig_catch\fR,\ \fBsigcatch\fR). - T} - -+cgroup CGROUP T{ -+display control groups to which the process belongs. -+T} -+ - class CLS T{ - scheduling class of the process. (alias\ \fBpolicy\fR,\ \fBcls\fR). - Field's possible values are: diff --git a/source/a/procps/procps-3.2.7-ps-eip64.diff b/source/a/procps/procps-3.2.7-ps-eip64.diff deleted file mode 100644 index 9eb851f4..00000000 --- a/source/a/procps/procps-3.2.7-ps-eip64.diff +++ /dev/null @@ -1,48 +0,0 @@ ---- procps-3.2.7/ps/ps.1.eip64 2007-06-14 11:08:35.000000000 +0200 -+++ procps-3.2.7/ps/ps.1 2007-06-14 11:03:28.000000000 +0200 -@@ -1156,6 +1156,14 @@ - or\ a\ decimal representation otherwise. - T} - -+rip RIP T{ -+64-bit instruction pointer. -+T} -+ -+rsp RSP T{ -+64-bit stack pointer. -+T} -+ - rss RSS T{ - resident set size, the non\-swapped physical memory that - a task has used (in\ kiloBytes). ---- procps-3.2.7/ps/output.c.eip64 2007-06-14 11:08:24.000000000 +0200 -+++ procps-3.2.7/ps/output.c 2007-06-14 10:58:21.000000000 +0200 -@@ -764,10 +764,18 @@ - return snprintf(outbuf, COLWID, "%08x", (unsigned)(pp->kstk_esp)); - } - -+static int pr_rsp(char *restrict const outbuf, const proc_t *restrict const pp){ -+ return snprintf(outbuf, COLWID, "%016lx", (unsigned long)(pp->kstk_esp)); -+} -+ - static int pr_eip(char *restrict const outbuf, const proc_t *restrict const pp){ - return snprintf(outbuf, COLWID, "%08x", (unsigned)(pp->kstk_eip)); - } - -+static int pr_rip(char *restrict const outbuf, const proc_t *restrict const pp){ -+ return snprintf(outbuf, COLWID, "%016lx", (unsigned long)(pp->kstk_eip)); -+} -+ - /* This function helps print old-style time formats */ - static int old_time_helper(char *dst, unsigned long long t, unsigned long long rel) { - if(!t) return snprintf(dst, COLWID, " -"); -@@ -1403,7 +1411,9 @@ - {"resident", "RES", pr_nop, sr_resident, 5,MEM, LNX, PO|RIGHT}, - {"rgid", "RGID", pr_rgid, sr_rgid, 5, 0, XXX, ET|RIGHT}, - {"rgroup", "RGROUP", pr_rgroup, sr_rgroup, 8, GRP, U98, ET|USER}, /* was 8 wide */ -+{"rip", "RIP", pr_rip, sr_kstk_eip, 16, 0, LNX, TO|RIGHT}, - {"rlink", "RLINK", pr_nop, sr_nop, 8, 0, BSD, AN|RIGHT}, -+{"rsp", "RSP", pr_rsp, sr_kstk_eip, 16, 0, LNX, TO|RIGHT}, - {"rss", "RSS", pr_rss, sr_rss, 5, 0, XXX, PO|RIGHT}, /* was 5 wide */ - {"rssize", "RSS", pr_rss, sr_vm_rss, 5, 0, DEC, PO|RIGHT}, /*rsz*/ - {"rsz", "RSZ", pr_rss, sr_vm_rss, 5, 0, BSD, PO|RIGHT}, /*rssize*/ diff --git a/source/a/procps/procps-3.2.8-ps-cgroup-suppress-root-group.patch b/source/a/procps/procps-3.2.8-ps-cgroup-suppress-root-group.patch deleted file mode 100644 index 4b192c1f..00000000 --- a/source/a/procps/procps-3.2.8-ps-cgroup-suppress-root-group.patch +++ /dev/null @@ -1,36 +0,0 @@ ---- procps-3.2.8/ps/output.c 2010-05-18 06:00:18.000000000 +0200 -+++ procps-3.2.8.lennart/ps/output.c 2010-05-18 05:59:46.000000000 +0200 -@@ -1109,7 +1109,7 @@ - static int pr_cgroup(char *restrict const outbuf, const proc_t *restrict const pp){ - char filename[48]; - FILE *fd; -- int counter = 0; -+ int counter = 0, last_begin = 0, slash = 0; - int c; - int is_cgroup = 0; - -@@ -1121,15 +1121,22 @@ - if (is_cgroup == 0) { - if (c == ':') { - is_cgroup = 1; -+ slash = 0; - if (counter>0) - outbuf[counter++]=';'; - } - }else -- if ((c == '\n') || (c == '\0')) -- is_cgroup = 0; -+ if ((c == '\n') || (c == '\0')){ -+ if (slash) /* if the last char was a / this process is in the root cgroup which we should suppress */ -+ counter = last_begin; - else -+ last_begin = counter; -+ is_cgroup = 0; -+ } else { -+ slash = c == '/'; - outbuf[counter++]=c; - } -+ } - outbuf[counter]='\0'; - close(fd); - if (counter>0) diff --git a/source/a/procps/procps-3.2.8.makefile.diff b/source/a/procps/procps-3.2.8.makefile.diff deleted file mode 100644 index 383d328c..00000000 --- a/source/a/procps/procps-3.2.8.makefile.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- ./Makefile.orig 2009-05-10 13:50:48.000000000 -0500 -+++ ./Makefile 2013-06-25 16:19:06.058320108 -0500 -@@ -174,7 +174,7 @@ - # want this rule first, use := on ALL, and ALL not filled in yet - all: do_all - ---include */module.mk -+-include proc/module.mk ps/module.mk - - do_all: $(ALL) - diff --git a/source/a/procps/procps-3.2.8.unknown.hz.value.diff b/source/a/procps/procps-3.2.8.unknown.hz.value.diff deleted file mode 100644 index be283814..00000000 --- a/source/a/procps/procps-3.2.8.unknown.hz.value.diff +++ /dev/null @@ -1,32 +0,0 @@ ---- procps-3.2.8.orig/proc/sysinfo.c 2008-03-24 04:33:43.000000000 +0000 -+++ procps-3.2.8.orig/proc/sysinfo.c 2011-02-07 18:14:16.476982472 +0000 -@@ -212,6 +212,7 @@ static int check_for_privs(void){ - static void init_libproc(void) __attribute__((constructor)); - static void init_libproc(void){ - have_privs = check_for_privs(); -+ init_Linux_version(); - // ought to count CPUs in /proc/stat instead of relying - // on glibc, which foolishly tries to parse /proc/cpuinfo - // ---- procps-3.2.8.orig/proc/version.c 2003-01-29 01:11:43.000000000 +0000 -+++ procps-3.2.8.orig/proc/version.c 2011-02-07 18:13:12.283649138 +0000 -@@ -33,8 +33,7 @@ void display_version(void) { - - int linux_version_code; - --static void init_Linux_version(void) __attribute__((constructor)); --static void init_Linux_version(void) { -+void init_Linux_version(void) { - static struct utsname uts; - int x = 0, y = 0, z = 0; /* cleared in case sscanf() < 3 */ - ---- procps-3.2.8.orig/proc/version.h 2002-12-15 00:08:32.000000000 +0000 -+++ procps-3.2.8.orig/proc/version.h 2011-02-07 18:14:20.263649138 +0000 -@@ -14,6 +14,7 @@ - - EXTERN_C_BEGIN - -+extern void init_Linux_version(void); - extern void display_version(void); /* display suite version */ - extern const char procps_version[]; /* global buf for suite version */ - diff --git a/source/a/procps/procps.SlackBuild b/source/a/procps/procps.SlackBuild deleted file mode 100755 index 255ece40..00000000 --- a/source/a/procps/procps.SlackBuild +++ /dev/null @@ -1,207 +0,0 @@ -#!/bin/sh - -# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, Minnesota, USA -# All rights reserved. -# -# Redistribution and use of this script, with or without modification, is -# permitted provided that the following conditions are met: -# -# 1. Redistributions of this script must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, -# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; -# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR -# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF -# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -VERSION=3.2.8 -# Sometimes this number lags behind... -SOVER=3.2.8 -PSMISCVER=22.13 -BUILD=${BUILD:-4} - -# Automatically determine the architecture we're building on: -if [ -z "$ARCH" ]; then - case "$( uname -m )" in - i?86) export ARCH=i486 ;; - arm*) export ARCH=arm ;; - # Unless $ARCH is already set, use uname -m for all other archs: - *) export ARCH=$( uname -m ) ;; - esac -fi - -CWD=$(pwd) -TMP=${TMP:-/tmp} -PKG=$TMP/package-procps - -if [ "$ARCH" = "i386" ]; then - SLKCFLAGS="-O2 -march=i386 -mcpu=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "s390" ]; then - SLKCFLAGS="-O2" - LIBDIRSUFFIX="" -elif [ "$ARCH" = "x86_64" ]; then - SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" -fi - -# Prepare build locations: -rm -rf $PKG -mkdir -p $TMP $PKG - -cd $TMP -rm -rf procps-$VERSION -tar xvf $CWD/procps-$VERSION.tar.?z* || exit 1 -cd procps-$VERSION || exit 1 -chown -R root:root . -find . \ - \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ - -exec chmod 755 {} \; -o \ - \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ - -exec chmod 644 {} \; - -mkdir -p $PKG/usr/doc/procps-$VERSION -cp -a BUGS COPYING* NEWS TODO $PKG/usr/doc/procps-$VERSION -chown root:root $PKG/usr/doc/procps-$VERSION/* -chmod 644 $PKG/usr/doc/procps-$VERSION/* - -# While I don't agree this is a harmful patch, I will defer to the -# maintainer's judgement on this one. Besides, I quit using the '-' -# with ps years ago. It wasn't that hard to change. -#echo zcat $CWD/procps.nowarning.diff.gz -#zcat $CWD/procps.nowarning.diff.gz | patch -p1 --verbose || exit 1 - -# Display the location from which the user is logged in by default. -# This is how previous versions of 'w' in Slackware have always -# defaulted. -echo zcat $CWD/procps.w.showfrom.diff.gz -zcat $CWD/procps.w.showfrom.diff.gz | patch -p1 --verbose || exit 1 - -if [ "$ARCH" = "x86_64" ]; then -# Taken from RedHat: ps truncates eip and esp to 32bit values on 64bit systems. -# The patch adds 64bit rip and rsp to the 'ps' output options on x86_64 - zcat $CWD/procps-3.2.7-ps-eip64.diff.gz | patch -p1 --verbose || exit 1 -fi - -# Add support for cgroups display: -zcat $CWD/procps-3.2.7-ps-cgroup.patch.gz | patch -p1 --verbose || exit 1 -zcat $CWD/procps-3.2.8-ps-cgroup-suppress-root-group.patch.gz | patch -p1 --verbose || exit 1 - -# Init contructors in correct order to avoid "Unknown HZ value!": -zcat $CWD/procps-3.2.8.unknown.hz.value.diff.gz | patch -p1 --verbose || exit 1 - -# Fix an ordering problem in the Makefile: -zcat $CWD/procps-3.2.8.makefile.diff.gz | patch -p1 --verbose || exit 1 - -make OPT="$SLKCFLAGS" || make OPT="$SLKCFLAGS" || exit 1 -mkdir -p $PKG/lib${LIBDIRSUFFIX} $PKG/bin $PKG/sbin $PKG/usr/bin $PKG/usr/include/proc -cat free > $PKG/bin/free -cat ps/ps> $PKG/bin/ps -cat proc/libproc-${SOVER}.so > $PKG/lib${LIBDIRSUFFIX}/libproc-${SOVER}.so -cat pkill > $PKG/usr/bin/pkill -cat skill > $PKG/usr/bin/skill -cat pmap > $PKG/usr/bin/pmap -cat slabtop > $PKG/usr/bin/slabtop -cat sysctl > $PKG/sbin/sysctl -cat tload > $PKG/usr/bin/tload -cat top > $PKG/usr/bin/top -cat uptime > $PKG/usr/bin/uptime -cat vmstat > $PKG/usr/bin/vmstat -cat w > $PKG/usr/bin/w -cat watch > $PKG/usr/bin/watch -( cd $PKG/usr/bin - ln -sf pkill pgrep - ln -sf skill snice - # Just in case - ln -sf /bin/free . - ln -sf /bin/ps . -) -cp -a proc/*.h $PKG/usr/include/proc -chown -R root:root $PKG/usr/include/proc -chmod 644 $PKG/usr/include/proc/* -cp -a ps/ps.1 . -mkdir -p $PKG/usr/man/man1 -for page in free.1 pgrep.1 pkill.1 ps.1 slabtop.1 skill.1 snice.1 tload.1 top.1 uptime.1 w.1 watch.1 ; do - cat $page | gzip -9c > $PKG/usr/man/man1/$page.gz -done -mkdir -p $PKG/usr/man/man5 -cat sysctl.conf.5 | gzip -9c > $PKG/usr/man/man5/sysctl.conf.5.gz -mkdir -p $PKG/usr/man/man8 -for page in vmstat.8 sysctl.8 ; do - cat $page | gzip -9c > $PKG/usr/man/man8/$page.gz -done - -echo "+=============+" -echo "| psmisc-$PSMISCVER |" -echo "+=============+" -cd $TMP -rm -rf psmisc-$PSMISCVER -tar xvf $CWD/psmisc-$PSMISCVER.tar.?z* || exit 1 -cd psmisc-$PSMISCVER -# Maybe we'll turn on NLS when it supports more than -# just US English. :) -CFLAGS="$SLKCFLAGS" \ -./configure --prefix=/usr \ - --libdir=/usr/lib${LIBDIRSUFFIX} \ - --disable-nls -mkdir -p $PKG/usr/doc/psmisc-$PSMISCVER -cp -a AUTHORS COPYING ChangeLog INSTALL NEWS README $PKG/usr/doc/psmisc-$PSMISCVER -chmod 644 $PKG/usr/doc/psmisc-$PSMISCVER/* -chown root:root $PKG/usr/doc/psmisc-$PSMISCVER/* -make || make || exit 1 -cd src -strip fuser pstree killall -cat fuser > $PKG/usr/bin/fuser -cat pstree > $PKG/usr/bin/pstree -cat killall > $PKG/bin/killall -cd ../doc -for page in fuser.1 killall.1 pstree.1 ; do - cat $page | gzip -9c > $PKG/usr/man/man1/$page.gz -done -cd .. - -echo "+=============+" -echo "| procinfo-18 |" -echo "+=============+" -cd $TMP -rm -rf procinfo-18 -tar xzvf $CWD/procinfo-18.tar.gz -cd procinfo-18 -zcat $CWD/procinfo.gcc3.diff.gz | patch -p1 --backup --suffix=.orig --verbose || exit 1 -mkdir -p $PKG/usr/doc/procinfo-18 -cp -a CHANGES README $PKG/usr/doc/procinfo-18 -chmod 644 $PKG/usr/doc/procinfo-18/* -chown root:root $PKG/usr/doc/procinfo-18/* -make CFLAGS="$SLKCFLAGS" -strip procinfo -cat procinfo > $PKG/usr/bin/procinfo -cat lsdev.pl > $PKG/usr/bin/lsdev -cat socklist.pl > $PKG/usr/bin/socklist -for page in procinfo.8 lsdev.8 socklist.8 ; do - cat $page | gzip -9c > $PKG/usr/man/man8/$page.gz -done - -# Fix permissions: -chmod 755 $PKG/lib${LIBDIRSUFFIX}/* $PKG/bin/* $PKG/sbin/* $PKG/usr/bin/* -( cd $PKG - find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null - find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null -) - -mkdir -p $PKG/install -cat $CWD/slack-desc > $PKG/install/slack-desc - -# Build the package: -cd $PKG -makepkg -l y -c n $TMP/procps-$VERSION-$ARCH-$BUILD.txz - diff --git a/source/a/procps/procps.nowarning.diff b/source/a/procps/procps.nowarning.diff deleted file mode 100644 index bd4b1466..00000000 --- a/source/a/procps/procps.nowarning.diff +++ /dev/null @@ -1,25 +0,0 @@ ---- ./ps/parser.c.orig 2004-08-09 17:41:10.000000000 -0700 -+++ ./ps/parser.c 2004-08-16 18:30:09.000000000 -0700 -@@ -1213,12 +1213,20 @@ - // about "ps -aux" suddenly changing behavior if a user "x" were - // added to the system. - // -+ // Yes, this is still getting patched out here. IMO, people can change -+ // old habits if and when user 'x' comes along. I still find this warning -+ // to be a POLA violation. No offense... that's the beauty of open source. -+ // You've got your ideas about this, and I have mine, and we're allowed -+ // to disagree. Nothing in the UNIX or POSIX standards requires this (annoying) -+ // warning to be displayed, and we're not changing the actual behavior -+ // of ps in any way. I know of no other 'ps' that produces this message. -+ // - // Also, a "-x" option is coming. It's already there in fact, - // for some non-default personalities. So "ps -ax" will parse - // as SysV options... and you're screwed if you've been patching - // out the friendly warning. Cut-over is likely to be in 2005. -- if(!(personality & PER_FORCE_BSD)) -- fprintf(stderr, "Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html\n"); -+ // if(!(personality & PER_FORCE_BSD)) -+ // fprintf(stderr, "Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html\n"); - // Remember: contact albert@users.sf.net or procps-feedback@lists.sf.net - // if you should feel tempted. Be damn sure you understand all - // the issues. The same goes for other stuff too, BTW. Please ask. diff --git a/source/a/procps/procps.w.showfrom.diff b/source/a/procps/procps.w.showfrom.diff deleted file mode 100644 index 0b1c71a3..00000000 --- a/source/a/procps/procps.w.showfrom.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- ./w.c.orig 2002-12-21 05:30:33.000000000 -0800 -+++ ./w.c 2003-02-02 11:46:58.000000000 -0800 -@@ -33,6 +33,8 @@ - - typedef struct utmp utmp_t; - -+#define W_SHOWFROM 1 -+ - #ifdef W_SHOWFROM - # define FROM_STRING "on" - #else diff --git a/source/a/procps/slack-desc b/source/a/procps/slack-desc deleted file mode 100644 index 22cf9e0d..00000000 --- a/source/a/procps/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. Line -# up the first '|' above the ':' following the base package name, and the '|' -# on the right side marks the last column you can put a character in. You must -# make exactly 11 lines for the formatting to be correct. It's also -# customary to leave one space after the ':'. - - |-----handy-ruler------------------------------------------------------| -procps: procps (utilities for displaying process information) -procps: -procps: The procps package provides the classic set of utilities used to -procps: display information about the processes currently running on the -procps: machine. -procps: -procps: -procps: -procps: -procps: -procps: diff --git a/source/a/quota/quota.SlackBuild b/source/a/quota/quota.SlackBuild index 67717b11..877350d6 100755 --- a/source/a/quota/quota.SlackBuild +++ b/source/a/quota/quota.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -21,97 +21,146 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=3.17 +PKGNAM=quota +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 - case "$( uname -m )" in - i?86) export ARCH=i486 ;; - arm*) export ARCH=arm ;; + case "$(uname -m)" in + i?86) ARCH=i586 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; # Unless $ARCH is already set, use uname -m for all other archs: - *) export ARCH=$( uname -m ) ;; + *) ARCH=$(uname -m) ;; esac + export ARCH +fi + +NUMJOBS=${NUMJOBS:-" -j7 "} + +if [ "$ARCH" = "i386" ]; then + SLKCFLAGS="-O2 -march=i386 -mcpu=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i486" ]; then + SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16" + LIBDIRSUFFIX="" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" fi CWD=$(pwd) TMP=${TMP:-/tmp} -PKG=$TMP/package-quota +PKG=$TMP/package-$PKGNAM rm -rf $PKG mkdir -p $TMP $PKG cd $TMP -rm -rf quota-tools -tar xvf $CWD/quota-$VERSION.tar.?z* -cd quota-tools +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1 +cd $PKGNAM-$VERSION + +zcat $CWD/quota.lwrap.needs.lnsl.diff.gz | patch -p1 --verbose || exit 1 + +autoreconf -vif + chown -R root:root . -find . -perm 2755 -exec chmod 755 {} \; +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Configure: +CFLAGS="$SLKCFLAGS" \ ./configure \ - --prefix=/usr \ - $ARCH-slackware-linux -make -make mo + --prefix=/usr \ + --sysconfdir=/etc \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --infodir=/usr/info \ + --disable-static \ + --build=$ARCH-slackware-linux + +# Build and install: +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Install config files as samples: +( cd $PKG/etc + for file in quotagrpadmins quotatab warnquota.conf ; do + mv ${file} ${file}-sample + done +) + +# Move these to /sbin in case /usr is not mounted when they are needed at boot: mkdir -p $PKG/sbin -cat convertquota > $PKG/sbin/convertquota -cat quotacheck > $PKG/sbin/quotacheck -cat quotaon > $PKG/sbin/quotaon -( cd $PKG/sbin ; ln -sf quotaon quotaoff ) -chmod 755 $PKG/sbin/* -mkdir -p $PKG/usr/sbin -for file in edquota repquota warnquota quotastats setquota quot xqmstats rpc.rquotad ; do - cat $file > $PKG/usr/sbin/$file -done -chmod 755 $PKG/usr/sbin/* -mkdir -p $PKG/usr/bin -cat quota > $PKG/usr/bin/quota -chmod 755 $PKG/usr/bin/quota -mkdir -p $PKG/usr/include/rpcsvc -cat rquota.h > $PKG/usr/include/rpcsvc/rquota.h -cat rquota.x > $PKG/usr/include/rpcsvc/rquota.x -mkdir -p $PKG/etc -cat warnquota.conf > $PKG/etc/warnquota.conf-sample -cat quotatab > $PKG/etc/quotatab-sample -cat quotagrpadmins > $PKG/etc/quotagrpadmins-sample -mkdir -p $PKG/usr/man/man{1,2,3,8} -for page in *.1 ; do - cat $page | gzip -9c > $PKG/usr/man/man1/$page.gz -done -for page in *.2 ; do - cat $page | gzip -9c > $PKG/usr/man/man2/$page.gz -done -for page in *.3 ; do - cat $page | gzip -9c > $PKG/usr/man/man3/$page.gz -done -for page in *.8 ; do - cat $page | gzip -9c > $PKG/usr/man/man8/$page.gz -done -mkdir -p $PKG/usr/share/locale/pl/LC_MESSAGES -cat po/pl.mo > $PKG/usr/share/locale/pl/LC_MESSAGES/quota.mo -mkdir -p $PKG/usr/doc/quota-$VERSION -cp -a Changelog README* $PKG/usr/doc/quota-$VERSION -( cd doc - sgml2txt quotadoc.sgml - sgml2html -s 0 quotadoc.sgml - if [ ! -r quotadoc.html ]; then - echo "WARNING: no quotadoc.html generated" - sleep 100 - fi - cp quotadoc*txt quotadoc*html $PKG/usr/doc/quota-$VERSION/ ) -find $PKG/usr/doc/quota-$VERSION -name CVS -type d | xargs rm -rf +( cd $PKG/usr/sbin + for file in convertquota quotacheck quotaon quotaoff ; do + mv $file ../../sbin + ln -sf ../../sbin/$file . + done +) + +# Strip binaries: ( cd $PKG find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null ) + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1 | grep -v '\.gz$') ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + +# Get rid of existing docs directory: +rm -rf $PKG/usr/share/doc + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION +cp -a \ + AUTHORS COPYING* NEWS README* THANKS TODO \ + doc/quotas.preformated \ + $PKG/usr/doc/${PKGNAM}-$VERSION + +# If there's a ChangeLog, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r ChangeLog ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog +fi + + mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc -# Build the package: cd $PKG -makepkg -l y -c n $TMP/quota-$VERSION-$ARCH-$BUILD.txz +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz -# Clean up the extra stuff: -if [ "$1" = "--cleanup" ]; then - rm -rf $TMP/quota - rm -rf $PKG -fi diff --git a/source/a/quota/quota.lwrap.needs.lnsl.diff b/source/a/quota/quota.lwrap.needs.lnsl.diff new file mode 100644 index 00000000..eaaecf28 --- /dev/null +++ b/source/a/quota/quota.lwrap.needs.lnsl.diff @@ -0,0 +1,11 @@ +--- ./configure.ac.orig 2015-12-18 08:00:34.000000000 -0600 ++++ ./configure.ac 2015-12-27 18:44:30.768289611 -0600 +@@ -167,7 +167,7 @@ + ]) + ]) + AS_IF([test "x$build_libwrap" != "xno"], [ +- WRAP_LIBS="-lwrap" ++ WRAP_LIBS="-lwrap -lnsl" + AC_DEFINE([HOSTS_ACCESS], 1, [Use hosts.allow and hosts.deny for access checking of rpc.rquotad]) + COMPILE_OPTS="$COMPILE_OPTS HOSTS_ACCESS" + ]) diff --git a/source/a/quota/slack-desc b/source/a/quota/slack-desc index dd07ea43..598f1734 100644 --- a/source/a/quota/slack-desc +++ b/source/a/quota/slack-desc @@ -16,4 +16,4 @@ quota: Edvard Tuinder and Marco van Wieringen ported this code to Linux. quota: Jan Kara added support for the new Linux quota format and the XFS quota: filesystem. quota: -quota: +quota: Homepage: http://sourceforge.net/projects/linuxquota/ diff --git a/source/a/reiserfsprogs/reiserfsprogs.SlackBuild b/source/a/reiserfsprogs/reiserfsprogs.SlackBuild index 83467e32..71c2b92d 100755 --- a/source/a/reiserfsprogs/reiserfsprogs.SlackBuild +++ b/source/a/reiserfsprogs/reiserfsprogs.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009, 2010, 2015 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -20,7 +20,8 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=${VERSION:-3.6.23} +PKGNAM=reiserfsprogs +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: @@ -51,9 +52,9 @@ rm -rf $PKG mkdir -p $TMP $PKG cd $TMP -rm -rf reiserfsprogs-$VERSION -tar xvf $CWD/reiserfsprogs-$VERSION.tar.?z* || exit 1 -cd reiserfsprogs-$VERSION || exit 1 +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1 +cd $PKGNAM-$VERSION || exit 1 chown -R root:root . find . \ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ @@ -100,15 +101,15 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done ) -mkdir -p $PKG/usr/doc/reiserfsprogs-$VERSION +mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION cp -a \ AUTHORS COPYING* CREDITS INSTALL NEWS README* \ - $PKG/usr/doc/reiserfsprogs-$VERSION -chmod 644 $PKG/usr/doc/reiserfsprogs-$VERSION/* + $PKG/usr/doc/$PKGNAM-$VERSION +chmod 644 $PKG/usr/doc/$PKGNAM-$VERSION/* mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cd $PKG -/sbin/makepkg -l y -c n $TMP/reiserfsprogs-$VERSION-$ARCH-$BUILD.txz +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/source/a/sdparm/sdparm.SlackBuild b/source/a/sdparm/sdparm.SlackBuild index c0d155ef..5074a2fa 100755 --- a/source/a/sdparm/sdparm.SlackBuild +++ b/source/a/sdparm/sdparm.SlackBuild @@ -30,7 +30,7 @@ NUMJOBS=${NUMJOBS:-"-j6"} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -41,8 +41,8 @@ CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-${PKGNAM} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" elif [ "$ARCH" = "x86_64" ]; then @@ -56,7 +56,7 @@ mkdir -p $TMP $PKG cd $TMP rm -rf ${PKGNAM}-${VERSION} tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1 -cd ${PKGNAM}-$VERSION +cd ${PKGNAM}-$VERSION || exit 1 # Make sure ownerships and permissions are sane: chown -R root:root . diff --git a/source/a/shadow/patches/unused/r3299.diff b/source/a/shadow/patches/unused/r3299.diff deleted file mode 100644 index a46b18f0..00000000 --- a/source/a/shadow/patches/unused/r3299.diff +++ /dev/null @@ -1,12 +0,0 @@ -Index: man/ru/Makefile.am -=================================================================== ---- man/ru/Makefile.am (revision 3298) -+++ man/ru/Makefile.am (revision 3299) -@@ -1,7 +1,6 @@ - mandir = @mandir@/ru - - man_MANS = \ -- $(man_nopam) \ - chage.1 \ - chfn.1 \ - chgpasswd.8 \ diff --git a/source/a/shadow/shadow.CVE-2005-4890.relax.diff b/source/a/shadow/shadow.CVE-2005-4890.relax.diff new file mode 100644 index 00000000..98425e16 --- /dev/null +++ b/source/a/shadow/shadow.CVE-2005-4890.relax.diff @@ -0,0 +1,35 @@ +From 0f6a809b7c4c9a8f4adb5b25808dd68000e17aa2 Mon Sep 17 00:00:00 2001 +From: mancha <mancha1@hush.com> +Date: Wed, 04 Dec 2013 +Subject: restrict "su -c" only when callee is not root + +Shadow 4.1.5 addressed a tty-hijacking vulnerability in "su -c" +(CVE-2005-4890) by detaching the controlling terminal in the non-PAM +case via a TIOCNOTTY request. + +Bi-directional protection is excessive and breaks a commonly-used +methods for privilege escalation on non-PAM systems (e.g. xterm -e +/bin/su -s /bin/bash -c /bin/bash myscript). + +This patch relaxes the restriction and only detaches the controlling +tty when the callee is not root (which is, after all, the threat vector). + +--- + src/su.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/src/su.c ++++ b/src/su.c +@@ -1076,10 +1076,10 @@ int main (int argc, char **argv) + + set_environment (pw); + +- if (!doshell) { ++ if (!doshell && pw->pw_uid != 0) { + /* There is no need for a controlling terminal. + * This avoids the callee to inject commands on +- * the caller's tty. */ ++ * the caller's tty when the callee is not root. */ + int err = -1; + + #ifdef USE_PAM diff --git a/source/a/shadow/shadow.SlackBuild b/source/a/shadow/shadow.SlackBuild index 8194930d..633d3851 100755 --- a/source/a/shadow/shadow.SlackBuild +++ b/source/a/shadow/shadow.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2005-2014 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -21,8 +21,8 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PKGNAM=shadow -VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | 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 @@ -54,7 +54,7 @@ rm -rf $PKG mkdir -p $TMP $PKG cd $TMP rm -rf shadow-$VERSION -tar xvf $CWD/shadow-$VERSION.tar.?z* || exit 1 +tar xvf $CWD/shadow-$VERSION.tar.xz || exit 1 cd shadow-$VERSION # Apply some patches taken from the svn trunk that @@ -63,8 +63,11 @@ for patch in $CWD/patches/*.diff.gz ; do zcat $patch | patch -p0 --verbose || exit 1 done -# Patch to handle newer crypt() that may return NULL: -zcat $CWD/shadow.glibc217-crypt.diff.gz | patch -p1 --verbose || exit 1 +# Relax the restrictions on "su -c" when it is used to become root. +# It's not likely that root is going to try to inject commands back into +# the user's shell to hack it, and the unnecessary restriction is causing +# breakage: +zcat $CWD/shadow.CVE-2005-4890.relax.diff.gz | patch -p1 --verbose || exit 1 # Re-run automake because of r3299 patch to man/ru/Makefile.am: # (not used because it doesn't work... above patch does the intended fix) @@ -83,6 +86,7 @@ CFLAGS="$SLKCFLAGS" \ --sysconfdir=/etc \ --mandir=/usr/man \ --docdir=/usr/doc/shadow-$VERSION \ + --enable-subordinate-ids \ --disable-shared \ --without-libcrack \ --build=$ARCH-slackware-linux diff --git a/source/a/shadow/shadow.glibc217-crypt.diff b/source/a/shadow/shadow.glibc217-crypt.diff deleted file mode 100644 index e26ca10b..00000000 --- a/source/a/shadow/shadow.glibc217-crypt.diff +++ /dev/null @@ -1,258 +0,0 @@ -From a616a72160c17fa193ad6ad95eb2c869633f4fe9 Mon Sep 17 00:00:00 2001 -From: mancha <mancha1@hush.com> -Date: Fri, 4 Oct 2013 11:25:43 -Subject: [PATCH] Improve handling of NULL returns from crypt(). - -Signed-off-by: mancha <mancha1@hush.com> ---- - ChangeLog | 15 +++++++++++++++ - lib/encrypt.c | 7 +++---- - lib/pwauth.c | 7 ++++++- - libmisc/valid.c | 1 + - src/chgpasswd.c | 4 ++++ - src/chpasswd.c | 4 ++++ - src/gpasswd.c | 4 ++++ - src/newgrp.c | 3 ++- - src/newusers.c | 26 +++++++++++++++++++++----- - src/passwd.c | 15 +++++++++++++++ - 10 files changed, 75 insertions(+), 11 deletions(-) - -diff --git a/ChangeLog b/ChangeLog -index aab00ae..1416a38 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,3 +1,18 @@ -+2013-05-06 mancha <mancha1@hush.com> -+ -+ * lib/encrypt.c: crypt() in glibc/eglibc 2.17 now fails if passed -+ a salt that violates specs. On Linux, crypt() also fails with -+ DES/MD5 salts in FIPS140 mode. Rather than exit() on NULL returns -+ we send them back to the caller for appropriate handling. -+ * lib/pwauth.c: Handle NULL return from crypt(). -+ * libmisc/valid.c: Likewise. -+ * src/chgpasswd.c: Likewise. -+ * src/chpasswd.c: Likewise. -+ * src/gpasswd.c: Likewise. -+ * src/newgrp.c: Likewise. -+ * src/newusers.c: Likewise. -+ * src/passwd.c: Likewise. -+ - 2012-05-25 Nicolas François <nicolas.francois@centraliens.net> - - * NEWS: Set release date. -diff --git a/lib/encrypt.c b/lib/encrypt.c -index 7daa8da..49cb691 100644 ---- a/lib/encrypt.c -+++ b/lib/encrypt.c -@@ -49,11 +49,10 @@ - if (!cp) { - /* - * Single Unix Spec: crypt() may return a null pointer, -- * and set errno to indicate an error. The caller doesn't -- * expect us to return NULL, so... -+ * and set errno to indicate an error. In this case return -+ * the NULL so the caller can handle appropriately. - */ -- perror ("crypt"); -- exit (EXIT_FAILURE); -+ return cp; - } - - /* The GNU crypt does not return NULL if the algorithm is not -diff --git a/lib/pwauth.c b/lib/pwauth.c -index 4b26daa..086a72e 100644 ---- a/lib/pwauth.c -+++ b/lib/pwauth.c -@@ -73,6 +73,7 @@ int pw_auth (const char *cipher, - char prompt[1024]; - char *clear = NULL; - const char *cp; -+ const char *encrypted; - int retval; - - #ifdef SKEY -@@ -177,7 +178,11 @@ int pw_auth (const char *cipher, - * the results there as well. - */ - -- retval = strcmp (pw_encrypt (input, cipher), cipher); -+ encrypted = pw_encrypt (input, cipher); -+ if (encrypted!=NULL) -+ retval = strcmp (encrypted, cipher); -+ else -+ retval = -1; - - #ifdef SKEY - /* -diff --git a/libmisc/valid.c b/libmisc/valid.c -index aa0390a..4b85d67 100644 ---- a/libmisc/valid.c -+++ b/libmisc/valid.c -@@ -95,6 +95,7 @@ bool valid (const char *password, const struct passwd *ent) - */ - - if ( (NULL != ent->pw_name) -+ && (NULL != encrypted) - && (strcmp (encrypted, ent->pw_passwd) == 0)) { - return true; - } else { -diff --git a/src/chgpasswd.c b/src/chgpasswd.c -index 0f41d0b..6c42a09 100644 ---- a/src/chgpasswd.c -+++ b/src/chgpasswd.c -@@ -469,6 +469,10 @@ int main (int argc, char **argv) - #endif - cp = pw_encrypt (newpwd, - crypt_make_salt (crypt_method, arg)); -+ if (cp == NULL) { -+ perror ("crypt"); -+ exit (EXIT_FAILURE); -+ } - } - - /* -diff --git a/src/chpasswd.c b/src/chpasswd.c -index 928e2d7..4968b0d 100644 ---- a/src/chpasswd.c -+++ b/src/chpasswd.c -@@ -492,6 +492,10 @@ int main (int argc, char **argv) - #endif - cp = pw_encrypt (newpwd, - crypt_make_salt(crypt_method, arg)); -+ if (cp == NULL) { -+ perror ("crypt"); -+ exit (EXIT_FAILURE); -+ } - } - - /* -diff --git a/src/gpasswd.c b/src/gpasswd.c -index df8d714..0043610 100644 ---- a/src/gpasswd.c -+++ b/src/gpasswd.c -@@ -939,6 +939,10 @@ static void change_passwd (struct group *gr) - } - - cp = pw_encrypt (pass, crypt_make_salt (NULL, NULL)); -+ if (cp==NULL) { -+ perror ("crypt"); -+ exit (EXIT_FAILURE); -+ } - memzero (pass, sizeof pass); - #ifdef SHADOWGRP - if (is_shadowgrp) { -diff --git a/src/newgrp.c b/src/newgrp.c -index 9330c72..6b87761 100644 ---- a/src/newgrp.c -+++ b/src/newgrp.c -@@ -184,7 +184,8 @@ static void check_perms (const struct group *grp, - cpasswd = pw_encrypt (cp, grp->gr_passwd); - strzero (cp); - -- if (grp->gr_passwd[0] == '\0' || -+ if (cpasswd == NULL || -+ grp->gr_passwd[0] == '\0' || - strcmp (cpasswd, grp->gr_passwd) != 0) { - #ifdef WITH_AUDIT - snprintf (audit_buf, sizeof(audit_buf), -diff --git a/src/newusers.c b/src/newusers.c -index 994898e..5f83a6a 100644 ---- a/src/newusers.c -+++ b/src/newusers.c -@@ -387,6 +387,7 @@ static int add_user (const char *name, uid_t uid, gid_t gid) - static void update_passwd (struct passwd *pwd, const char *password) - { - void *crypt_arg = NULL; -+ char *cp; - if (crypt_method != NULL) { - #ifdef USE_SHA_CRYPT - if (sflg) { -@@ -398,9 +399,13 @@ static void update_passwd (struct passwd *pwd, const char *password) - if ((crypt_method != NULL) && (0 == strcmp(crypt_method, "NONE"))) { - pwd->pw_passwd = (char *)password; - } else { -- pwd->pw_passwd = pw_encrypt (password, -- crypt_make_salt (crypt_method, -- crypt_arg)); -+ cp=pw_encrypt (password, crypt_make_salt (crypt_method, -+ crypt_arg)); -+ if (cp == NULL) { -+ perror ("crypt"); -+ exit (EXIT_FAILURE); -+ } -+ pwd->pw_passwd = cp; - } - } - #endif /* !USE_PAM */ -@@ -412,6 +417,7 @@ static int add_passwd (struct passwd *pwd, const char *password) - { - const struct spwd *sp; - struct spwd spent; -+ char *cp; - - #ifndef USE_PAM - void *crypt_arg = NULL; -@@ -448,7 +454,12 @@ static int add_passwd (struct passwd *pwd, const char *password) - } else { - const char *salt = crypt_make_salt (crypt_method, - crypt_arg); -- spent.sp_pwdp = pw_encrypt (password, salt); -+ cp = pw_encrypt (password, salt); -+ if (cp == NULL) { -+ perror ("crypt"); -+ exit (EXIT_FAILURE); -+ } -+ spent.sp_pwdp = cp; - } - spent.sp_lstchg = (long) time ((time_t *) 0) / SCALE; - if (0 == spent.sp_lstchg) { -@@ -492,7 +503,12 @@ static int add_passwd (struct passwd *pwd, const char *password) - spent.sp_pwdp = (char *)password; - } else { - const char *salt = crypt_make_salt (crypt_method, crypt_arg); -- spent.sp_pwdp = pw_encrypt (password, salt); -+ cp = pw_encrypt (password, salt); -+ if (cp == NULL) { -+ perror ("crypt"); -+ exit (EXIT_FAILURE); -+ } -+ spent.sp_pwdp = cp; - } - #else - /* -diff --git a/src/passwd.c b/src/passwd.c -index ac90aa3..ae26666 100644 ---- a/src/passwd.c -+++ b/src/passwd.c -@@ -242,6 +242,17 @@ static int new_password (const struct pa - } - - cipher = pw_encrypt (clear, crypt_passwd); -+ if (cipher == NULL) { -+ strzero (clear); -+ (void) fprintf (stderr, -+ _("Failed to crypt password for %s.\n"), -+ pw->pw_name); -+ SYSLOG ((LOG_INFO, -+ "failed to crypt password for %s", -+ pw->pw_name)); -+ return -1; -+ } -+ - if (strcmp (cipher, crypt_passwd) != 0) { - strzero (clear); - strzero (cipher); -@@ -349,6 +360,10 @@ static int new_password (const struct pa - * Encrypt the password, then wipe the cleartext password. - */ - cp = pw_encrypt (pass, crypt_make_salt (NULL, NULL)); -+ if (cp == NULL) { -+ perror ("crypt"); -+ exit (EXIT_FAILURE); -+ } - memzero (pass, sizeof pass); - - #ifdef HAVE_LIBCRACK_HIST --- -1.7.11.4 - diff --git a/source/a/shadow/shadow.url b/source/a/shadow/shadow.url index b18864a8..5e378411 100644 --- a/source/a/shadow/shadow.url +++ b/source/a/shadow/shadow.url @@ -1 +1 @@ -ftp://pkg-shadow.alioth.debian.org/pub/pkg-shadow +http://pkg-shadow.alioth.debian.org/releases/ diff --git a/source/a/sharutils/sharutils.SlackBuild b/source/a/sharutils/sharutils.SlackBuild index cc4b5b13..3e1f59ff 100755 --- a/source/a/sharutils/sharutils.SlackBuild +++ b/source/a/sharutils/sharutils.SlackBuild @@ -28,7 +28,7 @@ BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -39,8 +39,8 @@ CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-sharutils -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" diff --git a/source/a/smartmontools/slack-desc b/source/a/smartmontools/slack-desc index ce462947..842caec4 100644 --- a/source/a/smartmontools/slack-desc +++ b/source/a/smartmontools/slack-desc @@ -9,11 +9,11 @@ smartmontools: smartmontools (hard drive monitoring utilities) smartmontools: smartmontools: SMARTMONTOOLS contains utilities that control and monitor storage -smartmontools: devices using the Self-Monitoring, Analysis and Reporting Technology +smartmontools: devices using the Self-Monitoring, Analysis, and Reporting Technology smartmontools: (S.M.A.R.T.) system build into ATA and SCSI Hard Drives. This is used smartmontools: to check the reliability of the hard drive and to predict drive -smartmontools: failures. SMARTMONTOOLS Version 5.x is designed to comply to the -smartmontools: ATA/ATAPI-5 specification (Revision 1). Future releases of -smartmontools: SMARTMONTOOLS (Versions 6.x and 7.x) will comply with the ATA/ATAPI-6 -smartmontools: and ATA/ATAPI-7 specifications. +smartmontools: failures. +smartmontools: +smartmontools: +smartmontools: smartmontools: diff --git a/source/a/smartmontools/smartmontools.SlackBuild b/source/a/smartmontools/smartmontools.SlackBuild index 1113e40a..f962f2bb 100755 --- a/source/a/smartmontools/smartmontools.SlackBuild +++ b/source/a/smartmontools/smartmontools.SlackBuild @@ -27,7 +27,7 @@ BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -82,15 +82,18 @@ cat $CWD/slack-desc > $PKG/install/slack-desc # These have already been copyed, but it is nice to keep the original # timestamps if possible, so we will copy over: cp -a \ - AUTHORS CHANGELOG COPYING* INSTALL NEWS README* TODO WARNINGS \ + AUTHORS ChangeLog COPYING* INSTALL NEWS README* TODO WARNINGS \ $PKG/usr/doc/smartmontools-$VERSION -# If there's a CHANGELOG, installing at least part of the recent history +# Nope. +rm -f $PKG/usr/doc/smartmontools-$VERSION/ChangeLog-5.0-6.0 + +# If there's a ChangeLog, installing at least part of the recent history # is useful, but don't let it get totally out of control: -if [ -r CHANGELOG ]; then +if [ -r ChangeLog ]; then DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION) - cat CHANGELOG | head -n 1000 > $DOCSDIR/CHANGELOG - touch -r CHANGELOG $DOCSDIR/CHANGELOG + cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog + touch -r ChangeLog $DOCSDIR/ChangeLog fi # Build the package: diff --git a/source/a/sysklogd/config/rc.syslog.new b/source/a/sysklogd/config/rc.syslog.new index 46208fab..f2b51d5e 100644 --- a/source/a/sysklogd/config/rc.syslog.new +++ b/source/a/sysklogd/config/rc.syslog.new @@ -3,11 +3,21 @@ # # Written for Slackware Linux by Patrick J. Volkerding <volkerdi@slackware.com>. +# Uncomment the following line to use the -c option to syslogd. This will +# disable suppressing repeated messages, which may be useful with tools that +# parse the logs, such as fail2ban: +#SYSLOGD_OPTIONS="-c " + +# Options for klogd: +# '-c 3' = display level 'error' or higher messages on console +# '-x' = turn off broken EIP translation +KLOGD_OPTIONS="-c 3 -x" + syslogd_start() { if [ -x /usr/sbin/syslogd -a -x /usr/sbin/klogd ]; then echo -n "Starting sysklogd daemons: " - echo -n "/usr/sbin/syslogd " - /usr/sbin/syslogd + echo -n "/usr/sbin/syslogd ${SYSLOGD_OPTIONS};" + /usr/sbin/syslogd $SYSLOGD_OPTIONS # prevent syslogd/klogd race condition on SMP kernels if ps acx | grep -q udevd ; then while [ ! -e /dev/log ] ; do @@ -16,10 +26,11 @@ syslogd_start() { else sleep 1 fi - echo "/usr/sbin/klogd -c 3 -x" - # '-c 3' = display level 'error' or higher messages on console - # '-x' = turn off broken EIP translation - /usr/sbin/klogd -c 3 -x + # Run klogd, unless we are in a container: + if [ -z $container ]; then + echo " /usr/sbin/klogd $KLOGD_OPTIONS" + /usr/sbin/klogd $KLOGD_OPTIONS + fi fi } diff --git a/source/a/sysklogd/sysklogd.SlackBuild b/source/a/sysklogd/sysklogd.SlackBuild index 8ff3de9d..b4b83f86 100755 --- a/source/a/sysklogd/sysklogd.SlackBuild +++ b/source/a/sysklogd/sysklogd.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2005-2016 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -21,12 +21,12 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=1.5 +VERSION=1.5.1 BUILD=${BUILD:-2} if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; *) export ARCH=$( uname -m ) ;; esac @@ -54,6 +54,9 @@ find . \ # Use memmove() instead of strcpy() in syslogd.c zcat $CWD/use_memmove_not_strcpy.diff.gz | patch -p1 --verbose || exit 1 +# Allow -c option to log all (even repeated) messages: +zcat $CWD/sysklogd.allow.repeated.messages.diff.gz | patch -p1 --verbose || exit 1 + make all syslog_tst $NUMJOBS || make || exit 1 mkdir -p $PKG/usr/sbin diff --git a/source/a/sysklogd/sysklogd.allow.repeated.messages.diff b/source/a/sysklogd/sysklogd.allow.repeated.messages.diff new file mode 100644 index 00000000..41e6bf15 --- /dev/null +++ b/source/a/sysklogd/sysklogd.allow.repeated.messages.diff @@ -0,0 +1,69 @@ +--- ./syslogd.c.orig 2014-10-04 14:47:18.000000000 -0500 ++++ ./syslogd.c 2016-06-29 01:46:39.355541929 -0500 +@@ -776,6 +776,7 @@ + }; + + int Debug; /* debug flag */ ++int Compress = 1; /* compress repeated messages flag */ + char LocalHostName[MAXHOSTNAMELEN+1]; /* our hostname */ + char *LocalDomain; /* our local domain name */ + char *emptystring = ""; +@@ -888,7 +889,7 @@ + funix[i] = -1; + } + +- while ((ch = getopt(argc, argv, "a:dhf:l:m:np:rs:v")) != EOF) ++ while ((ch = getopt(argc, argv, "a:cdhf:l:m:np:rs:v")) != EOF) + switch((char)ch) { + case 'a': + if (nfunix < MAXFUNIX) +@@ -896,6 +897,9 @@ + else + fprintf(stderr, "Out of descriptors, ignoring %s\n", optarg); + break; ++ case 'c': /* don't compress repeated messages */ ++ Compress = 0; ++ break; + case 'd': /* debug */ + Debug = 1; + break; +@@ -1240,7 +1244,7 @@ + + int usage() + { +- fprintf(stderr, "usage: syslogd [-drvh] [-l hostlist] [-m markinterval] [-n] [-p path]\n" \ ++ fprintf(stderr, "usage: syslogd [-cdrvh] [-l hostlist] [-m markinterval] [-n] [-p path]\n" \ + " [-s domainlist] [-f conffile]\n"); + exit(1); + } +@@ -1703,7 +1707,7 @@ + /* + * suppress duplicate lines to this file + */ +- if ((flags & MARK) == 0 && msglen == f->f_prevlen && ++ if (Compress && (flags & MARK) == 0 && msglen == f->f_prevlen && + !strcmp(msg, f->f_prevline) && + !strcmp(from, f->f_prevhost)) { + (void) strncpy(f->f_lasttime, timestamp, 15); +--- ./sysklogd.8.orig 2014-10-04 14:47:18.000000000 -0500 ++++ ./sysklogd.8 2016-06-29 01:59:45.311525189 -0500 +@@ -10,6 +10,7 @@ + .RB [ " \-a " + .I socket + ] ++.RB [ " \-c " ] + .RB [ " \-d " ] + .RB [ " \-f " + .I config file +@@ -83,6 +84,11 @@ + described by the people from OpenBSD at + <http://www.guides.sk/psionic/dns/>. + .TP ++.B "\-c" ++Disable the repeating line compression that normally suppresses the ++repeated lines and logs a message such as 'last message repeated 124 ++times'. With this option, all repeated lines will be logged. ++.TP + .B "\-d" + Turns on debug mode. Using this the daemon will not proceed a + .BR fork (2) diff --git a/source/a/syslinux/syslinux-4.06.tar.sign b/source/a/syslinux/syslinux-4.06.tar.sign deleted file mode 100644 index 64496074..00000000 --- a/source/a/syslinux/syslinux-4.06.tar.sign +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v1.4.12 (GNU/Linux) - -iQIcBAABAgAGBQJQhnLhAAoJEC84WcCNIz1VmjsP/2hpcAmfvtC3fLqlHXs4z6sa -2Bk5sQryOEdxAiXPzzrt+vgoXHJC/Vc7nOD6Zroj1CZrCkaW69HzeKpCtUlOWv2s -bcj0ZUQQabBnTi3Pe2yDZeMdBfqOr1XE/0SLFqJfBfsmF9xfDVTrHJNKz9M/pPHY -/NKny4jhOV5y6wnBCn+8jE/LZAfORh1C4faVZ1m/kDUJcnLAqvop0hCde4PIIUZc -i9y8i1ZNXjghxtETxfBO7aqUt2rjndFd3kD9e0aGEfIZ/wMeQFlj5wsOjPEZFyBe -rnAA7UVZcaNFc/J15FPlyFKIn8Lel8tvC4FjoX0zWA1/kSKY5AkjHnqzIZudWAHv -ayq9wAAWzJUeBLsCSqruA2OYUdwFkL3kPURGB2rYM0O9LkijIJkqLoxRsnmA+lqd -G78QTrcszsvkxXSn3xVxejtMv6DdckRVeO0ahx7f3PROavdg3QXCy9uG28HVVyop -ABdSGMhgjdPXKhKpMHGzOx0XmUtvba+/4krqVTUeor2GnMe2gkXNh0lOjGoCJTTg -rd56fF0lBauk9wBwBoSx2z8wNzBxVpXeXsMicaB7M2AxhNYSVnDwzoEytsxCX4Ib -QNOJzxvPEqw8DIoKeR2EP8Tw1H/0DhsdMJyQXCgTPMnJjSVqY1OGrSj/p5Z7SWSF -iPKkqqj+N2GgNbbli07o -=5g4G ------END PGP SIGNATURE----- diff --git a/source/a/syslinux/syslinux-4.07.tar.sign b/source/a/syslinux/syslinux-4.07.tar.sign new file mode 100644 index 00000000..88609337 --- /dev/null +++ b/source/a/syslinux/syslinux-4.07.tar.sign @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.13 (GNU/Linux) + +iQIcBAABAgAGBQJR8PHBAAoJEC84WcCNIz1VYAUP/Rhz7Bwf2t1LubhXEJPwD8gQ +VIkxPHNoJxor33pGiK/ul0vKzRFAF4rJ6ALIMmPnCT9G+6zmskWbL6JaZpiF+usw +Qu9nrZRI92EhYWQSPoRWDjoR8sClv7lNrfMytCkZbeuEO4ju8hAAQtVaqQl1toKN +ZhoyfdlCB+JE8LI9zp7mr/B9GZeIpIJv5hva1ZNQY3BFU+kogtMBQuNo1UXy6oEU +d6h4FZw9K22gGeofmWhVsIIeFbDJNZ5FLlyGTidILmyAwnjyGpBewXN2ndM0aNY+ +M53xQDfpH1r9bemJae47ELXegMvlwbkxlzVN+OdXWDtfSG8e+WfqIm3HkxU4G9ot +bP3leHgBU1LB243QFtkaRTRusScsvvHoVi5ghK4eX+LW5+Qm9AU2zwFCpD8PNfcF +0+hFCP7RuVGCIIMUZypbbvcr4kQcPvbJB2A5TDoCNsmwZuXQtLrBXhk1NYeeniaQ +Lr4WbUzyQrhNPkqE7l5i6GrYs/LOL3QDGgMokwBtiqAae7LIfxuotEbVZGUwg8m8 +9G9ioxTOtVyQBvQapwXo6IVTz+1EBd0OangKfiXMQ0ZR4xF9NWrd8UBYLL7wK38/ +xZWThAvSQLP3bLXwNFV9NwuCLxZMrajELR8Z/r+AEpNTRwC99GVW5L+Vz+EmabDa +r4cJG2siSmGUQJ4NIDar +=fjgT +-----END PGP SIGNATURE----- diff --git a/source/a/syslinux/syslinux.SlackBuild b/source/a/syslinux/syslinux.SlackBuild index e879b991..e01d13b4 100755 --- a/source/a/syslinux/syslinux.SlackBuild +++ b/source/a/syslinux/syslinux.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2006, 2007, 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2006, 2007, 2008, 2009, 2010, 2012, 2016 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,13 +22,13 @@ PKGNAM=syslinux -VERSION=${VERSION:-4.06} +VERSION=${VERSION:-4.07} BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -49,16 +49,20 @@ cd ${PKGNAM}-$VERSION # Make sure ownerships and permissions are sane: chown -R root:root . find . \ - \( -perm 2777 -o -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + \( -perm 2777 -o -perm 2775 -o -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ -exec chmod 755 {} \; -o \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; +find . -type d -exec chmod u-s,g-s {} \; -# Build: -make -j4 || exit 1 +# Clean, then build only the installer programs using the supplied assembled +# ldlinux.asm: +# See: http://www.syslinux.org/wiki/index.php?title=Doc/distrib +make clean || exit 1 +make -j2 installer || exit 1 -# Without -i, the following fails trying to install w32 junk: -make -i install INSTALLROOT=/tmp/package-syslinux +# Install: +make install INSTALLROOT=/tmp/package-syslinux || exit 1 cp -a linux/syslinux-nomtools $PKG/usr/bin chmod 755 $PKG/usr/bin/* @@ -83,7 +87,7 @@ fi # Add a documentation directory: mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION/{cmenu,com32} cp -a \ - BUGS COPYING NEWS README* TODO \ + BUGS COPYING* NEWS README* TODO \ doc \ $PKG/usr/doc/${PKGNAM}-$VERSION cp -a com32/LICENCE $PKG/usr/doc/${PKGNAM}-$VERSION/com32 diff --git a/source/a/sysvinit-scripts/doinst.sh b/source/a/sysvinit-scripts/doinst.sh index 28fe719a..f6e94f5d 100644 --- a/source/a/sysvinit-scripts/doinst.sh +++ b/source/a/sysvinit-scripts/doinst.sh @@ -17,9 +17,12 @@ config etc/rc.d/rc.6.new config etc/rc.d/rc.K.new config etc/rc.d/rc.M.new config etc/rc.d/rc.S.new +config etc/rc.d/rc.cpufreq.new config etc/rc.d/rc.local.new config etc/rc.d/rc.loop.new config etc/rc.d/rc.sysvinit.new +config etc/rc.d/rc.modules.new +config etc/rc.d/rc.modules.local.new ( cd etc/rc.d ; rm -rf rc.0 ) ( cd etc/rc.d ; ln -sf rc.6 rc.0 ) diff --git a/source/a/sysvinit-scripts/scripts/rc.4 b/source/a/sysvinit-scripts/scripts/rc.4 index be8a9c74..3c65040d 100644 --- a/source/a/sysvinit-scripts/scripts/rc.4 +++ b/source/a/sysvinit-scripts/scripts/rc.4 @@ -32,6 +32,11 @@ elif [ -x /usr/bin/kdm ]; then exec /usr/bin/kdm -nodaemon fi +# Look for SDDM as well: +if [ -x /usr/bin/sddm ]; then + exec /usr/bin/sddm +fi + # If all you have is XDM, I guess it will have to do: if [ -x /usr/bin/xdm ]; then exec /usr/bin/xdm -nodaemon diff --git a/source/a/sysvinit-scripts/scripts/rc.6 b/source/a/sysvinit-scripts/scripts/rc.6 index 8288128c..76895aca 100644 --- a/source/a/sysvinit-scripts/scripts/rc.6 +++ b/source/a/sysvinit-scripts/scripts/rc.6 @@ -26,10 +26,10 @@ echo "Running shutdown script $0:" # Find out how we were called. case "$0" in *0) - command="halt" + shutdown_command="halt" ;; *6) - command=reboot + shutdown_command=reboot ;; *) echo "$0: call me as \"rc.0\" or \"rc.6\" please!" @@ -38,18 +38,32 @@ case "$0" in esac # Save the system time to the hardware clock using hwclock --systohc. +# This will also create or update the timestamps in /etc/adjtime. if [ -x /sbin/hwclock ]; then # Check for a broken motherboard RTC clock (where ioports for rtc are # unknown) to prevent hwclock causing a hang: - if ! grep -q -w rtc /proc/ioports ; then + if ! grep -q " : rtc" /proc/ioports ; then CLOCK_OPT="--directisa" fi - if grep -q "^UTC" /etc/hardwareclock 2> /dev/null ; then + if [ /etc/adjtime -nt /etc/hardwareclock ]; then + if grep -q "^LOCAL" /etc/adjtime ; then + echo "Saving system time to the hardware clock (localtime)." + else + echo "Saving system time to the hardware clock (UTC)." + fi + /sbin/hwclock $CLOCK_OPT --systohc + elif grep -q "^UTC" /etc/hardwareclock 2> /dev/null ; then echo "Saving system time to the hardware clock (UTC)." + if [ ! -r /etc/adjtime ]; then + echo "Creating system time correction file /etc/adjtime." + fi /sbin/hwclock $CLOCK_OPT --utc --systohc else echo "Saving system time to the hardware clock (localtime)." - /sbin/hwclock $CLOCK_OPT --localtime --systohc + if [ ! -r /etc/adjtime ]; then + echo "Creating system time correction file /etc/adjtime." + fi + /sbin/hwclock $CLOCK_OPT --localtime --systohc fi fi @@ -101,7 +115,7 @@ fi # Kill any processes (typically gam) that would otherwise prevent # unmounting NFS volumes: unset FUSER_DELAY -for dir in $(/bin/mount | grep 'type nfs' | cut -d ' ' -f 3 ) ; do +for dir in $(/bin/mount | grep 'type nfs ' | cut -d ' ' -f 3 ) ; do echo "Killing processes holding NFS mount $dir open..." # Background this to prevent fuser from also blocking shutdown: /usr/bin/fuser -k -m $dir & @@ -113,8 +127,8 @@ if [ ! -z "$FUSER_DELAY" ]; then fi # Unmount any NFS, SMB, or CIFS filesystems: -echo "Unmounting remote filesystems." -/bin/umount -v -a -l -f -r -t nfs,smbfs,cifs +echo "Unmounting remote filesystems:" +/bin/umount -v -a -l -f -r -t nfs,smbfs,cifs | tr -d ' ' | grep successfully | sed "s/:successfullyunmounted/ has been successfully unmounted./g" # Try to shut down pppd: PS="$(ps ax)" @@ -171,12 +185,13 @@ if [ -x /etc/rc.d/rc.udev ]; then fi # Kill all remaining processes. +OMITPIDS="$(for p in $(pgrep mdmon); do echo -o $p; done)" # Don't kill mdmon if [ ! "$1" = "fast" ]; then echo "Sending all processes the SIGTERM signal." - /sbin/killall5 -15 + /sbin/killall5 -15 $OMITPIDS /bin/sleep 5 echo "Sending all processes the SIGKILL signal." - /sbin/killall5 -9 + /sbin/killall5 -9 $OMITPIDS fi # Try to turn off quota. @@ -198,22 +213,22 @@ fi /bin/chmod 600 /etc/random-seed # Before unmounting file systems write a reboot or halt record to wtmp. -$command -w - -# Clear /var/lock/subsys. -if [ -d /var/lock/subsys ]; then - rm -f /var/lock/subsys/* -fi +$shutdown_command -w # Turn off swap: echo "Turning off swap." /sbin/swapoff -a /bin/sync -echo "Unmounting local file systems." -/bin/umount -v -a -t no,proc,sysfs +# Stop cgmanager and cgproxy: +if [ -x /etc/rc.d/rc.cgmanager ]; then + sh /etc/rc.d/rc.cgmanager stop +fi + +echo "Unmounting local file systems:" +/bin/umount -v -a -t no,proc,sysfs | tr -d ' ' | grep successfully | sed "s/:successfullyunmounted/ has been successfully unmounted./g" 2> /dev/null -echo "Remounting root filesystem read-only." +echo "Remounting root filesystem read-only:" /bin/mount -v -n -o remount,ro / # This never hurts: @@ -275,7 +290,7 @@ if [ -x /sbin/genpowerd ]; then fi # Now halt (poweroff with APM or ACPI enabled kernels) or reboot. -if [ "$command" = "reboot" ]; then +if [ "$shutdown_command" = "reboot" ]; then echo "Rebooting." /sbin/reboot else diff --git a/source/a/sysvinit-scripts/scripts/rc.K b/source/a/sysvinit-scripts/scripts/rc.K index 8fc63fdf..794c82ac 100644 --- a/source/a/sysvinit-scripts/scripts/rc.K +++ b/source/a/sysvinit-scripts/scripts/rc.K @@ -60,7 +60,7 @@ fi # Kill any processes (typically gam) that would otherwise prevent # unmounting NFS volumes: unset FUSER_DELAY -for dir in $(/bin/mount | grep 'type nfs' | cut -d ' ' -f 3 ) ; do +for dir in $(/bin/mount | grep 'type nfs ' | cut -d ' ' -f 3 ) ; do echo "Killing processes holding NFS mount $dir open..." # Background this to prevent fuser from also blocking shutdown: /usr/bin/fuser -k -m $dir & @@ -72,8 +72,8 @@ if [ ! -z "$FUSER_DELAY" ]; then fi # Unmount any NFS, SMB, or CIFS filesystems: -echo "Unmounting remote filesystems." -/bin/umount -v -a -l -f -r -t nfs,smbfs,cifs +echo "Unmounting remote filesystems:" +/bin/umount -v -a -l -f -r -t nfs,smbfs,cifs | tr -d ' ' | grep successfully | sed "s/:successfullyunmounted/ has been successfully unmounted./g" # Shut down PCMCIA devices: if [ -x /etc/rc.d/rc.pcmcia ] ; then @@ -88,9 +88,10 @@ if [ -x /etc/rc.d/rc.acpid -a -r /var/run/acpid.pid ]; then # quit fi # Kill all processes. +OMITPIDS="$(for p in $(pgrep mdmon); do echo -o $p; done)" # Don't kill mdmon echo echo "Sending all processes the SIGHUP signal." -killall5 -1 +killall5 -1 $OMITPIDS echo -n "Waiting for processes to hang up" for loop in 0 1 2 3 4 5 ; do sleep 1 @@ -98,7 +99,7 @@ for loop in 0 1 2 3 4 5 ; do done echo echo "Sending all processes the SIGTERM signal." -killall5 -15 +killall5 -15 $OMITPIDS echo -n "Waiting for processes to terminate" for loop in 0 1 2 3 4 5 ; do sleep 1 @@ -106,7 +107,7 @@ for loop in 0 1 2 3 4 5 ; do done echo echo "Sending all processes the SIGKILL signal." -killall5 -9 +killall5 -9 $OMITPIDS echo -n "Waiting for processes to exit" for loop in 0 1 2 3 4 5 ; do sleep 1 diff --git a/source/a/sysvinit-scripts/scripts/rc.M b/source/a/sysvinit-scripts/scripts/rc.M index d9b3fed3..1d480cac 100644 --- a/source/a/sysvinit-scripts/scripts/rc.M +++ b/source/a/sysvinit-scripts/scripts/rc.M @@ -99,9 +99,21 @@ if [ -x /etc/rc.d/rc.inet1 ]; then . /etc/rc.d/rc.inet1 fi -# Look for additional USB/SCSI/IEEE1394/etc devices on multiple LUNs: -if [ -x /etc/rc.d/rc.scanluns ]; then - . /etc/rc.d/rc.scanluns +# Start D-Bus: +if [ -x /etc/rc.d/rc.messagebus ]; then + sh /etc/rc.d/rc.messagebus start +fi + +# Start Bluetooth: +if [ -x /etc/rc.d/rc.bluetooth ]; then + sh /etc/rc.d/rc.bluetooth start +fi + +# Start wicd or networkmanager: +if [ -x /etc/rc.d/rc.wicd -a -x /usr/sbin/wicd ]; then + sh /etc/rc.d/rc.wicd start +elif [ -x /etc/rc.d/rc.networkmanager ]; then + sh /etc/rc.d/rc.networkmanager start fi # Start networking daemons: @@ -109,8 +121,13 @@ if [ -x /etc/rc.d/rc.inet2 ]; then . /etc/rc.d/rc.inet2 fi +# Look for additional USB/SCSI/IEEE1394/etc devices on multiple LUNs: +if [ -x /etc/rc.d/rc.scanluns ]; then + . /etc/rc.d/rc.scanluns +fi + # Mount any additional filesystem types that haven't already been mounted: -mount -a -v 2> /dev/null | grep -v "already mounted" +mount -a -v 2> /dev/null | grep -v -e "already mounted" -e "ignored" | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep "${dev} " ; done # Start the Control Script for automounter: if [ -x /etc/rc.d/rc.autofs ]; then @@ -136,19 +153,18 @@ fi chmod 755 / 2> /dev/null chmod 1777 /tmp /var/tmp -# Start APM or ACPI daemon. -# If APM is enabled in the kernel, start apmd: -if [ -e /proc/apm ]; then - if [ -x /usr/sbin/apmd ]; then - echo "Starting APM daemon: /usr/sbin/apmd" - /usr/sbin/apmd - fi -elif [ -x /etc/rc.d/rc.acpid ]; then # otherwise, start acpid: +# Start ACPI daemon. +if [ -x /etc/rc.d/rc.acpid ]; then . /etc/rc.d/rc.acpid start fi +# Enable CPU frequency scaling: +if [ -x /etc/rc.d/rc.cpufreq ]; then + . /etc/rc.d/rc.cpufreq start +fi + # Update any existing icon cache files: -if find /usr/share/icons 2> /dev/null | grep -q icon-theme.cache ; then +if find /usr/share/icons -maxdepth 2 2> /dev/null | grep -q icon-theme.cache ; then for theme_dir in /usr/share/icons/* ; do if [ -r ${theme_dir}/icon-theme.cache ]; then echo "Updating icon-theme.cache in ${theme_dir}..." @@ -169,11 +185,6 @@ if [ -x /usr/bin/update-mime-database -a -d /usr/share/mime ]; then /usr/bin/update-mime-database /usr/share/mime 1> /dev/null 2> /dev/null & fi -# Start D-Bus: -if [ -x /etc/rc.d/rc.messagebus ]; then - sh /etc/rc.d/rc.messagebus start -fi - # Start console-kit-daemon: if [ -x /etc/rc.d/rc.consolekit ]; then sh /etc/rc.d/rc.consolekit start @@ -184,31 +195,33 @@ if [ -x /etc/rc.d/rc.hald ]; then sh /etc/rc.d/rc.hald start fi -# Start Bluetooth: -if [ -x /etc/rc.d/rc.bluetooth ]; then - sh /etc/rc.d/rc.bluetooth start -fi - -# Start wicd or networkmanager: -if [ -x /etc/rc.d/rc.wicd -a -x /usr/sbin/wicd ]; then - sh /etc/rc.d/rc.wicd start -elif [ -x /etc/rc.d/rc.networkmanager ]; then - sh /etc/rc.d/rc.networkmanager start +# Start system-wide PulseAudio daemon (not recommended, nor required in +# order to use PulseAudio -- see the script for details): +if [ -x /etc/rc.d/rc.pulseaudio ]; then + . /etc/rc.d/rc.pulseaudio start fi # These GTK+/pango files need to be kept up to date for # proper input method, pixbuf loaders, and font support. if [ -x /usr/bin/update-gtk-immodules ]; then - /usr/bin/update-gtk-immodules --verbose + echo "Updating gtk.immodules:" + echo " /usr/bin/update-gtk-immodules &" + /usr/bin/update-gtk-immodules > /dev/null 2>&1 & fi if [ -x /usr/bin/update-gdk-pixbuf-loaders ]; then - /usr/bin/update-gdk-pixbuf-loaders --verbose + echo "Updating gdk-pixbuf.loaders:" + echo " /usr/bin/update-gdk-pixbuf-loaders &" + /usr/bin/update-gdk-pixbuf-loaders > /dev/null 2>&1 & fi if [ -x /usr/bin/update-pango-querymodules ]; then - /usr/bin/update-pango-querymodules --verbose + echo "Updating pango.modules:" + echo " /usr/bin/update-pango-querymodules &" + /usr/bin/update-pango-querymodules > /dev/null 2>&1 & fi if [ -x /usr/bin/glib-compile-schemas ]; then - /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas >/dev/null 2>&1 + echo "Compiling GSettings XML schema files:" + echo " /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas &" + /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas >/dev/null 2>&1 & fi # Start dnsmasq, a simple DHCP/DNS server: diff --git a/source/a/sysvinit-scripts/scripts/rc.S b/source/a/sysvinit-scripts/scripts/rc.S index 7b152e90..20064e55 100644 --- a/source/a/sysvinit-scripts/scripts/rc.S +++ b/source/a/sysvinit-scripts/scripts/rc.S @@ -32,14 +32,14 @@ if [ -x /etc/rc.d/rc.loop ]; then . /etc/rc.d/rc.loop start fi -# Initialize udev to manage /dev entries and hotplugging for 3.x kernels. +# Initialize udev to manage /dev entries and hotplugging. # You may turn off udev by making the /etc/rc.d/rc.udev file non-executable # or giving the "nohotplug" option at boot, but realize that if you turn off # udev that you will have to load all the kernel modules that you need -# yourself (possibly in /etc/rc.d/rc.modules, which does not promise to list -# all of them), and make any additional device nodes that you need in the -# /dev directory. Even USB and IEEE1394 devices will need to have the -# modules loaded by hand if udev is not used. So use it. :-) +# yourself (possibly in /etc/rc.d/rc.modules.local), and make any additional +# device nodes that you need in the /dev directory. Even USB and IEEE1394 +# devices will need to have the modules loaded by hand if udev is not used. +# So use it. :-) if grep -wq sysfs /proc/mounts && grep -q devtmpfs /proc/filesystems ; then if ! grep -wq nohotplug /proc/cmdline ; then if [ -x /etc/rc.d/rc.udev ]; then @@ -53,11 +53,11 @@ if grep -wq cgroup /proc/filesystems ; then if [ -d /sys/fs/cgroup ]; then # See linux-*/Documentation/cgroups/cgroups.txt (section 1.6) # Check if we have some tools to autodetect the available cgroup controllers - if [ -x /usr/bin/lssubsys -a -x /usr/bin/tr -a -x /usr/bin/sed ]; then + if [ -x /bin/cut -a -x /bin/tail ]; then # Mount a tmpfs as the cgroup filesystem root mount -t tmpfs -o mode=0755 cgroup_root /sys/fs/cgroup # Autodetect available controllers and mount them in subfolders - controllers="$(lssubsys -a 2>/dev/null | tr '\n' ' ' | sed s/.$//)" + controllers="$(/bin/cut -f 1 /proc/cgroups | /bin/tail -n +2)" for i in $controllers; do mkdir /sys/fs/cgroup/$i mount -t cgroup -o $i $i /sys/fs/cgroup/$i @@ -73,6 +73,7 @@ if grep -wq cgroup /proc/filesystems ; then fi fi + # Initialize the Logical Volume Manager. # This won't start unless we find /etc/lvmtab (LVM1) or # /etc/lvm/backup/ (LVM2). This is created by /sbin/vgscan, so to @@ -96,7 +97,36 @@ if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then fi fi -# Open any volumes created by cryptsetup: +# Open any volumes created by cryptsetup. +# +# Some notes on /etc/crypttab in Slackware: +# Only LUKS formatted volumes are supported (except for swap) +# crypttab follows the following format: +# <luks_name> <device> <password> <options> +# +# <luks_name>: This is the name of your LUKS volume. +# For example: crypt-home +# +# <device>: This is the device containing your LUKS volume. +# For example: /dev/sda2 +# +# <password>: This is either the volume password in plain text, or the name of +# a key file. Use 'none' to interactively enter password on boot. +# +# <options>: Comma-separated list of options. Note that there must be a +# password field for any options to be picked up (use a password of 'none' to +# get a password prompt at boot). The following options are supported: +# +# discard -- this will cause --allow-discards to be passed to the cryptsetup +# program while opening the LUKS volume. +# +# ro -- this will cause --readonly to be passed to the cryptsetup program while +# opening the LUKS volume. +# +# swap -- this option cannot be used with other options. The device given will +# be formatted as a new encrypted volume with a random key on boot, and used as +# swap. +# if [ -f /etc/crypttab -a -x /sbin/cryptsetup ]; then # First, check for device-mapper support. if ! grep -wq device-mapper /proc/devices ; then @@ -113,25 +143,31 @@ if [ -f /etc/crypttab -a -x /sbin/cryptsetup ]; then OPTS="${LUKSARRAY[3]}" LUKSOPTS="" if echo $OPTS | grep -wq ro ; then LUKSOPTS="${LUKSOPTS} --readonly" ; fi - + if echo $OPTS | grep -wq discard ; then LUKSOPTS="${LUKSOPTS} --allow-discards" ; fi # Skip LUKS volumes that were already unlocked (in the initrd): /sbin/cryptsetup status $LUKS 2>/dev/null | head -n 1 | grep -q "is active" && continue if /sbin/cryptsetup isLuks $DEV 2>/dev/null ; then - echo "Unlocking LUKS crypt volume '${LUKS}' on device '$DEV':" - if [ -n "${PASS}" ]; then - if [ -f ${PASS} ]; then + if [ -z "${LUKSOPTS}" ]; then + echo "Unlocking LUKS encrypted volume '${LUKS}' on device '$DEV':" + else + echo "Unlocking LUKS encrypted volume '${LUKS}' on device '$DEV' with options '${LUKSOPTS}':" + fi + if [ -n "${PASS}" -a "${PASS}" != "none" ]; then + if [ -f "${PASS}" ]; then + # A password was given a key-file filename /sbin/cryptsetup ${LUKSOPTS} --key-file=${PASS} luksOpen $DEV $LUKS - elif [ "${PASS}" != "none" ]; then - # A password field of 'none' indicates a line for swap: + else + # A password was provided in plain text echo "${PASS}" | /sbin/cryptsetup ${LUKSOPTS} luksOpen $DEV $LUKS fi else + # No password was given, or a password of 'none' was given /sbin/cryptsetup ${LUKSOPTS} luksOpen $DEV $LUKS </dev/tty0 >/dev/tty0 2>&1 fi elif echo $OPTS | grep -wq swap ; then # If any of the volumes is to be used as encrypted swap, # then encrypt it using a random key and run mkswap: - echo "Creating encrypted swap on device '$DEV' mapped to '${LUKS}':" + echo "Creating encrypted swap volume '${LUKS}' on device '$DEV':" /sbin/cryptsetup --cipher=aes --key-file=/dev/urandom --key-size=256 create $LUKS $DEV mkswap /dev/mapper/$LUKS fi @@ -146,19 +182,41 @@ if [ -x /etc/rc.d/rc.fuse ]; then sh /etc/rc.d/rc.fuse start fi +# Set the tick and frequency for the system clock. +# Default values are: TICK=10000 and FREQ=0 +TICK=10000 +FREQ=0 +# If there's a /etc/default/adjtimex config file, source it to override +# the default TICK and FREQ: +if [ -r /etc/default/adjtimex ]; then + . /etc/default/adjtimex +fi +if /sbin/adjtimex --tick $TICK --frequency $FREQ; then + echo "Setting the system clock rate: /sbin/adjtimex --tick $TICK --frequency $FREQ" +else + echo "Failed to set system clock with adjtimex, possibly invalid parameters? (TICK=$TICK FREQ=$FREQ)" +fi + # Set the system time from the hardware clock using hwclock --hctosys. if [ -x /sbin/hwclock ]; then # Check for a broken motherboard RTC clock (where ioports for rtc are # unknown) to prevent hwclock causing a hang: - if ! grep -q -w rtc /proc/ioports ; then + if ! grep -q " : rtc" /proc/ioports ; then CLOCK_OPT="--directisa" fi - if grep -wq "^UTC" /etc/hardwareclock ; then - echo -n "Setting system time from the hardware clock (UTC): " - /sbin/hwclock $CLOCK_OPT --utc --hctosys - else - echo -n "Setting system time from the hardware clock (localtime): " + if [ /etc/adjtime -nt /etc/hardwareclock ]; then + if grep -q "^LOCAL" /etc/adjtime ; then + echo -n "Setting system time from the hardware clock (localtime): " + else + echo -n "Setting system time from the hardware clock (UTC): " + fi + /sbin/hwclock $CLOCK_OPT --hctosys + elif grep -wq "^localtime" /etc/hardwareclock 2> /dev/null ; then + echo -n "Setting system time from the hardware clock (localtime): " /sbin/hwclock $CLOCK_OPT --localtime --hctosys + else + echo -n "Setting system time from the hardware clock (UTC): " + /sbin/hwclock $CLOCK_OPT --utc --hctosys fi date fi @@ -224,51 +282,20 @@ if [ ! $READWRITE = yes ]; then echo "Remounting root device with read-write enabled." /sbin/mount -w -v -n -o remount / if [ $? -gt 0 ] ; then - echo - echo "Attempt to remount root device as read-write failed! This is going to" + echo "FATAL: Attempt to remount root device as read-write failed! This is going to" echo "cause serious problems." - echo - echo "If you're using the UMSDOS filesystem, you **MUST** mount the root partition" - echo "read-write! You can make sure the root filesystem is getting mounted " - echo "read-write with the 'rw' flag to Loadlin:" - echo - echo "loadlin vmlinuz root=/dev/hda1 rw (replace /dev/hda1 with your root device)" - echo - echo "Normal bootdisks can be made to mount a system read-write with the rdev command:" - echo - echo "rdev -R /dev/fd0 0" - echo - echo "You can also get into your system by using a boot disk with a command like this" - echo "on the LILO prompt line: (change the root partition name as needed)" - echo - echo "LILO: mount root=/dev/hda1 rw" - echo - echo "Please press ENTER to continue, then reboot and use one of the above methods to" - echo -n "get into your machine and start looking for the problem. " - read junk; fi else echo "Testing root filesystem status: read-write filesystem" echo - echo "*** ERROR: Root partition has already been mounted read-write. Cannot check!" + echo "ERROR: Root partition has already been mounted read-write. Cannot check!" echo echo "For filesystem checking to work properly, your system must initially mount" - echo "the root partition as read only. Please modify your kernel with 'rdev' so that" - echo "it does this. If you're booting with LILO, add a line:" + echo "the root partition as read only. If you're booting with LILO, add a line:" echo echo " read-only" echo echo "to the Linux section in your /etc/lilo.conf and type 'lilo' to reinstall it." - echo - echo "If you boot from a kernel on a floppy disk, put it in the drive and type:" - echo " rdev -R /dev/fd0 1" - echo - echo "If you boot from a bootdisk, or with Loadlin, you can add the 'ro' flag." - echo - echo "This will fix the problem *AND* eliminate this annoying message. :^)" - echo - echo -n "Press ENTER to continue. " - read junk; fi # Done checking root filesystem @@ -278,12 +305,15 @@ fi # Done checking root filesystem # Add entry for / to /etc/mtab: /sbin/mount -f -w / -# Add /proc and /sys mounts to /etc/mtab: +# Add /proc, /sys, and /dev/shm mounts to /etc/mtab: if [ -d /proc/sys ]; then - /sbin/mount -f proc /proc -t proc + /sbin/mount -f -t proc proc /proc fi if [ -d /sys/bus ]; then - /sbin/mount -f sysfs /sys -t sysfs + /sbin/mount -f -t sysfs sysfs /sys +fi +if grep -q '^[^ ]\+ /dev/shm ' /proc/mounts 2> /dev/null ; then + /sbin/mount -f -t tmpfs tmpfs /dev/shm fi # Configure ISA Plug-and-Play devices: @@ -293,30 +323,20 @@ if [ -r /etc/isapnp.conf ]; then fi fi -# This loads any kernel modules that are needed. These might be required to -# use your ethernet card, sound card, or other optional hardware. -# Priority is given first to a script named "rc.modules.local", then -# to "rc.modules-$FULL_KERNEL_VERSION", and finally to the plain "rc.modules". -# Note that if /etc/rc.d/rc.modules.local is found, then that will be the ONLY -# rc.modules script the machine will run, so make sure it has everything in -# it that you need. -if [ -x /etc/rc.d/rc.modules.local -a -r /proc/modules ]; then - echo "Running /etc/rc.d/rc.modules.local:" - /bin/sh /etc/rc.d/rc.modules.local -elif [ -x /etc/rc.d/rc.modules-$(uname -r) -a -r /proc/modules ]; then - echo "Running /etc/rc.d/rc.modules-$(uname -r):" - . /etc/rc.d/rc.modules-$(uname -r) -elif [ -x /etc/rc.d/rc.modules -a -r /proc/modules -a -L /etc/rc.d/rc.modules ]; then - echo "Running /etc/rc.d/rc.modules -> $(readlink /etc/rc.d/rc.modules):" - . /etc/rc.d/rc.modules -elif [ -x /etc/rc.d/rc.modules -a -r /proc/modules ]; then - echo "Running /etc/rc.d/rc.modules:" +# Run the kernel module script. This updates the module dependencies and +# also supports manually loading kernel modules through rc.modules.local. +if [ -x /etc/rc.d/rc.modules ]; then . /etc/rc.d/rc.modules fi -# Configure runtime kernel parameters: +# Configure kernel parameters: if [ -x /sbin/sysctl -a -r /etc/sysctl.conf ]; then - /sbin/sysctl -e -p /etc/sysctl.conf + echo "Configuring kernel parameters: /sbin/sysctl -e --system" + /sbin/sysctl -e --system +elif [ -x /sbin/sysctl ]; then + echo "Configuring kernel parameters: /sbin/sysctl -e --system" + # Don't say "Applying /etc/sysctl.conf" or complain if the file doesn't exist + /sbin/sysctl -e --system 2> /dev/null | grep -v "Applying /etc/sysctl.conf" fi # Check all the non-root filesystems: @@ -344,9 +364,12 @@ fi echo "Mounting non-root local filesystems:" sleep 3 if /bin/grep -wq devpts /proc/mounts ; then - /sbin/mount -a -v -t nonfs,nosmbfs,nocifs,noproc,nosysfs,nodevpts + # This pipe after the mount command is just to convert the new + # mount verbose output back to the old format that contained + # more useful information: + /sbin/mount -a -v -t nonfs,nosmbfs,nocifs,noproc,nosysfs,nodevpts | grep successfully | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep "${dev} " ; done else - /sbin/mount -a -v -t nonfs,nosmbfs,nocifs,noproc,nosysfs + /sbin/mount -a -v -t nonfs,nosmbfs,nocifs,noproc,nosysfs | grep successfully | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep "${dev} " ; done fi # Enable swapping again. This is needed in case a swapfile is used, @@ -354,6 +377,11 @@ fi # mounted read-write. /sbin/swapon -a 2> /dev/null +# Start cgmanager (or cgproxy in a container): +if [ -x /etc/rc.d/rc.cgmanager -a -d /sys/fs/cgroup ]; then + sh /etc/rc.d/rc.cgmanager start +fi + # Clean up some temporary files: rm -f /var/run/* /var/run/*/* /var/run/*/*/* /etc/nologin \ /etc/dhcpc/*.pid /etc/forcefsck /etc/fastboot \ @@ -362,6 +390,11 @@ rm -f /var/run/* /var/run/*/* /var/run/*/*/* /etc/nologin \ ( cd /var/log/setup/tmp && rm -rf * ) ( cd /tmp && rm -rf kde-[a-zA-Z]* ksocket-[a-zA-Z]* hsperfdata_[a-zA-Z]* plugtmp* ) +# Clear /var/lock/subsys: +if [ -d /var/lock/subsys ]; then + rm -f /var/lock/subsys/* +fi + # Create /tmp/{.ICE-unix,.X11-unix} if they are not present: if [ ! -e /tmp/.ICE-unix ]; then mkdir -p /tmp/.ICE-unix diff --git a/source/a/sysvinit-scripts/scripts/rc.cpufreq b/source/a/sysvinit-scripts/scripts/rc.cpufreq new file mode 100644 index 00000000..571ce41c --- /dev/null +++ b/source/a/sysvinit-scripts/scripts/rc.cpufreq @@ -0,0 +1,48 @@ +#!/bin/sh +# +# rc.cpufreq: Settings for CPU frequency and voltage scaling in the kernel. +# For more information, see the kernel documentation in +# /usr/src/linux/Documentation/cpu-freq/ + + +# Default CPU scaling governor to try. Some possible choices are: +# performance: The CPUfreq governor "performance" sets the CPU statically +# to the highest frequency within the borders of scaling_min_freq +# and scaling_max_freq. +# powersave: The CPUfreq governor "powersave" sets the CPU statically to the +# lowest frequency within the borders of scaling_min_freq and +# scaling_max_freq. +# userspace: The CPUfreq governor "userspace" allows the user, or any +# userspace program running with UID "root", to set the CPU to a +# specific frequency by making a sysfs file "scaling_setspeed" +# available in the CPU-device directory. +# ondemand: The CPUfreq governor "ondemand" sets the CPU depending on the +# current usage. +# conservative: The CPUfreq governor "conservative", much like the "ondemand" +# governor, sets the CPU depending on the current usage. It +# differs in behaviour in that it gracefully increases and +# decreases the CPU speed rather than jumping to max speed the +# moment there is any load on the CPU. +SCALING_GOVERNOR=ondemand + +# If rc.cpufreq is given an option, use it for the CPU scaling governor instead: +if [ ! -z "$1" -a "$1" != "start" ]; then + SCALING_GOVERNOR=$1 +fi + +# If you need to load a specific CPUFreq driver, load it here. Most likely you don't. +#/sbin/modprobe acpi-cpufreq + +# Attempt to apply the CPU scaling governor setting. This may or may not +# actually override the default value depending on if the choice is supported +# by the architecture, processor, or underlying CPUFreq driver. For example, +# processors that use the Intel P-state driver will only be able to set +# performance or powersave here. +echo $SCALING_GOVERNOR | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor 1> /dev/null 2> /dev/null + +# Report what CPU scaling governor is in use after applying the setting: +if [ -r /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor ]; then + echo "Enabled CPU frequency scaling governor: $(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)" +fi + +unset SCALING_GOVERNOR diff --git a/source/a/sysvinit-scripts/scripts/rc.modules b/source/a/sysvinit-scripts/scripts/rc.modules new file mode 100644 index 00000000..650c0ef8 --- /dev/null +++ b/source/a/sysvinit-scripts/scripts/rc.modules @@ -0,0 +1,28 @@ +#!/bin/sh + +# /etc/rc.d/rc.modules + +# Determine the version of the running kernel: +RELEASE=$(uname -r) + +# Update kernel module dependencies: +if [ -e "/lib/modules/$RELEASE/modules.dep" ]; then + echo "Updating module dependency list for $RELEASE: /sbin/depmod --quick" + /sbin/depmod --quick +else + echo "Creating module dependency list for $RELEASE: /sbin/depmod --all" + /sbin/depmod --all +fi + +# Run any rc.modules-$(uname -r) file that exists (this is used +# if you have specific modules which should only be loaded for +# specific kernel versions): +if [ -x "/etc/rc.d/rc.modules-$RELEASE" ]; then + /etc/rc.d/rc.modules-$RELEASE +fi + +# Run a local (sysadmin-version) of rc.modules if it exists: +if [ -x "/etc/rc.d/rc.modules.local" ]; then + /etc/rc.d/rc.modules.local +fi + diff --git a/source/a/sysvinit-scripts/scripts/rc.modules.local b/source/a/sysvinit-scripts/scripts/rc.modules.local new file mode 100644 index 00000000..6bd1f339 --- /dev/null +++ b/source/a/sysvinit-scripts/scripts/rc.modules.local @@ -0,0 +1,17 @@ +#!/bin/sh + +# /etc/rc.d/rc.modules.local + +# The Linux kernel source is the best place to look for documentation +# for the many available kernel modules. This can be found under +# /usr/src/linux-$VERSION/Documentation/. + +# Almost all necessary modules are automatically loaded when needed, +# but there are a few exceptions. Here's a (not all-inclusive) list, +# so uncomment any of the below entries or add others as needed: +# Note that you could also create/edit rc.modules-$version if you +# only wanted specific modules loaded for particular kernels. + +#/sbin/modprobe tun # Universal TUN/TAP device driver +#/sbin/modprobe sg # Generic SCSI support for SATA DVD-RW + diff --git a/source/a/sysvinit-scripts/scripts/rc.sysvinit b/source/a/sysvinit-scripts/scripts/rc.sysvinit index 916e59ee..057c3f1e 100644 --- a/source/a/sysvinit-scripts/scripts/rc.sysvinit +++ b/source/a/sysvinit-scripts/scripts/rc.sysvinit @@ -40,14 +40,12 @@ if [ "$runlevel" = "" ]; then export prevlevel fi -# Run kill scripts in the previous runlevel if not "none" -if [ ! "$prevlevel" = "N" ]; then - for script in /etc/rc.d/rc$prevlevel.d/K* ; do - if [ -x $script ]; then - startup $script stop - fi - done -fi +# Run kill scripts: +for script in /etc/rc.d/rc$runlevel.d/K* ; do + if [ -x $script ]; then + startup $script stop + fi +done # Now do the startup scripts: for script in /etc/rc.d/rc$runlevel.d/S* ; do diff --git a/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild b/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild index d59bbf4a..e165bfe2 100755 --- a/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild +++ b/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2005-2016 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -23,7 +23,7 @@ VERSION=${VERSION:-2.0} ARCH=noarch -BUILD=${BUILD:-17} +BUILD=${BUILD:-33} CWD=$(pwd) TMP=${TMP:-/tmp} @@ -34,7 +34,7 @@ mkdir -p $TMP $PKG # Install Slackware scripts and config files from $CWD/scripts/: mkdir -p $PKG/etc/rc.d -for file in rc.{4,6,K,M,S} rc.local rc.loop rc.sysvinit ; do +for file in rc.{4,6,K,M,S} rc.cpufreq rc.local rc.loop rc.sysvinit rc.modules rc.modules.local ; do cp -a $CWD/scripts/$file $PKG/etc/rc.d/${file}.new chmod 755 $PKG/etc/rc.d/${file}.new chown root:root $PKG/etc/rc.d/${file}.new diff --git a/source/a/sysvinit/CHANGES b/source/a/sysvinit/CHANGES new file mode 100644 index 00000000..a4c1f96b --- /dev/null +++ b/source/a/sysvinit/CHANGES @@ -0,0 +1 @@ +Removed pidof symlink. diff --git a/source/a/sysvinit/doinst.sh b/source/a/sysvinit/doinst.sh index 0e476e11..841c48f0 100644 --- a/source/a/sysvinit/doinst.sh +++ b/source/a/sysvinit/doinst.sh @@ -40,8 +40,6 @@ fi ( cd sbin ; ln -sf init telinit ) ( cd sbin ; rm -rf reboot ) ( cd sbin ; ln -sf halt reboot ) -( cd sbin ; rm -rf pidof ) -( cd sbin ; ln -sf killall5 pidof ) ( cd sbin ; rm -rf poweroff ) ( cd sbin ; ln -sf halt poweroff ) diff --git a/source/a/sysvinit/sysvinit.SlackBuild b/source/a/sysvinit/sysvinit.SlackBuild index bb1f8ee6..49754b74 100755 --- a/source/a/sysvinit/sysvinit.SlackBuild +++ b/source/a/sysvinit/sysvinit.SlackBuild @@ -22,7 +22,7 @@ VERSION=${VERSION:-2.88dsf} -BUILD=${BUILD:-3} +BUILD=${BUILD:-4} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then @@ -97,7 +97,7 @@ done for page in inittab.5 initscript.5 ; do cat $page | gzip -9c > $PKG/usr/man/man5/$page.gz done -for page in halt.8 init.8 killall5.8 pidof.8 poweroff.8 reboot.8 runlevel.8 \ +for page in halt.8 init.8 killall5.8 poweroff.8 reboot.8 runlevel.8 \ shutdown.8 telinit.8 bootlogd.8 ; do cat $page | gzip -9c > $PKG/usr/man/man8/$page.gz done diff --git a/source/a/tar/rmt.8 b/source/a/tar/rmt.8 deleted file mode 100644 index 86d2cf92..00000000 --- a/source/a/tar/rmt.8 +++ /dev/null @@ -1,217 +0,0 @@ -.\" Copyright (c) 1983, 1991 The Regents of the University of California. -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. All advertising materials mentioning features or use of this software -.\" must display the following acknowledgement: -.\" This product includes software developed by the University of -.\" California, Berkeley and its contributors. -.\" 4. Neither the name of the University nor the names of its contributors -.\" may be used to endorse or promote products derived from this software -.\" without specific prior written permission. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" @(#)rmt.8 6.5 (Berkeley) 3/16/91 -.\" -.Dd March 16, 1991 -.Dt RMT 8 -.Os BSD 4.2 -.Sh NAME -.Nm rmt -.Nd remote magtape protocol module -.Sh SYNOPSIS -.Nm rmt -.Sh DESCRIPTION -.Nm Rmt -is a program used by the remote dump and restore programs -in manipulating a magnetic tape drive through an interprocess -communication connection. -.Nm Rmt -is normally started up with an -.Xr rexec 3 -or -.Xr rcmd 3 -call. -.Pp -The -.Nm rmt -program accepts requests specific to the manipulation of -magnetic tapes, performs the commands, then responds with -a status indication. All responses are in -.Tn ASCII -and in -one of two forms. -Successful commands have responses of: -.Bd -filled -offset indent -.Sm off -.Sy A Ar number No \en -.Sm on -.Ed -.Pp -.Ar Number -is an -.Tn ASCII -representation of a decimal number. -Unsuccessful commands are responded to with: -.Bd -filled -offset indent -.Sm off -.Xo Sy E Ar error-number -.No \en Ar error-message -.No \en -.Xc -.Sm on -.Ed -.Pp -.Ar Error-number -is one of the possible error -numbers described in -.Xr intro 2 -and -.Ar error-message -is the corresponding error string as printed -from a call to -.Xr perror 3 . -The protocol is comprised of the -following commands, which are sent as indicated - no spaces are supplied -between the command and its arguments, or between its arguments, and -.Ql \en -indicates that a newline should be supplied: -.Bl -tag -width Ds -.Sm off -.It Xo Sy \&O Ar device -.No \en Ar mode No \en -.Xc -Open the specified -.Ar device -using the indicated -.Ar mode . -.Ar Device -is a full pathname and -.Ar mode -is an -.Tn ASCII -representation of a decimal -number suitable for passing to -.Xr open 2 . -If a device had already been opened, it is -closed before a new open is performed. -.It Xo Sy C Ar device No \en -.Xc -Close the currently open device. The -.Ar device -specified is ignored. -.It Xo Sy L -.Ar whence No \en -.Ar offset No \en -.Xc -.Sm on -Perform an -.Xr lseek 2 -operation using the specified parameters. -The response value is that returned from the -.Xr lseek -call. -.Sm off -.It Sy W Ar count No \en -.Sm on -Write data onto the open device. -.Nm Rmt -reads -.Ar count -bytes from the connection, aborting if -a premature end-of-file is encountered. -The response value is that returned from -the -.Xr write 2 -call. -.Sm off -.It Sy R Ar count No \en -.Sm on -Read -.Ar count -bytes of data from the open device. -If -.Ar count -exceeds the size of the data buffer (10 kilobytes), it is -truncated to the data buffer size. -.Nm rmt -then performs the requested -.Xr read 2 -and responds with -.Sm off -.Sy A Ar count-read No \en -.Sm on -if the read was -successful; otherwise an error in the -standard format is returned. If the read -was successful, the data read is then sent. -.Sm off -.It Xo Sy I Ar operation -.No \en Ar count No \en -.Xc -.Sm on -Perform a -.Dv MTIOCOP -.Xr ioctl 2 -command using the specified parameters. -The parameters are interpreted as the -.Tn ASCII -representations of the decimal values -to place in the -.Ar mt_op -and -.Ar mt_count -fields of the structure used in the -.Xr ioctl -call. The return value is the -.Ar count -parameter when the operation is successful. -.It Sy S -Return the status of the open device, as -obtained with a -.Dv MTIOCGET -.Xr ioctl -call. If the operation was successful, -an ``ack'' is sent with the size of the -status buffer, then the status buffer is -sent (in binary). -.El -.Sm on -.Pp -Any other command causes -.Nm rmt -to exit. -.Sh DIAGNOSTICS -All responses are of the form described above. -.Sh SEE ALSO -.Xr rcmd 3 , -.Xr rexec 3 , -.Xr mtio 4 , -.Xr rdump 8 , -.Xr rrestore 8 -.Sh BUGS -People tempted to use this for a remote file access protocol -are discouraged. -.Sh HISTORY -The -.Nm -command appeared in -.Bx 4.2 . diff --git a/source/a/tar/tar-1.2x.support_txz.diff b/source/a/tar/tar-1.2x.support_txz.diff deleted file mode 100644 index efd720b5..00000000 --- a/source/a/tar/tar-1.2x.support_txz.diff +++ /dev/null @@ -1,11 +0,0 @@ -diff -Nur tar-1.23.orig/src/suffix.c tar-1.23/src/suffix.c ---- tar-1.23.orig/src/suffix.c 2010-03-09 06:52:41.000000000 -0600 -+++ tar-1.23/src/suffix.c 2010-03-10 15:34:22.417696189 -0600 -@@ -43,6 +43,7 @@ - { S(tlz, LZMA) }, - { S(lzo, LZOP) }, - { S(xz, XZ) }, -+ { S(txz, XZ) }, - #undef S - #undef __CAT2__ - }; diff --git a/source/a/tar/tar.1 b/source/a/tar/tar.1 deleted file mode 100644 index 8fe4f8b5..00000000 --- a/source/a/tar/tar.1 +++ /dev/null @@ -1,371 +0,0 @@ -.\" @(#)tar.1 1.11.1 93/19/22 PJV; -.TH TAR 1 "22 September 1993" -.SH NAME -tar \- The GNU version of the tar archiving utility -.SH SYNOPSIS -.B tar -[ -.B \- -] -.B A --catenate --concatenate \||\| c --create \||\| d --diff --compare \||\| r --append \||\| t --list \||\| u --update \||\| x -extract --get -[ -.B --atime-preserve -] -[ -.B -b, --block-size N -] -[ -.B -B, --read-full-blocks -] -[ -.B -C, --directory DIR -] -[ -.B --checkpoint -] -[ -.B -f, --file [HOSTNAME:]F -] -[ -.B --force-local -] -[ -.B -F, --info-script F --new-volume-script F -] -[ -.B -G, --incremental -] -[ -.B -g, --listed-incremental F -] -[ -.B -h, --dereference -] -[ -.B -i, --ignore-zeros -] -[ -.B -J, --xz -] -[ -.B -j, --bzip2 -] -[ -.B --ignore-failed-read -] -[ -.B -k, --keep-old-files -] -[ -.B -K, --starting-file F -] -[ -.B -l, --one-file-system -] -[ -.B -L, --tape-length N -] -[ -.B -m, --modification-time -] -[ -.B -M, --multi-volume -] -[ -.B -N, --after-date DATE, --newer DATE -] -[ -.B -o, --old-archive, --portability -] -[ -.B -O, --to-stdout -] -[ -.B -p, --same-permissions, --preserve-permissions -] -[ -.B -P, --absolute-names -] -[ -.B --preserve -] -[ -.B -R, --record-number -] -[ -.B --remove-files -] -[ -.B -s, --same-order, --preserve-order -] -[ -.B --same-owner -] -[ -.B --numeric-owner -] -[ -.B -S, --sparse -] -[ -.B -T, --files-from F -] -[ -.B --null -] -[ -.B --totals -] -[ -.B -v, --verbose -] -[ -.B -V, --label NAME -] -[ -.B --version -] -[ -.B -w, --interactive, --confirmation -] -[ -.B -W, --verify -] -[ -.B --exclude FILE -] -[ -.B -X, --exclude-from FILE -] -[ -.B -Z, --compress, --uncompress -] -[ -.B -z, --gzip, --ungzip -] -[ -.B --use-compress-program PROG -] -[ -.B --block-compress -] -[ -.B -[0-7][lmh] -] -.TP -.I filename1 [ filename2, ... filenameN ] -.TP -.I directory1 [ directory2, ...directoryN ] -.SH DESCRIPTION -.LP -This manual page documents the GNU version of -.B tar -, an archiving program designed to store and extract files from -an archive file known as a -.IR tarfile. -A -.IR tarfile -may be made on a tape drive, however, it is also common -to write a -.IR tarfile -to a normal file. -The first argument to -.B tar -must be one of the options: -.BR Acdrtux , -followed by any optional functions. -The final arguments to -.B tar -are the names of the files or directories which should be archived. The use -of a directory name always implies that the subdirectories below should be -included in the archive. -.SH EXAMPLES -.TP -.B tar -xvvf foo.tar -extract foo.tar -.TP -.B tar -xvvzf foo.tar.gz -extract gzipped foo.tar.gz -.TP -.B tar -cvvf foo.tar foo/ -tar contents of folder foo in foo.tar -.SH "FUNCTION LETTERS" -.TP -.B One of the following options must be used: -.TP -.B -A, --catenate, --concatenate -append tar files to an archive -.TP -.B -c, --create -create a new archive -.TP -.B -d, --diff, --compare -find differences between archive and file system -.TP -.B --delete -delete from the archive (not for use on mag tapes!) -.TP -.B -r, --append -append files to the end of an archive -.TP -.B -t, --list -list the contents of an archive -.TP -.B -u, --update -only append files that are newer than copy in archive -.TP -.B -x, --extract, --get -extract files from an archive -.SH "OTHER OPTIONS" -.TP -.B --atime-preserve -don't change access times on dumped files -.TP -.B -b, --block-size N -block size of Nx512 bytes (default N=20) -.TP -.B -B, --read-full-blocks -reblock as we read (for reading 4.2BSD pipes) -.TP -.B -C, --directory DIR -change to directory DIR -.TP -.B --checkpoint -print directory names while reading the archive -.TP -.B -f, --file [HOSTNAME:]F -use archive file or device F (default "-", meaning stdin/stdout) -.TP -.B --force-local -archive file is local even if has a colon -.TP -.B -F, --info-script F --new-volume-script F -run script at end of each tape (implies -M) -.TP -.B -G, --incremental -create/list/extract old GNU-format incremental backup -.TP -.B -g, --listed-incremental F -create/list/extract new GNU-format incremental backup -.TP -.B -h, --dereference -don't dump symlinks; dump the files they point to -.TP -.B -i, --ignore-zeros -ignore blocks of zeros in archive (normally mean EOF) -.TP -.B -j, --bzip2 -filter archive through bzip2, use to decompress .bz2 files -.TP -.B --ignore-failed-read -don't exit with non-zero status on unreadable files -.TP -.B -k, --keep-old-files -keep existing files; don't overwrite them from archive -.TP -.B -K, --starting-file F -begin at file F in the archive -.TP -.B -l, --one-file-system -stay in local file system when creating an archive -.TP -.B -L, --tape-length N -change tapes after writing N*1024 bytes -.TP -.B -m, --modification-time -don't extract file modified time -.TP -.B -M, --multi-volume -create/list/extract multi-volume archive -.TP -.B -N, --after-date DATE, --newer DATE -only store files newer than DATE -.TP -.B -o, --old-archive, --portability -write a V7 format archive, rather than ANSI format -.TP -.B -O, --to-stdout -extract files to standard output -.TP -.B -p, --same-permissions, --preserve-permissions -extract all protection information -.TP -.B -P, --absolute-paths -don't strip leading `/'s from file names -.TP -.B --preserve -like -p -s -.TP -.B -R, --record-number -show record number within archive with each message -.TP -.B --remove-files -remove files after adding them to the archive -.TP -.B -s, --same-order, --preserve-order -list of names to extract is sorted to match archive -.TP -.B --same-owner -create extracted files with the same ownership -.TP -.B --numeric-owner -always use numbers for user/group names -.TP -.B -S, --sparse -handle sparse files efficiently -.TP -.B -T, --files-from F -get names to extract or create from file F -.TP -.B --null --T reads null-terminated names, disable -C -.TP -.B --totals -print total bytes written with --create -.TP -.B -v, --verbose -verbosely list files processed -.TP -.B -V, --label NAME -create archive with volume name NAME -.TP -.B --version -print tar program version number -.TP -.B -w, --interactive, --confirmation -ask for confirmation for every action -.TP -.B -W, --verify -attempt to verify the archive after writing it -.TP -.B --exclude FILE -exclude file FILE -.TP -.B -X, --exclude-from FILE -exclude files listed in FILE -.TP -.B -Z, --compress, --uncompress -filter the archive through compress -.TP -.B -z, --gzip, --ungzip -filter the archive through gzip -.TP -.B --use-compress-program PROG -filter the archive through PROG (which must accept -d) -.TP -.B --block-compress -block the output of compression program for tapes -.TP -.B -[0-7][lmh] -specify drive and density -.SH BUGS -.LP -The GNU folks, in general, abhor man pages, and create info documents instead. -The maintainer of tar falls into this category. This man page is neither -complete, nor current, and was included in the Debian Linux packaging of tar -entirely to reduce the frequency with which the lack of a man page gets -reported as a bug in our defect tracking system. - -If you really want to understand tar, then you should run info and read the -tar info pages, or use the info mode in emacs. - diff --git a/source/a/tar/tar.SlackBuild b/source/a/tar/tar.SlackBuild index ea608f0b..e3a1f7d0 100755 --- a/source/a/tar/tar.SlackBuild +++ b/source/a/tar/tar.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2005-2011 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2005-2015 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,7 +22,7 @@ # Slackware build script for tar -VERSION=1.26 +VERSION=1.29 BUILD=${BUILD:-1} NUMJOBS=${NUMJOBS:--j7} @@ -30,7 +30,7 @@ NUMJOBS=${NUMJOBS:--j7} # Automatically determine architecture for build & packaging: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; esac @@ -43,8 +43,8 @@ PKG=$TMP/package-tar rm -rf $PKG mkdir -p $TMP $PKG -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" elif [ "$ARCH" = "x86_64" ]; then @@ -62,19 +62,25 @@ fi # Slackware package utils. And, we'll even let people remove it and # the pkgutils will still try to work (but eventually they'll pay the # price :) +# +# NOTE: The latest versions of tar can supposedly work for the pkgtools, +# but some changes to add new options to the scripts might be required. +# +# Until tar-1.13 won't compile any more, it might be safer to keep using +# it, though. cd $TMP rm -rf tar-1.13 tar xvf $CWD/tar-1.13.tar.gz || exit 1 cd tar-1.13 || exit 1 zcat $CWD/tar-1.13.bzip2.diff.gz | patch -p1 --verbose || exit 1 # The original config.{guess,sub} do not work on x86_64 -cp -p /usr/share/libtool/config/config.{guess,sub} . +cp -p --verbose /usr/share/libtool/build-aux/config.{guess,sub} . chown -R root:root . CFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ --disable-nls \ - --build=$ARCH-slackware-linux + --build=$ARCH-slackware-linux || exit 1 make $NUMJOBS || make || exit 1 mkdir -p $PKG/bin cat src/tar > $PKG/bin/tar-1.13 @@ -92,23 +98,18 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -# Don't spew "Record size = foo blocks" messages: -zcat $CWD/tar.norecordsizespam.diff.gz | patch -p1 --verbose || exit 1 - # The "A lone zero block at %s" messages also cause problems: zcat $CWD/tar.nolonezero.diff.gz | patch -p1 --verbose || exit 1 -# Add support for *.txz files (our packages) -zcat $CWD/tar-1.2x.support_txz.diff.gz | patch -p1 --verbose || exit 1 - FORCE_UNSAFE_CONFIGURE=1 \ CFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ --infodir=/usr/info \ + --mandir=/usr/man \ --docdir=/usr/doc/tar-$VERSION \ --enable-backup-scripts \ - --build=$ARCH-slackware-linux + --build=$ARCH-slackware-linux || exit 1 make $NUMJOBS || make || exit 1 make install DESTDIR=$PKG || exit 1 @@ -132,27 +133,29 @@ mkdir -p $PKG/{etc,sbin} ln -sf /usr/libexec/rmt . ) -mkdir -p $PKG/usr/man/man{1,8} -cat $CWD/tar.1.gz > $PKG/usr/man/man1/tar.1.gz -cat $CWD/rmt.8.gz > $PKG/usr/man/man8/rmt.8.gz - -rm -f $PKG/usr/info/dir -gzip -9 $PKG/usr/info/* +# Compress manual pages: +find $PKG/usr/man -type f -exec gzip -9 {} \; +for i in $( find $PKG/usr/man -type l ) ; do + ln -s $( readlink $i ).gz $i.gz + rm $i +done + +# Compress info files, if any: +if [ -d $PKG/usr/info ]; then + ( cd $PKG/usr/info + rm -f dir + gzip -9 * + ) +fi mkdir -p $PKG/usr/doc/tar-$VERSION cp -a \ - ABOUT-NLS AUTHORS COPYING NEWS PORTS README THANKS TODO \ + AUTHORS COPYING* NEWS PORTS README* THANKS TODO \ $PKG/usr/doc/tar-$VERSION mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cd $PKG -/sbin/makepkg -l y -c n $TMP/tar-$VERSION-$ARCH-$BUILD.tgz - -# Clean up the extra stuff: -if [ "$1" = "--cleanup" ]; then - rm -rf $TMP/tar-$VERSION - rm -rf $PKG -fi +/sbin/makepkg -l y -c n $TMP/tar-$VERSION-$ARCH-$BUILD.txz diff --git a/source/a/tar/tar.nolonezero.diff b/source/a/tar/tar.nolonezero.diff index e1316beb..c47e067f 100644 --- a/source/a/tar/tar.nolonezero.diff +++ b/source/a/tar/tar.nolonezero.diff @@ -1,6 +1,7 @@ ---- ./src/list.c.orig 2010-11-01 15:34:59.000000000 -0500 -+++ ./src/list.c 2010-11-08 13:42:14.000000000 -0600 -@@ -212,6 +212,14 @@ +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 @@ if (!ignore_zeros_option) { @@ -15,7 +16,7 @@ char buf[UINTMAX_STRSIZE_BOUND]; status = read_header (¤t_header, ¤t_stat_info, -@@ -221,6 +229,7 @@ +@@ -220,6 +228,7 @@ WARNOPT (WARN_ALONE_ZERO_BLOCK, (0, 0, _("A lone zero block at %s"), STRINGIFY_BIGINT (current_block_ordinal (), buf))); diff --git a/source/a/tar/tar.norecordsizespam.diff b/source/a/tar/tar.norecordsizespam.diff deleted file mode 100644 index 0a1f4e1d..00000000 --- a/source/a/tar/tar.norecordsizespam.diff +++ /dev/null @@ -1,21 +0,0 @@ -diff -Nur tar-1.23.orig//src/buffer.c tar-1.23/src/buffer.c ---- tar-1.23.orig//src/buffer.c 2010-03-09 06:52:41.000000000 -0600 -+++ tar-1.23/src/buffer.c 2010-03-15 23:47:30.122668444 -0500 -@@ -734,7 +734,7 @@ - more = record_start->buffer + status; - left = record_size - status; - -- if (left && left % BLOCKSIZE == 0 -+ /* if (left && left % BLOCKSIZE == 0 - && verbose_option - && record_start_block == 0 && status != 0 - && archive_is_dev ()) -@@ -745,7 +745,7 @@ - "Record size = %lu blocks", - rsize), - rsize)); -- } -+ } */ - - while (left % BLOCKSIZE != 0 - || (left && status && read_full_records)) diff --git a/source/a/tcsh/doinst.sh b/source/a/tcsh/doinst.sh index d351e505..00c81536 100644 --- a/source/a/tcsh/doinst.sh +++ b/source/a/tcsh/doinst.sh @@ -1,8 +1,4 @@ -if fgrep tcsh etc/shells 1> /dev/null 2> /dev/null ; then - GOOD=y -else +if ! grep -q tcsh etc/shells 2> /dev/null ; then echo "/bin/tcsh" >> etc/shells echo "/bin/csh" >> etc/shells fi -( cd bin ; rm -rf csh ) -( cd bin ; ln -sf tcsh csh ) diff --git a/source/a/tcsh/tcsh-6.18.01-crypt.diff b/source/a/tcsh/tcsh-6.18.01-crypt.diff deleted file mode 100644 index db7306e2..00000000 --- a/source/a/tcsh/tcsh-6.18.01-crypt.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- tc.func.c.orig 2013-05-16 -+++ tc.func.c 2013-05-16 -@@ -733,7 +733,7 @@ auto_lock(void) - pp = xgetpass("Password:"); - - crpp = XCRYPT(pw, pp, srpp); -- if ((strcmp(crpp, srpp) == 0) -+ if ((crpp && (strcmp(crpp, srpp) == 0)) - #ifdef AFS - || (ka_UserAuthenticateGeneral(KA_USERAUTH_VERSION, - afsname, /* name */ diff --git a/source/a/tcsh/tcsh.SlackBuild b/source/a/tcsh/tcsh.SlackBuild index 44e398c0..2fe0f1c2 100755 --- a/source/a/tcsh/tcsh.SlackBuild +++ b/source/a/tcsh/tcsh.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2008, 2009, 2010, 2012, 2013, 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -21,25 +21,28 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=6.18.01 -BUILD=${BUILD:-2} +PKGNAM=tcsh +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 case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; esac fi +NUMJOBS=${NUMJOBS:-" -j7 "} + CWD=$(pwd) TMP=${TMP:-/tmp} -PKG=$TMP/package-tcsh +PKG=$TMP/package-${PKGNAM} -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" elif [ "$ARCH" = "x86_64" ]; then @@ -47,18 +50,16 @@ elif [ "$ARCH" = "x86_64" ]; then fi rm -rf $PKG -mkdir -p $TMP $PKG +mkdir -p $TMP $PKG/etc cd $TMP -rm -rf tcsh-$VERSION -tar xvf $CWD/tcsh-$VERSION.tar.?z* || exit 1 -cd tcsh-$VERSION - -zcat $CWD/tcsh-6.18.01-crypt.diff.gz | patch -p0 --verbose || exit 1 +rm -rf ${PKGNAM}-$VERSION +tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1 +cd ${PKGNAM}-$VERSION || exit 1 # The LS_COLORS variable shared by tcsh has new options in recent # versions of coreutils that cause tcsh to exit, so disable the # built-in color ls: -zcat $CWD/tcsh.nobuiltincolorls.diff.gz | patch -p1 --verbose || exit 1 +zcat $CWD/${PKGNAM}.nobuiltincolorls.diff.gz | patch -p1 --verbose || exit 1 chown -R root:root . find . \ @@ -67,36 +68,49 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; +# Configure: CFLAGS="$SLKCFLAGS" \ ./configure \ - --prefix= \ - $ARCH-slackware-linux -make -j4 || exit 1 -mkdir -p $PKG/etc -mkdir -p $PKG/bin -cat tcsh > $PKG/bin/tcsh -chmod 755 $PKG/bin/tcsh -mkdir -p $PKG/usr/man/man1 -cat tcsh.man | gzip -9c > $PKG/usr/man/man1/tcsh.1.gz -echo '.so man1/tcsh.1' | gzip -9c > $PKG/usr/man/man1/csh.1.gz + --prefix=/usr \ + --bindir=/bin \ + --sysconfdir=/etc \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --mandir=/usr/man \ + --build=$ARCH-slackware-linux || exit 1 + +# Build and install: +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +( cd $PKG/bin ; ln -sf tcsh csh ) +( cd $PKG/usr/share/man/man1 ; ln -sf tcsh.1 csh.1 ) +mv $PKG/usr/share/man $PKG/usr + +# Strip binaries: ( cd $PKG find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null ) -mkdir -p $PKG/usr/doc/tcsh-$VERSION + +# Compress manual pages: +find $PKG/usr/man -type f -exec gzip -9 {} \; +for i in $( find $PKG/usr/man -type l ) ; do + ln -s $( readlink $i ).gz $i.gz + rm $i +done + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION cp -a \ - BUGS FAQ Fixes NewThings Ported README README.imake WishList Y2K \ - $PKG/usr/doc/tcsh-$VERSION + BUGS Copyright FAQ Fixes NewThings Ported README* WishList Y2K \ + complete.tcsh \ + $PKG/usr/doc/${PKGNAM}-$VERSION + mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh # Build the package: cd $PKG -makepkg -l y -c n $TMP/tcsh-$VERSION-$ARCH-$BUILD.txz +makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz -# Clean up the extra stuff: -if [ "$1" = "--cleanup" ]; then - rm -rf $TMP/tcsh-${VERSION} - rm -rf $PKG -fi diff --git a/source/a/tree/tree.SlackBuild b/source/a/tree/tree.SlackBuild index 7085fc99..52c7468c 100755 --- a/source/a/tree/tree.SlackBuild +++ b/source/a/tree/tree.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2007-2012 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2007-2015 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -20,13 +20,15 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=1.6.0 +VERSION=1.7.0 BUILD=${BUILD:-1} +NUMJOBS=${NUMJOBS:--j6} + # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -37,9 +39,22 @@ CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-tree +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + rm -rf $PKG mkdir -p $TMP $PKG - cd $TMP rm -rf tree-$VERSION tar xvf $CWD/tree-$VERSION.tar.?z* || exit 1 @@ -51,26 +66,30 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -make -j2 || exit 1 +sed -i "s,CFLAGS=-ggdb,CFLAGS=\$(XCFLAGS) -ggdb,g" Makefile +make XCFLAGS="$SLKCFLAGS" $NUMJOBS || make || exit 1 + mkdir -p $PKG/usr/bin cat tree > $PKG/usr/bin/tree chmod 755 $PKG/usr/bin/tree -mkdir -p $PKG/usr/man/man1 -cat doc/tree.1 | gzip -9c > $PKG/usr/man/man1/tree.1.gz -mkdir -p $PKG/usr/man/fr/man1 -cat doc/tree.1.fr | gzip -9c > $PKG/usr/man/fr/man1/tree.1.gz + +mkdir -p $PKG/usr/man/man1 $PKG/usr/man/fr/man1 +gzip -9c doc/tree.1 > $PKG/usr/man/man1/tree.1.gz +gzip -9c doc/tree.1.fr > $PKG/usr/man/fr/man1/tree.1.gz + mkdir -p $PKG/usr/doc/tree-$VERSION cp -a \ CHANGES LICENSE README* TODO \ $PKG/usr/doc/tree-$VERSION + ( cd $PKG find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null ) + mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc -# Build the package: cd $PKG -makepkg -l y -c n $TMP/tree-$VERSION-$ARCH-$BUILD.txz +/sbin/makepkg -l y -c n $TMP/tree-$VERSION-$ARCH-$BUILD.txz diff --git a/source/a/udev/config/rules.d/59-non-libata-devices.rules b/source/a/udev/config/rules.d/59-non-libata-devices.rules deleted file mode 100644 index 4b1238a4..00000000 --- a/source/a/udev/config/rules.d/59-non-libata-devices.rules +++ /dev/null @@ -1,44 +0,0 @@ -# Support for the deprecated IDE devices has been removed from the -# default set of rules shipped with udev, but some administrators -# might want (or need) the old ata drivers and thus build a custom -# kernel, so we'll carry these on our own for now... - -############################################################################# - -# Old 50-udev-default.rules - -# floppy -KERNEL=="hd*", SUBSYSTEMS=="ide", ATTRS{media}=="floppy" - -# cdrom -SUBSYSTEM=="block", KERNEL=="hd*", SUBSYSTEMS=="ide", ATTRS{media}=="cdrom", GROUP="cdrom" - -############################################################################# - -# Old 60-persistent-storage.rules - -# never access non-cdrom removable ide devices, the drivers are causing event loops on open() -KERNEL=="hd*[!0-9]", ATTR{removable}=="1", SUBSYSTEMS=="ide", ATTRS{media}=="disk|floppy", GOTO="old_persistent_storage_end" -KERNEL=="hd*[0-9]", ATTRS{removable}=="1", GOTO="old_persistent_storage_end" - -# by-id (hardware serial number) -KERNEL=="hd*[!0-9]", IMPORT{program}="ata_id --export $tempnode" -KERNEL=="hd*[!0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_SERIAL}" -KERNEL=="hd*[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_SERIAL}-part%n" - -LABEL="old_persistent_storage_end" - -############################################################################# - -# Old ide stuff from our custom 65-permissions.rules - -# permissions for IDE floppy devices -KERNEL=="hd*[!0-9]", SUBSYSTEMS=="ide", ATTRS{media}=="floppy", SYMLINK+="floppy floppy-%k" -KERNEL=="hd*[0-9]", ATTRS{media}=="floppy", ATTRS{removable}=="1", SYMLINK+="floppy-%k" - -# put all removable devices in group "plugdev" -KERNEL=="hd*[!0-9]", ATTR{removable}=="1", GROUP="plugdev" -KERNEL=="hd*[0-9]", ATTRS{removable}=="1", GROUP="plugdev" - -############################################################################# - diff --git a/source/a/udev/config/udev.conf b/source/a/udev/config/udev.conf deleted file mode 100644 index c8506e4b..00000000 --- a/source/a/udev/config/udev.conf +++ /dev/null @@ -1,14 +0,0 @@ -# udev.conf -# The main config file for udev -# -# This file can be used to override some of udev's default values for where it -# looks for files, and where it places device nodes. - -# udev_root - where in the filesystem to place the device nodes -udev_root="/dev/" - -# udev_log - The initial syslog(3) priority: "err", "info", "debug" or -# its numerical equivalent. For runtime debugging, the daemons -# internal state can be changed with: udevadm control log_priority=<value> -udev_log="err" - diff --git a/source/a/udev/fix-42-usb-hid-pm.rules.diff b/source/a/udev/fix-42-usb-hid-pm.rules.diff deleted file mode 100644 index 2a1d529f..00000000 --- a/source/a/udev/fix-42-usb-hid-pm.rules.diff +++ /dev/null @@ -1,18 +0,0 @@ -diff -u -r --new-file udev-182.orig/rules/42-usb-hid-pm.rules udev-182/rules/42-usb-hid-pm.rules ---- udev-182.orig/rules/42-usb-hid-pm.rules 2012-03-12 16:40:40.569534100 -0500 -+++ udev-182/rules/42-usb-hid-pm.rules 2012-09-10 13:36:44.171054934 -0500 -@@ -43,7 +43,13 @@ - ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="04b3", ATTR{idProduct}=="4012", TEST=="power/control", ATTR{power/control}="auto" - - # Raritan Computer, Inc KVM. --ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="14dd", ATTR{idProduct}="0002", TEST=="power/control", ATTR{power/control}="auto" -+ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="14dd", ATTR{idProduct}=="0002", TEST=="power/control", ATTR{power/control}="auto" - - # USB HID devices that are internal to the machine should also be safe to autosuspend -+ -+ACTION=="add", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", ATTRS{removable}=="removable", GOTO="usb_hid_pm_end" -+ACTION=="add", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", ATTRS{removable}=="unknown", GOTO="usb_hid_pm_end" -+ - ACTION=="add", SUBSYSTEM=="usb", ATTR{bInterfaceClass}=="03", ATTRS{removable}=="fixed", TEST=="../power/control", ATTR{../power/control}="auto" -+ -+LABEL="usb_hid_pm_end" diff --git a/source/a/udev/rule_generator.diff b/source/a/udev/rule_generator.diff deleted file mode 100644 index ff2acf80..00000000 --- a/source/a/udev/rule_generator.diff +++ /dev/null @@ -1,129 +0,0 @@ ---- ./src/rule_generator/write_cd_rules.orig 2012-01-28 18:15:46.958827013 -0600 -+++ ./src/rule_generator/write_cd_rules 2013-01-17 22:58:27.294859303 -0600 -@@ -3,7 +3,8 @@ - # This script is run if an optical drive lacks a rule for persistent naming. - # - # It adds symlinks for optical drives based on the device class determined --# by cdrom_id and used ID_PATH to identify the device. -+# by cdrom_id and uses ID_SERIAL or ID_MODEL and ID_REVISION to -+# identify the device. - - # (C) 2006 Marco d'Itri <md@Linux.IT> - # -@@ -66,37 +67,16 @@ - exit 1 - fi - --if [ "$1" ]; then -- METHOD="$1" -+# ID_PATH is gone from the ata subsystem used in recent kernels, so -+# always use the by-id method: -+if [ "$ID_SERIAL" ]; then -+ RULE="ENV{ID_SERIAL}==\"$ID_SERIAL\"" -+elif [ "$ID_MODEL" -a "$ID_REVISION" ]; then -+ RULE="ENV{ID_MODEL}==\"$ID_MODEL\", ENV{ID_REVISION}==\"$ID_REVISION\"" - else -- METHOD='by-path' --fi -- --case "$METHOD" in -- by-path) -- if [ -z "$ID_PATH" ]; then -- echo "$DEVPATH not supported by path_id. by-id may work." >&2 -- exit 1 -- fi -- RULE="ENV{ID_PATH}==\"$ID_PATH\"" -- ;; -- -- by-id) -- if [ "$ID_SERIAL" ]; then -- RULE="ENV{ID_SERIAL}==\"$ID_SERIAL\"" -- elif [ "$ID_MODEL" -a "$ID_REVISION" ]; then -- RULE="ENV{ID_MODEL}==\"$ID_MODEL\", ENV{ID_REVISION}==\"$ID_REVISION\"" -- else -- echo "$DEVPATH not supported by ata_id. by-path may work." >&2 -- exit 1 -- fi -- ;; -- -- *) -- echo "Invalid argument (must be either by-path or by-id)." >&2 -+ echo "$DEVPATH not supported by ata_id. Unable to generate persistent rules." >&2 - exit 1 -- ;; --esac -+fi - - # Prevent concurrent processes from modifying the file at the same time. - lock_rules_file -@@ -105,18 +85,62 @@ - choose_rules_file - - link_num=$(find_next_available 'cdrom[0-9]*') -+[ "$link_num" = "" ] && link_num=0 - - match="SUBSYSTEM==\"block\", ENV{ID_CDROM}==\"?*\", $RULE" - --comment="$ID_MODEL ($ID_PATH)" -- -+comment="$ID_MODEL ($ID_SERIAL)" - write_rule "$match" "cdrom$link_num" "$comment" --[ "$ID_CDROM_CD_R" -o "$ID_CDROM_CD_RW" ] && \ -- write_rule "$match" "cdrw$link_num" --[ "$ID_CDROM_DVD" ] && \ -- write_rule "$match" "dvd$link_num" --[ "$ID_CDROM_DVD_R" -o "$ID_CDROM_DVD_RW" -o "$ID_CDROM_DVD_RAM" ] && \ -- write_rule "$match" "dvdrw$link_num" -+ if [ "$link_num" = "0" ]; then -+ write_rule "$match" "cdrom" -+ fi -+ -+ if [ "$ID_CDROM_CD_R" ]; then -+ write_rule "$match" "cdr$link_num" -+ if [ "$link_num" = "0" ]; then -+ write_rule "$match" "cdr" -+ fi -+ -+ write_rule "$match" "cdwriter$link_num" -+ if [ "$link_num" = "0" ]; then -+ write_rule "$match" "cdwriter" -+ fi -+ -+ if [ "$ID_CDROM_CD_RW" ]; then -+ write_rule "$match" "cdrw$link_num" -+ if [ "$link_num" = "0" ]; then -+ write_rule "$match" "cdrw" -+ fi -+ fi -+ -+ if [ "$link_num" = "0" ]; then -+ write_rule "$match" "writer" -+ fi -+ fi -+ -+ if [ "$ID_CDROM_DVD" ]; then -+ write_rule "$match" "dvd$link_num" -+ if [ "$link_num" = "0" ]; then -+ write_rule "$match" "dvd" -+ fi -+ -+ if [ "$ID_CDROM_DVD_R" -o "$ID_CDROM_DVD_RW" -o "$ID_CDROM_DVD_RAM" ]; then -+ write_rule "$match" "dvdr$link_num" -+ if [ "$link_num" = "0" ]; then -+ write_rule "$match" "dvdr" -+ fi -+ -+ write_rule "$match" "dvdrw$link_num" -+ if [ "$link_num" = "0" ]; then -+ write_rule "$match" "dvdrw" -+ fi -+ -+ write_rule "$match" "dvdwriter$link_num" -+ if [ "$link_num" = "0" ]; then -+ write_rule "$match" "dvdwriter" -+ fi -+ fi -+ fi - echo >> $RULES_FILE - - unlock_rules_file diff --git a/source/a/udev/slack-desc b/source/a/udev/slack-desc deleted file mode 100644 index c411756c..00000000 --- a/source/a/udev/slack-desc +++ /dev/null @@ -1,19 +0,0 @@ -# HOW TO EDIT THIS FILE: -# The "handy ruler" below makes it easier to edit a package description. Line -# up the first '|' above the ':' following the base package name, and the '|' on -# the right side marks the last column you can put a character in. You must make -# exactly 11 lines for the formatting to be correct. It's also customary to -# leave one space after the ':'. - - |-----handy-ruler-------------------------------------------------------| -udev: udev (dynamic device directory system) -udev: -udev: udev provides a dynamic device directory containing only the files -udev: for the devices which are actually present. It creates or removes -udev: device node files usually located in the /dev directory. -udev: -udev: udev requires a 2.6 or newer kernel. -udev: -udev: Kay Sievers is the udev maintainer. -udev: -udev: diff --git a/source/a/udev/udev-ata_id-fixup-all-8-not-only-6-bytes-of-the-fw_rev.patch b/source/a/udev/udev-ata_id-fixup-all-8-not-only-6-bytes-of-the-fw_rev.patch deleted file mode 100644 index bfa0c76a..00000000 --- a/source/a/udev/udev-ata_id-fixup-all-8-not-only-6-bytes-of-the-fw_rev.patch +++ /dev/null @@ -1,27 +0,0 @@ -Adapted from the following patch (path and actual line number changes): - -From daa9cf546ce7265645ced9592dd54c6b2fc04302 Mon Sep 17 00:00:00 2001 -From: Kay Sievers <kay@vrfy.org> -Date: Thu, 5 Jul 2012 16:53:08 +0200 -Subject: [PATCH] udev: ata_id - fixup all 8 not only 6 bytes of the fw_rev - string - -The last two digits are in the wrong order: - $ hdparm -I /dev/sda | grep Revision - 4PC10362 - - $ /lib/udev/ata_id -x /dev/sda | grep REVISION - 4PC10326 - -diff -Nur udev-182.orig/src/ata_id/ata_id.c udev-182/src/ata_id/ata_id.c ---- udev-182.orig/src/ata_id/ata_id.c 2012-03-13 19:00:51.220734316 -0500 -+++ udev-182/src/ata_id/ata_id.c 2012-07-14 19:48:34.224478831 -0500 -@@ -511,7 +511,7 @@ - * use and copy it into the hd_driveid struct for convenience - */ - disk_identify_fixup_string (identify, 10, 20); /* serial */ -- disk_identify_fixup_string (identify, 23, 6); /* fwrev */ -+ disk_identify_fixup_string (identify, 23, 8); /* fwrev */ - disk_identify_fixup_string (identify, 27, 40); /* model */ - disk_identify_fixup_uint16 (identify, 0); /* configuration */ - disk_identify_fixup_uint16 (identify, 75); /* queue depth */ diff --git a/source/a/udisks/udisks.SlackBuild b/source/a/udisks/udisks.SlackBuild index 86a90bdf..dc9b4c78 100755 --- a/source/a/udisks/udisks.SlackBuild +++ b/source/a/udisks/udisks.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for udisks -# Copyright 2010, 2011 Robby Workman, Northport, Alabama, USA +# Copyright 2010, 2011, 2014, 2015 Robby Workman, Northport, Alabama, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -27,7 +27,7 @@ PKGNAM=udisks VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-2} +BUILD=${BUILD:-3} NUMJOBS=${NUMJOBS:--j7} @@ -35,7 +35,7 @@ NUMJOBS=${NUMJOBS:--j7} MARCH=$( uname -m ) if [ -z "$ARCH" ]; then case "$MARCH" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; armv7hl) export ARCH=$MARCH ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: @@ -43,8 +43,8 @@ if [ -z "$ARCH" ]; then esac fi -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -82,6 +82,8 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; +zcat $CWD/udisks.no.pci-db.diff.gz | patch -p1 --verbose || exit 1 + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ @@ -99,10 +101,12 @@ make install DESTDIR=$PKG || exit 1 find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true -# Move the bash completion file to the right place -mkdir -p $PKG/etc/bash_completion.d +# Move the bash completion file to the system directory +# Put bash-completion file in system directory: +mkdir -p $PKG/usr/share/bash-completion/completions/ mv $PKG/etc/profile.d/udisks-bash-completion.sh \ - $PKG/etc/bash_completion.d/udisks + $PKG/usr/share/bash-completion/completions/udisks +rmdir --parents $PKG/etc/profile.d find $PKG/usr/man -type f -exec gzip -9 {} \; for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done diff --git a/source/a/udisks/udisks.no.pci-db.diff b/source/a/udisks/udisks.no.pci-db.diff new file mode 100644 index 00000000..ebb773c6 --- /dev/null +++ b/source/a/udisks/udisks.no.pci-db.diff @@ -0,0 +1,32 @@ +From c73b5ab54378ec6d7df9948c46ce87f98587af9a Mon Sep 17 00:00:00 2001 +From: Tom Gundersen <teg@jklm.no> +Date: Wed, 21 Nov 2012 02:36:47 +0100 +Subject: [PATCH] udev: remove redundant call to deprecated pci-db + +The binary is no longer shipped with systemd/udev. The functionality +is taken over by a builtin, which is ran for all devices, rendering +this rule superfluous. + +Cc: Jan de Groot <jgc@archlinux.org> +Signed-off-by: Tom Gundersen <teg@jklm.no> +--- + data/80-udisks.rules | 4 ---- + 1 file changed, 4 deletions(-) + +diff --git a/data/80-udisks.rules b/data/80-udisks.rules +index d1c8c5d..4bf2b37 100644 +--- a/data/80-udisks.rules ++++ b/data/80-udisks.rules +@@ -1,10 +1,6 @@ + # Do not edit this file, it will be overwritten on updates + # + +-# import names for PCI storage controllers +-# +-SUBSYSTEM=="pci", ACTION=="add|change", ENV{ID_MODEL_FROM_DATABASE}=="", ATTR{class}=="0x01*", IMPORT{program}="pci-db %p" +- + # Set eSATA port type for known eSATA CardBus adapters - first we want to ensure + # the device is on a cardbus controller (upper PCI device) - then we check + # vid/pid (lower PCI device) +-- +1.8.0.1 diff --git a/source/a/udisks2/udisks2.SlackBuild b/source/a/udisks2/udisks2.SlackBuild index 4316488e..ac16da2e 100755 --- a/source/a/udisks2/udisks2.SlackBuild +++ b/source/a/udisks2/udisks2.SlackBuild @@ -27,7 +27,7 @@ PKGNAM=udisks2 SRCNAM=udisks VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} NUMJOBS=${NUMJOBS:--j7} @@ -35,7 +35,7 @@ NUMJOBS=${NUMJOBS:--j7} MARCH=$( uname -m ) if [ -z "$ARCH" ]; then case "$MARCH" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; armv7hl) export ARCH=$MARCH ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: @@ -43,8 +43,8 @@ if [ -z "$ARCH" ]; then esac fi -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" diff --git a/source/a/upower/patches/Fix-HID-rules-header-as-per-discussions.patch b/source/a/upower/patches/Fix-HID-rules-header-as-per-discussions.patch new file mode 100644 index 00000000..d6100394 --- /dev/null +++ b/source/a/upower/patches/Fix-HID-rules-header-as-per-discussions.patch @@ -0,0 +1,36 @@ +From ae9f8521c6f900255df1b6c7bc9f6adfd09abda5 Mon Sep 17 00:00:00 2001 +From: Arnaud Quette <arnaud.quette@free.fr> +Date: Mon, 22 Jun 2015 15:11:15 +0200 +Subject: [PATCH 1/2] Fix HID rules header, as per discussions + +Signed-off-by: Richard Hughes <richard@hughsie.com> +--- + rules/95-upower-hid.rules | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/rules/95-upower-hid.rules b/rules/95-upower-hid.rules +index dcf4380..767e9bc 100644 +--- a/rules/95-upower-hid.rules ++++ b/rules/95-upower-hid.rules +@@ -1,10 +1,16 @@ + ############################################################################################################## + # Uninterruptible Power Supplies with USB HID interfaces + # +-# to keep up to date, monitor: http://svn.debian.org/wsvn/nut/trunk/scripts/upower/95-upower-hid.rules ++# This file was automatically generated by NUT: ++# https://github.com/networkupstools/nut/ ++# ++# To keep up to date, monitor upstream NUT ++# https://github.com/networkupstools/nut/commits/master/scripts/upower/95-upower-hid.rules ++# or checkout the NUT repository and call 'tools/nut-usbinfo.pl' + +-# only support USB, else ignore ++# newer hiddev are part of the usbmisc class + SUBSYSTEM=="usbmisc", GOTO="up_hid_chkdev" ++# only support USB, else ignore + SUBSYSTEM!="usb", GOTO="up_hid_end" + + # if usbraw device, ignore +-- +2.6.4 + diff --git a/source/a/upower/patches/Update-UPower-HID-rules-supported-devices-list.patch b/source/a/upower/patches/Update-UPower-HID-rules-supported-devices-list.patch new file mode 100644 index 00000000..8ef4498c --- /dev/null +++ b/source/a/upower/patches/Update-UPower-HID-rules-supported-devices-list.patch @@ -0,0 +1,114 @@ +From fc27cbd5cb098ccf6c70110fe1b894987328fc0d Mon Sep 17 00:00:00 2001 +From: Arnaud Quette <arnaud.quette@free.fr> +Date: Mon, 8 Jun 2015 10:08:24 +0200 +Subject: [PATCH 2/2] Update UPower HID rules - supported devices list + +As per update on the NUT - Network UPS Tools project, this first patch +adds some more supported devices to the rules file + +Signed-off-by: Richard Hughes <richard@hughsie.com> +--- + rules/95-upower-hid.rules | 31 +++++++++++++++++++++++++++++-- + 1 file changed, 29 insertions(+), 2 deletions(-) + +diff --git a/rules/95-upower-hid.rules b/rules/95-upower-hid.rules +index 767e9bc..e064ef7 100644 +--- a/rules/95-upower-hid.rules ++++ b/rules/95-upower-hid.rules +@@ -23,21 +23,31 @@ ENV{DEVTYPE}=="usb_interface", GOTO="up_hid_end" + ATTRS{idVendor}=="03f0", ENV{UPOWER_VENDOR}="Hewlett Packard" + ATTRS{idVendor}=="0463", ENV{UPOWER_VENDOR}="Eaton" + ATTRS{idVendor}=="047c", ENV{UPOWER_VENDOR}="Dell" ++ATTRS{idVendor}=="04d8", ENV{UPOWER_VENDOR}="Minibox" + ATTRS{idVendor}=="050d", ENV{UPOWER_VENDOR}="Belkin" + ATTRS{idVendor}=="051d", ENV{UPOWER_VENDOR}="APC" +-ATTRS{idVendor}=="06da", ENV{UPOWER_VENDOR}="Liebert" ++ATTRS{idVendor}=="0592", ENV{UPOWER_VENDOR}="Powerware" ++ATTRS{idVendor}=="06da", ENV{UPOWER_VENDOR}="Phoenixtec Power Co., Ltd" ++ATTRS{idVendor}=="075d", ENV{UPOWER_VENDOR}="iDowell" + ATTRS{idVendor}=="0764", ENV{UPOWER_VENDOR}="Cyber Power Systems" + ATTRS{idVendor}=="09ae", ENV{UPOWER_VENDOR}="TrippLite" + ATTRS{idVendor}=="0d9f", ENV{UPOWER_VENDOR}="PowerCOM" + ATTRS{idVendor}=="10af", ENV{UPOWER_VENDOR}="Liebert" + + # Hewlett Packard ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0001", ENV{UPOWER_BATTERY_TYPE}="ups" + ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1f06", ENV{UPOWER_BATTERY_TYPE}="ups" + ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1f08", ENV{UPOWER_BATTERY_TYPE}="ups" + ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1f09", ENV{UPOWER_BATTERY_TYPE}="ups" + ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1f0a", ENV{UPOWER_BATTERY_TYPE}="ups" + ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe0", ENV{UPOWER_BATTERY_TYPE}="ups" + ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe1", ENV{UPOWER_BATTERY_TYPE}="ups" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe2", ENV{UPOWER_BATTERY_TYPE}="ups" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe3", ENV{UPOWER_BATTERY_TYPE}="ups" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe5", ENV{UPOWER_BATTERY_TYPE}="ups" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe6", ENV{UPOWER_BATTERY_TYPE}="ups" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe7", ENV{UPOWER_BATTERY_TYPE}="ups" ++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe8", ENV{UPOWER_BATTERY_TYPE}="ups" + + # Eaton + ATTRS{idVendor}=="0463", ATTRS{idProduct}=="0001", ENV{UPOWER_BATTERY_TYPE}="ups" +@@ -46,6 +56,10 @@ ATTRS{idVendor}=="0463", ATTRS{idProduct}=="ffff", ENV{UPOWER_BATTERY_TYPE}="ups + # Dell + ATTRS{idVendor}=="047c", ATTRS{idProduct}=="ffff", ENV{UPOWER_BATTERY_TYPE}="ups" + ++# Minibox ++ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="d004", ENV{UPOWER_BATTERY_TYPE}="ups" ++ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="d005", ENV{UPOWER_BATTERY_TYPE}="ups" ++ + # Belkin + ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0375", ENV{UPOWER_BATTERY_TYPE}="ups" + ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0551", ENV{UPOWER_BATTERY_TYPE}="ups" +@@ -55,15 +69,23 @@ ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0900", ENV{UPOWER_BATTERY_TYPE}="ups + ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0910", ENV{UPOWER_BATTERY_TYPE}="ups" + ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0912", ENV{UPOWER_BATTERY_TYPE}="ups" + ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0980", ENV{UPOWER_BATTERY_TYPE}="ups" ++ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0f51", ENV{UPOWER_BATTERY_TYPE}="ups" + ATTRS{idVendor}=="050d", ATTRS{idProduct}=="1100", ENV{UPOWER_BATTERY_TYPE}="ups" + + # APC ++ATTRS{idVendor}=="051d", ATTRS{idProduct}=="0000", ENV{UPOWER_BATTERY_TYPE}="ups" + ATTRS{idVendor}=="051d", ATTRS{idProduct}=="0002", ENV{UPOWER_BATTERY_TYPE}="ups" + ATTRS{idVendor}=="051d", ATTRS{idProduct}=="0003", ENV{UPOWER_BATTERY_TYPE}="ups" + +-# Liebert ++# Powerware ++ATTRS{idVendor}=="0592", ATTRS{idProduct}=="0004", ENV{UPOWER_BATTERY_TYPE}="ups" ++ ++# Phoenixtec Power Co., Ltd + ATTRS{idVendor}=="06da", ATTRS{idProduct}=="ffff", ENV{UPOWER_BATTERY_TYPE}="ups" + ++# iDowell ++ATTRS{idVendor}=="075d", ATTRS{idProduct}=="0300", ENV{UPOWER_BATTERY_TYPE}="ups" ++ + # Cyber Power Systems + ATTRS{idVendor}=="0764", ATTRS{idProduct}=="0005", ENV{UPOWER_BATTERY_TYPE}="ups" + ATTRS{idVendor}=="0764", ATTRS{idProduct}=="0501", ENV{UPOWER_BATTERY_TYPE}="ups" +@@ -92,6 +114,7 @@ ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3012", ENV{UPOWER_BATTERY_TYPE}="ups + ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3013", ENV{UPOWER_BATTERY_TYPE}="ups" + ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3014", ENV{UPOWER_BATTERY_TYPE}="ups" + ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3015", ENV{UPOWER_BATTERY_TYPE}="ups" ++ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3016", ENV{UPOWER_BATTERY_TYPE}="ups" + ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4001", ENV{UPOWER_BATTERY_TYPE}="ups" + ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4002", ENV{UPOWER_BATTERY_TYPE}="ups" + ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4003", ENV{UPOWER_BATTERY_TYPE}="ups" +@@ -102,6 +125,8 @@ ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4007", ENV{UPOWER_BATTERY_TYPE}="ups + ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4008", ENV{UPOWER_BATTERY_TYPE}="ups" + + # PowerCOM ++ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="0001", ENV{UPOWER_BATTERY_TYPE}="ups" ++ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="0004", ENV{UPOWER_BATTERY_TYPE}="ups" + ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="00a2", ENV{UPOWER_BATTERY_TYPE}="ups" + ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="00a3", ENV{UPOWER_BATTERY_TYPE}="ups" + ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="00a4", ENV{UPOWER_BATTERY_TYPE}="ups" +@@ -110,5 +135,7 @@ ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="00a6", ENV{UPOWER_BATTERY_TYPE}="ups + + # Liebert + ATTRS{idVendor}=="10af", ATTRS{idProduct}=="0001", ENV{UPOWER_BATTERY_TYPE}="ups" ++ATTRS{idVendor}=="10af", ATTRS{idProduct}=="0004", ENV{UPOWER_BATTERY_TYPE}="ups" ++ATTRS{idVendor}=="10af", ATTRS{idProduct}=="0008", ENV{UPOWER_BATTERY_TYPE}="ups" + + LABEL="up_hid_end" +-- +2.6.4 + diff --git a/source/a/upower/patches/linux-Clamp-percentage-for-overfull-batteries.patch b/source/a/upower/patches/linux-Clamp-percentage-for-overfull-batteries.patch new file mode 100644 index 00000000..bb97ca78 --- /dev/null +++ b/source/a/upower/patches/linux-Clamp-percentage-for-overfull-batteries.patch @@ -0,0 +1,77 @@ +From b8fe9902f3c6c50ca6a23e24fcea99582beebc65 Mon Sep 17 00:00:00 2001 +From: Martin Pitt <martinpitt@gnome.org> +Date: Tue, 22 Oct 2013 10:02:51 +0200 +Subject: [PATCH 2/3] linux: Clamp percentage for overfull batteries + +Some batteries report energy > energy_full and a percentage ("capacity" +attribute) > 100%. Clamp these within 0 and 100% for both plausibility as well +as to avoid setting an out-of-range property which would then become 0%. + +https://launchpad.net/bugs/1240673 +--- + src/linux/integration-test | 33 +++++++++++++++++++++++++++++++++ + src/linux/up-device-supply.c | 4 ++++ + 2 files changed, 37 insertions(+) + +diff --git a/src/linux/integration-test b/src/linux/integration-test +index 8489bf3..4be1922 100755 +--- a/src/linux/integration-test ++++ b/src/linux/integration-test +@@ -442,6 +442,39 @@ class Tests(unittest.TestCase): + self.assertEqual(self.get_dbus_property('OnLowBattery'), False) + self.stop_daemon() + ++ def test_battery_overfull(self): ++ '''battery which reports a > 100% percentage for a full battery''' ++ ++ self.testbed.add_device('power_supply', 'BAT0', None, ++ ['type', 'Battery', ++ 'present', '1', ++ 'status', 'Full', ++ 'current_now', '1000', ++ 'charge_now', '11000000', ++ 'charge_full', '10000000', ++ 'charge_full_design', '11000000', ++ 'capacity', '110', ++ 'voltage_now', '12000000'], []) ++ ++ self.start_daemon() ++ devs = self.proxy.EnumerateDevices() ++ self.assertEqual(len(devs), 1) ++ bat0_up = devs[0] ++ ++ # should clamp percentage ++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Percentage'), 100.0) ++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'IsPresent'), True) ++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'State'), ++ UP_DEVICE_STATE_FULLY_CHARGED) ++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Energy'), 132.0) ++ # should adjust EnergyFull to reality, not what the battery claims ++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'EnergyFull'), 132.0) ++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'EnergyFullDesign'), 132.0) ++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Voltage'), 12.0) ++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'PowerSupply'), True) ++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Type'), 2) ++ self.stop_daemon() ++ + def test_battery_temperature(self): + '''battery which reports temperature''' + +diff --git a/src/linux/up-device-supply.c b/src/linux/up-device-supply.c +index 8020277..b953d65 100644 +--- a/src/linux/up-device-supply.c ++++ b/src/linux/up-device-supply.c +@@ -708,6 +708,10 @@ up_device_supply_refresh_battery (UpDeviceSupply *supply) + /* get a precise percentage */ + if (sysfs_file_exists (native_path, "capacity")) { + percentage = sysfs_get_double (native_path, "capacity"); ++ if (percentage < 0.0f) ++ percentage = 0.0f; ++ if (percentage > 100.0f) ++ percentage = 100.0f; + /* for devices which provide capacity, but not {energy,charge}_now */ + if (energy < 0.1f && energy_full > 0.0f) + energy = energy_full * percentage / 100; +-- +2.6.4 + diff --git a/source/a/upower/patches/linux-Detect-docked-docking-stations-correctly.patch b/source/a/upower/patches/linux-Detect-docked-docking-stations-correctly.patch new file mode 100644 index 00000000..bed83d8e --- /dev/null +++ b/source/a/upower/patches/linux-Detect-docked-docking-stations-correctly.patch @@ -0,0 +1,84 @@ +From a6e830cd652a086161f04b049c84283e0573881b Mon Sep 17 00:00:00 2001 +From: Bastien Nocera <hadess@hadess.net> +Date: Wed, 15 Feb 2012 17:50:00 +0000 +Subject: [PATCH 3/3] linux: Detect docked docking stations correctly + +Instead of counting the number of graphics outputs, check +all the devices the platform/dock_station subsystem that +export a "dock_station" type. + +Based on patch by Armando Di Cianno <armando@goodship.net> + +https://bugs.freedesktop.org/show_bug.cgi?id=36818 +--- + src/linux/up-dock.c | 38 +++++++++++++++++++------------------- + 1 file changed, 19 insertions(+), 19 deletions(-) + +diff --git a/src/linux/up-dock.c b/src/linux/up-dock.c +index f9a7c67..4fe904e 100644 +--- a/src/linux/up-dock.c ++++ b/src/linux/up-dock.c +@@ -46,22 +46,23 @@ G_DEFINE_TYPE (UpDock, up_dock, G_TYPE_OBJECT) + * up_dock_device_check: + **/ + static gboolean +-up_dock_device_check (GUdevDevice *d) ++up_dock_device_check (GUdevDevice *device) + { +- const gchar *status; +- gboolean ret = FALSE; +- +- /* Get the boolean state from the kernel -- note that ideally +- * the property value would be "1" or "true" but now it's +- * set in stone as ABI. Urgh. */ +- status = g_udev_device_get_sysfs_attr (d, "status"); +- if (status == NULL) +- goto out; +- ret = (g_strcmp0 (status, "connected") == 0); +- g_debug ("graphics device %s is %s", +- g_udev_device_get_sysfs_path (d), +- ret ? "on" : "off"); +-out: ++ gint docked; ++ gboolean ret; ++ ++ /* Is it a docking station? */ ++ if (g_strcmp0 (g_udev_device_get_sysfs_attr (device, "dock_type"), "dock_station") != 0) ++ return FALSE; ++ ++ /* Get the boolean state from the kernel */ ++ if (g_udev_device_get_sysfs_attr (device, "docked") == NULL) ++ return FALSE; ++ ++ docked = g_udev_device_get_sysfs_attr_as_int (device, "docked"); ++ ret = (docked == 1); ++ g_debug ("dock_station %s is %s", g_udev_device_get_sysfs_path (device), ret ? "docked" : "undocked"); ++ + return ret; + } + +@@ -76,10 +77,9 @@ up_dock_refresh (UpDock *dock) + GUdevDevice *native; + guint count = 0; + +- /* the metric we're using here is that a machine is docked when +- * there is more than one active output */ ++ /* check to see if there are any docking stations, and if they are docked */ + devices = g_udev_client_query_by_subsystem (dock->priv->gudev_client, +- "drm"); ++ "platform/dock_station"); + for (l = devices; l != NULL; l = l->next) { + native = l->data; + count += up_dock_device_check (native); +@@ -163,7 +163,7 @@ up_dock_uevent_signal_handler_cb (GUdevClient *client, const gchar *action, + static void + up_dock_init (UpDock *dock) + { +- const gchar *subsystems[] = { "drm", NULL}; ++ const gchar *subsystems[] = { "platform/dock_station", NULL}; + dock->priv = UP_DOCK_GET_PRIVATE (dock); + dock->priv->gudev_client = g_udev_client_new (subsystems); + g_signal_connect (dock->priv->gudev_client, "uevent", +-- +2.6.4 + diff --git a/source/a/upower/patches/linux-Properly-detect-bluetooth-mice-and-keyboards-t.patch b/source/a/upower/patches/linux-Properly-detect-bluetooth-mice-and-keyboards-t.patch new file mode 100644 index 00000000..55de33b7 --- /dev/null +++ b/source/a/upower/patches/linux-Properly-detect-bluetooth-mice-and-keyboards-t.patch @@ -0,0 +1,141 @@ +From 6c706ff03365e462e1b076155428decbed0f55c6 Mon Sep 17 00:00:00 2001 +From: Marc Deslauriers <marc.deslauriers@ubuntu.com> +Date: Mon, 4 May 2015 19:31:31 -0400 +Subject: [PATCH] linux: Properly detect bluetooth mice and keyboards that are + HID devices + +https://bugs.freedesktop.org/show_bug.cgi?id=90222 +--- + src/linux/integration-test | 41 +++++++++++++++++++++++++++++++++++++ + src/linux/up-device-supply.c | 48 ++++++++++++++++++++++++++++---------------- + 2 files changed, 72 insertions(+), 17 deletions(-) + +diff --git a/src/linux/integration-test b/src/linux/integration-test +index ad7152a..b83f80d 100755 +--- a/src/linux/integration-test ++++ b/src/linux/integration-test +@@ -761,6 +761,47 @@ class Tests(unittest.TestCase): + self.assertEqual(self.get_dbus_dev_property(mb1_up, 'Percentage'), 30) + self.assertEqual(self.get_dbus_dev_property(mb1_up, 'PowerSupply'), False) + ++ def test_bluetooth_hid_mouse(self): ++ '''bluetooth HID mouse battery''' ++ ++ self.testbed.add_device('hid', ++ 'usb1/bluetooth/hci0/hci0:01', ++ None, ++ [], []) ++ ++ self.testbed.add_device( ++ 'input', ++ 'usb1/bluetooth/hci0/hci0:01/input/input2/mouse3', ++ None, ++ [], ['DEVNAME', 'input/mouse3', 'ID_INPUT_MOUSE', '1']) ++ ++ self.testbed.add_device( ++ 'power_supply', ++ 'usb1/bluetooth/hci0/hci0:01/1/power_supply/hid-00:11:22:33:44:55-battery', ++ None, ++ ['type', 'Battery', ++ 'scope', 'Device', ++ 'present', '1', ++ 'online', '1', ++ 'status', 'Discharging', ++ 'capacity', '30', ++ 'model_name', 'Fancy BT mouse'], ++ []) ++ ++ self.start_daemon() ++ devs = self.proxy.EnumerateDevices() ++ self.assertEqual(len(devs), 1) ++ mousebat0_up = devs[0] ++ ++ self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Model'), 'Fancy BT mouse') ++ self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Percentage'), 30) ++ self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'PowerSupply'), False) ++ # 5 == mouse ++ self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Type'), 5) ++ self.assertEqual(self.get_dbus_property('OnBattery'), False) ++ self.assertEqual(self.get_dbus_display_property('WarningLevel'), UP_DEVICE_LEVEL_NONE) ++ self.stop_daemon() ++ + def test_bluetooth_keyboard(self): + '''bluetooth keyboard battery''' + +diff --git a/src/linux/up-device-supply.c b/src/linux/up-device-supply.c +index 1f86382..b96080b 100644 +--- a/src/linux/up-device-supply.c ++++ b/src/linux/up-device-supply.c +@@ -932,9 +932,12 @@ up_device_supply_coldplug (UpDevice *device) + const gchar *scope; + gchar *device_type = NULL; + gchar *input_path = NULL; ++ gchar *subdir = NULL; + GDir *dir = NULL; + GError *error = NULL; + UpDeviceKind type = UP_DEVICE_KIND_UNKNOWN; ++ guint i; ++ const char *class[] = { "hid", "bluetooth" }; + + up_device_supply_reset_values (supply); + +@@ -970,28 +973,39 @@ up_device_supply_coldplug (UpDevice *device) + if (g_ascii_strcasecmp (device_type, "mains") == 0) { + type = UP_DEVICE_KIND_LINE_POWER; + } else if (g_ascii_strcasecmp (device_type, "battery") == 0) { ++ for (i = 0; i < G_N_ELEMENTS(class) && type == UP_DEVICE_KIND_UNKNOWN; i++) { ++ /* Detect if the battery comes from bluetooth keyboard or mouse. */ ++ bluetooth = g_udev_device_get_parent_with_subsystem (native, class[i], NULL); ++ if (bluetooth != NULL) { ++ device_path = g_udev_device_get_sysfs_path (bluetooth); ++ ++ /* There may be an extra subdirectory here */ ++ subdir = g_build_filename (device_path, "input", NULL); ++ if (!g_file_test (subdir, G_FILE_TEST_IS_DIR)) { ++ g_free(subdir); ++ subdir = g_strdup (device_path); ++ } + +- /* Detect if the battery comes from bluetooth keyboard or mouse. */ +- bluetooth = g_udev_device_get_parent_with_subsystem (native, "bluetooth", NULL); +- if (bluetooth != NULL) { +- device_path = g_udev_device_get_sysfs_path (bluetooth); +- if ((dir = g_dir_open (device_path, 0, &error))) { +- while ((file = g_dir_read_name (dir))) { +- /* Check if it is an input device. */ +- if (g_str_has_prefix (file, "input")) { +- input_path = g_build_filename (device_path, file, NULL); +- break; ++ if ((dir = g_dir_open (subdir, 0, &error))) { ++ while ((file = g_dir_read_name (dir))) { ++ /* Check if it is an input device. */ ++ if (g_str_has_prefix (file, "input")) { ++ input_path = g_build_filename (subdir, file, NULL); ++ break; ++ } + } ++ g_dir_close (dir); ++ } else { ++ g_warning ("Can not open folder %s: %s", device_path, error->message); ++ g_error_free (error); + } +- g_dir_close (dir); +- } else { +- g_warning ("Can not open folder %s: %s", device_path, error->message); +- g_error_free (error); ++ g_free (subdir); ++ g_object_unref (bluetooth); + } +- g_object_unref (bluetooth); +- } + +- if (input_path != NULL) { ++ if (input_path == NULL) ++ continue; ++ + if ((dir = g_dir_open (input_path, 0, &error))) { + while ((file = g_dir_read_name (dir))) { + /* Check if it is a mouse device. */ +-- +2.6.3 + diff --git a/source/a/upower/patches/rules-Add-support-for-Logitech-G700s-G700-Gaming-Mou.patch b/source/a/upower/patches/rules-Add-support-for-Logitech-G700s-G700-Gaming-Mou.patch new file mode 100644 index 00000000..1826c416 --- /dev/null +++ b/source/a/upower/patches/rules-Add-support-for-Logitech-G700s-G700-Gaming-Mou.patch @@ -0,0 +1,23 @@ +From 305f62adf052aa972523d083ca44d3050f659ec9 Mon Sep 17 00:00:00 2001 +From: muzena <trebelnik2@gmail.com> +Date: Wed, 8 Jul 2015 17:11:25 +0200 +Subject: [PATCH 4/4] rules: Add support for Logitech G700s/G700 Gaming Mouse + +https://bugs.freedesktop.org/show_bug.cgi?id=91270 +--- + rules/95-upower-csr.rules | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/rules/95-upower-csr.rules b/rules/95-upower-csr.rules +index 39539ca..3b83665 100644 +--- a/rules/95-upower-csr.rules ++++ b/rules/95-upower-csr.rules +@@ -29,4 +29,5 @@ ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c532", DRIVER=="logitech-djdevice", + ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52b", DRIVER=="logitech-hidpp-device", ENV{UPOWER_BATTERY_TYPE}="unifying" + ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c532", DRIVER=="logitech-hidpp-device", ENV{UPOWER_BATTERY_TYPE}="unifying" + ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52f", ENV{UPOWER_BATTERY_TYPE}="lg-wireless" ++ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c531", ENV{UPOWER_BATTERY_TYPE}="lg-wireless" + LABEL="up_unifying_end" +-- +2.6.4 + diff --git a/source/a/upower/patches/rules-support-Logitech-Unifying-in-Linux-3.19.patch b/source/a/upower/patches/rules-support-Logitech-Unifying-in-Linux-3.19.patch new file mode 100644 index 00000000..adcba238 --- /dev/null +++ b/source/a/upower/patches/rules-support-Logitech-Unifying-in-Linux-3.19.patch @@ -0,0 +1,30 @@ +From f8104a112eb967cd4c2aaf57b5a59aafe7c4738f Mon Sep 17 00:00:00 2001 +From: Peter Wu <peter@lekensteyn.nl> +Date: Wed, 21 Jan 2015 15:56:23 +0100 +Subject: [PATCH] rules: support Logitech Unifying in Linux 3.19 + +Linux 3.19 changed the way in which devices get registered by +introducing a hid-logitech-hidpp module. The driver name therefore needs +to be adjusted. + +Signed-off-by: Peter Wu <peter@lekensteyn.nl> +--- + rules/95-upower-csr.rules | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/rules/95-upower-csr.rules b/rules/95-upower-csr.rules +index b476660..39539ca 100644 +--- a/rules/95-upower-csr.rules ++++ b/rules/95-upower-csr.rules +@@ -25,5 +25,8 @@ SUBSYSTEM!="hid", GOTO="up_unifying_end" + ATTRS{idVendor}=="046d", ENV{UPOWER_VENDOR}="Logitech, Inc." + ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52b", DRIVER=="logitech-djdevice", ENV{UPOWER_BATTERY_TYPE}="unifying" + ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c532", DRIVER=="logitech-djdevice", ENV{UPOWER_BATTERY_TYPE}="unifying" ++# These devices bind to the hid-logitech-hidpp module since Linux 3.19 ++ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52b", DRIVER=="logitech-hidpp-device", ENV{UPOWER_BATTERY_TYPE}="unifying" ++ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c532", DRIVER=="logitech-hidpp-device", ENV{UPOWER_BATTERY_TYPE}="unifying" + ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52f", ENV{UPOWER_BATTERY_TYPE}="lg-wireless" + LABEL="up_unifying_end" +-- +2.6.3 + diff --git a/source/a/upower/patches/upower-pm-utils-0.9.23-fix-segfault.patch b/source/a/upower/patches/upower-pm-utils-0.9.23-fix-segfault.patch new file mode 100644 index 00000000..3e897632 --- /dev/null +++ b/source/a/upower/patches/upower-pm-utils-0.9.23-fix-segfault.patch @@ -0,0 +1,24 @@ +From 0d64bbddaa0078ef148d609a3cfad854cf00d7de Mon Sep 17 00:00:00 2001 +From: Martin Pitt <martinpitt@gnome.org> +Date: Fri, 08 Nov 2013 13:59:50 +0000 +Subject: lib: Fix segfault on getting property when daemon is not running + +This fixes "upower --version" when the daemon is not running, and thus the +client proxy is NULL. +--- +diff --git a/libupower-glib/up-client.c b/libupower-glib/up-client.c +index 35d7b5d..17fb02d 100644 +--- a/libupower-glib/up-client.c ++++ b/libupower-glib/up-client.c +@@ -322,6 +322,9 @@ up_client_get_property (GObject *object, + UpClient *client; + client = UP_CLIENT (object); + ++ if (client->priv->proxy == NULL) ++ return; ++ + switch (prop_id) { + case PROP_DAEMON_VERSION: + g_value_set_string (value, up_client_glue_get_daemon_version (client->priv->proxy)); +-- +cgit v0.9.0.2-2-gbebe diff --git a/source/a/upower/upower.SlackBuild b/source/a/upower/upower.SlackBuild index e5831960..93b2a69a 100755 --- a/source/a/upower/upower.SlackBuild +++ b/source/a/upower/upower.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for upower -# Copyright 2010, 2011 Robby Workman, Northport, Alabama, USA +# Copyright 2010, 2011, 2015 Robby Workman, Tuscaloosa, Alabama, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -27,7 +27,7 @@ PKGNAM=upower VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d- | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-3} NUMJOBS=${NUMJOBS:--j7} @@ -35,7 +35,7 @@ NUMJOBS=${NUMJOBS:--j7} MARCH=$( uname -m ) if [ -z "$ARCH" ]; then case "$MARCH" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; armv7hl) export ARCH=$MARCH ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: @@ -43,8 +43,8 @@ if [ -z "$ARCH" ]; then esac fi -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -82,6 +82,15 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; +zcat $CWD/patches/upower-pm-utils-0.9.23-fix-segfault.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/linux-Properly-detect-bluetooth-mice-and-keyboards-t.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/rules-support-Logitech-Unifying-in-Linux-3.19.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/linux-Clamp-percentage-for-overfull-batteries.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/linux-Detect-docked-docking-stations-correctly.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/Fix-HID-rules-header-as-per-discussions.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/Update-UPower-HID-rules-supported-devices-list.patch.gz | patch -p1 --verbose || exit 1 +zcat $CWD/patches/rules-Add-support-for-Logitech-G700s-G700-Gaming-Mou.patch.gz | patch -p1 --verbose || exit 1 + CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ ./configure \ @@ -93,6 +102,7 @@ CXXFLAGS="$SLKCFLAGS" \ --docdir=/usr/doc/$PKGNAM-$VERSION \ --disable-static \ --enable-man-pages \ + --enable-deprecated \ --build=$TARGET make $NUMJOBS || make || exit 1 diff --git a/source/a/usb_modeswitch/device_reference.txt b/source/a/usb_modeswitch/device_reference.txt index 1a21efb3..d34ec3ed 100644 --- a/source/a/usb_modeswitch/device_reference.txt +++ b/source/a/usb_modeswitch/device_reference.txt @@ -1,7 +1,7 @@ # -# Device and Configuration Reference (UTF-8 encoding used) +# Device Reference (UTF-8 encoding used) # -# Last modified: 2013-10-16 +# Last modified: 2014-05-29 # # Collection of configurations for usb_modeswitch, a mode switching # tool for controlling flip flop (multiple mode) USB devices @@ -21,191 +21,14 @@ # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # -# For custom settings: -# Numbers can be decimal or hexadecimal, MessageStrings MUST be -# hexadecimal without prepended "0x". Digits 9-16 in the known -# MessageStrings are arbitrary; I set them to "12345678" - -# What it all means (short command line flags appended): -# -# -# * DefaultVendor -v <hex number> -# * DefaultProduct -p <hex number> -# -# This is the ID the USB device shows after having been plugged in. -# The program needs this, either on the command line or in the config -# file; if not found -> no action. -# -# -# * TargetVendor -V <hex number> -# * TargetProduct -P <hex number> -# -# These are the IDs of the USB device after successful mode switching. -# They are optional, but I recommend to provide them for better analysis. -# You definitely need them if you enable CheckSuccess (see below) -# -# -# * TargetProductList (file only) <comma separated hex strings> -# -# Like TargetProduct, but more than one possibility. Only used in automated -# config files (in /etc/usb_modeswitch.d). -# -# -# * TargetClass -C <hex number> -# -# Some weird devices don't change IDs. They only switch the device class. -# If the device has the target class -> no action (and vice versa) -# -# -# * MessageEndpoint -m <hex number> -# -# A kind of address inside the interface to which the "message" -# (the sequence that does the actual switching) is directed. -# Obsolete since version 0.9.7, only useful for testing -# -# -# * MessageContent -M <hex string> -# -# A hex string containing the "message" sequence; it will be -# sent as a USB bulk transfer -# -# -# * MessageContent2, ...3 -2/-3 <hex string> -# -# Additional "messages". Use with "NeedResponse"! -# -# -# * ReleaseDelay -w <milliseconds> -# -# Waiting time after message transfers. Helps with some sensitive devices -# that don't want any traffic after the mode switch initialisation -# -# -# * ResponseEndpoint -r <hex number> -# * NeedResponse <0/1> -n -# -# Some devices were reported to require receiving the response of the -# bulk transfer to do the switching properly. Usually not needed. -# Starting from version 1.0.0 the ResponseEndpoint is autodetected -# if not given -# -# -# * DetachStorageOnly <0/1> -d -# -# Some early devices just needed to be detached from the usb-storage -# driver to initiate the mode switching. Now paractically obsolete for -# switching, but still comes handy sometimes -# -# -# * HuaweiMode <0/1> -H -# -# Some early Huawei devices can be switched by a special control -# message. Don't use with recent devices -# -# -# * SonyMode <0/1> -O -# -# Some Sony-Ericsson devices can be switched by a special control -# message. May take a long time (20+ seconds). -# -# -# * SierraMode <0/1> -S -# * KobilMode <0/1> -T -# * GCTMode <0/1> -G -# * SequansMode <0/1> -N -# * MobileActionMode <0/1> -A -# * QisdaMode <0/1> -B -# * QuantaMode <0/1> -E -# * PantechMode <0/1> -F -# * BlackberryMode <0/1> -Z -# * CiscoMode <0/1> -L -# -# -# Flags to support devices that need special control messages. -# The names are referring to the respective manufacturers. -# -# -# * ResetUSB <0/1> -R -# -# Few devices or systems need a rougher treatment. If the switching seems -# to do something but your system does not reflect it, try this somewhat -# brutal method to do a reset after switching. -# Mind that if your device switched OK before, this may set it back to -# storage mode ... -# -# -# * Interface -i <hex number> -# * Configuration -u <hex number> -# * AltSetting -a <hex number> -# -# More USB parameter to help with tricky devices and for doing lots -# of cruel experiments ... -# -## Note: -## AltSetting/Configuration changes and ResetUSB are executed after all -## other steps and can be combined or used on their own (e.g. a reset -## might have the same effect as a manual replug) -# -# -# * InquireDevice <0|1> -I (disables inquiry) -# -# The standard since 1.0.0 is to do a SCSI inquiry on the default device -# before other actions. This might be a future way to identify a device -# without ambiguities. If it causes trouble with your device, just disable. -# -# -# * CheckSuccess -s <number> -# -# Check continuously if the switch succeeded for max <number> seconds. -# First, an interface access test: most devices vanish after -# switching and can't be accessed anymore. -# Second, a recount of target devices: one more than at the initial -# count, at the same bus with a higher device number -> device -# switched fine. -# It's safe to give a higher value than needed; checking stops as -# soon as the target device is found -# -# -# * NoDriverLoading <0|1> (no command line parameter) -# -# The binary tells the wrapper script NOT to check for and initiate -# binding of the serial driver after switching. -# Mostly useful for non-modem devices. -# -# -# * WaitBefore <seconds> (no command line parameter) -# -# Waiting time before taking any action. Helps with some sensitive setups. -# -# -# * NoMBIMCheck <0|1> (no command line parameter) -# -# Disable the check for new MBIM standard devices, which is always done -# by default. -# -# -# -# -> All other entries in config files are just ignored <- - -# Additional command line flags: -# -# Verbose output -W -# No output at all -q -# Use config file -c <file> -# Use stdin for long config -t -# Give long config as string -f <multiline string using config file syntax> -# Give bus number for ID'ing -b -# Give dev number for ID'ing -g - - -# For filling in all this information for an unknown device, -# see instructions and links on the homepage: -# http://www.draisberghof.de/usb_modeswitch +# For a parameter reference see file REFERENCE in the data package # # If you find working codes and configurations, please contribute # them! + + ####################################################### # Option GlobeSurfer Icon (aka "Vodafone EasyBox") # @@ -2276,19 +2099,6 @@ TargetClass=0xff MessageContent="55534243123456780000000000000606f50402527000000000000000000000" -######################################################## -# Vodafone/ZTE K3806-Z - -DefaultVendor= 0x19d2 -DefaultProduct=0x0013 - -TargetVendor= 0x19d2 -TargetProduct= 0x0015 - -MessageContent="5553424312345678000000000000061b000000020000000000000000000000" - -NeedResponse=1 - ######################################################## # T-Mobile NL (Huawei E352) # @@ -3029,21 +2839,7 @@ NeedResponse=1 ######################################################## -# TW-3G HSPA+ -# -# Contributor: Nordic Nurse - -DefaultVendor= 0x1c9e -DefaultProduct=0x98ff - -TargetVendor= 0x1c9e -TargetProduct= 0x9801 - -MessageContent="55534243123456780000000080000606f50402527000000000000000000000" - - -######################################################## -# Samsung GT-B1110 +# Samsung GT-B1110 # # Contributor: Spelroth @@ -3997,4 +3793,47 @@ TargetProduct= 0x6085 PantechMode=1 + +####################################################### +# Quanta MobileGenie 4G lte +# +# Contributor: Richard Wood + +DefaultVendor= 0x0408 +DefaultProduct=0xea43 + +TargetVendor= 0x0408 +TargetProduct= 0xea47 + +MessageContent="5553424312345678000000000000061b000000020000000000000000000000" + + +######################################################## +# AVM Fritz!Wlan USB Stick N v2 +# +# Contributor: merla + +DefaultVendor= 0x057c +DefaultProduct=0x62ff + +TargetVendor= 0x057c +TargetProduct= 0x8501 + +MessageContent="5553424312345678000000000000061b000000ff0000000000000000000000" + + ######################################################## +# Alcatel-sbell ASB TL131 TD-LTE +# +# Contributor: scateu + +DefaultVendor= 0x05c6 +DefaultProduct=0x9024 + +TargetVendor= 0x05c6 +TargetProduct= 0x9025 + +MessageContent="5553424312345678000000000000061b000000020000000000000000000000" + + +####################################################### diff --git a/source/a/usb_modeswitch/usb_modeswitch.SlackBuild b/source/a/usb_modeswitch/usb_modeswitch.SlackBuild index ac26ff4d..70322215 100755 --- a/source/a/usb_modeswitch/usb_modeswitch.SlackBuild +++ b/source/a/usb_modeswitch/usb_modeswitch.SlackBuild @@ -2,7 +2,7 @@ # Slackware build script for usb_modeswitch. -# Copyright 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2010, 2012, 2013, 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA # Copyright 2010 David Somero, Athens, TN, USA # All rights reserved. # @@ -24,14 +24,14 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. PKGNAM=usb_modeswitch -VERSION=${VERSION:-2.0.1} -DATAVER=${DATAVER:-20130807} +VERSION=${VERSION:-2.2.6} +DATAVER=${DATAVER:-20151101} BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -45,8 +45,8 @@ CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-$PKGNAM -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" diff --git a/source/a/usbutils/usbutils-007.tar.sign b/source/a/usbutils/usbutils-007.tar.sign deleted file mode 100644 index 4c8ea414..00000000 --- a/source/a/usbutils/usbutils-007.tar.sign +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN PGP SIGNATURE----- -Version: GnuPG v2.0.19 (GNU/Linux) - -iQIcBAABAgAGBQJRsR1jAAoJEDjbvchgkmk+jFsQAIHKnkijXjdzij6VEBqfq0RO -WrqhtR6EWOwo60/oYIzw0dLynZwBeA4OQ+QGAAA5XSfeSOEPcVRE06bN0Cv9omVj -GYJz5mBguAo6IfRf+rRXd8p9nnC0mS3qTpIA0/T2vSPopImrx2RfbzzpsAeEwTpg -K7qqcdwoApd3qvBCrmPWzSIvTEGnxZPpiy5cBVoZ9YhAx09PinbUGhz7Z3cc/VJZ -nFa+YfCie2P5eJtsv9EXudJs6NhUP02bUHtoDvktDPvQnXOtEqUBF3LsECX16kL3 -nwfWvpyDDRNEhu9jj2QspXHzROO435WTWQB81q0x1Qf14tsGa3SFgGj1mQhweAul -m9t4fo0T+/Kgl1P2kohwa/7ws6WDc1Sy7/sd7cOxDYNQZEH1lH4mja0Qm1ViZ0lR -ydpjHFtcjT/FHSYUOOIdIAg5NXrWhH1moAKduW9byAgM2q68nTGzs93j3uiundZv -knfhfO3WGUlXgLYznyUUTR5xAMLq0zQUV0sNiPLci/jU0dyPMmVhnPsfivK1xN4q -RnpU7cc3/IYYiTdlMz4jOJSMvNF2CU2ebLHEAuelbz9/jte2E+kwc3VAu5bWlSGb -REdcYVgyV+2nA/DU61+wCJC7QIFxC/zHYtQ6vdGIcTndST0fywmtyObuL7kTkmf7 -gDNrUyjKGdFMawPfSAcm -=Ku5j ------END PGP SIGNATURE----- diff --git a/source/a/usbutils/usbutils-008.tar.sign b/source/a/usbutils/usbutils-008.tar.sign new file mode 100644 index 00000000..52f8495a --- /dev/null +++ b/source/a/usbutils/usbutils-008.tar.sign @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2 + +iQIcBAABAgAGBQJURsk6AAoJEDjbvchgkmk+F+EQAKVI4MKXye0qmoTgZR70q+o/ +ANwlSg+mwTrpIxHO+dVUY3NPJlj0ZT/TnV3Xbe2UjxDe0JW7CkMeLAocqhdWy4sq +cGUlLASeiANSgv+tilqwHZTpTlM4Wo0EtnDJ29U0oVim8vPED7AXZbENZ3S6nuCk +RrcxVzo9UsBckniIkuY8fsTpcU0FcLsPIhgasw0iToBdVfeZp3LuLF9s69Gt6BK/ +BJKa1L3q14jGcH8MJBO+gQuiu/gYxgdYGXdzqxGmfDSHON/pyOAlzYDdxLAqR76B ++LbQW6lTnlPutlW4QEYfnmKYXvXkof7saKt/UXrJcXNK/YwbiTHiRQ4lxtlP5WyW +vTunBLssJCDVRyQMV2iD9c0PLTiPcGcFp2tpkM1ULUMpnrWLF4K83KQQ2y51NA0p +J/4jQLQWOXjX+e/Ns6R9Mp3D3vh7Jy/fsdyDlsCR2YVMVePBSbQ8n0UqNzQnqa+Z +na2w/51XIazG5ijk4dPhx0hkO+fZVgfMSX+rITlsIjga+ezwwwUDgSc/NZhoteN/ +5pHGXXnsPRmhc+7sG6T3D17w1euu9rZ6eznXGQqrN6pDaxbiH8AnbyYteXQcANr0 +8duSxDb3R74ZVAlhfRF9MeSIdq+bBZCOptiXtAgnEYbYoG8vU3UBuhMc+q7y3Adw +Abrr12hSiLQDnX+T+YlF +=rTq4 +-----END PGP SIGNATURE----- diff --git a/source/a/usbutils/usbutils.SlackBuild b/source/a/usbutils/usbutils.SlackBuild index 0a938025..26336742 100755 --- a/source/a/usbutils/usbutils.SlackBuild +++ b/source/a/usbutils/usbutils.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009, 2010, 2011, 2013, 2015 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -29,7 +29,7 @@ NUMJOBS=${NUMJOBS:--j7} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -40,8 +40,8 @@ CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-usbutils -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" @@ -68,9 +68,9 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -# Fetch the latest usb.ids: -rm -f usb.ids* -wget $(grep 'SRC=' update-usbids.sh.in | cut -d= -f2- | tr -d \") +## Fetch the latest usb.ids: +#rm -f usb.ids* +#wget $(grep 'SRC=' update-usbids.sh.in | cut -d= -f2- | tr -d \") # Use --datadir=/usr/share/hwdata so usb.ids is expected to be there CFLAGS="$SLKCFLAGS" \ @@ -85,29 +85,6 @@ CFLAGS="$SLKCFLAGS" \ make $NUMJOBS || make || exit 1 make install DESTDIR=$PKG || exit 1 -# Get rid of this redundant file: -rm -f $PKG/usr/share/hwdata/usb.ids.gz - -## Use the usb.ids file shipped with the hwdata package -#rm -f $PKG/usr/share/hwdata/usb.ids* - -# Put a compat symlink in place for stuff that doesn't know about pkgconfig -ln -s hwdata/usb.ids $PKG/usr/share/usb.ids - -# The usbids are kept under /usr, so it makes no sense at all to have -# this util in /sbin rather than /usr/sbin: -mkdir -p $PKG/usr/sbin -mv $PKG/sbin/update-usbids.sh $PKG/usr/sbin/update-usbids.sh - -# Now that they install the util as "update-usbids.sh" instead of -# "update-usbids", we have to make a compatibility symlink in case -# anyone is updating this with a cron job or some such: -( cd $PKG/usr/sbin ; ln -sf update-usbids.sh update-usbids ) - -# And, since they put the util in /sbin, we'd better at least make the -# upstream name available there too... -( cd $PKG/sbin ; ln -sf /usr/sbin/update-usbids.sh . ) - find $PKG | xargs file | grep -e "executable" -e "shared object" \ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null @@ -128,7 +105,7 @@ fi mkdir -p $PKG/usr/doc/usbutils-$VERSION cp -a \ - AUTHORS COPYING NEWS README \ + AUTHORS COPYING* NEWS README* \ $PKG/usr/doc/usbutils-$VERSION # If there's a ChangeLog, installing at least part of the recent history diff --git a/source/a/utempter/utempter.SlackBuild b/source/a/utempter/utempter.SlackBuild index 5d6f054f..d21c3312 100755 --- a/source/a/utempter/utempter.SlackBuild +++ b/source/a/utempter/utempter.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA +# Copyright 2008-2010, 2015, 2016 Patrick J. Volkerding, Sebeka, Minnesota, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -20,67 +20,97 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# The original package name was "utempter", but this new version +# calls itself "libutempter". We'll keep the same old package name +# to avoid confusing upgrades. -VERSION=1.1.5 -BUILD=${BUILD:-1} +VERSION=1.1.6 +BUILD=${BUILD:-2} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; esac fi -if [ "$ARCH" = "x86_64" ]; then +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" LIBDIRSUFFIX="64" else + SLKCFLAGS="-O2" LIBDIRSUFFIX="" fi CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-utempter + rm -rf $PKG mkdir -p $TMP $PKG/usr - cd $TMP -# The original package name was "utempter", but this new version -# calls itself "libutempter". We'll keep the same old package name -# to avoid confusing upgrades. rm -rf libutempter-$VERSION -tar xjvf $CWD/libutempter-$VERSION.tar.bz2 +tar xvf $CWD/libutempter-$VERSION.tar.bz2 cd libutempter-$VERSION chown -R root:root . -## I see no reason to use different paths than in utempter-0.5.2: -#zcat $CWD/libutempter.slack.diff.gz | patch -p1 --verbose || exit 1 -find . -perm 664 -exec chmod 644 {} \; -find . -perm 775 -exec chmod 755 {} \; +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Fix libdir for x86_64: sed -i -e "s#/usr/lib#/usr/lib${LIBDIRSUFFIX}#g" Makefile -make -make install DESTDIR=$PKG -# A static libutempter seems like a bad idea, since it wouldn't work -# without the making utempter binary. That and the shared lib are a -# closely matched set. + +make RPM_OPT_FLAGS="$SLKCFLAGS" mandir=/usr/man +make install mandir=/usr/man DESTDIR=$PKG + +# A static libutempter seems like a bad idea, since it wouldn't work without +# the making utempter binary. That and the shared lib are a closely matched set. rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libutempter.a -# Set proper permissions: + +# Ensure proper ownership and permissions: chown root:utmp $PKG/usr/lib${LIBDIRSUFFIX}/utempter/utempter chmod 2755 $PKG/usr/lib${LIBDIRSUFFIX}/utempter/utempter -chmod 644 $PKG/usr/include/utempter.h + +# Compress and link manpages, if any: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1 | grep -v '\.gz$') ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi + mkdir -p $PKG/usr/doc/utempter-$VERSION cp -a \ COPYING README \ $PKG/usr/doc/utempter-$VERSION + ( cd $PKG find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null ) + mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc zcat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG -makepkg -l y -c n $TMP/utempter-$VERSION-$ARCH-$BUILD.txz +/sbin/makepkg -l y -c n $TMP/utempter-$VERSION-$ARCH-$BUILD.txz diff --git a/source/a/util-linux/0001-mount-old-fix-encryption-usage.patch b/source/a/util-linux/0001-mount-old-fix-encryption-usage.patch deleted file mode 100644 index afe6e5c9..00000000 --- a/source/a/util-linux/0001-mount-old-fix-encryption-usage.patch +++ /dev/null @@ -1,88 +0,0 @@ ---- ./mount/mount.c.orig 2012-05-25 04:44:58.993195438 -0500 -+++ ./mount/mount.c 2012-08-02 12:04:52.455435631 -0500 -@@ -41,6 +41,7 @@ - #include "nls.h" - #include "blkdev.h" - #include "strutils.h" -+#include "xgetpass.h" - - #define DO_PS_FIDDLING - -@@ -1238,6 +1239,8 @@ - int looptype; - uintmax_t offset = 0, sizelimit = 0; - struct loopdev_cxt lc; -+ char *pwd = NULL; -+ int ret = EX_FAIL; - - /* - * In the case of a loop mount, either type is of the form lo@/dev/loop5 -@@ -1317,8 +1320,18 @@ - return EX_FAIL; - } - -+ if (opt_encryption) { -+#ifdef MCL_FUTURE -+ if (mlockall(MCL_CURRENT | MCL_FUTURE)) { -+ error(_("mount: couldn't lock into memory")); -+ return EX_FAIL; -+ } -+#endif -+ pwd = xgetpass(pfd, _("Password: ")); -+ } -+ - loopcxt_init(&lc, 0); -- /* loopcxt_enable_debug(&lc, 1); */ -+ /*loopcxt_enable_debug(&lc, 1);*/ - - if (*loopdev && **loopdev) - loopcxt_set_device(&lc, *loopdev); /* use loop=<devname> */ -@@ -1343,6 +1356,8 @@ - rc = loopcxt_set_offset(&lc, offset); - if (!rc && sizelimit) - rc = loopcxt_set_sizelimit(&lc, sizelimit); -+ if (!rc && opt_encryption && pwd) -+ loopcxt_set_encryption(&lc, opt_encryption, pwd); - if (!rc) - loopcxt_set_flags(&lc, loop_opts); - -@@ -1358,8 +1373,7 @@ - break; /* success */ - - if (rc != -EBUSY) { -- if (verbose) -- printf(_("mount: failed setting up loop device\n")); -+ error(_("mount: %s: failed setting up loop device: %m"), *loopfile); - if (!opt_loopdev) { - my_free(*loopdev); - *loopdev = NULL; -@@ -1399,9 +1413,15 @@ - } - } - -- return 0; -+ ret = 0; - err: -- return EX_FAIL; -+ if (pwd) { -+ char *p = pwd; -+ while (*p) -+ *p++ = '\0'; -+ free(pwd); -+ } -+ return ret; - } - - ---- ./mount/Makefile.am.orig 2012-05-25 04:44:58.000000000 -0500 -+++ ./mount/Makefile.am 2012-08-02 12:04:14.958439138 -0500 -@@ -23,7 +23,8 @@ - $(top_srcdir)/lib/at.c \ - $(top_srcdir)/lib/sysfs.c \ - $(top_srcdir)/lib/loopdev.c \ -- $(top_srcdir)/lib/strutils.c -+ $(top_srcdir)/lib/strutils.c \ -+ $(top_srcdir)/lib/xgetpass.c - - # generic flags for all programs - # -- note that pkg-config autoconf macros (pkg.m4) does not differentiate diff --git a/source/a/util-linux/0002-fdisk-don-t-ignore-1MiB-granularity-on-512-byte-sect.patch b/source/a/util-linux/0002-fdisk-don-t-ignore-1MiB-granularity-on-512-byte-sect.patch deleted file mode 100644 index 4d3622c3..00000000 --- a/source/a/util-linux/0002-fdisk-don-t-ignore-1MiB-granularity-on-512-byte-sect.patch +++ /dev/null @@ -1,31 +0,0 @@ ---- ./fdisk/fdisk.c.orig 2012-05-25 04:44:58.977195366 -0500 -+++ ./fdisk/fdisk.c 2012-08-02 12:00:59.692457377 -0500 -@@ -569,6 +569,19 @@ - lba_is_aligned(unsigned long long lba) - { - unsigned int granularity = max(phy_sector_size, min_io_size); -+ unsigned long long offset; -+ -+ if (grain > granularity) -+ granularity = grain; -+ offset = (lba * sector_size) & (granularity - 1); -+ -+ return !((granularity + alignment_offset - offset) & (granularity - 1)); -+} -+ -+static int -+lba_is_phy_aligned(unsigned long long lba) -+{ -+ unsigned int granularity = max(phy_sector_size, min_io_size); - unsigned long long offset = (lba * sector_size) & (granularity - 1); - - return !((granularity + alignment_offset - offset) & (granularity - 1)); -@@ -1808,7 +1821,7 @@ - static void - check_alignment(unsigned long long lba, int partition) - { -- if (!lba_is_aligned(lba)) -+ if (!lba_is_phy_aligned(lba)) - printf(_("Partition %i does not start on physical sector boundary.\n"), - partition + 1); - } diff --git a/source/a/util-linux/bsdstrings-util-linux_overflow.diff b/source/a/util-linux/bsdstrings-util-linux_overflow.diff new file mode 100644 index 00000000..127ff9d0 --- /dev/null +++ b/source/a/util-linux/bsdstrings-util-linux_overflow.diff @@ -0,0 +1,20 @@ +From db281fc97f1d665a61acabfd8d5933130996b29f Mon Sep 17 00:00:00 2001 +From: mancha <mancha1@zoho.com> +Date: Wed, 29 Oct 2014 +Subject: Heap overflow + +Fix heap-buffer-overflow in strings.c as bundled by util-linux +through version 2.9 and as shipped by Slackware Linux and +Slackware derivatives. + +--- a/strings.c ++++ b/strings.c +@@ -124,7 +124,7 @@ main(argc, argv) + if (minlen == -1) + minlen = DEF_LEN; + +- if (!(bfr = malloc((u_int)minlen))) { ++ if (!(bfr = malloc((u_int)minlen + 1))) { + (void)fprintf(stderr, "strings: %s\n", strerror(errno)); + exit(1); + } diff --git a/source/a/util-linux/column-fix_long_opts.diff b/source/a/util-linux/column-fix_long_opts.diff deleted file mode 100644 index e5215db7..00000000 --- a/source/a/util-linux/column-fix_long_opts.diff +++ /dev/null @@ -1,15 +0,0 @@ -diff -Naur util-linux-2.21.2/text-utils/column.c util-linux-2.21.2.patched//text-utils/column.c ---- util-linux-2.21.2/text-utils/column.c 2012-05-25 05:44:59.000000000 -0400 -+++ util-linux-2.21.2.patched//text-utils/column.c 2012-08-14 05:22:17.000000000 -0400 -@@ -121,9 +121,9 @@ - { - { "help", 0, 0, 'h' }, - { "version", 0, 0, 'V' }, -- { "columns", 0, 0, 'c' }, -+ { "columns", 1, 0, 'c' }, - { "table", 0, 0, 't' }, -- { "separator", 0, 0, 's' }, -+ { "separator", 1, 0, 's' }, - { "fillrows", 0, 0, 'x' }, - { NULL, 0, 0, 0 }, - }; diff --git a/source/a/util-linux/ddate.1 b/source/a/util-linux/ddate.1 new file mode 100644 index 00000000..ec4ee81d --- /dev/null +++ b/source/a/util-linux/ddate.1 @@ -0,0 +1,115 @@ +.\" All Rites Reversed. This file is in the PUBLIC DOMAIN. +.\" Kallisti. +.TH DDATE 1 "Bureaucracy 3161" "ddate" "Emperor Norton User Command" +.SH NAME +ddate \- convert Gregorian dates to Discordian dates +.SH SYNOPSIS +.B ddate +.RI [ \fB+\fPformat] +.RI [ date ] +.SH DESCRIPTION +.B ddate +prints the date in Discordian date format. +.PP +If called with no arguments, +.B ddate +will get the current system date, convert this to the Discordian +date format and print this on the standard output. Alternatively, a +Gregorian date may be specified on the command line, in the form of a numerical +day, month and year. +.PP +If a format string is specified, the Discordian date will be printed in +a format specified by the string. This mechanism works similarly to the +format string mechanism of +.B date(1), +only almost completely differently. The fields are: +.IP %A +Full name of the day of the week (i.e., Sweetmorn) +.IP %a +Abbreviated name of the day of the week (i.e., SM) +.IP %B +Full name of the season (i.e., Chaos) +.IP %b +Abbreviated name of the season (i.e., Chs) +.IP %d +Cardinal number of day in season (i.e., 23) +.IP %e +Ordinal number of day in season (i.e., 23rd) +.IP %H +Name of current Holyday, if any +.IP %N +Magic code to prevent rest of format from being printed unless today is +a Holyday. +.IP %n +Newline +.IP %t +Tab +.IP %X +Number of days remaining until X-Day. (Not valid if the SubGenius options +are not compiled in.) +.IP %{ +.IP %} +Used to enclose the part of the string which is to be replaced with the +words "St. Tib's Day" if the current day is St. Tib's Day. +.IP %\. +Try it and see. +.bp +.SH EXAMPLES +.nf +% ddate +.br +Sweetmorn, Bureaucracy 42, 3161 YOLD +.PP +% ddate +'Today is %{%A, the %e of %B%}, %Y. %N%nCelebrate %H' +.br +Today is Sweetmorn, the 42nd of Bureaucracy, 3161. +.PP +% ddate +"It's %{%A, the %e of %B%}, %Y. %N%nCelebrate %H" 26 9 1995 +.br +It's Prickle-Prickle, the 50th of Bureaucracy, 3161. +.br +Celebrate Bureflux +.PP +% ddate +"Today's %{%A, the %e of %B%}, %Y. %N%nCelebrate %H" 29 2 1996 +.br +Today's St. Tib's Day, 3162. +.br + +.SH BUGS + +.B ddate(1) +will produce undefined behavior if asked to produce the date for St. Tib's +day and its format string does not contain the St. Tib's Day delimiters +%{ and %}. + +.SH NOTE + +After `X-Day' passed without incident, the Church of the SubGenius +declared that it had got the year upside down - X-Day is actually in 8661 AD +rather than 1998 AD. Thus, the True X-Day is Cfn 40, 9827. + +.SH AUTHOR +.nh +Original program by Druel the Chaotic aka Jeremy Johnson (mpython@gnu.ai.mit.edu) +.br +Major rewrite by Lee H:. O:. Smith, KYTP, aka Andrew Bulhak (acb@dev.null.org) +.br +Gregorian B.C.E. dates fixed by Chaplain Nyan the Wiser, aka Dan Dart (ntw@dandart.co.uk) +.br +Five tons of flax. + +.SH DISTRIBUTION POLICY + +Public domain. All rites reversed. + +.SH SEE ALSO + +date(1), +.br +http://www.subgenius.com/ +.br +Malaclypse the Younger, +.I "Principia Discordia, Or How I Found Goddess And What I Did To Her When I Found Her" + +.SH AVAILABILITY +The ddate command is available from https://github.com/bo0ts/ddate. diff --git a/source/a/util-linux/ddate.c b/source/a/util-linux/ddate.c new file mode 100644 index 00000000..4c2a0f8f --- /dev/null +++ b/source/a/util-linux/ddate.c @@ -0,0 +1,399 @@ +/* $ DVCS ID: $jer|,523/lhos,KYTP!41023161\b"?" <<= DO NOT DELETE! */ + +/* ddate.c .. converts boring normal dates to fun Discordian Date -><- + written the 65th day of The Aftermath in the Year of Our Lady of + Discord 3157 by Druel the Chaotic aka Jeremy Johnson aka + mpython@gnu.ai.mit.edu + 28 Sever St Apt #3 + Worcester MA 01609 + + and I'm not responsible if this program messes anything up (except your + mind, I'm responsible for that) + + (k) YOLD 3161 and all time before and after. + Reprint, reuse, and recycle what you wish. + This program is in the public domain. Distribute freely. Or not. + + Majorly hacked, extended and bogotified/debogotified on + Sweetmorn, Bureaucracy 42, 3161 YOLD, by Lee H:. O:. Smith, KYTP, + aka Andrew Bulhak, aka acb@dev.null.org + + Slightly hackled and crackled by a sweet firey stove on + Boomtime, the 53rd day of Bureaucracy in the YOLD 3179, + by Chaplain Nyan the Wiser, aka Dan Dart, aka ntw@dandart.co.uk + + and I'm not responsible if this program messes anything up (except your + mind, I'm responsible for that) (and that goes for me as well --lhos) + + Version history: + Bureflux 3161: First release of enhanced ddate with format strings + 59 Bcy, 3161: PRAISE_BOB and KILL_BOB options split, other minor + changes. + 53 Bcy, 3179: Fixed gregorian date conversions less than YOLD 1167 + + 1999-02-22 Arkadiusz Miskiewicz <misiek@pld.ORG.PL> + - added Native Language Support + + 2000-03-17 Burt Holzman <holzman+ddate@gmail.com> + - added range checks for dates + + 2014-06-07 William Woodruff <william@tuffbizz.com> + - removed gettext dependent locale code + + 15th of Confusion, 3180: + - call out adherents of the wrong fruit + + FIVE TONS OF FLAX +*/ + +/* configuration options VVVVV READ THIS!!! */ + +/* If you wish ddate(1) to print the date in the same format as Druel's + * original ddate when called in immediate mode, define OLD_IMMEDIATE_FMT + */ + +#define OLD_IMMEDIATE_FMT + +/* If you wish to use the US format for aneristic dates (m-d-y), as opposed to + * the Commonwealth format, define US_FORMAT. + */ + +/* #define US_FORMAT */ + +/* If you are ideologically, theologically or otherwise opposed to the + * Church of the SubGenius and do not wish your copy of ddate(1) to contain + * code for counting down to X-Day, undefine KILL_BOB */ + +#define KILL_BOB 13013 + +/* If you wish ddate(1) to contain SubGenius slogans, define PRAISE_BOB */ + +/*#define PRAISE_BOB 13013*/ + +#include <stdlib.h> +#include <string.h> +#include <time.h> +#include <stdio.h> + + +// work around includes and defines from formerly c.h +#ifndef ARRAY_SIZE +# define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr)) +#endif + +/* &a[0] degrades to a pointer: a different type from an array */ +# define __must_be_array(a) \ + BUILD_BUG_ON_ZERO(__builtin_types_compatible_p(__typeof__(a), __typeof__(&a[0]))) + +#define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); })) + +/* work around hacks for standalone package */ +#define PACKAGE "ddate" +#define PACKAGE_STRING "Stand Alone" + +#ifndef __GNUC__ +#define inline /* foo */ +#endif + +#ifdef KILL_BOB +int xday_countdown(int yday, int year); +#endif + + +/* string constants */ + +char *day_long[5] = { + "Sweetmorn", "Boomtime", "Pungenday", "Prickle-Prickle", "Setting Orange" +}; + +char *day_short[5] = {"SM","BT","PD","PP","SO"}; + +char *season_long[5] = { + "Chaos", "Discord", "Confusion", "Bureaucracy", "The Aftermath" +}; + +char *season_short[5] = {"Chs", "Dsc", "Cfn", "Bcy", "Afm"}; + +char *holyday[5][2] = { + { "Mungday", "Chaoflux" }, + { "Mojoday", "Discoflux" }, + { "Syaday", "Confuflux" }, + { "Zaraday", "Bureflux" }, + { "Maladay", "Afflux" } +}; + +struct disc_time { + int season; /* 0-4 */ + int day; /* 0-72 */ + int yday; /* 0-365 */ + int year; /* 3066- */ +}; + +char *excl[] = { + "Hail Eris!", "All Hail Discordia!", "Kallisti!", "Fnord.", "Or not.", + "Wibble.", "Pzat!", "P'tang!", "Frink!", +#ifdef PRAISE_BOB + "Slack!", "Praise \"Bob\"!", "Or kill me.", +#endif /* PRAISE_BOB */ + /* randomness, from the Net and other places. Feel free to add (after + checking with the relevant authorities, of course). */ + "Grudnuk demand sustenance!", "Keep the Lasagna flying!", + "You are what you see.", + "Or is it?", "This statement is false.", + "Lies and slander, sire!", "Hee hee hee!", +#if defined(linux) || defined (__linux__) || defined (__linux) + "Hail Eris, Hack Linux!", +#elif defined(__APPLE__) + "This Fruit is not the True Fruit of Discord.", +#endif + "" +}; + +char default_fmt[] = "%{%A, %B %d%}, %Y YOLD"; +char *default_immediate_fmt= +#ifdef OLD_IMMEDIATE_FMT +"Today is %{%A, the %e day of %B%} in the YOLD %Y%N%nCelebrate %H" +#else +default_fmt +#endif +; + +#define DY(y) (y+1166) + +static inline char *ending(int i) { + return i/10==1?"th":(i%10==1?"st":(i%10==2?"nd":(i%10==3?"rd":"th"))); +} + +static inline int leapp(int i) { + return (!(DY(i)%4))&&((DY(i)%100)||(!(DY(i)%400))); +} + +/* select a random string */ +static inline char *sel(char **strings, int num) { + return(strings[random()%num]); +} + +void print(struct disc_time,char **); /* old */ +void format(char *buf, const char* fmt, struct disc_time dt); +/* read a fortune file */ +int load_fortunes(char *fn, char *delim, char** result); + +struct disc_time convert(int,int); +struct disc_time makeday(int,int,int); + +int +main (int argc, char *argv[]) { + long t; + struct tm *eris; + int bob,raw; + struct disc_time hastur; + char schwa[23*17], *fnord=0; + int pi; + char *progname, *p; + + progname = argv[0]; + if ((p = strrchr(progname, '/')) != NULL) + progname = p+1; + + srandom(time(NULL)); + /* do args here */ + for(pi=1; pi<argc; pi++) { + switch(argv[pi][0]) { + case '+': fnord=argv[pi]+1; break; + case '-': + switch(argv[pi][1]) { + case 'V': + printf(("%s (%s)\n"), progname, PACKAGE_STRING); + default: goto usage; + } + default: goto thud; + } + } + + thud: + if (argc-pi==3){ + int moe=atoi(argv[pi]), larry=atoi(argv[pi+1]), curly=atoi(argv[pi+2]); + hastur=makeday( +#ifdef US_FORMAT + moe,larry, +#else + larry,moe, +#endif + curly); + if (hastur.season == -1) { + printf("Invalid date -- out of range\n"); + return -1; + } + fnord=fnord?fnord:default_fmt; + } else if (argc!=pi) { + usage: + fprintf(stderr,("usage: %s [+format] [day month year]\n"), argv[0]); + exit(1); + } else { + t= time(NULL); + eris=localtime(&t); + bob=eris->tm_yday; /* days since Jan 1. */ + raw=eris->tm_year; /* years since 1980 */ + hastur=convert(bob,raw); + fnord=fnord?fnord:default_immediate_fmt; + } + format(schwa, fnord, hastur); + printf("%s\n", schwa); + + return 0; +} + +void format(char *buf, const char* fmt, struct disc_time dt) +{ + int tib_start=-1, tib_end=0; + int i, fmtlen=strlen(fmt); + char *bufptr=buf; + +/* fprintf(stderr, "format(%p, \"%s\", dt)\n", buf, fmt);*/ + + /* first, find extents of St. Tib's Day area, if defined */ + for(i=0; i<fmtlen; i++) { + if(fmt[i]=='%') { + switch(fmt[i+1]) { + case 'A': + case 'a': + case 'd': + case 'e': + if(tib_start>0) tib_end=i+1; + else tib_start=i; + break; + case '{': tib_start=i; break; + case '}': tib_end=i+1; break; + } + } + } + + /* now do the formatting */ + buf[0]=0; + + for(i=0; i<fmtlen; i++) { + if((i==tib_start) && (dt.day==-1)) { + /* handle St. Tib's Day */ + strcpy(bufptr, ("St. Tib's Day")); + bufptr += strlen(bufptr); + i=tib_end; + } else { + if(fmt[i]=='%') { + char *wibble=0, snarf[23]; + switch(fmt[++i]) { + case 'A': wibble=day_long[dt.yday%5]; break; + case 'a': wibble=day_short[dt.yday%5]; break; + case 'B': wibble=season_long[dt.season]; break; + case 'b': wibble=season_short[dt.season]; break; + case 'd': sprintf(snarf, "%d", dt.day+1); wibble=snarf; break; + case 'e': sprintf(snarf, "%d%s", dt.day+1, ending(dt.day+1)); + wibble=snarf; break; + case 'H': if(dt.day==4||dt.day==49) + wibble=holyday[dt.season][dt.day==49]; break; + case 'N': if(dt.day!=4&&dt.day!=49) goto eschaton; break; + case 'n': *(bufptr++)='\n'; break; + case 't': *(bufptr++)='\t'; break; + + case 'Y': sprintf(snarf, "%d", dt.year); wibble=snarf; break; + case '.': wibble=sel(excl, ARRAY_SIZE(excl)); + break; +#ifdef KILL_BOB + case 'X': sprintf(snarf, "%d", + xday_countdown(dt.yday, dt.year)); + wibble = snarf; break; +#endif /* KILL_BOB */ + } + if(wibble) { +/* fprintf(stderr, "wibble = (%s)\n", wibble);*/ + strcpy(bufptr, wibble); bufptr+=strlen(wibble); + } + } else { + *(bufptr++) = fmt[i]; + } + } + } + eschaton: + *(bufptr)=0; +} + +struct disc_time makeday(int imonth,int iday,int iyear) /*i for input */ +{ + struct disc_time funkychickens; + + int cal[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 }; + int dayspast=0; + + memset(&funkychickens,0,sizeof(funkychickens)); + /* basic range checks */ + if (imonth < 1 || imonth > 12 || iyear == 0) { + funkychickens.season = -1; + return funkychickens; + } + if (iday < 1 || iday > cal[imonth-1]) { + if (!(imonth == 2 && iday == 29 && iyear%4 == 0 && + (iyear%100 != 0 || iyear%400 == 0))) { + funkychickens.season = -1; + return funkychickens; + } + } + + imonth--; + /* note: gregorian year 0 doesn't exist so + * add one if user specifies a year less than 0 */ + funkychickens.year= iyear+1166 + ((0 > iyear)?1:0); + while(imonth>0) { dayspast+=cal[--imonth]; } + funkychickens.day=dayspast+iday-1; + funkychickens.season=0; + if((funkychickens.year%4)==2) { + if (funkychickens.day==59 && iday==29) funkychickens.day=-1; + } + funkychickens.yday=funkychickens.day; +/* note: EQUAL SIGN...hopefully that fixes it */ + while(funkychickens.day>=73) { + funkychickens.season++; + funkychickens.day-=73; + } + return funkychickens; +} + +struct disc_time convert(int nday, int nyear) +{ struct disc_time funkychickens; + + funkychickens.year = nyear+3066; + funkychickens.day=nday; + funkychickens.season=0; + if ((funkychickens.year%4)==2) + {if (funkychickens.day==59) + funkychickens.day=-1; + else if (funkychickens.day >59) + funkychickens.day-=1; + } + funkychickens.yday=funkychickens.day; + while (funkychickens.day>=73) + { funkychickens.season++; + funkychickens.day-=73; + } + return funkychickens; + + } + +#ifdef KILL_BOB + +/* Code for counting down to X-Day, X-Day being Cfn 40, 3164 + * + * After `X-Day' passed without incident, the CoSG declared that it had + * got the year upside down --- X-Day is actually in 8661 AD rather than + * 1998 AD. + * + * Thus, the True X-Day is Cfn 40, 9827. + * + */ + +int xday_countdown(int yday, int year) { + int r=(185-yday)+(((yday<59)&&(leapp(year)))?1:0); + while(year<9827) r+=(leapp(++year)?366:365); + while(year>9827) r-=(leapp(year--)?366:365); + return r; +} + +#endif diff --git a/source/a/util-linux/partx.data.type.diff b/source/a/util-linux/partx.data.type.diff deleted file mode 100644 index 9811c0bd..00000000 --- a/source/a/util-linux/partx.data.type.diff +++ /dev/null @@ -1,11 +0,0 @@ ---- ./partx/partx.h.orig 2012-05-25 04:44:58.994195443 -0500 -+++ ./partx/partx.h 2013-08-07 21:06:30.899997659 -0500 -@@ -23,7 +23,7 @@ - } - - static inline int partx_add_partition(int fd, int partno, -- unsigned long start, unsigned long size) -+ long long start, long long size) - { - struct blkpg_ioctl_arg a; - struct blkpg_partition p; diff --git a/source/a/util-linux/util-linux-2.27.1.tar.sign b/source/a/util-linux/util-linux-2.27.1.tar.sign new file mode 100644 index 00000000..671c7f6f --- /dev/null +++ b/source/a/util-linux/util-linux-2.27.1.tar.sign @@ -0,0 +1,17 @@ +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1 + +iQIcBAABAgAGBQJWN0FGAAoJEOS3HV7sOcKEwYIP/0eA52LeAeSVAb3hATWA0TMg +N0zfKyRECDxRuwdQW3yyjtypd4Cir6QlgyBrqLyXSskVuIj0dq7S1mlI/Xa94IFU +Fa2lmzyAcxvl33Bv/Fljh/GeVSqqmUHk8q1ecRh7DYR1Lda6xzfCFs2Dl3Q5JXK/ +k2tTgNug0+f8E6LT/5qrrXeDS+O7/hAtRqqA6yHkAHGqYV2RgBJ9NDAanaGYXDeB +abrduP2xRIvJ9oYOrayG5WH/wAY/sKT433zx20J9ZZvtutTV4VF2ML9zfeQiYitY +hoQOGt5tJW/CfvU2DUaBlTlrXW/MnMQE8KDWn64NbokA3HOxrW+7wJ/gJCp+7e7v +gLELeLLTnMq3NX++SR5I2I2fvqBejYykcaOQMHi9DK+UZed/CBJKR+6SF1WKOndI +GRYJSs9DAXL3dJCSCp6V4fqf+Lfr2Vv4z+Jo8EzIIIlfly1cZx2Blx7C0Y6CNETA +fYPYYKW7qKHsdS5J2Axf8vNIHQsRhkpiUltjQHQ+rIAmx1hl/10a7Fd9KkqFEJV2 +R0zLPaJK8d9gEWHRdzQNozABZVeR8PV3WXuDD2XjC2T30ldlFNlbzyWhDiPf6DNk +tIEi3f+RTTltIvCobChq+Ri2dKM0+wAV/FwwR31E/YgJIpUWfJNKRwWT8Ja887JN +j5aNV18qjet7TUosKYqm +=BMBT +-----END PGP SIGNATURE----- diff --git a/source/a/util-linux/util-linux.SlackBuild b/source/a/util-linux/util-linux.SlackBuild index b348d83e..4d604602 100755 --- a/source/a/util-linux/util-linux.SlackBuild +++ b/source/a/util-linux/util-linux.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2015 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,25 +22,27 @@ # Slackware build script for util-linux -VERSION=${VERSION:-$(echo util-linux*.tar.?z* | cut -d - -f 3 | rev | cut -f 3- -d . | rev)} -BUILD=${BUILD:-6} +VERSION=${VERSION:-$(echo util-linux*.tar.xz | cut -d - -f 3 | rev | cut -f 3- -d . | rev)} +BUILD=${BUILD:-1} ADJTIMEXVERS=1.29 SETSERIALVERS=2.17 ZIPTOOLVERS=1.4.0 +NUMJOBS=${--j8} + # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; esac fi -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" @@ -70,38 +72,11 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \; -# Disabled login stuff from being built, as this is provided by shadow -# -# /sbin/elvtune is not built, as configure says it only works with 2.2 and -# 2.4 kernels - -# This block is handled near the bottom of the script in symlink creation -# /bin/setterm -- now located in /usr/bin/setterm -# /bin/getopt -- same as setterm -# /usr/bin/readprofile -- now in /usr/sbin -# /usr/bin/tunelp -- same as readprofile - # Changing the fdisk -l output (this was done prior to util-linux-ng) broke # our installation scripts, so we have changed the name of partition type # 83 back to "Linux swap": zcat $CWD/util-linux.fdisk-no-solaris.diff.gz | patch -p1 --verbose || exit 1 -# Fix loop encryption: -zcat $CWD/0001-mount-old-fix-encryption-usage.patch.gz | patch -p1 --verbose || exit 1 - -# Fix fdisk granularity on 512 byte sector size devices: -zcat $CWD/0002-fdisk-don-t-ignore-1MiB-granularity-on-512-byte-sect.patch.gz | patch -p1 --verbose || exit 1 - -# 20120814 bkw: fix "column --separator <anything>" segfault -zcat $CWD/column-fix_long_opts.diff.gz | patch -p1 --verbose || exit 1 - -# Fix data type in partx to prevent silently truncating partition sizes and -# offsets to 4GB on 32-bit platforms: -zcat $CWD/partx.data.type.diff.gz | patch -p1 --verbose || exit 1 - -# Regenerate, since patch 0001 hits mount/Makefile.am: -./autogen.sh - CFLAGS="$SLKCFLAGS" \ ./configure \ --prefix=/usr \ @@ -112,8 +87,8 @@ CFLAGS="$SLKCFLAGS" \ --infodir=/usr/info \ --docdir=/usr/doc/util-linux-$VERSION \ --disable-static \ - --enable-arch \ --enable-agetty \ + --disable-eject \ --enable-kill \ --disable-last \ --enable-line \ @@ -122,32 +97,46 @@ CFLAGS="$SLKCFLAGS" \ --enable-raw \ --enable-rename \ --enable-reset \ - --disable-login-utils \ + --disable-login \ --enable-schedutils \ --enable-wall \ --enable-write \ --enable-use-tty-group \ --enable-libblkid \ --enable-libmount \ - --enable-libmount-mount \ --enable-libuuid \ --disable-uuidd \ - --enable-ddate \ + --with-python=2 \ + --without-readline \ --build=$ARCH-slackware-linux \ || exit 1 -make || exit 1 +# UNUSED, but maybe needed if we enable readline here: +# +# Yet another project that doesn't seem to get that -readline requires either +# -ltermcap or -lncurses on systems that don't make assumptions... +#sed -i -e 's|-lreadline|\0 -lncursesw|g' Makefile + +make $NUMBJOBS || make || exit 1 make install DESTDIR=$PKG || make install DESTDIR=$PKG -# Move the libblkid, libmount, and libuuid libraries to /lib${LIBSUFFIX} +# Remove all overlap with the shadow package, since --disable-login doesn't quite do that: +rm $PKG/sbin/nologin $PKG/usr/man/man8/nologin.8 $PKG/sbin/sulogin $PKG/usr/man/man8/sulogin.8 + +# Move the libblkid, libfdisk, libmount, libsmartcols, and +# libuuid libraries to /lib${LIBSUFFIX}: mkdir -p $PKG/lib${LIBDIRSUFFIX} ( cd $PKG/usr/lib${LIBDIRSUFFIX} mv libblkid.so.1* $PKG/lib${LIBDIRSUFFIX} + mv libfdisk.so.1* $PKG/lib${LIBDIRSUFFIX} mv libmount.so.1* $PKG/lib${LIBDIRSUFFIX} + mv libsmartcols.so.1* $PKG/lib${LIBDIRSUFFIX} mv libuuid.so.1* $PKG/lib${LIBDIRSUFFIX} - rm -f libblkid.so libmount.so libuuid.so + rm -f libblkid.so libfdisk.so libmount.so libsmartcols.so libuuid.so ln -sf ../../lib${LIBDIRSUFFIX}/libblkid.so.1 libblkid.so + ln -sf ../../lib${LIBDIRSUFFIX}/libfdisk.so.1 libfdisk.so ln -sf ../../lib${LIBDIRSUFFIX}/libmount.so.1 libmount.so + ln -sf ../../lib${LIBDIRSUFFIX}/libsmartcols.so.1 libsmartcols.so ln -sf ../../lib${LIBDIRSUFFIX}/libuuid.so.1 libuuid.so ) @@ -165,6 +154,13 @@ if [ -r $PKG/usr/sbin/fdformat ]; then ) fi +# ddate.{1,c} taken from https://github.com/bo0ts/ddate: +cp -a $CWD/ddate.? . +cc -O -o ddate ddate.c +cp -a ddate $PKG/usr/bin +cat ddate.1 > $PKG/usr/man/man1/ddate.1 +chown root:root $PKG/usr/bin/ddate + # Build ziptool cd $TMP || exit 1 rm -rf ziptool-$ZIPTOOLVERS @@ -188,6 +184,7 @@ cd $TMP || exit 1 rm -rf bsdstrings tar xvf $CWD/bsdstrings.tar.gz || exit 1 cd bsdstrings || exit 1 +zcat $CWD/bsdstrings-util-linux_overflow.diff.gz | patch -p1 --verbose || exit 1 make || exit 1 strip strings cat strings > $PKG/usr/bin/strings @@ -279,7 +276,8 @@ cd $TMP/util-linux-$VERSION # Go back home :) ln -s ../../sbin/sfdisk . cd $PKG/usr/bin ln -s ../sbin/readprofile . - ln -s ../sbin/tunelp . + # tunelp was removed by upstream: + #ln -s ../sbin/tunelp . ln -s ../../bin/more . ln -s ../../sbin/raw . cd $PKG/usr/man/man1 diff --git a/source/a/util-linux/util-linux.fdisk-no-solaris.diff b/source/a/util-linux/util-linux.fdisk-no-solaris.diff index a3aa100e..a495ffac 100644 --- a/source/a/util-linux/util-linux.fdisk-no-solaris.diff +++ b/source/a/util-linux/util-linux.fdisk-no-solaris.diff @@ -1,6 +1,7 @@ ---- ./fdisk/i386_sys_types.c.orig 2007-04-25 07:43:38.000000000 -0500 -+++ ./fdisk/i386_sys_types.c 2008-03-31 14:53:52.000000000 -0500 -@@ -53,7 +53,7 @@ +diff -Nur util-linux-2.24.2.orig/include/pt-mbr-partnames.h util-linux-2.24.2/include/pt-mbr-partnames.h +--- util-linux-2.24.2.orig/include/pt-mbr-partnames.h 2014-04-24 02:37:04.352704164 -0500 ++++ util-linux-2.24.2/include/pt-mbr-partnames.h 2014-07-03 03:33:27.054574467 -0500 +@@ -49,7 +49,7 @@ {0x75, N_("PC/IX")}, {0x80, N_("Old Minix")}, /* Minix 1.4a and earlier */ {0x81, N_("Minix / old Linux")},/* Minix 1.4b and later */ diff --git a/source/a/which/which.SlackBuild b/source/a/which/which.SlackBuild index 08ae4616..dd755e41 100755 --- a/source/a/which/which.SlackBuild +++ b/source/a/which/which.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009, 2010, 2015 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -21,13 +21,14 @@ # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=2.20 +PKGNAM=which +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.gz | 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 case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; diff --git a/source/a/xfsprogs/xfsprogs.SlackBuild b/source/a/xfsprogs/xfsprogs.SlackBuild index 672290d3..b83d3f21 100755 --- a/source/a/xfsprogs/xfsprogs.SlackBuild +++ b/source/a/xfsprogs/xfsprogs.SlackBuild @@ -29,7 +29,7 @@ NUMJOBS=${NUMJOBS:-" -j7 "} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -40,8 +40,8 @@ CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-xfsprogs -if [ "$ARCH" = "i486" ]; then - SLKCFLAGS="-O2 -march=i486 -mtune=i686" +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" diff --git a/source/a/xz/xz.SlackBuild b/source/a/xz/xz.SlackBuild index 75b4e5f4..8bac70d1 100755 --- a/source/a/xz/xz.SlackBuild +++ b/source/a/xz/xz.SlackBuild @@ -28,7 +28,7 @@ BUILD=${BUILD:-1} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then case "$( uname -m )" in - i?86) export ARCH=i486 ;; + i?86) export ARCH=i586 ;; arm*) export ARCH=arm ;; # Unless $ARCH is already set, use uname -m for all other archs: *) export ARCH=$( uname -m ) ;; @@ -36,7 +36,7 @@ if [ -z "$ARCH" ]; then fi case "$ARCH" in - i486) SLKCFLAGS="-O2 -march=i486 -mtune=i686" + i586) SLKCFLAGS="-O2 -march=i586 -mtune=i686" LIBDIRSUFFIX="" ;; s390) SLKCFLAGS="-O2" @@ -116,8 +116,8 @@ mv $PKG/usr/bin/xz $PKG/bin # Strip binaries: ( cd $PKG - find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-debug 2> /dev/null - find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-debug 2> /dev/null + find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null ) # Compress and link manpages, if any: @@ -152,12 +152,12 @@ mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc cd $PKG -/sbin/makepkg -l y -c n $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.tgz +/sbin/makepkg -l y -c n $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz # Move temporary stuff to /tmp, so that it won't get forgotten # in the shuffle: -cp -a $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.tgz /tmp +cp -a $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz /tmp rm -rf /tmp/xz-tmp* mv /xz-tmp* /tmp |