summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-apps/baselayout-prefix/baselayout-prefix-1.12.5-r11.ebuild')
-rw-r--r--sys-apps/baselayout-prefix/baselayout-prefix-1.12.5-r11.ebuild180
1 files changed, 180 insertions, 0 deletions
diff --git a/sys-apps/baselayout-prefix/baselayout-prefix-1.12.5-r11.ebuild b/sys-apps/baselayout-prefix/baselayout-prefix-1.12.5-r11.ebuild
new file mode 100644
index 000000000000..165cf8908786
--- /dev/null
+++ b/sys-apps/baselayout-prefix/baselayout-prefix-1.12.5-r11.ebuild
@@ -0,0 +1,180 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+
+inherit eutils toolchain-funcs multilib prefix flag-o-matic user
+
+# baselayout-prefix-1.12.5.1694.tar.bz2
+PVER=1701
+
+DESCRIPTION="Baselayout for Gentoo Prefix installs"
+HOMEPAGE="http://prefix.gentoo.org/"
+SRC_URI="http://dev.gentoo.org/~grobian/distfiles/${P}.${PVER}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~ppc-aix ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+IUSE="prefix-chaining"
+DEPEND=">=sys-apps/portage-2.2.01"
+RDEPEND=">=sys-libs/readline-5.0-r1
+ >=app-shells/bash-3.1_p7
+ >=sys-apps/coreutils-5.2.1
+ kernel_Darwin? ( sys-process/pidof-bsd )
+ kernel_FreeBSD? ( sys-process/pidof-bsd )"
+
+S=${WORKDIR}/${P}.${PVER}
+
+src_prepare() {
+ if use prefix-chaining; then
+ epatch "${S}"/baselayout-1.12.5-prefix-chaining.patch
+
+ # need to set the PKG_CONFIG_PATH globally for this prefix, when
+ # chaining is enabled, since pkg-config may not be installed locally,
+ # but still .pc files should be found for all RDEPENDable prefixes in
+ # the chain.
+ echo "PKG_CONFIG_PATH=\"${EPREFIX}/usr/lib/pkgconfig:${EPREFIX}/usr/share/pkgconfig\"" >> "${S}"/etc/env.d/00basic
+ fi
+
+ # The consoletype application in this form will only work on Linux
+ [[ ${CHOST} == *-linux-* ]] || epatch "${FILESDIR}"/${P/-prefix/}-prefix-no-consoletype.patch
+
+ cd "${S}"
+ eprefixify \
+ etc/env.d/00basic \
+ etc/profile \
+ sbin/env-update.sh \
+ sbin/functions.sh \
+ sbin/runscript.sh \
+ src/runscript.c \
+ sbin/depscan.sh \
+ sbin/rc-daemon.sh \
+ sbin/rc-services.sh
+ # add the host OS MANPATH
+ echo 'MANPATH="/usr/share/man"' > etc/env.d/99basic || die "can't make file"
+}
+
+src_configure() {
+ cd gnulib || die
+ default
+}
+
+src_compile() {
+ # build gnulib first
+ pushd gnulib > /dev/null || die
+ emake || die "Cannot build gnulib"
+ popd > /dev/null
+
+ # use gnulib
+ append-flags -I../gnulib -I../gnulib/gllib
+ append-ldflags -L../gnulib/gllib
+ append-libs gnu
+
+ local libdir="lib"
+
+ [[ ${SYMLINK_LIB} == "yes" ]] && libdir=$(get_abi_LIBDIR "${DEFAULT_ABI}")
+
+ make -C "${S}"/src \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getCC) ${LDFLAGS}" \
+ CFLAGS="${CFLAGS}" \
+ LIBDIR="${libdir}" || die
+}
+
+src_install() {
+ local dir libdirs libdirs_env rcscripts_dir
+
+ dodir /etc
+ dodir /etc/env.d
+ dodir /etc/init.d # .keep file might mess up init.d stuff
+
+ libdirs=$(get_all_libdirs)
+ : ${libdirs:=lib} # it isn't that we don't trust multilib.eclass...
+
+ rcscripts_dir="/lib/rcscripts"
+
+ for dir in ${libdirs}; do
+ libdirs_env=${libdirs_env:+$libdirs_env:}/${dir}:/usr/${dir}:/usr/local/${dir}
+ [[ ${dir} == "lib" && ${SYMLINK_LIB} == "yes" ]] && continue
+ dodir /"${dir}"
+ dodir /usr/"${dir}"
+ dodir /usr/local/"${dir}"
+ done
+
+ # Ugly compatibility with stupid ebuilds and old profiles symlinks
+ if [[ ${SYMLINK_LIB} == "yes" ]] ; then
+ rm -r "${ED}"/{lib,usr/lib,usr/local/lib} &> /dev/null
+ dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) /lib
+ dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) /usr/lib
+ dosym $(get_abi_LIBDIR ${DEFAULT_ABI}) /usr/local/lib
+ fi
+
+ # FHS compatibility symlinks stuff
+ dosym /var/tmp /usr/tmp
+
+ # rc-scripts version for testing of features that *should* be present
+ echo "Gentoo Prefix Base System version ${PV}" > ${ED}/etc/gentoo-release
+
+ # get the basic stuff in there
+ doenvd "${S}"/etc/env.d/* || die "doenvd"
+
+ # copy the profile
+ cp "${S}"/etc/profile "${ED}"/etc/profile
+
+ # Setup files in /sbin
+ #
+ cd "${S}"/sbin
+ into /
+ # These moved from /etc/init.d/ to /sbin to help newb systems
+ # from breaking
+ dosbin runscript.sh functions.sh
+
+ # Compat symlinks between /etc/init.d and /sbin
+ # (some stuff have hardcoded paths)
+ dosym ../../sbin/depscan.sh /etc/init.d/depscan.sh
+ dosym ../../sbin/runscript.sh /etc/init.d/runscript.sh
+ dosym ../../sbin/functions.sh /etc/init.d/functions.sh
+
+ cd "${S}"/sbin
+ into /
+ dosbin depscan.sh
+ dosbin env-update.sh
+ insinto ${rcscripts_dir}/awk
+ doins "${S}"/src/awk/functions.awk
+
+ #
+ # Install baselayout utilities
+ #
+ local libdir="lib"
+ [[ ${SYMLINK_LIB} == "yes" ]] && libdir=$(get_abi_LIBDIR "${DEFAULT_ABI}")
+
+ cd "${S}"/src
+ make DESTDIR="${ED}" LIBDIR="${libdir}" install || die
+
+ insinto ${rcscripts_dir}/sh
+ doins "${S}"/sbin/rc-*
+}
+
+pkg_postinst() {
+ if [[ ${EUID} == 0 ]] ; then
+ # setup portage user, such that things that require root privs
+ # don't fail, bug #321623
+ enewgroup portage 250
+ enewuser portage 250 -1 "${EPREFIX}"/var/tmp/portage portage
+ fi
+
+ # This is also written in src_install (so it's in CONTENTS), but
+ # write it here so that the new version is immediately in the file
+ # (without waiting for the user to do etc-update)
+ rm -f "${EROOT}"/etc/._cfg????_gentoo-release
+ echo "Gentoo Prefix Base System version ${PV}" > "${EROOT}"/etc/gentoo-release
+
+ echo
+ einfo "Please be sure to update all pending '._cfg*' files in /etc,"
+ einfo "else things might break! You can use 'etc-update'"
+ einfo "to accomplish this:"
+ einfo
+ einfo " # etc-update"
+ echo
+}