overlay/eclass/sabayon-artwork.eclass

56 lines
1.6 KiB
Bash

# 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:-sabayon}"
# @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_sabayon_kernel_initramfs_splash
# @USAGE: update_sabayon_kernel_initramfs_splash
#
# @MAINTAINER:
# Fabio Erculiani
update_sabayon_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
}