mirror of
git://slackware.nl/current.git
synced 2024-12-30 10:24:23 +01:00
aba57b8fb0
a/kernel-firmware-20220419_ee43979-noarch-1.txz: Upgraded. a/kernel-generic-5.17.4-x86_64-1.txz: Upgraded. a/kernel-huge-5.17.4-x86_64-1.txz: Upgraded. a/kernel-modules-5.17.4-x86_64-1.txz: Upgraded. a/mcelog-181-x86_64-1.txz: Upgraded. a/pciutils-3.8.0-x86_64-1.txz: Upgraded. d/git-2.36.0-x86_64-1.txz: Upgraded. d/kernel-headers-5.17.4-x86-1.txz: Upgraded. k/kernel-source-5.17.4-noarch-1.txz: Upgraded. l/fribidi-1.0.12-x86_64-1.txz: Upgraded. l/parted-3.5-x86_64-1.txz: Upgraded. l/pipewire-0.3.50-x86_64-2.txz: Rebuilt. Build in FFmpeg and Vulkan support. Thanks to Klaatu. n/bind-9.18.2-x86_64-1.txz: Upgraded. n/postfix-3.7.1-x86_64-1.txz: Upgraded. x/libinput-1.20.1-x86_64-1.txz: Upgraded. xap/mozilla-thunderbird-91.8.1-x86_64-1.txz: Upgraded. This is a bugfix release. For more information, see: https://www.mozilla.org/en-US/thunderbird/91.8.1/releasenotes/ isolinux/initrd.img: Rebuilt. kernels/*: Upgraded. usb-and-pxe-installers/usbboot.img: Rebuilt.
114 lines
3.5 KiB
Bash
114 lines
3.5 KiB
Bash
#!/bin/sh
|
|
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...
|
|
}
|
|
|
|
# First, make sure any new entries in passwd/shadow/group are added:
|
|
if [ -r etc/passwd -a -r etc/passwd.new ]; then
|
|
cat etc/passwd.new | while read line ; do
|
|
if ! grep -q "^$(echo $line | cut -f 1 -d :):" etc/passwd ; then
|
|
echo $line >> etc/passwd
|
|
fi
|
|
done
|
|
fi
|
|
if [ -r etc/shadow -a -r etc/shadow.new ]; then
|
|
cat etc/shadow.new | while read line ; do
|
|
if ! grep -q "^$(echo $line | cut -f 1 -d :):" etc/shadow ; then
|
|
echo $line >> etc/shadow
|
|
fi
|
|
done
|
|
fi
|
|
if [ -r etc/group -a -r etc/group.new ]; then
|
|
cat etc/group.new | while read line ; do
|
|
if ! grep -q "^$(echo $line | cut -f 1 -d :):" etc/group ; then
|
|
echo $line >> etc/group
|
|
fi
|
|
done
|
|
fi
|
|
|
|
config etc/mtab.new
|
|
config etc/motd.new
|
|
config etc/group.new
|
|
config etc/csh.login.new
|
|
config etc/ld.so.conf.new
|
|
config etc/profile.new
|
|
config etc/hosts.new
|
|
config etc/inputrc.new
|
|
config etc/shadow.new
|
|
config etc/passwd.new
|
|
config etc/printcap.new
|
|
config etc/networks.new
|
|
config etc/HOSTNAME.new
|
|
config etc/gshadow.new
|
|
config etc/issue.new
|
|
config etc/securetty.new
|
|
config etc/shells.new
|
|
config etc/services.new
|
|
config etc/issue.net.new
|
|
config etc/nsswitch.conf.new
|
|
config etc/profile.d/lang.csh.new
|
|
config etc/profile.d/lang.sh.new
|
|
config etc/profile.d/z-dot-in-non-root-path.csh.new
|
|
config etc/profile.d/z-dot-in-non-root-path.sh.new
|
|
config var/log/lastlog.new
|
|
config var/log/wtmp.new
|
|
config var/run/utmp.new
|
|
|
|
if [ -r etc/ld.so.conf.new -a -r etc/ld.so.conf ]; then
|
|
# Ensure that ld.so.conf contains the minimal set of paths:
|
|
# (eliminate ld.so.conf.d line when adding paths to avoid repeats)
|
|
cat etc/ld.so.conf | grep -v ld.so.conf.d | while read pathline ; do
|
|
if ! grep "^${pathline}$" etc/ld.so.conf.new 1> /dev/null 2> /dev/null ; then
|
|
echo "$pathline" >> etc/ld.so.conf.new
|
|
fi
|
|
done
|
|
cp etc/ld.so.conf.new etc/ld.so.conf
|
|
fi
|
|
|
|
# Clean up useless non-examples:
|
|
rm -f etc/mtab.new
|
|
rm -f etc/motd.new
|
|
rm -f etc/ld.so.conf.new
|
|
rm -f etc/hosts.new
|
|
#rm -f etc/shadow.new
|
|
rm -f etc/networks.new
|
|
rm -f etc/HOSTNAME.new
|
|
#rm -f etc/gshadow.new
|
|
rm -f etc/shells.new
|
|
rm -f etc/printcap.new
|
|
#rm -f etc/issue.new
|
|
rm -f etc/issue.net.new
|
|
#rm -f etc/profile.d/lang.csh.new
|
|
#rm -f etc/profile.d/lang.sh.new
|
|
rm -f var/run/utmp.new
|
|
rm -f var/log/lastlog.new
|
|
rm -f var/log/wtmp.new
|
|
|
|
# Make sure $HOME is correct for user sddm:
|
|
chroot . /usr/sbin/usermod -d /var/lib/sddm sddm > /dev/null 2> /dev/null
|
|
# Make sure that sddm is a member of group video:
|
|
chroot . /usr/sbin/usermod --groups video sddm > /dev/null 2> /dev/null
|
|
|
|
# Also ensure ownerships/perms:
|
|
chown root:utmp var/run/utmp var/log/wtmp
|
|
chmod 664 var/run/utmp var/log/wtmp
|
|
chown root:shadow etc/shadow etc/gshadow
|
|
chmod 640 etc/shadow etc/gshadow
|
|
|
|
# Match permissions on any leftover config z-dot-in-non-root-path scripts
|
|
# to prevent anyone who turned them on from accidentally losing that setting
|
|
# by moving the .new script into place:
|
|
if [ -r etc/profile.d/z-dot-in-non-root-path.csh.new ]; then
|
|
touch -r etc/profile.d/z-dot-in-non-root-path.csh etc/profile.d/z-dot-in-non-root-path.csh.new
|
|
fi
|
|
if [ -r etc/profile.d/z-dot-in-non-root-path.sh.new ]; then
|
|
touch -r etc/profile.d/z-dot-in-non-root-path.sh etc/profile.d/z-dot-in-non-root-path.sh.new
|
|
fi
|