summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexis Ballier <aballier@gentoo.org>2010-01-10 23:01:51 +0000
committerAlexis Ballier <aballier@gentoo.org>2010-01-10 23:01:51 +0000
commit4e649aab6b4554ab58eb7caac46b33584f28a28b (patch)
tree7d851b879830903060ab10c80ba475b574fbbc21
parentVersion bump. Drop old. (diff)
downloadhistorical-4e649aab6b4554ab58eb7caac46b33584f28a28b.tar.gz
historical-4e649aab6b4554ab58eb7caac46b33584f28a28b.tar.bz2
historical-4e649aab6b4554ab58eb7caac46b33584f28a28b.zip
backport RTLD_NOLOAD support from 8.0; headers and manpage part
Package-Manager: portage-2.2_rc61/cvs/Linux x86_64
-rw-r--r--sys-freebsd/freebsd-lib/ChangeLog10
-rw-r--r--sys-freebsd/freebsd-lib/Manifest14
-rw-r--r--sys-freebsd/freebsd-lib/files/freebsd-lib-7.2-rtldnoload.patch30
-rw-r--r--sys-freebsd/freebsd-lib/freebsd-lib-7.2-r1.ebuild369
-rw-r--r--sys-freebsd/freebsd-libexec/Manifest14
5 files changed, 433 insertions, 4 deletions
diff --git a/sys-freebsd/freebsd-lib/ChangeLog b/sys-freebsd/freebsd-lib/ChangeLog
index 4f6d80488e35..514e943079e0 100644
--- a/sys-freebsd/freebsd-lib/ChangeLog
+++ b/sys-freebsd/freebsd-lib/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sys-freebsd/freebsd-lib
-# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog,v 1.79 2009/09/23 22:09:56 patrick Exp $
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog,v 1.80 2010/01/10 23:01:50 aballier Exp $
+
+*freebsd-lib-7.2-r1 (10 Jan 2010)
+
+ 10 Jan 2010; Alexis Ballier <aballier@gentoo.org>
+ +freebsd-lib-7.2-r1.ebuild, +files/freebsd-lib-7.2-rtldnoload.patch:
+ backport RTLD_NOLOAD support from 8.0; headers and manpage part
23 Sep 2009; Patrick Lauer <patrick@gentoo.org> freebsd-lib-6.2-r4.ebuild,
freebsd-lib-7.1-r4.ebuild, freebsd-lib-7.2.ebuild:
diff --git a/sys-freebsd/freebsd-lib/Manifest b/sys-freebsd/freebsd-lib/Manifest
index fac280e93cd4..4627cd5b9c28 100644
--- a/sys-freebsd/freebsd-lib/Manifest
+++ b/sys-freebsd/freebsd-lib/Manifest
@@ -1,3 +1,6 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
AUX freebsd-lib-6.0-binutils-asm.patch 1096 RMD160 1d2c2e60f2c8ca49fb8b01c65aca65b5cd59ea23 SHA1 1533aef95476da5b631d2ffb9b4892773ee5b2ae SHA256 5794228b1754d0b0a9a46fbae7e117ca91ca7da1d842339b279a4185014cbfd9
AUX freebsd-lib-6.0-flex-2.5.31.patch 421 RMD160 6ef83c6b09e31a81ba3c25772b02aef34540dbe8 SHA1 1408a36a967b0ff5ba94e23921357f4296e31bc2 SHA256 1d46cf13e1059ae3731ba5555764e020fcf4de7db5abf039fac83423e05d53c4
AUX freebsd-lib-6.0-gccfloat.patch 542 RMD160 564f5a1b1aba59479c22f91570635de717e8b7bf SHA1 94f463f123fdc3009d4ca1d5ab351aa76d768c6b SHA256 d549125f174c86c2d5e7e1f1c99cf1303b84e91ce8ee51db8c962be48b7a7951
@@ -15,6 +18,7 @@ AUX freebsd-lib-7.0-CVE-2008-1391.patch 344 RMD160 44e20da80ab544895d8dd65b5c6bc
AUX freebsd-lib-7.1-db.patch 1887 RMD160 09a58c9add748d60c17c374993626a3f59b1169c SHA1 e384ecfb075328d228fde6f39ff67f59d6dee472 SHA256 430444488bf05544c9d50fb673ce57dbe5dda815936a40284d9966f94897e022
AUX freebsd-lib-7.1-strndup_bport.patch 4698 RMD160 1c4fdaa6963a9f8e2e759aca6a3dacacfb0a3c79 SHA1 24b686900366e35627d02a44e51a1e24615c55d3 SHA256 f178ca73722643536300cd26c6a8f678a08556da3261b7c6bd712b65abde1c16
AUX freebsd-lib-7.1-types.h-fix.patch 371 RMD160 d514196ccf1ba246a158b5f421f009d96d2dd8c4 SHA1 b04bec25903446c20bdfd144796fe9924f9ba39f SHA256 9e745fcfe046c405a365d8d0db8763867f0a618952f7d6bab4c76a8c82273473
+AUX freebsd-lib-7.2-rtldnoload.patch 1037 RMD160 f7f0e833a4ba182f17731eb77ccd6dc8e39f8fad SHA1 2158d4a5183875d52acd0cd538630685d609fac6 SHA256 b9ba0e322f15d8761bb33cf9199b95cc61d6a9b5129d08399f49c89fdeaa095b
AUX freebsd-lib-bsdxml.patch 339 RMD160 27b501cda2ac76230a72dfc3ee6593cb50f8d4b0 SHA1 3b456d272de5d0c56bc650fe60f38524857f8b31 SHA256 c1ac47d6c7176475f0f4b86bb17288a980b44a799fb6f4e7b1920f69e0447dc9
AUX freebsd-lib-includes.patch 316 RMD160 655d20a7a86715983469dbda678bca0ae726c069 SHA1 65cd796b0f8747d8d063b1f6e3ea53f82cdcdbe1 SHA256 be4dd4c905715c2d165be282cf377f799b32ccb76986947bc0bf1b5730b57b06
AUX freebsd-lib-new_as.patch 1494 RMD160 36ac871434f9994d5a0d7e1b73765c055d49948a SHA1 10e2e6b7b27459548a17809ada287520e3ffeeea SHA256 6021f34246dcf768a94ffe7273ea2f5590adf6d82ce7fb555234f8012bdbd982
@@ -45,6 +49,14 @@ DIST freebsd-usbin-7.1.tar.bz2 2584691 RMD160 cf6adf2f1cc60e667417f647cb99bbc310
DIST freebsd-usbin-7.2.tar.bz2 2654480 RMD160 af0a94e0affce332cf30532ea45251563e65632e SHA1 b52db981e0250357b40d10ebc7ffd6ca3ea9cc4c SHA256 56574e81ac4ab54a20d83d9a2d1ba3a42b5677691675f1db162fde161da0907f
EBUILD freebsd-lib-6.2-r4.ebuild 9537 RMD160 fe254ce6e07c4565a1bc7fa41e66999f7dadfe31 SHA1 07007002b8ccceb1a77828afcd277db132fc54ba SHA256 a73b1abb6dd95dfcdaba7b4d0ab4acb81e336c31bb5f04574e939ca7a276482c
EBUILD freebsd-lib-7.1-r4.ebuild 12096 RMD160 75df167044da0e5e09bd0c48e5be19b77e031cbb SHA1 d008e4e4a3624312bc41b1fe9a30f98dd3da584a SHA256 5e4ffc72de38767c03ebe8ae8a78dfe7e6e59dcd504f43e5f0cda56e489f62d9
+EBUILD freebsd-lib-7.2-r1.ebuild 12075 RMD160 3e892edb564fe845a920a50b3861769fb354e63a SHA1 285e3b0b8eb0f9d45758620c0909f92fd4b779a1 SHA256 d2720d23c8c2e20929317257e5428ecb4296c96b8392d76beab8eee9e218ba07
EBUILD freebsd-lib-7.2.ebuild 12027 RMD160 c01b0f5bc8d39325e4cc4aca07f89d761b217f23 SHA1 db58d8e0a1d5cbb952625cdabc5a871fa0ddfb60 SHA256 47b8ce69e9869a6fbaa7f0a0ee6c57a3206f4eea37ae9448caa835d99e825ccd
-MISC ChangeLog 19275 RMD160 6db4e11594b39eb6374d04c639e086706828d70e SHA1 7ce55cca346e452acf69892d304a661a3ad14cd6 SHA256 860446aa975b5476f7e5ac3451197a9952a23c719cb6ca2f396a5cdccfeabf80
+MISC ChangeLog 19501 RMD160 20ecf115a952cd70a95e82cd4c964e692475dc20 SHA1 d9ce32d8dabd7aa6ade015bf0c3f94f080c5b753 SHA256 c56dbabe0c18f31808d858621617e427f2251dcbcc4a515c33cf1825afd0e826
MISC metadata.xml 436 RMD160 2ad56040ef5be56d841fac077d2d1c45e128be05 SHA1 02288145006b086b03506967c92f08c6e3cd1fce SHA256 69c50839346fe9342a2abb6aabfcdc2dc48cd5256d5c789782909d1bf360cf98
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.14 (GNU/Linux)
+
+iEYEARECAAYFAktKXGQACgkQvFcC4BYPU0oRKgCguL4x876Ry9LoQgOLn1jv/C2R
+2hgAnilnd7oDGHrGDjQq4zlRI7uocfkR
+=jiu9
+-----END PGP SIGNATURE-----
diff --git a/sys-freebsd/freebsd-lib/files/freebsd-lib-7.2-rtldnoload.patch b/sys-freebsd/freebsd-lib/files/freebsd-lib-7.2-rtldnoload.patch
new file mode 100644
index 000000000000..77bbe2ed350d
--- /dev/null
+++ b/sys-freebsd/freebsd-lib/files/freebsd-lib-7.2-rtldnoload.patch
@@ -0,0 +1,30 @@
+Backported from 8.0.
+Even if RTLD_NOLOAD is not standard, dev-libs/nss expects it.
+Since it has made it to 8.0 we can afford backporting it.
+
+--- include/dlfcn.h.old 2010-01-10 18:42:04 +0100
++++ include/dlfcn.h 2010-01-10 18:42:19 +0100
+@@ -47,6 +47,7 @@
+ #define RTLD_GLOBAL 0x100 /* Make symbols globally available. */
+ #define RTLD_LOCAL 0 /* Opposite of RTLD_GLOBAL, and the default. */
+ #define RTLD_TRACE 0x200 /* Trace loaded objects and exit. */
++#define RTLD_NOLOAD 0x02000 /* Do not load if not already loaded. */
+
+ /*
+ * Request arguments for dlinfo().
+--- lib/libc/gen/dlopen.3.old 2010-01-10 18:43:15 +0100
++++ lib/libc/gen/dlopen.3 2010-01-10 18:45:27 +0100
+@@ -141,6 +141,13 @@
+ With this flag
+ .Fn dlopen
+ will return to the caller only in the case of error.
++.It Dv RTLD_NOLOAD
++Only return valid handle for the object if it is already loaded in
++the process address space, otherwise
++.Dv NULL
++is returned.
++Other mode flags may be specified, which will be applied for promotion
++for the found object.
+ .El
+ .Pp
+ If
diff --git a/sys-freebsd/freebsd-lib/freebsd-lib-7.2-r1.ebuild b/sys-freebsd/freebsd-lib/freebsd-lib-7.2-r1.ebuild
new file mode 100644
index 000000000000..70e6906ce3ea
--- /dev/null
+++ b/sys-freebsd/freebsd-lib/freebsd-lib-7.2-r1.ebuild
@@ -0,0 +1,369 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-7.2-r1.ebuild,v 1.1 2010/01/10 23:01:50 aballier Exp $
+
+EAPI=2
+
+inherit bsdmk freebsd flag-o-matic multilib toolchain-funcs
+
+DESCRIPTION="FreeBSD's base system libraries"
+SLOT="7.0"
+KEYWORDS="~sparc-fbsd ~x86-fbsd"
+
+# Crypto is needed to have an internal OpenSSL header
+# sys is needed for libalias, probably we can just extract that instead of
+# extracting the whole tarball
+SRC_URI="mirror://gentoo/${LIB}.tar.bz2
+ mirror://gentoo/${CONTRIB}.tar.bz2
+ mirror://gentoo/${CRYPTO}.tar.bz2
+ mirror://gentoo/${LIBEXEC}.tar.bz2
+ mirror://gentoo/${ETC}.tar.bz2
+ mirror://gentoo/${INCLUDE}.tar.bz2
+ mirror://gentoo/${USBIN}.tar.bz2
+ build? (
+ mirror://gentoo/${SYS}.tar.bz2 )"
+
+if [ "${CATEGORY#*cross-}" = "${CATEGORY}" ]; then
+ RDEPEND="ssl? ( dev-libs/openssl )
+ hesiod? ( net-dns/hesiod )
+ kerberos? ( virtual/krb5 )
+ !sys-freebsd/freebsd-headers
+ dev-libs/libelf"
+ DEPEND="${RDEPEND}
+ >=sys-devel/flex-2.5.31-r2
+ =sys-freebsd/freebsd-sources-${RV}*
+ !bootstrap? ( app-arch/bzip2 )"
+
+ PROVIDE="virtual/libc
+ virtual/os-headers"
+
+else
+ SRC_URI="${SRC_URI}
+ mirror://gentoo/${SYS}.tar.bz2"
+fi
+
+DEPEND="${DEPEND}
+ =sys-freebsd/freebsd-mk-defs-${RV}*"
+
+S="${WORKDIR}/lib"
+
+export CTARGET=${CTARGET:-${CHOST}}
+if [ "${CTARGET}" = "${CHOST}" -a "${CATEGORY#*cross-}" != "${CATEGORY}" ]; then
+ export CTARGET=${CATEGORY/cross-}
+fi
+
+IUSE="atm bluetooth ssl hesiod ipv6 kerberos usb netware
+ build bootstrap crosscompile_opts_headers-only"
+
+pkg_setup() {
+ [ -c /dev/zero ] || \
+ die "You forgot to mount /dev; the compiled libc would break."
+
+ if ! use ssl && use kerberos; then
+ eerror "If you want kerberos support you need to enable ssl support, too."
+ fi
+
+ use atm || mymakeopts="${mymakeopts} WITHOUT_ATM= "
+ use bluetooth || mymakeopts="${mymakeopts} WITHOUT_BLUETOOTH= "
+ use hesiod || mymakeopts="${mymakeopts} WITHOUT_HESIOD= "
+ use ipv6 || mymakeopts="${mymakeopts} WITHOUT_INET6_SUPPORT= "
+ use kerberos || mymakeopts="${mymakeopts} WITHOUT_KERBEROS_SUPPORT= "
+ use netware || mymakeopts="${mymakeopts} WITHOUT_IPX= WITHOUT_IPX_SUPPORT= WITHOUT_NCP= "
+ use ssl || mymakeopts="${mymakeopts} WITHOUT_OPENSSL= "
+ use usb || mymakeopts="${mymakeopts} WITHOUT_USB= "
+
+ mymakeopts="${mymakeopts} WITHOUT_BIND= WITHOUT_BIND_LIBS= WITHOUT_SENDMAIL="
+
+ if [ "${CTARGET}" != "${CHOST}" ]; then
+ mymakeopts="${mymakeopts} MACHINE=$(tc-arch-kernel ${CTARGET})"
+ mymakeopts="${mymakeopts} MACHINE_ARCH=$(tc-arch-kernel ${CTARGET})"
+ fi
+}
+
+PATCHES=( "${FILESDIR}/${PN}-bsdxml.patch"
+ "${FILESDIR}/${PN}-6.0-pmc.patch"
+ "${FILESDIR}/${PN}-6.0-gccfloat.patch"
+ "${FILESDIR}/${PN}-6.0-flex-2.5.31.patch"
+ "${FILESDIR}/${PN}-6.1-csu.patch"
+ "${FILESDIR}/${PN}-6.2-bluetooth.patch"
+ "${FILESDIR}/${PN}-new_as.patch"
+ "${FILESDIR}/${PN}-7.0-CVE-2008-1391.patch" )
+
+# Here we disable and remove source which we don't need or want
+# In order:
+# - ncurses stuff
+# - archiving libraries (have their own ebuild)
+# - sendmail libraries (they are installed by sendmail)
+# - SNMP library and dependency (have their own ebuilds)
+#
+# The rest are libraries we already have somewhere else because
+# they are contribution.
+# Note: libtelnet is an internal lib used by telnet and telnetd programs
+# as it's not used in freebsd-lib package itself, it's pointless building
+# it here.
+REMOVE_SUBDIRS="ncurses
+ libz libbz2 libarchive \
+ libsm libsmdb libsmutil \
+ libbegemot libbsnmp \
+ libpam libpcap bind libwrap libmagic \
+ libcom_err libtelnet
+ libedit libelf"
+
+src_prepare() {
+ sed -i.bak -e 's:-o/dev/stdout:-t:' "${S}/libc/net/Makefile.inc"
+ sed -i.bak -e 's:histedit.h::' "${WORKDIR}/include/Makefile"
+
+ # Upstream Display Managers default to using VT7
+ # We should make FreeBSD allow this by default
+ local x=
+ for x in "${WORKDIR}"/etc/etc.*/ttys ; do
+ sed -i.bak \
+ -e '/ttyv5[[:space:]]/ a\
+# Display Managers default to VT7.\
+# If you use the xdm init script, keep ttyv6 commented out\
+# unless you force a different VT for the DM being used.' \
+ -e '/^ttyv[678][[:space:]]/ s/^/# /' "${x}" \
+ || die "Failed to sed ${x}"
+ rm "${x}".bak
+ done
+
+ # This one is here because it also
+ # patches "${WORKDIR}/include"
+ cd "${WORKDIR}"
+ epatch "${FILESDIR}/${PN}-includes.patch"
+ epatch "${FILESDIR}/${P}-rtldnoload.patch"
+
+ # Don't install the hesiod man page or header
+ rm "${WORKDIR}"/include/hesiod.h || die
+ sed -i.bak -e 's:hesiod.h::' "${WORKDIR}"/include/Makefile || die
+ sed -i.bak -e 's:hesiod.c::' -e 's:hesiod.3::' \
+ "${WORKDIR}"/lib/libc/net/Makefile.inc || die
+
+ # Apply this patch for Gentoo/FreeBSD/SPARC64 to build correctly
+ # from catalyst, then don't do anything else
+ if use build; then
+ cd "${WORKDIR}"
+ # This patch has to be applied on ${WORKDIR}/sys, so we do it here since it
+ # shouldn't be a symlink to /usr/src/sys (which should be already patched)
+ epatch "${FILESDIR}"/${PN}-7.1-types.h-fix.patch
+ # Preinstall includes so we don't use the system's ones.
+ mkdir "${WORKDIR}/include_proper" || die "Couldn't create ${WORKDIR}/include_proper"
+ install_includes "/include_proper"
+ return 0
+ fi
+
+ if [ "${CTARGET}" = "${CHOST}" ]; then
+ ln -s "/usr/src/sys-${RV}" "${WORKDIR}/sys" || die "Couldn't make sys symlink!"
+ else
+ sed -i.bak -e "s:/usr/include:/usr/${CTARGET}/usr/include:g" \
+ "${S}/libc/rpc/Makefile.inc" \
+ "${S}/libc/yp/Makefile.inc"
+ fi
+
+ if install --version 2> /dev/null | grep -q GNU; then
+ sed -i.bak -e 's:${INSTALL} -C:${INSTALL}:' "${WORKDIR}/include/Makefile"
+ fi
+
+ # Preinstall includes so we don't use the system's ones.
+ mkdir "${WORKDIR}/include_proper" || die "Couldn't create ${WORKDIR}/include_proper"
+ install_includes "/include_proper"
+
+ # Let arch-specific includes to be found
+ local machine
+ machine=$(tc-arch-kernel ${CTARGET})
+ ln -s "${WORKDIR}/sys/${machine}/include" "${WORKDIR}/include/machine" || \
+ die "Couldn't make ${machine}/include symlink."
+
+ cd "${S}"
+ use bootstrap && dummy_mk libstand
+}
+
+src_compile() {
+ cd "${WORKDIR}/include"
+ $(freebsd_get_bmake) CC=$(tc-getCC) || die "make include failed"
+
+ use crosscompile_opts_headers-only && return 0
+
+ # Don't use ssp until properly fixed
+ append-flags $(test-flags -fno-stack-protector -fno-stack-protector-all)
+
+ # Bug #270098
+ append-flags $(test-flags -fno-strict-aliasing)
+
+ strip-flags
+ if [ "${CTARGET}" != "${CHOST}" ]; then
+ export YACC='yacc -by'
+ CHOST=${CTARGET} tc-export CC LD CXX
+
+ local machine
+ machine=$(tc-arch-kernel ${CTARGET})
+
+ local csudir
+ if [ -d "${S}/csu/${machine}-elf" ]; then
+ csudir="${S}/csu/${machine}-elf"
+ else
+ csudir="${S}/csu/${machine}"
+ fi
+ cd "${csudir}"
+ $(freebsd_get_bmake) ${mymakeopts} || die "make csu failed"
+
+ append-flags "-isystem /usr/${CTARGET}/usr/include"
+ append-flags "-isystem ${WORKDIR}/lib/libutil"
+ append-flags "-isystem ${WORKDIR}/lib/msun/${machine/i386/i387}"
+ append-flags "-B ${csudir}"
+ append-ldflags "-B ${csudir}"
+
+ cd "${S}/libc"
+ $(freebsd_get_bmake) ${mymakeopts} || die "make libc failed"
+ cd "${S}/msun"
+ $(freebsd_get_bmake) ${mymakeopts} || die "make libc failed"
+ else
+ # Forces to use the local copy of headers as they might be outdated in
+ # the system
+ append-flags "-isystem '${WORKDIR}/include_proper'"
+
+ cd "${S}"
+ NOFLAGSTRIP=yes freebsd_src_compile
+ fi
+}
+
+src_install() {
+ [ "${CTARGET}" = "${CHOST}" ] \
+ && INCLUDEDIR="/usr/include" \
+ || INCLUDEDIR="/usr/${CTARGET}/usr/include"
+ dodir ${INCLUDEDIR}
+ einfo "Installing for ${CTARGET} in ${CHOST}.."
+ install_includes ${INCLUDEDIR}
+
+ # Install math.h when crosscompiling, at this point
+ if [ "${CHOST}" != "${CTARGET}" ]; then
+ insinto "/usr/${CTARGET}/usr/include"
+ doins "${S}/msun/src/math.h"
+ fi
+
+ use crosscompile_opts_headers-only && return 0
+
+ if [ "${CTARGET}" != "${CHOST}" ]; then
+ local csudir
+ if [ -d "${S}/csu/$(tc-arch-kernel ${CTARGET})-elf" ]; then
+ csudir="${S}/csu/$(tc-arch-kernel ${CTARGET})-elf"
+ else
+ csudir="${S}/csu/$(tc-arch-kernel ${CTARGET})"
+ fi
+ cd "${csudir}"
+ $(freebsd_get_bmake) ${mymakeopts} DESTDIR="${D}" install \
+ FILESDIR="/usr/${CTARGET}/usr/lib" LIBDIR="/usr/${CTARGET}/usr/lib" || die "Install csu failed"
+
+ cd "${S}/libc"
+ $(freebsd_get_bmake) ${mymakeopts} DESTDIR="${D}" install NO_MAN= \
+ SHLIBDIR="/usr/${CTARGET}/lib" LIBDIR="/usr/${CTARGET}/usr/lib" || die "Install failed"
+
+ cd "${S}/msun"
+ $(freebsd_get_bmake) ${mymakeopts} DESTDIR="${D}" install NO_MAN= \
+ INCLUDEDIR="/usr/${CTARGET}/usr/include" \
+ SHLIBDIR="/usr/${CTARGET}/lib" LIBDIR="/usr/${CTARGET}/usr/lib" || die "Install failed"
+
+ dosym "usr/include" "/usr/${CTARGET}/sys-include"
+ else
+ cd "${S}"
+ # Set SHLIBDIR and LIBDIR for multilib
+ SHLIBDIR="/$(get_libdir)" LIBDIR="/usr/$(get_libdir)" mkinstall || die "Install failed"
+ fi
+
+ # Don't install the rest of the configuration files if crosscompiling
+ if [ "${CTARGET}" != "${CHOST}" ] ; then
+ # This is to get it stripped with the correct tools, otherwise it gets
+ # stripped with the host strip.
+ export CHOST=${CTARGET}
+ return 0
+ fi
+
+ # Add symlinks (-> libthr) for legacy threading libraries, since these are
+ # not built by us (they are disabled in FreeBSD-7 anyway).
+ dosym libthr.a /usr/$(get_libdir)/libpthread.a
+ dosym libthr.so /usr/$(get_libdir)/libpthread.so
+ dosym libthr.a /usr/$(get_libdir)/libc_r.a
+ dosym libthr.so /usr/$(get_libdir)/libc_r.so
+
+ # Add symlink (-> libthr) so previously built binaries still work.
+ dosym libthr.so.3 /$(get_libdir)/libpthread.so.2
+ dosym libthr.so.3 /$(get_libdir)/libc_r.so.6
+
+ # Compatibility symlinks to run FreeBSD 5.x binaries (ABI is mostly
+ # identical, remove when problems will actually happen)
+ dosym /lib/libc.so.7 /usr/$(get_libdir)/libc.so.6
+ dosym /lib/libc.so.6 /usr/$(get_libdir)/libc.so.5
+ dosym /lib/libm.so.4 /usr/$(get_libdir)/libm.so.3
+ dosym /lib/libm.so.5 /usr/$(get_libdir)/libm.so.4
+
+ # install libstand files
+ dodir /usr/include/libstand
+ insinto /usr/include/libstand
+ doins "${S}"/libstand/*.h
+
+ cd "${WORKDIR}/etc/"
+ insinto /etc
+ doins auth.conf nls.alias mac.conf netconfig
+
+ # Install ttys file
+ if [[ $(tc-arch-kernel) == "x86_64" ]]; then
+ local MACHINE="amd64"
+ else
+ local MACHINE="$(tc-arch-kernel)"
+ fi
+ doins "etc.${MACHINE}"/*
+
+ # Generate ldscripts, otherwise bad thigs are supposed to happen
+ gen_usr_ldscript libalias_cuseeme.so libalias_dummy.so libalias_ftp.so \
+ libalias_irc.so libalias_nbt.so libalias_pptp.so libalias_skinny.so \
+ libalias_smedia.so
+ # These show on QA warnings too, however they're pretty much bsd only,
+ # aka, no autotools for them.
+ # libbsdxml.so libcam.so libcrypt.so libdevstat.so libgeom.so \
+ # libipsec.so libipx.so libkiconv.so libkvm.so libmd.so libsbuf.so libufs.so \
+ # libutil.so
+
+ dodir /etc/sandbox.d
+ cat - > "${D}"/etc/sandbox.d/00freebsd <<EOF
+# /dev/crypto is used mostly by OpenSSL on *BSD platforms
+# leave it available as packages might use OpenSSL commands
+# during compile or install phase.
+SANDBOX_PREDICT="/dev/crypto"
+EOF
+}
+
+install_includes()
+{
+ local INCLUDEDIR="$1"
+
+ # The idea is to be called from either install or unpack.
+ # During unpack it's required to install them as portage's user.
+ if [[ "${EBUILD_PHASE}" == "install" ]]; then
+ local DESTDIR="${D}"
+ BINOWN="root"
+ BINGRP="wheel"
+ else
+ local DESTDIR="${WORKDIR}"
+ [[ -z "${USER}" ]] && USER="portage"
+ BINOWN="${USER}"
+ [[ -z "${GROUPS}" ]] && GROUPS="portage"
+ BINGRP="${GROUPS}"
+ fi
+
+ # Must exist before we use it.
+ [[ -d "${DESTDIR}${INCLUDEDIR}" ]] || die "dodir or mkdir ${INCLUDEDIR} before using install_includes."
+ cd "${WORKDIR}/include"
+
+ if [[ $(tc-arch-kernel) == "x86_64" ]]; then
+ local MACHINE="amd64"
+ else
+ local MACHINE="$(tc-arch-kernel)"
+ fi
+
+ einfo "Installing includes into ${INCLUDEDIR} as ${BINOWN}:${BINGRP}..."
+ $(freebsd_get_bmake) installincludes \
+ MACHINE=${MACHINE} DESTDIR="${DESTDIR}" \
+ INCLUDEDIR="${INCLUDEDIR}" BINOWN="${BINOWN}" \
+ BINGRP="${BINGRP}" || die "install_includes() failed"
+ einfo "includes installed ok."
+}
diff --git a/sys-freebsd/freebsd-libexec/Manifest b/sys-freebsd/freebsd-libexec/Manifest
index 399914a8cd0d..622b42acc611 100644
--- a/sys-freebsd/freebsd-libexec/Manifest
+++ b/sys-freebsd/freebsd-libexec/Manifest
@@ -1,3 +1,6 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
AUX bootpd.confd 183 RMD160 0de8f93cbc604b11dee01a8d8d3898acd2f2dc93 SHA1 c58536760a43904a2dadeb749f2fa7d715152624 SHA256 c70c6a7a99470354a5f61bfe5c0f71325f4896e41da150e782223a30f07a275c
AUX bootpd.initd 553 RMD160 15e4cd00d83d969ed3dbeb8c3cd1a6bbfb05c999 SHA1 9ca5dc11b74d65c753d6614f8b22a5fc2f0902a0 SHA256 1fdc8470fda0acca9213c11e1e380110d36e992754709f754bec6ab04b77e7fa
AUX freebsd-libexec-6.1-libfallback.patch 4230 RMD160 ec9a2d6b85945932f3d2c463c55730663961e9e5 SHA1 f67aab56a84a14c38aab467572d68d3be622cdc9 SHA256 a9db8a93a973be10c9c9f7044f9d40ed4a58a16906b3da089db9873aa7597380
@@ -5,6 +8,7 @@ AUX freebsd-libexec-6.2-dl_iterate_phdr.patch 8194 RMD160 8670b61fe0cfdb9cf9d551
AUX freebsd-libexec-7.0-libfallback.patch 3955 RMD160 1ba757f14a96b70f8864880d3da7aceeb923226a SHA1 b2f120ed69c45b494f3a2bab80465e38de24018e SHA256 5850a3b9bc5c25fca8c70547926423b44a9123878d37e40a0fc6323ebc8a843c
AUX freebsd-libexec-7.2-pic.patch 348 RMD160 59f8d21553276a36e6299d400659333d0e58ab7e SHA1 6ca0a8e94a726b59bcf4a0b75e611621d56d3b1b SHA256 424ed7b69067d3a3a77ad387026548b77d41412f52ae17c737e96e57b6cb3b0f
AUX freebsd-libexec-7.2-rtld7.patch 855 RMD160 bc1a1ab1089f0bce0d2958e53bad8cbbcfe2cd67 SHA1 20dd7d590018668eb7653aea474edf6c565242d7 SHA256 d31c269fec13a65267053b527909b2912158aa82da3d04dd576dc6a00f1e8557
+AUX freebsd-libexec-7.2-rtldnoload.patch 2180 RMD160 f1d3aeccc68c05de74bfc747a9c6456335bee1ab SHA1 008509c89f9c709567ba9e61293b8cf7f858877c SHA256 5eb62ec2603467f4a7e9c2ad5faaf481270402b8fb892c4931a5f7f035502d29
AUX freebsd-libexec-nossp.patch 434 RMD160 7b63e750f7d1364b1a4cc8af139788d163899563 SHA1 93bc3197fa5dd5d857ec295ebc3c0ca2574c93e3 SHA256 8ee38006be649adf95dc9742a9356e337e769c11c48206566023d9c8e85c3364
AUX freebsd-libexec-setXid.patch 270 RMD160 70cb184d02b3a3102eeb6332226db42b2abf04f5 SHA1 0e9332ab2a6951abfdfd58bd134368e7e437fa28 SHA256 b96e8adef3276e5bd2b2518641b9d971202476803b82bdea7077603510116b8e
AUX ftpd.pamd 192 RMD160 e178eab9e4caf6e8cfa0c24c16d764c0d0111ce6 SHA1 d816a5040a6ddc1112f7213c4417ee2f7bbd8bd3 SHA256 4b789fb18bc0d1f9b0a9b0f1bf5dac6d86166a7106e966e5f65ffd4faf5ce024
@@ -37,6 +41,14 @@ DIST freebsd-usbin-7.2.tar.bz2 2654480 RMD160 af0a94e0affce332cf30532ea45251563e
EBUILD freebsd-libexec-6.2-r2.ebuild 1812 RMD160 d13830b604bb7b3d47f02003f72a0d150a5a1130 SHA1 7a888657a8488267650f7a3da6babbb8b8b68060 SHA256 eb1faec030f8872e8c79110eba6baba658797664bed2cec1fa007742c4fd921e
EBUILD freebsd-libexec-7.1-r1.ebuild 2063 RMD160 ae843df1662c8b7aaf830306a546b286e8503f85 SHA1 407a9edd44d371c492949b63239af67cfd87b262 SHA256 412bb592c35c7d6f5c1e2bdd1093fcc2a1e9714babc22abab8b979321980533a
EBUILD freebsd-libexec-7.2-r1.ebuild 2134 RMD160 5e3b6249da86634304e8a7023fe1b1472524d506 SHA1 1bd64829e55183d7b69c8ee7936cc53af013f2ab SHA256 6a89e8833845f10bf24f5e3b79b9112b906e30c855eafe0336719be00ec292a5
+EBUILD freebsd-libexec-7.2-r2.ebuild 2204 RMD160 000315fbf6820b0c9bd5dca9c2c716968729a7fb SHA1 597df60c2d645de578427f35e173bf3be62db09d SHA256 c2e529d205f269cc7c5f1f6534b84ee9e71281fd5822b2c7d090d4a2e45939d2
EBUILD freebsd-libexec-7.2.ebuild 2068 RMD160 2c8d572f7041cfad8802bdaa2aabe0ffca5ff528 SHA1 b99d9e1c56394c376309b0d68e4e1cc8dc173d3b SHA256 f6089efadcf3a5ab59fabf06511c1287561c2ba3e9193fe9741484256c044d71
-MISC ChangeLog 8444 RMD160 2b513d0b9c2f33691b5e205bc18bcb19bc80ae92 SHA1 99fee24b4307f1f0dbff930e4727b2eb7e9765e1 SHA256 75227a43633e23240f714ac0af8cc230339c847215d4f5a3af1045b3fdef0d3f
+MISC ChangeLog 8668 RMD160 61e5a2357504c32203dd3b4589236f6f779379c6 SHA1 fedbeeb8bc19b1ab78bea941e27aaff2ba7286c3 SHA256 95d58863edfa747e7a5635ab6fc5619fcc4f5989e8831d8d3495204027435c9f
MISC metadata.xml 156 RMD160 60b5820a08275f307e5bd936d78f5afd1f141086 SHA1 d9d9d4f2b5afc58339ea3e562fca490156935f1f SHA256 30ab515d6ac492d3d6c36ac3c675511742c2149e56a6b3228c8d22ab8edb3ff7
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.14 (GNU/Linux)
+
+iEYEARECAAYFAktKXRoACgkQvFcC4BYPU0reqwCePJeyeiFCfTIzTdNdRaLZTyRR
+8YUAn1zfvJH+Hil0iptX9bUUdurnbRoK
+=KePt
+-----END PGP SIGNATURE-----