diff options
Diffstat (limited to 'plymouth/debian/local')
-rw-r--r-- | plymouth/debian/local/debian-logo.png | bin | 0 -> 5834 bytes | |||
-rw-r--r-- | plymouth/debian/local/plymouth-update-initrd | 5 | ||||
-rw-r--r-- | plymouth/debian/local/plymouth.hook | 163 | ||||
-rw-r--r-- | plymouth/debian/local/plymouth.init-bottom | 17 | ||||
-rw-r--r-- | plymouth/debian/local/plymouth.init-premount | 37 | ||||
-rw-r--r-- | plymouth/debian/local/plymouth.lsb | 37 | ||||
-rw-r--r-- | plymouth/debian/local/plymouth.panic | 17 |
7 files changed, 276 insertions, 0 deletions
diff --git a/plymouth/debian/local/debian-logo.png b/plymouth/debian/local/debian-logo.png Binary files differnew file mode 100644 index 0000000..4dec516 --- /dev/null +++ b/plymouth/debian/local/debian-logo.png diff --git a/plymouth/debian/local/plymouth-update-initrd b/plymouth/debian/local/plymouth-update-initrd new file mode 100644 index 0000000..e6847bb --- /dev/null +++ b/plymouth/debian/local/plymouth-update-initrd @@ -0,0 +1,5 @@ +#!/bin/sh + +set -e + +update-initramfs -u diff --git a/plymouth/debian/local/plymouth.hook b/plymouth/debian/local/plymouth.hook new file mode 100644 index 0000000..cf0c3a9 --- /dev/null +++ b/plymouth/debian/local/plymouth.hook @@ -0,0 +1,163 @@ +#!/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_NAME="${THEME}" + THEME="${THEMES}/${THEME}/${THEME}.plymouth" +else + exit 0 +fi + +PLUGIN_PATH="$(plymouth --get-splash-plugin-path)" + +case "${THEME_NAME}" in + text|details|tribar) + PLUGINS="text.so details.so" + ;; + + *) + PLUGINS="text.so details.so label.so" + ;; +esac + +MODULE="${PLUGIN_PATH}/$(sed -n 's/^ModuleName=\(.*\)/\1/p' ${THEME}).so" + +if [ ! -e "$MODULE" ] +then + echo "W: plymouth module ($MODULE) missing, skipping plymouth." + exit 0 +fi + +# copy plugin and images for current theme +copy_exec "${MODULE}" +mkdir -p "${DESTDIR}/${THEMES}" +cp -r "${THEMES}/${THEME_NAME}" "${DESTDIR}/${THEMES}" + +# copy binaries and base plugins +copy_exec /bin/plymouth +copy_exec /sbin/plymouthd + +for PLUGIN in ${PLUGINS} +do + if [ -f ${PLUGIN_PATH}/${PLUGIN} ] + then + copy_exec ${PLUGIN_PATH}/${PLUGIN} + else + echo "W: plymouth: The plugin ${PLUGIN} is missing, the selected theme might not work as expected." + echo "W: plymouth: You might want to install the plymouth-themes package to fix this." + fi +done + +# copy base themes and logo +cp -a "${THEMES}/details" "${DESTDIR}/${THEMES}" +cp -a "${THEMES}/text" "${DESTDIR}/${THEMES}" + +if [ -f /etc/os-release ] +then + cp /etc/os-release "${DESTDIR}/etc" +fi + +case "${THEME_NAME}" in + text|details) + + ;; + + *) + cp /usr/share/plymouth/debian-logo.png "${DESTDIR}/usr/share/plymouth" + + # fontconfig + mkdir -p "${DESTDIR}/etc/fonts/conf.d" + cp -a /etc/fonts/fonts.conf "${DESTDIR}/etc/fonts" + cp -rL /etc/fonts/conf.d/60-latin.conf "${DESTDIR}/etc/fonts/conf.d" + mkdir -p "${DESTDIR}/var/cache/fontconfig" + # This is only needed because fc-cache bellow fails if the directory doesn't exist + mkdir -p "${DESTDIR}/usr/local/share/fonts" + + # fonts-dejavu + if [ -e /usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf ] + then + # jessie + mkdir -p "${DESTDIR}/usr/share/fonts/truetype/dejavu" + cp -a /usr/share/fonts/truetype/dejavu/DejaVuSerif.ttf "${DESTDIR}/usr/share/fonts/truetype/dejavu" + cp -a /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf "${DESTDIR}/usr/share/fonts/truetype/dejavu" + else + # wheezy + mkdir -p "${DESTDIR}/usr/share/fonts/truetype/ttf-dejavu" + cp -a /usr/share/fonts/truetype/ttf-dejavu/DejaVuSerif.ttf "${DESTDIR}/usr/share/fonts/truetype/ttf-dejavu" + cp -a /usr/share/fonts/truetype/ttf-dejavu/DejaVuSans.ttf "${DESTDIR}/usr/share/fonts/truetype/ttf-dejavu" + fi + fc-cache -s -y "${DESTDIR}" > /dev/null 2>&1 + + # pango + if ls /usr/lib/@DEB_HOST_MULTIARCH@/pango/1* > /dev/null 2>&1 + then + # wheezy + PANGO_VERSION="$(ls /usr/lib/@DEB_HOST_MULTIARCH@/pango)" + + mkdir -p "${DESTDIR}/usr/lib/@DEB_HOST_MULTIARCH@/pango/${PANGO_VERSION}/module-files.d" + mkdir -p "${DESTDIR}/usr/lib/@DEB_HOST_MULTIARCH@/pango/${PANGO_VERSION}/modules" + cp /usr/lib/@DEB_HOST_MULTIARCH@/pango/${PANGO_VERSION}/module-files.d/libpango1.0-0.modules ${DESTDIR}/usr/lib/@DEB_HOST_MULTIARCH@/pango/${PANGO_VERSION}/module-files.d/ + copy_exec /usr/lib/@DEB_HOST_MULTIARCH@/pango/${PANGO_VERSION}/modules/pango-basic-fc.so + else + # jessie + copy_exec /usr/lib/@DEB_HOST_MULTIARCH@/libpango-1.0.so.0 + fi + ;; +esac + +# add drm modules +copy_modules_dir kernel/drivers/gpu/drm mga r128 savage sis tdfx via + +# copy renderers +copy_exec /usr/lib/@DEB_HOST_MULTIARCH@/plymouth/renderers/frame-buffer.so +copy_exec /usr/lib/@DEB_HOST_MULTIARCH@/plymouth/renderers/drm.so + +# 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/" + +# temporarily include dummy root account lookup (#691598) +if ! grep -qs '^root:' "${DESTDIR}/etc/passwd" +then + echo "root:x:0:0:root:/root:/bin/sh" >> "${DESTDIR}/etc/passwd" +fi + +if ! grep -qs '^passwd: files' "${DESTDIR}/etc/nsswitch.conf" +then + echo "passwd: files" >> "${DESTDIR}/etc/nsswitch.conf" +fi + +for _LIBRARY in /lib/@DEB_HOST_MULTIARCH@/libnss_files* +do + if [ -e "${_LIBRARY}" ] + then + copy_exec "${_LIBRARY}" + fi +done diff --git a/plymouth/debian/local/plymouth.init-bottom b/plymouth/debian/local/plymouth.init-bottom new file mode 100644 index 0000000..e7d9249 --- /dev/null +++ b/plymouth/debian/local/plymouth.init-bottom @@ -0,0 +1,17 @@ +#!/bin/sh + +PREREQ="udev" + +prereqs() +{ + echo "${PREREQ}" +} + +case ${1} in + prereqs) + prereqs + exit 0 + ;; +esac + +/bin/plymouth --newroot=${rootmnt} diff --git a/plymouth/debian/local/plymouth.init-premount b/plymouth/debian/local/plymouth.init-premount new file mode 100644 index 0000000..e5a7db6 --- /dev/null +++ b/plymouth/debian/local/plymouth.init-premount @@ -0,0 +1,37 @@ +#!/bin/sh + +PREREQ="udev" + +prereqs() +{ + echo "${PREREQ}" +} + +case ${1} in + prereqs) + prereqs + exit 0 + ;; +esac + +SPLASH="true" + +for ARGUMENT in $(cat /proc/cmdline) +do + case "${ARGUMENT}" in + splash*) + SPLASH="true" + ;; + + nosplash*|plymouth.enable=0) + SPLASH="false" + ;; + esac +done + +if [ "${SPLASH}" = "true" ] +then + mkdir -m 0755 /run/plymouth + /sbin/plymouthd --mode=boot --attach-to-session --pid-file=/run/plymouth/pid + /bin/plymouth --show-splash +fi diff --git a/plymouth/debian/local/plymouth.lsb b/plymouth/debian/local/plymouth.lsb new file mode 100644 index 0000000..ab13585 --- /dev/null +++ b/plymouth/debian/local/plymouth.lsb @@ -0,0 +1,37 @@ +# /lib/lsb/init-functions.d/99-plymouth + +# Abort sourcing of this file if plymouth isn't active +if ! plymouth --ping > /dev/null 2>&1 +then + return +fi + +log_begin_msg_post () +{ + /bin/plymouth update --status="${@}" || true + } + +log_end_msg_post () +{ + : +} + +log_action_begin_msg_post () +{ + /bin/plymouth update --status="${@}" || true +} + +log_action_end_msg_post () +{ + : +} + +log_action_msg_post () +{ + /bin/plymouth update --status="${@}" || true +} + +log_daemon_msg_post () +{ + /bin/plymouth update --status="${@}" || true +} diff --git a/plymouth/debian/local/plymouth.panic b/plymouth/debian/local/plymouth.panic new file mode 100644 index 0000000..39e4532 --- /dev/null +++ b/plymouth/debian/local/plymouth.panic @@ -0,0 +1,17 @@ +#!/bin/sh + +PREREQ="udev" + +prereqs() +{ + echo "$PREREQ" +} + +case $1 in +prereqs) + prereqs + exit 0 + ;; +esac + +/bin/plymouth quit |