diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2021-11-11 20:36:12 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2021-11-12 08:59:57 +0100 |
commit | 5f74398bf9e65ea1aa61c9a843a88f98700ccab7 (patch) | |
tree | bb5df74846116525f315ca070b70133df8cbfce8 /source | |
parent | 53b8e9dd3942dcddfe065960ad276233e3e791a0 (diff) | |
download | current-20211111203612.tar.gz |
Thu Nov 11 20:36:12 UTC 202120211111203612
a/sdparm-1.12-x86_64-2.txz: Rebuilt.
Recompiled against sg3_utils-1.47.
a/sysvinit-scripts-15.0-noarch-6.txz: Rebuilt.
rc.{6,S,M}: merged changes for compatibility with LXC containers.
a/udisks-1.0.5-x86_64-10.txz: Rebuilt.
Recompiled against sg3_utils-1.47.
ap/lxc-4.0.11-x86_64-1.txz: Upgraded.
Requires libseccomp-2.5.3.
No more local versions of rc.{6,S,M,inet1}: the regular versions work now.
l/elfutils-0.186-x86_64-1.txz: Upgraded.
l/libgpod-0.8.3-x86_64-11.txz: Rebuilt.
Recompiled against sg3_utils-1.47.
l/libseccomp-2.5.3-x86_64-1.txz: Added.
This is needed by lxc-4.0.11. Thanks to Willy Sudiarto Raharjo.
l/sg3_utils-1.47-x86_64-1.txz: Upgraded.
Shared library .so-version bump.
n/network-scripts-15.0-noarch-17.txz: Rebuilt.
Merged changes in rc.inet1 to make it compatible with LXC containers.
Patched netconfig to ensure the proper permissions on rc.networkmanager
when NetworkManager is not chosen.
x/ibus-1.5.25-x86_64-4.txz: Rebuilt.
[PATCH] client/gtk2/ibusimcontext: Fix wrong cursor location in gtk3 apps.
Thanks to Lockywolf.
Diffstat (limited to 'source')
27 files changed, 540 insertions, 3410 deletions
diff --git a/source/a/sdparm/sdparm.SlackBuild b/source/a/sdparm/sdparm.SlackBuild index e330eb2d..bc63243d 100755 --- a/source/a/sdparm/sdparm.SlackBuild +++ b/source/a/sdparm/sdparm.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=sdparm VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} diff --git a/source/a/sysvinit-scripts/scripts/rc.6 b/source/a/sysvinit-scripts/scripts/rc.6 index e9197ff4..383c5490 100644 --- a/source/a/sysvinit-scripts/scripts/rc.6 +++ b/source/a/sysvinit-scripts/scripts/rc.6 @@ -4,15 +4,21 @@ # 0 (halt) or runlevel 6 (reboot). It kills all processes, # unmounts file systems and then either halts or reboots. # -# Version: @(#)/etc/rc.d/rc.6 2.47 Sat Jan 13 13:37:26 PST 2001 +# Version: @(#)/etc/rc.d/rc.6 15.0 Wed Nov 10 21:19:42 UTC 2021 # # Author: Miquel van Smoorenburg <miquels@drinkel.nl.mugnet.org> # Modified by: Patrick J. Volkerding, <volkerdi@slackware.com> -# # Set the path. PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin +# If we are in an lxc container, set $container to skip parts of the script. +# Thanks to Matteo Bernardini <ponce@slackbuilds.org> and Chris Willing for +# the initial work making this script lxc compatible. +if grep -aq container=lxc /proc/1/environ 2> /dev/null ; then + container="lxc" +fi + # If there are SystemV init scripts for this runlevel, run them. if [ -x /etc/rc.d/rc.sysvinit ]; then /etc/rc.d/rc.sysvinit @@ -43,7 +49,7 @@ esac # Save the system time to the hardware clock using hwclock --systohc. # This will also create or update the timestamps in /etc/adjtime. -if [ -x /sbin/hwclock ]; then +if [ -x /sbin/hwclock -a -z "$container" ]; then # Check for a broken motherboard RTC clock (where ioports for rtc are # unknown) to prevent hwclock causing a hang: if ! grep -q " : rtc" /proc/ioports ; then @@ -112,7 +118,7 @@ if [ -x /etc/rc.d/rc.openldap ]; then fi # Stop the haveged entropy daemon: -if [ -x /etc/rc.d/rc.haveged ]; then +if [ -x /etc/rc.d/rc.haveged -a -z "$container" ]; then /etc/rc.d/rc.haveged stop fi @@ -172,7 +178,7 @@ if /bin/ls /etc/dhcpc/*.pid 1> /dev/null 2> /dev/null ; then fi # Shut down PCMCIA devices: -if [ -x /etc/rc.d/rc.pcmcia ]; then +if [ -x /etc/rc.d/rc.pcmcia -a -z "$container" ]; then /etc/rc.d/rc.pcmcia stop # The cards might need a little extra time here to deactivate: /bin/sleep 5 @@ -184,12 +190,12 @@ if [ -x /sbin/accton -a -r /var/log/pacct ]; then fi # Terminate acpid before syslog: -if [ -x /etc/rc.d/rc.acpid -a -r /var/run/acpid.pid ]; then # quit +if [ -x /etc/rc.d/rc.acpid -a -r /var/run/acpid.pid -a -z "$container" ]; then # quit /etc/rc.d/rc.acpid stop fi # Stop udev: -if [ -x /etc/rc.d/rc.udev ]; then +if [ -x /etc/rc.d/rc.udev -a -z "$container" ]; then /etc/rc.d/rc.udev force-stop fi @@ -205,48 +211,52 @@ fi # Try to turn off quota. if /bin/grep -q quota /etc/fstab ; then - if [ -x /sbin/quotaoff ]; then + if [ -x /sbin/quotaoff -a -z "$container" ]; then echo "Turning off filesystem quotas." /sbin/quotaoff -a fi fi # Carry a random seed between reboots. -echo "Saving random seed from /dev/urandom in /etc/random-seed." -# Use the pool size from /proc, or 4096 bits: -if [ -r /proc/sys/kernel/random/poolsize ]; then - /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(expr $(cat /proc/sys/kernel/random/poolsize) / 8) 2> /dev/null -else - /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=512 2> /dev/null +if [ -z "$container" ]; then + echo "Saving random seed from /dev/urandom in /etc/random-seed." + # Use the pool size from /proc, or 4096 bits: + if [ -r /proc/sys/kernel/random/poolsize ]; then + /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(expr $(cat /proc/sys/kernel/random/poolsize) / 8) 2> /dev/null + else + /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=512 2> /dev/null + fi + /bin/chmod 600 /etc/random-seed fi -/bin/chmod 600 /etc/random-seed # Before unmounting file systems write a reboot or halt record to wtmp. $shutdown_command -w # Turn off swap: -if [ ! "$(cat /proc/swaps | wc -l)" = "1" ]; then +if [ ! "$(cat /proc/swaps | wc -l)" = "1" -a -z "$container" ]; then echo "Turning off swap." /sbin/swapoff -a /bin/sync fi # Umount all tmpfs mounts except /dev/shm and under /run: -cat /proc/mounts | grep " tmpfs " | grep -v -e " /run " -e " /run/" -e " /dev/shm " | while read mount ; do - umount --recursive -v $(echo $mount | cut -f 2 -d ' ') 2> /dev/null -done +if [ -z "$container" ]; then + cat /proc/mounts | grep " tmpfs " | grep -v -e " /run " -e " /run/" -e " /dev/shm " | while read mount ; do + umount --recursive -v $(echo $mount | cut -f 2 -d ' ') 2> /dev/null + done +fi # Unmount local file systems: -echo "Unmounting local file systems:" -/bin/umount -v -a -t no,proc,sysfs,devtmpfs,fuse.gvfsd-fuse,tmpfs - -# JFS needs a sync here or the / partition cannot be remounted read-only. -# In spite of this, it seems that a JFS root partition will always be checked -# (and found to be clean) at boot: -/bin/sync - -echo "Remounting root filesystem read-only:" -/bin/mount -v -n -o remount,ro / +if [ -z "$container" ]; then + echo "Unmounting local file systems:" + /bin/umount -v -a -t no,proc,sysfs,devtmpfs,fuse.gvfsd-fuse,tmpfs + # JFS needs a sync here or the / partition cannot be remounted read-only. + # In spite of this, it seems that a JFS root partition will always be checked + # (and found to be clean) at boot: + /bin/sync + echo "Remounting root filesystem read-only:" + /bin/mount -v -n -o remount,ro / +fi # This never hurts: /bin/sync @@ -273,9 +283,11 @@ if [ -f /etc/crypttab -a -x /sbin/cryptsetup ]; then fi # Deactivate LVM volume groups: -if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then - echo "Deactivating LVM volume groups:" - /sbin/vgchange -an +if [ -z "$container" ]; then + if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then + echo "Deactivating LVM volume groups:" + /sbin/vgchange -an + fi fi # This never hurts again (especially since root-on-LVM always fails @@ -290,7 +302,7 @@ fi # This is to ensure all processes have completed on SMP machines: wait -if [ -x /sbin/genpowerd ]; then +if [ -x /sbin/genpowerd -a -z "$container" ]; then # See if this is a powerfail situation: if /bin/egrep -q "FAIL|SCRAM" /etc/upsstatus 2> /dev/null ; then # Signal UPS to shut off the inverter: @@ -306,6 +318,11 @@ if [ -x /sbin/genpowerd ]; then fi fi +if [ "$container" = "lxc" ]; then + # Confirm successful shutdown of the container: + echo "LXC container stopped." +fi + # Now halt (poweroff with APM or ACPI enabled kernels) or reboot. if [ "$shutdown_command" = "reboot" ]; then echo "Rebooting." @@ -313,4 +330,3 @@ if [ "$shutdown_command" = "reboot" ]; then else /sbin/poweroff fi - diff --git a/source/a/sysvinit-scripts/scripts/rc.M b/source/a/sysvinit-scripts/scripts/rc.M index 8a1a9b04..c1e04c58 100644 --- a/source/a/sysvinit-scripts/scripts/rc.M +++ b/source/a/sysvinit-scripts/scripts/rc.M @@ -14,6 +14,13 @@ # Tell the viewers what's going to happen. echo "Going multiuser..." +# If we are in an lxc container, set $container to skip parts of the script. +# Thanks to Matteo Bernardini <ponce@slackbuilds.org> and Chris Willing for +# the initial work making this script lxc compatible. +if grep -aq container=lxc /proc/1/environ 2> /dev/null ; then + container="lxc" +fi + # Update all the shared library links: if [ -x /sbin/ldconfig ]; then echo "Updating shared library links: /sbin/ldconfig &" @@ -22,17 +29,19 @@ fi # Call the setterm init script to set screen blanking and power management # defaults: -if [ -x /etc/rc.d/rc.setterm ]; then +if [ -x /etc/rc.d/rc.setterm -a -z "$container" ]; then /etc/rc.d/rc.setterm fi -# Set the hostname. -if [ -r /etc/HOSTNAME ]; then - /bin/hostname $(cat /etc/HOSTNAME) -else - # fall back on this old default: - echo "darkstar.example.net" > /etc/HOSTNAME - /bin/hostname $(cat /etc/HOSTNAME) +# Set the hostname: +if [ -z "$container" ]; then + if [ -r /etc/HOSTNAME ]; then + /bin/hostname $(cat /etc/HOSTNAME) + else + # fall back on this old default: + echo "darkstar.example.net" > /etc/HOSTNAME + /bin/hostname $(cat /etc/HOSTNAME) + fi fi # Set the permissions on /var/log/dmesg according to whether the kernel @@ -68,7 +77,7 @@ fi # Hopefully this situation will be unified in the future, but for now # that's how it is... # -if [ -x /etc/rc.d/rc.pcmcia ]; then +if [ -x /etc/rc.d/rc.pcmcia -a -z "$container" ]; then /etc/rc.d/rc.pcmcia start # The cards might need a little extra time here to initialize. sleep 5 @@ -90,19 +99,19 @@ fi # to look for device changes and to generate persistent rules if needed. if grep -wq sysfs /proc/mounts && grep -q devtmpfs /proc/filesystems ; then if ! grep -wq nohotplug /proc/cmdline ; then - if [ -x /etc/rc.d/rc.udev ]; then + if [ -x /etc/rc.d/rc.udev -a -z "$container" ]; then /etc/rc.d/rc.udev start fi fi fi # Start the haveged entropy daemon: -if [ -x /etc/rc.d/rc.haveged ]; then +if [ -x /etc/rc.d/rc.haveged -a -z "$container" ]; then /etc/rc.d/rc.haveged start fi # Start the rngd entropy daemon: -if [ -x /etc/rc.d/rc.rngd ]; then +if [ -x /etc/rc.d/rc.rngd -a -z "$container" ]; then /etc/rc.d/rc.rngd start fi @@ -167,12 +176,12 @@ chmod 755 / 2> /dev/null chmod 1777 /tmp /var/tmp # Start ACPI daemon. -if [ -x /etc/rc.d/rc.acpid ]; then +if [ -x /etc/rc.d/rc.acpid -a -z "$container" ]; then /etc/rc.d/rc.acpid start fi # Enable CPU frequency scaling: -if [ -x /etc/rc.d/rc.cpufreq ]; then +if [ -x /etc/rc.d/rc.cpufreq -a -z "$container" ]; then /etc/rc.d/rc.cpufreq start fi @@ -258,7 +267,7 @@ fi # Start smartd, which monitors the status of S.M.A.R.T. compatible # hard drives and reports any problems: -if [ -x /etc/rc.d/rc.smartd ]; then +if [ -x /etc/rc.d/rc.smartd -a -z "$container" ]; then /etc/rc.d/rc.smartd start fi @@ -269,7 +278,7 @@ fi # /usr/doc/genpower-*/ directory. # You'll also need to configure a similar block in /etc/rc.d/rc.6 if you want # support for stopping the UPS's inverter after the machine halts. -#if [ -x /sbin/genpowerd ]; then +#if [ -x /sbin/genpowerd -a -z "$container" ]; then # echo "Starting genpowerd daemon..." # /sbin/genpowerd #fi @@ -339,7 +348,7 @@ elif [ -x /etc/rc.d/rc.postfix -a -x usr/sbin/postdrop ]; then fi # Load ALSA (sound) defaults: -if [ -x /etc/rc.d/rc.alsa ]; then +if [ -x /etc/rc.d/rc.alsa -a -z "$container" ]; then /etc/rc.d/rc.alsa fi diff --git a/source/a/sysvinit-scripts/scripts/rc.S b/source/a/sysvinit-scripts/scripts/rc.S index ecf2e550..1edce78e 100644 --- a/source/a/sysvinit-scripts/scripts/rc.S +++ b/source/a/sysvinit-scripts/scripts/rc.S @@ -7,26 +7,33 @@ PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin +# If we are in an lxc container, set $container to skip parts of the script. +# Thanks to Matteo Bernardini <ponce@slackbuilds.org> and Chris Willing for +# the initial work making this script lxc compatible. +if grep -aq container=lxc /proc/1/environ 2> /dev/null ; then + container="lxc" +fi + # Mount /proc if it is not already mounted: -if [ ! -d /proc/sys ]; then +if [ ! -d /proc/sys -a -z "$container" ]; then /sbin/mount -v proc /proc -n -t proc 2> /dev/null fi # Mount /sys if it is not already mounted: -if [ ! -d /sys/kernel ]; then +if [ ! -d /sys/kernel -a -z "$container" ]; then /sbin/mount -v sysfs /sys -n -t sysfs 2> /dev/null fi # If /run exists, mount a tmpfs on it (unless the # initrd has already done so): -if [ -d /run ]; then +if [ -d /run -a -z "$container" ]; then if ! grep -wq "tmpfs /run tmpfs" /proc/mounts ; then /sbin/mount -v -n -t tmpfs tmpfs /run -o mode=0755,size=32M,nodev,nosuid,noexec fi fi # Load the loop device kernel module: -if [ -x /etc/rc.d/rc.loop ]; then +if [ -x /etc/rc.d/rc.loop -a -z "$container" ]; then /etc/rc.d/rc.loop start fi @@ -40,34 +47,36 @@ fi # So use it. :-) if grep -wq sysfs /proc/mounts && grep -q devtmpfs /proc/filesystems ; then if ! grep -wq nohotplug /proc/cmdline ; then - if [ -x /etc/rc.d/rc.udev ]; then + if [ -x /etc/rc.d/rc.udev -a -z "$container" ]; then /etc/rc.d/rc.udev start fi fi fi # Mount Control Groups filesystem interface: -if grep -wq cgroup /proc/filesystems ; then - if [ -d /sys/fs/cgroup ]; then - # See linux-*/Documentation/cgroups/cgroups.txt (section 1.6) - # Check if we have some tools to autodetect the available cgroup controllers - if [ -x /bin/cut -a -x /bin/tail ]; then - # Mount a tmpfs as the cgroup filesystem root - mount -t tmpfs -o mode=0755,size=8M cgroup_root /sys/fs/cgroup - # Autodetect available controllers and mount them in subfolders - controllers="$(/bin/cut -f 1 /proc/cgroups | /bin/tail -n +2)" - for i in $controllers; do - mkdir /sys/fs/cgroup/$i - mount -t cgroup -o $i $i /sys/fs/cgroup/$i - done - unset i controllers +if [ -z "$container" ]; then + if grep -wq cgroup /proc/filesystems ; then + if [ -d /sys/fs/cgroup ]; then + # See linux-*/Documentation/cgroups/cgroups.txt (section 1.6) + # Check if we have some tools to autodetect the available cgroup controllers + if [ -x /bin/cut -a -x /bin/tail ]; then + # Mount a tmpfs as the cgroup filesystem root + mount -t tmpfs -o mode=0755,size=8M cgroup_root /sys/fs/cgroup + # Autodetect available controllers and mount them in subfolders + controllers="$(/bin/cut -f 1 /proc/cgroups | /bin/tail -n +2)" + for i in $controllers; do + mkdir /sys/fs/cgroup/$i + mount -t cgroup -o $i $i /sys/fs/cgroup/$i + done + unset i controllers + else + # We can't use autodetection so fall back mounting them all together + mount -t cgroup cgroup /sys/fs/cgroup + fi else - # We can't use autodetection so fall back mounting them all together - mount -t cgroup cgroup /sys/fs/cgroup + mkdir -p /dev/cgroup + mount -t cgroup cgroup /dev/cgroup fi - else - mkdir -p /dev/cgroup - mount -t cgroup cgroup /dev/cgroup fi fi @@ -76,21 +85,23 @@ fi # /etc/lvm/backup/ (LVM2). This is created by /sbin/vgscan, so to # use LVM you must run /sbin/vgscan yourself the first time (and # create some VGs and LVs). -# Create LVM lock/run directories: -mkdir -p -m 0700 /run/lvm /run/lock /run/lock/lvm -if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then - echo "Initializing LVM (Logical Volume Manager):" - # Check for device-mapper support. - if ! grep -wq device-mapper /proc/devices ; then - # Try to load a device-mapper kernel module: - /sbin/modprobe -q dm-mod - fi - # Scan for new volume groups: - /sbin/vgscan --mknodes --ignorelockingfailure 2> /dev/null - if [ $? = 0 ]; then - # Make volume groups available to the kernel. - # This should also make logical volumes available. - /sbin/vgchange -ay --ignorelockingfailure +if [ -z "$container" ]; then + # Create LVM lock/run directories: + mkdir -p -m 0700 /run/lvm /run/lock /run/lock/lvm + if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then + echo "Initializing LVM (Logical Volume Manager):" + # Check for device-mapper support. + if ! grep -wq device-mapper /proc/devices ; then + # Try to load a device-mapper kernel module: + /sbin/modprobe -q dm-mod + fi + # Scan for new volume groups: + /sbin/vgscan --mknodes --ignorelockingfailure 2> /dev/null + if [ $? = 0 ]; then + # Make volume groups available to the kernel. + # This should also make logical volumes available. + /sbin/vgchange -ay --ignorelockingfailure + fi fi fi @@ -124,7 +135,7 @@ fi # be formatted as a new encrypted volume with a random key on boot, and used as # swap. # -if [ -f /etc/crypttab -a -x /sbin/cryptsetup ]; then +if [ -f /etc/crypttab -a -x /sbin/cryptsetup -a -z "$container" ]; then # First, check for device-mapper support. if ! grep -wq device-mapper /proc/devices ; then # If device-mapper exists as a module, try to load it. @@ -172,25 +183,29 @@ if [ -f /etc/crypttab -a -x /sbin/cryptsetup ]; then fi # Enable swapping: -/sbin/swapon -a 2> /dev/null +if [ -z "$container" ]; then + /sbin/swapon -a 2> /dev/null +fi # Set the tick and frequency for the system clock. # Default values are: TICK=10000 and FREQ=0 -TICK=10000 -FREQ=0 -# If there's a /etc/default/adjtimex config file, source it to override -# the default TICK and FREQ: -if [ -r /etc/default/adjtimex ]; then - . /etc/default/adjtimex -fi -if /sbin/adjtimex --tick $TICK --frequency $FREQ; then - echo "Setting the system clock rate: /sbin/adjtimex --tick $TICK --frequency $FREQ" -else - echo "Failed to set system clock with adjtimex, possibly invalid parameters? (TICK=$TICK FREQ=$FREQ)" +if [ -z "$container" ]; then + TICK=10000 + FREQ=0 + # If there's a /etc/default/adjtimex config file, source it to override + # the default TICK and FREQ: + if [ -r /etc/default/adjtimex ]; then + . /etc/default/adjtimex + fi + if /sbin/adjtimex --tick $TICK --frequency $FREQ; then + echo "Setting the system clock rate: /sbin/adjtimex --tick $TICK --frequency $FREQ" + else + echo "Failed to set system clock with adjtimex, possibly invalid parameters? (TICK=$TICK FREQ=$FREQ)" + fi fi # Set the system time from the hardware clock using hwclock --hctosys. -if [ -x /sbin/hwclock ]; then +if [ -x /sbin/hwclock -a -z "$container" ]; then # Check for a broken motherboard RTC clock (where ioports for rtc are # unknown) to prevent hwclock causing a hang: if ! grep -q " : rtc" /proc/ioports ; then @@ -214,106 +229,113 @@ if [ -x /sbin/hwclock ]; then fi # Test to see if the root partition is read-only, like it ought to be. -READWRITE=no -if touch /fsrwtestfile 2>/dev/null; then - rm -f /fsrwtestfile - READWRITE=yes -else - echo "Testing root filesystem status: read-only filesystem" +if [ -z "$container" ]; then + READWRITE=no + if touch /fsrwtestfile 2>/dev/null; then + rm -f /fsrwtestfile + READWRITE=yes + else + echo "Testing root filesystem status: read-only filesystem" + fi fi # See if a forced filesystem check was requested at shutdown: -if [ -r /etc/forcefsck ]; then +if [ -r /etc/forcefsck -a -z "$container" ]; then FORCEFSCK="-f" fi -# If we're using F2FS for the root filesystem, don't check it as it doesn't -# allow checking a read-only filesystem: -if grep -q ' / f2fs ' /proc/mounts ; then - echo "Remounting root device with read-write enabled." - /sbin/mount -w -v -n -o remount / -elif [ ! $READWRITE = yes ]; then - # Check the root filesystem: - RETVAL=0 - if [ ! -r /etc/fastboot ]; then - echo "Checking root filesystem:" - /sbin/fsck $FORCEFSCK -C -a / - RETVAL=$? - fi - # An error code of 2 or higher will require a reboot. - if [ $RETVAL -ge 2 ]; then - # An error code equal to or greater than 4 means that some errors - # could not be corrected. This requires manual attention, so we - # offer a chance to try to fix the problem in single-user mode: - if [ $RETVAL -ge 4 ]; then - echo - echo "***********************************************************" - echo "*** An error occurred during the root filesystem check. ***" - echo "*** You will now be given a chance to log into the ***" - echo "*** system in single-user mode to fix the problem. ***" - echo "*** ***" - echo "*** If you are using the ext2 filesystem, running ***" - echo "*** 'e2fsck -v -y <partition>' might help. ***" - echo "***********************************************************" - echo - echo "Once you exit the single-user shell, the system will reboot." - echo - PS1="(Repair filesystem) \#"; export PS1 - sulogin - else # With an error code of 2 or 3, reboot the machine automatically: - echo - echo "***********************************" - echo "*** The filesystem was changed. ***" - echo "*** The system will now reboot. ***" - echo "***********************************" - echo +# Check the root filesystem: +if [ -z "$container" ]; then + # If we're using F2FS for the root filesystem, don't check it as it doesn't + # allow checking a read-only filesystem: + if grep -q ' / f2fs ' /proc/mounts ; then + echo "Remounting root device with read-write enabled." + /sbin/mount -w -v -n -o remount / + elif [ ! $READWRITE = yes ]; then + # Check the root filesystem: + RETVAL=0 + if [ ! -r /etc/fastboot ]; then + echo "Checking root filesystem:" + /sbin/fsck $FORCEFSCK -C -a / + RETVAL=$? fi - echo "Unmounting file systems." - /sbin/umount -a -r - /sbin/mount -n -o remount,ro / - echo "Rebooting system." - reboot -f - fi - # Remount the root filesystem in read-write mode - echo "Remounting root device with read-write enabled." - /sbin/mount -w -v -n -o remount / - if [ $? -gt 0 ] ; then - echo "FATAL: Attempt to remount root device as read-write failed! This is going to" - echo "cause serious problems." - fi -else - echo "Testing root filesystem status: read-write filesystem" - echo - echo "ERROR: Root partition has already been mounted read-write. Cannot check!" - echo - echo "For filesystem checking to work properly, your system must initially mount" - echo "the root partition as read only. If you're booting with LILO, add a line:" - echo - echo " read-only" - echo - echo "to the Linux section in your /etc/lilo.conf and type 'lilo' to reinstall it." -fi # Done checking root filesystem + # An error code of 2 or higher will require a reboot. + if [ $RETVAL -ge 2 ]; then + # An error code equal to or greater than 4 means that some errors + # could not be corrected. This requires manual attention, so we + # offer a chance to try to fix the problem in single-user mode: + if [ $RETVAL -ge 4 ]; then + echo + echo "***********************************************************" + echo "*** An error occurred during the root filesystem check. ***" + echo "*** You will now be given a chance to log into the ***" + echo "*** system in single-user mode to fix the problem. ***" + echo "*** ***" + echo "*** If you are using the ext2 filesystem, running ***" + echo "*** 'e2fsck -v -y <partition>' might help. ***" + echo "***********************************************************" + echo + echo "Once you exit the single-user shell, the system will reboot." + echo + PS1="(Repair filesystem) \#"; export PS1 + sulogin + else # With an error code of 2 or 3, reboot the machine automatically: + echo + echo "***********************************" + echo "*** The filesystem was changed. ***" + echo "*** The system will now reboot. ***" + echo "***********************************" + echo + fi + echo "Unmounting file systems." + /sbin/umount -a -r + /sbin/mount -n -o remount,ro / + echo "Rebooting system." + reboot -f + fi + # Remount the root filesystem in read-write mode + echo "Remounting root device with read-write enabled." + /sbin/mount -w -v -n -o remount / + if [ $? -gt 0 ] ; then + echo "FATAL: Attempt to remount root device as read-write failed! This is going to" + echo "cause serious problems." + fi + else + echo "Testing root filesystem status: read-write filesystem" + echo + echo "ERROR: Root partition has already been mounted read-write. Cannot check!" + echo + echo "For filesystem checking to work properly, your system must initially mount" + echo "the root partition as read only. If you're booting with LILO, add a line:" + echo + echo " read-only" + echo + echo "to the Linux section in your /etc/lilo.conf and type 'lilo' to reinstall it." + fi # Done checking root filesystem +fi # If /etc/mtab is a symlink (probably to /proc/mounts) then we don't want to mess with it. if [ ! -L /etc/mtab -o ! -r /etc/mtab ]; then # /etc/mtab is a file (or doesn't exist), so we'll handle it the old way: # Any /etc/mtab that exists here is old, so we start with a new one: /bin/rm -f /etc/mtab{,~,.tmp} && /bin/touch /etc/mtab - # Add /, /proc, /sys, and /dev/shm mounts to /etc/mtab: - /sbin/mount -f -w / - if [ -d /proc/sys ]; then - /sbin/mount -f -t proc proc /proc - fi - if [ -d /sys/bus ]; then - /sbin/mount -f -t sysfs sysfs /sys - fi - if grep -q '^[^ ]\+ /dev/shm ' /proc/mounts 2> /dev/null ; then - /sbin/mount -f -t tmpfs tmpfs /dev/shm + if [ -z "$container" ]; then + # Add /, /proc, /sys, and /dev/shm mounts to /etc/mtab: + /sbin/mount -f -w / + if [ -d /proc/sys ]; then + /sbin/mount -f -t proc proc /proc + fi + if [ -d /sys/bus ]; then + /sbin/mount -f -t sysfs sysfs /sys + fi + if grep -q '^[^ ]\+ /dev/shm ' /proc/mounts 2> /dev/null ; then + /sbin/mount -f -t tmpfs tmpfs /dev/shm + fi fi fi # Configure ISA Plug-and-Play devices: -if [ -r /etc/isapnp.conf ]; then +if [ -r /etc/isapnp.conf -a -z "$container" ]; then if [ -x /sbin/isapnp ]; then /sbin/isapnp /etc/isapnp.conf fi @@ -321,31 +343,33 @@ fi # Run the kernel module script. This updates the module dependencies and # also supports manually loading kernel modules through rc.modules.local. -if [ -x /etc/rc.d/rc.modules ]; then +if [ -x /etc/rc.d/rc.modules -a -z "$container" ]; then /etc/rc.d/rc.modules fi # Configure kernel parameters: -if [ -x /sbin/sysctl -a -r /etc/sysctl.conf ]; then +if [ -x /sbin/sysctl -a -r /etc/sysctl.conf -a -z "$container" ]; then echo "Configuring kernel parameters: /sbin/sysctl -e --system" /sbin/sysctl -e --system -elif [ -x /sbin/sysctl ]; then +elif [ -x /sbin/sysctl -a -z "$container" ]; then echo "Configuring kernel parameters: /sbin/sysctl -e --system" # Don't say "Applying /etc/sysctl.conf" or complain if the file doesn't exist /sbin/sysctl -e --system 2> /dev/null | grep -v "Applying /etc/sysctl.conf" fi # Check all the non-root filesystems: -if [ ! -r /etc/fastboot ]; then +if [ ! -r /etc/fastboot -a -z "$container" ]; then echo "Checking non-root filesystems:" /sbin/fsck $FORCEFSCK -C -R -A -a fi # Mount usbfs only if it is found in /etc/fstab: -if grep -wq usbfs /proc/filesystems; then - if ! grep -wq usbfs /proc/mounts ; then - if grep -wq usbfs /etc/fstab; then - /sbin/mount -v /proc/bus/usb +if [ -z "$container" ]; then + if grep -wq usbfs /proc/filesystems; then + if ! grep -wq usbfs /proc/mounts ; then + if grep -wq usbfs /etc/fstab; then + /sbin/mount -v /proc/bus/usb + fi fi fi fi @@ -355,14 +379,16 @@ fi # because those have already been mounted. Also check that # devpts is not already mounted before attempting to mount # it. With a 2.6.x or newer kernel udev mounts devpts. -echo "Mounting non-root local filesystems:" -if /bin/grep -wq devpts /proc/mounts ; then - # This pipe after the mount command is just to convert the new - # mount verbose output back to the old format that contained - # more useful information: - /sbin/mount -a -v -t nonfs,nosmbfs,nocifs,noproc,nosysfs,nodevpts | grep successfully | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep " ${dev} " ; done -else - /sbin/mount -a -v -t nonfs,nosmbfs,nocifs,noproc,nosysfs | grep successfully | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep " ${dev} " ; done +if [ -z "$container" ]; then + echo "Mounting non-root local filesystems:" + if /bin/grep -wq devpts /proc/mounts ; then + # This pipe after the mount command is just to convert the new + # mount verbose output back to the old format that contained + # more useful information: + /sbin/mount -a -v -t nonfs,nosmbfs,nocifs,noproc,nosysfs,nodevpts | grep successfully | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep " ${dev} " ; done + else + /sbin/mount -a -v -t nonfs,nosmbfs,nocifs,noproc,nosysfs | grep successfully | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep " ${dev} " ; done + fi fi # Make sure that /var/run is a symbolic link pointing to /run: @@ -373,7 +399,9 @@ fi # Enable swapping again. This is needed in case a swapfile is used, # as it can't be enabled until the filesystem it resides on has been # mounted read-write. -/sbin/swapon -a 2> /dev/null +if [ -z "$container" ]; then + /sbin/swapon -a 2> /dev/null +fi # Start libcgroup services: if [ -x /etc/rc.d/rc.cgconfig -a -x /etc/rc.d/rc.cgred -a -d /sys/fs/cgroup ]; then @@ -430,19 +458,21 @@ fi # CAREFUL! This can make some systems hang if the rc.serial script isn't # set up correctly. If this happens, you may have to edit the file from a # boot disk, and/or set it as non-executable: -if [ -x /etc/rc.d/rc.serial ]; then +if [ -x /etc/rc.d/rc.serial -a -z "$container" ]; then /etc/rc.d/rc.serial start fi # Carry an entropy pool between reboots to improve randomness. -if [ -f /etc/random-seed ]; then - echo "Using /etc/random-seed to initialize /dev/urandom." - cat /etc/random-seed > /dev/urandom -fi -# Use the pool size from /proc, or 4096 bits: -if [ -r /proc/sys/kernel/random/poolsize ]; then - dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(expr $(cat /proc/sys/kernel/random/poolsize) / 8) 2> /dev/null -else - dd if=/dev/urandom of=/etc/random-seed count=1 bs=512 2> /dev/null +if [ -z "$container" ]; then + if [ -f /etc/random-seed ]; then + echo "Using /etc/random-seed to initialize /dev/urandom." + cat /etc/random-seed > /dev/urandom + fi + # Use the pool size from /proc, or 4096 bits: + if [ -r /proc/sys/kernel/random/poolsize ]; then + dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(expr $(cat /proc/sys/kernel/random/poolsize) / 8) 2> /dev/null + else + dd if=/dev/urandom of=/etc/random-seed count=1 bs=512 2> /dev/null + fi + chmod 600 /etc/random-seed fi -chmod 600 /etc/random-seed diff --git a/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild b/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild index 6a16c6a9..72391f0b 100755 --- a/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild +++ b/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild @@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=sysvinit-scripts VERSION=${VERSION:-15.0} ARCH=noarch -BUILD=${BUILD:-5} +BUILD=${BUILD:-6} # 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 diff --git a/source/a/udisks/udisks.SlackBuild b/source/a/udisks/udisks.SlackBuild index 66420a2b..2f6bfb88 100755 --- a/source/a/udisks/udisks.SlackBuild +++ b/source/a/udisks/udisks.SlackBuild @@ -28,7 +28,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=udisks VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-9} +BUILD=${BUILD:-10} NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} diff --git a/source/ap/lxc/lxc-slackware.in b/source/ap/lxc/lxc-slackware.in index 07591cbb..f3853799 100644 --- a/source/ap/lxc/lxc-slackware.in +++ b/source/ap/lxc/lxc-slackware.in @@ -131,16 +131,6 @@ none /dev/shm tmpfs defaults 0 0 none /run tmpfs defaults,mode=0755 0 0 EOF -# Back up the existing init scripts and install the lxc versions: -( cd $rootfs/etc/rc.d - cp -a /usr/share/lxc/scripts/slackware/* . - chmod 755 rc.*.lxc - for file in rc.*.lxc ; do - cp -a $(basename $file .lxc) $(basename $file .lxc).orig - cp -a $file $(basename $file .lxc) - done -) - # restart rc.inet1 to have routing for the loop device echo "/etc/rc.d/rc.inet1 restart" >> $rootfs/etc/rc.d/rc.local diff --git a/source/ap/lxc/lxc.SlackBuild b/source/ap/lxc/lxc.SlackBuild index d1747952..b7977077 100755 --- a/source/ap/lxc/lxc.SlackBuild +++ b/source/ap/lxc/lxc.SlackBuild @@ -125,12 +125,6 @@ rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la cat $CWD/lxc-slackware.in > $PKG/usr/share/lxc/templates/lxc-slackware chmod 755 $PKG/usr/share/lxc/templates/lxc-slackware -# Add the modified Slackware startup scripts: -mkdir -p $PKG/usr/share/lxc/scripts/slackware -cp -a $CWD/scripts/*.lxc $PKG/usr/share/lxc/scripts/slackware -chown root:root $PKG/usr/share/lxc/scripts/slackware/* -chmod 644 $PKG/usr/share/lxc/scripts/slackware/* - # Make the default configuration directories and an empty rootfs folder: mkdir -p $PKG/var/lib/lxc $PKG/etc/lxc $PKG/var/lib/rootfs-lxc $PKG/var/lib/misc diff --git a/source/ap/lxc/lxc.url b/source/ap/lxc/lxc.url new file mode 100644 index 00000000..964c3e09 --- /dev/null +++ b/source/ap/lxc/lxc.url @@ -0,0 +1 @@ +https://linuxcontainers.org/lxc/downloads/ diff --git a/source/ap/lxc/scripts/README b/source/ap/lxc/scripts/README deleted file mode 100644 index f7d1f5c7..00000000 --- a/source/ap/lxc/scripts/README +++ /dev/null @@ -1,11 +0,0 @@ -These are modified versions of some sysvinit-scripts and network-scripts for -Slackware for use in a container (although they should also work for a regular -non-container system as well). - -Versions ending in .lxc are the scripts to be used in a container. -Versions ending in .orig are the scripts from the sysvinit-scripts and -network-scripts packages that the .lxc scripts are based on. - -Any changes made to the original scripts in sysvinit-scripts or network-scripts -*may* need to be ported to these versions. - diff --git a/source/ap/lxc/scripts/rc.6.lxc b/source/ap/lxc/scripts/rc.6.lxc deleted file mode 100644 index 73923da9..00000000 --- a/source/ap/lxc/scripts/rc.6.lxc +++ /dev/null @@ -1,329 +0,0 @@ -#! /bin/sh -# -# rc.6 This file is executed by init when it goes into runlevel -# 0 (halt) or runlevel 6 (reboot). It kills all processes, -# unmounts file systems and then either halts or reboots. -# -# Version: @(#)/etc/rc.d/rc.6 2.47 Sat Jan 13 13:37:26 PST 2001 -# -# Author: Miquel van Smoorenburg <miquels@drinkel.nl.mugnet.org> -# Modified by: Patrick J. Volkerding, <volkerdi@slackware.com> -# - -# Set the path. -PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin - -# Set $container variable since this is a modified version of rc.6 with -# changes for running in an lxc container. A check to see if this variable -# is set will be used to skip parts of the script that we don't want to run -# in a container. Thanks to Matteo Bernardini <ponce@slackbuilds.org> and -# Chris Willing for the initial work making this script lxc compatible. -container="lxc" - -# If there are SystemV init scripts for this runlevel, run them. -if [ -x /etc/rc.d/rc.sysvinit ]; then - /etc/rc.d/rc.sysvinit -fi - -# Set linefeed mode to avoid staircase effect. -/bin/stty onlcr - -echo "Running shutdown script $0:" - -# Find out how we were called. -case "$0" in - *0) - shutdown_command="halt" - ;; - *6) - shutdown_command=reboot - ;; - *) - echo "$0: call me as \"rc.0\" or \"rc.6\" please!" - exit 1 - ;; -esac - -# Restart init. This prevents init from hanging on to file handles for removed -# glibc shared libraries in the case that those were upgraded or reinstalled. -/sbin/telinit u - -# Save the system time to the hardware clock using hwclock --systohc. -# This will also create or update the timestamps in /etc/adjtime. -if [ -x /sbin/hwclock -a -z "$container" ]; then - # Check for a broken motherboard RTC clock (where ioports for rtc are - # unknown) to prevent hwclock causing a hang: - if ! grep -q " : rtc" /proc/ioports ; then - CLOCK_OPT="--directisa" - fi - if [ /etc/adjtime -nt /etc/hardwareclock ]; then - if grep -q "^LOCAL" /etc/adjtime ; then - echo "Saving system time to the hardware clock (localtime)." - else - echo "Saving system time to the hardware clock (UTC)." - fi - /sbin/hwclock $CLOCK_OPT --systohc - elif grep -q "^UTC" /etc/hardwareclock 2> /dev/null ; then - echo "Saving system time to the hardware clock (UTC)." - if [ ! -r /etc/adjtime ]; then - echo "Creating system time correction file /etc/adjtime." - fi - /sbin/hwclock $CLOCK_OPT --utc --systohc - else - echo "Saving system time to the hardware clock (localtime)." - if [ ! -r /etc/adjtime ]; then - echo "Creating system time correction file /etc/adjtime." - fi - /sbin/hwclock $CLOCK_OPT --localtime --systohc - fi -fi - -# Run any local shutdown scripts: -if [ -x /etc/rc.d/rc.local_shutdown ]; then - /etc/rc.d/rc.local_shutdown stop -fi - -# Stop the Apache web server: -if [ -x /etc/rc.d/rc.httpd ]; then - /etc/rc.d/rc.httpd stop -fi - -# Stop the MySQL database: -if [ -x /etc/rc.d/rc.mysqld -a -r /var/run/mysql/mysql.pid ]; then - /etc/rc.d/rc.mysqld stop -fi - -# Stop the Samba server: -if [ -x /etc/rc.d/rc.samba ]; then - /etc/rc.d/rc.samba stop -fi - -# Shut down the NFS server: -if [ -x /etc/rc.d/rc.nfsd ]; then - /etc/rc.d/rc.nfsd stop -fi - -# Shut down the SSH server: -if [ -x /etc/rc.d/rc.sshd ]; then - /etc/rc.d/rc.sshd stop -fi - -# Shut down the SASL authentication daemon: -if [ -x /etc/rc.d/rc.saslauthd ]; then - /etc/rc.d/rc.saslauthd stop -fi - -# Shut down OpenLDAP: -if [ -x /etc/rc.d/rc.openldap ]; then - /etc/rc.d/rc.openldap stop -fi - -# Stop the haveged entropy daemon: -if [ -x /etc/rc.d/rc.haveged -a -z "$container" ]; then - /etc/rc.d/rc.haveged stop -fi - -# Stop D-Bus: -if [ -x /etc/rc.d/rc.messagebus ]; then - /etc/rc.d/rc.messagebus stop -fi - -# Kill any processes (typically gam) that would otherwise prevent -# unmounting NFS volumes: -unset FUSER_DELAY -for dir in $(/bin/mount | grep 'type nfs ' | sed -e 's|.* on ||g' | cut -d ' ' -f 1) ; do - echo "Killing processes holding NFS mount $dir open..." - # Background this to prevent fuser from also blocking shutdown: - /usr/bin/fuser -k -M -m "$dir" & - FUSER_DELAY=5 -done -# If fuser was run, let it have some delay: -if [ ! -z "$FUSER_DELAY" ]; then - sleep $FUSER_DELAY -fi - -# Unmount any NFS, SMB, or CIFS filesystems: -echo "Unmounting remote filesystems:" -/bin/umount -v -a -l -f -r -t nfs,smbfs,cifs | tr -d ' ' | grep successfully | sed "s/:successfullyunmounted/ has been successfully unmounted./g" - -# Try to shut down pppd: -PS="$(ps ax)" -if echo "$PS" | /bin/grep -q -w pppd ; then - if [ -x /usr/sbin/ppp-off ]; then - /usr/sbin/ppp-off - fi -fi - -# Shut down YP services: -if [ -x /etc/rc.d/rc.yp ]; then - if grep -wq stop /etc/rc.d/rc.yp ; then - /etc/rc.d/rc.yp stop - fi -fi - -# Bring down the networking system, but first make sure that this -# isn't a diskless client with the / partition mounted via NFS: -if ! /bin/mount | /bin/grep -q 'on / type nfs' ; then - if [ -x /etc/rc.d/rc.inet1 ]; then - /etc/rc.d/rc.inet1 stop - fi -fi - -# In case dhcpcd might have been manually started on the command line, -# look for the .pid file, and shut dhcpcd down if it's found: -if /bin/ls /etc/dhcpc/*.pid 1> /dev/null 2> /dev/null ; then - /sbin/dhcpcd -k 1> /dev/null 2> /dev/null - # A little time for /etc/resolv.conf and/or other files to - # restore themselves. - sleep 2 -fi - -# Shut down PCMCIA devices: -if [ -x /etc/rc.d/rc.pcmcia -a -z "$container" ]; then - /etc/rc.d/rc.pcmcia stop - # The cards might need a little extra time here to deactivate: - /bin/sleep 5 -fi - -# Turn off process accounting: -if [ -x /sbin/accton -a -r /var/log/pacct ]; then - /sbin/accton off -fi - -# Terminate acpid before syslog: -if [ -x /etc/rc.d/rc.acpid -a -r /var/run/acpid.pid -a -z "$container" ]; then # quit - /etc/rc.d/rc.acpid stop -fi - -# Stop udev: -if [ -x /etc/rc.d/rc.udev -a -z "$container" ]; then - /etc/rc.d/rc.udev force-stop -fi - -# Kill all remaining processes. -OMITPIDS="$(for p in $(pgrep mdmon); do echo -o $p; done)" # Don't kill mdmon -if [ ! "$1" = "fast" ]; then - echo "Sending all processes the SIGTERM signal." - /sbin/killall5 -15 $OMITPIDS - /bin/sleep 5 - echo "Sending all processes the SIGKILL signal." - /sbin/killall5 -9 $OMITPIDS -fi - -# Try to turn off quota. -if /bin/grep -q quota /etc/fstab ; then - if [ -x /sbin/quotaoff -a -z "$container" ]; then - echo "Turning off filesystem quotas." - /sbin/quotaoff -a - fi -fi - -# Carry a random seed between reboots. -echo "Saving random seed from /dev/urandom in /etc/random-seed." -# Use the pool size from /proc, or 4096 bits: -if [ -r /proc/sys/kernel/random/poolsize ]; then - /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(expr $(cat /proc/sys/kernel/random/poolsize) / 8) 2> /dev/null -else - /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=512 2> /dev/null -fi -/bin/chmod 600 /etc/random-seed - -# Before unmounting file systems write a reboot or halt record to wtmp. -$shutdown_command -w - -# Turn off swap: -if [ -z "$container" ]; then - echo "Turning off swap." - /sbin/swapoff -a - /bin/sync -fi - -# Stop cgmanager and cgproxy: -if [ -x /etc/rc.d/rc.cgmanager -a -z "$container" ]; then - /etc/rc.d/rc.cgmanager stop -fi - -if [ -z "$container" ]; then - echo "Unmounting local file systems:" - /bin/umount -v -a -t no,proc,sysfs,devtmpfs,fuse.gvfsd-fuse,tmpfs - # JFS needs a sync here or the / partition cannot be remounted read-only. - # In spite of this, it seems that a JFS root partition will always be checked - # (and found to be clean) at boot: - /bin/sync - echo "Remounting root filesystem read-only:" - /bin/mount -v -n -o remount,ro / -fi - -# This never hurts: -/bin/sync - -# Close any volumes opened by cryptsetup: -if [ -f /etc/crypttab -a -x /sbin/cryptsetup ]; then - cat /etc/crypttab | grep -v "^#" | grep -v "^$" | while read line; do - # NOTE: we only support LUKS formatted volumes (except for swap)! - LUKS=$(echo $line | tr '\t' ' ' | tr -s ' ' | cut -f1 -d' ') - DEV=$(echo $line | tr '\t' ' ' | tr -s ' ' | cut -f2 -d' ') - OPTS=$(echo $line | tr '\t' ' ' | tr -s ' ' | cut -f4 -d' ') - if /sbin/cryptsetup isLuks $DEV 2>/dev/null ; then - echo "Locking LUKS crypt volume '${LUKS}':" - /sbin/cryptsetup luksClose ${LUKS} - elif echo $OPTS | grep -wq swap ; then - # If any of the volumes was used as encrypted swap, - # then run mkswap on the underlying device - - # in case other Linux installations on this computer should use it: - echo "Erasing encrypted swap '${LUKS}' and restoring normal swap on ${DEV}:" - /sbin/cryptsetup remove ${LUKS} - mkswap $DEV - fi - done -fi - -# Deactivate LVM volume groups: -if [ -z "$container" ]; then - if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then - echo "Deactivating LVM volume groups:" - /sbin/vgchange -an - fi -fi - -# This never hurts again (especially since root-on-LVM always fails -# to deactivate the / logical volume... but at least it was -# remounted as read-only first) -/bin/sync - -# sleep 3 fixes problems with some hard drives that don't -# otherwise finish syncing before reboot or poweroff -/bin/sleep 3 - -# This is to ensure all processes have completed on SMP machines: -wait - -if [ -x /sbin/genpowerd -a -z "$container" ]; then - # See if this is a powerfail situation: - if /bin/egrep -q "FAIL|SCRAM" /etc/upsstatus 2> /dev/null ; then - # Signal UPS to shut off the inverter: - /sbin/genpowerd -k - if [ ! $? = 0 ]; then - echo - echo "There was an error signaling the UPS." - echo "Perhaps you need to edit /etc/genpowerd.conf to configure" - echo "the serial line and UPS type." - # Wasting 15 seconds of precious power: - /bin/sleep 15 - fi - fi -fi - -if [ "$container" = "lxc" ]; then - # confirm successful shutdown of the container - echo "LXC container stopped." -fi - -# Now halt (poweroff with APM or ACPI enabled kernels) or reboot. -if [ "$shutdown_command" = "reboot" ]; then - echo "Rebooting." - /sbin/reboot -else - /sbin/poweroff -fi - diff --git a/source/ap/lxc/scripts/rc.6.orig b/source/ap/lxc/scripts/rc.6.orig deleted file mode 100644 index e3986db8..00000000 --- a/source/ap/lxc/scripts/rc.6.orig +++ /dev/null @@ -1,319 +0,0 @@ -#! /bin/sh -# -# rc.6 This file is executed by init when it goes into runlevel -# 0 (halt) or runlevel 6 (reboot). It kills all processes, -# unmounts file systems and then either halts or reboots. -# -# Version: @(#)/etc/rc.d/rc.6 2.47 Sat Jan 13 13:37:26 PST 2001 -# -# Author: Miquel van Smoorenburg <miquels@drinkel.nl.mugnet.org> -# Modified by: Patrick J. Volkerding, <volkerdi@slackware.com> -# - -# Set the path. -PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin - -# If there are SystemV init scripts for this runlevel, run them. -if [ -x /etc/rc.d/rc.sysvinit ]; then - /etc/rc.d/rc.sysvinit -fi - -# Set linefeed mode to avoid staircase effect. -/bin/stty onlcr - -echo "Running shutdown script $0:" - -# Find out how we were called. -case "$0" in - *0) - shutdown_command="halt" - ;; - *6) - shutdown_command=reboot - ;; - *) - echo "$0: call me as \"rc.0\" or \"rc.6\" please!" - exit 1 - ;; -esac - -# Restart init. This prevents init from hanging on to file handles for removed -# glibc shared libraries in the case that those were upgraded or reinstalled. -/sbin/telinit u - -# Save the system time to the hardware clock using hwclock --systohc. -# This will also create or update the timestamps in /etc/adjtime. -if [ -x /sbin/hwclock ]; then - # Check for a broken motherboard RTC clock (where ioports for rtc are - # unknown) to prevent hwclock causing a hang: - if ! grep -q " : rtc" /proc/ioports ; then - CLOCK_OPT="--directisa" - fi - if [ /etc/adjtime -nt /etc/hardwareclock ]; then - if grep -q "^LOCAL" /etc/adjtime ; then - echo "Saving system time to the hardware clock (localtime)." - else - echo "Saving system time to the hardware clock (UTC)." - fi - /sbin/hwclock $CLOCK_OPT --systohc - elif grep -q "^UTC" /etc/hardwareclock 2> /dev/null ; then - echo "Saving system time to the hardware clock (UTC)." - if [ ! -r /etc/adjtime ]; then - echo "Creating system time correction file /etc/adjtime." - fi - /sbin/hwclock $CLOCK_OPT --utc --systohc - else - echo "Saving system time to the hardware clock (localtime)." - if [ ! -r /etc/adjtime ]; then - echo "Creating system time correction file /etc/adjtime." - fi - /sbin/hwclock $CLOCK_OPT --localtime --systohc - fi -fi - -# Run any local shutdown scripts: -if [ -x /etc/rc.d/rc.local_shutdown ]; then - /etc/rc.d/rc.local_shutdown stop -fi - -# Stop the Apache web server: -if [ -x /etc/rc.d/rc.httpd ]; then - /etc/rc.d/rc.httpd stop -fi - -# Stop the MySQL database: -if [ -x /etc/rc.d/rc.mysqld -a -r /var/run/mysql/mysql.pid ]; then - /etc/rc.d/rc.mysqld stop -fi - -# Stop the Samba server: -if [ -x /etc/rc.d/rc.samba ]; then - /etc/rc.d/rc.samba stop -fi - -# Shut down the NFS server: -if [ -x /etc/rc.d/rc.nfsd ]; then - /etc/rc.d/rc.nfsd stop -fi - -# Shut down the SSH server: -if [ -x /etc/rc.d/rc.sshd ]; then - /etc/rc.d/rc.sshd stop -fi - -# Shut down the SASL authentication daemon: -if [ -x /etc/rc.d/rc.saslauthd ]; then - /etc/rc.d/rc.saslauthd stop -fi - -# Shut down OpenLDAP: -if [ -x /etc/rc.d/rc.openldap ]; then - /etc/rc.d/rc.openldap stop -fi - -# Stop the haveged entropy daemon: -if [ -x /etc/rc.d/rc.haveged ]; then - /etc/rc.d/rc.haveged stop -fi - -# Stop D-Bus: -if [ -x /etc/rc.d/rc.messagebus ]; then - /etc/rc.d/rc.messagebus stop -fi - -# Kill any processes (typically gam) that would otherwise prevent -# unmounting NFS volumes: -unset FUSER_DELAY -for dir in $(/bin/mount | grep 'type nfs ' | sed -e 's|.* on ||g' | cut -d ' ' -f 1) ; do - echo "Killing processes holding NFS mount $dir open..." - # Background this to prevent fuser from also blocking shutdown: - /usr/bin/fuser -k -M -m "$dir" & - FUSER_DELAY=5 -done -# If fuser was run, let it have some delay: -if [ ! -z "$FUSER_DELAY" ]; then - sleep $FUSER_DELAY -fi - -# Unmount any NFS, SMB, or CIFS filesystems: -echo "Unmounting remote filesystems:" -/bin/umount -v -a -l -f -r -t nfs,smbfs,cifs | tr -d ' ' | grep successfully | sed "s/:successfullyunmounted/ has been successfully unmounted./g" - -# Try to shut down pppd: -PS="$(ps ax)" -if echo "$PS" | /bin/grep -q -w pppd ; then - if [ -x /usr/sbin/ppp-off ]; then - /usr/sbin/ppp-off - fi -fi - -# Shut down YP services: -if [ -x /etc/rc.d/rc.yp ]; then - if grep -wq stop /etc/rc.d/rc.yp ; then - /etc/rc.d/rc.yp stop - fi -fi - -# Bring down the networking system, but first make sure that this -# isn't a diskless client with the / partition mounted via NFS: -if ! /bin/mount | /bin/grep -q 'on / type nfs' ; then - if [ -x /etc/rc.d/rc.inet1 ]; then - /etc/rc.d/rc.inet1 stop - fi -fi - -# In case dhcpcd might have been manually started on the command line, -# look for the .pid file, and shut dhcpcd down if it's found: -if /bin/ls /etc/dhcpc/*.pid 1> /dev/null 2> /dev/null ; then - /sbin/dhcpcd -k 1> /dev/null 2> /dev/null - # A little time for /etc/resolv.conf and/or other files to - # restore themselves. - sleep 2 -fi - -# Shut down PCMCIA devices: -if [ -x /etc/rc.d/rc.pcmcia ]; then - /etc/rc.d/rc.pcmcia stop - # The cards might need a little extra time here to deactivate: - /bin/sleep 5 -fi - -# Turn off process accounting: -if [ -x /sbin/accton -a -r /var/log/pacct ]; then - /sbin/accton off -fi - -# Terminate acpid before syslog: -if [ -x /etc/rc.d/rc.acpid -a -r /var/run/acpid.pid ]; then # quit - /etc/rc.d/rc.acpid stop -fi - -# Stop udev: -if [ -x /etc/rc.d/rc.udev ]; then - /etc/rc.d/rc.udev force-stop -fi - -# Kill all remaining processes. -OMITPIDS="$(for p in $(pgrep mdmon); do echo -o $p; done)" # Don't kill mdmon -if [ ! "$1" = "fast" ]; then - echo "Sending all processes the SIGTERM signal." - /sbin/killall5 -15 $OMITPIDS - /bin/sleep 5 - echo "Sending all processes the SIGKILL signal." - /sbin/killall5 -9 $OMITPIDS -fi - -# Try to turn off quota. -if /bin/grep -q quota /etc/fstab ; then - if [ -x /sbin/quotaoff ]; then - echo "Turning off filesystem quotas." - /sbin/quotaoff -a - fi -fi - -# Carry a random seed between reboots. -echo "Saving random seed from /dev/urandom in /etc/random-seed." -# Use the pool size from /proc, or 4096 bits: -if [ -r /proc/sys/kernel/random/poolsize ]; then - /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(expr $(cat /proc/sys/kernel/random/poolsize) / 8) 2> /dev/null -else - /bin/dd if=/dev/urandom of=/etc/random-seed count=1 bs=512 2> /dev/null -fi -/bin/chmod 600 /etc/random-seed - -# Before unmounting file systems write a reboot or halt record to wtmp. -$shutdown_command -w - -# Turn off swap: -echo "Turning off swap." -/sbin/swapoff -a -/bin/sync - -# Stop cgmanager and cgproxy: -if [ -x /etc/rc.d/rc.cgmanager ]; then - /etc/rc.d/rc.cgmanager stop -fi - -# Umount all tmpfs mounts except /dev/shm and under /run: -cat /proc/mounts | grep " tmpfs " | grep -v -e " /run " -e " /run/" -e " /dev/shm " | while read mount ; do - umount --recursive -v $(echo $mount | cut -f 2 -d ' ') 2> /dev/null -done - -# Unmount local file systems: -echo "Unmounting local file systems:" -/bin/umount -v -a -t no,proc,sysfs,devtmpfs,fuse.gvfsd-fuse,tmpfs - -# JFS needs a sync here or the / partition cannot be remounted read-only. -# In spite of this, it seems that a JFS root partition will always be checked -# (and found to be clean) at boot: -/bin/sync - -echo "Remounting root filesystem read-only:" -/bin/mount -v -n -o remount,ro / - -# This never hurts: -/bin/sync - -# Close any volumes opened by cryptsetup: -if [ -f /etc/crypttab -a -x /sbin/cryptsetup ]; then - cat /etc/crypttab | grep -v "^#" | grep -v "^$" | while read line; do - # NOTE: we only support LUKS formatted volumes (except for swap)! - LUKS=$(echo $line | tr '\t' ' ' | tr -s ' ' | cut -f1 -d' ') - DEV=$(echo $line | tr '\t' ' ' | tr -s ' ' | cut -f2 -d' ') - OPTS=$(echo $line | tr '\t' ' ' | tr -s ' ' | cut -f4 -d' ') - if /sbin/cryptsetup isLuks $DEV 2>/dev/null ; then - echo "Locking LUKS crypt volume '${LUKS}':" - /sbin/cryptsetup luksClose ${LUKS} - elif echo $OPTS | grep -wq swap ; then - # If any of the volumes was used as encrypted swap, - # then run mkswap on the underlying device - - # in case other Linux installations on this computer should use it: - echo "Erasing encrypted swap '${LUKS}' and restoring normal swap on ${DEV}:" - /sbin/cryptsetup remove ${LUKS} - mkswap $DEV - fi - done -fi - -# Deactivate LVM volume groups: -if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then - echo "Deactivating LVM volume groups:" - /sbin/vgchange -an -fi - -# This never hurts again (especially since root-on-LVM always fails -# to deactivate the / logical volume... but at least it was -# remounted as read-only first) -/bin/sync - -# sleep 3 fixes problems with some hard drives that don't -# otherwise finish syncing before reboot or poweroff -/bin/sleep 3 - -# This is to ensure all processes have completed on SMP machines: -wait - -if [ -x /sbin/genpowerd ]; then - # See if this is a powerfail situation: - if /bin/egrep -q "FAIL|SCRAM" /etc/upsstatus 2> /dev/null ; then - # Signal UPS to shut off the inverter: - /sbin/genpowerd -k - if [ ! $? = 0 ]; then - echo - echo "There was an error signaling the UPS." - echo "Perhaps you need to edit /etc/genpowerd.conf to configure" - echo "the serial line and UPS type." - # Wasting 15 seconds of precious power: - /bin/sleep 15 - fi - fi -fi - -# Now halt (poweroff with APM or ACPI enabled kernels) or reboot. -if [ "$shutdown_command" = "reboot" ]; then - echo "Rebooting." - /sbin/reboot -else - /sbin/poweroff -fi - diff --git a/source/ap/lxc/scripts/rc.M.lxc b/source/ap/lxc/scripts/rc.M.lxc deleted file mode 100644 index 8cab0150..00000000 --- a/source/ap/lxc/scripts/rc.M.lxc +++ /dev/null @@ -1,416 +0,0 @@ -#!/bin/sh -# -# rc.M This file is executed by init(8) when the system is being -# initialized for one of the "multi user" run levels (i.e. -# levels 1 through 6). It usually does mounting of file -# systems et al. -# -# Version: @(#)/etc/rc.d/rc.M 2.23 Wed Feb 26 19:20:58 PST 2003 -# -# Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org> -# Heavily modified by Patrick Volkerding <volkerdi@slackware.com> -# - -# Tell the viewers what's going to happen. -echo "Going multiuser..." - -# Set $container variable since this is a modified version of rc.M with -# changes for running in an lxc container. A check to see if this variable -# is set will be used to skip parts of the script that we don't want to run -# in a container. Thanks to Matteo Bernardini <ponce@slackbuilds.org> and -# Chris Willing for the initial work making this script lxc compatible. -container="lxc" - -# Update all the shared library links: -if [ -x /sbin/ldconfig ]; then - echo "Updating shared library links: /sbin/ldconfig &" - /sbin/ldconfig & -fi - -# Call the setterm init script to set screen blanking and power management -# defaults: -if [ -x /etc/rc.d/rc.setterm -a -z "$container" ]; then - /etc/rc.d/rc.setterm -fi - -# Set the hostname. -if [ -z "$container" ]; then - if [ -r /etc/HOSTNAME ]; then - /bin/hostname $(cat /etc/HOSTNAME) - else - # fall back on this old default: - echo "darkstar.example.net" > /etc/HOSTNAME - /bin/hostname $(cat /etc/HOSTNAME) - fi -fi - -# Set the permissions on /var/log/dmesg according to whether the kernel -# permits non-root users to access kernel dmesg information: -if [ -r /proc/sys/kernel/dmesg_restrict ]; then - if [ $(cat /proc/sys/kernel/dmesg_restrict) = 1 ]; then - touch /var/log/dmesg - chmod 640 /var/log/dmesg - fi -else - touch /var/log/dmesg - chmod 644 /var/log/dmesg -fi -# Save the contents of 'dmesg': -/bin/dmesg -s 65536 > /var/log/dmesg - -# Initialize PCMCIA devices: -# -# NOTE: This used to be started near the top of rc.S so that PCMCIA devices -# could be fsck'ed along with the other drives. This had some unfortunate -# side effects, however, since root isn't yet read-write, and /var might not -# even be mounted the .pid files can't be correctly written in /var/run and -# the pcmcia system can't be correctly shut down. If you want some PCMCIA -# partition to be mounted at boot (or when the card is inserted) then add -# the appropriate lines to /etc/pcmcia/scsi.opts. -# -# Note that the stuff in /etc/pcmcia/ is only for 2.4.x kernels using -# 16-bit PCMCIA cards (not 32-bit Cardbus cards!). For example, with a -# wireless card you might need to set options in /etc/pcmcia OR in -# /etc/rc.d/rc.wireless.conf, or even in /etc/rc.d/rc.inet1.conf (with -# extra options if needed for the encryption key, ESSID, etc.) -# -# Hopefully this situation will be unified in the future, but for now -# that's how it is... -# -if [ -x /etc/rc.d/rc.pcmcia -a -z "$container" ]; then - /etc/rc.d/rc.pcmcia start - # The cards might need a little extra time here to initialize. - sleep 5 -fi - -# Start the system logger. -if [ -x /etc/rc.d/rc.syslog -a -x /usr/sbin/syslogd -a -d /var/log ]; then - /etc/rc.d/rc.syslog start -fi - -# Update the X font indexes: -if [ -x /usr/bin/fc-cache ]; then - echo "Updating X font indexes: /usr/bin/fc-cache -f &" - /usr/bin/fc-cache -f & -fi - -# Run rc.udev again. This will start udev if it is not already running -# (for example, upon return from runlevel 1), otherwise it will trigger it -# to look for device changes and to generate persistent rules if needed. -if grep -wq sysfs /proc/mounts && grep -q devtmpfs /proc/filesystems ; then - if ! grep -wq nohotplug /proc/cmdline ; then - if [ -x /etc/rc.d/rc.udev -a -z "$container" ]; then - /etc/rc.d/rc.udev start - fi - fi -fi - -# Start the haveged entropy daemon: -if [ -x /etc/rc.d/rc.haveged -a -z "$container" ]; then - /etc/rc.d/rc.haveged start -fi - -# Start the rngd entropy daemon: -if [ -x /etc/rc.d/rc.rngd -a -z "$container" ]; then - /etc/rc.d/rc.rngd start -fi - -# Initialize the networking hardware. -if [ -x /etc/rc.d/rc.inet1 ]; then - /etc/rc.d/rc.inet1 -fi - -# Start D-Bus: -if [ -x /etc/rc.d/rc.messagebus ]; then - /etc/rc.d/rc.messagebus start -fi - -# Start console-kit-daemon: -if [ -x /etc/rc.d/rc.consolekit ]; then - /etc/rc.d/rc.consolekit start -fi - -# Start Bluetooth: -if [ -x /etc/rc.d/rc.bluetooth ]; then - /etc/rc.d/rc.bluetooth start -fi - -# Start wicd or networkmanager: -if [ -x /etc/rc.d/rc.wicd -a -x /usr/sbin/wicd ]; then - /etc/rc.d/rc.wicd start -elif [ -x /etc/rc.d/rc.networkmanager ]; then - /etc/rc.d/rc.networkmanager start -fi - -# Start networking daemons: -if [ -x /etc/rc.d/rc.inet2 ]; then - /etc/rc.d/rc.inet2 -fi - -# Mount any additional filesystem types that haven't already been mounted: -mount -a -v 2> /dev/null | grep -v -e "already mounted" -e "ignored" | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep "${dev} " ; done - -# Start the Control Script for automounter: -if [ -x /etc/rc.d/rc.autofs ]; then - /etc/rc.d/rc.autofs start -fi - -# Start the Network Time Protocol daemon: -if [ -x /etc/rc.d/rc.ntpd ]; then - /etc/rc.d/rc.ntpd start -fi - -# Remove stale locks and junk files (must be done after mount -a!) -/bin/rm -f /var/lock/* /var/spool/uucp/LCK..* /tmp/.X*lock /tmp/.X11-unix/* 2> /dev/null - -# Remove stale hunt sockets so the game can start. -if [ -r /tmp/hunt -o -r /tmp/hunt.stats ]; then - echo "Removing your stale hunt sockets from /tmp." - /bin/rm -f /tmp/hunt* -fi - -# Ensure basic filesystem permissions sanity. -chmod 755 / 2> /dev/null -chmod 1777 /tmp /var/tmp - -# Start ACPI daemon. -if [ -x /etc/rc.d/rc.acpid -a -z "$container" ]; then - /etc/rc.d/rc.acpid start -fi - -# Enable CPU frequency scaling: -if [ -x /etc/rc.d/rc.cpufreq -a -z "$container" ]; then - /etc/rc.d/rc.cpufreq start -fi - -# Update any existing icon cache files: -if find /usr/share/icons -maxdepth 2 2> /dev/null | grep -q icon-theme.cache ; then - for theme_dir in /usr/share/icons/* ; do - if [ -r ${theme_dir}/icon-theme.cache ]; then - echo "Updating icon-theme.cache in ${theme_dir}..." - /usr/bin/gtk-update-icon-cache -t -f ${theme_dir} 1> /dev/null 2> /dev/null & - fi - done - # This would be a large file and probably shouldn't be there. - if [ -r /usr/share/icons/icon-theme.cache ]; then - echo "Deleting icon-theme.cache in /usr/share/icons..." - #/usr/bin/gtk-update-icon-cache -t -f /usr/share/icons 1> /dev/null 2> /dev/null & - rm -f /usr/share/icons/icon-theme.cache - fi -fi - -# Update mime database: -if [ -x /usr/bin/update-mime-database -a -d /usr/share/mime ]; then - echo "Updating MIME database: /usr/bin/update-mime-database /usr/share/mime &" - /usr/bin/update-mime-database /usr/share/mime 1> /dev/null 2> /dev/null & -fi - -# Start HAL: -if [ -x /etc/rc.d/rc.hald ]; then - /etc/rc.d/rc.hald start -fi - -# Start system-wide PulseAudio daemon (not recommended, nor required in -# order to use PulseAudio -- see the script for details): -if [ -x /etc/rc.d/rc.pulseaudio ]; then - /etc/rc.d/rc.pulseaudio start -fi - -# These GTK+/pango files need to be kept up to date for -# proper input method, pixbuf loaders, and font support. -if [ -x /usr/bin/update-gtk-immodules ]; then - echo "Updating gtk.immodules:" - echo " /usr/bin/update-gtk-immodules &" - /usr/bin/update-gtk-immodules > /dev/null 2>&1 & -fi -if [ -x /usr/bin/update-gdk-pixbuf-loaders ]; then - echo "Updating gdk-pixbuf.loaders:" - echo " /usr/bin/update-gdk-pixbuf-loaders &" - HOME=/root /usr/bin/update-gdk-pixbuf-loaders > /dev/null 2>&1 & -fi -if [ -x /usr/bin/update-pango-querymodules ]; then - echo "Updating pango.modules:" - echo " /usr/bin/update-pango-querymodules &" - /usr/bin/update-pango-querymodules > /dev/null 2>&1 & -fi -if [ -x /usr/bin/glib-compile-schemas ]; then - echo "Compiling GSettings XML schema files:" - echo " /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas &" - /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas >/dev/null 2>&1 & -fi - -# Start dnsmasq, a simple DHCP/DNS server: -if [ -x /etc/rc.d/rc.dnsmasq ]; then - /etc/rc.d/rc.dnsmasq start -fi - -# Start snmpd: -if [ -x /etc/rc.d/rc.snmpd ]; then - /etc/rc.d/rc.snmpd start -fi - -# Start the print spooling system. This will usually be LPRng (lpd) or CUPS. -if [ -x /etc/rc.d/rc.cups ]; then - # Start CUPS: - /etc/rc.d/rc.cups start -elif [ -x /etc/rc.d/rc.lprng ]; then - # Start LPRng (lpd): - /etc/rc.d/rc.lprng start -fi - -# Start netatalk. (a file/print server for Macs using Appletalk) -if [ -x /etc/rc.d/rc.atalk ]; then - /etc/rc.d/rc.atalk start -fi - -# Start smartd, which monitors the status of S.M.A.R.T. compatible -# hard drives and reports any problems: -if [ -x /etc/rc.d/rc.smartd -a -z "$container" ]; then - /etc/rc.d/rc.smartd start -fi - -# Monitor the UPS with genpowerd. -# To use this, uncomment this section and edit your settings in -# /etc/genpowerd.conf (serial device, UPS type, etc). For more information, -# see "man genpowerd" or the extensive documentation in the -# /usr/doc/genpower-*/ directory. -# You'll also need to configure a similar block in /etc/rc.d/rc.6 if you want -# support for stopping the UPS's inverter after the machine halts. -#if [ -x /sbin/genpowerd ]; then -# echo "Starting genpowerd daemon..." -# /sbin/genpowerd -#fi - -# Turn on process accounting. To enable process accounting, make sure the -# option for BSD process accounting is enabled in your kernel, and then -# create the file /var/log/pacct (touch /var/log/pacct). By default, process -# accounting is not enabled (since /var/log/pacct does not exist). This is -# because the log file can get VERY large. -if [ -x /sbin/accton -a -r /var/log/pacct ]; then - chmod 640 /var/log/pacct - /sbin/accton /var/log/pacct -fi - -# Start crond (Dillon's crond): -if [ -x /etc/rc.d/rc.crond ]; then - /etc/rc.d/rc.crond start -fi - -# Start atd (manages jobs scheduled with 'at'): -if [ -x /etc/rc.d/rc.atd ]; then - /etc/rc.d/rc.atd start -fi - -# Slackware-Mini-Quota-HOWTO: -# To really activate quotas, you'll need to add 'usrquota' and/or 'grpquota' to -# the appropriate partitions as listed in /etc/fstab. Here's an example: -# -# /dev/hda2 /home ext3 defaults,usrquota 1 1 -# -# You'll then need to setup initial quota files at the top of the partitions -# to support quota, like this: -# touch /home/aquota.user /home/aquota.group -# chmod 600 /home/aquota.user /home/aquota.group -# -# Then, reboot to activate the system. -# To edit user quotas, use 'edquota'. See 'man edquota'. Also, the -# official Quota Mini-HOWTO has lots of useful information. That can be found -# here: /usr/doc/Linux-HOWTOs/Quota - -# Check quotas and then turn quota system on: -if grep -q quota /etc/fstab ; then - for quotafs in $(awk '/quota/ {print $2}' /etc/fstab) ; do - /bin/rm -f $quotafs/{a,}quota.{group,user}.new - done - if [ -x /sbin/quotacheck ]; then - echo "Checking filesystem quotas: /sbin/quotacheck -avugm" - /sbin/quotacheck -avugm - fi - if [ -x /sbin/quotaon ]; then - echo "Activating filesystem quotas: /sbin/quotaon -avug" - /sbin/quotaon -avug - fi -fi - -# Start the SASL authentication server. This provides SASL -# authentication services for sendmail/postfix: -if [ -x /etc/rc.d/rc.saslauthd ]; then - /etc/rc.d/rc.saslauthd start -fi - -# Start the mail server. Try the rc.sendmail script first, then try rc.postfix. -if [ -x /etc/rc.d/rc.sendmail -a -x usr/sbin/makemap ]; then - /etc/rc.d/rc.sendmail start -elif [ -x /etc/rc.d/rc.postfix -a -x usr/sbin/postdrop ]; then - /etc/rc.d/rc.postfix start -fi - -# Load ALSA (sound) defaults: -if [ -x /etc/rc.d/rc.alsa -a -z "$container" ]; then - /etc/rc.d/rc.alsa -fi - -# Load a custom screen font if the user has an rc.font script. -if [ -x /etc/rc.d/rc.font ]; then - /etc/rc.d/rc.font -fi - -# Load a custom keymap if the user has an rc.keymap script. -if [ -x /etc/rc.d/rc.keymap ]; then - /etc/rc.d/rc.keymap -fi - -# Start the MySQL database: -if [ -x /etc/rc.d/rc.mysqld ]; then - /etc/rc.d/rc.mysqld start -fi - -# Start Apache web server: -if [ -x /etc/rc.d/rc.httpd ]; then - /etc/rc.d/rc.httpd start -fi - -# Start OpenLDAP: -if [ -x /etc/rc.d/rc.openldap ]; then - /etc/rc.d/rc.openldap start -fi - -# Start Dovecot: -if [ -x /etc/rc.d/rc.dovecot ]; then - /etc/rc.d/rc.dovecot start -fi - -# Start Samba (a file/print server for Win95/NT machines). -# Samba can be started in /etc/inetd.conf instead. -if [ -x /etc/rc.d/rc.samba ]; then - /etc/rc.d/rc.samba start -fi - -# Start the GPM mouse server: -if [ -x /etc/rc.d/rc.gpm ]; then - /etc/rc.d/rc.gpm start -fi - -# Start the Icecream scheduler. This needs to run on only one machine that is -# part of the compile cluster: -if [ -x /etc/rc.d/rc.icecc-scheduler ]; then - /etc/rc.d/rc.icecc-scheduler start -fi - -# Start the Icecream daemon. This needs to run on every machine that will be -# part of the compile cluster (including the machine running the scheduler): -if [ -x /etc/rc.d/rc.iceccd ]; then - /etc/rc.d/rc.iceccd start -fi - -# If there are SystemV init scripts for this runlevel, run them. -if [ -x /etc/rc.d/rc.sysvinit ]; then - /etc/rc.d/rc.sysvinit -fi - -# Start the local setup procedure. -if [ -x /etc/rc.d/rc.local ]; then - /etc/rc.d/rc.local -fi - -# All done. diff --git a/source/ap/lxc/scripts/rc.M.orig b/source/ap/lxc/scripts/rc.M.orig deleted file mode 100644 index cfffb8ec..00000000 --- a/source/ap/lxc/scripts/rc.M.orig +++ /dev/null @@ -1,407 +0,0 @@ -#!/bin/sh -# -# rc.M This file is executed by init(8) when the system is being -# initialized for one of the "multi user" run levels (i.e. -# levels 1 through 6). It usually does mounting of file -# systems et al. -# -# Version: @(#)/etc/rc.d/rc.M 2.23 Wed Feb 26 19:20:58 PST 2003 -# -# Author: Fred N. van Kempen, <waltje@uwalt.nl.mugnet.org> -# Heavily modified by Patrick Volkerding <volkerdi@slackware.com> -# - -# Tell the viewers what's going to happen. -echo "Going multiuser..." - -# Update all the shared library links: -if [ -x /sbin/ldconfig ]; then - echo "Updating shared library links: /sbin/ldconfig &" - /sbin/ldconfig & -fi - -# Call the setterm init script to set screen blanking and power management -# defaults: -if [ -x /etc/rc.d/rc.setterm ]; then - /etc/rc.d/rc.setterm -fi - -# Set the hostname. -if [ -r /etc/HOSTNAME ]; then - /bin/hostname $(cat /etc/HOSTNAME) -else - # fall back on this old default: - echo "darkstar.example.net" > /etc/HOSTNAME - /bin/hostname $(cat /etc/HOSTNAME) -fi - -# Set the permissions on /var/log/dmesg according to whether the kernel -# permits non-root users to access kernel dmesg information: -if [ -r /proc/sys/kernel/dmesg_restrict ]; then - if [ $(cat /proc/sys/kernel/dmesg_restrict) = 1 ]; then - touch /var/log/dmesg - chmod 640 /var/log/dmesg - fi -else - touch /var/log/dmesg - chmod 644 /var/log/dmesg -fi -# Save the contents of 'dmesg': -/bin/dmesg -s 65536 > /var/log/dmesg - -# Initialize PCMCIA devices: -# -# NOTE: This used to be started near the top of rc.S so that PCMCIA devices -# could be fsck'ed along with the other drives. This had some unfortunate -# side effects, however, since root isn't yet read-write, and /var might not -# even be mounted the .pid files can't be correctly written in /var/run and -# the pcmcia system can't be correctly shut down. If you want some PCMCIA -# partition to be mounted at boot (or when the card is inserted) then add -# the appropriate lines to /etc/pcmcia/scsi.opts. -# -# Note that the stuff in /etc/pcmcia/ is only for 2.4.x kernels using -# 16-bit PCMCIA cards (not 32-bit Cardbus cards!). For example, with a -# wireless card you might need to set options in /etc/pcmcia OR in -# /etc/rc.d/rc.wireless.conf, or even in /etc/rc.d/rc.inet1.conf (with -# extra options if needed for the encryption key, ESSID, etc.) -# -# Hopefully this situation will be unified in the future, but for now -# that's how it is... -# -if [ -x /etc/rc.d/rc.pcmcia ]; then - /etc/rc.d/rc.pcmcia start - # The cards might need a little extra time here to initialize. - sleep 5 -fi - -# Start the system logger. -if [ -x /etc/rc.d/rc.syslog -a -x /usr/sbin/syslogd -a -d /var/log ]; then - /etc/rc.d/rc.syslog start -fi - -# Update the X font indexes: -if [ -x /usr/bin/fc-cache ]; then - echo "Updating X font indexes: /usr/bin/fc-cache -f &" - /usr/bin/fc-cache -f & -fi - -# Run rc.udev again. This will start udev if it is not already running -# (for example, upon return from runlevel 1), otherwise it will trigger it -# to look for device changes and to generate persistent rules if needed. -if grep -wq sysfs /proc/mounts && grep -q devtmpfs /proc/filesystems ; then - if ! grep -wq nohotplug /proc/cmdline ; then - if [ -x /etc/rc.d/rc.udev ]; then - /etc/rc.d/rc.udev start - fi - fi -fi - -# Start the haveged entropy daemon: -if [ -x /etc/rc.d/rc.haveged ]; then - /etc/rc.d/rc.haveged start -fi - -# Start the rngd entropy daemon: -if [ -x /etc/rc.d/rc.rngd ]; then - /etc/rc.d/rc.rngd start -fi - -# Initialize the networking hardware. -if [ -x /etc/rc.d/rc.inet1 ]; then - /etc/rc.d/rc.inet1 -fi - -# Start D-Bus: -if [ -x /etc/rc.d/rc.messagebus ]; then - /etc/rc.d/rc.messagebus start -fi - -# Start console-kit-daemon: -if [ -x /etc/rc.d/rc.consolekit ]; then - /etc/rc.d/rc.consolekit start -fi - -# Start Bluetooth: -if [ -x /etc/rc.d/rc.bluetooth ]; then - /etc/rc.d/rc.bluetooth start -fi - -# Start wicd or networkmanager: -if [ -x /etc/rc.d/rc.wicd -a -x /usr/sbin/wicd ]; then - /etc/rc.d/rc.wicd start -elif [ -x /etc/rc.d/rc.networkmanager ]; then - /etc/rc.d/rc.networkmanager start -fi - -# Start networking daemons: -if [ -x /etc/rc.d/rc.inet2 ]; then - /etc/rc.d/rc.inet2 -fi - -# Mount any additional filesystem types that haven't already been mounted: -mount -a -v 2> /dev/null | grep -v -e "already mounted" -e "ignored" | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep "${dev} " ; done - -# Start the Control Script for automounter: -if [ -x /etc/rc.d/rc.autofs ]; then - /etc/rc.d/rc.autofs start -fi - -# Start the Network Time Protocol daemon: -if [ -x /etc/rc.d/rc.ntpd ]; then - /etc/rc.d/rc.ntpd start -fi - -# Remove stale locks and junk files (must be done after mount -a!) -/bin/rm -f /var/lock/* /var/spool/uucp/LCK..* /tmp/.X*lock /tmp/.X11-unix/* 2> /dev/null - -# Remove stale hunt sockets so the game can start. -if [ -r /tmp/hunt -o -r /tmp/hunt.stats ]; then - echo "Removing your stale hunt sockets from /tmp." - /bin/rm -f /tmp/hunt* -fi - -# Ensure basic filesystem permissions sanity. -chmod 755 / 2> /dev/null -chmod 1777 /tmp /var/tmp - -# Start ACPI daemon. -if [ -x /etc/rc.d/rc.acpid ]; then - /etc/rc.d/rc.acpid start -fi - -# Enable CPU frequency scaling: -if [ -x /etc/rc.d/rc.cpufreq ]; then - /etc/rc.d/rc.cpufreq start -fi - -# Update any existing icon cache files: -if find /usr/share/icons -maxdepth 2 2> /dev/null | grep -q icon-theme.cache ; then - for theme_dir in /usr/share/icons/* ; do - if [ -r ${theme_dir}/icon-theme.cache ]; then - echo "Updating icon-theme.cache in ${theme_dir}..." - /usr/bin/gtk-update-icon-cache -t -f ${theme_dir} 1> /dev/null 2> /dev/null & - fi - done - # This would be a large file and probably shouldn't be there. - if [ -r /usr/share/icons/icon-theme.cache ]; then - echo "Deleting icon-theme.cache in /usr/share/icons..." - #/usr/bin/gtk-update-icon-cache -t -f /usr/share/icons 1> /dev/null 2> /dev/null & - rm -f /usr/share/icons/icon-theme.cache - fi -fi - -# Update mime database: -if [ -x /usr/bin/update-mime-database -a -d /usr/share/mime ]; then - echo "Updating MIME database: /usr/bin/update-mime-database /usr/share/mime &" - /usr/bin/update-mime-database /usr/share/mime 1> /dev/null 2> /dev/null & -fi - -# Start HAL: -if [ -x /etc/rc.d/rc.hald ]; then - /etc/rc.d/rc.hald start -fi - -# Start system-wide PulseAudio daemon (not recommended, nor required in -# order to use PulseAudio -- see the script for details): -if [ -x /etc/rc.d/rc.pulseaudio ]; then - /etc/rc.d/rc.pulseaudio start -fi - -# These GTK+/pango files need to be kept up to date for -# proper input method, pixbuf loaders, and font support. -if [ -x /usr/bin/update-gtk-immodules ]; then - echo "Updating gtk.immodules:" - echo " /usr/bin/update-gtk-immodules &" - /usr/bin/update-gtk-immodules > /dev/null 2>&1 & -fi -if [ -x /usr/bin/update-gdk-pixbuf-loaders ]; then - echo "Updating gdk-pixbuf.loaders:" - echo " /usr/bin/update-gdk-pixbuf-loaders &" - HOME=/root /usr/bin/update-gdk-pixbuf-loaders > /dev/null 2>&1 & -fi -if [ -x /usr/bin/update-pango-querymodules ]; then - echo "Updating pango.modules:" - echo " /usr/bin/update-pango-querymodules &" - /usr/bin/update-pango-querymodules > /dev/null 2>&1 & -fi -if [ -x /usr/bin/glib-compile-schemas ]; then - echo "Compiling GSettings XML schema files:" - echo " /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas &" - /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas >/dev/null 2>&1 & -fi - -# Start dnsmasq, a simple DHCP/DNS server: -if [ -x /etc/rc.d/rc.dnsmasq ]; then - /etc/rc.d/rc.dnsmasq start -fi - -# Start snmpd: -if [ -x /etc/rc.d/rc.snmpd ]; then - /etc/rc.d/rc.snmpd start -fi - -# Start the print spooling system. This will usually be LPRng (lpd) or CUPS. -if [ -x /etc/rc.d/rc.cups ]; then - # Start CUPS: - /etc/rc.d/rc.cups start -elif [ -x /etc/rc.d/rc.lprng ]; then - # Start LPRng (lpd): - /etc/rc.d/rc.lprng start -fi - -# Start netatalk. (a file/print server for Macs using Appletalk) -if [ -x /etc/rc.d/rc.atalk ]; then - /etc/rc.d/rc.atalk start -fi - -# Start smartd, which monitors the status of S.M.A.R.T. compatible -# hard drives and reports any problems: -if [ -x /etc/rc.d/rc.smartd ]; then - /etc/rc.d/rc.smartd start -fi - -# Monitor the UPS with genpowerd. -# To use this, uncomment this section and edit your settings in -# /etc/genpowerd.conf (serial device, UPS type, etc). For more information, -# see "man genpowerd" or the extensive documentation in the -# /usr/doc/genpower-*/ directory. -# You'll also need to configure a similar block in /etc/rc.d/rc.6 if you want -# support for stopping the UPS's inverter after the machine halts. -#if [ -x /sbin/genpowerd ]; then -# echo "Starting genpowerd daemon..." -# /sbin/genpowerd -#fi - -# Turn on process accounting. To enable process accounting, make sure the -# option for BSD process accounting is enabled in your kernel, and then -# create the file /var/log/pacct (touch /var/log/pacct). By default, process -# accounting is not enabled (since /var/log/pacct does not exist). This is -# because the log file can get VERY large. -if [ -x /sbin/accton -a -r /var/log/pacct ]; then - chmod 640 /var/log/pacct - /sbin/accton /var/log/pacct -fi - -# Start crond (Dillon's crond): -if [ -x /etc/rc.d/rc.crond ]; then - /etc/rc.d/rc.crond start -fi - -# Start atd (manages jobs scheduled with 'at'): -if [ -x /etc/rc.d/rc.atd ]; then - /etc/rc.d/rc.atd start -fi - -# Slackware-Mini-Quota-HOWTO: -# To really activate quotas, you'll need to add 'usrquota' and/or 'grpquota' to -# the appropriate partitions as listed in /etc/fstab. Here's an example: -# -# /dev/hda2 /home ext3 defaults,usrquota 1 1 -# -# You'll then need to setup initial quota files at the top of the partitions -# to support quota, like this: -# touch /home/aquota.user /home/aquota.group -# chmod 600 /home/aquota.user /home/aquota.group -# -# Then, reboot to activate the system. -# To edit user quotas, use 'edquota'. See 'man edquota'. Also, the -# official Quota Mini-HOWTO has lots of useful information. That can be found -# here: /usr/doc/Linux-HOWTOs/Quota - -# Check quotas and then turn quota system on: -if grep -q quota /etc/fstab ; then - for quotafs in $(awk '/quota/ {print $2}' /etc/fstab) ; do - /bin/rm -f $quotafs/{a,}quota.{group,user}.new - done - if [ -x /sbin/quotacheck ]; then - echo "Checking filesystem quotas: /sbin/quotacheck -avugm" - /sbin/quotacheck -avugm - fi - if [ -x /sbin/quotaon ]; then - echo "Activating filesystem quotas: /sbin/quotaon -avug" - /sbin/quotaon -avug - fi -fi - -# Start the SASL authentication server. This provides SASL -# authentication services for sendmail/postfix: -if [ -x /etc/rc.d/rc.saslauthd ]; then - /etc/rc.d/rc.saslauthd start -fi - -# Start the mail server. Try the rc.sendmail script first, then try rc.postfix. -if [ -x /etc/rc.d/rc.sendmail -a -x usr/sbin/makemap ]; then - /etc/rc.d/rc.sendmail start -elif [ -x /etc/rc.d/rc.postfix -a -x usr/sbin/postdrop ]; then - /etc/rc.d/rc.postfix start -fi - -# Load ALSA (sound) defaults: -if [ -x /etc/rc.d/rc.alsa ]; then - /etc/rc.d/rc.alsa -fi - -# Load a custom screen font if the user has an rc.font script. -if [ -x /etc/rc.d/rc.font ]; then - /etc/rc.d/rc.font -fi - -# Load a custom keymap if the user has an rc.keymap script. -if [ -x /etc/rc.d/rc.keymap ]; then - /etc/rc.d/rc.keymap -fi - -# Start the MySQL database: -if [ -x /etc/rc.d/rc.mysqld ]; then - /etc/rc.d/rc.mysqld start -fi - -# Start Apache web server: -if [ -x /etc/rc.d/rc.httpd ]; then - /etc/rc.d/rc.httpd start -fi - -# Start OpenLDAP: -if [ -x /etc/rc.d/rc.openldap ]; then - /etc/rc.d/rc.openldap start -fi - -# Start Dovecot: -if [ -x /etc/rc.d/rc.dovecot ]; then - /etc/rc.d/rc.dovecot start -fi - -# Start Samba (a file/print server for Win95/NT machines). -# Samba can be started in /etc/inetd.conf instead. -if [ -x /etc/rc.d/rc.samba ]; then - /etc/rc.d/rc.samba start -fi - -# Start the GPM mouse server: -if [ -x /etc/rc.d/rc.gpm ]; then - /etc/rc.d/rc.gpm start -fi - -# Start the Icecream scheduler. This needs to run on only one machine that is -# part of the compile cluster: -if [ -x /etc/rc.d/rc.icecc-scheduler ]; then - /etc/rc.d/rc.icecc-scheduler start -fi - -# Start the Icecream daemon. This needs to run on every machine that will be -# part of the compile cluster (including the machine running the scheduler): -if [ -x /etc/rc.d/rc.iceccd ]; then - /etc/rc.d/rc.iceccd start -fi - -# If there are SystemV init scripts for this runlevel, run them. -if [ -x /etc/rc.d/rc.sysvinit ]; then - /etc/rc.d/rc.sysvinit -fi - -# Start the local setup procedure. -if [ -x /etc/rc.d/rc.local ]; then - /etc/rc.d/rc.local -fi - -# All done. diff --git a/source/ap/lxc/scripts/rc.S.lxc b/source/ap/lxc/scripts/rc.S.lxc deleted file mode 100644 index 6732184a..00000000 --- a/source/ap/lxc/scripts/rc.S.lxc +++ /dev/null @@ -1,478 +0,0 @@ -#!/bin/sh -# -# /etc/rc.d/rc.S: System initialization script. -# -# Mostly written by: Patrick J. Volkerding, <volkerdi@slackware.com> -# - -# Set $container variable since this is a modified version of rc.S with -# changes for running in an lxc container. A check to see if this variable -# is set will be used to skip parts of the script that we don't want to run -# in a container. Thanks to Matteo Bernardini <ponce@slackbuilds.org> and -# Chris Willing for the initial work making this script lxc compatible. -container="lxc" - -PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin - -# Try to mount /proc: -if [ -z "$container" ]; then - /sbin/mount -v proc /proc -n -t proc 2> /dev/null -fi - -# Mount sysfs next, if the kernel supports it: -if [ -d /sys -a -z "$container" ]; then - if grep -wq sysfs /proc/filesystems ; then - if ! grep -wq sysfs /proc/mounts ; then - /sbin/mount -v sysfs /sys -n -t sysfs - fi - fi -fi - -# If /run exists, mount a tmpfs on it (unless the -# initrd has already done so): -if [ -d /run -a -z "$container" ]; then - if ! grep -wq "tmpfs /run tmpfs" /proc/mounts ; then - /sbin/mount -v -n -t tmpfs tmpfs /run -o mode=0755,size=32M,nodev,nosuid,noexec - fi -fi - -# Load the loop device kernel module: -if [ -x /etc/rc.d/rc.loop -a -z "$container" ]; then - /etc/rc.d/rc.loop start -fi - -# Initialize udev to manage /dev entries and hotplugging. -# You may turn off udev by making the /etc/rc.d/rc.udev file non-executable -# or giving the "nohotplug" option at boot, but realize that if you turn off -# udev that you will have to load all the kernel modules that you need -# yourself (possibly in /etc/rc.d/rc.modules.local), and make any additional -# device nodes that you need in the /dev directory. Even USB and IEEE1394 -# devices will need to have the modules loaded by hand if udev is not used. -# So use it. :-) -if grep -wq sysfs /proc/mounts && grep -q devtmpfs /proc/filesystems ; then - if ! grep -wq nohotplug /proc/cmdline ; then - if [ -x /etc/rc.d/rc.udev -a -z "$container" ]; then - /etc/rc.d/rc.udev start - fi - fi -fi - -# Mount Control Groups filesystem interface: -if [ -z "$container" ]; then - if grep -wq cgroup /proc/filesystems ; then - if [ -d /sys/fs/cgroup ]; then - # See linux-*/Documentation/cgroups/cgroups.txt (section 1.6) - # Check if we have some tools to autodetect the available cgroup controllers - if [ -x /bin/cut -a -x /bin/tail ]; then - # Mount a tmpfs as the cgroup filesystem root - mount -t tmpfs -o mode=0755 cgroup_root /sys/fs/cgroup - # Autodetect available controllers and mount them in subfolders - controllers="$(/bin/cut -f 1 /proc/cgroups | /bin/tail -n +2)" - for i in $controllers; do - mkdir /sys/fs/cgroup/$i - mount -t cgroup -o $i $i /sys/fs/cgroup/$i - done - unset i controllers - else - # We can't use autodetection so fall back mounting them all together - mount -t cgroup cgroup /sys/fs/cgroup - fi - else - mkdir -p /dev/cgroup - mount -t cgroup cgroup /dev/cgroup - fi - fi -fi - -# Initialize the Logical Volume Manager. -# This won't start unless we find /etc/lvmtab (LVM1) or -# /etc/lvm/backup/ (LVM2). This is created by /sbin/vgscan, so to -# use LVM you must run /sbin/vgscan yourself the first time (and -# create some VGs and LVs). -if [ -z "$container" ]; then - # Create LVM lock/run directories: - mkdir -p -m 0700 /run/lvm /run/lock /run/lock/lvm - if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then - echo "Initializing LVM (Logical Volume Manager):" - # Check for device-mapper support. - if ! grep -wq device-mapper /proc/devices ; then - # Try to load a device-mapper kernel module: - /sbin/modprobe -q dm-mod - fi - # Scan for new volume groups: - /sbin/vgscan --mknodes --ignorelockingfailure 2> /dev/null - if [ $? = 0 ]; then - # Make volume groups available to the kernel. - # This should also make logical volumes available. - /sbin/vgchange -ay --ignorelockingfailure - fi - fi -fi - -# Open any volumes created by cryptsetup. -# -# Some notes on /etc/crypttab in Slackware: -# Only LUKS formatted volumes are supported (except for swap) -# crypttab follows the following format: -# <luks_name> <device> <password> <options> -# -# <luks_name>: This is the name of your LUKS volume. -# For example: crypt-home -# -# <device>: This is the device containing your LUKS volume. -# For example: /dev/sda2 -# -# <password>: This is either the volume password in plain text, or the name of -# a key file. Use 'none' to interactively enter password on boot. -# -# <options>: Comma-separated list of options. Note that there must be a -# password field for any options to be picked up (use a password of 'none' to -# get a password prompt at boot). The following options are supported: -# -# discard -- this will cause --allow-discards to be passed to the cryptsetup -# program while opening the LUKS volume. -# -# ro -- this will cause --readonly to be passed to the cryptsetup program while -# opening the LUKS volume. -# -# swap -- this option cannot be used with other options. The device given will -# be formatted as a new encrypted volume with a random key on boot, and used as -# swap. -# -if [ -f /etc/crypttab -a -x /sbin/cryptsetup -a -z "$container" ]; then - # First, check for device-mapper support. - if ! grep -wq device-mapper /proc/devices ; then - # If device-mapper exists as a module, try to load it. - # Try to load a device-mapper kernel module: - /sbin/modprobe -q dm-mod - fi - # NOTE: we only support LUKS formatted volumes (except for swap)! - cat /etc/crypttab | grep -v "^#" | grep -v "^$" | while read line; do - eval LUKSARRAY=( $line ) - LUKS="${LUKSARRAY[0]}" - DEV="${LUKSARRAY[1]}" - PASS="${LUKSARRAY[2]}" - OPTS="${LUKSARRAY[3]}" - LUKSOPTS="" - if echo $OPTS | grep -wq ro ; then LUKSOPTS="${LUKSOPTS} --readonly" ; fi - if echo $OPTS | grep -wq discard ; then LUKSOPTS="${LUKSOPTS} --allow-discards" ; fi - # Skip LUKS volumes that were already unlocked (in the initrd): - /sbin/cryptsetup status $LUKS 2>/dev/null | head -n 1 | grep -q "is active" && continue - if /sbin/cryptsetup isLuks $DEV 2>/dev/null ; then - if [ -z "${LUKSOPTS}" ]; then - echo "Unlocking LUKS encrypted volume '${LUKS}' on device '$DEV':" - else - echo "Unlocking LUKS encrypted volume '${LUKS}' on device '$DEV' with options '${LUKSOPTS}':" - fi - if [ -n "${PASS}" -a "${PASS}" != "none" ]; then - if [ -f "${PASS}" ]; then - # A password was given a key-file filename - /sbin/cryptsetup ${LUKSOPTS} --key-file=${PASS} luksOpen $DEV $LUKS - else - # A password was provided in plain text - echo "${PASS}" | /sbin/cryptsetup ${LUKSOPTS} luksOpen $DEV $LUKS - fi - else - # No password was given, or a password of 'none' was given - /sbin/cryptsetup ${LUKSOPTS} luksOpen $DEV $LUKS </dev/tty0 >/dev/tty0 2>&1 - fi - elif echo $OPTS | grep -wq swap ; then - # If any of the volumes is to be used as encrypted swap, - # then encrypt it using a random key and run mkswap: - echo "Creating encrypted swap volume '${LUKS}' on device '$DEV':" - /sbin/cryptsetup --cipher=aes --key-file=/dev/urandom --key-size=256 create $LUKS $DEV - mkswap /dev/mapper/$LUKS - fi - done -fi - -# Enable swapping: -if [ -z "$container" ]; then - /sbin/swapon -a 2> /dev/null -fi - -# Set the tick and frequency for the system clock. -# Default values are: TICK=10000 and FREQ=0 -if [ -z "$container" ]; then - TICK=10000 - FREQ=0 - # If there's a /etc/default/adjtimex config file, source it to override - # the default TICK and FREQ: - if [ -r /etc/default/adjtimex ]; then - . /etc/default/adjtimex - fi - if /sbin/adjtimex --tick $TICK --frequency $FREQ; then - echo "Setting the system clock rate: /sbin/adjtimex --tick $TICK --frequency $FREQ" - else - echo "Failed to set system clock with adjtimex, possibly invalid parameters? (TICK=$TICK FREQ=$FREQ)" - fi -fi - -# Set the system time from the hardware clock using hwclock --hctosys. -if [ -x /sbin/hwclock -a -z "$container" ]; then - # Check for a broken motherboard RTC clock (where ioports for rtc are - # unknown) to prevent hwclock causing a hang: - if ! grep -q " : rtc" /proc/ioports ; then - CLOCK_OPT="--directisa" - fi - if [ /etc/adjtime -nt /etc/hardwareclock ]; then - if grep -q "^LOCAL" /etc/adjtime ; then - echo -n "Setting system time from the hardware clock (localtime): " - else - echo -n "Setting system time from the hardware clock (UTC): " - fi - /sbin/hwclock $CLOCK_OPT --hctosys - elif grep -wq "^localtime" /etc/hardwareclock 2> /dev/null ; then - echo -n "Setting system time from the hardware clock (localtime): " - /sbin/hwclock $CLOCK_OPT --localtime --hctosys - else - echo -n "Setting system time from the hardware clock (UTC): " - /sbin/hwclock $CLOCK_OPT --utc --hctosys - fi - date -fi - -# Test to see if the root partition is read-only, like it ought to be. -if [ -z "$container" ]; then - READWRITE=no - if touch /fsrwtestfile 2>/dev/null; then - rm -f /fsrwtestfile - READWRITE=yes - else - echo "Testing root filesystem status: read-only filesystem" - fi -fi - -# See if a forced filesystem check was requested at shutdown: -if [ -r /etc/forcefsck -a -z "$container" ]; then - FORCEFSCK="-f" -fi - -# Check the root filesystem: -if [ -z "$container" ]; then - # If we're using F2FS for the root filesystem, don't check it as it doesn't - # allow checking a read-only filesystem: - if grep -q ' / f2fs ' /proc/mounts ; then - echo "Remounting root device with read-write enabled." - /sbin/mount -w -v -n -o remount / - elif [ ! $READWRITE = yes ]; then - RETVAL=0 - if [ ! -r /etc/fastboot ]; then - echo "Checking root filesystem:" - /sbin/fsck $FORCEFSCK -C -a / - RETVAL=$? - fi - # An error code of 2 or higher will require a reboot. - if [ $RETVAL -ge 2 ]; then - # An error code equal to or greater than 4 means that some errors - # could not be corrected. This requires manual attention, so we - # offer a chance to try to fix the problem in single-user mode: - if [ $RETVAL -ge 4 ]; then - echo - echo "***********************************************************" - echo "*** An error occurred during the root filesystem check. ***" - echo "*** You will now be given a chance to log into the ***" - echo "*** system in single-user mode to fix the problem. ***" - echo "*** ***" - echo "*** If you are using the ext2 filesystem, running ***" - echo "*** 'e2fsck -v -y <partition>' might help. ***" - echo "***********************************************************" - echo - echo "Once you exit the single-user shell, the system will reboot." - echo - PS1="(Repair filesystem) \#"; export PS1 - sulogin - else # With an error code of 2 or 3, reboot the machine automatically: - echo - echo "***********************************" - echo "*** The filesystem was changed. ***" - echo "*** The system will now reboot. ***" - echo "***********************************" - echo - fi - echo "Unmounting file systems." - /sbin/umount -a -r - /sbin/mount -n -o remount,ro / - echo "Rebooting system." - reboot -f - fi - # Remount the root filesystem in read-write mode - echo "Remounting root device with read-write enabled." - /sbin/mount -w -v -n -o remount / - if [ $? -gt 0 ] ; then - echo "FATAL: Attempt to remount root device as read-write failed! This is going to" - echo "cause serious problems." - fi - else - echo "Testing root filesystem status: read-write filesystem" - echo - echo "ERROR: Root partition has already been mounted read-write. Cannot check!" - echo - echo "For filesystem checking to work properly, your system must initially mount" - echo "the root partition as read only. If you're booting with LILO, add a line:" - echo - echo " read-only" - echo - echo "to the Linux section in your /etc/lilo.conf and type 'lilo' to reinstall it." - fi # Done checking root filesystem -fi - -# If /etc/mtab is a symlink (probably to /proc/mounts) then we don't want to mess with it. -if [ ! -L /etc/mtab -o ! -r /etc/mtab ]; then - # /etc/mtab is a file (or doesn't exist), so we'll handle it the old way: - # Any /etc/mtab that exists here is old, so we start with a new one: - /bin/rm -f /etc/mtab{,~,.tmp} && /bin/touch /etc/mtab - if [ -z "$container" ]; then - # Add /, /proc, /sys, and /dev/shm mounts to /etc/mtab: - /sbin/mount -f -w / - if [ -d /proc/sys ]; then - /sbin/mount -f -t proc proc /proc - fi - if [ -d /sys/bus ]; then - /sbin/mount -f -t sysfs sysfs /sys - fi - if grep -q '^[^ ]\+ /dev/shm ' /proc/mounts 2> /dev/null ; then - /sbin/mount -f -t tmpfs tmpfs /dev/shm - fi - fi -fi - -# Configure ISA Plug-and-Play devices: -if [ -r /etc/isapnp.conf -a -z "$container" ]; then - if [ -x /sbin/isapnp ]; then - /sbin/isapnp /etc/isapnp.conf - fi -fi - -# Run the kernel module script. This updates the module dependencies and -# also supports manually loading kernel modules through rc.modules.local. -if [ -x /etc/rc.d/rc.modules -a -z "$container" ]; then - /etc/rc.d/rc.modules -fi - -# Configure kernel parameters: -if [ -x /sbin/sysctl -a -r /etc/sysctl.conf -a -z "$container" ]; then - echo "Configuring kernel parameters: /sbin/sysctl -e --system" - /sbin/sysctl -e --system -elif [ -x /sbin/sysctl -a -z "$container" ]; then - echo "Configuring kernel parameters: /sbin/sysctl -e --system" - # Don't say "Applying /etc/sysctl.conf" or complain if the file doesn't exist - /sbin/sysctl -e --system 2> /dev/null | grep -v "Applying /etc/sysctl.conf" -fi - -# Check all the non-root filesystems: -if [ ! -r /etc/fastboot -a -z "$container" ]; then - echo "Checking non-root filesystems:" - /sbin/fsck $FORCEFSCK -C -R -A -a -fi - -# Mount usbfs only if it is found in /etc/fstab: -if [ -z "$container" ]; then - if grep -wq usbfs /proc/filesystems; then - if ! grep -wq usbfs /proc/mounts ; then - if grep -wq usbfs /etc/fstab; then - /sbin/mount -v /proc/bus/usb - fi - fi - fi -fi - -# Mount non-root file systems in fstab, but not NFS or SMB -# because TCP/IP is not yet configured, and not proc or sysfs -# because those have already been mounted. Also check that -# devpts is not already mounted before attempting to mount -# it. With a 2.6.x or newer kernel udev mounts devpts. -if [ -z "$container" ]; then - echo "Mounting non-root local filesystems:" - if /bin/grep -wq devpts /proc/mounts ; then - # This pipe after the mount command is just to convert the new - # mount verbose output back to the old format that contained - # more useful information: - /sbin/mount -a -v -t nonfs,nosmbfs,nocifs,noproc,nosysfs,nodevpts | grep successfully | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep " ${dev} " ; done - else - /sbin/mount -a -v -t nonfs,nosmbfs,nocifs,noproc,nosysfs | grep successfully | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep " ${dev} " ; done - fi -fi - -# Enable swapping again. This is needed in case a swapfile is used, -# as it can't be enabled until the filesystem it resides on has been -# mounted read-write. -if [ -z "$container" ]; then - /sbin/swapon -a 2> /dev/null -fi - -# Start cgmanager (or cgproxy in a container): -if [ -x /etc/rc.d/rc.cgmanager -a -d /sys/fs/cgroup ]; then - /etc/rc.d/rc.cgmanager start -fi - -# Start libcgroup services: -if [ -x /etc/rc.d/rc.cgconfig -a -x /etc/rc.d/rc.cgred -a -d /sys/fs/cgroup ]; then - /etc/rc.d/rc.cgconfig start ; echo " /usr/sbin/cgconfigparser -l /etc/cgconfig.conf" - /etc/rc.d/rc.cgred start -fi - -# Clean up some temporary files: -rm -f /var/run/* /var/run/*/* /var/run/*/*/* /etc/nologin \ - /etc/dhcpc/*.pid /etc/forcefsck /etc/fastboot \ - /var/state/saslauthd/saslauthd.pid \ - /tmp/.Xauth* 1> /dev/null 2> /dev/null -if [ -d /var/lib/pkgtools/setup/tmp ]; then - ( cd /var/lib/pkgtools/setup/tmp && rm -rf * ) -elif [ -d /var/log/setup/tmp ]; then - ( cd /var/log/setup/tmp && rm -rf * ) -fi -( cd /tmp && rm -rf kde-[a-zA-Z]* ksocket-[a-zA-Z]* hsperfdata_[a-zA-Z]* plugtmp* ) - -# Clear /var/lock/subsys: -if [ -d /var/lock/subsys ]; then - rm -f /var/lock/subsys/* -fi - -# Create /tmp/{.ICE-unix,.X11-unix} if they are not present: -if [ ! -e /tmp/.ICE-unix ]; then - mkdir -p /tmp/.ICE-unix - chmod 1777 /tmp/.ICE-unix -fi -if [ ! -e /tmp/.X11-unix ]; then - mkdir -p /tmp/.X11-unix - chmod 1777 /tmp/.X11-unix -fi - -# Create a fresh utmp file: -touch /var/run/utmp -chown root:utmp /var/run/utmp -chmod 664 /var/run/utmp - -# Update the current kernel level in the /etc/motd (Message Of The Day) file, -# if the first line of that file begins with the word 'Linux'. -# You are free to modify the rest of the file as you see fit. -if [ -x /bin/sed ]; then - /bin/sed -i "{1s/^Linux.*/$(/bin/uname -sr)\./}" /etc/motd -fi - -# If there are SystemV init scripts for this runlevel, run them. -if [ -x /etc/rc.d/rc.sysvinit ]; then - /etc/rc.d/rc.sysvinit -fi - -# Run serial port setup script: -# CAREFUL! This can make some systems hang if the rc.serial script isn't -# set up correctly. If this happens, you may have to edit the file from a -# boot disk, and/or set it as non-executable: -if [ -x /etc/rc.d/rc.serial -a -z "$container" ]; then - /etc/rc.d/rc.serial start -fi - -# Carry an entropy pool between reboots to improve randomness. -if [ -f /etc/random-seed ]; then - echo "Using /etc/random-seed to initialize /dev/urandom." - cat /etc/random-seed > /dev/urandom -fi -# Use the pool size from /proc, or 4096 bits: -if [ -r /proc/sys/kernel/random/poolsize ]; then - dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(expr $(cat /proc/sys/kernel/random/poolsize) / 8) 2> /dev/null -else - dd if=/dev/urandom of=/etc/random-seed count=1 bs=512 2> /dev/null -fi -chmod 600 /etc/random-seed diff --git a/source/ap/lxc/scripts/rc.S.orig b/source/ap/lxc/scripts/rc.S.orig deleted file mode 100644 index 4162938f..00000000 --- a/source/ap/lxc/scripts/rc.S.orig +++ /dev/null @@ -1,449 +0,0 @@ -#!/bin/sh -# -# /etc/rc.d/rc.S: System initialization script. -# -# Mostly written by: Patrick J. Volkerding, <volkerdi@slackware.com> -# - -PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin - -# Try to mount /proc: -/sbin/mount -v proc /proc -n -t proc 2> /dev/null - -# Mount sysfs next, if the kernel supports it: -if [ -d /sys ]; then - if grep -wq sysfs /proc/filesystems ; then - if ! grep -wq sysfs /proc/mounts ; then - /sbin/mount -v sysfs /sys -n -t sysfs - fi - fi -fi - -# If /run exists, mount a tmpfs on it (unless the -# initrd has already done so): -if [ -d /run ]; then - if ! grep -wq "tmpfs /run tmpfs" /proc/mounts ; then - /sbin/mount -v -n -t tmpfs tmpfs /run -o mode=0755,size=32M,nodev,nosuid,noexec - fi -fi - -# Load the loop device kernel module: -if [ -x /etc/rc.d/rc.loop ]; then - /etc/rc.d/rc.loop start -fi - -# Initialize udev to manage /dev entries and hotplugging. -# You may turn off udev by making the /etc/rc.d/rc.udev file non-executable -# or giving the "nohotplug" option at boot, but realize that if you turn off -# udev that you will have to load all the kernel modules that you need -# yourself (possibly in /etc/rc.d/rc.modules.local), and make any additional -# device nodes that you need in the /dev directory. Even USB and IEEE1394 -# devices will need to have the modules loaded by hand if udev is not used. -# So use it. :-) -if grep -wq sysfs /proc/mounts && grep -q devtmpfs /proc/filesystems ; then - if ! grep -wq nohotplug /proc/cmdline ; then - if [ -x /etc/rc.d/rc.udev ]; then - /etc/rc.d/rc.udev start - fi - fi -fi - -# Mount Control Groups filesystem interface: -if grep -wq cgroup /proc/filesystems ; then - if [ -d /sys/fs/cgroup ]; then - # See linux-*/Documentation/cgroups/cgroups.txt (section 1.6) - # Check if we have some tools to autodetect the available cgroup controllers - if [ -x /bin/cut -a -x /bin/tail ]; then - # Mount a tmpfs as the cgroup filesystem root - mount -t tmpfs -o mode=0755,size=8M cgroup_root /sys/fs/cgroup - # Autodetect available controllers and mount them in subfolders - controllers="$(/bin/cut -f 1 /proc/cgroups | /bin/tail -n +2)" - for i in $controllers; do - mkdir /sys/fs/cgroup/$i - mount -t cgroup -o $i $i /sys/fs/cgroup/$i - done - unset i controllers - else - # We can't use autodetection so fall back mounting them all together - mount -t cgroup cgroup /sys/fs/cgroup - fi - else - mkdir -p /dev/cgroup - mount -t cgroup cgroup /dev/cgroup - fi -fi - -# Initialize the Logical Volume Manager. -# This won't start unless we find /etc/lvmtab (LVM1) or -# /etc/lvm/backup/ (LVM2). This is created by /sbin/vgscan, so to -# use LVM you must run /sbin/vgscan yourself the first time (and -# create some VGs and LVs). -# Create LVM lock/run directories: -mkdir -p -m 0700 /run/lvm /run/lock /run/lock/lvm -if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then - echo "Initializing LVM (Logical Volume Manager):" - # Check for device-mapper support. - if ! grep -wq device-mapper /proc/devices ; then - # Try to load a device-mapper kernel module: - /sbin/modprobe -q dm-mod - fi - # Scan for new volume groups: - /sbin/vgscan --mknodes --ignorelockingfailure 2> /dev/null - if [ $? = 0 ]; then - # Make volume groups available to the kernel. - # This should also make logical volumes available. - /sbin/vgchange -ay --ignorelockingfailure - fi -fi - -# Open any volumes created by cryptsetup. -# -# Some notes on /etc/crypttab in Slackware: -# Only LUKS formatted volumes are supported (except for swap) -# crypttab follows the following format: -# <luks_name> <device> <password> <options> -# -# <luks_name>: This is the name of your LUKS volume. -# For example: crypt-home -# -# <device>: This is the device containing your LUKS volume. -# For example: /dev/sda2 -# -# <password>: This is either the volume password in plain text, or the name of -# a key file. Use 'none' to interactively enter password on boot. -# -# <options>: Comma-separated list of options. Note that there must be a -# password field for any options to be picked up (use a password of 'none' to -# get a password prompt at boot). The following options are supported: -# -# discard -- this will cause --allow-discards to be passed to the cryptsetup -# program while opening the LUKS volume. -# -# ro -- this will cause --readonly to be passed to the cryptsetup program while -# opening the LUKS volume. -# -# swap -- this option cannot be used with other options. The device given will -# be formatted as a new encrypted volume with a random key on boot, and used as -# swap. -# -if [ -f /etc/crypttab -a -x /sbin/cryptsetup ]; then - # First, check for device-mapper support. - if ! grep -wq device-mapper /proc/devices ; then - # If device-mapper exists as a module, try to load it. - # Try to load a device-mapper kernel module: - /sbin/modprobe -q dm-mod - fi - # NOTE: we only support LUKS formatted volumes (except for swap)! - cat /etc/crypttab | grep -v "^#" | grep -v "^$" | while read line; do - eval LUKSARRAY=( $line ) - LUKS="${LUKSARRAY[0]}" - DEV="${LUKSARRAY[1]}" - PASS="${LUKSARRAY[2]}" - OPTS="${LUKSARRAY[3]}" - LUKSOPTS="" - if echo $OPTS | grep -wq ro ; then LUKSOPTS="${LUKSOPTS} --readonly" ; fi - if echo $OPTS | grep -wq discard ; then LUKSOPTS="${LUKSOPTS} --allow-discards" ; fi - # Skip LUKS volumes that were already unlocked (in the initrd): - /sbin/cryptsetup status $LUKS 2>/dev/null | head -n 1 | grep -q "is active" && continue - if /sbin/cryptsetup isLuks $DEV 2>/dev/null ; then - if [ -z "${LUKSOPTS}" ]; then - echo "Unlocking LUKS encrypted volume '${LUKS}' on device '$DEV':" - else - echo "Unlocking LUKS encrypted volume '${LUKS}' on device '$DEV' with options '${LUKSOPTS}':" - fi - if [ -n "${PASS}" -a "${PASS}" != "none" ]; then - if [ -f "${PASS}" ]; then - # A password was given a key-file filename - /sbin/cryptsetup ${LUKSOPTS} --key-file=${PASS} luksOpen $DEV $LUKS - else - # A password was provided in plain text - echo "${PASS}" | /sbin/cryptsetup ${LUKSOPTS} luksOpen $DEV $LUKS - fi - else - # No password was given, or a password of 'none' was given - /sbin/cryptsetup ${LUKSOPTS} luksOpen $DEV $LUKS </dev/tty0 >/dev/tty0 2>&1 - fi - elif echo $OPTS | grep -wq swap ; then - # If any of the volumes is to be used as encrypted swap, - # then encrypt it using a random key and run mkswap: - echo "Creating encrypted swap volume '${LUKS}' on device '$DEV':" - /sbin/cryptsetup --cipher=aes --key-file=/dev/urandom --key-size=256 create $LUKS $DEV - mkswap /dev/mapper/$LUKS - fi - done -fi - -# Enable swapping: -/sbin/swapon -a 2> /dev/null - -# Set the tick and frequency for the system clock. -# Default values are: TICK=10000 and FREQ=0 -TICK=10000 -FREQ=0 -# If there's a /etc/default/adjtimex config file, source it to override -# the default TICK and FREQ: -if [ -r /etc/default/adjtimex ]; then - . /etc/default/adjtimex -fi -if /sbin/adjtimex --tick $TICK --frequency $FREQ; then - echo "Setting the system clock rate: /sbin/adjtimex --tick $TICK --frequency $FREQ" -else - echo "Failed to set system clock with adjtimex, possibly invalid parameters? (TICK=$TICK FREQ=$FREQ)" -fi - -# Set the system time from the hardware clock using hwclock --hctosys. -if [ -x /sbin/hwclock ]; then - # Check for a broken motherboard RTC clock (where ioports for rtc are - # unknown) to prevent hwclock causing a hang: - if ! grep -q " : rtc" /proc/ioports ; then - CLOCK_OPT="--directisa" - fi - if [ /etc/adjtime -nt /etc/hardwareclock ]; then - if grep -q "^LOCAL" /etc/adjtime ; then - echo -n "Setting system time from the hardware clock (localtime): " - else - echo -n "Setting system time from the hardware clock (UTC): " - fi - /sbin/hwclock $CLOCK_OPT --hctosys - elif grep -wq "^localtime" /etc/hardwareclock 2> /dev/null ; then - echo -n "Setting system time from the hardware clock (localtime): " - /sbin/hwclock $CLOCK_OPT --localtime --hctosys - else - echo -n "Setting system time from the hardware clock (UTC): " - /sbin/hwclock $CLOCK_OPT --utc --hctosys - fi - date -fi - -# Test to see if the root partition is read-only, like it ought to be. -READWRITE=no -if touch /fsrwtestfile 2>/dev/null; then - rm -f /fsrwtestfile - READWRITE=yes -else - echo "Testing root filesystem status: read-only filesystem" -fi - -# See if a forced filesystem check was requested at shutdown: -if [ -r /etc/forcefsck ]; then - FORCEFSCK="-f" -fi - -# If we're using F2FS for the root filesystem, don't check it as it doesn't -# allow checking a read-only filesystem: -if grep -q ' / f2fs ' /proc/mounts ; then - echo "Remounting root device with read-write enabled." - /sbin/mount -w -v -n -o remount / -elif [ ! $READWRITE = yes ]; then - # Check the root filesystem: - RETVAL=0 - if [ ! -r /etc/fastboot ]; then - echo "Checking root filesystem:" - /sbin/fsck $FORCEFSCK -C -a / - RETVAL=$? - fi - # An error code of 2 or higher will require a reboot. - if [ $RETVAL -ge 2 ]; then - # An error code equal to or greater than 4 means that some errors - # could not be corrected. This requires manual attention, so we - # offer a chance to try to fix the problem in single-user mode: - if [ $RETVAL -ge 4 ]; then - echo - echo "***********************************************************" - echo "*** An error occurred during the root filesystem check. ***" - echo "*** You will now be given a chance to log into the ***" - echo "*** system in single-user mode to fix the problem. ***" - echo "*** ***" - echo "*** If you are using the ext2 filesystem, running ***" - echo "*** 'e2fsck -v -y <partition>' might help. ***" - echo "***********************************************************" - echo - echo "Once you exit the single-user shell, the system will reboot." - echo - PS1="(Repair filesystem) \#"; export PS1 - sulogin - else # With an error code of 2 or 3, reboot the machine automatically: - echo - echo "***********************************" - echo "*** The filesystem was changed. ***" - echo "*** The system will now reboot. ***" - echo "***********************************" - echo - fi - echo "Unmounting file systems." - /sbin/umount -a -r - /sbin/mount -n -o remount,ro / - echo "Rebooting system." - reboot -f - fi - # Remount the root filesystem in read-write mode - echo "Remounting root device with read-write enabled." - /sbin/mount -w -v -n -o remount / - if [ $? -gt 0 ] ; then - echo "FATAL: Attempt to remount root device as read-write failed! This is going to" - echo "cause serious problems." - fi -else - echo "Testing root filesystem status: read-write filesystem" - echo - echo "ERROR: Root partition has already been mounted read-write. Cannot check!" - echo - echo "For filesystem checking to work properly, your system must initially mount" - echo "the root partition as read only. If you're booting with LILO, add a line:" - echo - echo " read-only" - echo - echo "to the Linux section in your /etc/lilo.conf and type 'lilo' to reinstall it." -fi # Done checking root filesystem - -# If /etc/mtab is a symlink (probably to /proc/mounts) then we don't want to mess with it. -if [ ! -L /etc/mtab -o ! -r /etc/mtab ]; then - # /etc/mtab is a file (or doesn't exist), so we'll handle it the old way: - # Any /etc/mtab that exists here is old, so we start with a new one: - /bin/rm -f /etc/mtab{,~,.tmp} && /bin/touch /etc/mtab - # Add /, /proc, /sys, and /dev/shm mounts to /etc/mtab: - /sbin/mount -f -w / - if [ -d /proc/sys ]; then - /sbin/mount -f -t proc proc /proc - fi - if [ -d /sys/bus ]; then - /sbin/mount -f -t sysfs sysfs /sys - fi - if grep -q '^[^ ]\+ /dev/shm ' /proc/mounts 2> /dev/null ; then - /sbin/mount -f -t tmpfs tmpfs /dev/shm - fi -fi - -# Configure ISA Plug-and-Play devices: -if [ -r /etc/isapnp.conf ]; then - if [ -x /sbin/isapnp ]; then - /sbin/isapnp /etc/isapnp.conf - fi -fi - -# Run the kernel module script. This updates the module dependencies and -# also supports manually loading kernel modules through rc.modules.local. -if [ -x /etc/rc.d/rc.modules ]; then - /etc/rc.d/rc.modules -fi - -# Configure kernel parameters: -if [ -x /sbin/sysctl -a -r /etc/sysctl.conf ]; then - echo "Configuring kernel parameters: /sbin/sysctl -e --system" - /sbin/sysctl -e --system -elif [ -x /sbin/sysctl ]; then - echo "Configuring kernel parameters: /sbin/sysctl -e --system" - # Don't say "Applying /etc/sysctl.conf" or complain if the file doesn't exist - /sbin/sysctl -e --system 2> /dev/null | grep -v "Applying /etc/sysctl.conf" -fi - -# Check all the non-root filesystems: -if [ ! -r /etc/fastboot ]; then - echo "Checking non-root filesystems:" - /sbin/fsck $FORCEFSCK -C -R -A -a -fi - -# Mount usbfs only if it is found in /etc/fstab: -if grep -wq usbfs /proc/filesystems; then - if ! grep -wq usbfs /proc/mounts ; then - if grep -wq usbfs /etc/fstab; then - /sbin/mount -v /proc/bus/usb - fi - fi -fi - -# Mount non-root file systems in fstab, but not NFS or SMB -# because TCP/IP is not yet configured, and not proc or sysfs -# because those have already been mounted. Also check that -# devpts is not already mounted before attempting to mount -# it. With a 2.6.x or newer kernel udev mounts devpts. -echo "Mounting non-root local filesystems:" -if /bin/grep -wq devpts /proc/mounts ; then - # This pipe after the mount command is just to convert the new - # mount verbose output back to the old format that contained - # more useful information: - /sbin/mount -a -v -t nonfs,nosmbfs,nocifs,noproc,nosysfs,nodevpts | grep successfully | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep " ${dev} " ; done -else - /sbin/mount -a -v -t nonfs,nosmbfs,nocifs,noproc,nosysfs | grep successfully | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep " ${dev} " ; done -fi - -# Enable swapping again. This is needed in case a swapfile is used, -# as it can't be enabled until the filesystem it resides on has been -# mounted read-write. -/sbin/swapon -a 2> /dev/null - -# Start cgmanager (or cgproxy in a container): -if [ -x /etc/rc.d/rc.cgmanager -a -d /sys/fs/cgroup ]; then - /etc/rc.d/rc.cgmanager start -fi - -# Start libcgroup services: -if [ -x /etc/rc.d/rc.cgconfig -a -x /etc/rc.d/rc.cgred -a -d /sys/fs/cgroup ]; then - /etc/rc.d/rc.cgconfig start ; echo " /usr/sbin/cgconfigparser -l /etc/cgconfig.conf" - /etc/rc.d/rc.cgred start -fi - -# Clean up some temporary files: -rm -f /var/run/* /var/run/*/* /var/run/*/*/* /etc/nologin \ - /etc/dhcpc/*.pid /etc/forcefsck /etc/fastboot \ - /var/state/saslauthd/saslauthd.pid \ - /tmp/.Xauth* 1> /dev/null 2> /dev/null -if [ -d /var/lib/pkgtools/setup/tmp ]; then - ( cd /var/lib/pkgtools/setup/tmp && rm -rf * ) -elif [ -d /var/log/setup/tmp ]; then - ( cd /var/log/setup/tmp && rm -rf * ) -fi -( cd /tmp && rm -rf kde-[a-zA-Z]* ksocket-[a-zA-Z]* hsperfdata_[a-zA-Z]* plugtmp* ) - -# Clear /var/lock/subsys: -if [ -d /var/lock/subsys ]; then - rm -f /var/lock/subsys/* -fi - -# Create /tmp/{.ICE-unix,.X11-unix} if they are not present: -if [ ! -e /tmp/.ICE-unix ]; then - mkdir -p /tmp/.ICE-unix - chmod 1777 /tmp/.ICE-unix -fi -if [ ! -e /tmp/.X11-unix ]; then - mkdir -p /tmp/.X11-unix - chmod 1777 /tmp/.X11-unix -fi - -# Create a fresh utmp file: -touch /var/run/utmp -chown root:utmp /var/run/utmp -chmod 664 /var/run/utmp - -# Update the current kernel level in the /etc/motd (Message Of The Day) file, -# if the first line of that file begins with the word 'Linux'. -# You are free to modify the rest of the file as you see fit. -if [ -x /bin/sed ]; then - /bin/sed -i "{1s/^Linux.*/$(/bin/uname -sr)\./}" /etc/motd -fi - -# If there are SystemV init scripts for this runlevel, run them. -if [ -x /etc/rc.d/rc.sysvinit ]; then - /etc/rc.d/rc.sysvinit -fi - -# Run serial port setup script: -# CAREFUL! This can make some systems hang if the rc.serial script isn't -# set up correctly. If this happens, you may have to edit the file from a -# boot disk, and/or set it as non-executable: -if [ -x /etc/rc.d/rc.serial ]; then - /etc/rc.d/rc.serial start -fi - -# Carry an entropy pool between reboots to improve randomness. -if [ -f /etc/random-seed ]; then - echo "Using /etc/random-seed to initialize /dev/urandom." - cat /etc/random-seed > /dev/urandom -fi -# Use the pool size from /proc, or 4096 bits: -if [ -r /proc/sys/kernel/random/poolsize ]; then - dd if=/dev/urandom of=/etc/random-seed count=1 bs=$(expr $(cat /proc/sys/kernel/random/poolsize) / 8) 2> /dev/null -else - dd if=/dev/urandom of=/etc/random-seed count=1 bs=512 2> /dev/null -fi -chmod 600 /etc/random-seed diff --git a/source/ap/lxc/scripts/rc.inet1.lxc b/source/ap/lxc/scripts/rc.inet1.lxc deleted file mode 100644 index 2ae9bbb5..00000000 --- a/source/ap/lxc/scripts/rc.inet1.lxc +++ /dev/null @@ -1,387 +0,0 @@ -#!/bin/bash -# /etc/rc.d/rc.inet1 -# This script is used to bring up the various network interfaces. -# -# @(#)/etc/rc.d/rc.inet1 10.2 Sun Jul 24 12:45:56 PDT 2005 (pjv) - -# Set $container variable since this is a modified version of rc.inet1 with -# changes for running in an lxc container. A check to see if this variable -# is set will be used to skip parts of the script that we don't want to run -# in a container. Thanks to Matteo Bernardini <ponce@slackbuilds.org> and -# Chris Willing for the initial work making this script lxc compatible. -container="lxc" - -############################ -# READ NETWORK CONFIG FILE # -############################ - -# Get the configuration information from /etc/rc.d/rc.inet1.conf: -. /etc/rc.d/rc.inet1.conf - -########### -# LOGGING # -########### - -# If possible, log events in /var/log/messages: -if [ -f /var/run/syslogd.pid ] && [ -x /usr/bin/logger ]; then - LOGGER=/usr/bin/logger -else # output to stdout/stderr: - LOGGER=/bin/cat -fi - -# Handy wrapper for verbose logging -debug_log() { - if [ "$DEBUG_ETH_UP" = "yes" ]; then - echo "/etc/rc.d/rc.inet1: $*" | $LOGGER - fi -} - -############################ -# DETERMINE INTERFACE LIST # -############################ - -# Compose a list of interfaces from /etc/rc.d/rc.inet1.conf (with a maximum -# of 6 interfaces, but you can easily enlarge the interface limit -# - send me a picture of such a box :-). -# If a value for IFNAME[n] is not set, we assume it is an eth'n' interface. -# This way, the new script is compatible with older rc.inet1.conf files. -# The IFNAME array will be used to determine which interfaces to bring up/down. -MAXNICS=${MAXNICS:-6} -i=0 -while [ $i -lt $MAXNICS ]; -do - IFNAME[$i]=${IFNAME[$i]:=eth${i}} - i=$(($i+1)) -done -debug_log "List of interfaces: '${IFNAME[*]}'" - -###################### -# LOOPBACK FUNCTIONS # -###################### - -# Function to bring up the loopback interface. If loopback is -# already up, do nothing. -lo_up() { - if [ -e /sys/class/net/lo ]; then - if ! /sbin/ip link show dev lo | grep -wq -e "state UP" -e "state UNKNOWN" ; then - echo "/etc/rc.d/rc.inet1: /sbin/ip address add 127.0.0.1/8 dev lo" | $LOGGER - /sbin/ip address add 127.0.0.1/8 dev lo - /sbin/ip link set dev lo up - echo "/etc/rc.d/rc.inet1: /sbin/ip route add 127.0.0.0/8 dev lo" | $LOGGER - /sbin/ip route add 127.0.0.0/8 dev lo - fi - fi -} - -# Function to take down the loopback interface: -lo_down() { - if [ -e /sys/class/net/lo ]; then - echo "/etc/rc.d/rc.inet1: /sbin/ip link set dev lo down" | $LOGGER - /sbin/ip link set dev lo down - fi -} - -####################### -# INTERFACE FUNCTIONS # -####################### - -# Function to create virtual interfaces -virtif_create() { - # argument is 'i' - the position of this interface in the VIRTIFNAME array. - # this loop goes from i=0 to i=number_of_configured_virtual_interfaces_minus_one - # which means it doesn't do anything if there are none. - for i in $(seq 0 $((${#VIRTIFNAME[@]} - 1))); do - /sbin/ip tuntap add dev ${VIRTIFNAME[$i]} mode ${VIRTIFTYPE[$i]} user ${VIRTIFUSER[$i]} group ${VIRTIFGROUP[$i]} - done -} - -# Function to destory virtual interfaces -virtif_destroy() { - # argument is 'i' - the position of this interface in the VIRTIFNAME array. - for i in $(seq 0 $((${#VIRTIFNAME[@]} - 1))); do - /sbin/ip tuntap del dev ${VIRTIFNAME[$i]} mode ${VIRTIFTYPE[$i]} - done -} - -# Function to assemble a bridge interface. -br_open() { - # argument is 'i' - the position of this interface in the IFNAME array. - /sbin/ip link add name ${IFNAME[$1]} type bridge - for BRIF in ${BRNICS[$1]}; do - /sbin/ip link set dev $BRIF down - /sbin/ip address add 0.0.0.0 dev $BRIF - /sbin/ip link set dev $BRIF master ${IFNAME[$1]} - /sbin/ip link set dev $BRIF up - done - /sbin/ip link set dev ${IFNAME[$1]} up -} - -# Function to disassemble a bridge interface. -br_close() { - /sbin/ip link set dev ${IFNAME[$1]} down - # argument is 'i' - the position of this interface in the IFNAME array. - #for BRIF in ${BRNICS[$1]}; do - for BRIF in $(ls --indicator-style=none /sys/class/net/${IFNAME[$1]}/brif/) - do - /sbin/ip link set dev $BRIF nomaster - done - /sbin/ip link set dev ${IFNAME[$1]} down - /sbin/ip link del ${IFNAME[$1]} -} - -# Function to bring up a network interface. If the interface is -# already up or does not yet exist (perhaps because the kernel driver -# is not loaded yet), do nothing. -if_up() { - # Determine position 'i' of this interface in the IFNAME array: - i=0 - while [ $i -lt $MAXNICS ]; do - [ "${IFNAME[$i]}" = "${1}" ] && break - i=$(($i+1)) - done - # If "i" is greater or equal to "MAXNICS" at this point, it means we didn't - # find an entry in IFNAME array corresponding to "$1", which likely means - # there are more interfaces configured than MAXNICS. Let's err on the - # side of caution and do nothing instead of possibly doing the wrong thing. - if [ $i -ge $MAXNICS ]; then - echo "/etc/rc.d/rc.inet1: skipping ${1}, you might need to increase MAXNICS" | $LOGGER - return - fi - - if [ -z "$container" ]; then - # If the interface is a bridge, then create it first: - [ -n "${BRNICS[$i]}" ] && br_open $i - # If the interface isn't in the kernel yet (but there's an alias for it in - # modules.conf), then it should be loaded first: - if [ -z "${IPADDR[$i]}" ] && [ "${USE_DHCP[$i]}" != "yes" ]; then # skip unconfigured interfaces - debug_log "skipping ${1} early, interface is not configured in /etc/rc.d/rc.inet1.conf" - return 0 - fi - if [ ! -e /sys/class/net/${1%%:*} ]; then # no interface yet - if /sbin/modprobe -c | grep -v "^#" | grep -w "alias ${1}" | grep -vw "alias ${1} off" > /dev/null ; then - echo "/etc/rc.d/rc.inet1: /sbin/modprobe ${1}" | $LOGGER - /sbin/modprobe ${1} - fi - fi - fi # end check container - - if [ -e /sys/class/net/${1%%:*} ]; then # interface exists - if ! /sbin/ip address show dev ${1} 2>/dev/null | grep -wq inet || \ - ! /sbin/ip link show dev ${1} | grep -wq "state UP" ; then # interface not up or not configured - if [ -n "${HWADDR[$i]}" ]; then # Set hardware address _before_ the interface goes up: - echo "/etc/rc.d/rc.inet1: /sbin/ip link set dev ${1} address ${HWADDR[$i]}" | $LOGGER - /sbin/ip link set dev ${1} address ${HWADDR[$i]} - fi - if [ -n "${MTU[$i]}" ]; then # Set MTU to something else than 1500 - echo "/etc/rc.d/rc.inet1: /sbin/ip link set dev ${1} mtu ${MTU[$i]}" | $LOGGER - /sbin/ip link set dev ${1} mtu ${MTU[$i]} - fi - if /sbin/ip link show dev ${1} | grep -wq "state DOWN" ; then - /sbin/ip link set dev ${1} up # Bring up interface - fi - if [ -x /etc/rc.d/rc.wireless ]; then - . /etc/rc.d/rc.wireless ${1} start # Initialize any wireless parameters - fi - if [ "${USE_DHCP[$i]}" = "yes" ]; then # use DHCP to bring interface up - # Clear DHCP_OPTIONS before adding new options to it: - unset DHCP_OPTIONS - # Set DHCP_OPTIONS for this interface: - [ -n "${DHCP_HOSTNAME[$i]}" ] && DHCP_OPTIONS="-h ${DHCP_HOSTNAME[$i]}" - [ "${DHCP_KEEPRESOLV[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -C resolv.conf" - [ "${DHCP_KEEPNTP[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -C ntp.conf" - [ "${DHCP_KEEPGW[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -G" - [ "${DHCP_DEBUG[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -d" - [ "${DHCP_NOIPV4LL[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -L" - [ -n "${DHCP_IPADDR[$i]}" ] && DHCP_OPTIONS="$DHCP_OPTIONS -r ${DHCP_IPADDR[$i]}" - echo "Polling for DHCP server on interface ${1}:" - # If you set a timeout, you get one, even if the kernel doesn't think that - # your device is connected, in case /sys isn't right (which it usually isn't - # except right after the device is loaded, when it usually is): - #### (start commented out) - # This is deactivated for now since the kernel has been returning incorrect - # results concerning whether the interface carrier is detected. - #if [ -z "${DHCP_TIMEOUT[$i]}" ]; then - # /sbin/ip link set dev ${1} up && sleep 1 - # CONNSTATUS="$(cat /sys/class/net/${1}/carrier 2> /dev/null)" - # /sbin/ip link set dev ${1} down - # if [ "$CONNSTATUS" = "0" ]; then - # # The kernel has just told us the cable isn't even plugged in, but we will - # # give any DHCP server a short chance to reply anyway: - # echo "No carrier detected on ${1}. Reducing DHCP timeout to 15 seconds." - # DHCP_TIMEOUT[$i]=15 - # fi - #fi - #### (end commented out) - # 15 seconds should be a reasonable default DHCP timeout. 30 was too much. - echo "/etc/rc.d/rc.inet1: /sbin/dhcpcd -L -t ${DHCP_TIMEOUT[$i]:-15} ${DHCP_OPTIONS} ${1}" | $LOGGER - /sbin/dhcpcd -L -t ${DHCP_TIMEOUT[$i]:-15} ${DHCP_OPTIONS} ${1} - if [ "$?" == "0" ]; then # the dhcp call has succeeded - if [ -n "${IPALIASES[$i]}" ]; then - # Add extra IP addresses, if defined, to interface - num=0 - for ipalias in ${IPALIASES[$i]}; do - ip="${ipalias%/*}" - nm="${ipalias#*/}" - [ -z "$nm" ] || [ "$ip" == "$nm" ] && nm="32" - /sbin/ip address add ${ip}/${nm} dev ${1} label ${1}:${num} - num=$(($num + 1)) - done - fi - if [ "${PROMISCUOUS[$i]}" = "yes" ]; then - # Set promiscuous mode on the interface - /sbin/ip link set dev ${1} promisc on - fi - fi - else # bring up interface using a static IP address - if [ -n "${IPADDR[$i]}" ]; then # skip unconfigured interfaces - # Set up the network card: - echo "/etc/rc.d/rc.inet1: /sbin/ip address add ${IPADDR[$i]}/${NETMASK[$i]} broadcast + dev ${1}" | $LOGGER - /sbin/ip address add ${IPADDR[$i]}/${NETMASK[$i]} broadcast + dev ${1} - if /sbin/ip link show dev ${1} | grep -wq "state DOWN" ; then - /sbin/ip link set dev ${1} up # Bring up interface - fi - # Add extra IP addresses, if defined, to interface - if [ -n "${IPALIASES[$i]}" ]; then - num=0 - for ipalias in ${IPALIASES[$i]}; do - ip="${ipalias%/*}" - nm="${ipalias#*/}" - [ -z "$nm" ] || [ "$ip" == "$nm" ] && nm="32" - /sbin/ip address add ${ip}/${nm} dev ${1} label ${1}:${num} - num=$(($num + 1)) - done - fi - if [ "${PROMISCUOUS[$i]}" = "yes" ]; then - # Set promiscuous mode on the interface - /sbin/ip link set dev ${1} promisc on - fi - else - debug_log "${1} interface is not configured in /etc/rc.d/rc.inet1.conf" - fi - fi - else - debug_log "${1} is already up, skipping" - fi - else - debug_log "${1} interface does not exist (yet)" - fi -} - -# Function to take down a network interface: -if_down() { - # Determine position 'i' of this interface in the IFNAME array: - i=0 - while [ $i -lt $MAXNICS ]; do - [ "${IFNAME[$i]}" = "${1}" ] && break - i=$(($i+1)) - done - if [ $i -ge $MAXNICS ]; then - echo "/etc/rc.d/rc.inet1: skipping ${1}, you might need to increase MAXNICS" | $LOGGER - return - fi - if [ -e /sys/class/net/${1%%:*} ]; then - if [ "${USE_DHCP[$i]}" = "yes" ]; then - echo "/etc/rc.d/rc.inet1: /sbin/dhcpcd -k -d ${1}" | $LOGGER - /sbin/dhcpcd -k -d ${1} 2> /dev/null || /sbin/ip link set dev ${1} down - sleep 1 - else - echo "/etc/rc.d/rc.inet1: /sbin/ip link set dev ${1} down" | $LOGGER - /sbin/ip link set dev ${1} down - fi - if [ -x /etc/rc.d/rc.wireless ]; then - . /etc/rc.d/rc.wireless ${1} stop # Kill wireless daemons if any. - fi - # If the interface is a bridge, then destroy it now: - if [ -n "${BRNICS[$i]}" ]; then - br_close $i - fi - # Flush the address from the interface: - ip address flush dev ${1} - fi -} - -##################### -# GATEWAY FUNCTIONS # -##################### - -# Function to bring up the gateway if there is not yet a default route: -gateway_up() { - if ! /sbin/ip route show | grep -wq default ; then - if [ -n "$GATEWAY" ]; then - echo "/etc/rc.d/rc.inet1: /sbin/ip route add default via ${GATEWAY}" | $LOGGER - /sbin/ip route add default via ${GATEWAY} | $LOGGER - fi - fi -} - -# Function to take down an existing default gateway: -gateway_down() { - if /sbin/ip route show | grep -wq default ; then - echo "/etc/rc.d/rc.inet1: /sbin/ip route del default" | $LOGGER - /sbin/ip route del default - fi -} - -# Function to start the network: -start() { - lo_up - virtif_create - for i in "${IFNAME[@]}" ; do - if_up $i - done - gateway_up -} - -# Function to stop the network: -stop() { - gateway_down - for i in "${IFNAME[@]}" ; do - if_down $i - done - virtif_destroy - lo_down -} - - -############ -### MAIN ### -############ - -case "$1" in -start|up) # "start" (or "up") brings up all configured interfaces: - start - ;; -stop|down) # "stop" (or "down") takes down all configured interfaces: - stop - ;; -restart) # "restart" restarts the network: - stop - start - ;; -lo_start|lo_up) # Start the loopback interface: - lo_up - ;; -lo_stop|lo_down) # Stop the loopback interface: - lo_down - ;; -*_start|*_up) # Example: "eth1_start" (or "eth1_up") will start the specified interface 'eth1' - INTERFACE=$(echo $1 | /bin/cut -d '_' -f 1) - if_up $INTERFACE - gateway_up - ;; -*_stop|*_down) # Example: "eth0_stop" (or "eth0_down") will stop the specified interface 'eth0' - INTERFACE=$(echo $1 | /bin/cut -d '_' -f 1) - if_down $INTERFACE - ;; -*_restart) # Example: "wlan0_restart" will take 'wlan0' down and up again - INTERFACE=$(echo $1 | /bin/cut -d '_' -f 1) - if_down $INTERFACE - sleep 1 - if_up $INTERFACE - gateway_up - ;; -*) # The default is to bring up all configured interfaces: - start -esac - -# End of /etc/rc.d/rc.inet1 diff --git a/source/ap/lxc/scripts/rc.inet1.orig b/source/ap/lxc/scripts/rc.inet1.orig deleted file mode 100644 index cf9da0f4..00000000 --- a/source/ap/lxc/scripts/rc.inet1.orig +++ /dev/null @@ -1,376 +0,0 @@ -#!/bin/bash -# /etc/rc.d/rc.inet1 -# This script is used to bring up the various network interfaces. -# -# @(#)/etc/rc.d/rc.inet1 10.2 Sun Jul 24 12:45:56 PDT 2005 (pjv) - -############################ -# READ NETWORK CONFIG FILE # -############################ - -# Get the configuration information from /etc/rc.d/rc.inet1.conf: -. /etc/rc.d/rc.inet1.conf - -########### -# LOGGING # -########### - -# If possible, log events in /var/log/messages: -if [ -f /var/run/syslogd.pid ] && [ -x /usr/bin/logger ]; then - LOGGER=/usr/bin/logger -else # output to stdout/stderr: - LOGGER=/bin/cat -fi - -# Handy wrapper for verbose logging -debug_log() { - if [ "$DEBUG_ETH_UP" = "yes" ]; then - echo "/etc/rc.d/rc.inet1: $*" | $LOGGER - fi -} - -############################ -# DETERMINE INTERFACE LIST # -############################ - -# Compose a list of interfaces from /etc/rc.d/rc.inet1.conf (with a maximum -# of 6 interfaces, but you can easily enlarge the interface limit -# - send me a picture of such a box :-). -# If a value for IFNAME[n] is not set, we assume it is an eth'n' interface. -# This way, the new script is compatible with older rc.inet1.conf files. -# The IFNAME array will be used to determine which interfaces to bring up/down. -MAXNICS=${MAXNICS:-6} -i=0 -while [ $i -lt $MAXNICS ]; -do - IFNAME[$i]=${IFNAME[$i]:=eth${i}} - i=$(($i+1)) -done -debug_log "List of interfaces: '${IFNAME[*]}'" - -###################### -# LOOPBACK FUNCTIONS # -###################### - -# Function to bring up the loopback interface. If loopback is -# already up, do nothing. -lo_up() { - if [ -e /sys/class/net/lo ]; then - if ! /sbin/ip link show dev lo | grep -wq -e "state UP" -e "state UNKNOWN" ; then - echo "/etc/rc.d/rc.inet1: /sbin/ip address add 127.0.0.1/8 dev lo" | $LOGGER - /sbin/ip address add 127.0.0.1/8 dev lo - /sbin/ip link set dev lo up - echo "/etc/rc.d/rc.inet1: /sbin/ip route add 127.0.0.0/8 dev lo" | $LOGGER - /sbin/ip route add 127.0.0.0/8 dev lo - fi - fi -} - -# Function to take down the loopback interface: -lo_down() { - if [ -e /sys/class/net/lo ]; then - echo "/etc/rc.d/rc.inet1: /sbin/ip link set dev lo down" | $LOGGER - /sbin/ip link set dev lo down - fi -} - -####################### -# INTERFACE FUNCTIONS # -####################### - -# Function to create virtual interfaces -virtif_create() { - # argument is 'i' - the position of this interface in the VIRTIFNAME array. - # this loop goes from i=0 to i=number_of_configured_virtual_interfaces_minus_one - # which means it doesn't do anything if there are none. - for i in $(seq 0 $((${#VIRTIFNAME[@]} - 1))); do - /sbin/ip tuntap add dev ${VIRTIFNAME[$i]} mode ${VIRTIFTYPE[$i]} user ${VIRTIFUSER[$i]} group ${VIRTIFGROUP[$i]} - done -} - -# Function to destory virtual interfaces -virtif_destroy() { - # argument is 'i' - the position of this interface in the VIRTIFNAME array. - for i in $(seq 0 $((${#VIRTIFNAME[@]} - 1))); do - /sbin/ip tuntap del dev ${VIRTIFNAME[$i]} mode ${VIRTIFTYPE[$i]} - done -} - -# Function to assemble a bridge interface. -br_open() { - # argument is 'i' - the position of this interface in the IFNAME array. - /sbin/ip link add name ${IFNAME[$1]} type bridge - for BRIF in ${BRNICS[$1]}; do - /sbin/ip link set dev $BRIF down - /sbin/ip address add 0.0.0.0 dev $BRIF - /sbin/ip link set dev $BRIF master ${IFNAME[$1]} - /sbin/ip link set dev $BRIF up - done - /sbin/ip link set dev ${IFNAME[$1]} up -} - -# Function to disassemble a bridge interface. -br_close() { - /sbin/ip link set dev ${IFNAME[$1]} down - # argument is 'i' - the position of this interface in the IFNAME array. - #for BRIF in ${BRNICS[$1]}; do - for BRIF in $(ls --indicator-style=none /sys/class/net/${IFNAME[$1]}/brif/) - do - /sbin/ip link set dev $BRIF nomaster - done - /sbin/ip link set dev ${IFNAME[$1]} down - /sbin/ip link del ${IFNAME[$1]} -} - -# Function to bring up a network interface. If the interface is -# already up or does not yet exist (perhaps because the kernel driver -# is not loaded yet), do nothing. -if_up() { - # Determine position 'i' of this interface in the IFNAME array: - i=0 - while [ $i -lt $MAXNICS ]; do - [ "${IFNAME[$i]}" = "${1}" ] && break - i=$(($i+1)) - done - # If "i" is greater or equal to "MAXNICS" at this point, it means we didn't - # find an entry in IFNAME array corresponding to "$1", which likely means - # there are more interfaces configured than MAXNICS. Let's err on the - # side of caution and do nothing instead of possibly doing the wrong thing. - if [ $i -ge $MAXNICS ]; then - echo "/etc/rc.d/rc.inet1: skipping ${1}, you might need to increase MAXNICS" | $LOGGER - return - fi - # If the interface is a bridge, then create it first: - [ -n "${BRNICS[$i]}" ] && br_open $i - # If the interface isn't in the kernel yet (but there's an alias for it in - # modules.conf), then it should be loaded first: - if [ -z "${IPADDR[$i]}" ] && [ "${USE_DHCP[$i]}" != "yes" ]; then # skip unconfigured interfaces - debug_log "skipping ${1} early, interface is not configured in /etc/rc.d/rc.inet1.conf" - return 0 - fi - if [ ! -e /sys/class/net/${1%%:*} ]; then # no interface yet - if /sbin/modprobe -c | grep -v "^#" | grep -w "alias ${1}" | grep -vw "alias ${1} off" > /dev/null ; then - echo "/etc/rc.d/rc.inet1: /sbin/modprobe ${1}" | $LOGGER - /sbin/modprobe ${1} - fi - fi - if [ -e /sys/class/net/${1%%:*} ]; then # interface exists - if ! /sbin/ip address show dev ${1} 2>/dev/null | grep -wq inet || \ - ! /sbin/ip link show dev ${1} | grep -wq "state UP" ; then # interface not up or not configured - if [ -n "${HWADDR[$i]}" ]; then # Set hardware address _before_ the interface goes up: - echo "/etc/rc.d/rc.inet1: /sbin/ip link set dev ${1} address ${HWADDR[$i]}" | $LOGGER - /sbin/ip link set dev ${1} address ${HWADDR[$i]} - fi - if [ -n "${MTU[$i]}" ]; then # Set MTU to something else than 1500 - echo "/etc/rc.d/rc.inet1: /sbin/ip link set dev ${1} mtu ${MTU[$i]}" | $LOGGER - /sbin/ip link set dev ${1} mtu ${MTU[$i]} - fi - if /sbin/ip link show dev ${1} | grep -wq "state DOWN" ; then - /sbin/ip link set dev ${1} up # Bring up interface - fi - if [ -x /etc/rc.d/rc.wireless ]; then - . /etc/rc.d/rc.wireless ${1} start # Initialize any wireless parameters - fi - if [ "${USE_DHCP[$i]}" = "yes" ]; then # use DHCP to bring interface up - # Clear DHCP_OPTIONS before adding new options to it: - unset DHCP_OPTIONS - # Set DHCP_OPTIONS for this interface: - [ -n "${DHCP_HOSTNAME[$i]}" ] && DHCP_OPTIONS="-h ${DHCP_HOSTNAME[$i]}" - [ "${DHCP_KEEPRESOLV[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -C resolv.conf" - [ "${DHCP_KEEPNTP[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -C ntp.conf" - [ "${DHCP_KEEPGW[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -G" - [ "${DHCP_DEBUG[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -d" - [ "${DHCP_NOIPV4LL[$i]}" = "yes" ] && DHCP_OPTIONS="$DHCP_OPTIONS -L" - [ -n "${DHCP_IPADDR[$i]}" ] && DHCP_OPTIONS="$DHCP_OPTIONS -r ${DHCP_IPADDR[$i]}" - echo "Polling for DHCP server on interface ${1}:" - # If you set a timeout, you get one, even if the kernel doesn't think that - # your device is connected, in case /sys isn't right (which it usually isn't - # except right after the device is loaded, when it usually is): - #### (start commented out) - # This is deactivated for now since the kernel has been returning incorrect - # results concerning whether the interface carrier is detected. - #if [ -z "${DHCP_TIMEOUT[$i]}" ]; then - # /sbin/ip link set dev ${1} up && sleep 1 - # CONNSTATUS="$(cat /sys/class/net/${1}/carrier 2> /dev/null)" - # /sbin/ip link set dev ${1} down - # if [ "$CONNSTATUS" = "0" ]; then - # # The kernel has just told us the cable isn't even plugged in, but we will - # # give any DHCP server a short chance to reply anyway: - # echo "No carrier detected on ${1}. Reducing DHCP timeout to 15 seconds." - # DHCP_TIMEOUT[$i]=15 - # fi - #fi - #### (end commented out) - # 15 seconds should be a reasonable default DHCP timeout. 30 was too much. - echo "/etc/rc.d/rc.inet1: /sbin/dhcpcd -L -t ${DHCP_TIMEOUT[$i]:-15} ${DHCP_OPTIONS} ${1}" | $LOGGER - /sbin/dhcpcd -L -t ${DHCP_TIMEOUT[$i]:-15} ${DHCP_OPTIONS} ${1} - if [ "$?" == "0" ]; then # the dhcp call has succeeded - if [ -n "${IPALIASES[$i]}" ]; then - # Add extra IP addresses, if defined, to interface - num=0 - for ipalias in ${IPALIASES[$i]}; do - ip="${ipalias%/*}" - nm="${ipalias#*/}" - [ -z "$nm" ] || [ "$ip" == "$nm" ] && nm="32" - /sbin/ip address add ${ip}/${nm} dev ${1} label ${1}:${num} - num=$(($num + 1)) - done - fi - if [ "${PROMISCUOUS[$i]}" = "yes" ]; then - # Set promiscuous mode on the interface - /sbin/ip link set dev ${1} promisc on - fi - fi - else # bring up interface using a static IP address - if [ -n "${IPADDR[$i]}" ]; then # skip unconfigured interfaces - # Set up the network card: - echo "/etc/rc.d/rc.inet1: /sbin/ip address add ${IPADDR[$i]}/${NETMASK[$i]} broadcast + dev ${1}" | $LOGGER - /sbin/ip address add ${IPADDR[$i]}/${NETMASK[$i]} broadcast + dev ${1} - if /sbin/ip link show dev ${1} | grep -wq "state DOWN" ; then - /sbin/ip link set dev ${1} up # Bring up interface - fi - # Add extra IP addresses, if defined, to interface - if [ -n "${IPALIASES[$i]}" ]; then - num=0 - for ipalias in ${IPALIASES[$i]}; do - ip="${ipalias%/*}" - nm="${ipalias#*/}" - [ -z "$nm" ] || [ "$ip" == "$nm" ] && nm="32" - /sbin/ip address add ${ip}/${nm} dev ${1} label ${1}:${num} - num=$(($num + 1)) - done - fi - if [ "${PROMISCUOUS[$i]}" = "yes" ]; then - # Set promiscuous mode on the interface - /sbin/ip link set dev ${1} promisc on - fi - else - debug_log "${1} interface is not configured in /etc/rc.d/rc.inet1.conf" - fi - fi - else - debug_log "${1} is already up, skipping" - fi - else - debug_log "${1} interface does not exist (yet)" - fi -} - -# Function to take down a network interface: -if_down() { - # Determine position 'i' of this interface in the IFNAME array: - i=0 - while [ $i -lt $MAXNICS ]; do - [ "${IFNAME[$i]}" = "${1}" ] && break - i=$(($i+1)) - done - if [ $i -ge $MAXNICS ]; then - echo "/etc/rc.d/rc.inet1: skipping ${1}, you might need to increase MAXNICS" | $LOGGER - return - fi - if [ -e /sys/class/net/${1%%:*} ]; then - if [ "${USE_DHCP[$i]}" = "yes" ]; then - echo "/etc/rc.d/rc.inet1: /sbin/dhcpcd -k -d ${1}" | $LOGGER - /sbin/dhcpcd -k -d ${1} 2> /dev/null || /sbin/ip link set dev ${1} down - sleep 1 - else - echo "/etc/rc.d/rc.inet1: /sbin/ip link set dev ${1} down" | $LOGGER - /sbin/ip link set dev ${1} down - fi - if [ -x /etc/rc.d/rc.wireless ]; then - . /etc/rc.d/rc.wireless ${1} stop # Kill wireless daemons if any. - fi - # If the interface is a bridge, then destroy it now: - if [ -n "${BRNICS[$i]}" ]; then - br_close $i - fi - # Flush the address from the interface: - ip address flush dev ${1} - fi -} - -##################### -# GATEWAY FUNCTIONS # -##################### - -# Function to bring up the gateway if there is not yet a default route: -gateway_up() { - if ! /sbin/ip route show | grep -wq default ; then - if [ -n "$GATEWAY" ]; then - echo "/etc/rc.d/rc.inet1: /sbin/ip route add default via ${GATEWAY}" | $LOGGER - /sbin/ip route add default via ${GATEWAY} | $LOGGER - fi - fi -} - -# Function to take down an existing default gateway: -gateway_down() { - if /sbin/ip route show | grep -wq default ; then - echo "/etc/rc.d/rc.inet1: /sbin/ip route del default" | $LOGGER - /sbin/ip route del default - fi -} - -# Function to start the network: -start() { - lo_up - virtif_create - for i in "${IFNAME[@]}" ; do - if_up $i - done - gateway_up -} - -# Function to stop the network: -stop() { - gateway_down - for i in "${IFNAME[@]}" ; do - if_down $i - done - virtif_destroy - lo_down -} - - -############ -### MAIN ### -############ - -case "$1" in -start|up) # "start" (or "up") brings up all configured interfaces: - start - ;; -stop|down) # "stop" (or "down") takes down all configured interfaces: - stop - ;; -restart) # "restart" restarts the network: - stop - start - ;; -lo_start|lo_up) # Start the loopback interface: - lo_up - ;; -lo_stop|lo_down) # Stop the loopback interface: - lo_down - ;; -*_start|*_up) # Example: "eth1_start" (or "eth1_up") will start the specified interface 'eth1' - INTERFACE=$(echo $1 | /bin/cut -d '_' -f 1) - if_up $INTERFACE - gateway_up - ;; -*_stop|*_down) # Example: "eth0_stop" (or "eth0_down") will stop the specified interface 'eth0' - INTERFACE=$(echo $1 | /bin/cut -d '_' -f 1) - if_down $INTERFACE - ;; -*_restart) # Example: "wlan0_restart" will take 'wlan0' down and up again - INTERFACE=$(echo $1 | /bin/cut -d '_' -f 1) - if_down $INTERFACE - sleep 1 - if_up $INTERFACE - gateway_up - ;; -*) # The default is to bring up all configured interfaces: - start -esac - -# End of /etc/rc.d/rc.inet1 diff --git a/source/l/libgpod/libgpod.SlackBuild b/source/l/libgpod/libgpod.SlackBuild index 6d944bcf..d91b0e19 100755 --- a/source/l/libgpod/libgpod.SlackBuild +++ b/source/l/libgpod/libgpod.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=libgpod VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-10} +BUILD=${BUILD:-11} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then diff --git a/source/l/libseccomp/libseccomp.SlackBuild b/source/l/libseccomp/libseccomp.SlackBuild new file mode 100755 index 00000000..3f00e269 --- /dev/null +++ b/source/l/libseccomp/libseccomp.SlackBuild @@ -0,0 +1,142 @@ +#!/bin/bash + +# Copyright 2016-2020 Willy Sudiarto Raharjo <willysr@slackbuilds.org> +# Copyright 2021 Patrick J. Volkerding, Sebeka, Minnesota, 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=libseccomp +VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-1} + +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$(uname -m)" in + i?86) ARCH=i586 ;; + arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) ARCH=$(uname -m) ;; + esac + export ARCH +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 + +NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "s390" ]; then + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +elif [ "$ARCH" = "armv7hl" ]; then + SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16" + LIBDIRSUFFIX="" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +TMP=${TMP:-/tmp} +PKG=$TMP/package-$PKGNAM + +rm -rf $PKG +mkdir -p $TMP $PKG + +cd $TMP +rm -rf $PKGNAM-$VERSION +tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1 +cd $PKGNAM-$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 {} \+ + +# Configure, build, and install: +if [ ! -r configure ]; then + if [ -x ./autogen.sh ]; then + NOCONFIGURE=1 ./autogen.sh + else + autoreconf -vif + fi +fi +CFLAGS="$SLKCFLAGS" \ +CXXFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --enable-static=no \ + --docdir=/usr/doc/$PRGNAM-$VERSION \ + --build=$ARCH-slackware-linux || exit 1 +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# Don't ship .la files: +rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la + +# Strip binaries: +find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null + +# Compress manual pages: +find $PKG/usr/man -type f -exec gzip -9 {} \+ +for i in $( find $PKG/usr/man -type l ) ; do + ln -s $( readlink $i ).gz $i.gz + rm $i +done + +# Add a documentation directory: +mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION +cp -a \ + CHANGELOG* CONTRIBUTING* CREDITS* LICENSE* README* SECURITY* \ + $PKG/usr/doc/${PKGNAM}-$VERSION + +# If there's a CHANGELOG file, installing at least part of the recent history +# is useful, but don't let it get totally out of control: +if [ -r CHANGELOG ]; then + DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION) + cat CHANGELOG | head -n 1000 > $DOCSDIR/CHANGELOG + touch -r CHANGELOG $DOCSDIR/CHANGELOG +fi + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc + +cd $PKG +/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz diff --git a/source/l/libseccomp/libseccomp.url b/source/l/libseccomp/libseccomp.url new file mode 100644 index 00000000..90b4fea8 --- /dev/null +++ b/source/l/libseccomp/libseccomp.url @@ -0,0 +1 @@ +https://github.com/seccomp/libseccomp diff --git a/source/l/libseccomp/slack-desc b/source/l/libseccomp/slack-desc new file mode 100644 index 00000000..abebff9f --- /dev/null +++ b/source/l/libseccomp/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +libseccomp: libseccomp (enhanced seccomp library) +libseccomp: +libseccomp: The libseccomp library provides an easy to use, platform independent, +libseccomp: interface to the Linux Kernel's syscall filtering mechanism. The +libseccomp: libseccomp API is designed to abstract away the underlying BPF based +libseccomp: syscall filter language and present a more conventional function-call +libseccomp: based filtering interface that should be familiar to, and easily +libseccomp: adopted by, application developers. +libseccomp: +libseccomp: Homepage: https://github.com/seccomp/libseccomp +libseccomp: diff --git a/source/n/network-scripts/0000-rc.inet1.new-lxc-additions.patch b/source/n/network-scripts/0000-rc.inet1.new-lxc-additions.patch new file mode 100644 index 00000000..d9c14d44 --- /dev/null +++ b/source/n/network-scripts/0000-rc.inet1.new-lxc-additions.patch @@ -0,0 +1,39 @@ +From 2ef0c19e3ebfd99c1c89bf13dee0ec198c5ef559 Mon Sep 17 00:00:00 2001 +From: Patrick J. Volkerding <volkerdi@slackware.com> +Date: Wed, 10 Nov 2021 16:22:43 -0600 +Subject: [PATCH] Skip bridge and bond configuration in LXC container + +Add LXC detection at the beginning of the script to set container="lxc" if an +LXC container is detected. Later, use this to skip bridge and bond creation in +an LXC container. Patched script works in both LXC and on bare metal. + +--- ./etc/rc.d/rc.inet1.new.orig 2021-03-08 18:13:50.484386646 -0600 ++++ ./etc/rc.d/rc.inet1.new 2021-11-10 02:32:58.780223136 -0600 +@@ -2,7 +2,14 @@ + # /etc/rc.d/rc.inet1 + # This script is used to bring up the various network interfaces. + # +-# @(#)/etc/rc.d/rc.inet1 10.2 Sun Jul 24 12:45:56 PDT 2005 (pjv) ++# @(#)/etc/rc.d/rc.inet1 15.0 Wed Nov 10 08:17:22 UTC 2021 (pjv) ++ ++# If we are in an lxc container, set $container to skip parts of the script. ++# Thanks to Matteo Bernardini <ponce@slackbuilds.org> and Chris Willing for ++# the initial work making this script lxc compatible. ++if grep -aq container=lxc /proc/1/environ 2> /dev/null ; then ++ container="lxc" ++fi + + ############################ + # READ NETWORK CONFIG FILE # +@@ -254,9 +261,9 @@ + # bond or bridge, configure the interfaces with IPs of 0.0.0.0 and set the + # MAC address with HWADDR. Then, finally, define the bond or bridge. + # If the interface is a bond, create it. +- [ -n "${BONDNICS[$i]}" ] && bond_create $i ++ [ -n "${BONDNICS[$i]}" -a -z "$container" ] && bond_create $i + # If the interface is a bridge, create it. +- [ -n "${BRNICS[$i]}" ] && br_open $i ++ [ -n "${BRNICS[$i]}" -a -z "$container" ] && br_open $i + if [ -e /sys/class/net/${1%%[:.]*} ]; then # interface exists + if ! /sbin/ip address show scope global dev ${1} 2>/dev/null | grep -Ewq '(inet|inet6)' || \ + ! /sbin/ip link show dev ${1} | grep -wq "state UP"; then # interface not up or not configured diff --git a/source/n/network-scripts/0001-netconfig-turn-off-rc.networkmanager-if-networkmanager-is-not-selected.patch b/source/n/network-scripts/0001-netconfig-turn-off-rc.networkmanager-if-networkmanager-is-not-selected.patch new file mode 100644 index 00000000..75700804 --- /dev/null +++ b/source/n/network-scripts/0001-netconfig-turn-off-rc.networkmanager-if-networkmanager-is-not-selected.patch @@ -0,0 +1,20 @@ +From d5e9803b79f3bf909b01c3ff3a5cdb0d7594dba0 Mon Sep 17 00:00:00 2001 +From: Patrick J. Volkerding <volkerdi@slackware.com> +Date: Wed, 10 Nov 2021 16:27:08 -0600 +Subject: [PATCH] Ensure proper rc.networkmanager permissions + +In case rc.networkmanager was made executable by the admin or with a previous +run of netconfig, we need to disable it if networkmanager wasn't selected in +this netconfig run. + +--- ./sbin/netconfig.orig 2021-04-16 13:51:20.261045081 -0500 ++++ ./sbin/netconfig 2021-11-10 16:14:09.388939104 -0600 +@@ -1071,6 +1071,8 @@ + write_config_files + if [ "$NETWORKMANAGER" = "yes" -a -r etc/rc.d/rc.networkmanager ]; then + chmod 755 etc/rc.d/rc.networkmanager ++ elif [ ! "$NETWORKMANAGER" = "yes" -a -x etc/rc.d/rc.networkmanager ]; then ++ chmod 644 etc/rc.d/rc.networkmanager + fi + dialog --msgbox "Settings accepted. Basic network configuration is complete." 6 40 + else diff --git a/source/n/network-scripts/network-scripts.SlackBuild b/source/n/network-scripts/network-scripts.SlackBuild index 0476a7b8..ea4bad77 100755 --- a/source/n/network-scripts/network-scripts.SlackBuild +++ b/source/n/network-scripts/network-scripts.SlackBuild @@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=network-scripts VERSION=${VERSION:-15.0} ARCH=noarch -BUILD=${BUILD:-16} +BUILD=${BUILD:-17} # 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 @@ -84,6 +84,18 @@ mkdir -p $PKG/install zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh cat $CWD/slack-desc > $PKG/install/slack-desc +# Patch to fix rc.inet1.new for LXC: +( cd $PKG + cat $CWD/0000-rc.inet1.new-lxc-additions.patch | patch -p1 --verbose || exit 1 + rm -f etc/rc.d/rc.inet1.new.orig +) || exit 1 + +# Patch netconfig to fix leaving a previously enabled rc.networkmanager +# executable even if networkmanager is no longer selected: +( cd $PKG + cat $CWD/0001-netconfig-turn-off-rc.networkmanager-if-networkmanager-is-not-selected.patch | patch -p1 --verbose || exit 1 + rm -f sbin/netconfig.orig +) + cd $PKG /sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz - diff --git a/source/x/ibus/571e3b6e4f386abf12d3db70b9468e092c8d72bd.patch b/source/x/ibus/571e3b6e4f386abf12d3db70b9468e092c8d72bd.patch new file mode 100644 index 00000000..376ccae5 --- /dev/null +++ b/source/x/ibus/571e3b6e4f386abf12d3db70b9468e092c8d72bd.patch @@ -0,0 +1,27 @@ +From 571e3b6e4f386abf12d3db70b9468e092c8d72bd Mon Sep 17 00:00:00 2001 +From: Alynx Zhou <alynx.zhou@gmail.com> +Date: Tue, 24 Aug 2021 10:12:52 +0800 +Subject: [PATCH] client/gtk2/ibusimcontext: Fix wrong cursor location in gtk3 + apps + +--- + client/gtk2/ibusimcontext.c | 5 ++++- + 1 file changed, 4 insertions(+), 1 deletion(-) + +diff --git a/client/gtk2/ibusimcontext.c b/client/gtk2/ibusimcontext.c +index da9a402ff..b1ccede95 100644 +--- a/client/gtk2/ibusimcontext.c ++++ b/client/gtk2/ibusimcontext.c +@@ -1497,7 +1497,10 @@ _set_cursor_location_internal (IBusIMContext *ibusimcontext) + + #if GTK_CHECK_VERSION (3, 98, 4) + #elif GTK_CHECK_VERSION (2, 91, 0) +- area.y += gdk_window_get_height (ibusimcontext->client_window); ++ if (area.x == -1 && area.y == -1 && area.width == 0 && area.height == 0) { ++ area.x = 0; ++ area.y += gdk_window_get_height (ibusimcontext->client_window); ++ } + #else + if (area.x == -1 && area.y == -1 && area.width == 0 && area.height == 0) { + gint w, h; + diff --git a/source/x/ibus/ibus.SlackBuild b/source/x/ibus/ibus.SlackBuild index 8a2977f9..82c668f8 100755 --- a/source/x/ibus/ibus.SlackBuild +++ b/source/x/ibus/ibus.SlackBuild @@ -27,7 +27,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=ibus VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} -BUILD=${BUILD:-3} +BUILD=${BUILD:-4} NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "} @@ -88,6 +88,8 @@ find . \ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ -exec chmod 644 {} \+ +zcat $CWD/571e3b6e4f386abf12d3db70b9468e092c8d72bd.patch.gz | patch -p1 --verbose || exit 1 + zcat $CWD/emoji-test.txt.gz > emoji-test.txt zcat $CWD/NamesList.txt.gz > NamesList.txt zcat $CWD/Blocks.txt.gz > Blocks.txt |