slackware-current/source/a/sysvinit/sysvinit.SlackBuild

130 lines
4.4 KiB
Text
Raw Normal View History

#!/bin/bash
# Copyright 2005-2018 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.
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=sysvinit
VERSION=${VERSION:-2.90}
Thu Sep 6 06:15:46 UTC 2018 a/acpid-2.0.30-x86_64-1.txz: Upgraded. a/etc-15.0-x86_64-9.txz: Rebuilt. Added support for /etc/ld.so.conf.d/. Thanks to Qury. a/kernel-firmware-20180904_85c5d90-noarch-1.txz: Upgraded. a/kernel-generic-4.14.68-x86_64-1.txz: Upgraded. a/kernel-huge-4.14.68-x86_64-1.txz: Upgraded. a/kernel-modules-4.14.68-x86_64-1.txz: Upgraded. a/pkgtools-15.0-noarch-22.txz: Rebuilt. installpkg: prevent noise from the "stray cat" if tar hands it a broken pipe. Thanks to ivandi. Also (in the comments) provide a possibly better but untested solution. Thanks to SeB. a/sysvinit-2.90-x86_64-2.txz: Rebuilt. sysvinit-2.90 added an undocumented feature that tries to spawn agetty if it sees console= in the kernel command line. Avoiding the debate about whether this code belongs in init at all, at least such a change should be documented, and probably made opt-in. This patch disables the new behavior unless "sysvinit_agetty" is also seen in the kernel command line. It seems like this might have been something added for Hurd, and it might be wise to stick to what we've got rather than following upstream on this particular package. If anyone notices any other odd behavior, please let me know. Thanks to shastah. a/sysvinit-scripts-2.1-noarch-19.txz: Rebuilt. When checking for intel_pstate, direct the stderr to /dev/null in case the file doesn't exist in /sys. Thanks to ivandi. Allow forcing an option by editing /etc/default/cpufreq. ap/cups-filters-1.21.2-x86_64-1.txz: Upgraded. ap/ghostscript-9.24-x86_64-1.txz: Upgraded. Patched multiple -dSAFER sandbox bypass vulnerabilities. Thanks to Tavis Ormandy. For more information, see: https://www.ghostscript.com/doc/9.24/News.htm https://www.kb.cert.org/vuls/id/332928 (* Security fix *) ap/sudo-1.8.25-x86_64-1.txz: Upgraded. d/binutils-2.31.1-x86_64-2.txz: Rebuilt. elf.c (_bfd_elf_get_symbol_version_string): Return _("<corrupt>") for corrupt symbol version info. elflink.c (bfd_elf_record_link_assignment): Always clear h->verinfo.verdef when overriding a dynamic definition. Thanks to Michael Short for pointing out the upstream patches. d/ccache-3.4.3-x86_64-1.txz: Upgraded. d/kernel-headers-4.14.68-x86-1.txz: Upgraded. d/llvm-6.0.1-x86_64-2.txz: Rebuilt. Recompiled with -DCLANG_BUILD_SHARED_LIBS=ON to fix issues when multiple OpenCL drivers are installed. Thanks to Heinz Wiesinger. d/mercurial-4.7.1-x86_64-1.txz: Upgraded. k/kernel-source-4.14.68-noarch-1.txz: Upgraded. l/mozilla-nss-3.39-x86_64-1.txz: Upgraded. n/curl-7.61.1-x86_64-1.txz: Upgraded. This update fixes an NTLM password overflow via integer overflow. For more information, see: https://curl.haxx.se/docs/CVE-2018-14618.html https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-14618 (* Security fix *) n/gnupg2-2.2.10-x86_64-1.txz: Upgraded. n/libtirpc-1.1.4-x86_64-1.txz: Upgraded. n/netatalk-3.1.11-x86_64-2.txz: Rebuilt. rc.atalk: fixed errors in status output. Thanks to marav. n/nghttp2-1.33.0-x86_64-1.txz: Upgraded. n/p11-kit-0.23.14-x86_64-1.txz: Upgraded. n/stunnel-5.49-x86_64-1.txz: Upgraded. x/libdrm-2.4.94-x86_64-1.txz: Upgraded. x/xf86-video-ati-20180824_de88ea27-x86_64-1.txz: Upgraded. xap/hexchat-2.14.2-x86_64-1.txz: Upgraded. xap/mozilla-firefox-60.2.0esr-x86_64-1.txz: Upgraded. This release contains security fixes and improvements. For more information, see: https://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html (* Security fix *) xap/xlockmore-5.56-x86_64-1.txz: Upgraded. isolinux/initrd.img: Rebuilt. kernels/*: Upgraded. usb-and-pxe-installers/usbboot.img: Rebuilt.
2018-09-06 08:15:46 +02:00
BUILD=${BUILD:-2}
# 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 the variable PRINT_PACKAGE_NAME is set, then this script will report what
# the name of the created package would be, and then exit. This information
# could be useful to other scripts.
if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
exit 0
fi
TMP=${TMP:-/tmp}
PKG=$TMP/package-sysvinit
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf sysvinit-$VERSION
tar xvf $CWD/sysvinit-$VERSION.tar.xz || exit 1
cd sysvinit-$VERSION
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 {} \;
Thu Sep 6 06:15:46 UTC 2018 a/acpid-2.0.30-x86_64-1.txz: Upgraded. a/etc-15.0-x86_64-9.txz: Rebuilt. Added support for /etc/ld.so.conf.d/. Thanks to Qury. a/kernel-firmware-20180904_85c5d90-noarch-1.txz: Upgraded. a/kernel-generic-4.14.68-x86_64-1.txz: Upgraded. a/kernel-huge-4.14.68-x86_64-1.txz: Upgraded. a/kernel-modules-4.14.68-x86_64-1.txz: Upgraded. a/pkgtools-15.0-noarch-22.txz: Rebuilt. installpkg: prevent noise from the "stray cat" if tar hands it a broken pipe. Thanks to ivandi. Also (in the comments) provide a possibly better but untested solution. Thanks to SeB. a/sysvinit-2.90-x86_64-2.txz: Rebuilt. sysvinit-2.90 added an undocumented feature that tries to spawn agetty if it sees console= in the kernel command line. Avoiding the debate about whether this code belongs in init at all, at least such a change should be documented, and probably made opt-in. This patch disables the new behavior unless "sysvinit_agetty" is also seen in the kernel command line. It seems like this might have been something added for Hurd, and it might be wise to stick to what we've got rather than following upstream on this particular package. If anyone notices any other odd behavior, please let me know. Thanks to shastah. a/sysvinit-scripts-2.1-noarch-19.txz: Rebuilt. When checking for intel_pstate, direct the stderr to /dev/null in case the file doesn't exist in /sys. Thanks to ivandi. Allow forcing an option by editing /etc/default/cpufreq. ap/cups-filters-1.21.2-x86_64-1.txz: Upgraded. ap/ghostscript-9.24-x86_64-1.txz: Upgraded. Patched multiple -dSAFER sandbox bypass vulnerabilities. Thanks to Tavis Ormandy. For more information, see: https://www.ghostscript.com/doc/9.24/News.htm https://www.kb.cert.org/vuls/id/332928 (* Security fix *) ap/sudo-1.8.25-x86_64-1.txz: Upgraded. d/binutils-2.31.1-x86_64-2.txz: Rebuilt. elf.c (_bfd_elf_get_symbol_version_string): Return _("<corrupt>") for corrupt symbol version info. elflink.c (bfd_elf_record_link_assignment): Always clear h->verinfo.verdef when overriding a dynamic definition. Thanks to Michael Short for pointing out the upstream patches. d/ccache-3.4.3-x86_64-1.txz: Upgraded. d/kernel-headers-4.14.68-x86-1.txz: Upgraded. d/llvm-6.0.1-x86_64-2.txz: Rebuilt. Recompiled with -DCLANG_BUILD_SHARED_LIBS=ON to fix issues when multiple OpenCL drivers are installed. Thanks to Heinz Wiesinger. d/mercurial-4.7.1-x86_64-1.txz: Upgraded. k/kernel-source-4.14.68-noarch-1.txz: Upgraded. l/mozilla-nss-3.39-x86_64-1.txz: Upgraded. n/curl-7.61.1-x86_64-1.txz: Upgraded. This update fixes an NTLM password overflow via integer overflow. For more information, see: https://curl.haxx.se/docs/CVE-2018-14618.html https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-14618 (* Security fix *) n/gnupg2-2.2.10-x86_64-1.txz: Upgraded. n/libtirpc-1.1.4-x86_64-1.txz: Upgraded. n/netatalk-3.1.11-x86_64-2.txz: Rebuilt. rc.atalk: fixed errors in status output. Thanks to marav. n/nghttp2-1.33.0-x86_64-1.txz: Upgraded. n/p11-kit-0.23.14-x86_64-1.txz: Upgraded. n/stunnel-5.49-x86_64-1.txz: Upgraded. x/libdrm-2.4.94-x86_64-1.txz: Upgraded. x/xf86-video-ati-20180824_de88ea27-x86_64-1.txz: Upgraded. xap/hexchat-2.14.2-x86_64-1.txz: Upgraded. xap/mozilla-firefox-60.2.0esr-x86_64-1.txz: Upgraded. This release contains security fixes and improvements. For more information, see: https://www.mozilla.org/security/known-vulnerabilities/firefoxESR.html (* Security fix *) xap/xlockmore-5.56-x86_64-1.txz: Upgraded. isolinux/initrd.img: Rebuilt. kernels/*: Upgraded. usb-and-pxe-installers/usbboot.img: Rebuilt.
2018-09-06 08:15:46 +02:00
# sysvinit-2.90 added an undocumented feature that tries to spawn agetty if
# it sees console= in the kernel command line. Avoiding the debate about
# whether this code belongs in init at all, at least such a change # should
# be documented, and probably made opt-in. This patch disables the new behavior
# unless "sysvinit_agetty" is also seen in the kernel command line.
zcat $CWD/sysvinit.no.console.agetty.without.sysvinit_agetty.diff.gz | patch -p1 -E --verbose --backup --suffix=.orig || exit 1
# Fix paths for /etc/forcefsck and /etc/fastboot:
zcat $CWD/sysvinit.paths.diff.gz | patch -p1 -E --verbose --backup --suffix=.orig || exit 1
# Use /dev/initctl instead of /run/initctl ; this is a named pipe and probably
# should be in /dev anyway, but more importantly, having the upgraded package
# expect it in /run breaks shutdown/reboot without manual intervention
zcat $CWD/sysvinit.use_dev_initctl_not_run_initctl.diff.gz | patch -p1 --verbose || exit 1
mkdir -p $PKG/usr/doc/sysvinit-$VERSION
cp -a COPYING* COPYRIGHT* README* \
doc/* \
$PKG/usr/doc/sysvinit-$VERSION
cd src
make clobber || exit 1
make || exit 1
mkdir -p $PKG/sbin
for program in bootlogd halt init killall5 shutdown runlevel ; do
strip --strip-unneeded $program
cat $program > $PKG/sbin/$program
chmod 755 $PKG/sbin/$program
chown root:root $PKG/sbin/$program
done
mkdir -p $PKG/usr/bin
for program in last ; do
strip --strip-unneeded $program
cat $program > $PKG/usr/bin/$program
chmod 755 $PKG/usr/bin/$program
chown root:root $PKG/usr/bin/$program
done
( cd $PKG/usr/bin ; ln -sf last lastb )
mv $PKG/sbin/init $PKG/sbin/init.new
chmod 755 $PKG/sbin/init.new
chown root:root $PKG/sbin/init.new
cd ../man
mkdir -p $PKG/usr/man/man{1,5,8}
for page in last.1 ; do
cat $page | gzip -9c > $PKG/usr/man/man1/$page.gz
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 poweroff.8 reboot.8 runlevel.8 \
shutdown.8 telinit.8 bootlogd.8 ; do
cat $page | gzip -9c > $PKG/usr/man/man8/$page.gz
done
( cd $PKG/usr/man/man1 ; ln -sf last.1.gz lastb.1.gz )
mkdir -p $PKG/install
zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cat $CWD/slack-desc > $PKG/install/slack-desc
# Build the package:
cd $PKG
makepkg -l y -c n $TMP/sysvinit-$VERSION-$ARCH-$BUILD.txz