diff options
author | Alexis Ballier <aballier@gentoo.org> | 2013-06-18 18:19:57 +0000 |
---|---|---|
committer | Alexis Ballier <aballier@gentoo.org> | 2013-06-18 18:19:57 +0000 |
commit | e4fd1f55104a0b55910c36ffecbbf71d14ad1e21 (patch) | |
tree | 986d1161d07ce3c6b5dd14e8a93e1442ee3bd2d9 /sys-freebsd/freebsd-ubin | |
parent | Include the DEFAULT_ABI header in our wrappers if all the previous conditions... (diff) | |
download | gentoo-2-e4fd1f55104a0b55910c36ffecbbf71d14ad1e21.tar.gz gentoo-2-e4fd1f55104a0b55910c36ffecbbf71d14ad1e21.tar.bz2 gentoo-2-e4fd1f55104a0b55910c36ffecbbf71d14ad1e21.zip |
Build and install ldd32 with USE=multilib so that we can ldd 32bits executables.
(Portage version: 2.2.0_alpha180/cvs/Linux x86_64, signed Manifest commit with key 160F534A)
Diffstat (limited to 'sys-freebsd/freebsd-ubin')
-rw-r--r-- | sys-freebsd/freebsd-ubin/ChangeLog | 9 | ||||
-rw-r--r-- | sys-freebsd/freebsd-ubin/freebsd-ubin-9.1-r1.ebuild | 176 |
2 files changed, 184 insertions, 1 deletions
diff --git a/sys-freebsd/freebsd-ubin/ChangeLog b/sys-freebsd/freebsd-ubin/ChangeLog index 4c69b8da8df5..8e36b4d59e18 100644 --- a/sys-freebsd/freebsd-ubin/ChangeLog +++ b/sys-freebsd/freebsd-ubin/ChangeLog @@ -1,6 +1,13 @@ # ChangeLog for sys-freebsd/freebsd-ubin # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-ubin/ChangeLog,v 1.86 2013/01/27 22:39:32 aballier Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-ubin/ChangeLog,v 1.87 2013/06/18 18:19:57 aballier Exp $ + +*freebsd-ubin-9.1-r1 (18 Jun 2013) + + 18 Jun 2013; Alexis Ballier <aballier@gentoo.org> + +freebsd-ubin-9.1-r1.ebuild: + Build and install ldd32 with USE=multilib so that we can ldd 32bits + executables. 27 Jan 2013; Alexis Ballier <aballier@gentoo.org> freebsd-ubin-9.1.ebuild, +files/freebsd-ubin-9.1-ar-libarchive3.patch: diff --git a/sys-freebsd/freebsd-ubin/freebsd-ubin-9.1-r1.ebuild b/sys-freebsd/freebsd-ubin/freebsd-ubin-9.1-r1.ebuild new file mode 100644 index 000000000000..4112c7763004 --- /dev/null +++ b/sys-freebsd/freebsd-ubin/freebsd-ubin-9.1-r1.ebuild @@ -0,0 +1,176 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-ubin/freebsd-ubin-9.1-r1.ebuild,v 1.1 2013/06/18 18:19:57 aballier Exp $ + +EAPI=5 + +inherit bsdmk freebsd flag-o-matic pam multilib multibuild + +DESCRIPTION="FreeBSD's base system source for /usr/bin" +SLOT="0" +KEYWORDS="~amd64-fbsd ~sparc-fbsd ~x86-fbsd" +IUSE="ar atm audit bluetooth ipv6 kerberos multilib netware nis ssl usb build zfs" +LICENSE="BSD zfs? ( CDDL )" + +SRC_URI="mirror://gentoo/${UBIN}.tar.bz2 + mirror://gentoo/${CONTRIB}.tar.bz2 + mirror://gentoo/${LIB}.tar.bz2 + mirror://gentoo/${ETC}.tar.bz2 + mirror://gentoo/${BIN}.tar.bz2 + mirror://gentoo/${INCLUDE}.tar.bz2 + zfs? ( mirror://gentoo/${CDDL}.tar.bz2 ) + build? ( mirror://gentoo/${SYS}.tar.bz2 )" + +RDEPEND="=sys-freebsd/freebsd-lib-${RV}*[usb?,bluetooth?] + >=sys-freebsd/freebsd-lib-9.1-r7[multilib?] + ssl? ( dev-libs/openssl ) + kerberos? ( virtual/krb5 ) + ar? ( >=app-arch/libarchive-3 ) + virtual/pam + sys-libs/zlib + >=sys-libs/ncurses-5.9 + !sys-process/fuser-bsd + !dev-util/csup" + +DEPEND="${RDEPEND} + sys-devel/flex + !build? ( =sys-freebsd/freebsd-sources-${RV}* ) + =sys-freebsd/freebsd-mk-defs-${RV}*" + +RDEPEND="${RDEPEND} + >=sys-auth/pambase-20080219.1 + sys-process/cronbase" + +S="${WORKDIR}/usr.bin" + +PATCHES=( "${FILESDIR}/${PN}-6.0-bsdcmp.patch" + "${FILESDIR}/${PN}-9.0-fixmakefiles.patch" + "${FILESDIR}/${PN}-setXid.patch" + "${FILESDIR}/${PN}-lint-stdarg.patch" + "${FILESDIR}/${PN}-9.1-kdump-ioctl.patch" + "${FILESDIR}/${PN}-8.0-xinstall.patch" + "${FILESDIR}/${PN}-9.1-bsdar.patch" + "${FILESDIR}/${PN}-9.1-minigzip.patch" + "${FILESDIR}/${PN}-9.1-grep.patch" + "${FILESDIR}/${PN}-9.1-ar-libarchive3.patch" ) + +# Here we remove some sources we don't need because they are already +# provided by portage's packages or similar. In order: +# - Archiving tools, provided by their own ebuilds +# - ncurses stuff +# - less stuff +# - bind utils +# - rsh stuff +# - binutils gprof +# - dc stuff +# and the rest are misc utils we already provide somewhere else. +REMOVE_SUBDIRS="bzip2 bzip2recover tar cpio + gzip gprof + lzmainfo xz xzdec + unzip + tput tset tabs + less lessecho lesskey + dig hesinfo nslookup nsupdate host + rsh rlogin rusers rwho ruptime + compile_et lex vi smbutil file vacation nc ftp telnet + c99 c89 + bc dc + whois tftp man" + +MULTIBUILD_VARIANTS=( $(get_all_abis) ) + +pkg_setup() { + use atm || mymakeopts="${mymakeopts} WITHOUT_ATM= " + use audit || mymakeopts="${mymakeopts} WITHOUT_AUDIT= " + use bluetooth || mymakeopts="${mymakeopts} WITHOUT_BLUETOOTH= " + use ipv6 || mymakeopts="${mymakeopts} WITHOUT_INET6= WITHOUT_INET6_SUPPORT= " + use kerberos || mymakeopts="${mymakeopts} WITHOUT_KERBEROS_SUPPORT= " + use netware || mymakeopts="${mymakeopts} WITHOUT_IPX= WITHOUT_IPX_SUPPORT= WITHOUT_NCP= " + use nis || mymakeopts="${mymakeopts} WITHOUT_NIS= " + use ssl || mymakeopts="${mymakeopts} WITHOUT_OPENSSL= " + use usb || mymakeopts="${mymakeopts} WITHOUT_USB= " + use zfs || mymakeopts="${mymakeopts} WITHOUT_CDDL= " + mymakeopts="${mymakeopts} WITHOUT_CLANG= " +} + +pkg_preinst() { + # bison installs a /usr/bin/yacc symlink ... + # we need to remove it to avoid triggering + # collision-protect errors + if [[ -L ${ROOT}/usr/bin/yacc ]] ; then + rm -f "${ROOT}"/usr/bin/yacc + fi +} + +src_prepare() { + use build || ln -s "/usr/src/sys-${RV}" "${WORKDIR}/sys" + + # Rename manpage for renamed cmp + mv "${S}"/cmp/cmp.1 "${S}"/cmp/bsdcmp.1 || die + # Rename manpage for renamed ar + mv "${S}"/ar/ar.1 "${S}"/ar/freebsd-ar.1 || die + # Fix whereis(1) manpath search. + sed -i -e 's:"manpath -q":"manpath":' "${S}/whereis/pathnames.h" + + # Build a dynamic make + sed -i -e '/^NO_SHARED/ s/^/#/' "${S}"/make/Makefile || die + + # Disable it here otherwise our patch wont apply + use ar || dummy_mk ar +} + +setup_multilib_vars() { + if use multilib && [ "${ABI}" != "${DEFAULT_ABI}" ] ; then + cd "${WORKDIR}/usr.bin/ldd" || die + export mymakeopts="${mymakeopts} PROG=ldd32 WITHOUT_MAN=" + else + cd "${S}" + fi + "$@" +} + +src_compile() { + multibuild_foreach_variant freebsd_multilib_multibuild_wrapper setup_multilib_vars freebsd_src_compile +} + +src_install() { + multibuild_foreach_variant freebsd_multilib_multibuild_wrapper setup_multilib_vars freebsd_src_install + + # baselayout requires these in /bin + dodir /bin + for bin in sed printf fuser; do + mv "${D}/usr/bin/${bin}" "${D}/bin/" || die "mv ${bin} failed" + dosym /bin/${bin} /usr/bin/${bin} || die "dosym ${bin} failed" + done + + for pamdfile in login passwd su; do + newpamd "${FILESDIR}/${pamdfile}.1.pamd" ${pamdfile} || die + done + + cd "${WORKDIR}/etc" + insinto /etc + doins remote phones opieaccess fbtab || die + + exeinto /etc/cron.daily + newexe "${FILESDIR}/locate-updatedb-cron" locate.updatedb || die + + # tip requires /var/spool/lock/, bug #200700 + keepdir /var/spool/lock +} + +pkg_postinst() { + # We need to ensure that login.conf.db is up-to-date. + if [[ -e "${ROOT}"etc/login.conf ]] ; then + einfo "Updating ${ROOT}etc/login.conf.db" + "${ROOT}"usr/bin/cap_mkdb -f "${ROOT}"etc/login.conf "${ROOT}"etc/login.conf + elog "Remember to run cap_mkdb /etc/login.conf after making changes to it" + fi +} + +pkg_postrm() { + # and if we uninstall yacc but keep bison, + # lets restore the /usr/bin/yacc symlink + if [[ ! -e ${ROOT}/usr/bin/yacc ]] && [[ -e ${ROOT}/usr/bin/yacc.bison ]] ; then + ln -s yacc.bison "${ROOT}"/usr/bin/yacc + fi +} |