summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Lau2017-06-30 10:04:44 +0200
committerSebastian Lau2017-06-30 10:04:44 +0200
commitba4eb9ca50f09134adbe2e4563d81b6456b855fd (patch)
tree6394b05ef7542a4803bcec306224c73b79a300c3
parentdb2d75510399ca9e08b1fe41f251d5f429d7949c (diff)
downloadaur-ba4eb9ca50f09134adbe2e4563d81b6456b855fd.tar.gz
ADD sd-plymouth.initcpio_install systemd hook for initrd
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD8
-rw-r--r--sd-plymouth.initcpio_install66
3 files changed, 76 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index d54558645755..9ffe0a03b286 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,9 @@
# Generated by mksrcinfo v8
-# Wed Oct 12 00:06:59 UTC 2016
+# Fri Jun 30 08:04:29 UTC 2017
pkgbase = plymouth
pkgdesc = A graphical boot splash screen with kernel mode-setting support
pkgver = 0.9.2
- pkgrel = 12
+ pkgrel = 13
url = http://www.freedesktop.org/wiki/Software/Plymouth/
arch = i686
arch = x86_64
@@ -32,6 +32,7 @@ pkgbase = plymouth
source = plymouth-start.path
source = plymouth.initcpio_hook
source = plymouth.initcpio_install
+ source = sd-plymouth.initcpio_install
source = plymouth-quit.service.in.patch
source = plymouth-set-default-theme.in.patch
source = plymouth-update-initrd.patch
@@ -49,6 +50,7 @@ pkgbase = plymouth
md5sums = 672ad913e2383483bcb4599a0a6bee48
md5sums = 32f04fdbd1eb94ade30d1e63fdcdd9b5
md5sums = a6dca3d57fd38b875d0520ec033dbf66
+ md5sums = 83b3b4384593d8bbc43bd21d88eba3e4
md5sums = 165a39dbedcc6e123c8ca05d5b4b2e25
md5sums = f79edbbb30c71b0dbcd102c7dd31660b
md5sums = 0357775c16b5f90f1af485e6a4c80a9e
diff --git a/PKGBUILD b/PKGBUILD
index afdcf423324e..14a8a8a4e9ac 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -6,7 +6,7 @@
pkgname=plymouth
pkgver=0.9.2
-pkgrel=12
+pkgrel=13
pkgdesc="A graphical boot splash screen with kernel mode-setting support"
url="http://www.freedesktop.org/wiki/Software/Plymouth/"
@@ -37,6 +37,7 @@ source=("http://www.freedesktop.org/software/${pkgname}/releases/${pkgname}-${pk
'plymouth-start.path'
'plymouth.initcpio_hook'
'plymouth.initcpio_install'
+ 'sd-plymouth.initcpio_install'
'plymouth-quit.service.in.patch'
'plymouth-set-default-theme.in.patch'
'plymouth-update-initrd.patch')
@@ -55,6 +56,7 @@ md5sums=('ff420994deb7ea203df678df92e7ab7d'
'672ad913e2383483bcb4599a0a6bee48'
'32f04fdbd1eb94ade30d1e63fdcdd9b5'
'a6dca3d57fd38b875d0520ec033dbf66'
+ '83b3b4384593d8bbc43bd21d88eba3e4'
'165a39dbedcc6e123c8ca05d5b4b2e25'
'f79edbbb30c71b0dbcd102c7dd31660b'
'0357775c16b5f90f1af485e6a4c80a9e')
@@ -69,7 +71,8 @@ prepare() {
build() {
cd "$srcdir"/${pkgname}-${pkgver}
- LDFLAGS="$LDFLAGS -ludev" ./configure --prefix=/usr \
+ LDFLAGS="$LDFLAGS -ludev" ./configure \
+ --prefix=/usr \
--exec-prefix=/usr \
--sysconfdir=/etc \
--localstatedir=/var \
@@ -103,6 +106,7 @@ package() {
install -Dm644 "$srcdir/plymouth.encrypt_install" "$pkgdir/usr/lib/initcpio/install/plymouth-encrypt"
install -Dm644 "$srcdir/plymouth.initcpio_hook" "$pkgdir/usr/lib/initcpio/hooks/plymouth"
install -Dm644 "$srcdir/plymouth.initcpio_install" "$pkgdir/usr/lib/initcpio/install/plymouth"
+ install -Dm644 "$srcdir/sd-plymouth.initcpio_install" "$pkgdir/usr/lib/initcpio/install/sd-plymouth"
for i in {gdm,sddm,lxdm,slim,lightdm}-plymouth.service; do
install -Dm644 "$srcdir/$i" "$pkgdir/usr/lib/systemd/system/$i"
diff --git a/sd-plymouth.initcpio_install b/sd-plymouth.initcpio_install
new file mode 100644
index 000000000000..fbae70000fc3
--- /dev/null
+++ b/sd-plymouth.initcpio_install
@@ -0,0 +1,66 @@
+#!/bin/bash
+# /etc/initcpio/install/sd-plymouth — mkinitcpio/systemd hook for plymouth
+
+build() {
+ add_dir /dev/pts
+ add_dir /usr/share/plymouth/themes
+ add_dir /run/plymouth
+
+ DATADIR="/usr/share"
+ PLYMOUTH_LOGO_FILE="${DATADIR}/plymouth/arch-logo.png"
+ PLYMOUTH_THEME_NAME="$(/usr/bin/plymouth-set-default-theme)"
+ PLYMOUTH_MODULE_NAME="$(grep "ModuleName *= *" ${DATADIR}/plymouth/themes/${PLYMOUTH_THEME_NAME}/${PLYMOUTH_THEME_NAME}.plymouth | sed 's/ModuleName *= *//')"
+ PLYMOUTH_PLUGIN_PATH="$(plymouth --get-splash-plugin-path)"
+
+ add_binary /usr/bin/plymouthd
+ add_binary /usr/bin/plymouth
+
+ add_file ${DATADIR}/plymouth/themes/text/text.plymouth
+ add_binary ${PLYMOUTH_PLUGIN_PATH}/text.so
+ add_file ${DATADIR}/plymouth/themes/details/details.plymouth
+ add_binary ${PLYMOUTH_PLUGIN_PATH}/details.so
+
+ add_file "${PLYMOUTH_LOGO_FILE}"
+ add_file /etc/os-release
+ add_file /etc/plymouth/plymouthd.conf
+ add_file ${DATADIR}/plymouth/plymouthd.defaults
+
+ if [ ! -f ${PLYMOUTH_PLUGIN_PATH}/${PLYMOUTH_MODULE_NAME}.so ]; then
+ echo "The default plymouth plugin (${PLYMOUTH_MODULE_NAME}) doesn't exist" > /dev/stderr
+ exit 1
+ fi
+
+ add_binary ${PLYMOUTH_PLUGIN_PATH}/${PLYMOUTH_MODULE_NAME}.so
+
+ add_binary ${PLYMOUTH_PLUGIN_PATH}/renderers/drm.so
+ add_binary ${PLYMOUTH_PLUGIN_PATH}/renderers/frame-buffer.so
+
+ if [ -d ${DATADIR}/plymouth/themes/${PLYMOUTH_THEME_NAME} ]; then
+ for x in ${DATADIR}/plymouth/themes/${PLYMOUTH_THEME_NAME}/* ; do
+ [ ! -f "$x" ] && break
+ add_file $x
+ done
+ fi
+
+ add_udev_rule 70-uaccess.rules
+ add_udev_rule 71-seat.rules
+
+ map add_systemd_unit \
+ systemd-ask-password-plymouth.path \
+ systemd-ask-password-plymouth.service \
+ plymouth-halt.service \
+ plymouth-kexec.service \
+ plymouth-poweroff.service \
+ plymouth-quit-wait.service \
+ plymouth-quit.service \
+ plymouth-read-write.service \
+ plymouth-reboot.service \
+ plymouth-start.service \
+ plymouth-switch-root.service
+}
+
+help() {
+ cat <<HELPEOF
+This hook includes plymouth in a systemd-based initramfs image.
+HELPEOF
+}