summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorPatrick J Volkerding <volkerdi@slackware.com>2021-11-11 20:36:12 +0000
committerEric Hameleers <alien@slackware.com>2021-11-12 08:59:57 +0100
commit5f74398bf9e65ea1aa61c9a843a88f98700ccab7 (patch)
treebb5df74846116525f315ca070b70133df8cbfce8 /source
parent53b8e9dd3942dcddfe065960ad276233e3e791a0 (diff)
downloadcurrent-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')
-rwxr-xr-xsource/a/sdparm/sdparm.SlackBuild2
-rw-r--r--source/a/sysvinit-scripts/scripts/rc.684
-rw-r--r--source/a/sysvinit-scripts/scripts/rc.M43
-rw-r--r--source/a/sysvinit-scripts/scripts/rc.S358
-rwxr-xr-xsource/a/sysvinit-scripts/sysvinit-scripts.SlackBuild2
-rwxr-xr-xsource/a/udisks/udisks.SlackBuild2
-rw-r--r--source/ap/lxc/lxc-slackware.in10
-rwxr-xr-xsource/ap/lxc/lxc.SlackBuild6
-rw-r--r--source/ap/lxc/lxc.url1
-rw-r--r--source/ap/lxc/scripts/README11
-rw-r--r--source/ap/lxc/scripts/rc.6.lxc329
-rw-r--r--source/ap/lxc/scripts/rc.6.orig319
-rw-r--r--source/ap/lxc/scripts/rc.M.lxc416
-rw-r--r--source/ap/lxc/scripts/rc.M.orig407
-rw-r--r--source/ap/lxc/scripts/rc.S.lxc478
-rw-r--r--source/ap/lxc/scripts/rc.S.orig449
-rw-r--r--source/ap/lxc/scripts/rc.inet1.lxc387
-rw-r--r--source/ap/lxc/scripts/rc.inet1.orig376
-rwxr-xr-xsource/l/libgpod/libgpod.SlackBuild2
-rwxr-xr-xsource/l/libseccomp/libseccomp.SlackBuild142
-rw-r--r--source/l/libseccomp/libseccomp.url1
-rw-r--r--source/l/libseccomp/slack-desc19
-rw-r--r--source/n/network-scripts/0000-rc.inet1.new-lxc-additions.patch39
-rw-r--r--source/n/network-scripts/0001-netconfig-turn-off-rc.networkmanager-if-networkmanager-is-not-selected.patch20
-rwxr-xr-xsource/n/network-scripts/network-scripts.SlackBuild16
-rw-r--r--source/x/ibus/571e3b6e4f386abf12d3db70b9468e092c8d72bd.patch27
-rwxr-xr-xsource/x/ibus/ibus.SlackBuild4
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