slackware-current/source/a/etc/doinst.sh

132 lines
4.1 KiB
Bash
Raw Normal View History

#!/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
Mon Aug 15 20:23:47 UTC 2022 a/etc-15.1-x86_64-2.txz: Rebuilt. Added support for $HOME/.profile.d/*.{csh,sh} scripts. Thanks to Heinz Wiesinger. a/mcelog-188-x86_64-1.txz: Upgraded. kde/fcitx5-configtool-5.0.14-x86_64-1.txz: Added. Thanks to Heinz Wiesinger. kde/fcitx5-theme-breeze-2.0.0-noarch-1.txz: Added. Thanks to Heinz Wiesinger. kde/kcm-fcitx-0.5.6-x86_64-4.txz: Removed. l/fmt-9.0.0-x86_64-1.txz: Added. Thanks to Steven Voges. l/librsvg-2.54.4-x86_64-2.txz: Rebuilt. Removed dangling symlink. Thanks to marav. n/rsync-3.2.5-x86_64-1.txz: Upgraded. Added some file-list safety checking that helps to ensure that a rogue sending rsync can't add unrequested top-level names and/or include recursive names that should have been excluded by the sender. These extra safety checks only require the receiver rsync to be updated. When dealing with an untrusted sending host, it is safest to copy into a dedicated destination directory for the remote content (i.e. don't copy into a destination directory that contains files that aren't from the remote host unless you trust the remote host). For more information, see: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-29154 (* Security fix *) x/anthy-9100h-x86_64-4.txz: Removed. x/anthy-unicode-1.0.0.20211224-x86_64-1.txz: Added. Thanks to Heinz Wiesinger. x/fcitx-4.2.9.8-x86_64-3.txz: Removed. x/fcitx-anthy-0.2.4-x86_64-1.txz: Removed. x/fcitx-configtool-0.4.10-x86_64-3.txz: Removed. x/fcitx-hangul-0.3.1-x86_64-3.txz: Removed. x/fcitx-kkc-0.1.4-x86_64-3.txz: Removed. x/fcitx-libpinyin-0.5.4-x86_64-2.txz: Removed. x/fcitx-m17n-0.2.4-x86_64-3.txz: Removed. x/fcitx-qt5-1.2.7-x86_64-1.txz: Removed. x/fcitx-sayura-0.1.2-x86_64-3.txz: Removed. x/fcitx-table-extra-0.3.8-x86_64-3.txz: Removed. x/fcitx-table-other-0.2.4-x86_64-3.txz: Removed. x/fcitx-unikey-0.2.7-x86_64-3.txz: Removed. x/fcitx5-5.0.18-x86_64-1.txz: Added. Thanks to Heinz Wiesinger. x/fcitx5-anthy-5.0.12-x86_64-1.txz: Added. Thanks to Heinz Wiesinger. x/fcitx5-chinese-addons-5.0.14-x86_64-1.txz: Added. Thanks to Heinz Wiesinger. x/fcitx5-gtk-5.0.17-x86_64-1.txz: Added. Thanks to Heinz Wiesinger. x/fcitx5-hangul-5.0.10-x86_64-1.txz: Added. Thanks to Heinz Wiesinger. x/fcitx5-kkc-5.0.10-x86_64-1.txz: Added. Thanks to Heinz Wiesinger. x/fcitx5-m17n-5.0.10-x86_64-1.txz: Added. Thanks to Heinz Wiesinger. x/fcitx5-qt-5.0.14-x86_64-1.txz: Added. Thanks to Heinz Wiesinger. x/fcitx5-sayura-5.0.8-x86_64-1.txz: Added. Thanks to Heinz Wiesinger. x/fcitx5-table-extra-5.0.11-x86_64-1.txz: Added. Thanks to Heinz Wiesinger. x/fcitx5-table-other-5.0.10-x86_64-1.txz: Added. Thanks to Heinz Wiesinger. x/fcitx5-unikey-5.0.11-x86_64-1.txz: Added. Thanks to Heinz Wiesinger. x/ibus-1.5.26-x86_64-2.txz: Rebuilt. Use correct path to kimpanel in ibus-autostart. Thanks to Lockywolf. x/ibus-anthy-1.5.14-x86_64-2.txz: Rebuilt. Recompiled against anthy-unicode-1.0.0.20211224. Thanks to Heinz Wiesinger. x/libime-1.0.13-x86_64-1.txz: Added. Thanks to Heinz Wiesinger. x/m17n-lib-1.8.0-x86_64-5.txz: Rebuilt. Rebuilt to drop the dependency on anthy-9100h. Thanks to Heinz Wiesinger. x/skkdic-20210919-noarch-1.txz: Upgraded. Thanks to Heinz Wiesinger. x/x11-skel-7.7-x86_64-9.txz: Rebuilt. Added imconfig script for selecting the input method. Thanks to Heinz Wiesinger. x/xcb-imdkit-1.0.3-x86_64-1.txz: Added. Thanks to Heinz Wiesinger.
2022-08-15 22:23:47 +02:00
config etc/profile.d/home-profile.d.csh.new
config etc/profile.d/home-profile.d.sh.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/networks.new
rm -f etc/HOSTNAME.new
rm -f etc/shells.new
rm -f etc/printcap.new
Mon Jun 18 06:19:23 UTC 2018 a/aaa_elflibs-15.0-x86_64-1.txz: Upgraded. Upgraded to libelf-0.171.so, added libgdbm.so.6.0.0. a/etc-15.0-x86_64-6.txz: Rebuilt. Add $(uname -m) information to /etc/issue.new. Don't include /tmp directories - these are handled by aaa_base. a/kernel-generic-4.14.50-x86_64-1.txz: Upgraded. a/kernel-huge-4.14.50-x86_64-1.txz: Upgraded. a/kernel-modules-4.14.50-x86_64-1.txz: Upgraded. ap/man-db-2.8.3-x86_64-3.txz: Rebuilt. Recompiled against gdbm-1.15. ap/zsh-5.5.1-x86_64-2.txz: Rebuilt. Recompiled against gdbm-1.15. d/clisp-2.49_20180423_d1310adc5-x86_64-1.txz: Upgraded. Compiled against gdbm-1.15. d/kernel-headers-4.14.50-x86-1.txz: Upgraded. d/perl-5.26.2-x86_64-5.txz: Rebuilt. Recompiled against gdbm-1.15. d/python-2.7.15-x86_64-3.txz: Rebuilt. Recompiled against gdbm-1.15. d/python3-3.6.5-x86_64-4.txz: Rebuilt. Recompiled against gdbm-1.15. d/ruby-2.5.1-x86_64-4.txz: Rebuilt. Recompiled against gdbm-1.15. k/kernel-source-4.14.50-noarch-1.txz: Upgraded. kde/kdelibs-4.14.38-x86_64-3.txz: Rebuilt. Patched to build with OpenSSL-1.1.x. Thanks to nobodino. l/gdbm-1.15-x86_64-1.txz: Upgraded. Shared library .so-version bump. n/cyrus-sasl-2.1.27_rc8-x86_64-1.txz: Upgraded. Compiled against gdbm-1.15. n/mutt-1.10.0-x86_64-2.txz: Rebuilt. Recompiled against gdbm-1.15. n/php-7.2.6-x86_64-2.txz: Rebuilt. Recompiled against gdbm-1.15. n/yptools-2.14-x86_64-11.txz: Rebuilt. Recompiled against gdbm-1.15. xap/gnuchess-6.2.5-x86_64-3.txz: Rebuilt. Recompiled against gdbm-1.15. isolinux/initrd.img: Rebuilt. Copy libefiboot to the installer (needed by efibootmgr). Compress the kernel modules with xz. Compress the initrd image with xz. kernels/*: Upgraded. usb-and-pxe-installers/usbboot.img: Rebuilt. Copy libefiboot to the installer (needed by efibootmgr). Compress the kernel modules with xz. Compress the initrd image with xz.
2018-06-18 08:19:23 +02:00
#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
# These are just a hazard to keep around, honestly.
# There's no unique information in them anyway, as any new entries are merged
# into the existing files automatically.
rm -f etc/group.new
rm -f etc/gshadow.new
rm -f etc/passwd.new
rm -f etc/shadow.new
# We will add any missing entries to gshadow, but make no attempt to repair existing ones:
cat etc/group | while read line ; do
GRP="$(echo $line | cut -f 1 -d :)"
GMEMBERS="$(echo $line | rev | cut -f 1 -d : | rev)"
if ! grep -q "^${GRP}:" etc/gshadow ; then
echo "${GRP}:x::${GMEMBERS}" >> etc/gshadow
fi
done
# 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