slackware-current/source/a/etc/etc.SlackBuild
Patrick J Volkerding 9ab945c854 Sun Feb 25 19:16:52 UTC 2024
a/etc-15.1-x86_64-7.txz:  Rebuilt.
  Don't leave {group,gshadow,passwd,shadow}.new laying around.
  We'd left these as a reference in case new default entries were added so that
  the admin could take a look at them and merge the new entries into the
  existing files. But we've been merging them over automatically for quite some
  time. The files contain no unique information and are sort of a footbullet.
ap/qpdf-11.9.0-x86_64-1.txz:  Upgraded.
ap/vim-9.1.0136-x86_64-1.txz:  Upgraded.
n/whois-5.5.21-x86_64-1.txz:  Upgraded.
  Updated the .cv and .sd TLD servers.
  Removed 4 new gTLDs which are no longer active.
xap/vim-gvim-9.1.0136-x86_64-1.txz:  Upgraded.
xfce/xfce4-terminal-1.1.2-x86_64-2.txz:  Rebuilt.
  [PATCH] screen: Fix wrong assert.
  Thanks to J_W.
  [PATCH] prefs-dialog: Fix wrong assert.
  Thanks to mario.
2024-02-25 21:01:52 +01:00

83 lines
3 KiB
Bash
Executable file

#!/bin/bash
# Copyright 2005-2021 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.
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=etc
VERSION=15.1
BUILD=${BUILD:-7}
# 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-etc
rm -rf $PKG
mkdir -p $TMP $PKG
# Explode the package framework:
cd $PKG
explodepkg $CWD/_etc.tar.gz
# Fix for ARCH:
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
fi
cat $CWD/nsswitch.conf > $PKG/etc/nsswitch.conf.new
# Check to make sure that shadow has the same number of entries
# as passwd:
if [ ! "$(cat $CWD/passwd.new | wc -l)" = "$(cat $CWD/shadow.new | wc -l)" ]; then
echo "#######################################################################################"
echo "# WARNING: /etc/passwd.new and /etc/shadow.new don't have the same number of entries. #"
echo "#######################################################################################"
sleep 60
fi
# Install default passwd/shadow/group (sorted):
sort -n -t ':' -k3 $CWD/passwd.new > $PKG/etc/passwd.new
awk -F':' 'NR==FNR{z[$1]=$0;next}{print z[$1]}' $CWD/shadow.new $PKG/etc/passwd.new > $PKG/etc/shadow.new
sort -n -t ':' -k3 $CWD/group.new > $PKG/etc/group.new
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
/sbin/makepkg -l y -c n $TMP/etc-$VERSION-$ARCH-$BUILD.txz