diff options
author | Alexis Ballier <aballier@gentoo.org> | 2010-01-10 23:01:51 +0000 |
---|---|---|
committer | Alexis Ballier <aballier@gentoo.org> | 2010-01-10 23:01:51 +0000 |
commit | 4e649aab6b4554ab58eb7caac46b33584f28a28b (patch) | |
tree | 7d851b879830903060ab10c80ba475b574fbbc21 | |
parent | Version bump. Drop old. (diff) | |
download | historical-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/ChangeLog | 10 | ||||
-rw-r--r-- | sys-freebsd/freebsd-lib/Manifest | 14 | ||||
-rw-r--r-- | sys-freebsd/freebsd-lib/files/freebsd-lib-7.2-rtldnoload.patch | 30 | ||||
-rw-r--r-- | sys-freebsd/freebsd-lib/freebsd-lib-7.2-r1.ebuild | 369 | ||||
-rw-r--r-- | sys-freebsd/freebsd-libexec/Manifest | 14 |
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----- |