diff options
Diffstat (limited to 'eclass')
-rw-r--r-- | eclass/redcore-artwork.eclass | 61 | ||||
-rw-r--r-- | eclass/redcore-kernel.eclass | 6 |
2 files changed, 65 insertions, 2 deletions
diff --git a/eclass/redcore-artwork.eclass b/eclass/redcore-artwork.eclass new file mode 100644 index 00000000..425c9548 --- /dev/null +++ b/eclass/redcore-artwork.eclass @@ -0,0 +1,61 @@ +# Copyright 2004-2009 Sabayon Project +# Copyright 2012-2015 Rogentos 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:-redcore}" #we leave this for the moment, even not used + +# @ECLASS-VARIABLE: PLYMOUTH_THEME +# @DESCRIPTION: +# Default plymouth theme name to use +PLYMOUTH_THEME="${PLYMOUTH_THEME:-redcore}" + +# @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_redcore_kernel_initramfs_splash +# @USAGE: update_redcore_kernel_initramfs_splash +# +# @MAINTAINER: +# Stefan Cristian B. +update_redcore_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 +} diff --git a/eclass/redcore-kernel.eclass b/eclass/redcore-kernel.eclass index ee4a72bd..f8960a94 100644 --- a/eclass/redcore-kernel.eclass +++ b/eclass/redcore-kernel.eclass @@ -177,7 +177,7 @@ if [ "${K_KERNEL_NEW_VERSIONING}" = "1" ]; then CKV="$(get_version_component_range 1-2)" fi -inherit eutils multilib kernel-2 mount-boot linux-info +inherit eutils multilib kernel-2 redcore-artwork mount-boot linux-info # from kernel-2 eclass detect_version @@ -493,7 +493,7 @@ _kernel_src_compile() { local GKARGS=() GKARGS+=( "--no-menuconfig" "--all-ramdisk-modules" "--no-save-config" "--e2fsprogs" "--udev" ) use btrfs && GKARGS+=( "--btrfs" ) - use plymouth && GKARGS+=( "--plymouth" "--plymouth-theme=redcore" ) + use plymouth && GKARGS+=( "--plymouth" "--plymouth-theme=${PLYMOUTH_THEME}" ) use dmraid && GKARGS+=( "--dmraid" ) use iscsi && GKARGS+=( "--iscsi" ) use mdadm && GKARGS+=( "--mdadm" ) @@ -739,6 +739,8 @@ _remove_dkms_modules() { redcore-kernel_pkg_postinst() { if _is_kernel_binary; then + # Update kernel initramfs to match user customizations + use splash && update_redcore_kernel_initramfs_splash # generate initramfs with dracut if use dracut ; then _dracut_initramfs_create |