Index: plymouth-0.8.6.1/configure.ac =================================================================== --- plymouth-0.8.6.1.orig/configure.ac +++ plymouth-0.8.6.1/configure.ac @@ -452,6 +452,7 @@ AC_CONFIG_FILES([Makefile themes/spinner/Makefile themes/script/Makefile images/Makefile + scripts/setup-plymouth.sh scripts/plymouth-generate-initrd scripts/plymouth-populate-initrd scripts/plymouth-set-default-theme Index: plymouth-0.8.6.1/scripts/boot-plymouth.chroot.sh =================================================================== --- /dev/null +++ plymouth-0.8.6.1/scripts/boot-plymouth.chroot.sh @@ -0,0 +1,23 @@ +#!/bin/bash +#%stage: setup +#%depends: plymouth +#%programs: /usr/bin/plymouth /usr/sbin/plymouthd /usr/bin/readlink +#%dontshow + +ply_init_is_systemd() +{ + local d="$init" + [ -n "$d" ] || return 1 + if [ -L "/root$d" ]; then + d=`readlink "/root$d"` + fi + [ "${d##*/}" = systemd ] || return 1 + return 0 +} + +if ply_init_is_systemd; then + plymouth update-root-fs --new-root-dir=/root +else + echo "init $init is not systemd, terminate plymouth" + plymouth quit +fi Index: plymouth-0.8.6.1/scripts/boot-plymouth.sh =================================================================== --- /dev/null +++ plymouth-0.8.6.1/scripts/boot-plymouth.sh @@ -0,0 +1,22 @@ +#!/bin/bash +#%stage: boot +#%depends: start udev kms +#%programs: /usr/bin/plymouth /usr/sbin/plymouthd + +enable_plymouth=1 +for o in $(cat /proc/cmdline) ; do + case "$o" in + shell*|plymouth.enable=0*|rd.plymouth=0*) + enable_plymouth=0 + break + ;; + esac +done +if [ "$enable_plymouth" = "1" ]; then + mkdir --mode 755 /run/plymouth + + /usr/sbin/plymouthd --attach-to-session --pid-file /run/plymouth/pid + + plymouth show-splash +fi + Index: plymouth-0.8.6.1/scripts/setup-plymouth.sh.in =================================================================== --- /dev/null +++ plymouth-0.8.6.1/scripts/setup-plymouth.sh.in @@ -0,0 +1,60 @@ +#!/bin/bash +# +#%stage: setup +#%depends: start + +# We don't need to copy the binaries since boot-plymouth.sh does that for us + +[ -z "$tmp_mnt" ] && exit 1 + +THEME=$(plymouth-set-default-theme) + +PLUGIN_PATH=$(plymouth --get-splash-plugin-path) + +MODULE=$(grep "ModuleName *= *" @PLYMOUTH_DATADIR@/plymouth/themes/${THEME}/${THEME}.plymouth | sed 's/ModuleName *= *//') + +if [ ! -f "$PLUGIN_PATH/${MODULE}.so" ]; then + echo "The default plymouth plugin ($MODULE) doesn't exist." > /dev/stderr + exit 1 +fi + +FILES="/usr/share/plymouth/themes/text/text.plymouth \ + /usr/share/plymouth/themes/details/details.plymouth \ + /usr/share/plymouth/plymouthd.defaults \ + /usr/share/plymouth/themes/${THEME}/* \ + /etc/plymouth/plymouthd.conf \ + /usr/share/fonts/uni/unifont.pcf.gz /etc/os-release \ + /etc/fonts/fonts.conf \ + /etc/fonts/conf.d/69-unifont.conf \ + /etc/fonts/conf.avail/69-unifont.conf " + +PLUGINS="${PLUGIN_PATH}/details.so \ + ${PLUGIN_PATH}/text.so \ + ${PLUGIN_PATH}/label.so \ + ${PLUGIN_PATH}/${MODULE}.so \ + ${PLUGIN_PATH}/renderers/drm.so \ + ${PLUGIN_PATH}/renderers/frame-buffer.so" + +for file in $FILES; do + install -D $file $tmp_mnt/$file +done + +for plugin in $PLUGINS; do + mkdir -p $tmp_mnt/$(dirname $plugin) + cp_bin $plugin $tmp_mnt/$plugin +done + +_libdir=`rpm --eval '%{_lib}'` +mkdir -p $tmp_mnt/etc/pango +if [ "$_libdir" == "lib64" ]; + then + _pangodir=`pango-querymodules-64 | grep ModulesPath | awk '{print $4}'` + pango-querymodules-64 > $tmp_mnt/etc/pango/pango.modules + pangobasicfc="${_pangodir}/pango-basic-fc.so" + else + _pangodir=`pango-querymodules | grep ModulesPath | awk '{print $4}'` + pango-querymodules > $tmp_mnt/etc/pango/pango.modules + pangobasicfc="${_pangodir}/pango-basic-fc.so" +fi +install -D ${pangobasicfc} $tmp_mnt/${pangobasicfc} +mkdir -p $tmp_mnt/var/cache/fontconfig Index: plymouth-0.8.6.1/scripts/plymouth-update-initrd =================================================================== --- plymouth-0.8.6.1.orig/scripts/plymouth-update-initrd +++ plymouth-0.8.6.1/scripts/plymouth-update-initrd @@ -1,2 +1,2 @@ #!/bin/bash -mkinitrd -f /boot/initrd-$(uname -r).img $(uname -r) +/sbin/mkinitrd