summaryrefslogtreecommitdiff
path: root/eclass/live-artwork.eclass
diff options
context:
space:
mode:
Diffstat (limited to 'eclass/live-artwork.eclass')
-rw-r--r--eclass/live-artwork.eclass64
1 files changed, 64 insertions, 0 deletions
diff --git a/eclass/live-artwork.eclass b/eclass/live-artwork.eclass
new file mode 100644
index 00000000..bfe99b3b
--- /dev/null
+++ b/eclass/live-artwork.eclass
@@ -0,0 +1,64 @@
+# Copyright 2004-2009 Sabayon Project
+# Distributed under the terms of the GNU General Public License v2
+# $
+
+inherit eutils
+
+# @ECLASS-VARIABLE: KERN_INITRAMFS_SEARCH_NAME
+# @DESCRIPTION:
+# Argument used by `find` to search inside ${ROOT}boot Linux
+# Kernel initramfs files to patch
+KERN_INITRAMFS_SEARCH_NAME="${KERN_INITRAMFS_SEARCH_NAME:-initramfs-genkernel*}"
+
+# @ECLASS-VARIABLE: GFX_SPLASH_NAME
+# @DESCRIPTION:
+# Default splash theme name to use
+GFX_SPLASH_NAME="${GFX_SPLASH_NAME:-live}"
+
+# @ECLASS-VARIABLE: PLYMOUTH_THEME
+# @DESCRIPTION:
+# Default plymouth theme name to use
+if [ $(cat /etc/hostname) == "kogaion" ] ; then
+ PLYMOUTH_THEME="${PLYMOUTH_THEME:-kogaion}"
+elif [ $(cat /etc/hostname) == "argent" ] ; then
+ PLYMOUTH_THEME="${PLYMOUTH_THEME:-argent}"
+fi
+
+# @FUNCTION: update_kernel_initramfs_splash
+# @USAGE: update_kernel_initramfs_splash [splash_theme] [splash_file]
+# @RETURN: 1, if something went wrong
+#
+# @MAINTAINER:
+# Fabio Erculiani
+update_kernel_initramfs_splash() {
+
+ [[ -z "${2}" ]] && die "wrong update_kernel_splash arguments"
+
+ if ! has_version "media-gfx/splashutils"; then
+ ewarn "media-gfx/splashutils not found, cannot update kernel splash"
+ return 1
+ fi
+ splash_geninitramfs -a "${2}" ${1}
+ return ${?}
+
+}
+
+# @FUNCTION: update_live_kernel_initramfs_splash
+# @USAGE: update_live_kernel_initramfs_splash
+#
+# @MAINTAINER:
+# Fabio Erculiani
+update_live_kernel_initramfs_splash() {
+ local splash_name="${GFX_SPLASH_NAME}"
+ local override_splash_file="${ROOT}etc/oem/splash_name"
+ if [ -f "${override_splash_file}" ]; then
+ found_splash_name=$(cat "${override_splash_file}" | cut -d" " -f 1)
+ if [ -d "/etc/splash/${found_splash_name}" ]; then
+ splash_name="${found_splash_name}"
+ fi
+ fi
+ for bootfile in `find ${ROOT}boot -name "${KERN_INITRAMFS_SEARCH_NAME}"`; do
+ einfo "Updating boot splash for ${bootfile}"
+ update_kernel_initramfs_splash "${GFX_SPLASH_NAME}" "${bootfile}"
+ done
+}