summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDiego Elio Pettenò <flameeyes@gentoo.org>2009-05-18 17:11:20 +0000
committerDiego Elio Pettenò <flameeyes@gentoo.org>2009-05-18 17:11:20 +0000
commit7d1c9ded1fcd89f425449cc2714e46b51112c829 (patch)
tree4ef18e6e9729a1382a84fefdba146dcf96f88086 /sys-freebsd
parentAllow either gzipped or uncompressed patches in the tarball. (diff)
downloadhistorical-7d1c9ded1fcd89f425449cc2714e46b51112c829.tar.gz
historical-7d1c9ded1fcd89f425449cc2714e46b51112c829.tar.bz2
historical-7d1c9ded1fcd89f425449cc2714e46b51112c829.zip
Use the current WITHOUT_ switches, update USE flags and use EAPI=2 to depend on the proper features from the freebsd-lib package.
Package-Manager: portage-2.2_rc33/cvs/Linux x86_64
Diffstat (limited to 'sys-freebsd')
-rw-r--r--sys-freebsd/freebsd-lib/ChangeLog9
-rw-r--r--sys-freebsd/freebsd-lib/freebsd-lib-7.1-r4.ebuild366
-rw-r--r--sys-freebsd/freebsd-lib/metadata.xml10
-rw-r--r--sys-freebsd/freebsd-sbin/ChangeLog9
-rw-r--r--sys-freebsd/freebsd-sbin/freebsd-sbin-7.1-r1.ebuild100
-rw-r--r--sys-freebsd/freebsd-sbin/metadata.xml19
-rw-r--r--sys-freebsd/freebsd-ubin/ChangeLog9
-rw-r--r--sys-freebsd/freebsd-ubin/freebsd-ubin-7.1-r1.ebuild137
-rw-r--r--sys-freebsd/freebsd-ubin/metadata.xml11
-rw-r--r--sys-freebsd/freebsd-usbin/ChangeLog9
-rw-r--r--sys-freebsd/freebsd-usbin/freebsd-usbin-7.1-r2.ebuild170
-rw-r--r--sys-freebsd/freebsd-usbin/metadata.xml14
12 files changed, 847 insertions, 16 deletions
diff --git a/sys-freebsd/freebsd-lib/ChangeLog b/sys-freebsd/freebsd-lib/ChangeLog
index ca1a9f8dde17..e942abe35b73 100644
--- a/sys-freebsd/freebsd-lib/ChangeLog
+++ b/sys-freebsd/freebsd-lib/ChangeLog
@@ -1,6 +1,13 @@
# 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.70 2009/05/16 06:19:18 aballier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog,v 1.71 2009/05/18 17:09:03 flameeyes Exp $
+
+*freebsd-lib-7.1-r4 (18 May 2009)
+
+ 18 May 2009; Diego E. Pettenò <flameeyes@gentoo.org>
+ +freebsd-lib-7.1-r4.ebuild, metadata.xml:
+ Use the current WITHOUT_ switches, update USE flags and use EAPI=2 to
+ depend on the proper features from the freebsd-lib package.
16 May 2009; Alexis Ballier <aballier@gentoo.org>
freebsd-lib-7.1-r3.ebuild, +files/freebsd-lib-includes.patch:
diff --git a/sys-freebsd/freebsd-lib/freebsd-lib-7.1-r4.ebuild b/sys-freebsd/freebsd-lib/freebsd-lib-7.1-r4.ebuild
new file mode 100644
index 000000000000..bff053b3a057
--- /dev/null
+++ b/sys-freebsd/freebsd-lib/freebsd-lib-7.1-r4.ebuild
@@ -0,0 +1,366 @@
+# Copyright 1999-2009 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.1-r4.ebuild,v 1.1 2009/05/18 17:09:03 flameeyes Exp $
+
+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
+ nis? ( 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 nis 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 nis || mymakeopts="${mymakeopts} WITHOUT_NIS= "
+ 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
+ ${FILESDIR}/${PN}-7.1-db.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}-7.1-strndup_bport.patch"
+ epatch "${FILESDIR}/${PN}-includes.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)
+
+ 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-lib/metadata.xml b/sys-freebsd/freebsd-lib/metadata.xml
index 04dce7bb5beb..51f0069cd483 100644
--- a/sys-freebsd/freebsd-lib/metadata.xml
+++ b/sys-freebsd/freebsd-lib/metadata.xml
@@ -1,9 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<herd>bsd</herd>
-<use>
+ <herd>bsd</herd>
+ <use>
<flag name='gpib'>Enable General Purpose Interface Bus support</flag>
<flag name='hesiod'>Enable support for net-dns/hesiod</flag>
-</use>
+ <flag name='netware'>
+ Build libraries and tools to work with NetWare protocols (IPX
+ and NCP).
+ </flag>
+ </use>
</pkgmetadata>
diff --git a/sys-freebsd/freebsd-sbin/ChangeLog b/sys-freebsd/freebsd-sbin/ChangeLog
index 15cfa219c0a9..d7a0cdc7bd14 100644
--- a/sys-freebsd/freebsd-sbin/ChangeLog
+++ b/sys-freebsd/freebsd-sbin/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-freebsd/freebsd-sbin
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-sbin/ChangeLog,v 1.49 2009/02/24 17:41:32 drizzt Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-sbin/ChangeLog,v 1.50 2009/05/18 17:09:52 flameeyes Exp $
+
+*freebsd-sbin-7.1-r1 (18 May 2009)
+
+ 18 May 2009; Diego E. Pettenò <flameeyes@gentoo.org>
+ +freebsd-sbin-7.1-r1.ebuild, metadata.xml:
+ Use the current WITHOUT_ switches, update USE flags and use EAPI=2 to
+ depend on the proper features from the freebsd-lib package.
24 Feb 2009; Timothy Redaelli <drizzt@gentoo.org> files/devd.initd:
Fix devd.initd
diff --git a/sys-freebsd/freebsd-sbin/freebsd-sbin-7.1-r1.ebuild b/sys-freebsd/freebsd-sbin/freebsd-sbin-7.1-r1.ebuild
new file mode 100644
index 000000000000..b36bbef8a62e
--- /dev/null
+++ b/sys-freebsd/freebsd-sbin/freebsd-sbin-7.1-r1.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-sbin/freebsd-sbin-7.1-r1.ebuild,v 1.1 2009/05/18 17:09:52 flameeyes Exp $
+
+EAPI=2
+
+inherit flag-o-matic bsdmk freebsd
+
+DESCRIPTION="FreeBSD sbin utils"
+KEYWORDS="~sparc-fbsd ~x86-fbsd"
+SLOT="0"
+
+SRC_URI="mirror://gentoo/${SBIN}.tar.bz2
+ mirror://gentoo/${CONTRIB}.tar.bz2
+ mirror://gentoo/${LIB}.tar.bz2
+ mirror://gentoo/${LIBEXEC}.tar.bz2
+ mirror://gentoo/${USBIN}.tar.bz2
+ mirror://gentoo/${ETC}.tar.bz2
+ build? ( mirror://gentoo/${SYS}.tar.bz2 )"
+
+RDEPEND="=sys-freebsd/freebsd-lib-${RV}*[ipv6?,atm?,netware?]
+ =sys-freebsd/freebsd-libexec-${RV}*
+ ssl? ( dev-libs/openssl )
+ dev-libs/libedit
+ sys-libs/readline
+ sys-process/vixie-cron"
+DEPEND="${RDEPEND}
+ !build? ( =sys-freebsd/freebsd-sources-${RV}* )
+ =sys-freebsd/freebsd-mk-defs-${RV}*"
+
+PROVIDE="virtual/dev-manager"
+
+S="${WORKDIR}/sbin"
+
+IUSE="atm ipfilter +pf ipv6 build ssl +cxx netware"
+
+pkg_setup() {
+ use atm || mymakeopts="${mymakeopts} WITHOUT_ATM= "
+ use cxx || mymakeopts="${mymakeopts} WITHOUT_CXX="
+ use ipfilter || mymakeopts="${mymakeopts} WITHOUT_IPFILTER= "
+ use ipv6 || mymakeopts="${mymakeopts} WITHOUT_INET6= WITHOUT_INET6_SUPPORT="
+ use netware || mymakeopts="${mymakeopts} WITHOUT_IPX= WITHOUT_IPX_SUPPORT= WITHOUT_NCP= "
+ use pf || mymakeopts="${mymakeopts} WITHOUT_PF= "
+ use ssl || mymakeopts="${mymakeopts} WITHOUT_OPENSSL="
+
+ # O3 breaks this, apparently
+ replace-flags -O3 -O2
+}
+
+REMOVE_SUBDIRS="dhclient pfctl pflogd rcorder"
+
+PATCHES="${FILESDIR}/${PN}-setXid.patch
+ ${FILESDIR}/${PN}-7.1-zlib.patch
+ ${FILESDIR}/${PN}-6.2-ldconfig.patch
+ ${FILESDIR}/${PN}-6.1-pr102701.patch"
+
+src_prepare() {
+ use build || ln -s "/usr/src/sys-${RV}" "${WORKDIR}/sys"
+}
+
+src_install() {
+ freebsd_src_install
+ keepdir /var/log
+ # Needed by ldconfig:
+ keepdir /var/run
+
+ # Allow users to use ping and other commands
+ dodir /bin
+ mv "${D}/sbin/ping" "${D}/bin/" || die "mv failed"
+
+ # ext2fs can mount ext3, you just don't get the journalling
+ dosym mount_ext2fs sbin/mount_ext3
+
+ # Do we need pccard.conf if we have devd?
+ # Maybe ship our own sysctl.conf so things like radvd work out of the box.
+ cd "${WORKDIR}/etc/"
+ insinto /etc
+ doins defaults/pccard.conf minfree sysctl.conf
+
+ # initd script for idmapd
+ newinitd "${FILESDIR}/idmapd.initd" idmapd
+
+ # Install a crontab for adjkerntz
+ insinto /etc/cron.d
+ newins "${FILESDIR}/adjkerntz-crontab" adjkerntz
+
+ # Install the periodic stuff (needs probably to be ported in a more
+ # gentooish way)
+ cd "${WORKDIR}/etc/periodic"
+
+ doperiodic security \
+ security/*.ipfwlimit \
+ security/*.ip6fwlimit \
+ security/*.ip6fwdenied \
+ security/*.ipfwdenied
+
+ use ipfilter && doperiodic security \
+ security/*.ipf6denied \
+ security/*.ipfdenied
+}
diff --git a/sys-freebsd/freebsd-sbin/metadata.xml b/sys-freebsd/freebsd-sbin/metadata.xml
index bbebac7ab653..e05b621c037c 100644
--- a/sys-freebsd/freebsd-sbin/metadata.xml
+++ b/sys-freebsd/freebsd-sbin/metadata.xml
@@ -1,9 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<herd>bsd</herd>
-<use>
- <flag name='ipfilter'>Enable ipfilter firewall support</flag>
- <flag name='vinum'>Enable vinum support (TODO improve description)</flag>
-</use>
+ <herd>bsd</herd>
+ <use>
+ <flag name='ipfilter'>
+ Build tools to administer the ipfilter firewall.
+ </flag>
+ <flag name='pf'>
+ Build tools to administer the PF firewall.
+ </flag>
+ <flag name='vinum'>Enable vinum support (TODO improve description)</flag>
+ <flag name='netware'>
+ Build libraries and tools to work with NetWare protocols (IPX
+ and NCP).
+ </flag>
+ </use>
</pkgmetadata>
diff --git a/sys-freebsd/freebsd-ubin/ChangeLog b/sys-freebsd/freebsd-ubin/ChangeLog
index be3adde7991c..c780b726a885 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-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-ubin/ChangeLog,v 1.58 2009/01/22 21:06:12 the_paya Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-ubin/ChangeLog,v 1.59 2009/05/18 17:10:35 flameeyes Exp $
+
+*freebsd-ubin-7.1-r1 (18 May 2009)
+
+ 18 May 2009; Diego E. Pettenò <flameeyes@gentoo.org>
+ +freebsd-ubin-7.1-r1.ebuild, metadata.xml:
+ Use the current WITHOUT_ switches, update USE flags and use EAPI=2 to
+ depend on the proper features from the freebsd-lib package.
*freebsd-ubin-7.1 (22 Jan 2009)
diff --git a/sys-freebsd/freebsd-ubin/freebsd-ubin-7.1-r1.ebuild b/sys-freebsd/freebsd-ubin/freebsd-ubin-7.1-r1.ebuild
new file mode 100644
index 000000000000..223040659f4f
--- /dev/null
+++ b/sys-freebsd/freebsd-ubin/freebsd-ubin-7.1-r1.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-ubin/freebsd-ubin-7.1-r1.ebuild,v 1.1 2009/05/18 17:10:35 flameeyes Exp $
+
+EAPI=2
+
+inherit bsdmk freebsd flag-o-matic pam
+
+DESCRIPTION="FreeBSD's base system source for /usr/bin"
+SLOT="0"
+KEYWORDS="~sparc-fbsd ~x86-fbsd"
+
+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
+ build? ( mirror://gentoo/${SYS}.tar.bz2 )"
+
+RDEPEND="=sys-freebsd/freebsd-lib-${RV}*[nis?,usb?,bluetooth?]
+ ssl? ( dev-libs/openssl )
+ kerberos? ( virtual/krb5 )
+ virtual/pam
+ sys-libs/zlib
+ !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"
+
+IUSE="atm audit bluetooth ipv6 kerberos netware nis ssl usb build"
+
+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= "
+}
+
+# List of patches to apply
+PATCHES="${FILESDIR}/${PN}-6.0-bsdcmp.patch
+ ${FILESDIR}/${PN}-6.0-fixmakefiles.patch
+ ${FILESDIR}/${PN}-setXid.patch
+ ${FILESDIR}/${PN}-lint-stdarg.patch
+ ${FILESDIR}/${PN}-6.0-kdump-ioctl.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
+# and the rest are misc utils we already provide somewhere else.
+REMOVE_SUBDIRS="bzip2 bzip2recover tar
+ gzip gprof
+ tput tset
+ 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
+ whois tftp"
+
+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
+ # 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
+}
+
+src_install() {
+ freebsd_src_install
+
+ # baselayout requires these in /bin
+ dodir /bin
+ for bin in sed; 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}
+ done
+
+ cd "${WORKDIR}/etc"
+ insinto /etc
+ doins remote phones opieaccess fbtab
+
+ exeinto /etc/cron.daily
+ newexe "${FILESDIR}/locate-updatedb-cron" locate.updatedb
+}
+
+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
+}
diff --git a/sys-freebsd/freebsd-ubin/metadata.xml b/sys-freebsd/freebsd-ubin/metadata.xml
index ecedda4aa2cc..4ddd22c414fb 100644
--- a/sys-freebsd/freebsd-ubin/metadata.xml
+++ b/sys-freebsd/freebsd-ubin/metadata.xml
@@ -1,5 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<herd>bsd</herd>
+ <herd>bsd</herd>
+ <use>
+ <flag name='audit'>
+ Build auditing tools.
+ </flag>
+ <flag name='netware'>
+ Build libraries and tools to work with NetWare protocols (IPX
+ and NCP).
+ </flag>
+ </use>
</pkgmetadata>
diff --git a/sys-freebsd/freebsd-usbin/ChangeLog b/sys-freebsd/freebsd-usbin/ChangeLog
index 13bcf02b4697..d5537b48f81a 100644
--- a/sys-freebsd/freebsd-usbin/ChangeLog
+++ b/sys-freebsd/freebsd-usbin/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for sys-freebsd/freebsd-usbin
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-usbin/ChangeLog,v 1.53 2009/02/26 21:38:07 drizzt Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-usbin/ChangeLog,v 1.54 2009/05/18 17:11:20 flameeyes Exp $
+
+*freebsd-usbin-7.1-r2 (18 May 2009)
+
+ 18 May 2009; Diego E. Pettenò <flameeyes@gentoo.org>
+ +freebsd-usbin-7.1-r2.ebuild, metadata.xml:
+ Use the current WITHOUT_ switches, update USE flags and use EAPI=2 to
+ depend on the proper features from the freebsd-lib package.
26 Feb 2009; Timothy Redaelli <drizzt@gentoo.org>
freebsd-usbin-7.1-r1.ebuild:
diff --git a/sys-freebsd/freebsd-usbin/freebsd-usbin-7.1-r2.ebuild b/sys-freebsd/freebsd-usbin/freebsd-usbin-7.1-r2.ebuild
new file mode 100644
index 000000000000..228f3c845e12
--- /dev/null
+++ b/sys-freebsd/freebsd-usbin/freebsd-usbin-7.1-r2.ebuild
@@ -0,0 +1,170 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-usbin/freebsd-usbin-7.1-r2.ebuild,v 1.1 2009/05/18 17:11:20 flameeyes Exp $
+
+EAPI=2
+
+inherit bsdmk freebsd flag-o-matic eutils
+
+DESCRIPTION="FreeBSD /usr/sbin tools"
+SLOT="0"
+KEYWORDS="~sparc-fbsd ~x86-fbsd"
+
+SRC_URI="mirror://gentoo/${P}.tar.bz2
+ mirror://gentoo/${CONTRIB}.tar.bz2
+ mirror://gentoo/${UBIN}.tar.bz2
+ mirror://gentoo/${LIB}.tar.bz2
+ mirror://gentoo/${SBIN}.tar.bz2
+ mirror://gentoo/${ETC}.tar.bz2
+ mirror://gentoo/${GNU}.tar.bz2
+ nis? ( mirror://gentoo/${LIBEXEC}.tar.bz2 )
+ build? ( mirror://gentoo/${SYS}.tar.bz2
+ mirror://gentoo/${INCLUDE}.tar.bz2 )"
+
+RDEPEND="=sys-freebsd/freebsd-lib-${RV}*[nis?,usb?,bluetooth?,netware?]
+ =sys-freebsd/freebsd-libexec-${RV}*
+ acpi? ( sys-power/iasl )
+ build? ( sys-apps/baselayout )
+ ssl? ( dev-libs/openssl )
+ tcpd? ( sys-apps/tcp-wrappers )
+ dev-libs/libedit
+ net-libs/libpcap"
+DEPEND="${RDEPEND}
+ =sys-freebsd/freebsd-mk-defs-${RV}*
+ !build? ( =sys-freebsd/freebsd-sources-${RV}* )
+ sys-apps/texinfo
+ sys-devel/flex"
+
+PROVIDE="virtual/logger"
+
+S="${WORKDIR}/usr.sbin"
+
+IUSE="acpi atm audit bluetooth ipv6 isdn netware nis pam ssl usb build"
+
+pkg_setup() {
+ # Release crunch is something like minimal. It seems to remove everything
+ # which is not needed to work.
+ use minimal && mymakeopts="${mymakeopts} RELEASE_CRUNCH= "
+
+ use acpi || mymakeopts="${mymakeopts} WITHOUT_ACPI= "
+ 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 isdn || mymakeopts="${mymakeopts} WITHOUT_I4B= "
+ use netware || mymakeopts="${mymakeopts} WITHOUT_IPX= WITHOUT_IPX_SUPPORT= WITHOUT_NCP= "
+ use nis || mymakeopts="${mymakeopts} WITHOUT_NIS= "
+ use pam || mymakeopts="${mymakeopts} WITHOUT_PAM_SUPPORT= "
+ use ssl || mymakeopts="${mymakeopts} WITHOUT_OPENSSL= "
+ use usb || mymakeopts="${mymakeopts} WITHOUT_USB= "
+
+ mymakeopts="${mymakeopts} WITHOUT_BIND_NAMED= WITHOUT_BIND_DNSSEC= WITHOUT_PF= WITHOUT_LPR= WITHOUT_SENDMAIL= WITHOUT_AUTHPF= WITHOUT_MAILWRAPPER= "
+}
+
+PATCHES="${FILESDIR}/${PN}-7.0-nowrap.patch
+ ${FILESDIR}/${PN}-adduser.patch"
+
+REMOVE_SUBDIRS="
+ named named-checkzone named-checkconf rndc rndc-confgen
+ dnssec-keygen dnssec-signzone
+ tcpdchk tcpdmatch
+ sendmail praliases editmap mailstats makemap
+ sysinstall cron mailwrapper ntp bsnmpd
+ tcpdump ndp inetd
+ wpa/wpa_supplicant wpa/hostapd wpa/hostapd_cli wpa/wpa_cli wpa/wpa_passphrase
+ zic amd
+ pkg_install freebsd-update"
+
+src_prepare() {
+ if ! use build; then
+ ln -s "/usr/src/sys-${RV}" "${WORKDIR}/sys"
+ ln -s "/usr/include" "${WORKDIR}/include"
+ else
+ dummy_mk mount_smbfs
+ fi
+}
+
+src_compile() {
+ strip-flags
+ append-flags -I "${WORKDIR}/sys"
+
+ NOFLAGSTRIP="yes" freebsd_src_compile
+}
+
+src_install() {
+ # By creating these directories we avoid having to do a
+ # more complex hack
+ dodir /usr/share/doc
+ dodir /sbin
+ dodir /usr/libexec
+ dodir /usr/bin
+
+ # FILESDIR is used by some makefiles which will install files
+ # in the wrong place, just put it in the doc directory.
+ mkinstall DOCDIR=/usr/share/doc/${PF} || die "Install failed"
+
+ # Most of these now come from openrc.
+ for util in nfs rpc.statd rpc.lockd; do
+ newinitd "${FILESDIR}/"${util}.initd ${util}
+ [[ -e "${FILESDIR}"/${util}.confd ]] && \
+ newconfd "${FILESDIR}"/${util}.confd ${util}
+ done
+
+ for class in daily monthly weekly; do
+ cat - > "${T}/periodic.${class}" <<EOS
+#!/bin/sh
+/usr/sbin/periodic ${class}
+EOS
+ exeinto /etc/cron.${class}
+ newexe "${T}/periodic.${class}" periodic
+ done
+
+ # Install the pw.conf file to let pw use Gentoo's skel location
+ insinto /etc
+ doins "${FILESDIR}/pw.conf"
+
+ cd "${WORKDIR}/etc"
+ doins amd.map apmd.conf syslog.conf newsyslog.conf
+ use usb && doins usbd.conf
+
+ insinto /etc/ppp
+ doins ppp/ppp.conf
+
+ if use isdn; then
+ insinto /etc/isdn
+ doins isdn/*
+ rm -f "${D}"/etc/isdn/Makefile
+ fi
+
+ if use bluetooth; then
+ insinto /etc/bluetooth
+ doins bluetooth/*
+ rm -f "${D}"/etc/bluetooth/Makefile
+ fi
+
+ # Install the periodic stuff (needs probably to be ported in a more
+ # gentooish way)
+ cd "${WORKDIR}/etc/periodic"
+
+ doperiodic daily daily/*.accounting
+ doperiodic monthly monthly/*.accounting
+}
+
+pkg_postinst() {
+ # We need to run pwd_mkdb if key files are not present
+ # If they are, then there is no need to run pwd_mkdb
+ if [[ ! -e "${ROOT}etc/passwd" || ! -e "${ROOT}etc/pwd.db" || ! -e "${ROOT}etc/spwd.db" ]] ; then
+ if [[ -e "${ROOT}etc/master.passwd" ]] ; then
+ einfo "Generating passwd files from ${ROOT}etc/master.passwd"
+ "${ROOT}"usr/sbin/pwd_mkdb -p -d "${ROOT}etc" "${ROOT}etc/master.passwd"
+ else
+ eerror "${ROOT}etc/master.passwd does not exist!"
+ eerror "You will no be able to log into your system!"
+ fi
+ fi
+
+ for logfile in messages security auth.log maillog lpd-errs xferlog cron \
+ debug.log slip.log ppp.log; do
+ [[ -f "${ROOT}/var/log/${logfile}" ]] || touch "${ROOT}/var/log/${logfile}"
+ done
+}
diff --git a/sys-freebsd/freebsd-usbin/metadata.xml b/sys-freebsd/freebsd-usbin/metadata.xml
index e187f396600c..be3d48cc8f1d 100644
--- a/sys-freebsd/freebsd-usbin/metadata.xml
+++ b/sys-freebsd/freebsd-usbin/metadata.xml
@@ -1,11 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<herd>bsd</herd>
-<use>
+ <herd>bsd</herd>
+ <use>
<flag name='ipfilter'>Enable building of ipfilter firewall support.</flag>
<flag name='ipsec'>Enable IPSec support.</flag>
<flag name='isdn'>Enable ISDN support.</flag>
<flag name='nat'>Enable Network Address Translation support daemon.</flag>
-</use>
+
+ <flag name='audit'>
+ Build auditing tools.
+ </flag>
+ <flag name='netware'>
+ Build libraries and tools to work with NetWare protocols (IPX
+ and NCP).
+ </flag>
+ </use>
</pkgmetadata>