summaryrefslogtreecommitdiffstats
path: root/abs/core/plymouth/plymouth.initcpio_install
blob: 16048f1c45660f95c3884fabb87886a89e159655 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
build() {
	add_dir /dev/pts
	add_dir /usr/share/plymouth/themes

	DATADIR="/usr/share"
	PLYMOUTH_LOGO_FILE="${DATADIR}/plymouth/arch-logo.png"
	PLYMOUTH_THEME_NAME="$(/usr/sbin/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/sbin/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/system-release /etc/system-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/x11.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

	# suppress a warning in glib (which the label control uses)
	# about uid 0 by building a dummy NSS stack (LP #649917)
	add_file /etc/passwd
	add_file /etc/nsswitch.conf
	add_binary "$(readlink -e /lib/libnss_files.so.2)"
	add_file /lib/libnss_files.so.2

	SCRIPT='plymouth'
}

help() {
	echo "This hook includes plymouth in the initramfs image."
}

# vim: set ft=sh:
#EOF