summaryrefslogtreecommitdiffstats
path: root/system-build/share/hooks/normal
diff options
context:
space:
mode:
Diffstat (limited to 'system-build/share/hooks/normal')
-rwxr-xr-xsystem-build/share/hooks/normal/0020-create-mtab-symlink.hook.chroot11
-rwxr-xr-xsystem-build/share/hooks/normal/0030-enable-cryptsetup.hook.chroot21
-rwxr-xr-xsystem-build/share/hooks/normal/0040-create-locales-files.hook.chroot7
-rwxr-xr-xsystem-build/share/hooks/normal/0100-remove-adjtime-configuration.hook.chroot11
-rwxr-xr-xsystem-build/share/hooks/normal/0110-remove-backup-files.hook.chroot21
-rwxr-xr-xsystem-build/share/hooks/normal/0120-remove-dbus-machine-id.hook.chroot9
-rwxr-xr-xsystem-build/share/hooks/normal/0130-remove-gnome-icon-cache.hook.chroot9
-rwxr-xr-xsystem-build/share/hooks/normal/0140-remove-log-files.hook.chroot9
-rwxr-xr-xsystem-build/share/hooks/normal/0150-remove-mdadm-configuration.hook.chroot7
-rwxr-xr-xsystem-build/share/hooks/normal/0160-remove-openssh-server-host-keys.hook.chroot10
-rwxr-xr-xsystem-build/share/hooks/normal/0170-remove-python-py.hook.chroot9
-rwxr-xr-xsystem-build/share/hooks/normal/0180-remove-systemd-machine-id.hook.chroot13
-rwxr-xr-xsystem-build/share/hooks/normal/0185-remove-systemd-journal-database.hook.chroot6
-rwxr-xr-xsystem-build/share/hooks/normal/0190-remove-temporary-files.hook.chroot14
-rwxr-xr-xsystem-build/share/hooks/normal/0195-remove-ssl-cert-snakeoil.hook.chroot13
-rwxr-xr-xsystem-build/share/hooks/normal/0196-remote-apt-auto-removal.hook.chroot6
-rwxr-xr-xsystem-build/share/hooks/normal/0200-remove-udev-persistent-cd-rules.hook.chroot13
-rwxr-xr-xsystem-build/share/hooks/normal/0300-remove-udev-persistent-net-rules.hook.chroot16
-rwxr-xr-xsystem-build/share/hooks/normal/0400-update-apt-file-cache.hook.chroot14
-rwxr-xr-xsystem-build/share/hooks/normal/0410-update-apt-xapian-index.hook.chroot14
-rwxr-xr-xsystem-build/share/hooks/normal/0420-update-glx-alternative.hook.chroot9
-rwxr-xr-xsystem-build/share/hooks/normal/0430-update-mlocate-database.hook.chroot14
-rwxr-xr-xsystem-build/share/hooks/normal/0440-update-nvidia-alternative.hook.chroot9
-rwxr-xr-xsystem-build/share/hooks/normal/0910-remove-apt-sources-lists8
24 files changed, 273 insertions, 0 deletions
diff --git a/system-build/share/hooks/normal/0020-create-mtab-symlink.hook.chroot b/system-build/share/hooks/normal/0020-create-mtab-symlink.hook.chroot
new file mode 100755
index 0000000..5c2fa64
--- /dev/null
+++ b/system-build/share/hooks/normal/0020-create-mtab-symlink.hook.chroot
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+set -e
+
+# Create /etc/mtab symlink, replacing a regular file if necessary
+
+if [ ! -L /etc/mtab ]
+then
+ rm -f /etc/mtab
+ ln -s /proc/mounts /etc/mtab
+fi
diff --git a/system-build/share/hooks/normal/0030-enable-cryptsetup.hook.chroot b/system-build/share/hooks/normal/0030-enable-cryptsetup.hook.chroot
new file mode 100755
index 0000000..54c2978
--- /dev/null
+++ b/system-build/share/hooks/normal/0030-enable-cryptsetup.hook.chroot
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+set -e
+
+# Enable cryptsetup
+
+if [ -e /sbin/cryptsetup ]
+then
+ if [ ! -e /etc/initramfs-tools/conf.d/cryptsetup ]
+ then
+ mkdir -p /etc/initramfs-tools/conf.d
+
+cat > /etc/initramfs-tools/conf.d/cryptsetup << EOF
+# /etc/initramfs-tools/conf.d/cryptsetup
+
+CRYPTSETUP=yes
+export CRYPTSETUP
+EOF
+
+ fi
+fi
diff --git a/system-build/share/hooks/normal/0040-create-locales-files.hook.chroot b/system-build/share/hooks/normal/0040-create-locales-files.hook.chroot
new file mode 100755
index 0000000..8a5a867
--- /dev/null
+++ b/system-build/share/hooks/normal/0040-create-locales-files.hook.chroot
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -e
+
+# Create /etc/environment and /etc/default/locale
+touch /etc/environment
+touch /etc/default/locale
diff --git a/system-build/share/hooks/normal/0100-remove-adjtime-configuration.hook.chroot b/system-build/share/hooks/normal/0100-remove-adjtime-configuration.hook.chroot
new file mode 100755
index 0000000..7fe5bbd
--- /dev/null
+++ b/system-build/share/hooks/normal/0100-remove-adjtime-configuration.hook.chroot
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+set -e
+
+# Reset generated file
+
+cat > /etc/adjtime << EOF
+0.0 0 0.0
+0
+UTC
+EOF
diff --git a/system-build/share/hooks/normal/0110-remove-backup-files.hook.chroot b/system-build/share/hooks/normal/0110-remove-backup-files.hook.chroot
new file mode 100755
index 0000000..8fe1726
--- /dev/null
+++ b/system-build/share/hooks/normal/0110-remove-backup-files.hook.chroot
@@ -0,0 +1,21 @@
+#!/bin/sh
+
+set -e
+
+# Remove backup files
+rm -f /boot/*.bak
+rm -f /boot/*.old-dkms
+
+rm -f /etc/apt/sources.list~
+rm -f /etc/apt/trusted.gpg~
+
+rm -f /etc/passwd-
+rm -f /etc/group-
+rm -f /etc/shadow-
+rm -f /etc/gshadow-
+
+rm -f /var/cache/debconf/*-old
+rm -f /var/lib/dpkg/*-old
+
+# Workaround for user-setup
+touch /etc/passwd-
diff --git a/system-build/share/hooks/normal/0120-remove-dbus-machine-id.hook.chroot b/system-build/share/hooks/normal/0120-remove-dbus-machine-id.hook.chroot
new file mode 100755
index 0000000..230099e
--- /dev/null
+++ b/system-build/share/hooks/normal/0120-remove-dbus-machine-id.hook.chroot
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+set -e
+
+# Remove dbus machine id.
+#
+# This removes dbus machine id that cache that makes each system unique.
+
+rm -f /var/lib/dbus/machine-id
diff --git a/system-build/share/hooks/normal/0130-remove-gnome-icon-cache.hook.chroot b/system-build/share/hooks/normal/0130-remove-gnome-icon-cache.hook.chroot
new file mode 100755
index 0000000..ab35a1d
--- /dev/null
+++ b/system-build/share/hooks/normal/0130-remove-gnome-icon-cache.hook.chroot
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+set -e
+
+# Remove GNOME icon cache.
+#
+# This saves space some space.
+
+rm -f /usr/share/icons/*/icon-theme.cache
diff --git a/system-build/share/hooks/normal/0140-remove-log-files.hook.chroot b/system-build/share/hooks/normal/0140-remove-log-files.hook.chroot
new file mode 100755
index 0000000..f95e546
--- /dev/null
+++ b/system-build/share/hooks/normal/0140-remove-log-files.hook.chroot
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+set -e
+
+# Truncate log files
+for _FILE in $(find /var/log/ -type f)
+do
+ : > ${_FILE}
+done
diff --git a/system-build/share/hooks/normal/0150-remove-mdadm-configuration.hook.chroot b/system-build/share/hooks/normal/0150-remove-mdadm-configuration.hook.chroot
new file mode 100755
index 0000000..206b494
--- /dev/null
+++ b/system-build/share/hooks/normal/0150-remove-mdadm-configuration.hook.chroot
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -e
+
+# Remove generated files
+
+rm -f /etc/mdadm/mdadm.conf
diff --git a/system-build/share/hooks/normal/0160-remove-openssh-server-host-keys.hook.chroot b/system-build/share/hooks/normal/0160-remove-openssh-server-host-keys.hook.chroot
new file mode 100755
index 0000000..b108526
--- /dev/null
+++ b/system-build/share/hooks/normal/0160-remove-openssh-server-host-keys.hook.chroot
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+set -e
+
+# Remove OpenSSH Host Keys.
+#
+# This removes openssh-server host keys, they are regenerated by system-config
+# on system start.
+
+rm -f /etc/ssh/ssh_host_*_key /etc/ssh/ssh_host_*_key.pub
diff --git a/system-build/share/hooks/normal/0170-remove-python-py.hook.chroot b/system-build/share/hooks/normal/0170-remove-python-py.hook.chroot
new file mode 100755
index 0000000..ff70583
--- /dev/null
+++ b/system-build/share/hooks/normal/0170-remove-python-py.hook.chroot
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+set -e
+
+# Remove Python *.py files.
+#
+# This removes byte-compiled Python modules to save some space.
+
+find /usr -name "*.pyc" -print0 | xargs -0r rm -f
diff --git a/system-build/share/hooks/normal/0180-remove-systemd-machine-id.hook.chroot b/system-build/share/hooks/normal/0180-remove-systemd-machine-id.hook.chroot
new file mode 100755
index 0000000..ed5d6bf
--- /dev/null
+++ b/system-build/share/hooks/normal/0180-remove-systemd-machine-id.hook.chroot
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+# Blank out systemd machine id. If it does not exist, systemd-journald
+# will fail, but if it exists and is empty, systemd will automatically
+# set up a new unique ID.
+
+if [ -e /etc/machine-id ]
+then
+ rm -f /etc/machine-id
+ : > /etc/machine-id
+fi
diff --git a/system-build/share/hooks/normal/0185-remove-systemd-journal-database.hook.chroot b/system-build/share/hooks/normal/0185-remove-systemd-journal-database.hook.chroot
new file mode 100755
index 0000000..01ac200
--- /dev/null
+++ b/system-build/share/hooks/normal/0185-remove-systemd-journal-database.hook.chroot
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+set -e
+
+# Remove journal database
+rm -f /var/lib/systemd/catalog/database
diff --git a/system-build/share/hooks/normal/0190-remove-temporary-files.hook.chroot b/system-build/share/hooks/normal/0190-remove-temporary-files.hook.chroot
new file mode 100755
index 0000000..fd220e0
--- /dev/null
+++ b/system-build/share/hooks/normal/0190-remove-temporary-files.hook.chroot
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+# Remove temporary files
+rm -rf /var/cache/man/*
+
+for _DIRECTORY in /tmp /var/tmp
+do
+ rm -rf ${_DIRECTORY}
+
+ mkdir -p ${_DIRECTORY}
+ chmod 1777 ${_DIRECTORY}
+done
diff --git a/system-build/share/hooks/normal/0195-remove-ssl-cert-snakeoil.hook.chroot b/system-build/share/hooks/normal/0195-remove-ssl-cert-snakeoil.hook.chroot
new file mode 100755
index 0000000..cdfe39d
--- /dev/null
+++ b/system-build/share/hooks/normal/0195-remove-ssl-cert-snakeoil.hook.chroot
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+# Remove ssl-cert snakeoil
+
+if [ -e /etc/ssl/certs/ssl-cert-snakeoil.pem ]
+then
+ rm -f /etc/ssl/certs/$(openssl x509 -hash -noout -in /etc/ssl/certs/ssl-cert-snakeoil.pem)
+
+ rm -f /etc/ssl/certs/ssl-cert-snakeoil.pem
+ rm -f /etc/ssl/private/ssl-cert-snakeoil.key
+fi
diff --git a/system-build/share/hooks/normal/0196-remote-apt-auto-removal.hook.chroot b/system-build/share/hooks/normal/0196-remote-apt-auto-removal.hook.chroot
new file mode 100755
index 0000000..9bbfec7
--- /dev/null
+++ b/system-build/share/hooks/normal/0196-remote-apt-auto-removal.hook.chroot
@@ -0,0 +1,6 @@
+#!/bin/sh
+
+set -e
+
+# Remove auto-generated file
+rm -f /etc/apt/apt.conf.d/01autoremove-kernels
diff --git a/system-build/share/hooks/normal/0200-remove-udev-persistent-cd-rules.hook.chroot b/system-build/share/hooks/normal/0200-remove-udev-persistent-cd-rules.hook.chroot
new file mode 100755
index 0000000..bdfe52d
--- /dev/null
+++ b/system-build/share/hooks/normal/0200-remove-udev-persistent-cd-rules.hook.chroot
@@ -0,0 +1,13 @@
+#!/bin/sh
+
+set -e
+
+# Remove udev persistent rules.
+#
+# This removes udev persistent rules that cache the host systems cd drive as
+# well as the running live systems cd drive to remember its device name.
+
+if [ -e /etc/udev/rules.d ]
+then
+ > /etc/udev/rules.d/70-persistent-cd.rules
+fi
diff --git a/system-build/share/hooks/normal/0300-remove-udev-persistent-net-rules.hook.chroot b/system-build/share/hooks/normal/0300-remove-udev-persistent-net-rules.hook.chroot
new file mode 100755
index 0000000..148ba30
--- /dev/null
+++ b/system-build/share/hooks/normal/0300-remove-udev-persistent-net-rules.hook.chroot
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+set -e
+
+# Remove udev persistent rules.
+#
+# This removes udev persistent rules that cache the host systems mac address to
+# remember its device name.
+
+for _FILE in /etc/udev/rules.d/*persistent-net.rules
+do
+ if [ -e "${_FILE}" ]
+ then
+ : > ${_FILE}
+ fi
+done
diff --git a/system-build/share/hooks/normal/0400-update-apt-file-cache.hook.chroot b/system-build/share/hooks/normal/0400-update-apt-file-cache.hook.chroot
new file mode 100755
index 0000000..771e903
--- /dev/null
+++ b/system-build/share/hooks/normal/0400-update-apt-file-cache.hook.chroot
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+# Update the Apt File cache.
+#
+# This allows to use using apt-file out-of-the-box.
+
+. /live-build/config/binary
+
+if [ -x /usr/bin/apt-file ] && [ "${LB_APT_INDICES}" = "true" ]
+then
+ apt-file update
+fi
diff --git a/system-build/share/hooks/normal/0410-update-apt-xapian-index.hook.chroot b/system-build/share/hooks/normal/0410-update-apt-xapian-index.hook.chroot
new file mode 100755
index 0000000..dcb39b2
--- /dev/null
+++ b/system-build/share/hooks/normal/0410-update-apt-xapian-index.hook.chroot
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+# Update the Apt Xapian index.
+#
+# The package would do this itself, but (a) it checks policy-rc.d which says it
+# is not allowed to, and (b) it wants to build the index in the background which
+# will be racy in the context of live-build.
+
+if [ -x /usr/sbin/update-apt-xapian-index ]
+then
+ PYTHONDONTWRITEBYTECODE=1 /usr/sbin/update-apt-xapian-index --force --quiet
+fi
diff --git a/system-build/share/hooks/normal/0420-update-glx-alternative.hook.chroot b/system-build/share/hooks/normal/0420-update-glx-alternative.hook.chroot
new file mode 100755
index 0000000..8c36c43
--- /dev/null
+++ b/system-build/share/hooks/normal/0420-update-glx-alternative.hook.chroot
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+set -e
+
+# Use mesa renderer by default
+if [ -e /etc/alternatives/glx ]
+then
+ update-alternatives --quiet --set glx /usr/lib/mesa-diverted
+fi
diff --git a/system-build/share/hooks/normal/0430-update-mlocate-database.hook.chroot b/system-build/share/hooks/normal/0430-update-mlocate-database.hook.chroot
new file mode 100755
index 0000000..6bfdb3d
--- /dev/null
+++ b/system-build/share/hooks/normal/0430-update-mlocate-database.hook.chroot
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+set -e
+
+# Update the mlocate database.
+#
+# It is convenient for this to be already up to date on the live system, and it
+# means that if the live system is later installed to a hard disk then less
+# work will be required after installation.
+
+if [ -x /usr/bin/updatedb.mlocate ]
+then
+ updatedb.mlocate
+fi
diff --git a/system-build/share/hooks/normal/0440-update-nvidia-alternative.hook.chroot b/system-build/share/hooks/normal/0440-update-nvidia-alternative.hook.chroot
new file mode 100755
index 0000000..e73b967
--- /dev/null
+++ b/system-build/share/hooks/normal/0440-update-nvidia-alternative.hook.chroot
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+set -e
+
+# Use newest nvidia version by default
+if [ -e /etc/alternatives/nvidia ] && [ -e /usr/lib/nvidia/current ]
+then
+ update-alternatives --quiet --set nvidia /usr/lib/nvidia/current
+fi
diff --git a/system-build/share/hooks/normal/0910-remove-apt-sources-lists b/system-build/share/hooks/normal/0910-remove-apt-sources-lists
new file mode 100755
index 0000000..1c8ca2d
--- /dev/null
+++ b/system-build/share/hooks/normal/0910-remove-apt-sources-lists
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+set -e
+
+# Remove apt sources.list files
+
+rm -f /etc/apt/sources.list
+rm -f /etc/apt/sources.list.d/*.list