From 8d06db017f2d373104f504138a3810a195f4f94a Mon Sep 17 00:00:00 2001 From: Michael Januszewski Date: Tue, 13 Mar 2007 16:39:23 +0000 Subject: Version bump. (Portage version: 2.1.2.2) --- media-gfx/splashutils/ChangeLog | 9 +- .../splashutils/files/digest-splashutils-1.3.1 | 21 ++ .../splashutils-gentoo-0.5.4-old-baselayout.patch | 218 +++++++++++++++++++++ media-gfx/splashutils/splashutils-1.3.1.ebuild | 216 ++++++++++++++++++++ 4 files changed, 463 insertions(+), 1 deletion(-) create mode 100644 media-gfx/splashutils/files/digest-splashutils-1.3.1 create mode 100644 media-gfx/splashutils/files/splashutils-gentoo-0.5.4-old-baselayout.patch create mode 100644 media-gfx/splashutils/splashutils-1.3.1.ebuild (limited to 'media-gfx') diff --git a/media-gfx/splashutils/ChangeLog b/media-gfx/splashutils/ChangeLog index f3423c5fe845..35d1c2640e42 100644 --- a/media-gfx/splashutils/ChangeLog +++ b/media-gfx/splashutils/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for media-gfx/splashutils # Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-gfx/splashutils/ChangeLog,v 1.73 2007/02/17 11:36:41 spock Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-gfx/splashutils/ChangeLog,v 1.74 2007/03/13 16:39:23 spock Exp $ + +*splashutils-1.3.1 (13 Mar 2007) + + 13 Mar 2007; Michał Januszewski + +files/splashutils-gentoo-0.5.4-old-baselayout.patch, + +splashutils-1.3.1.ebuild: + Version bump. 17 Feb 2007; Michał Januszewski splashutils-1.3-r2.ebuild, splashutils-1.3-r3.ebuild: diff --git a/media-gfx/splashutils/files/digest-splashutils-1.3.1 b/media-gfx/splashutils/files/digest-splashutils-1.3.1 new file mode 100644 index 000000000000..d3b423bd951e --- /dev/null +++ b/media-gfx/splashutils/files/digest-splashutils-1.3.1 @@ -0,0 +1,21 @@ +MD5 ec1b903e4be5f073caa72458ea58c29c freetype-2.1.9.tar.bz2 992394 +RMD160 1dd8fb6fda8b159ef0d2ebedeca99a67ed65dc72 freetype-2.1.9.tar.bz2 992394 +SHA256 4dabc3b38405f5c5f03b8f14d8902a9d506713182baf2baec9dea509515d4b6f freetype-2.1.9.tar.bz2 992394 +MD5 dbd5f3b47ed13132f04c685d608a7547 jpegsrc.v6b.tar.gz 613261 +RMD160 18892206014fbb8cae2a44e281f4ed53feaf7882 jpegsrc.v6b.tar.gz 613261 +SHA256 75c3ec241e9996504fe02a9ed4d12f16b74ade713972f3db9e65ce95cd27e35d jpegsrc.v6b.tar.gz 613261 +MD5 00cea4539bea4bd34cbf8b82ff9589cd libpng-1.2.8.tar.bz2 384970 +RMD160 7de7456faaa4e4361b6b7ed74c87f0702f9cc88c libpng-1.2.8.tar.bz2 384970 +SHA256 9bec729a1e77d8bbc5800b14aa81f09290aa18daa40f344103f2c0d1d681531b libpng-1.2.8.tar.bz2 384970 +MD5 20fc3ed2407edc8cd97623bf7f1c5c7b miscsplashutils-0.1.5.tar.bz2 91898 +RMD160 1930081408fd6bad6f60db883127f22ff727f83e miscsplashutils-0.1.5.tar.bz2 91898 +SHA256 906163c75d487a00ba7d6b287e20e4ce195febcd4fdb8592d53827c2f8a28142 miscsplashutils-0.1.5.tar.bz2 91898 +MD5 f29193cf6492f2b2700a7359fbab767b splashutils-gentoo-0.5.4.tar.bz2 6631 +RMD160 dde17340439121f6d2da021c2f8ac84d35411645 splashutils-gentoo-0.5.4.tar.bz2 6631 +SHA256 401cbc912d26be430b827203d6a94c2bab5aa0b6eead2010c0397f52643e6f74 splashutils-gentoo-0.5.4.tar.bz2 6631 +MD5 08f338d01cb18c11b5a465ef98df84ea splashutils-lite-1.3.1.tar.bz2 61506 +RMD160 14f47119523c5eca24482429c37d393e32562c3c splashutils-lite-1.3.1.tar.bz2 61506 +SHA256 45ab13d25ff941e9920ec2f941bc450794b869658fdcee13d72595708d569e39 splashutils-lite-1.3.1.tar.bz2 61506 +MD5 dee233bf288ee795ac96a98cc2e369b6 zlib-1.2.3.tar.bz2 425209 +RMD160 cfba9984b354dcc38da49331457e6bfc861c6f51 zlib-1.2.3.tar.bz2 425209 +SHA256 e3b9950851a19904d642c4dec518623382cf4d2ac24f70a76510c944330d28ca zlib-1.2.3.tar.bz2 425209 diff --git a/media-gfx/splashutils/files/splashutils-gentoo-0.5.4-old-baselayout.patch b/media-gfx/splashutils/files/splashutils-gentoo-0.5.4-old-baselayout.patch new file mode 100644 index 000000000000..02fed04fa279 --- /dev/null +++ b/media-gfx/splashutils/files/splashutils-gentoo-0.5.4-old-baselayout.patch @@ -0,0 +1,218 @@ +diff -Naurp splashutils-gentoo-0.5.4-orig/splash-functions.sh splashutils-gentoo-0.5.4/splash-functions.sh +--- splashutils-gentoo-0.5.4-orig/splash-functions.sh 2007-03-13 14:24:42.000000000 +0100 ++++ splashutils-gentoo-0.5.4/splash-functions.sh 2007-03-13 14:30:14.000000000 +0100 +@@ -489,10 +489,39 @@ splash_cache_prep() { + return "${retval}" + fi + ++ # Copy the dependency cache and services lists to our new cache dir. ++ # With some luck, we won't have to update it. ++ cp -a ${svcdir}/{depcache,deptree} "${spl_tmpdir}" 2>/dev/null ++ cp -a ${spl_cachedir}/{svcs_start,svcs_stop,levels} "${spl_tmpdir}" 2>/dev/null ++ ++ # Now that the data from the old cache is copied, move tmpdir to cachedir. + mount -n --move "${spl_tmpdir}" "${spl_cachedir}" + ++ h=$(stat -c '%y' ${spl_cachedir}/deptree 2>/dev/null) ++ ++ # Point depscan.sh to our cachedir ++ /sbin/depscan.sh --svcdir "${spl_cachedir}" ++ + if [[ "$1" == "start" ]]; then +- echo $(splash_svclist_update "start") > ${spl_cachedir}/svcs_start ++ # Check whether the list of services that will be started during boot ++ # needs updating. This is generally the case if: ++ # - one of the caches doesn't exist ++ # - our deptree was out of date ++ # - we're booting with a different boot/default level than the last time ++ # - one of the runlevel dirs has been modified since the last boot ++ if [[ ! -e ${spl_cachedir}/levels || \ ++ ! -e ${spl_cachedir}/svcs_start ]]; then ++ echo $(splash_svclist_update "start") > ${spl_cachedir}/svcs_start ++ else ++ local lastlev timestamp ++ { read lastlev; read timestamp; } < ${spl_cachedir}/levels ++ if [[ "${lastlev}" != "${BOOTLEVEL}/${DEFAULTLEVEL}" || \ ++ "${timestamp}" != "$(stat -c '%y' /etc/runlevels/${BOOTLEVEL})/$(stat -c '%y' /etc/runlevels/${DEFAULTLEVEL})" || \ ++ "$(stat -c '%y' ${spl_cachedir}/deptree)" != "${h}" ]]; then ++ echo $(splash_svclist_update "start") > ${spl_cachedir}/svcs_start ++ fi ++ fi ++ + echo -n > ${spl_cachedir}/profile + fi + +@@ -524,7 +553,17 @@ splash_cache_cleanup() { + # writable, update it to avoid stale mtab entries (bug #121827). + local mntopt="" + [[ -w /etc/mtab ]] || mntopt="-n" +- umount ${mntopt} -l "${spl_tmpdir}" 2>/dev/null ++ mount ${mntopt} --move "${spl_cachedir}" "${spl_tmpdir}" 2>/dev/null ++ ++ # Don't try to copy anything if the cachedir is not writable. ++ [[ -w "${spl_cachedir}" ]] || return; ++ ++ cp -a "${spl_tmpdir}"/{envcache,depcache,deptree,svcs_start,svcs_stop,profile} "${spl_cachedir}" 2>/dev/null ++ echo "${BOOTLEVEL}/${DEFAULTLEVEL}" > "${spl_cachedir}/levels" ++ echo "$(stat -c '%y' /etc/runlevels/${BOOTLEVEL})/$(stat -c '%y' /etc/runlevels/${DEFAULTLEVEL})" \ ++ >> "${spl_cachedir}/levels" ++ ++ umount -l "${spl_tmpdir}" 2>/dev/null + } + + ########################################################################### +@@ -557,32 +596,133 @@ splash_svclist_get() { + } + + splash_svclist_update() { +- local svcs= order= x= dlvl="${SOFTLEVEL}" ++ ( ++ # Source our own deptree and required functions ++ source ${spl_cachedir}/deptree ++ [[ ${RC_GOT_SERVICES} != "yes" ]] && source "${svclib}/sh/rc-services.sh" ++ ++ svcs_started=" " ++ svcs_order="" ++ ++ # We're sure our depcache is up-to-date, no need to waste ++ # time checking mtimes. ++ check_mtime() { ++ return 0 ++ } ++ ++ is_net_up() { ++ local netcount=0 ++ ++ case "${RC_NET_STRICT_CHECKING}" in ++ lo) ++ netcount="$(echo ${svcs_started} | tr ' ' '\n' | \ ++ egrep -c "\/net\..*$")" ++ ;; ++ *) ++ netcount="$(echo ${svcs_started} | tr ' ' '\n' | \ ++ grep -v 'net\.lo' | egrep -c "\/net\..*$")" ++ ;; ++ esac ++ ++ # Only worry about net.* services if this is the last one running, ++ # or if RC_NET_STRICT_CHECKING is set ... ++ if [[ ${netcount} -lt 1 || ${RC_NET_STRICT_CHECKING} == "yes" ]]; then ++ return 1 ++ fi ++ ++ return 0 ++ } + +- for x in $(dolisting /etc/runlevels/${BOOTLEVEL}) \ +- $(dolisting ${svcdir}/coldplugged) ; do +- svcs="${svcs} ${x##*/}" +- if [[ ${x##*/} == "autoconfig" ]] ; then +- svcs="${svcs} $(. /etc/init.d/autoconfig; list_services)" ++ service_started() { ++ if [[ -z "${svcs_started/* ${1} */}" ]]; then ++ return 0 ++ else ++ return 1 + fi +- done +- order=$(rc-depend -ineed -iuse -iafter ${svcs}) ++ } ++ ++ # This simulates the service startup and has to mimic the behaviour of ++ # svc_start() from /sbin/runscript.sh and start_service() from rc-functions.sh ++ # as closely as possible. ++ start_service() { ++ local svc="$1" + +- # We call rc-depend twice so we get the ordering exactly right +- svcs= +- if [[ ${SOFTLEVEL} == "${BOOTLEVEL}" ]] ; then +- dlvl="${DEFAULTLEVEL}" +- fi +- for x in $(dolisting /etc/runlevels/"${dlvl}") ; do +- svcs="${svcs} ${x##*/}" +- if [[ ${x##*/} == "autoconfig" ]] ; then +- svcs="${svcs} $(. /etc/init.d/autoconfig; list_services)" ++ if service_started ${svc}; then ++ return + fi +- done +- order="${order} $(SOFTLEVEL="$dlvl" rc-depend -ineed -iuse -iafter ${svcs})" + +- # Only list each service once +- uniqify ${order} ++ # Prevent recursion.. ++ svcs_started="${svcs_started}$1 " ++ ++ if is_fake_service "${svc}" "${mylevel}"; then ++ svcs_order="${svcs_order} ${svc}" ++ return ++ fi ++ ++ svcs_startup="$(ineed "${svc}") \ ++ $(valid_iuse "${svc}") \ ++ $(valid_iafter "${svc}")" ++ ++ for x in ${svcs_startup} ; do ++ if [[ ${x} == "net" ]] && [[ ${svc%%.*} != "net" || ${svc##*.} == ${svc} ]] && ! is_net_up ; then ++ local netservices="$(dolisting "/etc/runlevels/${BOOTLEVEL}/net.*") \ ++ $(dolisting "/etc/runlevels/${mylevel}/net.*")" ++ ++ for y in ${netservices} ; do ++ mynetservice="${y##*/}" ++ if ! service_started ${mynetservice} ; then ++ start_service "${mynetservice}" ++ fi ++ done ++ else ++ if ! service_started ${x} ; then ++ start_service "${x}" ++ fi ++ fi ++ done ++ ++ svcs_order="${svcs_order} ${svc}" ++ return ++ } ++ ++ # This function should return a list of services that will be started ++ # from /etc/init.d/autoconfig. In order to do that, we source ++ # /etc/init.d/autoconfig and use its list_services() function. ++ autoconfig_svcs() { ++ [[ -r /etc/init.d/autoconfig ]] || return ++ . /etc/init.d/autoconfig ++ echo "$(list_services)" ++ } ++ ++ as="$(autoconfig_svcs)" ++ [[ -n "${SOFTLEVEL}" ]] && ss="$(dolisting "/etc/runlevels/${SOFTLEVEL}/") " ++ sb="$(dolisting "/etc/runlevels/${BOOTLEVEL}/") " ++ sd="$(dolisting "/etc/runlevels/${DEFAULTLEVEL}/") " ++ ++ # If autoconfig is one of the services that will be started, ++ # insert an updated list of services into our list. ++ if [[ -z "${ss/*\/autoconfig */}" ]]; then ++ ss="${ss/\/autoconfig /\/autoconfig $as }" ++ fi ++ ++ if [[ -z "${sb/*\/autoconfig */}" ]]; then ++ sb="${sb/\/autoconfig /\/autoconfig $as }" ++ fi ++ ++ if [[ -z "${sd/*\/autoconfig */}" ]]; then ++ sd="${sd/\/autoconfig /\/autoconfig $as }" ++ fi ++ ++ mylevel="${BOOTLEVEL}" ++ for i in ${CRITICAL_SERVICES} ${sb}; do ++ start_service "${i##*/}" ++ done ++ mylevel="${DEFAULTLEVEL}" ++ for i in ${LOGGER_SERVICE} ${sd} ${ss}; do ++ start_service "${i##*/}" ++ done ++ echo "${svcs_order}" ++ ) + } + + ########################################################################### diff --git a/media-gfx/splashutils/splashutils-1.3.1.ebuild b/media-gfx/splashutils/splashutils-1.3.1.ebuild new file mode 100644 index 000000000000..18eedebd2b23 --- /dev/null +++ b/media-gfx/splashutils/splashutils-1.3.1.ebuild @@ -0,0 +1,216 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-gfx/splashutils/splashutils-1.3.1.ebuild,v 1.1 2007/03/13 16:39:23 spock Exp $ + +inherit eutils multilib toolchain-funcs + +MISCSPLASH="miscsplashutils-0.1.5" +GENTOOSPLASH="splashutils-gentoo-0.5.4" +V_JPEG="6b" +V_PNG="1.2.8" +V_ZLIB="1.2.3" +V_FT="2.1.9" + +ZLIBSRC="libs/zlib-${V_ZLIB}" +LPNGSRC="libs/libpng-${V_PNG}" +JPEGSRC="libs/jpeg-${V_JPEG}" +FT2SRC="libs/freetype-${V_FT}" + +IUSE="hardened png truetype mng" + +DESCRIPTION="Framebuffer splash utilities." +HOMEPAGE="http://dev.gentoo.org/~spock/projects/gensplash/" +SRC_URI="mirror://gentoo/${PN}-lite-${PV}.tar.bz2 + mirror://gentoo/${GENTOOSPLASH}.tar.bz2 + mirror://gentoo/${MISCSPLASH}.tar.bz2 + mirror://sourceforge/libpng/libpng-${V_PNG}.tar.bz2 + ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v${V_JPEG}.tar.gz + mirror://sourceforge/freetype/freetype-${V_FT}.tar.bz2 + http://www.gzip.org/zlib/zlib-${V_ZLIB}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86 ~amd64 ~ppc" +RDEPEND="truetype? ( >=media-libs/freetype-2 ) + png? ( >=media-libs/libpng-1.2.7 ) + mng? ( media-libs/lcms media-libs/libmng ) + >=media-libs/jpeg-6b + >=sys-apps/baselayout-1.9.4-r5 + app-arch/cpio + !media-gfx/bootsplash + media-gfx/fbgrab" +DEPEND="${RDEPEND} + >=dev-libs/klibc-1.4.13" + +S="${WORKDIR}/${P/_/-}" +SG="${WORKDIR}/${GENTOOSPLASH}" +SM="${WORKDIR}/${MISCSPLASH}" + +pkg_setup() { + if use hardened; then + ewarn "Due to problems with klibc, it is currently impossible to compile splashutils" + ewarn "with 'hardened' GCC flags. As a workaround, the package will be compiled with" + ewarn "-fno-stack-protector. Hardened GCC features will not be used while building" + ewarn "the splash kernel helper." + fi +} + +src_unpack() { + unpack ${A} + + mv ${WORKDIR}/{libpng-${V_PNG},jpeg-${V_JPEG},zlib-${V_ZLIB},freetype-${V_FT}} ${S}/libs + # We need to delete the Makefile and let it be rebuilt when splashutils + # is being configured. Either that, or we end up with a segfaulting kernel + # helper. + rm ${S}/libs/zlib-${V_ZLIB}/Makefile + + cd ${SG} + epatch ${FILESDIR}/${GENTOOSPLASH}-old-baselayout.patch + + cd ${S} + + # Make sure the static version of splash_util is linked against the nptl + # libraries and not the linuxthreads ones. + sed -i -e 's#$(LDLIBS) -static#$(LDLIBS) -L/usr/lib/nptl -static#' Makefile + + # Check whether the kernel tree has been patched with fbsplash. + if [[ ! -e /usr/$(get_libdir)/klibc/include/linux/console_splash.h ]]; then + ewarn "The kernel tree against which dev-libs/klibc was built was not patched" + ewarn "with a compatible version of fbsplash. Splashutils will be compiled" + ewarn "without fbsplash support (ie. verbose mode will not work)." + fi + + if has_version sys-libs/glibc && ! built_with_use sys-libs/glibc nptl ; then + eerror "Your sys-libs/glibc has been built with support for linuxthreads only." + eerror "This package requires nptl to work correctly. Please recompile glibc" + eerror "with the 'nptl' USE flag enabled." + die "nptl not available" + fi + + if built_with_use sys-devel/gcc vanilla ; then + ewarn "Your GCC was built with the 'vanilla' flag set. If you can't compile" + ewarn "splashutils, you're on your own, as this configuration is not supported." + else + # This should make splashutils compile on systems with hardened GCC. + sed -e 's@K_CFLAGS =@K_CFLAGS = -fno-stack-protector@' -i ${S}/Makefile + fi + + # Use tty16 as the default silent tty. + sed -i -e 's/#define TTY_SILENT.*/#define TTY_SILENT 16/' ${S}/splash.h + + if ! use truetype ; then + sed -i -e 's/fbtruetype kbd/kbd/' ${SM}/Makefile + fi + + # Fix path to klibc headers on multilib systems + sed -i -e "s:/lib/klibc:/$(get_libdir)/klibc:" ${S}/Makefile +} + +src_compile() { + local myconf="" + if [[ ! -e /usr/$(get_libdir)/klibc/include/linux/console_splash.h ]]; then + myconf="--without-fbsplash" + else + myconf="--with-fbsplash" + fi + + sed -i -e "s/^CFLAGS[ \t]*=.*/CFLAGS = ${CFLAGS}/" Makefile + cd ${SM} + emake LIB=$(get_libdir) || die "failed to build miscsplashutils" + cd ${S} + + ./configure \ + $(use_with png) \ + $(use_with mng) \ + $(use_with truetype ttf) \ + $(use_with truetype ttfkern) \ + ${myconf} || die "failed to configure splashutils" + + export ZLIBSRC LPNGSRC JPEGSRC FT2SRC + emake -j1 LIB=$(get_libdir) ARCH=$(tc-arch-kernel) || die "failed to build splashutils" +} + +src_install() { + cd ${SM} + make DESTDIR=${D} install || die + + export ZLIBSRC LPNGSRC JPEGSRC FT2SRC + cd ${S} + make DESTDIR=${D} install || die + + keepdir /lib/splash/{tmp,cache,bin} + dosym /lib/splash/bin/fbres /sbin/fbres + + dodir /etc/env.d + echo 'CONFIG_PROTECT_MASK="/etc/splash"' > ${D}/etc/env.d/99splash + + exeinto /etc/init.d + newexe ${SG}/init-splash splash + + insinto /usr/share/${PN} + doins ${SG}/initrd.splash + + insinto /sbin + doins ${SG}/splash-functions.sh + + insinto /etc/conf.d + newins ${SG}/splash.conf splash + + insinto /etc/splash + doins ${SM}/fbtruetype/luxisri.ttf + + dodoc docs/* README AUTHORS +} + +pkg_postinst() { + ebegin "Checking whether /dev/tty1 is in place" + mount --bind / ${T} + + if [[ ! -c ${T}/dev/tty1 ]]; then + eend 1 + ewarn "It appears that the /dev/tty1 character device doesn't exist on" + ewarn "the root filesystem. This will prevent the silent mode from working" + ewarn "properly. You can fix the problem by doing:" + ewarn " mount --bind / /lib/splash/tmp" + ewarn " mknod /lib/splash/tmp/dev/tty1 c 4 1" + ewarn " umount /lib/splash/tmp" + echo "" + else + eend 0 + fi + umount ${T} + + if has_version sys-fs/devfsd || ! has_version sys-fs/udev ; then + ewarn "This package has been designed with udev in mind. Other solutions, such as" + ewarn "devfs or a static /dev tree might work, but are generally discouraged and" + ewarn "not supported. If you decide to switch to udev, you might want to have a" + ewarn "look at 'The Gentoo udev Guide', which can be found at" + ewarn " http://www.gentoo.org/doc/en/udev-guide.xml" + echo "" + fi + + if has_version '