diff options
author | Benda Xu <heroxbd@gentoo.org> | 2013-10-30 12:17:38 +0900 |
---|---|---|
committer | Benda Xu <heroxbd@gentoo.org> | 2013-10-30 12:17:38 +0900 |
commit | 3b676104682034e837ff8674c72b133382f3ff7c (patch) | |
tree | 3762cfd806d4710a400ff155abf05ad7d305a7e7 /sys-apps/sandbox/sandbox-2.5.ebuild | |
parent | track bootstrap script (diff) | |
download | heroxbd-3b676104682034e837ff8674c72b133382f3ff7c.tar.gz heroxbd-3b676104682034e837ff8674c72b133382f3ff7c.tar.bz2 heroxbd-3b676104682034e837ff8674c72b133382f3ff7c.zip |
track sandbox
Diffstat (limited to 'sys-apps/sandbox/sandbox-2.5.ebuild')
-rw-r--r-- | sys-apps/sandbox/sandbox-2.5.ebuild | 126 |
1 files changed, 126 insertions, 0 deletions
diff --git a/sys-apps/sandbox/sandbox-2.5.ebuild b/sys-apps/sandbox/sandbox-2.5.ebuild new file mode 100644 index 0000000..cad9a5d --- /dev/null +++ b/sys-apps/sandbox/sandbox-2.5.ebuild @@ -0,0 +1,126 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-apps/sandbox/sandbox-2.5.ebuild,v 1.10 2012/06/24 05:35:02 vapier Exp $ + +# +# don't monkey with this ebuild unless contacting portage devs. +# period. +# + +inherit eutils flag-o-matic toolchain-funcs multilib unpacker multiprocessing prefix + +DESCRIPTION="sandbox'd LD_PRELOAD hack" +HOMEPAGE="http://www.gentoo.org/" +SRC_URI="mirror://gentoo/${P}.tar.xz + http://dev.gentoo.org/~vapier/dist/${P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux" +IUSE="multilib" + +DEPEND="app-arch/xz-utils + >=app-misc/pax-utils-0.1.19" #265376 +RDEPEND="" + +EMULTILIB_PKG="true" +has sandbox_death_notice ${EBUILD_DEATH_HOOKS} || EBUILD_DEATH_HOOKS="${EBUILD_DEATH_HOOKS} sandbox_death_notice" + +sandbox_death_notice() { + ewarn "If configure failed with a 'cannot run C compiled programs' error, try this:" + ewarn "FEATURES=-sandbox emerge sandbox" +} + +sb_get_install_abis() { use multilib && get_install_abis || echo ${ABI:-default} ; } + +src_unpack() { + unpacker_src_unpack + cd "${S}" + epatch "${FILESDIR}"/${PN}-2.2-prefix.patch +} + +sb_foreach_abi() { + # enable usage of absolute libpath in prefix + use prefix && append-flags -DGENTOO_PREFIX + + local OABI=${ABI} + for ABI in $(sb_get_install_abis) ; do + cd "${WORKDIR}/build-${ABI}" + einfo "Running $1 for ABI=${ABI}..." + "$@" + done + ABI=${OABI} +} + +sb_configure() { + mkdir "${WORKDIR}/build-${ABI}" + cd "${WORKDIR}/build-${ABI}" + + use multilib && multilib_toolchain_setup ${ABI} + + einfo "Configuring sandbox for ABI=${ABI}..." + ECONF_SOURCE="../${P}/" \ + econf ${myconf} || die +} + +sb_compile() { + emake || die +} + +src_compile() { + filter-lfs-flags #90228 + + # Run configures in parallel! + multijob_init + local OABI=${ABI} + for ABI in $(sb_get_install_abis) ; do + multijob_child_init sb_configure + done + ABI=${OABI} + multijob_finish + + sb_foreach_abi sb_compile +} + +sb_test() { + emake check TESTSUITEFLAGS="--jobs=$(makeopts_jobs)" || die +} + +src_test() { + sb_foreach_abi sb_test +} + +sb_install() { + emake DESTDIR="${D}" install || die + insinto /etc/sandbox.d #333131 + doins etc/sandbox.d/00default || die +} + +src_install() { + sb_foreach_abi sb_install + + doenvd "${FILESDIR}"/09sandbox + + keepdir /var/log/sandbox + use prefix || fowners root:portage /var/log/sandbox + fperms 0770 /var/log/sandbox + + cd "${S}" + dodoc AUTHORS ChangeLog* NEWS README +} + +pkg_preinst() { + use prefix || chown root:portage "${ED}"/var/log/sandbox + chmod 0770 "${ED}"/var/log/sandbox + + local old=$(find "${EROOT}"/lib* -maxdepth 1 -name 'libsandbox*') + if [[ -n ${old} ]] ; then + elog "Removing old sandbox libraries for you:" + elog ${old//${EROOT}} + find "${EROOT}"/lib* -maxdepth 1 -name 'libsandbox*' -exec rm -fv {} \; + fi +} + +pkg_postinst() { + chmod 0755 "${EROOT}"/etc/sandbox.d #265376 +} |