[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[or-cvs] r16716: {} Use the dynamically linked binaries of splashutils. The stat (in incognito/branches/hardened/portage.overlay/media-gfx: . splashutils splashutils/files)



Author: anonym
Date: 2008-09-01 12:32:38 -0400 (Mon, 01 Sep 2008)
New Revision: 16716

Added:
   incognito/branches/hardened/portage.overlay/media-gfx/splashutils/
   incognito/branches/hardened/portage.overlay/media-gfx/splashutils/Manifest
   incognito/branches/hardened/portage.overlay/media-gfx/splashutils/files/
   incognito/branches/hardened/portage.overlay/media-gfx/splashutils/files/no-static.patch
   incognito/branches/hardened/portage.overlay/media-gfx/splashutils/splashutils-1.5.3.4.ebuild
Log:
Use the dynamically linked binaries of splashutils. The static ones get borked when built with a hardened toolchain.


Added: incognito/branches/hardened/portage.overlay/media-gfx/splashutils/Manifest
===================================================================
--- incognito/branches/hardened/portage.overlay/media-gfx/splashutils/Manifest	                        (rev 0)
+++ incognito/branches/hardened/portage.overlay/media-gfx/splashutils/Manifest	2008-09-01 16:32:38 UTC (rev 16716)
@@ -0,0 +1,9 @@
+AUX no-static.patch 1406 RMD160 d00dcd475cfb299a7b1d678789a7871d6a7095b5 SHA1 e3ed75741a14df01cebecec4288652676845cc5f SHA256 58c9e2d27770abf7f7240f04c86d353a4c0e5a23d397595ee47e688be00b3e84
+DIST freetype-2.3.5.tar.bz2 1279861 RMD160 2a97cb1c3d93572c094d5d2890d12445ef2786d4 SHA1 45695d44c74be31944d807526a7e69a818e4afd2 SHA256 1b357a3a1106c78c80dfd25e3854c3faa9a3dfc7063a4a1e5404e70c241d677e
+DIST jpegsrc.v6b.tar.gz 613261 RMD160 18892206014fbb8cae2a44e281f4ed53feaf7882 SHA1 7079f0d6c42fad0cfba382cf6ad322add1ace8f9 SHA256 75c3ec241e9996504fe02a9ed4d12f16b74ade713972f3db9e65ce95cd27e35d
+DIST libpng-1.2.18.tar.bz2 623690 RMD160 ea81056a896eb038fa5d7fde2b7fa626c1a2e31e SHA1 42156e45fa999b242dc63c261e9253ce0dd810ab SHA256 6fce62f9e67e951c38672bf520c062a2be742e893d240d150748a00c32f20c62
+DIST miscsplashutils-0.1.8.tar.bz2 91997 RMD160 5efe2bfb8ae409d3e59e82b473454d94e44149ab SHA1 d3d0df74b4f613e505d662134a7af5c0cc488108 SHA256 38e8434c7266126477237c4d9e6cbeca152089ab33c14a7761089b7970f8d336
+DIST splashutils-gentoo-1.0.11.tar.bz2 14879 RMD160 3a067329a72e334c68913906b720e80022b025ea SHA1 5c747a35abd2bc59f274501cce797a6e8793ecb5 SHA256 f2f6a82d34f5438a0bcbf2d79181c15c92ab2ed12881d88db6b271067b616613
+DIST splashutils-lite-1.5.3.4.tar.bz2 414744 RMD160 a1d655786caa6a7bea84d5a17ea0a8c4bb3aae03 SHA1 c908216dd9549d276c561bb77109332c2c61f213 SHA256 4b2a14ed48cc7e18cbc94570f07e05c80f1eca2319ecaaae04f221463de70d97
+DIST zlib-1.2.3.tar.bz2 425209 RMD160 cfba9984b354dcc38da49331457e6bfc861c6f51 SHA1 967e280f284d02284b0cd8872a8e2e04bfdc7283 SHA256 e3b9950851a19904d642c4dec518623382cf4d2ac24f70a76510c944330d28ca
+EBUILD splashutils-1.5.3.4.ebuild 6736 RMD160 5806b6771c283ca75f487707d5950dea7bb7ddec SHA1 479f9147c278d58eb8bece061be1d55f4718670c SHA256 df0c3cb141f6c9b872e146bbe0445334801480527ea2d4bbc97bd3fe4447d5a9

Added: incognito/branches/hardened/portage.overlay/media-gfx/splashutils/files/no-static.patch
===================================================================
--- incognito/branches/hardened/portage.overlay/media-gfx/splashutils/files/no-static.patch	                        (rev 0)
+++ incognito/branches/hardened/portage.overlay/media-gfx/splashutils/files/no-static.patch	2008-09-01 16:32:38 UTC (rev 16716)
@@ -0,0 +1,30 @@
+diff -Nur splashutils-1.5.3.4.orig/scripts/splash-functions.sh.in splashutils-1.5.3.4/scripts/splash-functions.sh.in
+--- splashutils-1.5.3.4.orig/scripts/splash-functions.sh.in	2008-08-29 20:24:18.000000000 +0200
++++ splashutils-1.5.3.4/scripts/splash-functions.sh.in	2008-09-01 17:03:41.000000000 +0200
+@@ -26,9 +26,9 @@
+ export spl_tmpdir="@libdir@/splash/tmp"
+ export spl_fifo="${spl_cachedir}/.splash"
+ export spl_pidfile="${spl_cachedir}/daemon.pid"
+-export spl_util="@bindir@/splash_util.static"
+-export spl_daemon="@sbindir@/fbsplashd.static"
+-export spl_decor="@sbindir@/fbcondecor_ctl.static"
++export spl_util="@bindir@/splash_util"
++export spl_daemon="@sbindir@/fbsplashd"
++export spl_decor="@sbindir@/fbcondecor_ctl"
+ export spl_bindir="@libdir@/splash/bin"
+ 
+ # This is the main function which handles all events.
+diff -Nur splashutils-1.5.3.4.orig/scripts/splash_manager.in splashutils-1.5.3.4/scripts/splash_manager.in
+--- splashutils-1.5.3.4.orig/scripts/splash_manager.in	2008-08-29 20:24:18.000000000 +0200
++++ splashutils-1.5.3.4/scripts/splash_manager.in	2008-09-01 13:17:00.000000000 +0200
+@@ -22,8 +22,8 @@
+ #   different from the one used for the silent tty
+ 
+ # System configuration variables
+-spl_util=splash_util.static
+-spl_daemon=fbsplashd.static
++spl_util=splash_util
++spl_daemon=fbsplashd
+ spl_decor=fbcondecor_ctl
+ spl_dir="@libdir@/splash"
+ spl_fifo=${spl_dir}/cache/.splash

Added: incognito/branches/hardened/portage.overlay/media-gfx/splashutils/splashutils-1.5.3.4.ebuild
===================================================================
--- incognito/branches/hardened/portage.overlay/media-gfx/splashutils/splashutils-1.5.3.4.ebuild	                        (rev 0)
+++ incognito/branches/hardened/portage.overlay/media-gfx/splashutils/splashutils-1.5.3.4.ebuild	2008-09-01 16:32:38 UTC (rev 16716)
@@ -0,0 +1,210 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/splashutils/splashutils-1.5.3.4.ebuild,v 1.6 2008/06/14 15:17:16 zmedico Exp $
+
+EAPI="1"
+
+inherit eutils multilib toolchain-funcs
+
+MISCSPLASH="miscsplashutils-0.1.8"
+GENTOOSPLASH="splashutils-gentoo-1.0.11"
+V_JPEG="6b"
+V_PNG="1.2.18"
+V_ZLIB="1.2.3"
+V_FT="2.3.5"
+
+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 gpm fbcondecor"
+
+DESCRIPTION="Framebuffer splash utilities."
+HOMEPAGE="http://fbsplash.berlios.de";
+SRC_URI="mirror://berlios/fbsplash/${PN}-lite-${PV}.tar.bz2
+	mirror://berlios/fbsplash/${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="amd64 ppc x86"
+RDEPEND="gpm? ( sys-libs/gpm )
+	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/fbgrab"
+DEPEND="${RDEPEND}
+	>=dev-libs/klibc-1.5
+	dev-util/pkgconfig"
+
+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 "${S}"
+	epatch "${FILESDIR}"/no-static.patch
+	ln -sf "${S}/src" "${WORKDIR}/core"
+
+	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.in"
+	fi
+
+	if ! use truetype ; then
+		sed -i -e 's/fbtruetype kbd/kbd/' "${SM}/Makefile"
+	fi
+}
+
+src_compile() {
+	cd "${SM}"
+	emake LIB=$(get_libdir) STRIP=true || die "failed to build miscsplashutils"
+
+	cd "${S}"
+	econf \
+		$(use_with png) \
+		$(use_with mng) \
+		$(use_with gpm) \
+		$(use_with truetype ttf) \
+		$(use_with truetype ttf-kernel) \
+		$(use_enable fbcondecor) \
+		--with-freetype2-src=${FT2SRC} \
+		--with-jpeg-src=${JPEGSRC} \
+		--with-lpng-src=${LPNGSRC} \
+		--with-zlib-src=${ZLIBSRC} || die "failed to configure splashutils"
+
+	emake -j1 || die "failed to build splashutils"
+
+	if has_version ">=sys-apps/baselayout-1.13.99"; then
+		cd "${SG}"
+		emake LIB=$(get_libdir) || die "failed to build the splash plugin"
+	fi
+}
+
+src_install() {
+	local LIB=$(get_libdir)
+
+	cd "${SM}"
+	make DESTDIR="${D}" LIB=${LIB} install || die
+
+	cd "${S}"
+	make DESTDIR="${D}" install || die
+
+	mv "${D}"/usr/${LIB}/libfbsplash.so* "${D}"/${LIB}/
+	gen_usr_ldscript libfbsplash.so
+
+	echo 'CONFIG_PROTECT_MASK="/etc/splash"' > 99splash
+	doenvd 99splash
+
+	if use fbcondecor ; then
+		newinitd "${SG}"/init-fbcondecor fbcondecor
+		newconfd "${SG}"/fbcondecor.conf fbcondecor
+	fi
+	newconfd "${SG}"/splash.conf splash
+
+	insinto /usr/share/${PN}
+	doins "${SG}"/initrd.splash
+
+	insinto /etc/splash
+	doins "${SM}"/fbtruetype/luxisri.ttf
+
+	if has_version ">=sys-apps/baselayout-1.13.99"; then
+		cd "${SG}"
+		make DESTDIR="${D}" LIB=${LIB} install || die "failed to install the splash plugin"
+	else
+		cp "${SG}"/splash-functions-bl1.sh "${D}"/sbin/
+	fi
+
+	sed -i -e "s#/lib/splash#/${LIB}/splash#" "${D}"/sbin/splash-functions.sh
+	keepdir /${LIB}/splash/{tmp,cache,bin}
+	dosym /${LIB}/splash/bin/fbres /sbin/fbres
+}
+
+pkg_preinst() {
+	has_version "<${CATEGORY}/${PN}-1.0"
+	previous_less_than_1_0=$?
+
+	has_version "<${CATEGORY}/${PN}-1.5.3"
+	previous_less_than_1_5_3=$?
+}
+
+pkg_postinst() {
+	if has_version sys-fs/devfsd || ! has_version sys-fs/udev ; then
+		elog "This package has been designed with udev in mind. Other solutions, such as"
+		elog "devfs or a static /dev tree might work, but are generally discouraged and"
+		elog "not supported. If you decide to switch to udev, you might want to have a"
+		elog "look at 'The Gentoo udev Guide', which can be found at"
+		elog "  http://www.gentoo.org/doc/en/udev-guide.xml";
+		elog ""
+	fi
+
+	if [[ $previous_less_than_1_0 = 0 ]] ; then
+		elog "Since you are upgrading from a pre-1.0 version, please make sure that you"
+		elog "rebuild your initrds. You can use the splash_geninitramfs script to do that."
+		elog ""
+	fi
+
+	if [[ $previous_less_than_1_5_3 = 0 ]] && ! use fbcondecor ; then
+		elog "Starting with splashutils-1.5.3, support for the fbcondecor kernel patch"
+		elog "is optional and dependent on the the 'fbcondecor' USE flag.  If you wish"
+		elog "to use fbcondecor, run:"
+		elog "  echo \"media-gfx/splashutils fbcondecor\" >> /etc/portage/package.use"
+		elog "and re-emerge splashutils."
+	fi
+
+	if ! test -f /proc/cmdline ||
+		! egrep -q '(console|CONSOLE)=(tty1|/dev/tty1)' /proc/cmdline ; then
+		elog "It is required that you add 'console=tty1' to your kernel"
+		elog "command line parameters."
+		elog ""
+		elog "After these modifications, the relevant part of the kernel command"
+		elog "line might look like:"
+		elog "  splash=silent,fadein,theme:emergence console=tty1"
+		elog ""
+	fi
+
+	if ! has_version 'media-gfx/splash-themes-livecd' &&
+		! has_version 'media-gfx/splash-themes-gentoo'; then
+		elog "The sample Gentoo themes (emergence, gentoo) have been removed from the"
+		elog "core splashutils package. To get some themes you might want to emerge:"
+		elog "  media-gfx/splash-themes-livecd"
+		elog "  media-gfx/splash-themes-gentoo"
+	fi
+
+	elog "Please note that the 'fbsplash' kernel patch has now been renamed to"
+	elog "'fbcondecor'.  Accordingly, the old 'splash' initscript is now called"
+	elog "'fbcondecor'.  Make sure you update your system.  See:"
+	elog "    http://dev.gentoo.org/~spock/projects/fbcondecor/#history";
+	elog "for further info about the name changes."
+	elog ""
+	elog "Also note that splash_util has now been split into splash_util, fbsplashd"
+	elog "and fbcondecor_ctl."
+}