slackware-current/source/a/util-linux/util-linux.SlackBuild
Patrick J Volkerding 44183f6ba3 Fri Mar 29 20:39:11 UTC 2024
Everything in this batch besides aaa_libraries, xz, mcelog, and harfbuzz is a
rebuild or upgrade to build against python-3.11.8. Looking at the python
readiness page, it seems like a lot of stuff we use is not certified for
python-3.12 yet (although to be fair, about half as much isn't certified for
python-3.11 either). But 3.11 seems to be the safer choice even though the
final bugfix update is scheduled for Monday. And, if we do decide to move
ahead to 3.12 later on, it'll be a lot easier than this update was.
Enjoy! :-)
a/aaa_libraries-15.1-x86_64-29.txz:  Rebuilt.
  Upgraded: libzstd.so.1.5.6, libexpat.so.1.9.2, libglib-2.0.so.0.8000.0,
  libgmodule-2.0.so.0.8000.0, libgobject-2.0.so.0.8000.0,
  libgthread-2.0.so.0.8000.0.
  Removed: libboost_*.so.1.83.0.
a/libblockdev-2.28-x86_64-3.txz:  Rebuilt.
a/libbytesize-2.8-x86_64-2.txz:  Rebuilt.
a/libpwquality-1.4.5-x86_64-2.txz:  Rebuilt.
a/mcelog-198-x86_64-1.txz:  Upgraded.
a/util-linux-2.40-x86_64-2.txz:  Rebuilt.
a/volume_key-0.3.12-x86_64-8.txz:  Rebuilt.
a/xz-5.6.1-x86_64-2.txz:  Rebuilt.
  Seems like a good idea to build this from a git pull rather than the signed
  release tarballs. :-)
  The liblzma in the previous packages were not found to be vulnerable by the
  detection script, but I'd rather not carry the bad m4 files in our sources.
  Here's a test script for anyone wanting to try it:
  if hexdump -ve '1/1 "%.2x"' /lib*/liblzma.so.5 | grep -q f30f1efa554889f54c89ce5389fb81e7000000804883ec28488954241848894c2410 ; then
    echo probably vulnerable
  else
    echo probably not vulnerable
  fi
ap/hplip-3.23.12-x86_64-3.txz:  Rebuilt.
ap/linuxdoc-tools-0.9.82-x86_64-5.txz:  Rebuilt.
ap/rpm-4.19.1.1-x86_64-2.txz:  Rebuilt.
ap/undervolt-20210815_e39aea1-x86_64-3.txz:  Rebuilt.
ap/vim-9.1.0225-x86_64-1.txz:  Upgraded.
d/Cython-3.0.9-x86_64-2.txz:  Rebuilt.
d/distcc-3.4-x86_64-5.txz:  Rebuilt.
d/gdb-14.2-x86_64-2.txz:  Rebuilt.
d/gyp-20210831_d6c5dd51-x86_64-3.txz:  Rebuilt.
d/llvm-18.1.2-x86_64-2.txz:  Rebuilt.
d/mercurial-6.7.1-x86_64-2.txz:  Rebuilt.
d/meson-1.4.0-x86_64-2.txz:  Rebuilt.
d/python-pip-24.0-x86_64-2.txz:  Rebuilt.
d/python-setuptools-69.2.0-x86_64-2.txz:  Rebuilt.
d/python3-3.11.8-x86_64-1.txz:  Upgraded.
  Shared library .so-version bump.
