summaryrefslogtreecommitdiffstats
path: root/abs/core/plymouth/plymouth.install
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/plymouth/plymouth.install')
-rw-r--r--abs/core/plymouth/plymouth.install80
1 files changed, 39 insertions, 41 deletions
diff --git a/abs/core/plymouth/plymouth.install b/abs/core/plymouth/plymouth.install
index aafcca8..9194805 100644
--- a/abs/core/plymouth/plymouth.install
+++ b/abs/core/plymouth/plymouth.install
@@ -1,45 +1,43 @@
-post_install() {
-cat <<EOT
-
-==================================================================================
-1. To make Plymouth work:
- 1.1. Add "plymouth" to HOOKS after "base" and "udev" in /etc/mkinitcpio.conf
- 1.2. Add 'quiet splash' to the grub command line
- 1.3. Rebuild your initrd image (# mkinitcpio -p [kernel preset name]).
- E.g.: sudo mkinitcpio -p linux
-
-2. To enable encryption, replace "encrypt" with "plymouth-encrypt" in
- mkinitcpio.conf and rebuild your initrd image.
-
-3. You will also need to rebuild your initrd image every time you change your theme
- (the default is set as 'spinfinity').
-
- To list all plymouth themes:
- plymouth-set-default-theme -l
-
- To change theme:
- # plymouth-set-default-theme <theme>
-
- To rebuild initrd image:
- # mkinitcpio -p linux
-
-4. For Smooth Transition to Display Manager you have to:
- 4.1. See the Wiki Page (link in 5) to prepare your Display Manager
- 4.2. Disable your Display Manager Unit
- E.g. : systemctl disable kdm.service
- 4.3. Enable the respective DM-plymouth Unit (GDM,KDM,Lightdm,LXDM units provided)
- E.g. : systemctl enable kdm-plymouth.service
-
-5. For more information please visit the Wiki page:
- https://wiki.archlinux.org/index.php/Plymouth
-
-OBS. If you have any leftover "kill Plymouth" lines in /etc/rc.local or ~/.xinitrc
- they are no longer required.
-==================================================================================
+build() {
+ theme="$(get_theme "/etc/plymouth/plymouthd.conf")"
+ if [[ "$theme" ]]; then
+ add_file /etc/plymouth/plymouthd.conf
+ else
+ # fallback
+ theme="$(get_theme "/usr/share/plymouth/plymouthd.defaults")"
+ if [[ ! "$theme" ]]; then
+ echo "no theme set for plymouth"
+ exit 1
+ fi
+ add_file /usr/share/plymouth/plymouthd.defaults
+ fi
+
+ if [[ ! -d "/usr/share/plymouth/themes/$theme" ]]; then
+ echo "invalid plymouth theme: $theme"
+ exit 1
+ fi
+
+ module="$(get_module "$theme")"
+ add_file /usr/share/plymouth/arch-logo.png
+
+ add_binary /usr/bin/plymouthd
+ add_binary /usr/bin/plymouth
+
+ add_binary /usr/lib/plymouth/renderers/drm.so
+ add_binary /usr/lib/plymouth/renderers/frame-buffer.so
+
+ add_binary /usr/lib/plymouth/$module.so
+ add_full_dir /usr/share/plymouth/themes/$theme
+
+ add_runscript
+}
-EOT
+# $1 = file
+get_theme() {
+ grep ^Theme= "$1" | cut -d = -f 2-
}
-post_upgrade() {
- post_install
+# $1 = theme
+get_module() {
+ grep ^ModuleName= "/usr/share/plymouth/themes/$1/$1.plymouth" | cut -d = -f 2-
}