void-packages/srcpkgs/plymouth/files/plymouth.hook

102 lines
2.2 KiB
Bash

#!/bin/sh
set -e
PREREQ=""
prereqs()
{
echo "${PREREQ}"
}
case "${1}" in
prereqs)
prereqs
exit 0
;;
esac
. /usr/share/initramfs-tools/hook-functions
THEME="$(/usr/sbin/plymouth-set-default-theme || true)"
THEMES="/usr/share/plymouth/themes"
if [ -n "${THEME}" ]; then
THEME="${THEMES}/${THEME}/${THEME}.plymouth"
else
exit 0
fi
PLUGIN_PATH="$(plymouth --get-splash-plugin-path)"
case "$(basename ${THEME} .plymouth)" in
text)
PLUGINS="details.so text.so"
;;
*)
PLUGINS="details.so text.so label.so"
;;
esac
MODULE="${PLUGIN_PATH}/$(sed -n 's/^ModuleName=\(.*\)/\1/p' ${THEME}).so"
# copy plugin and images for current theme
copy_exec "${MODULE}"
mkdir -p "${DESTDIR}/${THEMES}"
IMAGES="$(sed -n 's/^ImageDir=\(.*\)/\1/p' ${THEME})"
# No images in text mode:
if [ -n "${IMAGES}" ]; then
cp -r "${IMAGES}" "${DESTDIR}/${THEMES}"
fi
# copy binaries and base plugins
copy_exec /bin/plymouth
copy_exec /sbin/plymouthd
for PLUGIN in ${PLUGINS}; do
copy_exec ${PLUGIN_PATH}/${PLUGIN}
done
# copy base themes and logo
cp -a "${THEMES}/details" "${DESTDIR}/${THEMES}"
cp -a "${THEMES}/text" "${DESTDIR}/${THEMES}"
cp /etc/os-release "${DESTDIR}/etc"
case "$(basename ${THEME} .plymouth)" in
text)
;;
*)
# Void splash image
cp /usr/share/void-artwork/splash.png "${DESTDIR}/usr/share/plymouth"
# copy files for font rendering
mkdir -p "${DESTDIR}/usr/share/fonts/TTF"
mkdir -p "${DESTDIR}/etc/fonts/conf.d"
mkdir -p "${DESTDIR}/var/cache/fontconfig"
cp -a /usr/share/fonts/TTF/DejaVuSerif.ttf "${DESTDIR}/usr/share/fonts/TTF"
cp -a /usr/share/fonts/TTF/DejaVuSans.ttf "${DESTDIR}/usr/share/fonts/TTF"
cp -a /etc/fonts/fonts.conf "${DESTDIR}/etc/fonts"
cp -rL /etc/fonts/conf.d/60-latin.conf "${DESTDIR}/etc/fonts/conf.d"
if [ -d /usr/lib/pango/1.6.0 ]; then
PANGO_DIR=/usr/lib/pango/1.6.0
fi
copy_exec ${PANGO_DIR}/modules/pango-basic-fc.so
# copy renderers
copy_exec /usr/lib/plymouth/renderers/frame-buffer.so
copy_exec /usr/lib/plymouth/renderers/drm.so
;;
esac
# copy config files
mkdir -p "${DESTDIR}/etc/plymouth"
if [ -r /etc/plymouth/plymouthd.conf ]; then
cp -a /etc/plymouth/plymouthd.conf "${DESTDIR}/etc/plymouth/"
fi
cp -a /usr/share/plymouth/plymouthd.defaults "${DESTDIR}/usr/share/plymouth/"