d/scons-4.7.0-x86_64-2.txz:  Rebuilt.
kde/cantor-23.08.5-x86_64-4.txz:  Rebuilt.
kde/kapidox-5.115.0-x86_64-2.txz:  Rebuilt.
kde/kdev-python-23.08.5-x86_64-2.txz:  Rebuilt.
kde/kig-23.08.5-x86_64-2.txz:  Rebuilt.
kde/kmymoney-5.1.3-x86_64-4.txz:  Rebuilt.
kde/kopeninghours-23.08.5-x86_64-2.txz:  Rebuilt.
kde/krita-5.2.2-x86_64-6.txz:  Rebuilt.
l/M2Crypto-0.41.0-x86_64-2.txz:  Rebuilt.
l/Mako-1.3.2-x86_64-2.txz:  Rebuilt.
l/PyQt-builder-1.15.4-x86_64-2.txz:  Rebuilt.
l/PyQt5-5.15.10-x86_64-2.txz:  Rebuilt.
l/PyQt5_sip-12.13.0-x86_64-2.txz:  Rebuilt.
l/QScintilla-2.14.1-x86_64-3.txz:  Rebuilt.
l/avahi-20240306_709e60f-x86_64-2.txz:  Rebuilt.
l/brotli-1.1.0-x86_64-2.txz:  Rebuilt.
l/dbus-python-1.3.2-x86_64-2.txz:  Rebuilt.
l/gexiv2-0.14.2-x86_64-3.txz:  Rebuilt.
l/gi-docgen-2023.3-x86_64-2.txz:  Rebuilt.
l/glade-3.40.0-x86_64-2.txz:  Rebuilt.
l/gobject-introspection-1.80.0-x86_64-2.txz:  Rebuilt.
l/harfbuzz-8.4.0-x86_64-1.txz:  Upgraded.
l/lensfun-0.3.4-x86_64-2.txz:  Rebuilt.
l/libcaca-0.99.beta20-x86_64-2.txz:  Rebuilt.
l/libcap-ng-0.8.4-x86_64-2.txz:  Rebuilt.
l/libieee1284-0.2.11-x86_64-8.txz:  Rebuilt.
l/libimobiledevice-20231007_04c0233-x86_64-2.txz:  Rebuilt.
l/libnvme-1.8-x86_64-2.txz:  Rebuilt.
l/libplist-2.4.0-x86_64-2.txz:  Rebuilt.
l/libwebp-1.3.2-x86_64-3.txz:  Rebuilt.
l/libxml2-2.12.6-x86_64-3.txz:  Rebuilt.
l/libxslt-1.1.39-x86_64-2.txz:  Rebuilt.
l/newt-0.52.24-x86_64-3.txz:  Rebuilt.
l/protobuf-26.1-x86_64-2.txz:  Rebuilt.
l/pycairo-1.26.0-x86_64-3.txz:  Rebuilt.
l/pycups-2.0.1-x86_64-7.txz:  Rebuilt.
l/pycurl-7.45.3-x86_64-2.txz:  Rebuilt.
l/pygobject3-3.48.1-x86_64-2.txz:  Rebuilt.
l/pyparsing-3.1.2-x86_64-2.txz:  Rebuilt.
l/python-Jinja2-3.1.3-x86_64-2.txz:  Rebuilt.
l/python-MarkupSafe-2.1.5-x86_64-2.txz:  Rebuilt.
l/python-PyYAML-6.0.1-x86_64-3.txz:  Rebuilt.
l/python-alabaster-0.7.16-x86_64-2.txz:  Rebuilt.
l/python-appdirs-1.4.4-x86_64-7.txz:  Rebuilt.
l/python-babel-2.14.0-x86_64-2.txz:  Rebuilt.
l/python-build-1.2.1-x86_64-2.txz:  Rebuilt.
l/python-calver-2022.6.26-x86_64-2.txz:  Rebuilt.
l/python-certifi-2024.2.2-x86_64-2.txz:  Rebuilt.
l/python-cffi-1.16.0-x86_64-2.txz:  Rebuilt.
l/python-chardet-5.2.0-x86_64-2.txz:  Rebuilt.
l/python-charset-normalizer-3.3.2-x86_64-2.txz:  Rebuilt.
l/python-distro-1.9.0-x86_64-2.txz:  Rebuilt.
l/python-dnspython-2.6.1-x86_64-2.txz:  Rebuilt.
l/python-docutils-0.20.1-x86_64-2.txz:  Rebuilt.
l/python-doxypypy-0.8.8.7-x86_64-2.txz:  Rebuilt.
l/python-doxyqml-0.5.3-x86_64-2.txz:  Rebuilt.
l/python-editables-0.5-x86_64-2.txz:  Rebuilt.
l/python-flit-core-3.9.0-x86_64-2.txz:  Rebuilt.
l/python-future-1.0.0-x86_64-2.txz:  Rebuilt.
l/python-glad2-2.0.6-x86_64-2.txz:  Rebuilt.
l/python-hatchling-1.22.4-x86_64-2.txz:  Rebuilt.
l/python-html5lib-1.1-x86_64-2.txz:  Rebuilt.
l/python-idna-3.6-x86_64-2.txz:  Rebuilt.
l/python-imagesize-1.4.1-x86_64-2.txz:  Rebuilt.
l/python-importlib_metadata-7.1.0-x86_64-2.txz:  Rebuilt.
l/python-installer-0.7.0-x86_64-2.txz:  Rebuilt.
l/python-lxml-5.1.1-x86_64-1.txz:  Upgraded.
l/python-markdown-3.6-x86_64-2.txz:  Rebuilt.
l/python-notify2-0.3.1-x86_64-11.txz:  Rebuilt.
l/python-packaging-24.0-x86_64-2.txz:  Rebuilt.
l/python-pathspec-0.12.1-x86_64-2.txz:  Rebuilt.
l/python-pbr-6.0.0-x86_64-2.txz:  Rebuilt.
l/python-pillow-10.2.0-x86_64-2.txz:  Rebuilt.
l/python-pluggy-1.4.0-x86_64-2.txz:  Rebuilt.
l/python-ply-3.11-x86_64-9.txz:  Rebuilt.
l/python-psutil-5.9.8-x86_64-2.txz:  Rebuilt.
l/python-pycparser-2.21-x86_64-2.txz:  Rebuilt.
l/python-pygments-2.17.2-x86_64-2.txz:  Rebuilt.
l/python-pyproject-hooks-1.0.0-x86_64-2.txz:  Rebuilt.
l/python-pysol_cards-0.16.0-x86_64-2.txz:  Rebuilt.
l/python-pytz-2024.1-x86_64-2.txz:  Rebuilt.
l/python-random2-1.0.2-x86_64-2.txz:  Rebuilt.
l/python-requests-2.31.0-x86_64-2.txz:  Rebuilt.
l/python-sane-2.9.1-x86_64-6.txz:  Rebuilt.
l/python-setuptools_scm-8.0.4-x86_64-2.txz:  Rebuilt.
l/python-six-1.16.0-x86_64-4.txz:  Rebuilt.
l/python-smartypants-2.0.1-x86_64-2.txz:  Rebuilt.
l/python-snowballstemmer-2.2.0-x86_64-2.txz:  Rebuilt.
l/python-sphinx-7.2.6-x86_64-2.txz:  Rebuilt.
l/python-sphinx_rtd_theme-2.0.0-x86_64-2.txz:  Rebuilt.
l/python-tomli-2.0.1-x86_64-2.txz:  Rebuilt.
l/python-tomli-w-1.0.0-x86_64-2.txz:  Rebuilt.
l/python-trove-classifiers-2024.3.25-x86_64-2.txz:  Rebuilt.
l/python-typing_extensions-4.10.0-x86_64-2.txz:  Rebuilt.
l/python-typogrify-2.0.7-x86_64-2.txz:  Rebuilt.
l/python-urllib3-2.2.1-x86_64-2.txz:  Rebuilt.
l/python-webencodings-0.5.1-x86_64-2.txz:  Rebuilt.
l/python-wheel-0.43.0-x86_64-2.txz:  Rebuilt.
l/python-zipp-3.18.1-x86_64-2.txz:  Rebuilt.
l/sip-6.8.3-x86_64-2.txz:  Rebuilt.
l/speech-dispatcher-0.11.5-x86_64-2.txz:  Rebuilt.
l/system-config-printer-1.5.18-x86_64-2.txz:  Rebuilt.
l/talloc-2.4.2-x86_64-2.txz:  Rebuilt.
l/tdb-1.4.10-x86_64-2.txz:  Rebuilt.
l/tevent-0.16.1-x86_64-2.txz:  Rebuilt.
n/epic5-2.1.12-x86_64-7.txz:  Rebuilt.
n/fetchmail-6.4.38-x86_64-2.txz:  Rebuilt.
n/getmail-6.18.14-x86_64-2.txz:  Rebuilt.
n/gpgme-1.23.2-x86_64-3.txz:  Rebuilt.
n/net-snmp-5.9.4-x86_64-2.txz:  Rebuilt.
n/nftables-1.0.9-x86_64-2.txz:  Rebuilt.
n/nmap-7.94-x86_64-2.txz:  Rebuilt.
n/nss-pam-ldapd-0.9.12-x86_64-4.txz:  Rebuilt.
n/obexftp-0.24.2-x86_64-12.txz:  Rebuilt.
n/pssh-2.3.5-x86_64-2.txz:  Rebuilt.
n/samba-4.20.0-x86_64-2.txz:  Rebuilt.
x/ibus-1.5.29-x86_64-3.txz:  Rebuilt.
x/ibus-anthy-1.5.16-x86_64-2.txz:  Rebuilt.
x/ibus-hangul-1.5.5-x86_64-2.txz:  Rebuilt.
x/ibus-libpinyin-1.15.7-x86_64-2.txz:  Rebuilt.
x/ibus-table-1.17.4-x86_64-2.txz:  Rebuilt.
x/marisa-0.2.6-x86_64-9.txz:  Rebuilt.
x/pyxdg-0.28-x86_64-2.txz:  Rebuilt.
x/xcb-proto-1.16.0-x86_64-3.txz:  Rebuilt.
xap/blueman-2.3.5-x86_64-2.txz:  Rebuilt.
xap/hexchat-2.16.2-x86_64-2.txz:  Rebuilt.
xap/vim-gvim-9.1.0225-x86_64-1.txz:  Upgraded.
extra/brltty/brltty-6.6-x86_64-3.txz:  Rebuilt.
2024-03-29 22:36:12 +01:00

