slackware-current/source/a/etc/doinst.sh
Patrick J Volkerding 522fb53c22 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-16 07:00:14 +02:00

116 lines
3.6 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/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/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