#!/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) ;; *) # copy files for font rendering mkdir -p "${DESTDIR}/usr/share/fonts/truetype/ttf-dejavu" 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/truetype/ttf-dejavu" cp -a /usr/share/fonts/TTF/DejaVuSans.ttf "${DESTDIR}/usr/share/fonts/truetype/ttf-dejavu" 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 # pre-multiarch fallback PANGO_DIR=/usr/lib/pango/1.6.0 fi mkdir -p "${DESTDIR}${PANGO_DIR}/modules" mkdir -p "${DESTDIR}/etc/pango" cp /etc/pango/pango.modules ${DESTDIR}/etc/pango 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 # add drm/fb modules manual_add_modules intel-agp manual_add_modules ati-agp manual_add_modules i915 manual_add_modules radeon ;; 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/"