373 lines
12 KiB
Bash
Executable file

#!/bin/bash
# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2017, 2018, 2020, 2021, 2022, 2023, 2024 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.
# Slackware build script for util-linux
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=util-linux
VERSION=${VERSION:-$(echo util-linux*.tar.xz | cut -d - -f 3 | rev | cut -f 3- -d . | rev)}
BUILD=${BUILD:-2}
ADJTIMEXVERS=1.29
SETSERIALVERS=2.17
ZIPTOOLVERS=1.4.0
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
# 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
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
TMP=${TMP:-/tmp}
PKG=$TMP/package-util-linux
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP || exit 1
rm -rf util-linux-$VERSION
tar xvf $CWD/util-linux-$VERSION.tar.xz || exit 1
cd util-linux-$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 {} \+
# Choose correct options depending on whether PAM is installed:
if [ -L /lib${LIBDIRSUFFIX}/libpam.so.? ]; then
LOGIN_OPTIONS=""
# By default, don't use the util-linux version of /bin/su:
SHIP_SU=${SHIP_SU:-NO}
# Add /etc/pam.d config files:
rm -rf $PKG/etc/pam.d
mkdir -p $PKG/etc/pam.d
for file in $CWD/pam.d/* ; do
cp -a ${file} $PKG/etc/pam.d/
done
# In case someone is using the '-h' option to /bin/login, we will require
# another copy of /etc/pam.d/login called /etc/pam.d/remote. Make this copy
# if it doesn't exist already:
if [ ! -r $PKG/etc/pam.d/remote ]; then
cp -a $PKG/etc/pam.d/login $PKG/etc/pam.d/remote
fi
if [ "$SHIP_SU" = "YES" ]; then
# Add su default file to ensure using ENV_SUPATH with 'su':
mkdir -p $PKG/etc/default
cp -a $CWD/su.default $PKG/etc/default/su.new
chown root:root $PKG/etc/default/su.new
chmod 644 $PKG/etc/default/su.new
# Add su /etc/pam.d files:
cp -a $CWD/pam.d-su/* $PKG/etc/pam.d/
fi
# Ensure correct perms/ownership on files in /etc/pam.d/:
chown root:root $PKG/etc/pam.d/*
chmod 644 $PKG/etc/pam.d/*
# Don't clobber existing config files:
find $PKG/etc/pam.d -type f -exec mv {} {}.new \;
else
# Don't use the util-linux version of /bin/su.
# It can't be built without PAM anyway.
SHIP_SU=NO
LOGIN_OPTIONS="--disable-login"
fi
# Put any PAM modules in the proper directory:
sed -i "s|securelibdir = \$(libdir)/security|securelibdir = /lib${LIBDIRSUFFIX}/security|g" pam_lastlog2/src/Makemodule.am
# 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
# Revert to the behavior of earlier versions of fdisk which did not list the
# /dev/ram* devices in 'fdisk -l' output:
zcat $CWD/util-linux.do.not.list.ram.devices.diff.gz | patch -p1 --verbose || exit 1
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--localstatedir=/var \
--mandir=/usr/man \
--infodir=/usr/info \
--docdir=/usr/doc/util-linux-$VERSION \
--disable-static \
--enable-agetty \
--enable-fdformat \
--enable-kill \
--disable-last \
--enable-line \
--enable-mesg \
--enable-partx \
--enable-pg \
--disable-raw \
--enable-rename \
$LOGIN_OPTIONS \
--enable-schedutils \
--enable-wall \
--enable-write \
--enable-use-tty-group \
--enable-libblkid \
--enable-libmount \
--disable-libmount-mountfd-support \
--enable-libuuid \
--disable-uuidd \
--with-python=3 \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
make install $NUMJOBS DESTDIR=$PKG || exit 1
# These need to be setuid root to work properly (only built for PAM):
if [ -r $PKG/usr/bin/chfn ]; then
chmod 4711 $PKG/usr/bin/chfn
fi
if [ -r $PKG/usr/bin/chsh ]; then
chmod 4711 $PKG/usr/bin/chsh
fi
# 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
# If we aren't shipping su, remove the files:
if [ "$SHIP_SU" = "NO" ]; then
rm -f $PKG/bin/su
rm -f $PKG/usr/man/man1/su.1
rm -f $PKG/usr/share/bash-completion/completions/runuser
rm -f $PKG/usr/share/bash-completion/completions/su
fi
# 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 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
)
# Moving things around that have been in the same place
# for 15 years is, IMHO, not a wise idea AT ALL.
# If this had to be moved, some place out of /usr might
# have shown a grain of insight...
if [ -r $PKG/usr/sbin/fdformat ]; then
mkdir -p $PKG/usr/bin
mv $PKG/usr/sbin/fdformat $PKG/usr/bin/fdformat
# Now since stuff will start looking in this new place,
# we have no choice but to link these:
( cd $PKG/usr/sbin
ln -sf ../bin/fdformat .
)
fi
# Add the rc.setterm init script to set default terminal attributes:
mkdir -p $PKG/etc/rc.d
cp -a $CWD/rc.setterm $PKG/etc/rc.d/rc.setterm.new
chown root:root $PKG/etc/rc.d/rc.setterm.new
chmod 755 $PKG/etc/rc.d/rc.setterm.new
# 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 (install as jaztool to avoid conflict with libzip):
cd $TMP || exit 1
rm -rf ziptool-$ZIPTOOLVERS
tar xvf $CWD/ziptool-$ZIPTOOLVERS.tar.xz || exit 1
cd ziptool-$ZIPTOOLVERS || exit 1
zcat $CWD/ziptool-fix_build.patch.gz | patch -p1 || exit 1
mkdir scsi
cat $CWD/scsi_ioctl.h > scsi/scsi_ioctl.h
chown -R root:root .
make || exit 1
strip ziptool
cat ziptool > $PKG/sbin/jaztool
chmod 0755 $PKG/sbin/jaztool
mkdir -p $PKG/usr/doc/ziptool-$ZIPTOOLVERS
cp -a README $PKG/usr/doc/ziptool-$ZIPTOOLVERS
chmod 644 $PKG/usr/doc/ziptool-$ZIPTOOLVERS/*
cat ziptool.1.gz > $PKG/usr/man/man1/jaztool.1.gz
# Build bsdstrings
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-BSD
chmod 0755 $PKG/usr/bin/strings-BSD
cat strings.1 | gzip -9c > $PKG/usr/man/man1/strings-BSD.1.gz
# Build adjtimex
cd $TMP || exit 1
rm -rf adjtimex-$ADJTIMEXVERS
tar xvf $CWD/adjtimex_${ADJTIMEXVERS}.orig.tar.gz || exit 1
cd adjtimex-$ADJTIMEXVERS || exit 1
chown -R root:root .
zcat $CWD/adjtimex_1.29-2.2.diff.gz | patch -p1 || exit 1
CFLAGS=-O2 ./configure --prefix=/usr || exit 1
make || exit 1
strip adjtimex
cat adjtimex > $PKG/sbin/adjtimex
chmod 0755 $PKG/sbin/adjtimex
cat adjtimex.8 | gzip -9c > $PKG/usr/man/man8/adjtimex.8.gz
mkdir -p $PKG/usr/doc/adjtimex-$ADJTIMEXVERS
cp -a COPYING COPYRIGHT README README.ru adjtimex.lsm \
$PKG/usr/doc/adjtimex-$ADJTIMEXVERS
# Build setserial
cd $TMP || exit 1
rm -rf setserial-$SETSERIALVERS
tar xvf $CWD/setserial-$SETSERIALVERS.tar.gz || exit 1
cd setserial-$SETSERIALVERS || exit 1
chown -R root:root .
zcat $CWD/setserial-rc.serial.diff.gz | patch -E -p1 --verbose || exit 1
zcat $CWD/setserial-undef_TIOCGHAYESESP.diff.gz | patch -E -p1 --verbose || exit 1
# The original config.{guess,sub} do not work on x86_64
cp -p /usr/share/libtool/config/config.{guess,sub} .
./configure --prefix=/usr || exit 1
make || exit 1
strip setserial
cat setserial > $PKG/sbin/setserial
chmod 0755 $PKG/sbin/setserial
mkdir -p $PKG/etc/rc.d
cat rc.serial > $PKG/etc/rc.d/rc.serial.new
cat serial.conf > $PKG/etc/serial.conf.new
cat setserial.8 | gzip -9c > $PKG/usr/man/man8/setserial.8.gz
# Build seedrng, a utility for seeding the kernel random number generator:
cc -O2 -std=gnu99 $CWD/seedrng.c -o $PKG/usr/sbin/seedrng
zcat $CWD/seedrng.8.gz > $PKG/usr/man/man8/seedrng.8
# These have always traditionally been available before /usr
# might be mounted:
( cd $PKG/usr/bin
mv getopt setterm $PKG/bin
cd $PKG/usr/bin
ln -s ../../bin/getopt .
ln -s ../../bin/setterm .
)
cd $TMP/util-linux-$VERSION # Go back home :)
# Now let's add some important symlinks :)
( cd $PKG/sbin
ln -s ../bin/mount .
ln -s ../bin/umount .
#ln -s ziptool jaztool
ln -s hwclock clock
cd $PKG/usr/sbin
ln -s ../../sbin/cfdisk .
ln -s ../../sbin/ctrlaltdel .
ln -s ../../sbin/sfdisk .
cd $PKG/usr/bin
ln -s ../sbin/readprofile .
# tunelp was removed by upstream:
#ln -s ../sbin/tunelp .
ln -s ../../bin/more .
cd $PKG/usr/man/man1
#ln -s ziptool.1 jaztool.1
cd $PKG/usr/man/man8
ln -s hwclock.8 clock.8
)
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 ship .la files:
rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
# Compress and if needed symlink the man pages:
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
# Compress info page and remove dir file
rm $PKG/usr/info/dir
gzip -9 $PKG/usr/info/*
mkdir -p $PKG/usr/doc/util-linux-$VERSION
cp -a AUTHORS COPYING* DEPRECATED NEWS README* \
Documentation/releases/v${VERSION}-ReleaseNotes \
Documentation/licenses/* Documentation/{TODO,*.txt} \
$PKG/usr/doc/util-linux-$VERSION
mkdir $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $TMP/util-linux-$VERSION-$ARCH-$BUILD.txz