# Copyright 1999-2004 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/media-gfx/bootsplash/bootsplash-0.6-r14.ebuild,v 1.5 2004/04/25 22:34:05 mholzer Exp $ IUSE="livecd" S=${WORKDIR}/${PF} DESCRIPTION="Graphical backgrounds for frame buffer consoles" HOMEPAGE="http://www.bootsplash.org/ http://linux.tkdack.com/" SRC_URI="mirror://gentoo/${PF}.tar.bz2 http://dev.gentoo.org/~spock/portage/distfiles/${PF}.tar.bz2" SLOT="0" LICENSE="GPL-2" KEYWORDS="x86 ~amd64" DEPEND=">=media-libs/freetype-2 media-libs/libmng" src_compile() { # compile utils # the util builds but the rc scripts have not been modified # animated boot up require patches to the baselayout package cd ${S}/utils emake -C fbmngplay || die emake -C fbtruetype || die emake -C splashutils || die cd ${S} } src_install() { # Splash utilities exeinto /sbin doexe utils/fbmngplay/fbmngplay{,.static} doexe utils/fbtruetype/fbtruetype{,.static} doexe misc/bootsplash_resize newexe utils/splashutils/splash splash.bin doexe misc/splash doexe utils/splashutils/{fbresolution,getkey,progress} exeinto /usr/lib/${PN} doexe misc/bootsplash_resizer.pl dodir /etc/${PN} cp -pR themes/* ${D}/etc/${PN} # link default config for boot images if not already set if [ ! -e ${ROOT}/etc/bootsplash/default ]; then use livecd \ && dosym ./livecd-2004.1 /etc/bootsplash/default \ || dosym ./gentoo /etc/bootsplash/default fi exeinto /etc/init.d doexe misc/bootsplash insinto /etc/conf.d newins misc/bootsplash.conf bootsplash insinto /usr/share/${PN} doins kernel/*.bz2 misc/grub.conf.sample sed -i "s:${PN}:${PF}:g" misc/bootsplash_patch into / dosbin misc/bootsplash_patch fperms 0754 /sbin/bootsplash_patch } pkg_postinst() { # has to be done here so that the initrd images are created properly if [ "${ROOT}" = "/" ] then for THEME in `ls /etc/bootsplash` do if [ -d /etc/bootsplash/${THEME} ] && [ "${THEME}" != "default" ] then for SIZE in 800x600 1024x768 1280x1024 1600x1200 do /sbin/splash -s -f \ /etc/bootsplash/${THEME}/config/bootsplash-${SIZE}.cfg \ > /usr/share/${PN}/initrd-${THEME}-${SIZE} done fi done fi # rename bootsplash config file to fit with the standard if [ -f ${ROOT}/etc/conf.d/bootsplash.conf ] then mv -f ${ROOT}/etc/conf.d/bootsplash.conf ${ROOT}/etc/conf.d/bootsplash fi echo "" einfo "Execute \`bootsplash_patch\` to have your kernel sources in" einfo "/usr/src/linux patched with the Framebuffer Bootsplash patches." einfo einfo "You can also use:" einfo " bootsplash_patch /path/to/your/custom/kernel/" einfo "to patch your custom kernel sources." echo "" ewarn "If you have already patched the kernel then you only need to copy" ewarn "an initrd from /usr/share/${PN} to /boot" echo "" einfo "Run:" einfo " rc-update add bootsplash default" einfo "to change the console images after startup" echo "" einfo "Please note that in case /sbin is a separate partition" einfo "you'll need to use the statically linked versions of Bootplash" einfo 'utilities (fbmngplay.static, fbtruetype.static) during boot-time.' echo "" einfo "If you would like to have a better quality background picture" einfo "from the Gentoo theme and you don't care about a few more kilobytes" einfo "of used memory, try the gentoo-highquality theme which you can" einfo "download from:" einfo "http://dev.gentoo.org/~spock/stuff/bootsplash/gentoo-highquality.tar.bz2" echo "" einfo "After the download is complete, unpack the files to /etc/bootsplash/" echo "" einfo "If you want to automatically generate configs for a new resolution" einfo "you can use the \`bootsplash_resize\` script. More info:" einfo " bootsplash_resize -h" echo "" } pkg_config() { if [ "${LINUX}" == "" ]; then LINUX='/usr/src/linux' fi eval `sed -n -e 's/^\([A-Z]*\) = \([0-9]*\)$/\1=\2/p' -e 's/^\([A-Z]*\) = \(-[-a-z0-9]*\)$/\1=\2/p' ${LINUX}/Makefile` if [ -z "$VERSION" -o -z "$PATCHLEVEL" -o -z "$SUBLEVEL" ] then die "Unable to determine kernel version in ${LINUX}" fi KB="${VERSION}.${PATCHLEVEL}" KV_MINOR="${SUBLEVEL}" ewarn ewarn "Patching the kernel (branch: ${KB}) in ${LINUX} ..." ewarn cd ${ROOT}/${LINUX} if [ "${KB}" == "2.4" ]; then if [ -f drivers/video/fbcon-splash.c ]; then eerror eerror "It appears your kernel has already been patched." eerror exit 1 fi if [ ${KV_MINOR} -ge 22 ]; then bzip2 -dc ${ROOT}/usr/share/${PN}/${PN}-3.0.7-2.4.22-vanilla.diff.bz2 \ | patch -p1 || die else bzip2 -dc ${ROOT}/usr/share/${PN}/${PN}-3.0.7-2.4.20-vanilla.diff.bz2 \ | patch -p1 || die fi elif [ "${KB}" == "2.6" ]; then if [ -d drivers/video/bootsplash ]; then eerror eerror "It appears your kernel has already been patched." eerror exit 1 fi if [ ${KV_MINOR} -ge 5 ]; then bzip2 -dc ${ROOT}/usr/share/${PN}/${PN}-3.1.4-2.6.5.patch.bz2 \ | patch -p1 || die elif [ ${KV_MINOR} -ge 3 ]; then bzip2 -dc ${ROOT}/usr/share/${PN}/${PN}-3.1.4-2.6.3.diff.bz2 \ | patch -p1 || die else bzip2 -dc ${ROOT}/usr/share/${PN}/${PN}-3.1.3-2.6.0-test9.diff.bz2 \ | patch -p1 || die fi else die "Sorry, this kernel branch is not supported." fi ewarn ewarn " ... complete." einfo einfo "Your kernel has been patched, rebuild with the following options" einfo "enabled (do not build them as modules!):" einfo " Block Devices ->" einfo " [*] RAM disk support" einfo " [*] Loopback device support" einfo " [*] Initial RAM disk (initrd) support" einfo einfo " Console Drivers ->" einfo " [*] Video mode selection support" einfo " Frame-buffer support ->" einfo " [*] Support for frame buffer devices" einfo " [*] VESA VGA graphics console" einfo " [*] Use splash screen instead of boot logo" einfo einfo "Copy an initrd from /usr/share/${PN} to /boot" einfo einfo "Look at \"/usr/share/${PN}/grub.conf.sample\" for an example" einfo "grub.conf file with the appropriate changes to enable the" einfo "framebuffer boot screens" einfo einfo "Ensure you make the appropriate changes to your grub.conf" echo "" ewarn "Note that bootsplash will not work with kernels which have CONFIG_REGPARM" ewarn "(Processor type and features -> Use register arguments) option enabled." echo "" }