summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-freebsd')
-rw-r--r--sys-freebsd/boot0/ChangeLog20
-rw-r--r--sys-freebsd/boot0/Manifest7
-rw-r--r--sys-freebsd/boot0/boot0-6.0.ebuild27
-rw-r--r--sys-freebsd/boot0/files/boot0-6.0-gentoo.patch128
-rw-r--r--sys-freebsd/boot0/files/boot0-gentoo.patch142
-rw-r--r--sys-freebsd/boot0/files/digest-boot0-6.01
-rw-r--r--sys-freebsd/boot0/metadata.xml5
-rw-r--r--sys-freebsd/freebsd-baselayout/ChangeLog95
-rw-r--r--sys-freebsd/freebsd-baselayout/Manifest15
-rw-r--r--sys-freebsd/freebsd-baselayout/files/digest-freebsd-baselayout-200604016
-rw-r--r--sys-freebsd/freebsd-baselayout/files/profile58
-rw-r--r--sys-freebsd/freebsd-baselayout/freebsd-baselayout-20060401.ebuild641
-rw-r--r--sys-freebsd/freebsd-baselayout/metadata.xml5
-rw-r--r--sys-freebsd/freebsd-bin/ChangeLog53
-rw-r--r--sys-freebsd/freebsd-bin/Manifest21
-rw-r--r--sys-freebsd/freebsd-bin/files/digest-freebsd-bin-6.03
-rw-r--r--sys-freebsd/freebsd-bin/files/freebsd-bin-6.0-flex-2.5.31.patch10
-rw-r--r--sys-freebsd/freebsd-bin/files/freebsd-bin-flex.patch12
-rw-r--r--sys-freebsd/freebsd-bin/freebsd-bin-6.0.ebuild38
-rw-r--r--sys-freebsd/freebsd-bin/metadata.xml5
-rw-r--r--sys-freebsd/freebsd-contrib/ChangeLog37
-rw-r--r--sys-freebsd/freebsd-contrib/Manifest21
-rw-r--r--sys-freebsd/freebsd-contrib/files/digest-freebsd-contrib-6.03
-rw-r--r--sys-freebsd/freebsd-contrib/files/freebsd-contrib-5.3-lib_csu-makefile.patch10
-rw-r--r--sys-freebsd/freebsd-contrib/files/freebsd-contrib-crt_gcc4.patch93
-rw-r--r--sys-freebsd/freebsd-contrib/freebsd-contrib-6.0.ebuild46
-rw-r--r--sys-freebsd/freebsd-contrib/metadata.xml5
-rw-r--r--sys-freebsd/freebsd-headers/ChangeLog40
-rw-r--r--sys-freebsd/freebsd-headers/Manifest5
-rw-r--r--sys-freebsd/freebsd-headers/files/digest-freebsd-headers-6.03
-rw-r--r--sys-freebsd/freebsd-headers/freebsd-headers-6.0.ebuild41
-rw-r--r--sys-freebsd/freebsd-headers/metadata.xml5
-rw-r--r--sys-freebsd/freebsd-lib/ChangeLog130
-rw-r--r--sys-freebsd/freebsd-lib/Manifest39
-rw-r--r--sys-freebsd/freebsd-lib/files/digest-freebsd-lib-6.018
-rw-r--r--sys-freebsd/freebsd-lib/files/freebsd-lib-6.0-flex-2.5.31.patch13
-rw-r--r--sys-freebsd/freebsd-lib/files/freebsd-lib-6.0-gccfloat.patch16
-rw-r--r--sys-freebsd/freebsd-lib/files/freebsd-lib-6.0-pmc.patch13
-rw-r--r--sys-freebsd/freebsd-lib/files/freebsd-lib-bsdxml.patch13
-rw-r--r--sys-freebsd/freebsd-lib/files/freebsd-lib-fixmakefiles.patch119
-rw-r--r--sys-freebsd/freebsd-lib/files/freebsd-lib-fixmp.patch12
-rw-r--r--sys-freebsd/freebsd-lib/files/freebsd-lib-msun-fenvc.patch11
-rw-r--r--sys-freebsd/freebsd-lib/files/freebsd-lib-runet.patch11
-rw-r--r--sys-freebsd/freebsd-lib/freebsd-lib-6.0.ebuild115
-rw-r--r--sys-freebsd/freebsd-lib/metadata.xml5
-rw-r--r--sys-freebsd/freebsd-libexec/ChangeLog67
-rw-r--r--sys-freebsd/freebsd-libexec/Manifest24
-rw-r--r--sys-freebsd/freebsd-libexec/files/digest-freebsd-libexec-6.021
-rw-r--r--sys-freebsd/freebsd-libexec/files/freebsd-libexec-5.3_rc1-ypxfr-makefile.patch11
-rw-r--r--sys-freebsd/freebsd-libexec/files/freebsd-libexec-setXid.patch10
-rw-r--r--sys-freebsd/freebsd-libexec/files/ftpd.pamd20
-rw-r--r--sys-freebsd/freebsd-libexec/freebsd-libexec-6.0.ebuild55
-rw-r--r--sys-freebsd/freebsd-libexec/metadata.xml5
-rw-r--r--sys-freebsd/freebsd-mk-defs/ChangeLog69
-rw-r--r--sys-freebsd/freebsd-mk-defs/Manifest30
-rw-r--r--sys-freebsd/freebsd-mk-defs/files/digest-freebsd-mk-defs-6.01
-rw-r--r--sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-6.0-gentoo.patch215
-rw-r--r--sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-6.0-strip.patch47
-rw-r--r--sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-flex.patch21
-rw-r--r--sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-gentoo.patch189
-rw-r--r--sys-freebsd/freebsd-mk-defs/files/sys.patch28
-rw-r--r--sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-6.0.ebuild37
-rw-r--r--sys-freebsd/freebsd-mk-defs/metadata.xml5
-rw-r--r--sys-freebsd/freebsd-pam-modules/ChangeLog49
-rw-r--r--sys-freebsd/freebsd-pam-modules/Manifest12
-rw-r--r--sys-freebsd/freebsd-pam-modules/files/5.4/README.pamd63
-rw-r--r--sys-freebsd/freebsd-pam-modules/files/5.4/convert.pl87
-rw-r--r--sys-freebsd/freebsd-pam-modules/files/5.4/pam.d/other25
-rw-r--r--sys-freebsd/freebsd-pam-modules/files/5.4/pam.d/system25
-rw-r--r--sys-freebsd/freebsd-pam-modules/files/5.4/pam.d/system-auth9
-rw-r--r--sys-freebsd/freebsd-pam-modules/files/digest-freebsd-pam-modules-6.01
-rw-r--r--sys-freebsd/freebsd-pam-modules/files/freebsd-pam-modules-6.0-gentoo.patch24
-rw-r--r--sys-freebsd/freebsd-pam-modules/files/freebsd-pam-modules-gentoo.patch27
-rw-r--r--sys-freebsd/freebsd-pam-modules/freebsd-pam-modules-6.0.ebuild50
-rw-r--r--sys-freebsd/freebsd-pam-modules/metadata.xml5
-rw-r--r--sys-freebsd/freebsd-pf/ChangeLog16
-rw-r--r--sys-freebsd/freebsd-pf/Manifest15
-rw-r--r--sys-freebsd/freebsd-pf/files/digest-freebsd-pf-6.015
-rw-r--r--sys-freebsd/freebsd-pf/freebsd-pf-6.0.ebuild54
-rw-r--r--sys-freebsd/freebsd-pf/metadata.xml5
-rw-r--r--sys-freebsd/freebsd-rescue/ChangeLog32
-rw-r--r--sys-freebsd/freebsd-rescue/Manifest7
-rw-r--r--sys-freebsd/freebsd-rescue/files/digest-freebsd-rescue-6.010
-rw-r--r--sys-freebsd/freebsd-rescue/files/freebsd-rescue-5.4-gentoo.patch12
-rw-r--r--sys-freebsd/freebsd-rescue/files/freebsd-rescue-5.4-sbin-gentoo.patch21
-rw-r--r--sys-freebsd/freebsd-rescue/freebsd-rescue-6.0.ebuild50
-rw-r--r--sys-freebsd/freebsd-rescue/metadata.xml5
-rw-r--r--sys-freebsd/freebsd-sbin/ChangeLog83
-rw-r--r--sys-freebsd/freebsd-sbin/Manifest33
-rw-r--r--sys-freebsd/freebsd-sbin/files/digest-freebsd-sbin-6.018
-rw-r--r--sys-freebsd/freebsd-sbin/files/freebsd-sbin-fixmakefiles.patch233
-rw-r--r--sys-freebsd/freebsd-sbin/files/freebsd-sbin-flex.patch12
-rw-r--r--sys-freebsd/freebsd-sbin/files/freebsd-sbin-setXid.patch20
-rw-r--r--sys-freebsd/freebsd-sbin/files/freebsd-sbin-zlib.patch21
-rw-r--r--sys-freebsd/freebsd-sbin/files/ipfw.initd73
-rw-r--r--sys-freebsd/freebsd-sbin/files/sysctl.initd30
-rw-r--r--sys-freebsd/freebsd-sbin/freebsd-sbin-6.0.ebuild80
-rw-r--r--sys-freebsd/freebsd-sbin/metadata.xml5
-rw-r--r--sys-freebsd/freebsd-share/ChangeLog51
-rw-r--r--sys-freebsd/freebsd-share/Manifest27
-rw-r--r--sys-freebsd/freebsd-share/files/digest-freebsd-share-6.09
-rw-r--r--sys-freebsd/freebsd-share/files/freebsd-share-5.3-colldef-makefile_links.patch46
-rw-r--r--sys-freebsd/freebsd-share/files/freebsd-share-5.3-doc-locations.patch20
-rw-r--r--sys-freebsd/freebsd-share/files/freebsd-share-5.4-gentoo-skel.patch20
-rw-r--r--sys-freebsd/freebsd-share/files/freebsd-share-6.0-links.patch15
-rw-r--r--sys-freebsd/freebsd-share/freebsd-share-6.0.ebuild60
-rw-r--r--sys-freebsd/freebsd-share/metadata.xml5
-rw-r--r--sys-freebsd/freebsd-sources/ChangeLog87
-rw-r--r--sys-freebsd/freebsd-sources/Manifest54
-rw-r--r--sys-freebsd/freebsd-sources/files/SA-05-09-htt5.patch372
-rw-r--r--sys-freebsd/freebsd-sources/files/SA-05-13-ipfw.patch74
-rw-r--r--sys-freebsd/freebsd-sources/files/SA-05-15-tcp.patch63
-rw-r--r--sys-freebsd/freebsd-sources/files/SA-05-17-devfs.patch20
-rw-r--r--sys-freebsd/freebsd-sources/files/SA-05-19-ipsec.patch47
-rw-r--r--sys-freebsd/freebsd-sources/files/SA-06-04-ipfw.patch16
-rw-r--r--sys-freebsd/freebsd-sources/files/SA-06-05-80211.patch49
-rw-r--r--sys-freebsd/freebsd-sources/files/SA-06-06-kmem60.patch47
-rw-r--r--sys-freebsd/freebsd-sources/files/SA-06-07-pf.patch16
-rw-r--r--sys-freebsd/freebsd-sources/files/digest-freebsd-sources-6.0-r13
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-6.0-flex-2.5.31.patch22
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-6.0-gentoover.patch21
-rw-r--r--sys-freebsd/freebsd-sources/files/freebsd-sources-gentoo.patch49
-rw-r--r--sys-freebsd/freebsd-sources/freebsd-sources-6.0-r1.ebuild64
-rw-r--r--sys-freebsd/freebsd-sources/metadata.xml5
-rw-r--r--sys-freebsd/freebsd-ubin/ChangeLog120
-rw-r--r--sys-freebsd/freebsd-ubin/Manifest48
-rw-r--r--sys-freebsd/freebsd-ubin/files/SA-06-02-ee.patch104
-rw-r--r--sys-freebsd/freebsd-ubin/files/digest-freebsd-ubin-6.0-r115
-rw-r--r--sys-freebsd/freebsd-ubin/files/freebsd-ubin-6.0-bsdcmp.patch13
-rw-r--r--sys-freebsd/freebsd-ubin/files/freebsd-ubin-6.0-fixmakefiles.patch35
-rw-r--r--sys-freebsd/freebsd-ubin/files/freebsd-ubin-bsdcmp.patch12
-rw-r--r--sys-freebsd/freebsd-ubin/files/freebsd-ubin-fixmakefiles.patch87
-rw-r--r--sys-freebsd/freebsd-ubin/files/freebsd-ubin-flex.patch24
-rw-r--r--sys-freebsd/freebsd-ubin/files/freebsd-ubin-lint-stdarg.patch24
-rw-r--r--sys-freebsd/freebsd-ubin/files/freebsd-ubin-setXid.patch150
-rw-r--r--sys-freebsd/freebsd-ubin/files/login.pamd20
-rw-r--r--sys-freebsd/freebsd-ubin/files/passwd.pamd11
-rw-r--r--sys-freebsd/freebsd-ubin/files/su.pamd17
-rw-r--r--sys-freebsd/freebsd-ubin/freebsd-ubin-6.0-r1.ebuild91
-rw-r--r--sys-freebsd/freebsd-ubin/metadata.xml5
-rw-r--r--sys-freebsd/freebsd-usbin/ChangeLog150
-rw-r--r--sys-freebsd/freebsd-usbin/Manifest54
-rw-r--r--sys-freebsd/freebsd-usbin/files/digest-freebsd-usbin-6.021
-rw-r--r--sys-freebsd/freebsd-usbin/files/freebsd-usbin-5.3-r1-makefile-docpaths.patch31
-rw-r--r--sys-freebsd/freebsd-usbin/files/freebsd-usbin-6.0-fixmakefiles.patch241
-rw-r--r--sys-freebsd/freebsd-usbin/files/freebsd-usbin-fixmakefiles.patch34
-rw-r--r--sys-freebsd/freebsd-usbin/files/freebsd-usbin-flex.patch155
-rw-r--r--sys-freebsd/freebsd-usbin/files/freebsd-usbin-nowrap.patch46
-rw-r--r--sys-freebsd/freebsd-usbin/files/moused.confd11
-rw-r--r--sys-freebsd/freebsd-usbin/files/moused.initd33
-rw-r--r--sys-freebsd/freebsd-usbin/files/nfs.confd24
-rwxr-xr-xsys-freebsd/freebsd-usbin/files/nfs.initd209
-rwxr-xr-xsys-freebsd/freebsd-usbin/files/nfsmount.initd68
-rw-r--r--sys-freebsd/freebsd-usbin/files/pw.conf5
-rwxr-xr-xsys-freebsd/freebsd-usbin/files/rpcbind.initd29
-rwxr-xr-xsys-freebsd/freebsd-usbin/files/syslogd.initd24
-rw-r--r--sys-freebsd/freebsd-usbin/freebsd-usbin-6.0.ebuild145
-rw-r--r--sys-freebsd/freebsd-usbin/metadata.xml5
158 files changed, 7521 insertions, 0 deletions
diff --git a/sys-freebsd/boot0/ChangeLog b/sys-freebsd/boot0/ChangeLog
new file mode 100644
index 000000000000..959beb8bdc0a
--- /dev/null
+++ b/sys-freebsd/boot0/ChangeLog
@@ -0,0 +1,20 @@
+# ChangeLog for sys-boot/boot0
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/boot0/ChangeLog,v 1.1 2006/04/01 16:43:50 flameeyes Exp $
+
+*boot0-6.0 (01 Apr 2006)
+
+ 01 Apr 2006; Diego Pettenò <flameeyes@gentoo.org>
+ +files/boot0-6.0-gentoo.patch, +files/boot0-gentoo.patch, +metadata.xml,
+ +boot0-6.0.ebuild:
+ Import into portage.
+
+*boot0-5.4 (25 Aug 2005)
+
+ 25 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/boot0-gentoo.patch, +boot0-5.4.ebuild:
+ Moved to sys-freebsd.
+
+ 29 Jul 2005; Diego Pettenò <flameeyes@gentoo.org> boot0-5.4.ebuild:
+ Adapt to recent bsdmk changes.
+
diff --git a/sys-freebsd/boot0/Manifest b/sys-freebsd/boot0/Manifest
new file mode 100644
index 000000000000..6dbc244e418e
--- /dev/null
+++ b/sys-freebsd/boot0/Manifest
@@ -0,0 +1,7 @@
+MD5 3eff4143ab182b0fd34a0ffef897d7ec ChangeLog 370
+MD5 0dca9bfa7976323ccff581d97c304bf9 boot0-5.4.ebuild 521
+MD5 662426c2fc1fe191b391ee51a98b7aad boot0-6.0.ebuild 527
+MD5 f24689293c761803849391ade42168df files/boot0-6.0-gentoo.patch 4447
+MD5 55b66bbe5370224c81d28642280e096a files/boot0-gentoo.patch 5649
+MD5 d09441d1d1ddaca424c7a7f1547281f9 files/digest-boot0-5.4 70
+MD5 d5fe0ece228d8e14938856a903a0aeaf files/digest-boot0-6.0 70
diff --git a/sys-freebsd/boot0/boot0-6.0.ebuild b/sys-freebsd/boot0/boot0-6.0.ebuild
new file mode 100644
index 000000000000..e78fa0409b38
--- /dev/null
+++ b/sys-freebsd/boot0/boot0-6.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/boot0/boot0-6.0.ebuild,v 1.1 2006/04/01 16:43:50 flameeyes Exp $
+
+inherit bsdmk freebsd
+
+DESCRIPTION="FreeBSD's bootloader"
+SLOT="0"
+KEYWORDS="~x86-fbsd"
+
+IUSE=""
+
+SRC_URI="mirror://gentoo/${SYS}.tar.bz2"
+
+RDEPEND=""
+DEPEND="=sys-freebsd/freebsd-mk-defs-${RV}*
+ =sys-freebsd/freebsd-lib-${RV}*"
+
+S="${WORKDIR}/sys/boot"
+
+PATCHES="${FILESDIR}/boot0-${RV}-gentoo.patch"
+
+src_install() {
+ dodir /boot/defaults
+
+ mkinstall FILESDIR=/boot || die "mkinstall failed"
+}
diff --git a/sys-freebsd/boot0/files/boot0-6.0-gentoo.patch b/sys-freebsd/boot0/files/boot0-6.0-gentoo.patch
new file mode 100644
index 000000000000..53b8f942ea43
--- /dev/null
+++ b/sys-freebsd/boot0/files/boot0-6.0-gentoo.patch
@@ -0,0 +1,128 @@
+Index: sys/boot/alpha/common/Makefile.common
+===================================================================
+--- sys/boot/alpha/common/Makefile.common.orig
++++ sys/boot/alpha/common/Makefile.common
+@@ -34,7 +34,7 @@ CLEANFILES+= vers.c ${BOOT} ${BOOT}.sym
+
+ CFLAGS+= -Wall
+
+-CFLAGS+= -I${LIBSTANDDIR}
++CFLAGS+= -I/usr/include/libstand
+ CFLAGS+= -I${.CURDIR}/..
+
+ vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
+Index: sys/boot/alpha/libalpha/Makefile
+===================================================================
+--- sys/boot/alpha/libalpha/Makefile.orig
++++ sys/boot/alpha/libalpha/Makefile
+@@ -5,7 +5,7 @@ INTERNALLIB=
+
+ #CFLAGS+= -DDISK_DEBUG
+
+-CFLAGS+= -I${LIBSTANDDIR}
++CFLAGS+= -I/usr/include/libstand
+
+ # Pick up the bootstrap header for some interface items
+ CFLAGS+= -I${.CURDIR}/../../common
+Index: sys/boot/arc/lib/Makefile
+===================================================================
+--- sys/boot/arc/lib/Makefile.orig
++++ sys/boot/arc/lib/Makefile
+@@ -7,7 +7,7 @@ CFLAGS+= -ffreestanding
+ .PATH: ${.CURDIR}/arch/${MACHINE_ARCH}
+ # XXX hack to pick up stand.h
+ LIBSTANDDIR= ${.CURDIR}/../../../../lib/libstand
+-CFLAGS+= -I${LIBSTANDDIR}
++CFLAGS+= -I/usr/include/libstand
+ CFLAGS+= -DDEBUG
+
+ # Pick up the bootstrap header for some interface items
+Index: sys/boot/arc/loader/Makefile
+===================================================================
+--- sys/boot/arc/loader/Makefile.orig
++++ sys/boot/arc/loader/Makefile
+@@ -26,7 +26,7 @@ CLEANFILES+= machine
+
+ CFLAGS+= -Wall
+
+-CFLAGS+= -I${LIBSTANDDIR}
++CFLAGS+= -I/usr/include/libstand
+ CFLAGS+= -I${.CURDIR}/../include
+ CRT= start.o
+ STRIP=
+Index: sys/boot/efi/libefi/Makefile
+===================================================================
+--- sys/boot/efi/libefi/Makefile.orig
++++ sys/boot/efi/libefi/Makefile
+@@ -14,7 +14,7 @@ SRCS+= efifpswa.c pal.S
+
+ CFLAGS+= -I${.CURDIR}/../include
+ CFLAGS+= -I${.CURDIR}/../include/${MACHINE_ARCH}
+-CFLAGS+= -I${.CURDIR}/../../../../lib/libstand
++CFLAGS+= -I/usr/include/libstand
+
+ # Pick up the bootstrap header for some interface items
+ CFLAGS+= -I${.CURDIR}/../../common
+Index: sys/boot/i386/boot2/Makefile
+===================================================================
+--- sys/boot/i386/boot2/Makefile.orig
++++ sys/boot/i386/boot2/Makefile
+@@ -24,7 +24,6 @@ CFLAGS= -Os \
+ -fno-guess-branch-probability \
+ -fomit-frame-pointer \
+ -fno-unit-at-a-time \
+- -mno-align-long-strings \
+ -mrtd \
+ -mno-mmx -mno-3dnow -mno-sse -mno-sse2 \
+ -D${BOOT2_UFS} \
+Index: sys/boot/i386/libi386/Makefile
+===================================================================
+--- sys/boot/i386/libi386/Makefile.orig
++++ sys/boot/i386/libi386/Makefile
+@@ -28,7 +28,7 @@ CFLAGS+= -I${.CURDIR}/../../common -I${.
+ -I${.CURDIR}/../../../contrib/dev/acpica \
+ -I${.CURDIR}/../../.. -I.
+ # the location of libstand
+-CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/
++CFLAGS+= -I/usr/include/libstand/
+
+ .if ${MACHINE_ARCH} == "amd64"
+ CLEANFILES+= machine
+Index: sys/boot/ofw/libofw/Makefile
+===================================================================
+--- sys/boot/ofw/libofw/Makefile.orig
++++ sys/boot/ofw/libofw/Makefile
+@@ -7,7 +7,7 @@ SRCS= devicename.c elf_freebsd.c ofw_con
+ ofw_memory.c ofw_module.c ofw_net.c ofw_reboot.c \
+ ofw_time.c openfirm.c
+
+-CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/
++CFLAGS+= -I/usr/include/libstand/
+
+ # Pick up the bootstrap header for some interface items
+ CFLAGS+= -I${.CURDIR}/../../common -I${.CURDIR}/../../.. -I.
+Index: sys/boot/pc98/libpc98/Makefile
+===================================================================
+--- sys/boot/pc98/libpc98/Makefile.orig
++++ sys/boot/pc98/libpc98/Makefile
+@@ -28,6 +28,6 @@ CFLAGS+= -I${.CURDIR}/../../common -I${.
+ -I${.CURDIR}/../../i386/libi386 \
+ -I${.CURDIR}/../../.. -I.
+ # the location of libstand
+-CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/
++CFLAGS+= -I/usr/include/libstand/
+
+ .include <bsd.lib.mk>
+Index: sys/boot/sparc64/loader/Makefile
+===================================================================
+--- sys/boot/sparc64/loader/Makefile.orig
++++ sys/boot/sparc64/loader/Makefile
+@@ -63,7 +63,7 @@ LIBOFW= ${.OBJDIR}/../../ofw/libofw/lib
+ CFLAGS+= -I${.CURDIR}/../../ofw/libofw/
+
+ # where to get libstand from
+-CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/
++CFLAGS+= -I/usr/include/libstand/
+
+ DPADD= ${LIBFICL} ${LIBOFW} ${LIBSTAND}
+ LDADD= ${LIBFICL} ${LIBOFW} -lstand
diff --git a/sys-freebsd/boot0/files/boot0-gentoo.patch b/sys-freebsd/boot0/files/boot0-gentoo.patch
new file mode 100644
index 000000000000..3d0a101ef9c4
--- /dev/null
+++ b/sys-freebsd/boot0/files/boot0-gentoo.patch
@@ -0,0 +1,142 @@
+diff -ur sys/boot/alpha/common/Makefile.common sys.boot0/boot/alpha/common/Makefile.common
+--- sys/boot/alpha/common/Makefile.common 2004-08-23 06:26:55.000000000 +0200
++++ sys.boot0/boot/alpha/common/Makefile.common 2005-06-20 19:53:39.322858584 +0200
+@@ -34,7 +34,7 @@
+
+ CFLAGS+= -Wall
+
+-CFLAGS+= -I${LIBSTANDDIR}
++CFLAGS+= -I/usr/include/libstand
+ CFLAGS+= -I${.CURDIR}/..
+
+ vers.c: ${.CURDIR}/../../common/newvers.sh ${.CURDIR}/version
+diff -ur sys/boot/alpha/libalpha/Makefile sys.boot0/boot/alpha/libalpha/Makefile
+--- sys/boot/alpha/libalpha/Makefile 2005-02-13 08:23:30.000000000 +0100
++++ sys.boot0/boot/alpha/libalpha/Makefile 2005-06-20 19:53:39.323858432 +0200
+@@ -5,7 +5,7 @@
+
+ #CFLAGS+= -DDISK_DEBUG
+
+-CFLAGS+= -I${LIBSTANDDIR}
++CFLAGS+= -I/usr/include/libstand
+
+ # Pick up the bootstrap header for some interface items
+ CFLAGS+= -I${.CURDIR}/../../common
+diff -ur sys/boot/arc/lib/Makefile sys.boot0/boot/arc/lib/Makefile
+--- sys/boot/arc/lib/Makefile 2005-02-13 08:23:30.000000000 +0100
++++ sys.boot0/boot/arc/lib/Makefile 2005-06-20 19:53:39.323858432 +0200
+@@ -7,7 +7,7 @@
+ .PATH: ${.CURDIR}/arch/${MACHINE_ARCH}
+ # XXX hack to pick up stand.h
+ LIBSTANDDIR= ${.CURDIR}/../../../../lib/libstand
+-CFLAGS+= -I${LIBSTANDDIR}
++CFLAGS+= -I/usr/include/libstand
+ CFLAGS+= -DDEBUG
+
+ # Pick up the bootstrap header for some interface items
+diff -ur sys/boot/arc/loader/Makefile sys.boot0/boot/arc/loader/Makefile
+--- sys/boot/arc/loader/Makefile 2002-05-10 11:26:30.000000000 +0200
++++ sys.boot0/boot/arc/loader/Makefile 2005-06-20 19:53:39.323858432 +0200
+@@ -26,7 +26,7 @@
+
+ CFLAGS+= -Wall
+
+-CFLAGS+= -I${LIBSTANDDIR}
++CFLAGS+= -I/usr/include/libstand
+ CFLAGS+= -I${.CURDIR}/../include
+ CRT= start.o
+ STRIP=
+diff -ur sys/boot/efi/libefi/Makefile sys.boot0/boot/efi/libefi/Makefile
+--- sys/boot/efi/libefi/Makefile 2005-02-13 08:23:31.000000000 +0100
++++ sys.boot0/boot/efi/libefi/Makefile 2005-06-20 19:53:39.323858432 +0200
+@@ -14,7 +14,7 @@
+
+ CFLAGS+= -I${.CURDIR}/../include
+ CFLAGS+= -I${.CURDIR}/../include/${MACHINE_ARCH}
+-CFLAGS+= -I${.CURDIR}/../../../../lib/libstand
++CFLAGS+= -I/usr/include/libstand
+
+ # Pick up the bootstrap header for some interface items
+ CFLAGS+= -I${.CURDIR}/../../common
+diff -ur sys/boot/efi/loader/Makefile sys.boot0/boot/efi/loader/Makefile
+--- sys/boot/efi/loader/Makefile 2004-07-20 09:01:02.000000000 +0200
++++ sys.boot0/boot/efi/loader/Makefile 2005-06-20 19:53:39.324858280 +0200
+@@ -27,7 +27,7 @@
+ CFLAGS+= -I${.CURDIR}/../include/${MACHINE_ARCH}
+ CFLAGS+= -I${.CURDIR}/../../common
+ CFLAGS+= -I${.CURDIR}/../libefi
+-CFLAGS+= -I${.CURDIR}/../../../../lib/libstand
++CFLAGS+= -I/usr/include/libstand
+ CFLAGS+= -DLOADER
+
+ LDSCRIPT= ${.CURDIR}/../libefi/arch/${MACHINE_ARCH}/ldscript.${MACHINE_ARCH}
+diff -ur sys/boot/i386/boot2/Makefile sys.boot0/boot/i386/boot2/Makefile
+--- sys/boot/i386/boot2/Makefile 2005-03-16 19:54:37.000000000 +0100
++++ sys.boot0/boot/i386/boot2/Makefile 2005-06-20 19:31:36.871901688 +0200
+@@ -24,7 +24,6 @@
+ -fno-guess-branch-probability \
+ -fomit-frame-pointer \
+ -fno-unit-at-a-time \
+- -mno-align-long-strings \
+ -mrtd \
+ -mno-mmx -mno-3dnow -mno-sse -mno-sse2 \
+ -D${BOOT2_UFS} \
+diff -ur sys/boot/i386/libi386/Makefile sys.boot0/boot/i386/libi386/Makefile
+--- sys/boot/i386/libi386/Makefile 2005-02-13 08:23:31.000000000 +0100
++++ sys.boot0/boot/i386/libi386/Makefile 2005-06-20 19:53:39.324858280 +0200
+@@ -28,7 +28,7 @@
+ -I${.CURDIR}/../../../contrib/dev/acpica \
+ -I${.CURDIR}/../../.. -I.
+ # the location of libstand
+-CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/
++CFLAGS+= -I/usr/include/libstand/
+
+ .if ${MACHINE_ARCH} == "amd64"
+ CLEANFILES+= machine
+diff -ur sys/boot/ia64/libski/Makefile sys.boot0/boot/ia64/libski/Makefile
+--- sys/boot/ia64/libski/Makefile 2004-02-13 05:43:41.000000000 +0100
++++ sys.boot0/boot/ia64/libski/Makefile 2005-06-20 19:53:39.324858280 +0200
+@@ -7,7 +7,7 @@
+ SRCS+= delay.c skifs.c elf_freebsd.c bootinfo.c ssc.c
+ SRCS+= acpi_stub.c efi_stub.c pal_stub.S sal_stub.c
+
+-CFLAGS+= -I${.CURDIR}/../../../../lib/libstand
++CFLAGS+= -I/usr/include/libstand
+ CFLAGS+= -I${.CURDIR}/../../efi/include
+ CFLAGS+= -I${.CURDIR}/../../efi/include/${MACHINE_ARCH}
+
+diff -ur sys/boot/ofw/libofw/Makefile sys.boot0/boot/ofw/libofw/Makefile
+--- sys/boot/ofw/libofw/Makefile 2005-02-13 08:23:31.000000000 +0100
++++ sys.boot0/boot/ofw/libofw/Makefile 2005-06-20 19:53:39.325858128 +0200
+@@ -7,7 +7,7 @@
+ ofw_memory.c ofw_module.c ofw_net.c ofw_reboot.c \
+ ofw_time.c openfirm.c
+
+-CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/
++CFLAGS+= -I/usr/include/libstand/
+
+ # Pick up the bootstrap header for some interface items
+ CFLAGS+= -I${.CURDIR}/../../common -I${.CURDIR}/../../.. -I.
+diff -ur sys/boot/pc98/libpc98/Makefile sys.boot0/boot/pc98/libpc98/Makefile
+--- sys/boot/pc98/libpc98/Makefile 2005-02-13 08:23:31.000000000 +0100
++++ sys.boot0/boot/pc98/libpc98/Makefile 2005-06-20 19:53:39.325858128 +0200
+@@ -29,6 +29,6 @@
+ -I${.CURDIR}/../../i386/libi386 \
+ -I${.CURDIR}/../../.. -I.
+ # the location of libstand
+-CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/
++CFLAGS+= -I/usr/include/libstand/
+
+ .include <bsd.lib.mk>
+diff -ur sys/boot/sparc64/loader/Makefile sys.boot0/boot/sparc64/loader/Makefile
+--- sys/boot/sparc64/loader/Makefile 2004-08-16 17:45:25.000000000 +0200
++++ sys.boot0/boot/sparc64/loader/Makefile 2005-06-20 19:53:39.325858128 +0200
+@@ -63,7 +63,7 @@
+ CFLAGS+= -I${.CURDIR}/../../ofw/libofw/
+
+ # where to get libstand from
+-CFLAGS+= -I${.CURDIR}/../../../../lib/libstand/
++CFLAGS+= -I/usr/include/libstand/
+
+ DPADD= ${LIBFICL} ${LIBOFW} ${LIBSTAND}
+ LDADD= ${LIBFICL} ${LIBOFW} -lstand
diff --git a/sys-freebsd/boot0/files/digest-boot0-6.0 b/sys-freebsd/boot0/files/digest-boot0-6.0
new file mode 100644
index 000000000000..bbd95b8a168c
--- /dev/null
+++ b/sys-freebsd/boot0/files/digest-boot0-6.0
@@ -0,0 +1 @@
+MD5 fa4633806f9ecd13eba57e45e5b6031f freebsd-sys-6.0.tar.bz2 16069887
diff --git a/sys-freebsd/boot0/metadata.xml b/sys-freebsd/boot0/metadata.xml
new file mode 100644
index 000000000000..ecedda4aa2cc
--- /dev/null
+++ b/sys-freebsd/boot0/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>bsd</herd>
+</pkgmetadata>
diff --git a/sys-freebsd/freebsd-baselayout/ChangeLog b/sys-freebsd/freebsd-baselayout/ChangeLog
new file mode 100644
index 000000000000..1d6ad9f57402
--- /dev/null
+++ b/sys-freebsd/freebsd-baselayout/ChangeLog
@@ -0,0 +1,95 @@
+# ChangeLog for sys-apps/freebsd-baselayout
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-baselayout/ChangeLog,v 1.1 2006/04/01 16:43:50 flameeyes Exp $
+
+*freebsd-baselayout-20060401 (01 Apr 2006)
+
+ 01 Apr 2006; Diego Pettenò <flameeyes@gentoo.org> +files/profile,
+ +metadata.xml, +freebsd-baselayout-20060401.ebuild:
+ Import into portage.
+
+ 28 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Fix missing installation of init-common-{pre,post}.sh, init-functions and
+ init.sh.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Drop rpc and devfs.conf.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Don't install ttys file (leave it to freebsd-lib).
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Drop a few more files.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Dropp a few more configuration files and ipfw and sysctl scripts.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Remove some more files and bluetooth directory.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Drop cron.* jobs that are added by freebsd-usbin. Drop also a few more
+ configuration files (like mail subsystem, sendmail, bind, man).
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Delete periodic directory.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Add baselayout that drops the old settings files.
+
+ 12 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Run keepdir on /dev and /proc only if they don't exists already, as FreeBSD
+ 6.0 disallow you from writing on them.
+
+ 12 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Add missing static useflag to IUSE.
+
+ 20 Oct 2005; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Keepdir /dev and /proc for safety, don't keepdir /var/log here as
+ freebsd-sbin takes care.
+
+*freebsd-baselayout-0.2-r8 (01 Sep 2005)
+
+ 01 Sep 2005; Diego Pettenò <flameeyes@gentoo.org>
+ -freebsd-baselayout-0.2-r7.ebuild, +freebsd-baselayout-0.2-r8.ebuild:
+ Update freebsd-baselayout to avoid ftpbase collisions.
+
+ 25 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/checkfs-typo.patch, +files/profile,
+ +freebsd-baselayout-0.2-r7.ebuild:
+ Moved to sys-freebsd.
+
+*freebsd-baselayout-0.2-r7 (24 Aug 2005)
+
+ 24 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ -freebsd-baselayout-0.2-r6.ebuild, +freebsd-baselayout-0.2-r7.ebuild:
+ New bump: make sure that /tmp and /var/tmp have the right permissions.
+
+*freebsd-baselayout-0.2-r6 (22 Aug 2005)
+
+ 22 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ -freebsd-baselayout-0.2-r5.ebuild, +freebsd-baselayout-0.2-r6.ebuild:
+ Restore rcscripts data from baselayout.
+
+*freebsd-baselayout-0.2-r5 (20 Aug 2005)
+
+ 20 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/checkfs-typo.patch, -freebsd-baselayout-0.2-r4.ebuild,
+ +freebsd-baselayout-0.2-r5.ebuild:
+ Added patch to fix a typo in checkfs init.d file.
+
+ 18 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-baselayout-0.2-r4.ebuild:
+ Avoid collision with newer gawk (updated dependency).
+
+*freebsd-baselayout-0.2-r4 (29 Jul 2005)
+
+ 29 Jul 2005; Diego Pettenò <flameeyes@gentoo.org> +files/profile,
+ -freebsd-baselayout-0.2.ebuild, -freebsd-baselayout-0.2-r1.ebuild,
+ -freebsd-baselayout-0.2-r2.ebuild, -freebsd-baselayout-0.2-r3.ebuild,
+ +freebsd-baselayout-0.2-r4.ebuild:
+ Install gentoo-style /etc/profile, cleanup of ebuild, removed old ebuilds.
+
+ 19 Oct 2004; Stephen Bennett <spb@gentoo.org> :
+ Adding freebsd-baselayout
+
diff --git a/sys-freebsd/freebsd-baselayout/Manifest b/sys-freebsd/freebsd-baselayout/Manifest
new file mode 100644
index 000000000000..4386fc54710a
--- /dev/null
+++ b/sys-freebsd/freebsd-baselayout/Manifest
@@ -0,0 +1,15 @@
+MD5 8e7a7624297de865ce24efbb0d3609a3 ChangeLog 3365
+RMD160 3b6101d7b36c50142b65d07bbf3a99204e14fb99 ChangeLog 3365
+SHA256 7531258eda46be49c4081f15c32bea4d7f91899e283ef2d36af04da3de9b0e42 ChangeLog 3365
+MD5 e976bdc5ab7291838293ac9765bb3aaa files/digest-freebsd-baselayout-20060401 560
+RMD160 5e8df4ae6ac94bd3569a5c949419cbd3ff8c21ab files/digest-freebsd-baselayout-20060401 560
+SHA256 986d1edf26c70067016d1b46851130e3c24d7d3279635a6ec8654560730d5460 files/digest-freebsd-baselayout-20060401 560
+MD5 059ff3014205750225ae743b6821c0bd files/profile 2053
+RMD160 254d1aa5a81e2bfa7cb5d0b2f6f53d544195be52 files/profile 2053
+SHA256 489703e9a80c9b9d66f3b4f922a191f238ad9111479b22d90bb6d0c8905a2383 files/profile 2053
+MD5 d029fc912521fff9c543afcb329bfd36 freebsd-baselayout-20060401.ebuild 19841
+RMD160 e7c876b6042e249537ae5c418ad1a3a947db3104 freebsd-baselayout-20060401.ebuild 19841
+SHA256 3b3bd5f9bb9db2de137db2b96ce697eae51f7189f638be1ff9840b36cd251db4 freebsd-baselayout-20060401.ebuild 19841
+MD5 2bd48a5ae413433cbb36110b219ce97c metadata.xml 156
+RMD160 60b5820a08275f307e5bd936d78f5afd1f141086 metadata.xml 156
+SHA256 30ab515d6ac492d3d6c36ac3c675511742c2149e56a6b3228c8d22ab8edb3ff7 metadata.xml 156
diff --git a/sys-freebsd/freebsd-baselayout/files/digest-freebsd-baselayout-20060401 b/sys-freebsd/freebsd-baselayout/files/digest-freebsd-baselayout-20060401
new file mode 100644
index 000000000000..0b7a79ec7cb4
--- /dev/null
+++ b/sys-freebsd/freebsd-baselayout/files/digest-freebsd-baselayout-20060401
@@ -0,0 +1,6 @@
+MD5 50441239bb337689c5d8885ebaf3dff2 baselayout-1.12.0_pre16.tar.bz2 215775
+RMD160 8f989cecba0105072610f7cf437d43fd0a772fd8 baselayout-1.12.0_pre16.tar.bz2 215775
+SHA256 e09739b76fc0ab91eba696979612fb62e28718d57a68a9f66e0fa9c74cc5768d baselayout-1.12.0_pre16.tar.bz2 215775
+MD5 fe1dc941db27880a2f54f52a000e9e3e freebsd-baselayout-20060401.tar.bz2 216260
+RMD160 436645254490c558336f918b1d550ff5b03a0ec0 freebsd-baselayout-20060401.tar.bz2 216260
+SHA256 6f2ec760b9fb65e115d1c0b9c1628b5ddfcf214fe56cbb1a7a2eef5dbbdec292 freebsd-baselayout-20060401.tar.bz2 216260
diff --git a/sys-freebsd/freebsd-baselayout/files/profile b/sys-freebsd/freebsd-baselayout/files/profile
new file mode 100644
index 000000000000..835b0abff752
--- /dev/null
+++ b/sys-freebsd/freebsd-baselayout/files/profile
@@ -0,0 +1,58 @@
+# /etc/profile: login shell setup
+#
+# That this file is used by any Bourne-shell derivative to setup the
+# environment for login shells.
+#
+
+# Load environment settings from profile.env, which is created by
+# env-update from the files in /etc/env.d
+if [ -e /etc/profile.env ] ; then
+ . /etc/profile.env
+fi
+
+# 077 would be more secure, but 022 is generally quite realistic
+umask 022
+
+# Set up PATH depending on whether we're root or a normal user.
+# There's no real reason to exclude sbin paths from the normal user,
+# but it can make tab-completion easier when they aren't in the
+# user's PATH to pollute the executable namespace.
+#
+# It is intentional in the following line to use || instead of -o.
+# This way the evaluation can be short-circuited and calling whoami is
+# avoided.
+if [ "$EUID" = "0" ] || [ "$USER" = "root" ] ; then
+ PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${ROOTPATH}"
+else
+ PATH="/usr/local/bin:/usr/bin:/bin:${PATH}"
+fi
+export PATH
+unset ROOTPATH
+
+# Extract the value of EDITOR
+[ -z "$EDITOR" ] && EDITOR="`. /etc/rc.conf 2>/dev/null; echo $EDITOR`"
+[ -z "$EDITOR" ] && EDITOR="/bin/nano"
+export EDITOR
+
+if [ -n "${BASH_VERSION}" ] ; then
+ # Newer bash ebuilds include /etc/bash/bashrc which will setup PS1
+ # including color. We leave out color here because not all
+ # terminals support it.
+ if [ -f /etc/bash/bashrc ] ; then
+ # Bash login shells run only /etc/profile
+ # Bash non-login shells run only /etc/bash/bashrc
+ # Since we want to run /etc/bash/bashrc regardless, we source it
+ # from here. It is unfortunate that there is no way to do
+ # this *after* the user's .bash_profile runs (without putting
+ # it in the user's dot-files), but it shouldn't make any
+ # difference.
+ . /etc/bash/bashrc
+ else
+ PS1='\u@\h \w \$ '
+ fi
+else
+ # Setup a bland default prompt. Since this prompt should be useable
+ # on color and non-color terminals, as well as shells that don't
+ # understand sequences such as \h, don't put anything special in it.
+ PS1="`whoami`@`uname -n | cut -f1 -d.` \$ "
+fi
diff --git a/sys-freebsd/freebsd-baselayout/freebsd-baselayout-20060401.ebuild b/sys-freebsd/freebsd-baselayout/freebsd-baselayout-20060401.ebuild
new file mode 100644
index 000000000000..7c1191c36422
--- /dev/null
+++ b/sys-freebsd/freebsd-baselayout/freebsd-baselayout-20060401.ebuild
@@ -0,0 +1,641 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-baselayout/freebsd-baselayout-20060401.ebuild,v 1.1 2006/04/01 16:43:50 flameeyes Exp $
+
+inherit flag-o-matic eutils toolchain-funcs multilib autotools
+
+origbaselayout="baselayout-1.12.0_pre16"
+
+DESCRIPTION="Filesystem baselayout and init scripts"
+HOMEPAGE="http://www.gentoo.org/"
+SRC_URI="mirror://gentoo/${P}.tar.bz2
+ mirror://gentoo/${origbaselayout}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~x86-fbsd"
+IUSE="bootstrap build static unicode"
+
+# This version of baselayout needs gawk in /bin, but as we do not have
+# a c++ compiler during bootstrap, we cannot depend on it if "bootstrap"
+# or "build" are in USE.
+RDEPEND="userland_GNU? (
+ >=sys-apps/sysvinit-2.86-r3
+ !build? ( !bootstrap? (
+ >=sys-apps/coreutils-5.2.1
+ ) )
+ )
+ !build? ( !bootstrap? (
+ >=sys-libs/readline-5.0-r1
+ >=app-shells/bash-3.0-r10
+ ) )"
+DEPEND="virtual/os-headers
+ >=sys-apps/portage-2.0.51"
+PROVIDE="virtual/baselayout"
+
+S="${WORKDIR}/baselayout-bsd"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ # Setup unicode defaults for silly unicode users
+ if use unicode ; then
+ sed -i -e '/^UNICODE=/s:no:yes:' etc/rc.conf
+ fi
+
+ # Tweak arch-specific details
+ cd "${S}"
+
+ case $(tc-arch) in
+ sparc)
+ sed -i -e '/^KEYMAP=/s:us:sunkeymap:' etc/conf.d/keymaps || die
+ # Disable interactive boot on sparc due to stty calls, #104067
+ sed -i -e '/^RC_INTERACTIVE=/s:yes:no:' etc/conf.d/rc || die
+ ;;
+ esac
+
+ # Use correct path to filefuncs.so on multilib systems
+ sed -i -e "s:/lib/rcscripts:/$(get_libdir)/rcscripts:" \
+ ${S}/src/awk/{cachedepends,genenviron}.awk || die
+
+ # take the sources from released baselayout
+ rm -rf "${WORKDIR}/${origbaselayout}/src/"{awk,filefuncs}
+ cp -r "${WORKDIR}/${origbaselayout}/src" "${S}"
+}
+
+src_compile() {
+ local libdir="lib"
+
+ use static && append-ldflags -static
+
+ [[ ${SYMLINK_LIB} == "yes" ]] && libdir=$(get_abi_LIBDIR "${DEFAULT_ABI}")
+
+ make -C "${S}"/src \
+ CC="$(tc-getCC)" \
+ LD="$(tc-getCC) ${LDFLAGS}" \
+ CFLAGS="${CFLAGS}" \
+ OS="BSD" \
+ LIBDIR="${libdir}" || die
+}
+
+# ${PATH} should include where to get MAKEDEV when calling this
+# function
+create_dev_nodes() {
+ case $(tc-arch) in
+ # amd64 must use generic-i386 because amd64/x86_64 does not have
+ # a generic option at this time, and the default 'generic' ends
+ # up erroring out, because MAKEDEV internally doesn't know what
+ # to use
+ arm) suffix=-arm ;;
+ alpha) suffix=-alpha ;;
+ amd64) suffix=-i386 ;;
+ hppa) suffix=-hppa ;;
+ ia64) suffix=-ia64 ;;
+ m68k) suffix=-m68k ;;
+ mips) suffix=-mips ;;
+ ppc*) suffix=-powerpc ;;
+ s390) suffix=-s390 ;;
+ sparc*) suffix=-sparc ;;
+ x86) suffix=-i386 ;;
+ esac
+
+ einfo "Using generic${suffix} to make $(tc-arch) device nodes..."
+ MAKEDEV generic${suffix}
+ MAKEDEV sg scd rtc hde hdf hdg hdh input audio video
+}
+
+# This is a temporary workaround until bug 9849 is completely solved
+# in portage. We need to create the directories so they're available
+# during src_install, but when src_install is finished, call unkdir
+# to remove any empty directories instead of leaving them around.
+kdir() {
+ typeset -a args
+ typeset d
+
+ # Create the directories for the remainder of src_install, and
+ # remember how to create the directories later.
+ for d in "$@"; do
+ if [[ $d == /* ]]; then
+ install -d "${args[@]}" "${D}/${d}"
+ cat >> "${D}/usr/share/baselayout/mkdirs.sh" <<EOF
+if [ ! -d "\${ROOT}/${d}" ] ; then \\
+ install -d ${args[@]} "\${ROOT}/${d}" 2>/dev/null \\
+ || ewarn " can't create ${d}"
+ touch "\${ROOT}/${d}/.keep" 2>/dev/null \\
+ || ewarn " can't create ${d}/.keep"
+fi
+EOF
+ else
+ args=("${args[@]}" "${d}")
+ fi
+ done
+}
+
+# Continued from kdir above... This function removes any empty
+# directories as a temporary workaround for bug 9849. The directories
+# (and .keep files) are re-created in pkg_postinst, which means they
+# aren't listed in CONTENTS, unfortunately.
+unkdir() {
+ einfo "Running unkdir to workaround bug 9849"
+ find "${D}" -depth -type d -exec rmdir {} \; 2>/dev/null
+ if [[ $? == 127 ]]; then
+ ewarn "Problem running unkdir: find command not found"
+ fi
+}
+
+# Same as kdir above, but for symlinks #103618
+ksym() {
+ echo "[[ ! -e ${ROOT}/$2 ]] && { ln -s '$1' '${ROOT}/$2' &> /dev/null || ewarn ' unable to symlink $2 to $1' ; }" \
+ >> "${D}"/usr/share/baselayout/mklinks.sh
+}
+
+src_install() {
+ local dir libdirs libdirs_env rcscripts_dir
+
+ # This directory is to stash away things that will be used in
+ # pkg_postinst; it's needed first for kdir to function
+ dodir /usr/share/baselayout
+
+ # Jeremy Huddleston <eradicator@gentoo.org>
+ # For multilib, we want to make sure that all our multilibdirs exist
+ # and make lib even if it's not listed as one (like on amd64/ppc64
+ # which sometimes has lib32/lib64 instead of lib/lib64).
+ # lib should NOT be a symlink to one of the other libdirs.
+ # Old systems with symlinks won't be affected by this change, as the
+ # symlinks already exist and won't get removed, but new systems will
+ # be setup properly.
+ #
+ # I'll be making a script to convert existing systems from symlink to
+ # nosymlink and putting it in /usr/portage/scripts.
+ libdirs=$(get_all_libdirs)
+ : ${libdirs:=lib} # it isn't that we don't trust multilib.eclass...
+
+ # This should be /lib/rcscripts, but we have to support old profiles too.
+ if [[ ${SYMLINK_LIB} == "yes" ]]; then
+ rcscripts_dir="/$(get_abi_LIBDIR ${DEFAULT_ABI})/rcscripts"
+ else
+ rcscripts_dir="/lib/rcscripts"
+ fi
+
+ einfo "Creating directories..."
+ kdir /usr
+ kdir /usr/local
+ kdir /boot
+ kdir /dev
+ kdir /etc/conf.d
+ kdir /etc/cron.daily
+ kdir /etc/cron.hourly
+ kdir /etc/cron.monthly
+ kdir /etc/cron.weekly
+ kdir /etc/env.d
+ dodir /etc/init.d # .keep file might mess up init.d stuff
+ kdir /etc/opt
+ kdir /home
+ if use kernel_linux; then
+ kdir /dev/pts
+ kdir /dev/shm
+ kdir /etc/modules.autoload.d
+ kdir /etc/modules.d
+ fi
+ kdir ${rcscripts_dir}
+ kdir ${rcscripts_dir}/awk
+ kdir ${rcscripts_dir}/sh
+ kdir ${rcscripts_dir}/net.modules.d
+ kdir ${rcscripts_dir}/net.modules.d/helpers.d
+ # Only install /mnt stuff at bootstrap time #88835 / #90022
+ if use build ; then
+ kdir /mnt
+ kdir -m 0700 /mnt/cdrom
+ kdir -m 0700 /mnt/floppy
+ fi
+ kdir /opt
+ kdir -o root -g uucp -m0775 /var/lock
+ kdir /proc
+ kdir -m 0700 /root
+ kdir /sbin
+ kdir /sys # for 2.6 kernels
+ kdir /usr/bin
+ kdir /usr/include
+ kdir /usr/include/asm
+ kdir /usr/include/linux
+ kdir /usr/local/bin
+ kdir /usr/local/games
+ kdir /usr/local/sbin
+ kdir /usr/local/share
+ kdir /usr/local/share/doc
+ kdir /usr/local/share/man
+ kdir /usr/local/src
+ kdir ${PORTDIR}
+ kdir /usr/sbin
+ kdir /usr/share/doc
+ kdir /usr/share/info
+ kdir /usr/share/man
+ kdir /usr/share/misc
+ kdir /usr/src
+ kdir -m 1777 /tmp
+ kdir /var
+ dodir /var/db/pkg # .keep file messes up Portage
+ kdir /var/lib/misc
+ kdir /var/lock/subsys
+ kdir /var/log/news
+ kdir /var/run
+ kdir /var/spool
+ kdir /var/state
+ kdir -m 1777 /var/tmp
+
+ for dir in ${libdirs}; do
+ libdirs_env=${libdirs_env:+$libdirs_env:}/${dir}:/usr/${dir}:/usr/local/${dir}
+ [[ ${dir} == "lib" && ${SYMLINK_LIB} == "yes" ]] && continue
+ kdir /${dir}
+ kdir /usr/${dir}
+ kdir /usr/local/${dir}
+ done
+
+ # Ugly compatibility with stupid ebuilds and old profiles symlinks
+ if [[ ${SYMLINK_LIB} == "yes" ]] ; then
+ rm -r "${D}"/{lib,usr/lib,usr/local/lib} &> /dev/null
+ ksym $(get_abi_LIBDIR ${DEFAULT_ABI}) /lib
+ ksym $(get_abi_LIBDIR ${DEFAULT_ABI}) /usr/lib
+ ksym $(get_abi_LIBDIR ${DEFAULT_ABI}) /usr/local/lib
+ fi
+
+ if use kernel_linux; then
+ kdir /lib/dev-state
+ kdir /lib/udev-state
+ fi
+
+ # FHS compatibility symlinks stuff
+ ksym /var/tmp /usr/tmp
+ ksym share/man /usr/local/man
+
+ #
+ # Setup files in /etc
+ #
+ insopts -m0644
+ insinto /etc
+ doins -r "${S}"/etc/*
+
+ if use kernel_linux; then
+ fperms 0640 /etc/sysctl.conf
+ fi
+
+ # Install some files to /usr/share/baselayout instead of /etc to keep from
+ # (1) overwriting the user's settings, (2) screwing things up when
+ # attempting to merge files, (3) accidentally packaging up personal files
+ # with quickpkg
+ mv "${D}"/etc/{passwd,group,fstab,hosts,issue.devfix} "${D}"/usr/share/baselayout
+
+ fperms 0600 /etc/master.passwd
+ mv "${D}"/etc/master.passwd "${D}"/usr/share/baselayout
+
+ # doinitd doesnt respect symlinks
+ dodir /etc/init.d
+ cp -P "${S}"/init.d/* "${D}"/etc/init.d/ || die "doinitd"
+ #doinitd "${S}"/init.d/* || die "doinitd"
+ doconfd "${S}"/etc/conf.d/* || die "doconfd"
+ doenvd "${S}"/etc/env.d/* || die "doenvd"
+ if use kernel_linux; then
+ insinto /etc/modules.autoload.d
+ doins "${S}"/etc/modules.autoload.d/*
+ insinto /etc/modules.d
+ doins "${S}"/etc/modules.d/*
+ fi
+
+ # Special-case uglyness... For people updating from lib32 -> lib amd64
+ # profiles, keep lib32 in the search path while it's around
+ if has_multilib_profile && [ -d /lib32 -o -d /usr/lib32 ] && ! hasq lib32 ${libdirs}; then
+ libdirs_env="${libdirs_env}:/lib32:/usr/lib32:/usr/local/lib32"
+ fi
+
+ # List all the multilib libdirs in /etc/env/04multilib (only if they're
+ # actually different from the normal
+ if has_multilib_profile || [[ $(get_libdir) != "lib" || -n ${CONF_MULTILIBDIR} ]]; then
+ echo "LDPATH=\"${libdirs_env}\"" > ${D}/etc/env.d/04multilib
+ fi
+
+ # As of baselayout-1.10-1-r1, sysvinit is its own package again, and
+ # provides the inittab itself
+ rm -f "${D}"/etc/inittab
+
+ # Stash the rc-lists for use during pkg_postinst
+ cp -r "${S}"/rc-lists "${D}"/usr/share/baselayout
+
+ # rc-scripts version for testing of features that *should* be present
+ echo "Gentoo Base System version ${PV}" > ${D}/etc/gentoo-release
+
+ #
+ # Setup files related to /dev
+ #
+ if use kernel_linux; then
+ into /
+ dosbin "${S}"/sbin/MAKEDEV
+ dosym ../../sbin/MAKEDEV /usr/sbin/MAKEDEV
+ dosym ../sbin/MAKEDEV /dev/MAKEDEV
+ fi
+
+ #
+ # Setup files in /bin
+ #
+ cd "${S}"/bin
+ dobin rc-status
+
+ #
+ # Setup files in /sbin
+ #
+ cd "${S}"/sbin
+ into /
+ dosbin rc rc-update
+
+ if use kernel_linux; then
+ # Need this in /sbin, as it could be run before
+ # /usr is mounted.
+ dosbin modules-update
+ # Compat symlinks until I can get things synced.
+ dosym modules-update /sbin/update-modules
+ dosym ../../sbin/modules-update /usr/sbin/update-modules
+ fi
+ # 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
+
+ #
+ # Setup files in /lib/rcscripts
+ # These are support files for other things in baselayout that needn't be
+ # under CONFIG_PROTECTed /etc
+ #
+ cd "${S}"/sbin
+ exeinto ${rcscripts_dir}/sh
+ doexe rc-services.sh rc-daemon.sh rc-help.sh init-common-{pre,post}.sh \
+ init-functions.sh
+ newexe init.bsd.sh init.sh
+
+ # We can only install new, fast awk versions of scripts
+ # if 'build' or 'bootstrap' is not in USE. This will
+ # change if we have sys-apps/gawk-3.1.1-r1 or later in
+ # the build image ...
+ if ! use build; then
+ # This is for new depscan.sh and env-update.sh
+ # written in awk
+ cd "${S}"/sbin
+ into /
+ dosbin depscan.sh
+ dosbin env-update.sh
+ insinto ${rcscripts_dir}/awk
+ doins "${S}"/src/awk/*.awk
+ fi
+
+ # Original design had these in /etc/net.modules.d but that is too
+ # problematic with CONFIG_PROTECT
+ dodir ${rcscripts_dir}
+ cp -pPR "${S}"/lib/rcscripts/net.modules.d ${D}${rcscripts_dir}
+ chown -R root:0 ${D}${rcscripts_dir}
+
+ #
+ # Install baselayout documentation
+ #
+ if ! use build ; then
+ doman "${S}"/man/*.*
+ docinto /
+ dodoc ${FILESDIR}/copyright
+ dodoc "${S}"/ChangeLog
+ fi
+
+ #
+ # Install baselayout utilities
+ #
+ cd "${S}"/src
+ make DESTDIR="${D}" install || die
+
+ # Hack to fix bug 9849, continued in pkg_postinst
+ unkdir
+}
+
+# Support function for remapping old wireless dns vars
+remap_dns_vars() {
+ local f="$1"
+
+ if [[ -f ${ROOT}/etc/conf.d/${f} ]]; then
+ sed -e 's/\<domain_/dns_domain_/g' \
+ -e 's/\<mac_domain_/mac_dns_domain_/g' \
+ -e 's/\<nameservers_/dns_servers_/g' \
+ -e 's/\<mac_nameservers_/mac_dns_servers_/g' \
+ -e 's/\<searchdomains_/dns_search_domains_/g' \
+ -e 's/\<mac_searchdomains_/mac_dns_search_domains_/g' \
+ ${ROOT}/etc/conf.d/${f} > ${IMAGE}/etc/conf.d/${f}
+ fi
+}
+
+pkg_preinst() {
+ if [[ -f ${ROOT}/etc/modules.autoload && \
+ ! -d ${ROOT}/etc/modules.autoload.d ]]; then
+ mkdir -p ${ROOT}/etc/modules.autoload.d
+ mv -f ${ROOT}/etc/modules.autoload \
+ ${ROOT}/etc/modules.autoload.d/kernel-2.4
+ ln -snf modules.autoload.d/kernel-2.4 ${ROOT}/etc/modules.autoload
+ fi
+
+ # Change some vars introduced in baselayout-1.11.0 before we go stable
+ # The new names make more sense and allow nis_domain
+ # for use in baselayout-1.12.0
+ remap_dns_vars net
+ remap_dns_vars wireless
+}
+
+pkg_postinst() {
+ local x y
+
+ # Reincarnate dirs from kdir/unkdir (hack for bug 9849)
+ einfo "Creating directories and .keep files."
+ einfo "Some of these might fail if they're read-only mounted"
+ einfo "filesystems, for example /dev or /proc. That's okay!"
+ source "${ROOT}"/usr/share/baselayout/mkdirs.sh
+ source "${ROOT}"/usr/share/baselayout/mklinks.sh
+
+ # This could be done in src_install, which would have the benefit of
+ # (1) devices.tar.bz2 would show up in CONTENTS
+ # (2) binary installations would be faster... just untar the devices tarball
+ # instead of needing to run MAKEDEV
+ # However the most common cases are that people are either updating
+ # baselayout or installing from scratch. In the installation case, it's no
+ # different to have here instead of src_install. In the update case, we
+ # save a couple minutes time by refraining from building the unnecessary
+ # tarball.
+ if use kernel_linux && [[ ! -f "${ROOT}/lib/udev-state/devices.tar.bz2" ]]; then
+ # Create a directory in which to work
+ x=$(emktemp -d ${ROOT}/tmp/devnodes.XXXXXXXXX) \
+ && cd "${x}" || die 'mktemp failed'
+
+ # Create temp device nodes
+ echo
+ einfo "Making device node tarball (this could take a couple minutes)"
+ PATH=${ROOT}/sbin:${PATH} create_dev_nodes
+
+ # Now create tarball that can also be used for udev.
+ # Need GNU tar for -j so call it by absolute path.
+ /bin/tar --one-file-system -cjpf "${ROOT}/lib/udev-state/devices.tar.bz2" *
+ rm -r *
+ cd ..
+ rmdir "${x}"
+ fi
+
+ # We don't want to create devices if this is not a bootstrap and devfs
+ # is used, as this was the cause for all the devfs problems we had
+ if use kernel_linux && use build || use bootstrap; then
+ if [[ ! -e "${ROOT}/dev/.devfsd" && ! -e "${ROOT}/dev/.udev" ]]; then
+ einfo "Populating /dev with device nodes..."
+ cd ${ROOT}/dev || die
+ /bin/tar xjpf "${ROOT}/lib/udev-state/devices.tar.bz2" || die
+ fi
+ fi
+
+ # Create /boot/boot symlink in pkg_postinst because sometimes
+ # /boot is a FAT filesystem. When that is the case, then the
+ # symlink will fail. Consequently, if we create it in
+ # src_install, then merge will fail. AFAIK there is no point to
+ # this symlink except for misconfigured grubs. See bug 50108
+ # (05 May 2004 agriffis)
+ ln -sn . "${ROOT}"/boot/boot 2>/dev/null
+
+ # Set up default runlevel symlinks
+ # This used to be done in src_install but required knowledge of ${ROOT},
+ # which meant that it was effectively broken for binary installs.
+ if [[ -z $(/bin/ls "${ROOT}"/etc/runlevels 2>/dev/null) ]]; then
+ for x in boot default nonetwork single; do
+ einfo "Creating default runlevel symlinks for ${x}"
+ mkdir -p "${ROOT}"/etc/runlevels/${x}
+ for y in $(<"${ROOT}"/usr/share/baselayout/rc-lists/${x}); do
+ if [[ ! -e ${ROOT}/etc/init.d/${y} ]]; then
+ ewarn "init.d/${y} not found -- ignoring"
+ else
+ ln -sfn /etc/init.d/${y} \
+ "${ROOT}"/etc/runlevels/${x}/${y}
+ fi
+ done
+ done
+ fi
+
+ # Create /etc/hosts in pkg_postinst so we don't overwrite an
+ # existing file during bootstrap
+ if [[ ! -e ${ROOT}/etc/hosts ]]; then
+ cp ${ROOT}/usr/share/baselayout/hosts ${ROOT}/etc
+ fi
+
+ # Touching /etc/passwd and /etc/shadow after install can be fatal, as many
+ # new users do not update them properly... see src_install() for why they
+ # are in /usr/share/baselayout/
+ for x in passwd master.passwd group fstab ; do
+ if [[ -e ${ROOT}/etc/${x} ]] ; then
+ touch "${ROOT}/etc/${x}"
+ else
+ cp "${ROOT}/usr/share/baselayout/${x}" "${ROOT}/etc/${x}"
+ fi
+ done
+
+ # Under what circumstances would mtab be a symlink? It would be
+ # nice if there were an explanatory comment here
+ if use kernel_linux && [[ -L ${ROOT}/etc/mtab ]]; then
+ rm -f "${ROOT}/etc/mtab"
+ if [[ ${ROOT} == / ]]; then
+ cp /proc/mounts "${ROOT}/etc/mtab"
+ else
+ touch "${ROOT}/etc/mtab"
+ fi
+ fi
+
+ # We should only install empty files if these files don't already exist.
+ [[ -e ${ROOT}/var/log/lastlog ]] || \
+ touch "${ROOT}/var/log/lastlog"
+ [[ -e ${ROOT}/var/run/utmp ]] || \
+ install -m 0664 -g utmp /dev/null "${ROOT}/var/run/utmp"
+ [[ -e ${ROOT}/var/log/wtmp ]] || \
+ install -m 0664 -g utmp /dev/null "${ROOT}/var/log/wtmp"
+
+ # Reload init to fix unmounting problems of / on next reboot.
+ # This is really needed, as without the new version of init cause init
+ # not to quit properly on reboot, and causes a fsck of / on next reboot.
+ if [[ ${ROOT} == / ]] && ! use build && ! use bootstrap; then
+ # Regenerate init.d dependency tree
+ /sbin/depscan.sh &>/dev/null
+
+ # Regenerate /etc/modules.conf, else it will fail at next boot
+ einfo "Updating module dependencies..."
+ /sbin/modules-update force &>/dev/null
+ else
+ rm -f ${ROOT}/etc/modules.conf
+ fi
+
+ # Enable shadow groups (we need ROOT=/ here, as grpconv only
+ # operate on / ...).
+ if use userland_GNU && [[ ${ROOT} == / && \
+ ! -f /etc/gshadow && -x /usr/sbin/grpck && -x /usr/sbin/grpconv ]]
+ then
+ if /usr/sbin/grpck -r &>/dev/null; then
+ /usr/sbin/grpconv
+ else
+ echo
+ ewarn "Running 'grpck' returned errors. Please run it by hand, and then"
+ ewarn "run 'grpconv' afterwards!"
+ echo
+ fi
+ 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 ${ROOT}/etc/._cfg????_gentoo-release
+ echo "Gentoo Base System version ${PV}" > ${ROOT}/etc/gentoo-release
+
+ echo
+ einfo "Please be sure to update all pending '._cfg*' files in /etc,"
+ einfo "else things might break at your next reboot! You can use 'etc-update'"
+ einfo "to accomplish this:"
+ einfo
+ einfo " # etc-update"
+ echo
+
+ for f in /etc/init.d/net.eth*; do
+ [[ -L ${f} ]] && continue
+ echo
+ einfo "WARNING: You have older net.eth* files in ${ROOT}/etc/init.d/"
+ einfo "They need to be converted to symlinks to net.lo. If you haven't"
+ einfo "made personal changes to those files, you can update with the"
+ einfo "following command:"
+ einfo
+ einfo " # /bin/ls /etc/init.d/net.eth* | xargs -n1 ln -sfvn net.lo"
+ echo
+ break
+ done
+
+ if sed -e 's/#.*//' ${ROOT}/etc/conf.d/{net,wireless} 2>/dev/null \
+ | egrep -q '\<(domain|nameservers|searchdomains)_' ; then
+ echo
+ ewarn "You have depreciated variables in ${ROOT}/etc/conf.d/net"
+ ewarn "or ${ROOT}/etc/conf.d/wireless"
+ ewarn
+ ewarn "domain_* -> dns_domain_*"
+ ewarn "nameservers_* -> dns_servers_*"
+ ewarn "searchdomains_* -> dns_search_domains_*"
+ ewarn
+ ewarn "They have been converted for you - ensure that you"
+ ewarn "update them via 'etc-update'"
+ echo
+ fi
+
+ if sed -e 's/#.*//' ${ROOT}/etc/conf.d/net 2>/dev/null \
+ | egrep -q '\<(ifconfig|aliases|broadcasts|netmasks|inet6|ipaddr|iproute)_'; then
+ echo
+ ewarn "You are using deprecated variables in ${ROOT}/etc/conf.d/net"
+ ewarn
+ ewarn "You are advised to review the new configuration variables as"
+ ewarn "found in ${ROOT}/etc/conf.d/net.example as there is no"
+ ewarn "guarantee that they will work in future versions."
+ echo
+ fi
+}
diff --git a/sys-freebsd/freebsd-baselayout/metadata.xml b/sys-freebsd/freebsd-baselayout/metadata.xml
new file mode 100644
index 000000000000..ecedda4aa2cc
--- /dev/null
+++ b/sys-freebsd/freebsd-baselayout/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>bsd</herd>
+</pkgmetadata>
diff --git a/sys-freebsd/freebsd-bin/ChangeLog b/sys-freebsd/freebsd-bin/ChangeLog
new file mode 100644
index 000000000000..7c722a7e0212
--- /dev/null
+++ b/sys-freebsd/freebsd-bin/ChangeLog
@@ -0,0 +1,53 @@
+# ChangeLog for sys-apps/freebsd-bin
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-bin/ChangeLog,v 1.1 2006/04/01 16:43:50 flameeyes Exp $
+
+*freebsd-bin-6.0 (01 Apr 2006)
+
+ 01 Apr 2006; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-bin-6.0-flex-2.5.31.patch, +files/freebsd-bin-flex.patch,
+ +metadata.xml, +freebsd-bin-6.0.ebuild:
+ Import into portage.
+
+ 20 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Add patch to use newer flex (and depend on it).
+
+ 20 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Fix deprecated stuff to use NO_* syntax.
+
+*freebsd-bin-5.4 (25 Aug 2005)
+
+ 25 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-bin-flex.patch, +freebsd-bin-5.4.ebuild:
+ Moved to sys-freebsd.
+
+ 29 Jul 2005; Diego Pettenò <flameeyes@gentoo.org> freebsd-bin-5.4.ebuild:
+ Adapt to recent bsdmk changes.
+
+ 16 Jun 2005; Diego Pettenò <flameeyes@gentoo.org> freebsd-bin-5.4.ebuild:
+ Removed sendmail/rmail (installed by sendmail itself) and csh (provided by
+ app-shells/tcsh), avoid building of libsm and doesn't need ${CONTRIB}
+ anymore.
+
+*freebsd-bin-5.4_rc4 (05 May 2005)
+
+ 05 May 2005; Diego Pettenò <flameeyes@gentoo.org>
+ -freebsd-bin-5.4_rc3.ebuild, +freebsd-bin-5.4_rc4.ebuild:
+ Updated to rc4.
+
+*freebsd-bin-5.4_rc3 (03 May 2005)
+
+ 03 May 2005; Diego Pettenò ²<flameeyes@gentoo.org> +freebsd-bin-5.4_rc3.ebuild
+ Added 5.4_rc3 ebuild.
+
+*freebsd-bin-5.3.20050301-r1 (17 Mar 2005)
+
+ 17 Mar 2005; Otavio R. Piske <angusyoung@gentoo.org>
+ +freebsd-bin-5.3.20050301-r1.ebuild:
+ New ebuild with useflag suport. Thanks to Diego Petteno for submitting the
+ patch
+
+ 15 Sep 2004; Otavio Piske <angusyoung@gentoo.org> freebsd-bin-5.2.1.ebuild:
+ Initial release
+
+*freebsd-bin-5.2.1.ebuild (15 Sep 2004)
diff --git a/sys-freebsd/freebsd-bin/Manifest b/sys-freebsd/freebsd-bin/Manifest
new file mode 100644
index 000000000000..a871b89a935a
--- /dev/null
+++ b/sys-freebsd/freebsd-bin/Manifest
@@ -0,0 +1,21 @@
+MD5 8eb861e1b266a42a8786f663ba7a778f ChangeLog 1536
+RMD160 506e53521c68a092073d86806b60f8c2065ddb62 ChangeLog 1536
+SHA256 6b1665783791c577de8b466302d637a3748c7221da88db3e346a0c6356105028 ChangeLog 1536
+MD5 2db31d30049cab1ac1e50028fab31a5a files/digest-freebsd-bin-5.4 208
+RMD160 0ef73cfa5606a23739bd2803ad16bb90ca860456 files/digest-freebsd-bin-5.4 208
+SHA256 1e5ccef4025b5101a2974ccebc7967ea91dc0d32ec12630f3335394913821d00 files/digest-freebsd-bin-5.4 208
+MD5 d9463faad21b375992f5b1e538b43331 files/digest-freebsd-bin-6.0 207
+RMD160 320ee96616a891fb3942cf8ed7bdfe11706ee935 files/digest-freebsd-bin-6.0 207
+SHA256 32ff1eba68625517dd716b71364e2ac2a81c7907809ecca0d7b08c49ca75b397 files/digest-freebsd-bin-6.0 207
+MD5 88b10ffe4168218251cdaee3994b36e2 files/freebsd-bin-6.0-flex-2.5.31.patch 277
+RMD160 3dd13f280f462964feecd54ea9cafac8608955d4 files/freebsd-bin-6.0-flex-2.5.31.patch 277
+SHA256 4c60ee85f4ec7dfb86eab1536eb0d6aae65c955c756362cd2b7f2b5a024dfb17 files/freebsd-bin-6.0-flex-2.5.31.patch 277
+MD5 63cd4a526baeaec0a46eab33beef9510 files/freebsd-bin-flex.patch 381
+RMD160 cbbd56c1a79295e51cd067ba95c3e1965f67d0c6 files/freebsd-bin-flex.patch 381
+SHA256 da877a4db08f2eac5b8cfd4af7a9ff30c6101a6133b5b85bf97e79bab4ed71e6 files/freebsd-bin-flex.patch 381
+MD5 9cd304eee342eb563b07c89e3401749b freebsd-bin-5.4.ebuild 962
+RMD160 48e433667e9b21308751091c76e40144e2508205 freebsd-bin-5.4.ebuild 962
+SHA256 375ab1a4b701eca3a304f30f9f162b8094817963b7857406fffec52c8767fe6b freebsd-bin-5.4.ebuild 962
+MD5 7a15a3d22d652f7760b099dee0f70775 freebsd-bin-6.0.ebuild 984
+RMD160 bc5176755bfab088830da7c0202676438f003686 freebsd-bin-6.0.ebuild 984
+SHA256 893a940c8363b00d2e7e1696dbea92b18b9356ff592284c6c8117ab8af2f19de freebsd-bin-6.0.ebuild 984
diff --git a/sys-freebsd/freebsd-bin/files/digest-freebsd-bin-6.0 b/sys-freebsd/freebsd-bin/files/digest-freebsd-bin-6.0
new file mode 100644
index 000000000000..5be481464a14
--- /dev/null
+++ b/sys-freebsd/freebsd-bin/files/digest-freebsd-bin-6.0
@@ -0,0 +1,3 @@
+MD5 344c333bda07c4d345e9fc7a3edf81b2 freebsd-bin-6.0.tar.bz2 403680
+MD5 3888da5da1cb329a65a3ac9d316f99ea freebsd-lib-6.0.tar.bz2 2613087
+MD5 961eeb893125bfaa47a7d2f2fee9f2c2 freebsd-sbin-6.0.tar.bz2 1132085
diff --git a/sys-freebsd/freebsd-bin/files/freebsd-bin-6.0-flex-2.5.31.patch b/sys-freebsd/freebsd-bin/files/freebsd-bin-6.0-flex-2.5.31.patch
new file mode 100644
index 000000000000..e6a8cd3cc7f5
--- /dev/null
+++ b/sys-freebsd/freebsd-bin/files/freebsd-bin-6.0-flex-2.5.31.patch
@@ -0,0 +1,10 @@
+Index: fbsd-6/bin/sh/arith_lex.l
+===================================================================
+--- fbsd-6.orig/bin/sh/arith_lex.l
++++ fbsd-6/bin/sh/arith_lex.l
+@@ -128,5 +128,4 @@ extern char *arith_buf, *arith_startbuf;
+ void
+ arith_lex_reset(void)
+ {
+- YY_NEW_FILE;
+ }
diff --git a/sys-freebsd/freebsd-bin/files/freebsd-bin-flex.patch b/sys-freebsd/freebsd-bin/files/freebsd-bin-flex.patch
new file mode 100644
index 000000000000..ed3fb101eecf
--- /dev/null
+++ b/sys-freebsd/freebsd-bin/files/freebsd-bin-flex.patch
@@ -0,0 +1,12 @@
+diff -ur bin/sh/Makefile bin-flex/sh/Makefile
+--- bin/sh/Makefile 2004-03-18 10:55:47 +0000
++++ bin-flex/sh/Makefile 2005-05-05 15:03:29 +0000
+@@ -16,7 +16,7 @@
+ # builtin.1 in share/man/man1/.
+
+ DPADD= ${LIBL} ${LIBEDIT} ${LIBTERMCAP}
+-LDADD= -ll -ledit -ltermcap
++LDADD= -lfl -ledit -ltermcap
+
+ LFLAGS= -8 # 8-bit lex scanner for arithmetic
+ CFLAGS+=-DSHELL -I. -I${.CURDIR}
diff --git a/sys-freebsd/freebsd-bin/freebsd-bin-6.0.ebuild b/sys-freebsd/freebsd-bin/freebsd-bin-6.0.ebuild
new file mode 100644
index 000000000000..2e5d63854c05
--- /dev/null
+++ b/sys-freebsd/freebsd-bin/freebsd-bin-6.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-bin/freebsd-bin-6.0.ebuild,v 1.1 2006/04/01 16:43:50 flameeyes Exp $
+
+inherit bsdmk freebsd
+
+DESCRIPTION="FreeBSD /bin tools"
+SLOT="0"
+KEYWORDS="~x86-fbsd"
+
+IUSE="rcp nls ssl"
+
+SRC_URI="mirror://gentoo/${BIN}.tar.bz2
+ mirror://gentoo/${SBIN}.tar.bz2
+ mirror://gentoo/${LIB}.tar.bz2"
+
+RDEPEND="=sys-freebsd/freebsd-lib-${RV}*
+ ssl? ( dev-libs/openssl )
+ sys-libs/ncurses"
+DEPEND="${RDEPEND}
+ =sys-freebsd/freebsd-mk-defs-${RV}*
+ >=sys-devel/flex-2.5.31-r2"
+
+S=${WORKDIR}/bin
+
+PATCHES="${FILESDIR}/${PN}-${RV}-flex-2.5.31.patch"
+
+pkg_setup() {
+ use rcp || mymakeopts="${mymakeopts} NO_RCMNDS= "
+ use nls || mymakeopts="${mymakeopts} NO_NLS= "
+
+ # Sounds ridicoulus but ssl is used to enable des support in ed.
+ use ssl || mymakeopts="${mymakeopts} NO_OPENSSL= NO_CRYPT= "
+ mymakeopts="${mymakeopts} NO_TCSH= NO_SENDMAIL= "
+}
+
+# csh and tcsh are provided by tcsh package, rmail is sendmail stuff.
+REMOVE_SUBDIRS="csh rmail"
diff --git a/sys-freebsd/freebsd-bin/metadata.xml b/sys-freebsd/freebsd-bin/metadata.xml
new file mode 100644
index 000000000000..ecedda4aa2cc
--- /dev/null
+++ b/sys-freebsd/freebsd-bin/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>bsd</herd>
+</pkgmetadata>
diff --git a/sys-freebsd/freebsd-contrib/ChangeLog b/sys-freebsd/freebsd-contrib/ChangeLog
new file mode 100644
index 000000000000..237821a16aeb
--- /dev/null
+++ b/sys-freebsd/freebsd-contrib/ChangeLog
@@ -0,0 +1,37 @@
+# ChangeLog for sys-apps/freebsd-contrib
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-contrib/ChangeLog,v 1.1 2006/04/01 16:43:50 flameeyes Exp $
+
+*freebsd-contrib-6.0 (01 Apr 2006)
+
+ 01 Apr 2006; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-contrib-5.3-lib_csu-makefile.patch,
+ +files/freebsd-contrib-crt_gcc4.patch, +metadata.xml,
+ +freebsd-contrib-6.0.ebuild:
+ Import into portage.
+
+ 20 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Fix deprecated stuff to use NO_* syntax.
+
+*freebsd-contrib-5.4 (25 Aug 2005)
+
+ 25 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-contrib-5.3-lib_csu-makefile.patch,
+ +files/freebsd-contrib-crt_gcc4.patch, +freebsd-contrib-5.4.ebuild:
+ Moved to sys-freebsd.
+
+ 18 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-contrib-5.4.ebuild:
+ Updated to reflect bsdmk/freebsd eclasses changes.
+
+ 29 Jul 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-contrib-5.4.ebuild:
+ Adapt to recent bsdmk changes.
+
+*freebsd-contrib-5.3.20050301 (31 Mar 2005)
+
+ 31 Mar 2005; Otavio R. Piske <angusyoung@gentoo.org>
+ freebsd-contrib-5.3.20050301.ebuild:
+ New ebuild based on updated sources and with suport for new use flags.
+ Thanks to Diego Petteno for the use flag patch.
+
diff --git a/sys-freebsd/freebsd-contrib/Manifest b/sys-freebsd/freebsd-contrib/Manifest
new file mode 100644
index 000000000000..cd2417cb34e7
--- /dev/null
+++ b/sys-freebsd/freebsd-contrib/Manifest
@@ -0,0 +1,21 @@
+MD5 7cb7c0ef9eb7d16f525b71508d6a89cf ChangeLog 985
+RMD160 271f42c7e34bc356bd5e79b28413e69286d40b2a ChangeLog 985
+SHA256 c4f2ff8533132bba0678e6aaed52531349e18c201ecb60ea3c0ccc9c2040a7ce ChangeLog 985
+MD5 c61b87aaa5b9b047ea712234acbdd961 files/digest-freebsd-contrib-5.4 213
+RMD160 dff8b0489a8140bbe05dafcb180f1ead2c036bd0 files/digest-freebsd-contrib-5.4 213
+SHA256 7ef698523174457571f20e2b1d1d0754049346a4d6e726df5a01db12557acda4 files/digest-freebsd-contrib-5.4 213
+MD5 60f5670617e4ddbd6d9727af35f4319e files/digest-freebsd-contrib-6.0 213
+RMD160 78000cf42adb75175bc9b1cc330f6e8032dd1f79 files/digest-freebsd-contrib-6.0 213
+SHA256 ae4e54c2a8ed87d59e6482e534d0b41e1236e9dede9bac19966af8965c8f17cd files/digest-freebsd-contrib-6.0 213
+MD5 19ed07f6a51e25c4021e799825aa6273 files/freebsd-contrib-5.3-lib_csu-makefile.patch 327
+RMD160 d2817b79e134cdd24f6163f0a72c5284cee1bdba files/freebsd-contrib-5.3-lib_csu-makefile.patch 327
+SHA256 ee3ec95497ceea4e88101f10f89b7e161eed1684a624ea9eae257a20408080da files/freebsd-contrib-5.3-lib_csu-makefile.patch 327
+MD5 4f9ab6cf00fd355a9182ee4ccb5d2a7d files/freebsd-contrib-crt_gcc4.patch 3268
+RMD160 9c5891fbaf629a32cb6ceffaefc8b0ba59a28637 files/freebsd-contrib-crt_gcc4.patch 3268
+SHA256 b53422d5b853277d83472ccb4d9262fcc7987f50db27d741dfd769d06472be7c files/freebsd-contrib-crt_gcc4.patch 3268
+MD5 9c222918c5d060400deadda97fff10cd freebsd-contrib-5.4.ebuild 1459
+RMD160 aa3830465bf822b9838087ff3423da70cbffb9ba freebsd-contrib-5.4.ebuild 1459
+SHA256 5c0e4874105e8c4f1647b08e9cc084d218d39feb1c78beb05d3c700de3e010cd freebsd-contrib-5.4.ebuild 1459
+MD5 c8bdf24368e6a99992c8c7450734b0bc freebsd-contrib-6.0.ebuild 1358
+RMD160 774149be636868863ee82d5a0d1b30dbc605f08d freebsd-contrib-6.0.ebuild 1358
+SHA256 b4fc889d908c8b628c06ff0b973c4f272a078620cdeb2449d81b67f3f7be36fc freebsd-contrib-6.0.ebuild 1358
diff --git a/sys-freebsd/freebsd-contrib/files/digest-freebsd-contrib-6.0 b/sys-freebsd/freebsd-contrib/files/digest-freebsd-contrib-6.0
new file mode 100644
index 000000000000..2ebbf764ba56
--- /dev/null
+++ b/sys-freebsd/freebsd-contrib/files/digest-freebsd-contrib-6.0
@@ -0,0 +1,3 @@
+MD5 b5b626909c9707d0bab0c54b50e132b9 freebsd-contrib-6.0.tar.bz2 34972594
+MD5 4873a3aede8a8c121cab7b37c28487b5 freebsd-gcc-3.4.2.tar.bz2 8447406
+MD5 59f100898221e4024b80178ffec25192 freebsd-gnu-6.0.tar.bz2 866160
diff --git a/sys-freebsd/freebsd-contrib/files/freebsd-contrib-5.3-lib_csu-makefile.patch b/sys-freebsd/freebsd-contrib/files/freebsd-contrib-5.3-lib_csu-makefile.patch
new file mode 100644
index 000000000000..e00b2917c192
--- /dev/null
+++ b/sys-freebsd/freebsd-contrib/files/freebsd-contrib-5.3-lib_csu-makefile.patch
@@ -0,0 +1,10 @@
+--- lib/csu/Makefile.orig Thu Nov 11 22:49:34 2004
++++ lib/csu/Makefile Thu Nov 11 22:50:02 2004
+@@ -64,6 +64,7 @@
+
+ realinstall:
+ .for file in ${OBJS} ${SOBJS} ${TGTOBJS}
++ ${INSTALL} -d ${DESTDIR}${LIBDIR}
+ ${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${file} ${DESTDIR}${LIBDIR}/${file:S/.So$/S.o/}
+ .endfor
diff --git a/sys-freebsd/freebsd-contrib/files/freebsd-contrib-crt_gcc4.patch b/sys-freebsd/freebsd-contrib/files/freebsd-contrib-crt_gcc4.patch
new file mode 100644
index 000000000000..6516237159e6
--- /dev/null
+++ b/sys-freebsd/freebsd-contrib/files/freebsd-contrib-crt_gcc4.patch
@@ -0,0 +1,93 @@
+diff -ur gcc.orig/contrib/gcc/crtstuff.c gcc/contrib/gcc/crtstuff.c
+--- gcc.orig/contrib/gcc/crtstuff.c 2005-04-27 23:18:59 +0000
++++ gcc/contrib/gcc/crtstuff.c 2005-04-27 23:20:45 +0000
+@@ -1,7 +1,7 @@
+ /* Specialized bits of code needed to support construction and
+ destruction of file-scope objects in C++ code.
+ Copyright (C) 1991, 1994, 1995, 1996, 1997, 1998,
+- 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
++ 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+ Contributed by Ron Guilmette (rfg@monkeys.com).
+
+ This file is part of GCC.
+@@ -55,6 +55,8 @@
+ compiled for the target, and hence definitions concerning only the host
+ do not apply. */
+
++#define IN_LIBGCC2
++
+ /* We include auto-host.h here to get HAVE_GAS_HIDDEN. This is
+ supposedly valid even though this is a "target" file. */
+ #include "auto-host.h"
+@@ -92,7 +94,7 @@
+ #if defined(EH_FRAME_SECTION_NAME) && !defined(USE_PT_GNU_EH_FRAME)
+ # define USE_EH_FRAME_REGISTRY
+ #endif
+-#if defined(EH_FRAME_SECTION_NAME) && defined(HAVE_LD_RO_RW_SECTION_MIXING)
++#if defined(EH_FRAME_SECTION_NAME) && EH_TABLES_CAN_BE_READ_ONLY
+ # define EH_FRAME_SECTION_CONST const
+ #else
+ # define EH_FRAME_SECTION_CONST
+@@ -109,7 +111,7 @@
+ but not its definition.
+
+ Making TARGET_WEAK_ATTRIBUTE conditional seems like a good solution until
+- one thinks about scaling to larger problems -- ie, the condition under
++ one thinks about scaling to larger problems -- i.e., the condition under
+ which TARGET_WEAK_ATTRIBUTE is active will eventually get far too
+ complicated.
+
+@@ -312,8 +314,13 @@
+ #endif /* CRT_GET_RFIB_DATA */
+ #endif /* USE_EH_FRAME_REGISTRY */
+ #ifdef JCR_SECTION_NAME
+- if (__JCR_LIST__[0] && _Jv_RegisterClasses)
+- _Jv_RegisterClasses (__JCR_LIST__);
++ if (__JCR_LIST__[0])
++ {
++ void (*register_classes) (void *) = _Jv_RegisterClasses;
++ __asm ("" : "+r" (register_classes));
++ if (register_classes)
++ register_classes (__JCR_LIST__);
++ }
+ #endif /* JCR_SECTION_NAME */
+ }
+
+@@ -395,8 +402,13 @@
+ __register_frame_info (__EH_FRAME_BEGIN__, &object);
+ #endif
+ #ifdef JCR_SECTION_NAME
+- if (__JCR_LIST__[0] && _Jv_RegisterClasses)
+- _Jv_RegisterClasses (__JCR_LIST__);
++ if (__JCR_LIST__[0])
++ {
++ void (*register_classes) (void *) = _Jv_RegisterClasses;
++ __asm ("" : "+r" (register_classes));
++ if (register_classes)
++ register_classes (__JCR_LIST__);
++ }
+ #endif
+ }
+ #endif /* USE_EH_FRAME_REGISTRY || JCR_SECTION_NAME */
+@@ -445,9 +457,18 @@
+ #ifdef EH_FRAME_SECTION_NAME
+ /* Terminate the frame unwind info section with a 4byte 0 as a sentinel;
+ this would be the 'length' field in a real FDE. */
+-STATIC EH_FRAME_SECTION_CONST int __FRAME_END__[]
+- __attribute__ ((unused, mode(SI), section(EH_FRAME_SECTION_NAME),
+- aligned(4)))
++# if __INT_MAX__ == 2147483647
++typedef int int32;
++# elif __LONG_MAX__ == 2147483647
++typedef long int32;
++# elif __SHRT_MAX__ == 2147483647
++typedef short int32;
++# else
++# error "Missing a 4 byte integer"
++# endif
++STATIC EH_FRAME_SECTION_CONST int32 __FRAME_END__[]
++ __attribute__ ((unused, section(EH_FRAME_SECTION_NAME),
++ aligned(sizeof(int32))))
+ = { 0 };
+ #endif /* EH_FRAME_SECTION_NAME */
+
diff --git a/sys-freebsd/freebsd-contrib/freebsd-contrib-6.0.ebuild b/sys-freebsd/freebsd-contrib/freebsd-contrib-6.0.ebuild
new file mode 100644
index 000000000000..c8ae9cd9b420
--- /dev/null
+++ b/sys-freebsd/freebsd-contrib/freebsd-contrib-6.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-contrib/freebsd-contrib-6.0.ebuild,v 1.1 2006/04/01 16:43:50 flameeyes Exp $
+
+inherit bsdmk freebsd flag-o-matic
+
+GCC="freebsd-gcc-3.4.2"
+
+DESCRIPTION="Contributed sources for FreeBSD."
+SLOT="0"
+KEYWORDS="~x86-fbsd"
+LICENSE="BSD GPL-2 as-is"
+
+IUSE="ssl kerberos"
+
+SRC_URI="mirror://gentoo/${GNU}.tar.bz2
+ mirror://gentoo/${GCC}.tar.bz2
+ mirror://gentoo/${P}.tar.bz2"
+
+RDEPEND="kerberos? ( virtual/krb5 )
+ ssl? ( dev-libs/openssl )"
+DEPEND="${RDEPEND}
+ =sys-freebsd/freebsd-sources-${RV}*
+ =sys-freebsd/freebsd-headers-${RV}*
+ =sys-freebsd/freebsd-mk-defs-${RV}*"
+
+S="${WORKDIR}/gnu"
+
+pkg_setup() {
+ if use kerberos && ! use ssl; then
+ error "You can't install with kerberos support and no ssl support"
+ fi
+
+ use ssl || mymakeopts="${mymakeopts} NO_OPENSSL= NO_CRYPT= "
+ use kerberos || mymakeopts="${mymakeopts} NO_KERBEROS= "
+}
+
+REMOVE_SUBDIRS="lib/libg2c lib/libgcc lib/libgcc_r lib/libgcov lib/libiberty
+ lib/libobjc lib/libreadline lib/libregex lib/libstdc++ lib/libsupc++ usr.bin/bc
+ usr.bin/binutils usr.bin/cc usr.bin/cpio usr.bin/cvs usr.bin/dc usr.bin/dialog
+ usr.bin/diff usr.bin/diff3 usr.bin/gdb usr.bin/gperf usr.bin/grep usr.bin/groff
+ usr.bin/gzip usr.bin/man usr.bin/rcs usr.bin/sdiff usr.bin/send-pr
+ usr.bin/tar usr.bin/texinfo"
+
+PATCHES="${FILESDIR}/${PN}-5.3-lib_csu-makefile.patch"
+
diff --git a/sys-freebsd/freebsd-contrib/metadata.xml b/sys-freebsd/freebsd-contrib/metadata.xml
new file mode 100644
index 000000000000..ecedda4aa2cc
--- /dev/null
+++ b/sys-freebsd/freebsd-contrib/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>bsd</herd>
+</pkgmetadata>
diff --git a/sys-freebsd/freebsd-headers/ChangeLog b/sys-freebsd/freebsd-headers/ChangeLog
new file mode 100644
index 000000000000..922f4bce8b10
--- /dev/null
+++ b/sys-freebsd/freebsd-headers/ChangeLog
@@ -0,0 +1,40 @@
+# ChangeLog for sys-kernel/freebsd-headers
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-headers/ChangeLog,v 1.1 2006/04/01 16:43:50 flameeyes Exp $
+
+*freebsd-headers-6.0 (01 Apr 2006)
+
+ 01 Apr 2006; Diego Pettenò <flameeyes@gentoo.org> +metadata.xml,
+ +freebsd-headers-6.0.ebuild:
+ Import into portage.
+
+ 28 Oct 2005; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Try to install in /usr/${CTARGET}/include when crossbuilding.
+
+ 16 Oct 2005; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Added minimal support for crosscompile - doesn't work yet.
+
+*freebsd-headers-5.4 (25 Aug 2005)
+
+ 25 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +freebsd-headers-5.4.ebuild:
+ Moved to sys-freebsd.
+
+ 08 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-headers-5.4.ebuild:
+ Updated to use new bsdmk facilities.
+
+ 15 Jul 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-headers-5.4.ebuild:
+ Fixed broken SLOTting problem and added nostrip restriction.
+
+*freebsd-headers-5.4_rc4 (05 May 2005)
+
+ 05 May 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +freebsd-headers-5.4_rc4.ebuild:
+ Added 5.4_rc4 version.
+
+ 15 Sep 2004; Otavio Piske <angusyoung@gentoo.org> freebsd-headers-5.2.1.ebuild:
+ Initial release
+
+*freebsd-headers-5.2.1.ebuild (15 Sep 2004)
diff --git a/sys-freebsd/freebsd-headers/Manifest b/sys-freebsd/freebsd-headers/Manifest
new file mode 100644
index 000000000000..1b41bf3fdf58
--- /dev/null
+++ b/sys-freebsd/freebsd-headers/Manifest
@@ -0,0 +1,5 @@
+MD5 9d2e49a3ec8f69dc3ab374b12546c707 ChangeLog 1096
+MD5 44cad418f575a94cbdd1bd70902faa39 files/digest-freebsd-headers-5.4 210
+MD5 396b72a7e81b030f7b41760b72ff88b5 files/digest-freebsd-headers-6.0 210
+MD5 abc8411662b1a94ba3abf65821799e92 freebsd-headers-5.4.ebuild 943
+MD5 abc8411662b1a94ba3abf65821799e92 freebsd-headers-6.0.ebuild 943
diff --git a/sys-freebsd/freebsd-headers/files/digest-freebsd-headers-6.0 b/sys-freebsd/freebsd-headers/files/digest-freebsd-headers-6.0
new file mode 100644
index 000000000000..1bf7e14e4e58
--- /dev/null
+++ b/sys-freebsd/freebsd-headers/files/digest-freebsd-headers-6.0
@@ -0,0 +1,3 @@
+MD5 7c2af3af5be2f46372f9cc0efaeda4c7 freebsd-etc-6.0.tar.bz2 178941
+MD5 0a5937660818157a2a0bf09fe705f24c freebsd-include-6.0.tar.bz2 127219
+MD5 fa4633806f9ecd13eba57e45e5b6031f freebsd-sys-6.0.tar.bz2 16069887
diff --git a/sys-freebsd/freebsd-headers/freebsd-headers-6.0.ebuild b/sys-freebsd/freebsd-headers/freebsd-headers-6.0.ebuild
new file mode 100644
index 000000000000..fd594404261c
--- /dev/null
+++ b/sys-freebsd/freebsd-headers/freebsd-headers-6.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-headers/freebsd-headers-6.0.ebuild,v 1.1 2006/04/01 16:43:50 flameeyes Exp $
+
+inherit bsdmk freebsd toolchain-funcs
+
+DESCRIPTION="FreeBSD system headers"
+SLOT="0"
+KEYWORDS="~x86-fbsd"
+
+IUSE=""
+
+SRC_URI="mirror://gentoo/${INCLUDE}.tar.bz2
+ mirror://gentoo/${SYS}.tar.bz2
+ mirror://gentoo/${ETC}.tar.bz2"
+
+RDEPEND=""
+DEPEND="=sys-freebsd/freebsd-mk-defs-${RV}*"
+
+PROVIDE="virtual/os-headers"
+
+RESTRICT="nostrip"
+
+S=${WORKDIR}/include
+
+export CTARGET=${CTARGET:-${CHOST}}
+if [[ ${CTARGET} == ${CHOST} && ${CATEGORY/cross-} != ${CATEGORY} ]]; then
+ export CTARGET=${CATEGORY/cross-}
+fi
+
+src_compile() {
+ $(freebsd_get_bmake) CC=$(tc-getCC) || die "make failed"
+}
+
+src_install() {
+ [[ ${CTARGET} == ${CHOST} ]] \
+ && INCLUDEDIR="/usr/include" \
+ || INCLUDEDIR="/usr/${CTARGET}/include"
+
+ $(freebsd_get_bmake) install DESTDIR="${D}" INCLUDEDIR="${INCLUDEDIR}" || die "Install failed"
+}
diff --git a/sys-freebsd/freebsd-headers/metadata.xml b/sys-freebsd/freebsd-headers/metadata.xml
new file mode 100644
index 000000000000..ecedda4aa2cc
--- /dev/null
+++ b/sys-freebsd/freebsd-headers/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>bsd</herd>
+</pkgmetadata>
diff --git a/sys-freebsd/freebsd-lib/ChangeLog b/sys-freebsd/freebsd-lib/ChangeLog
new file mode 100644
index 000000000000..71ca58743b98
--- /dev/null
+++ b/sys-freebsd/freebsd-lib/ChangeLog
@@ -0,0 +1,130 @@
+# ChangeLog for sys-libs/freebsd-lib
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/ChangeLog,v 1.1 2006/04/01 16:43:50 flameeyes Exp $
+
+*freebsd-lib-6.0 (01 Apr 2006)
+
+ 01 Apr 2006; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-lib-6.0-flex-2.5.31.patch,
+ +files/freebsd-lib-6.0-gccfloat.patch, +files/freebsd-lib-6.0-pmc.patch,
+ +files/freebsd-lib-bsdxml.patch, +files/freebsd-lib-fixmakefiles.patch,
+ +files/freebsd-lib-fixmp.patch, +files/freebsd-lib-msun-fenvc.patch,
+ +files/freebsd-lib-runet.patch, +metadata.xml, +freebsd-lib-6.0.ebuild:
+ Import into portage.
+
+ 20 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Fix deprecated stuff to use NO_* syntax.
+
+ 20 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Add patch to build with flex 2.5.31 (and hard depend on that version as the
+ change is non-backward-compatible.
+
+ 14 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Make sure that /dev/zero is a character special so that we don't compile a
+ broken libc if /dev is not mounted.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Install configuration files here instead than on baselayout.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ On suggestion from Benigno B. Junior (bbj), don't extract sys and include,
+ instead symlink them inside ${WORKDIR}. This also drops the patch to fix
+ makefiles.
+
+ 13 Jan 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Add -static-libgcc to flags so that libc won't link to libgcc_s.
+
+ 23 Oct 2005; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Added conditional src_uri on usr.sbin for nis useflag. Thanks The_Paya @
+ #gentoo-bsd.
+
+*freebsd-lib-6.0_beta4 (19 Sep 2005)
+
+ 19 Sep 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-lib-6.0-fixmakefiles.patch,
+ +files/freebsd-lib-6.0-gccfloat.patch,
+ +files/freebsd-lib-6.0-gccfloat.patch~, +files/freebsd-lib-6.0-pmc.patch,
+ +freebsd-lib-6.0_beta4.ebuild:
+ Added freebsd-lib 6.0_beta4, slotted to avoid removing the old 5.4. This can
+ be a problem, remember\!.
+
+ 25 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-lib-bsdxml.patch, +files/freebsd-lib-fixmakefiles.patch,
+ +files/freebsd-lib-fixmp.patch, +files/freebsd-lib-msun-fenvc.patch,
+ +files/freebsd-lib-runet.patch, +freebsd-lib-5.4-r2.ebuild:
+ Moved to sys-freebsd.
+
+ 18 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-lib-5.4-r2.ebuild:
+ Updated to reflect bsdmk/freebsd eclasses changes.
+
+ 29 Jul 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-lib-5.4-r2.ebuild:
+ Adapt to recent bsdmk changes.
+
+ 16 Jun 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-lib-5.4-r2.ebuild:
+ Removed a lot of subtargets which aren't needed on our setup.
+
+ 15 Jun 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-lib-5.4-r2.ebuild:
+ libarchive has its own ebuild now.
+
+ 08 Jun 2005; Diego Pettenò <flameeyes@gentoo.org>
+ -files/freebsd-lib-minimal-2.patch, -files/freebsd-lib-minimal.patch,
+ -files/freebsd-lib-nosnmp.patch, freebsd-lib-5.4.ebuild,
+ freebsd-lib-5.4-r1.ebuild, freebsd-lib-5.4-r2.ebuild:
+ Moved also freebsd-lib to use dummy_mk instead of minimal patches.
+
+*freebsd-lib-5.4-r2 (08 Jun 2005)
+
+ 08 Jun 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-lib-minimal-2.patch, freebsd-lib-5.3.ebuild,
+ freebsd-lib-5.3.20050301.ebuild, freebsd-lib-5.3.20050301-r1.ebuild,
+ freebsd-lib-5.4.ebuild, freebsd-lib-5.4-r1.ebuild,
+ +freebsd-lib-5.4-r2.ebuild:
+ New revision which removes a few more external libraries (which are going to
+ be added as ebuilds on their own). Sorry for this rapid-changing.
+
+*freebsd-lib-5.4-r1 (04 Jun 2005)
+
+ 04 Jun 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-lib-nosnmp.patch, +freebsd-lib-5.4-r1.ebuild:
+ Remove libbsnmp and libbegemot as they're installed on their own.
+
+ 26 May 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-lib-fixmp.patch, freebsd-lib-5.4.ebuild:
+ Added a patch to fix a compilation -ssl -> +ssl
+
+*freebsd-lib-5.4_rc4 (05 May 2005)
+
+ 05 May 2005; Diego Pettenò <flameeyes@gentoo.org>
+ files/freebsd-lib-minimal.patch, -freebsd-lib-5.4_rc3.ebuild,
+ +freebsd-lib-5.4_rc4.ebuild:
+ Updated to rc4.
+
+*freebsd-lib-5.4_rc3 (29 Apr 2005)
+
+ 29 Apr 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-lib-fixmakefiles.patch, +files/freebsd-lib-minimal.patch,
+ +files/freebsd-lib-msun-fenvc.patch, +files/freebsd-lib-runet.patch,
+ +freebsd-lib-5.4_rc3.ebuild:
+ Added new experimental 5.4_rc3 ebuild which follows the new gentooish
+ structure.
+
+*freebsd-lib-5.3.20050301-r1 (19 Apr 2005)
+
+ 19 Apr 2005; Otavio R. Piske <angusyoung@gentoo.org>
+ +files/freebsd-lib-5.3-pkgs_removed.patch,
+ +freebsd-lib-5.3.20050301-r1.ebuild:
+ New ebuild with a patch to avoid compilation of ncurses.
+
+ 07 Apr 2005; Otavio R. Piske <angusyoung@gentoo.org> :
+ New ebuild with support for new use flags and based on updated sources
+
+*freebsd-lib-5.2.1 (19 Oct 2004)
+
+ 19 Oct 2004; Otavio R. Piske <angusyoung@gentoo.org>
+ freebsd-lib-5.2.1.ebuild:
+ Initial release
+
diff --git a/sys-freebsd/freebsd-lib/Manifest b/sys-freebsd/freebsd-lib/Manifest
new file mode 100644
index 000000000000..e7d47e6ae490
--- /dev/null
+++ b/sys-freebsd/freebsd-lib/Manifest
@@ -0,0 +1,39 @@
+MD5 72b7e220f7c817cb1dc4e37400d56520 ChangeLog 4641
+RMD160 a615ea9dd34d192653219044699825d04b2839bb ChangeLog 4641
+SHA256 1e1e7fceafb739690156b61f78f7281d0134ab84f16ff52bcfb0668b740d7a51 ChangeLog 4641
+MD5 0d0d6259af16d39d897eddb306f9a10d files/digest-freebsd-lib-5.4-r2 288
+RMD160 e720011b36ac188e6f005f94666568af3bbdfb8b files/digest-freebsd-lib-5.4-r2 288
+SHA256 e63e7942d14713506fd5673513258f4f754b7581ec11c39c0e80bf5b3e4cd9f5 files/digest-freebsd-lib-5.4-r2 288
+MD5 2dc17fc8aaa45e4d1ad9c683927c016e files/digest-freebsd-lib-6.0 1554
+RMD160 5a12c440fc8ad561b5c2708aaec65d9a4d0074a2 files/digest-freebsd-lib-6.0 1554
+SHA256 b268db5b482e04f2d76887e67a1b601e69ea4655abd04184f3d6fd48c47796b3 files/digest-freebsd-lib-6.0 1554
+MD5 cc6c35a3fc9a14a31e4ee800b53f0c5c files/freebsd-lib-6.0-flex-2.5.31.patch 421
+RMD160 6ef83c6b09e31a81ba3c25772b02aef34540dbe8 files/freebsd-lib-6.0-flex-2.5.31.patch 421
+SHA256 1d46cf13e1059ae3731ba5555764e020fcf4de7db5abf039fac83423e05d53c4 files/freebsd-lib-6.0-flex-2.5.31.patch 421
+MD5 a4bca3651c5476d3b75d866a60030bcb files/freebsd-lib-6.0-gccfloat.patch 542
+RMD160 564f5a1b1aba59479c22f91570635de717e8b7bf files/freebsd-lib-6.0-gccfloat.patch 542
+SHA256 d549125f174c86c2d5e7e1f1c99cf1303b84e91ce8ee51db8c962be48b7a7951 files/freebsd-lib-6.0-gccfloat.patch 542
+MD5 d2f9a1d35ae1aba75cc56b4ee3e12b68 files/freebsd-lib-6.0-pmc.patch 338
+RMD160 bb284cc2f9eafd3f65090087af215c3da679fefa files/freebsd-lib-6.0-pmc.patch 338
+SHA256 36ca464f0aa1ed8784c8f1edc4a3580704c9a7813963684305250d806000075f files/freebsd-lib-6.0-pmc.patch 338
+MD5 0fa8fbe7549748636959ef4bc4ea9660 files/freebsd-lib-bsdxml.patch 339
+RMD160 27b501cda2ac76230a72dfc3ee6593cb50f8d4b0 files/freebsd-lib-bsdxml.patch 339
+SHA256 c1ac47d6c7176475f0f4b86bb17288a980b44a799fb6f4e7b1920f69e0447dc9 files/freebsd-lib-bsdxml.patch 339
+MD5 05519435e08d33fda36ff33a30347143 files/freebsd-lib-fixmakefiles.patch 3974
+RMD160 cf54e67884dcc1902f27fc756cf379ae92ae4e4f files/freebsd-lib-fixmakefiles.patch 3974
+SHA256 5d8bac99a8014a506476dbac3cefc97b2830b26c448effafac5f84c1743580e2 files/freebsd-lib-fixmakefiles.patch 3974
+MD5 eb10216ffda9c5f69fdb28728c574114 files/freebsd-lib-fixmp.patch 548
+RMD160 91cf241eaa972c13ea6ddd1ec03a6fd7f3a2a4b3 files/freebsd-lib-fixmp.patch 548
+SHA256 bd99697872b00a4275c80935f4f5188f4f859aa358be0ecfc0c5470e9979c354 files/freebsd-lib-fixmp.patch 548
+MD5 df463935dab1512f58055115939d0cec files/freebsd-lib-msun-fenvc.patch 272
+RMD160 7adcda589dcc1b60d5a4bbb29e413fae1635b56f files/freebsd-lib-msun-fenvc.patch 272
+SHA256 02888e9c68f61a6dd9ee94ae7f87fb6367a6cea93893861af40cb7e3c5781e47 files/freebsd-lib-msun-fenvc.patch 272
+MD5 6a03dd52051da74fa1e9c7fae9eccaec files/freebsd-lib-runet.patch 346
+RMD160 5097808371642edb9927e64ebdd161f1689830c3 files/freebsd-lib-runet.patch 346
+SHA256 f6dd1d5197cc77348936757cb1a08a46a8167f9e547087193d7d726e18cbb678 files/freebsd-lib-runet.patch 346
+MD5 710b230776235d2e994e4a501da11017 freebsd-lib-5.4-r2.ebuild 2641
+RMD160 20a3fadc21b69856cfb9728bf9e725543f5124c0 freebsd-lib-5.4-r2.ebuild 2641
+SHA256 c4a971f5d7939d799a5769bbda79aa16de76ef9d2141d0d1096d920ac76e0f67 freebsd-lib-5.4-r2.ebuild 2641
+MD5 03e72ff5f8fbd16653ea3dfd77a93e4b freebsd-lib-6.0.ebuild 3295
+RMD160 c118298810f89de026579b972644e9864b4bed11 freebsd-lib-6.0.ebuild 3295
+SHA256 91b4d7d0da146812c28adde18a79cf7ab668682d3282bcbd6e5034dd04a59724 freebsd-lib-6.0.ebuild 3295
diff --git a/sys-freebsd/freebsd-lib/files/digest-freebsd-lib-6.0 b/sys-freebsd/freebsd-lib/files/digest-freebsd-lib-6.0
new file mode 100644
index 000000000000..0f858e744035
--- /dev/null
+++ b/sys-freebsd/freebsd-lib/files/digest-freebsd-lib-6.0
@@ -0,0 +1,18 @@
+MD5 b5b626909c9707d0bab0c54b50e132b9 freebsd-contrib-6.0.tar.bz2 34972594
+RMD160 3f045dd7d1ddbcf20da670051459f0a2fc508a8b freebsd-contrib-6.0.tar.bz2 34972594
+SHA256 9c76affcddb3a8257d3b612dd7cc8ff43bc7417e47e215c01909a81c79e9d443 freebsd-contrib-6.0.tar.bz2 34972594
+MD5 3f5ace196589dee4044fd717abf4b57c freebsd-crypto-6.0.tar.bz2 3978650
+RMD160 361efbba1f651925a7cc2284665b044bc232f181 freebsd-crypto-6.0.tar.bz2 3978650
+SHA256 e86223d40ef2747de98f575f3875a6ce8a5e913baa850a5ef547ffef00ace480 freebsd-crypto-6.0.tar.bz2 3978650
+MD5 7c2af3af5be2f46372f9cc0efaeda4c7 freebsd-etc-6.0.tar.bz2 178941
+RMD160 48d0eb51f291e5d706ef076151964b88a9fc1796 freebsd-etc-6.0.tar.bz2 178941
+SHA256 c4bd9401dad72bd869b89aa12a61339a30746caadb741bb0d094f522ee117616 freebsd-etc-6.0.tar.bz2 178941
+MD5 3888da5da1cb329a65a3ac9d316f99ea freebsd-lib-6.0.tar.bz2 2613087
+RMD160 30bf04438a00408284f135c2670106141cae4873 freebsd-lib-6.0.tar.bz2 2613087
+SHA256 dab1140d52597f37d768d2210a49cb29db5404a7df35306462e3642074426a53 freebsd-lib-6.0.tar.bz2 2613087
+MD5 44996c2edac20108da43add45b599d94 freebsd-libexec-6.0.tar.bz2 277631
+RMD160 5121414524c9dfceab1f5ad8b8bc91c65141db82 freebsd-libexec-6.0.tar.bz2 277631
+SHA256 2eddc867d69afa6c5d0a2f3ce18d4570688b5fa49924adb478dc7d548ba8197e freebsd-libexec-6.0.tar.bz2 277631
+MD5 df8c3764da190437a1d47c6ff1872520 freebsd-usbin-6.0.tar.bz2 2635411
+RMD160 9a8f5cdc041df1ad2b388c432a1829b5c8adc51d freebsd-usbin-6.0.tar.bz2 2635411
+SHA256 46ac3c581fd20d9980bcf2d80aba7c2f874ad3e29058939bee0c6f1a4af8ff64 freebsd-usbin-6.0.tar.bz2 2635411
diff --git a/sys-freebsd/freebsd-lib/files/freebsd-lib-6.0-flex-2.5.31.patch b/sys-freebsd/freebsd-lib/files/freebsd-lib-6.0-flex-2.5.31.patch
new file mode 100644
index 000000000000..00de8a6debb8
--- /dev/null
+++ b/sys-freebsd/freebsd-lib/files/freebsd-lib-6.0-flex-2.5.31.patch
@@ -0,0 +1,13 @@
+Index: fbsd-6/lib/libipsec/policy_token.l
+===================================================================
+--- fbsd-6.orig/lib/libipsec/policy_token.l
++++ fbsd-6/lib/libipsec/policy_token.l
+@@ -138,8 +138,6 @@ void
+ __policy__strbuffer__init__(msg)
+ char *msg;
+ {
+- if (yy_current_buffer)
+- yy_delete_buffer(yy_current_buffer);
+ strbuffer = (YY_BUFFER_STATE)yy_scan_string(msg);
+ yy_switch_to_buffer(strbuffer);
+
diff --git a/sys-freebsd/freebsd-lib/files/freebsd-lib-6.0-gccfloat.patch b/sys-freebsd/freebsd-lib/files/freebsd-lib-6.0-gccfloat.patch
new file mode 100644
index 000000000000..a3e7d5e1b63c
--- /dev/null
+++ b/sys-freebsd/freebsd-lib/files/freebsd-lib-6.0-gccfloat.patch
@@ -0,0 +1,16 @@
+This patch is needed to avoid inclusion of GCC's float.h that defines
+LDBL_MANT_DIG at 53 (while the source file checks for 113 or 64.
+
+Index: freebsd-6.0_beta4/lib/msun/src/s_fmal.c
+===================================================================
+--- freebsd-6.0_beta4.orig/lib/msun/src/s_fmal.c
++++ freebsd-6.0_beta4/lib/msun/src/s_fmal.c
+@@ -28,7 +28,7 @@
+ __FBSDID("$FreeBSD: src/lib/msun/src/s_fmal.c,v 1.2 2005/03/18 02:27:59 das Exp $");
+
+ #include <fenv.h>
+-#include <float.h>
++#include <machine/float.h>
+ #include <math.h>
+
+ /*
diff --git a/sys-freebsd/freebsd-lib/files/freebsd-lib-6.0-pmc.patch b/sys-freebsd/freebsd-lib/files/freebsd-lib-6.0-pmc.patch
new file mode 100644
index 000000000000..2f6de4652822
--- /dev/null
+++ b/sys-freebsd/freebsd-lib/files/freebsd-lib-6.0-pmc.patch
@@ -0,0 +1,13 @@
+Index: freebsd-6.0_beta4/lib/libpmc/Makefile
+===================================================================
+--- freebsd-6.0_beta4.orig/lib/libpmc/Makefile
++++ freebsd-6.0_beta4/lib/libpmc/Makefile
+@@ -9,6 +9,8 @@ WARNS?= 6
+
+ MAN= pmc.3 pmclog.3
+
++CFLAGS+= -I${.CURDIR}
++
+ MLINKS+= \
+ pmc.3 pmc_allocate.3 \
+ pmc.3 pmc_attach.3 \
diff --git a/sys-freebsd/freebsd-lib/files/freebsd-lib-bsdxml.patch b/sys-freebsd/freebsd-lib/files/freebsd-lib-bsdxml.patch
new file mode 100644
index 000000000000..ec90defc03a0
--- /dev/null
+++ b/sys-freebsd/freebsd-lib/files/freebsd-lib-bsdxml.patch
@@ -0,0 +1,13 @@
+diff -u lib/libgeom/Makefile lib.xml/libgeom/Makefile
+--- lib/libgeom/Makefile 2004-03-07 16:07:57 +0000
++++ lib.xml/libgeom/Makefile 2005-05-06 10:38:41 +0000
+@@ -8,7 +8,8 @@
+ SRCS+= geom_ctl.c
+ INCS= libgeom.h
+
+-CFLAGS += -I${.CURDIR}
++CFLAGS += -I${.CURDIR} -I${.CURDIR}/../libexpat
++LDFLAGS += -L${.CURDIR}/../libexpat
+
+ WARNS?= 3
+
diff --git a/sys-freebsd/freebsd-lib/files/freebsd-lib-fixmakefiles.patch b/sys-freebsd/freebsd-lib/files/freebsd-lib-fixmakefiles.patch
new file mode 100644
index 000000000000..1254fb3f7f14
--- /dev/null
+++ b/sys-freebsd/freebsd-lib/files/freebsd-lib-fixmakefiles.patch
@@ -0,0 +1,119 @@
+diff -ur lib.orig/libc/Makefile lib/libc/Makefile
+--- lib.orig/libc/Makefile Thu Apr 7 12:11:33 2005
++++ lib/libc/Makefile Thu Apr 7 12:26:50 2005
+@@ -13,7 +13,7 @@
+ SHLIB_MAJOR= 5
+ SHLIBDIR?= /lib
+ WARNS?= 2
+-CFLAGS+=-I${.CURDIR}/include -I${.CURDIR}/../../include
++CFLAGS+=-I${.CURDIR}/include -I/usr/include
+ CFLAGS+=-I${.CURDIR}/${MACHINE_ARCH}
+ CLEANFILES+=tags
+ INSTALL_PIC_ARCHIVE=
+Only in lib/libc: Makefile.orig
+diff -ur lib.orig/libc/sys/Makefile.inc lib/libc/sys/Makefile.inc
+--- lib.orig/libc/sys/Makefile.inc Thu Apr 7 12:11:33 2005
++++ lib/libc/sys/Makefile.inc Thu Apr 7 12:26:58 2005
+@@ -6,7 +6,7 @@
+
+ # Include the generated makefile containing the *complete* list
+ # of syscall names in MIASM.
+-.include "${.CURDIR}/../../sys/sys/syscall.mk"
++.include "/usr/src/sys/sys/syscall.mk"
+
+ # Include machine dependent definitions.
+ #
+Only in lib/libc/sys: Makefile.inc.orig
+diff -ur lib.orig/libcam/Makefile lib/libcam/Makefile
+--- lib.orig/libcam/Makefile Thu Apr 7 12:11:33 2005
++++ lib/libcam/Makefile Thu Apr 7 12:27:06 2005
+@@ -34,9 +34,9 @@
+ cam_cdbparse.3 csio_encode_visit.3 \
+ cam_cdbparse.3 buff_encode_visit.3
+
+-.PATH: ${.CURDIR}/../../sys/cam/scsi ${.CURDIR}/../../sys/cam
++.PATH: /usr/src/sys/cam/scsi /usr/src/sys/cam
+
+-SDIR= ${.CURDIR}/../../sys
++SDIR= /usr/src/sys
+ CFLAGS+= -I${.CURDIR} -I${SDIR}
+
+ .include <bsd.lib.mk>
+Only in lib/libcam: Makefile.orig
+diff -ur lib.orig/libkvm/Makefile lib/libkvm/Makefile
+--- lib.orig/libkvm/Makefile Thu Apr 7 12:11:34 2005
++++ lib/libkvm/Makefile Thu Apr 7 12:17:40 2005
+@@ -3,7 +3,7 @@
+
+ LIB= kvm
+ SHLIBDIR?= /lib
+-CFLAGS+=-DLIBC_SCCS -I${.CURDIR}
++CFLAGS+=-DLIBC_SCCS -I${.CURDIR} -I/usr/src/sys
+ SRCS= kvm.c kvm_${MACHINE_ARCH}.c kvm_file.c kvm_getloadavg.c \
+ kvm_getswapinfo.c kvm_proc.c
+ INCS= kvm.h
+Only in lib/libkvm: Makefile.orig
+diff -ur lib.orig/libncurses/Makefile lib/libncurses/Makefile
+--- lib.orig/libncurses/Makefile Thu Apr 7 12:11:34 2005
++++ lib/libncurses/Makefile Thu Apr 7 12:28:02 2005
+@@ -255,6 +255,7 @@
+
+ .if !defined(NOHTML)
+ afterinstall:
++ ${INSTALL} -d ${DESTDIR}${DOCSDIR}
+ .for file in ${DOCS}
+ cd ${.CURDIR}/../../contrib/ncurses/doc/html ; \
+ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 ${file} \
+Only in lib/libncurses: Makefile.orig
+diff -ur lib.orig/libngatm/Makefile lib/libngatm/Makefile
+--- lib.orig/libngatm/Makefile Thu Apr 7 12:11:34 2005
++++ lib/libngatm/Makefile Thu Apr 7 12:27:55 2005
+@@ -8,7 +8,7 @@
+ WARNS?= 6
+
+ # source of the library lives in contrib
+-SDIR= ${.CURDIR}/../../sys
++SDIR= /usr/src/sys
+ CTRB= ${.CURDIR}/../../contrib/ngatm
+ LIBBASE= ${SDIR}/contrib/ngatm
+
+Only in lib/libngatm: Makefile.orig
+diff -ur lib.orig/libsbuf/Makefile lib/libsbuf/Makefile
+--- lib.orig/libsbuf/Makefile Thu Apr 7 12:11:34 2005
++++ lib/libsbuf/Makefile Thu Apr 7 12:21:30 2005
+@@ -5,6 +5,6 @@
+ SRCS= subr_sbuf.c
+ WARNS?= 2
+
+-.PATH: ${.CURDIR}/../../sys/kern
++.PATH: /usr/src/sys/kern
+
+ .include <bsd.lib.mk>
+Only in lib/libsbuf: Makefile.orig
+diff -ur lib.orig/libthr/Makefile lib/libthr/Makefile
+--- lib.orig/libthr/Makefile Thu Apr 7 12:11:35 2005
++++ lib/libthr/Makefile Thu Apr 7 12:28:14 2005
+@@ -14,6 +14,7 @@
+ CFLAGS+=-I${.CURDIR}/../libc/include -I${.CURDIR}/thread \
+ -I${.CURDIR}/../../include
+ CFLAGS+=-I${.CURDIR}/../../libexec/rtld-elf
++CFLAGS+=-I/usr/src/sys
+
+ # enable extra internal consistancy checks
+ CFLAGS+=-D_PTHREADS_INVARIANTS
+Only in lib/libthr: Makefile.orig
+diff -ur lib.orig/libypclnt/Makefile lib/libypclnt/Makefile
+--- lib.orig/libypclnt/Makefile Thu Apr 7 12:11:34 2005
++++ lib/libypclnt/Makefile Thu Apr 7 12:22:15 2005
+@@ -24,8 +24,8 @@
+ yppasswd_private_xdr.c
+
+ RPCGEN= rpcgen -C
+-RPCSRC= ${.CURDIR}/../../include/rpcsvc/yp.x
+-RPCSRC_PW= ${.CURDIR}/../../include/rpcsvc/yppasswd.x
++RPCSRC= /usr/include/rpcsvc/yp.x
++RPCSRC_PW= /usr/include/rpcsvc/yppasswd.x
+ RPCSRC_PRIV= ${.CURDIR}/../../usr.sbin/rpc.yppasswdd/yppasswd_private.x
+
+ yp.h: ${RPCSRC}
+Only in lib/libypclnt: Makefile.orig
diff --git a/sys-freebsd/freebsd-lib/files/freebsd-lib-fixmp.patch b/sys-freebsd/freebsd-lib/files/freebsd-lib-fixmp.patch
new file mode 100644
index 000000000000..80a4b6adc0d2
--- /dev/null
+++ b/sys-freebsd/freebsd-lib/files/freebsd-lib-fixmp.patch
@@ -0,0 +1,12 @@
+diff -ur lib/libtelnet/Makefile lib-fixmp/libtelnet/Makefile
+--- lib/libtelnet/Makefile 2005-02-13 07:23:14 +0000
++++ lib-fixmp/libtelnet/Makefile 2005-05-26 06:32:26 +0000
+@@ -16,7 +16,7 @@
+ .if !defined(RELEASE_CRUNCH)
+ .if !defined(NOCRYPT) && !defined(NO_OPENSSL)
+ SRCS+= encrypt.c auth.c enc_des.c sra.c pk.c
+-CFLAGS+= -DENCRYPTION -DAUTHENTICATION -DSRA
++CFLAGS+= -DENCRYPTION -DAUTHENTICATION -DSRA -I${.CURDIR}/../libmp
+ .if !defined(NO_KERBEROS)
+ SRCS+= kerberos5.c
+ CFLAGS+= -DKRB5 -I${KRB5DIR}/lib/krb5 -I${KRB5OBJDIR} -I${ASN1OBJDIR}
diff --git a/sys-freebsd/freebsd-lib/files/freebsd-lib-msun-fenvc.patch b/sys-freebsd/freebsd-lib/files/freebsd-lib-msun-fenvc.patch
new file mode 100644
index 000000000000..34ba28cee775
--- /dev/null
+++ b/sys-freebsd/freebsd-lib/files/freebsd-lib-msun-fenvc.patch
@@ -0,0 +1,11 @@
+--- msun/i387/fenv.c.orig Mon Nov 1 01:40:10 2004
++++ msun/i387/fenv.c Mon Nov 1 01:40:21 2004
+@@ -28,7 +28,7 @@
+
+ #include <sys/types.h>
+ #include <machine/npx.h>
+-#include <fenv.h>
++#include "fenv.h"
+
+ const fenv_t __fe_dfl_env = {
+ 0xffff0000 | __INITIAL_NPXCW__,
diff --git a/sys-freebsd/freebsd-lib/files/freebsd-lib-runet.patch b/sys-freebsd/freebsd-lib/files/freebsd-lib-runet.patch
new file mode 100644
index 000000000000..43eec6a43c18
--- /dev/null
+++ b/sys-freebsd/freebsd-lib/files/freebsd-lib-runet.patch
@@ -0,0 +1,11 @@
+diff -ur lib.orig/libc/locale/mblocal.h lib/libc/locale/mblocal.h
+--- lib.orig/libc/locale/mblocal.h 2005-04-29 13:57:07 +0000
++++ lib/libc/locale/mblocal.h 2005-04-29 14:00:33 +0000
+@@ -30,6 +30,7 @@
+ #define _MBLOCAL_H_
+
+ #include <stddef.h> /* XXX for rune_t */
++#include <rune.h>
+
+ /*
+ * Conversion function pointers for current encoding.
diff --git a/sys-freebsd/freebsd-lib/freebsd-lib-6.0.ebuild b/sys-freebsd/freebsd-lib/freebsd-lib-6.0.ebuild
new file mode 100644
index 000000000000..edb7c050899e
--- /dev/null
+++ b/sys-freebsd/freebsd-lib/freebsd-lib-6.0.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-lib/freebsd-lib-6.0.ebuild,v 1.1 2006/04/01 16:43:50 flameeyes Exp $
+
+inherit bsdmk freebsd flag-o-matic toolchain-funcs
+
+DESCRIPTION="FreeBSD's base system libraries"
+SLOT="${RV}"
+KEYWORDS="~x86-fbsd"
+
+IUSE="atm bluetooth ssl usb ipv6 kerberos nis gpib"
+
+# 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
+ nis? ( mirror://gentoo/${USBIN}.tar.bz2 )"
+
+RDEPEND="ssl? ( dev-libs/openssl )
+ kerberos? ( virtual/krb5 )"
+DEPEND="${RDEPEND}
+ >=sys-devel/flex-2.5.31-r2
+ =sys-freebsd/freebsd-mk-defs-${RV}*
+ =sys-freebsd/freebsd-sources-${RV}*
+ =sys-freebsd/freebsd-headers-${RV}*"
+
+PROVIDE="virtual/libc"
+
+S="${WORKDIR}/lib"
+
+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} NO_ATM= "
+ use bluetooth || mymakeopts="${mymakeopts} NO_BLUETOOTH= "
+ use ssl || mymakeopts="${mymakeopts} NO_OPENSSL= NO_CRYPT= "
+ use usb || mymakeopts="${mymakeopts} NO_USB= "
+ use ipv6 || mymakeopts="${mymakeopts} NO_INET6= "
+ use kerberos || mymakeopts="${mymakeopts} NO_KERBEROS= "
+ use nis || mymakeopts="${mymakeopts} NO_NIS= "
+ use gpib || mymakeopts="${mymakeopts} NO_GPIB= "
+
+ mymakeopts="${mymakeopts} NO_OPENSSH= NO_BIND= NO_SENDMAIL= "
+
+ replace-flags "-O?" -"O1"
+ append-flags -static-libgcc
+ append-ldflags -static-libgcc
+}
+
+PATCHES="${FILESDIR}/${PN}-bsdxml.patch
+ ${FILESDIR}/${PN}-fixmp.patch
+ ${FILESDIR}/${PN}-${RV}-pmc.patch
+ ${FILESDIR}/${PN}-${RV}-gccfloat.patch
+ ${FILESDIR}/${PN}-${RV}-flex-2.5.31.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="libncurses libform libmenu libpanel \
+ libz libbz2 libarchive \
+ libsm libsmdb libsmutil \
+ libbegemot libbsnmp \
+ libsmb libpam libpcap bind libwrap libmagic \
+ libcom_err libtelnet"
+
+src_unpack() {
+ freebsd_src_unpack
+
+ ln -s "/usr/src/sys-${RV}" "${WORKDIR}/sys"
+ ln -s "/usr/include" "${WORKDIR}/include"
+}
+
+portage-to-fbsd-arch() {
+ case "$(tc-arch)" in
+ x86) echo "i386" ;;
+ *) echo $(tc-arch) ;;
+ esac
+}
+
+src_install() {
+ mkinstall || die "Install failed"
+
+ # make crt1.o schg so that gcc doesn't remove it
+ chflags schg ${D}/usr/lib/crt1.o
+
+ # 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
+ doins "etc.$(portage-to-fbsd-arch)"/*
+}
diff --git a/sys-freebsd/freebsd-lib/metadata.xml b/sys-freebsd/freebsd-lib/metadata.xml
new file mode 100644
index 000000000000..ecedda4aa2cc
--- /dev/null
+++ b/sys-freebsd/freebsd-lib/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>bsd</herd>
+</pkgmetadata>
diff --git a/sys-freebsd/freebsd-libexec/ChangeLog b/sys-freebsd/freebsd-libexec/ChangeLog
new file mode 100644
index 000000000000..458a476c4c26
--- /dev/null
+++ b/sys-freebsd/freebsd-libexec/ChangeLog
@@ -0,0 +1,67 @@
+# ChangeLog for sys-libs/freebsd-libexec
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-libexec/ChangeLog,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+*freebsd-libexec-6.0 (01 Apr 2006)
+
+ 01 Apr 2006; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-libexec-5.3_rc1-ypxfr-makefile.patch,
+ +files/freebsd-libexec-setXid.patch, +files/ftpd.pamd, +metadata.xml,
+ +freebsd-libexec-6.0.ebuild:
+ Import into portage.
+
+ 20 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Fix deprecated stuff to use NO_* syntax.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Add gettytab file here instead than in baselayout.
+
+ 01 Nov 2005; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Remove pf support, as freebsd-pf will provide it.
+
+ 27 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-libexec-5.4-r1.ebuild:
+ Fixed missing sys-freebsd change.
+
+ 25 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-libexec-5.3_rc1-ypxfr-makefile.patch,
+ +files/freebsd-libexec-setXid.patch, +files/ftpd.pamd,
+ +freebsd-libexec-5.4-r1.ebuild:
+ Moved to sys-freebsd.
+
+ 18 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-libexec-5.4-r1.ebuild:
+ Updated to reflect bsdmk/freebsd eclasses changes.
+
+ 29 Jul 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-libexec-5.4-r1.ebuild:
+ Adapt to recent bsdmk changes.
+
+ 20 Jun 2005; Diego Pettenò <flameeyes@gentoo.org> -files/rexecd.pamd,
+ -files/rsh.pamd, -files/telnetd.pamd, freebsd-libexec-5.3.ebuild,
+ freebsd-libexec-5.3.20050301.ebuild, freebsd-libexec-5.4-r1.ebuild:
+ Use new bsdmk eclass, removed rshd rexecd rlogind and related pamd files.
+
+ 16 Jun 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-libexec-5.4-r1.ebuild:
+ Remove building of sendmail and tcp-wrapper stuff.
+
+*freebsd-libexec-5.4-r1 (23 May 2005)
+
+ 23 May 2005; Diego Pettenò <flameeyes@gentoo.org> +files/ftpd.pamd,
+ +files/rexecd.pamd, +files/telnetd.pamd, -freebsd-libexec-5.4.ebuild,
+ +freebsd-libexec-5.4-r1.ebuild:
+ Moved here pamd files. Added dependency over virtual/pam. Using
+ mirror://gentoo/.
+
+*freebsd-libexec-5.3.20050301 (06 Apr 2005)
+
+ 06 Apr 2005; Otavio R. Piske <angusyoung@gentoo.org>
+ freebsd-libexec-5.3.20050301.ebuild:
+ New ebuild for updated sources and support for new use flags (patch provided
+ by Diego Petteno).
+
+ 14 Oct 2004; Otavio R. Piske <angusyoung@gentoo.org>
+ freebsd-libexec-5.2.1.ebuild:
+ Corrected SRC_URI pointing to a wrong site
+
diff --git a/sys-freebsd/freebsd-libexec/Manifest b/sys-freebsd/freebsd-libexec/Manifest
new file mode 100644
index 000000000000..7837fda6cbd6
--- /dev/null
+++ b/sys-freebsd/freebsd-libexec/Manifest
@@ -0,0 +1,24 @@
+MD5 018ba4b70fc27f11eedb5522255ebab9 ChangeLog 2177
+RMD160 ebb90b21cedce6e31267e39ab5dd4e7e5a94a28d ChangeLog 2177
+SHA256 0aaaecaa4b3b27c449c5bb6d9b6f59736a03a38ee48a95289471a7cc40db9cce ChangeLog 2177
+MD5 98b5eb72e286e83b9372f2993a0ed946 files/digest-freebsd-libexec-5.4-r1 425
+RMD160 0a48cd3374a1f15910346fb67a99b9e476c91567 files/digest-freebsd-libexec-5.4-r1 425
+SHA256 ecf226c55be8b9d9d13a8320665762ec3377acc6c224b542ae07251526ae384c files/digest-freebsd-libexec-5.4-r1 425
+MD5 ddf68922a1d3f555d4cd1ba03f2defbe files/digest-freebsd-libexec-6.0 1798
+RMD160 16c39da9cf4c01e3a1b030647f5c506593c91b8c files/digest-freebsd-libexec-6.0 1798
+SHA256 5448a66939478317fe42bdcd92b7afa281bdfdbd77b86af55dcc21f11567a2dc files/digest-freebsd-libexec-6.0 1798
+MD5 5d5db03a0ec099511d480ed697158c2f files/freebsd-libexec-5.3_rc1-ypxfr-makefile.patch 263
+RMD160 40b586d5036d1456df7479339a3a11d82fae038e files/freebsd-libexec-5.3_rc1-ypxfr-makefile.patch 263
+SHA256 15903b83aff510790a8d3c18c3c34e352f35a5d8d07528ce0e243a07bf1cdb08 files/freebsd-libexec-5.3_rc1-ypxfr-makefile.patch 263
+MD5 938595a512ae215d1b8f97d80d81adec files/freebsd-libexec-setXid.patch 270
+RMD160 70cb184d02b3a3102eeb6332226db42b2abf04f5 files/freebsd-libexec-setXid.patch 270
+SHA256 b96e8adef3276e5bd2b2518641b9d971202476803b82bdea7077603510116b8e files/freebsd-libexec-setXid.patch 270
+MD5 360538cd6a695c2de33dff44a766112a files/ftpd.pamd 487
+RMD160 58fe2d60e542f6541221e91552d7fa208039f1a3 files/ftpd.pamd 487
+SHA256 461af0b82de8f911659c816210d249e70e7a8666cfb6cde82df8cad3fcbc477a files/ftpd.pamd 487
+MD5 c390324213b9f90a69b46126a5899354 freebsd-libexec-5.4-r1.ebuild 1377
+RMD160 33472863c07f231bbdf3a1cdfe324801995751ff freebsd-libexec-5.4-r1.ebuild 1377
+SHA256 650ba7c5f157fae6dfe509677aaed0b5d5fa5dd6367a2d6aac0d30dae90b0146 freebsd-libexec-5.4-r1.ebuild 1377
+MD5 e95f107deafed0781d7b777ab4cacd4a freebsd-libexec-6.0.ebuild 1465
+RMD160 377ae7b85225ef2169ae0261adf15f3ac59ac22f freebsd-libexec-6.0.ebuild 1465
+SHA256 85a169545d842b86baa7d33750100446c4675cc13a00f1171e48f07ea8674196 freebsd-libexec-6.0.ebuild 1465
diff --git a/sys-freebsd/freebsd-libexec/files/digest-freebsd-libexec-6.0 b/sys-freebsd/freebsd-libexec/files/digest-freebsd-libexec-6.0
new file mode 100644
index 000000000000..571af47578c4
--- /dev/null
+++ b/sys-freebsd/freebsd-libexec/files/digest-freebsd-libexec-6.0
@@ -0,0 +1,21 @@
+MD5 344c333bda07c4d345e9fc7a3edf81b2 freebsd-bin-6.0.tar.bz2 403680
+RMD160 4694f5e9e6469cf64b0e05ae8a1d23a612b2130d freebsd-bin-6.0.tar.bz2 403680
+SHA256 1b228a67634edc978e961d81855ac8b5efa611683654f9d956b9fe2ece3e9f6c freebsd-bin-6.0.tar.bz2 403680
+MD5 b5b626909c9707d0bab0c54b50e132b9 freebsd-contrib-6.0.tar.bz2 34972594
+RMD160 3f045dd7d1ddbcf20da670051459f0a2fc508a8b freebsd-contrib-6.0.tar.bz2 34972594
+SHA256 9c76affcddb3a8257d3b612dd7cc8ff43bc7417e47e215c01909a81c79e9d443 freebsd-contrib-6.0.tar.bz2 34972594
+MD5 7c2af3af5be2f46372f9cc0efaeda4c7 freebsd-etc-6.0.tar.bz2 178941
+RMD160 48d0eb51f291e5d706ef076151964b88a9fc1796 freebsd-etc-6.0.tar.bz2 178941
+SHA256 c4bd9401dad72bd869b89aa12a61339a30746caadb741bb0d094f522ee117616 freebsd-etc-6.0.tar.bz2 178941
+MD5 3888da5da1cb329a65a3ac9d316f99ea freebsd-lib-6.0.tar.bz2 2613087
+RMD160 30bf04438a00408284f135c2670106141cae4873 freebsd-lib-6.0.tar.bz2 2613087
+SHA256 dab1140d52597f37d768d2210a49cb29db5404a7df35306462e3642074426a53 freebsd-lib-6.0.tar.bz2 2613087
+MD5 44996c2edac20108da43add45b599d94 freebsd-libexec-6.0.tar.bz2 277631
+RMD160 5121414524c9dfceab1f5ad8b8bc91c65141db82 freebsd-libexec-6.0.tar.bz2 277631
+SHA256 2eddc867d69afa6c5d0a2f3ce18d4570688b5fa49924adb478dc7d548ba8197e freebsd-libexec-6.0.tar.bz2 277631
+MD5 62d4513f9f16d2eadfc3f1d5be53acee freebsd-ubin-6.0.tar.bz2 1760986
+RMD160 08a26aa7afdb1482fd1711355e2ef150ecef709d freebsd-ubin-6.0.tar.bz2 1760986
+SHA256 860ecaa8cea7c1bd1a1403d6b345d751e04fed3fd7993bf69a483046844d476b freebsd-ubin-6.0.tar.bz2 1760986
+MD5 df8c3764da190437a1d47c6ff1872520 freebsd-usbin-6.0.tar.bz2 2635411
+RMD160 9a8f5cdc041df1ad2b388c432a1829b5c8adc51d freebsd-usbin-6.0.tar.bz2 2635411
+SHA256 46ac3c581fd20d9980bcf2d80aba7c2f874ad3e29058939bee0c6f1a4af8ff64 freebsd-usbin-6.0.tar.bz2 2635411
diff --git a/sys-freebsd/freebsd-libexec/files/freebsd-libexec-5.3_rc1-ypxfr-makefile.patch b/sys-freebsd/freebsd-libexec/files/freebsd-libexec-5.3_rc1-ypxfr-makefile.patch
new file mode 100644
index 000000000000..e81e5c1a8352
--- /dev/null
+++ b/sys-freebsd/freebsd-libexec/files/freebsd-libexec-5.3_rc1-ypxfr-makefile.patch
@@ -0,0 +1,11 @@
+--- ypxfr/Makefile.orig Tue Nov 9 16:44:40 2004
++++ ypxfr/Makefile Tue Nov 9 16:44:57 2004
+@@ -18,7 +18,7 @@
+
+ CLEANFILES= ${GENSRCS}
+
+-RPCDIR= ${.CURDIR}/../../include/rpcsvc
++RPCDIR= /usr/include/rpcsvc
+ RPCGEN= rpcgen -I -C
+
+ ypxfr_clnt.c: ${RPCDIR}/yp.x
diff --git a/sys-freebsd/freebsd-libexec/files/freebsd-libexec-setXid.patch b/sys-freebsd/freebsd-libexec/files/freebsd-libexec-setXid.patch
new file mode 100644
index 000000000000..4a53dd1c222d
--- /dev/null
+++ b/sys-freebsd/freebsd-libexec/files/freebsd-libexec-setXid.patch
@@ -0,0 +1,10 @@
+diff -ur libexec.orig/pt_chown/Makefile libexec/pt_chown/Makefile
+--- libexec.orig/pt_chown/Makefile Thu Apr 7 20:09:33 2005
++++ libexec/pt_chown/Makefile Thu Apr 7 20:16:36 2005
+@@ -6,4 +6,6 @@
+ BINMODE=4555
+ NOMAN=
+
++LDFLAGS += -Wl,-z,now
++
+ .include <bsd.prog.mk>
diff --git a/sys-freebsd/freebsd-libexec/files/ftpd.pamd b/sys-freebsd/freebsd-libexec/files/ftpd.pamd
new file mode 100644
index 000000000000..d9feb829a549
--- /dev/null
+++ b/sys-freebsd/freebsd-libexec/files/ftpd.pamd
@@ -0,0 +1,20 @@
+#
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-libexec/files/ftpd.pamd,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+#
+# PAM configuration for the "ftpd" service
+#
+
+# auth
+auth required pam_nologin.so no_warn
+auth sufficient pam_opie.so no_warn no_fake_prompts
+auth requisite pam_opieaccess.so no_warn allow_local
+#auth sufficient pam_krb5.so no_warn
+#auth sufficient pam_ssh.so no_warn try_first_pass
+auth required pam_unix.so no_warn try_first_pass
+
+# account
+#account required pam_krb5.so
+account required pam_unix.so
+
+# session
+session required pam_permit.so
diff --git a/sys-freebsd/freebsd-libexec/freebsd-libexec-6.0.ebuild b/sys-freebsd/freebsd-libexec/freebsd-libexec-6.0.ebuild
new file mode 100644
index 000000000000..5cf0367cf3a0
--- /dev/null
+++ b/sys-freebsd/freebsd-libexec/freebsd-libexec-6.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-libexec/freebsd-libexec-6.0.ebuild,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+inherit bsdmk freebsd pam
+
+DESCRIPTION="FreeBSD libexec things"
+SLOT="0"
+KEYWORDS="~x86-fbsd"
+
+IUSE="lukemftpd pam ssl kerberos ipv6 nis"
+
+SRC_URI="mirror://gentoo/${LIBEXEC}.tar.bz2
+ mirror://gentoo/${UBIN}.tar.bz2
+ mirror://gentoo/${BIN}.tar.bz2
+ mirror://gentoo/${CONTRIB}.tar.bz2
+ mirror://gentoo/${LIB}.tar.bz2
+ mirror://gentoo/${ETC}.tar.bz2
+ mirror://gentoo/${USBIN}.tar.bz2"
+
+RDEPEND="=sys-freebsd/freebsd-lib-${RV}*
+ pam? ( virtual/pam )"
+DEPEND="${RDEPEND}
+ =sys-freebsd/freebsd-mk-defs-${RV}*
+ =sys-freebsd/freebsd-sources-${RV}*
+ =sys-freebsd/freebsd-headers-${RV}*"
+
+S="${WORKDIR}/libexec"
+
+pkg_setup() {
+ use lukemftpd && mymakeopts="${mymakeopts} WANT_LUKEMFTPD= "
+ use pam || mymakeopts="${mymakeopts} NO_PAM= "
+ use ssl || mymakeopts="${mymakeopts} NO_OPENSSL= NO_CRYPT= "
+ use kerberos || mymakeopts="${mymakeopts} NO_KERBEROS= "
+ use ipv6 || mymakeopts="${mymakeopts} NO_INET6= "
+ use nis || mymakeopts="${mymakeopts} NO_NIS= "
+
+ mymakeopts="${mymakeopts} NO_SENDMAIL= NO_PF= "
+}
+
+PATCHES="${FILESDIR}/${PN}-setXid.patch
+ ${FILESDIR}/${PN}-5.3_rc1-ypxfr-makefile.patch"
+
+# Remove sendmail, tcp_wrapper and other useless stuff
+REMOVE_SUBDIRS="smrsh mail.local tcpd telnetd rshd rlogind"
+
+src_install() {
+ freebsd_src_install
+
+ newpamd ${FILESDIR}/ftpd.pamd ftpd
+
+ insinto /etc
+ cd "${WORKDIR}/etc"
+ doins gettytab
+}
diff --git a/sys-freebsd/freebsd-libexec/metadata.xml b/sys-freebsd/freebsd-libexec/metadata.xml
new file mode 100644
index 000000000000..ecedda4aa2cc
--- /dev/null
+++ b/sys-freebsd/freebsd-libexec/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>bsd</herd>
+</pkgmetadata>
diff --git a/sys-freebsd/freebsd-mk-defs/ChangeLog b/sys-freebsd/freebsd-mk-defs/ChangeLog
new file mode 100644
index 000000000000..35f5f35b8bc8
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/ChangeLog
@@ -0,0 +1,69 @@
+# ChangeLog for sys-apps/freebsd-mk-defs
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-mk-defs/ChangeLog,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+*freebsd-mk-defs-6.0 (01 Apr 2006)
+
+ 01 Apr 2006; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-mk-defs-6.0-gentoo.patch,
+ +files/freebsd-mk-defs-6.0-strip.patch, +files/freebsd-mk-defs-flex.patch,
+ +files/freebsd-mk-defs-gentoo.patch, +files/sys.patch, +metadata.xml,
+ +freebsd-mk-defs-6.0.ebuild:
+ Import into portage.
+
+ 23 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Add patch to avoid stripping binaries while installing, leaving that up to
+ portage.
+
+ 28 Oct 2005; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Install in alternative directory when installing on non-FreeBSD systems.
+
+*freebsd-mk-defs-6.0_beta4 (20 Sep 2005)
+
+ 20 Sep 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-mk-defs-6.0-gentoo.patch,
+ +freebsd-mk-defs-6.0_beta4.ebuild:
+ freebsd-mk-defs 6.0, still not working.
+
+*freebsd-mk-defs-5.4-r1 (25 Aug 2005)
+
+ 25 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-mk-defs-flex.patch, +files/freebsd-mk-defs-gentoo.patch,
+ +files/sys.patch, +freebsd-mk-defs-5.4-r1.ebuild:
+ Moved to sys-freebsd.
+
+ 15 Jul 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-mk-defs-5.4-r1.ebuild:
+ Add nostrip restriction.
+
+ 10 Jul 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-mk-defs-5.4-r1.ebuild:
+ Fix SLOT.
+
+ 16 Jun 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-mk-defs-5.4.ebuild:
+ Remove BASE_SRC_URI variable.
+
+*freebsd-mk-defs-5.4_rc4 (05 May 2005)
+
+ 05 May 2005; Diego Petten <flameeyes@gentoo.org>
+ +freebsd-mk-defs-5.4_rc4.ebuild:
+ Added 5.4_rc4.
+
+*freebsd-mk-defs-5.3_rc1.ebuild (02 Nov 2004)
+
+ 20 Nov 2004; Otavio R. Piske <angusyoung@gentoo.org>
+ freebsd-mk-defs-5.3_rc1.ebuild :
+ Initial Release
+
+*freebsd-mk-defs-5.2.1-r1.ebuild (20 Oct 2004)
+
+ 20 Oct 2004; Otavio R. Piske <angusyoung@gentoo.org>
+ freebsd-mk-defs-5.2.1-r1.ebuild :
+ New ebuild with patches that avoid having to create dirs inside an ebuild
+
+*freebsd-mk-defs-5.2.1.ebuild (15 Sep 2004)
+
+ 15 Sep 2004; Otavio Piske <angusyoung@gentoo.org> freebsd-mk-defs-5.2.1.ebuild:
+ Initial release
+
diff --git a/sys-freebsd/freebsd-mk-defs/Manifest b/sys-freebsd/freebsd-mk-defs/Manifest
new file mode 100644
index 000000000000..f0b0710776d6
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/Manifest
@@ -0,0 +1,30 @@
+MD5 e2a7b0537a5f584b038c19e2fb5ea209 ChangeLog 1869
+RMD160 e772d87c7c3fafd98bd2dffd685e10f90001674b ChangeLog 1869
+SHA256 e48c6493a2d4cf00c81b63fd851190924e71ee15379258dbac273b1a4d593db6 ChangeLog 1869
+MD5 18bccbc835ecf76ec8378e74ff9d1123 files/digest-freebsd-mk-defs-5.4-r1 71
+RMD160 faed986231673a42d3ad4faee226537cd9192325 files/digest-freebsd-mk-defs-5.4-r1 71
+SHA256 e523ef351a41dc3992324ade7677e2eae9527b0de74e6db730d111fe3f063286 files/digest-freebsd-mk-defs-5.4-r1 71
+MD5 7d42c5df68ad45602fc10e19633adc89 files/digest-freebsd-mk-defs-6.0 71
+RMD160 870093a61b136c922a2da1b08a5605b79a5bab0d files/digest-freebsd-mk-defs-6.0 71
+SHA256 9fcd217b73e1816c2cfa3991a0feaf5fddc52c83d619584d0d9036ed6e84422a files/digest-freebsd-mk-defs-6.0 71
+MD5 11bb5712e904671490b5260166dfd721 files/freebsd-mk-defs-6.0-gentoo.patch 8015
+RMD160 9fe1ed2b7515a61a2365dd35c9da75c53fa0cbd4 files/freebsd-mk-defs-6.0-gentoo.patch 8015
+SHA256 2e43c5f758eeae5702a253bed7ccf2d12749446e6862e34b09f4379381aa5b39 files/freebsd-mk-defs-6.0-gentoo.patch 8015
+MD5 05422b14418bece763450063c220e305 files/freebsd-mk-defs-6.0-strip.patch 1235
+RMD160 7aa18593c915a54aeec16b270e41fb3e3e645b33 files/freebsd-mk-defs-6.0-strip.patch 1235
+SHA256 f7e976c5f699a8c968babbcee9b813ee62fb96ea220ddf52005468973d9bb063 files/freebsd-mk-defs-6.0-strip.patch 1235
+MD5 7c6bf2b68cd685a9f76af8c0ea652599 files/freebsd-mk-defs-flex.patch 867
+RMD160 a6515de4317f00ec47765987ae3f5bbdd02bc489 files/freebsd-mk-defs-flex.patch 867
+SHA256 3373ded64bf6447a06e1a4e33acd0c3d758fee20488173ab9d6e891ed2399498 files/freebsd-mk-defs-flex.patch 867
+MD5 7445037000ba2b0b89ea3e199ab83343 files/freebsd-mk-defs-gentoo.patch 7020
+RMD160 0629ec395dd76ad239a9b26647e6c59adeb24000 files/freebsd-mk-defs-gentoo.patch 7020
+SHA256 d9f52076836db3c9bea74f9190c6d709d74829b56382536ff6fd844fb1e1ece9 files/freebsd-mk-defs-gentoo.patch 7020
+MD5 788ecd10236fe4acc8ed424b7a86c65f files/sys.patch 685
+RMD160 f1523b2bf70b7451580dddb5ad383856d593387d files/sys.patch 685
+SHA256 85625b0617aa220ccb1015d181842b063ce5641f12e1952a36c17c5ce452763e files/sys.patch 685
+MD5 5a63ba9e6b720eb2def5353fd036ac63 freebsd-mk-defs-5.4-r1.ebuild 814
+RMD160 340e3da315745f0ef64b7e6e99846722624ab443 freebsd-mk-defs-5.4-r1.ebuild 814
+SHA256 00e0281366c2b8a291b2ef961059018508edef42e475d1142a22b87eecf8d4dc freebsd-mk-defs-5.4-r1.ebuild 814
+MD5 4a741b86a3989ba2a8228b4becc5818e freebsd-mk-defs-6.0.ebuild 685
+RMD160 cc164dd6f7b3dcb08a67b3d2bcd95bf6e5c55b37 freebsd-mk-defs-6.0.ebuild 685
+SHA256 ff0db2d3de5a2e6071d0077e7a3416c08d74cb74dcb6c7a9116fcc880e2fe5a5 freebsd-mk-defs-6.0.ebuild 685
diff --git a/sys-freebsd/freebsd-mk-defs/files/digest-freebsd-mk-defs-6.0 b/sys-freebsd/freebsd-mk-defs/files/digest-freebsd-mk-defs-6.0
new file mode 100644
index 000000000000..e6a72be686f1
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/files/digest-freebsd-mk-defs-6.0
@@ -0,0 +1 @@
+MD5 e6da34bbe65a9cb2031e0613ab46108c freebsd-share-6.0.tar.bz2 3719732
diff --git a/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-6.0-gentoo.patch b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-6.0-gentoo.patch
new file mode 100644
index 000000000000..43eb745e67db
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-6.0-gentoo.patch
@@ -0,0 +1,215 @@
+Index: freebsd-6.0/share/mk/bsd.doc.mk
+===================================================================
+--- freebsd-6.0.orig/share/mk/bsd.doc.mk
++++ freebsd-6.0/share/mk/bsd.doc.mk
+@@ -137,10 +137,12 @@ CLEANFILES+= ${DOC}.ascii ${DOC}.ascii${
+ realinstall:
+ .for _dev in ${PRINTERDEVICE:Mhtml}
+ cd ${SRCDIR}; \
++ ${INSTALL} -d ${DESTDIR}${BINDIR}/${VOLUME}
+ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${DOC}*.html ${DESTDIR}${BINDIR}/${VOLUME}
+ .endfor
+ .for _dev in ${PRINTERDEVICE:Nhtml}
++ ${INSTALL} -d ${DESTDIR}${BINDIR}/${VOLUME}
+ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${DFILE.${_dev}} ${DESTDIR}${BINDIR}/${VOLUME}
+ .endfor
+Index: freebsd-6.0/share/mk/bsd.files.mk
+===================================================================
+--- freebsd-6.0.orig/share/mk/bsd.files.mk
++++ freebsd-6.0/share/mk/bsd.files.mk
+@@ -39,6 +39,7 @@ ${group}NAME_${file:T}?= ${file:T}
+ .endif
+ installfiles: _${group}INS_${file:T}
+ _${group}INS_${file:T}: ${file}
++ ${INSTALL} -d ${DESTDIR}${${group}DIR_${.ALLSRC}}/${${group}NAME_${.ALLSRC:T}:H}
+ ${INSTALL} -o ${${group}OWN_${.ALLSRC:T}} \
+ -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
+ ${.ALLSRC} \
+@@ -51,10 +52,12 @@ _${group}FILES+= ${file}
+ installfiles: _${group}INS
+ _${group}INS: ${_${group}FILES}
+ .if defined(${group}NAME)
++ ${INSTALL} -d ${DESTDIR}${${group}DIR}/${${group}NAME}
+ ${INSTALL} -o ${${group}OWN} -g ${${group}GRP} \
+ -m ${${group}MODE} ${.ALLSRC} \
+ ${DESTDIR}${${group}DIR}/${${group}NAME}
+ .else
++ ${INSTALL} -d ${DESTDIR}${${group}DIR}
+ ${INSTALL} -o ${${group}OWN} -g ${${group}GRP} \
+ -m ${${group}MODE} ${.ALLSRC} ${DESTDIR}${${group}DIR}
+ .endif
+Index: freebsd-6.0/share/mk/bsd.incs.mk
+===================================================================
+--- freebsd-6.0.orig/share/mk/bsd.incs.mk
++++ freebsd-6.0/share/mk/bsd.incs.mk
+@@ -39,6 +39,10 @@ ${group}NAME_${header:T}?= ${header:T}
+ .endif
+ installincludes: _${group}INS_${header:T}
+ _${group}INS_${header:T}: ${header}
++
++ ${INSTALL} -d -o ${${group}OWN_${.ALLSRC:T}} \
++ -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
++ ${DESTDIR}${${group}DIR_${.ALLSRC:T}}/${${group}NAME_${.ALLSRC:T}}
+ ${INSTALL} -C -o ${${group}OWN_${.ALLSRC:T}} \
+ -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
+ ${.ALLSRC} \
+@@ -51,9 +55,11 @@ _${group}INCS+= ${header}
+ installincludes: _${group}INS
+ _${group}INS: ${_${group}INCS}
+ .if defined(${group}NAME)
++ ${INSTALL} -d ${DESTDIR}${${group}DIR}
+ ${INSTALL} -C -o ${${group}OWN} -g ${${group}GRP} -m ${${group}MODE} \
+ ${.ALLSRC} ${DESTDIR}${${group}DIR}/${${group}NAME}
+ .else
++ ${INSTALL} -d ${DESTDIR}${${group}DIR}
+ ${INSTALL} -C -o ${${group}OWN} -g ${${group}GRP} -m ${${group}MODE} \
+ ${.ALLSRC} ${DESTDIR}${${group}DIR}
+ .endif
+Index: freebsd-6.0/share/mk/bsd.info.mk
+===================================================================
+--- freebsd-6.0.orig/share/mk/bsd.info.mk
++++ freebsd-6.0/share/mk/bsd.info.mk
+@@ -85,6 +85,7 @@ INFO2HTML?= info2html
+ TEX?= tex
+ DVIPS?= dvips
+ DVIPS2ASCII?= dvips2ascii
++INSTALL?= install
+
+ .SUFFIXES: ${ICOMPRESS_EXT} .info .texi .texinfo .dvi .ps .latin1 .html
+
+@@ -145,6 +146,7 @@ ${x:S/$/${ICOMPRESS_EXT}/}: ${x}
+ .for x in ${INFO}
+ INSTALLINFODIRS+= ${x:S/$/-install/}
+ ${x:S/$/-install/}:
++ ${INSTALL} -d ${DESTDIR}${INFODIR}
+ ${INSTALLINFO} ${INSTALLINFOFLAGS} \
+ --defsection=${INFOSECTION} \
+ --defentry=${INFOENTRY_${x}} \
+Index: freebsd-6.0/share/mk/bsd.lib.mk
+===================================================================
+--- freebsd-6.0.orig/share/mk/bsd.lib.mk
++++ freebsd-6.0/share/mk/bsd.lib.mk
+@@ -208,14 +208,17 @@ realinstall: _libinstall
+ .ORDER: beforeinstall _libinstall
+ _libinstall:
+ .if defined(LIB) && !empty(LIB) && !defined(NO_INSTALLLIB)
++ ${INSTALL} -d ${DESTDIR}${LIBDIR}
+ ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} lib${LIB}.a ${DESTDIR}${LIBDIR}
+ .endif
+ .if !defined(NO_PROFILE) && defined(LIB) && !empty(LIB)
++ ${INSTALL} -d ${DESTDIR}${LIBDIR}
+ ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} lib${LIB}_p.a ${DESTDIR}${LIBDIR}
+ .endif
+ .if defined(SHLIB_NAME)
++ ${INSTALL} -d ${DESTDIR}${SHLIBDIR}
+ ${INSTALL} ${STRIP} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \
+ ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}
+Index: freebsd-6.0/share/mk/bsd.man.mk
+===================================================================
+--- freebsd-6.0.orig/share/mk/bsd.man.mk
++++ freebsd-6.0/share/mk/bsd.man.mk
+@@ -165,9 +165,11 @@ _maninstall: ${MAN}
+ .if defined(NO_MANCOMPRESS)
+ .if defined(MANFILTER)
+ .for page in ${MAN}
++ ${INSTALL} -d ${DESTDIR}${MANDIR}${page:E}${MANSUBDIR}/${page}
+ ${MINSTALL} ${page:T:S/$/${FILTEXTENSION}/g} \
+ ${DESTDIR}${MANDIR}${page:E}${MANSUBDIR}/${page}
+ .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
++ ${INSTALL} -d ${DESTDIR}${CATDIR}${page:E}${MANSUBDIR}/${page}
+ ${MINSTALL} ${page:T:S/$/${CATEXT}${FILTEXTENSION}/g} \
+ ${DESTDIR}${CATDIR}${page:E}${MANSUBDIR}/${page}
+ .endif
+@@ -186,6 +188,7 @@ _maninstall: ${MAN}
+ done
+ .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
+ .for page in ${MAN}
++ ${INSTALL} -d ${DESTDIR}${CATDIR}${page:E}${MANSUBDIR}/${page:T}
+ ${MINSTALL} ${page:T:S/$/${CATEXT}/} \
+ ${DESTDIR}${CATDIR}${page:E}${MANSUBDIR}/${page:T}
+ .endfor
+@@ -193,9 +196,11 @@ _maninstall: ${MAN}
+ .endif
+ .else
+ .for page in ${MAN}
++ ${INSTALL} -d ${DESTDIR}${MANDIR}${page:E}${MANSUBDIR}
+ ${MINSTALL} ${page:T:S/$/${MCOMPRESS_EXT}/g} \
+ ${DESTDIR}${MANDIR}${page:E}${MANSUBDIR}
+ .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
++ ${INSTALL} -d ${DESTDIR}${CATDIR}${page:E}${MANSUBDIR}/${page:T:S/$/${MCOMPRESS_EXT}/}
+ ${MINSTALL} ${page:T:S/$/${CATEXT}${MCOMPRESS_EXT}/g} \
+ ${DESTDIR}${CATDIR}${page:E}${MANSUBDIR}/${page:T:S/$/${MCOMPRESS_EXT}/}
+ .endif
+Index: freebsd-6.0/share/mk/bsd.prog.mk
+===================================================================
+--- freebsd-6.0.orig/share/mk/bsd.prog.mk
++++ freebsd-6.0/share/mk/bsd.prog.mk
+@@ -133,9 +133,11 @@ realinstall: _proginstall
+ _proginstall:
+ .if defined(PROG)
+ .if defined(PROGNAME)
++ ${INSTALL} -d ${DESTDIR}${BINDIR}
+ ${INSTALL} ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${_INSTALLFLAGS} ${PROG} ${DESTDIR}${BINDIR}/${PROGNAME}
+ .else
++ ${INSTALL} -d ${DESTDIR}${BINDIR}
+ ${INSTALL} ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${_INSTALLFLAGS} ${PROG} ${DESTDIR}${BINDIR}
+ .endif
+@@ -163,6 +165,7 @@ SCRIPTSGRP_${script:T}?= ${SCRIPTSGRP}
+ SCRIPTSMODE_${script:T}?= ${SCRIPTSMODE}
+ _scriptsinstall: _SCRIPTSINS_${script:T}
+ _SCRIPTSINS_${script:T}: ${script}
++ ${INSTALL} -d ${DESTDIR}${SCRIPTSDIR_${.ALLSRC:T}}
+ ${INSTALL} -o ${SCRIPTSOWN_${.ALLSRC:T}} \
+ -g ${SCRIPTSGRP_${.ALLSRC:T}} -m ${SCRIPTSMODE_${.ALLSRC:T}} \
+ ${.ALLSRC} \
+Index: freebsd-6.0/share/mk/sys.mk
+===================================================================
+--- freebsd-6.0.orig/share/mk/sys.mk
++++ freebsd-6.0/share/mk/sys.mk
+@@ -19,7 +19,7 @@ unix ?= We run FreeBSD, not UNIX.
+ .SUFFIXES: .out .a .ln .o .c .cc .cpp .cxx .C .m .F .f .e .r .y .l .S .asm .s .cl .p .h .sh
+ .endif
+
+-X11BASE ?= /usr/X11R6
++X11BASE ?= /usr
+
+ AR ?= ar
+ .if defined(%POSIX)
+@@ -34,13 +34,13 @@ AFLAGS ?=
+
+ .if defined(%POSIX)
+ CC ?= c89
+-CFLAGS ?= -O
++CFLAGS ?=
+ .else
+-CC ?= cc
+-CFLAGS ?= -O2 -fno-strict-aliasing -pipe
++CC ?= gcc
++CFLAGS ?= -pipe
+ .endif
+
+-CXX ?= c++
++CXX ?= g++
+ CXXFLAGS ?= ${CFLAGS:N-std=*:N-Wnested-externs:N-W*-prototypes}
+
+ CPP ?= cpp
+@@ -259,12 +259,6 @@ MACHINE_ARCH ?= i386
+ ${CC} ${CFLAGS} ${LDFLAGS} ${.PREFIX}.tmp.c ${LDLIBS} -ll -o ${.TARGET}
+ rm -f ${.PREFIX}.tmp.c
+
+-# FreeBSD build pollution. Hide it in the non-POSIX part of the ifdef.
+-__MAKE_CONF?=/etc/make.conf
+-.if exists(${__MAKE_CONF})
+-.include "${__MAKE_CONF}"
+-.endif
+-
+ # Default executable format
+ # XXX hint for bsd.port.mk
+ OBJFORMAT?= elf
diff --git a/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-6.0-strip.patch b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-6.0-strip.patch
new file mode 100644
index 000000000000..2ed1b138730b
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-6.0-strip.patch
@@ -0,0 +1,47 @@
+Index: fbsd-6/share/mk/bsd.lib.mk
+===================================================================
+--- fbsd-6.orig/share/mk/bsd.lib.mk
++++ fbsd-6/share/mk/bsd.lib.mk
+@@ -32,10 +32,6 @@ CFLAGS+= ${CRUNCH_CFLAGS}
+ CFLAGS+= ${DEBUG_FLAGS}
+ .endif
+
+-.if !defined(DEBUG_FLAGS)
+-STRIP?= -s
+-.endif
+-
+ .include <bsd.libnames.mk>
+
+ # prefer .s to a .c, add .po, remove stuff not used in the BSD libraries
+Index: fbsd-6/share/mk/bsd.own.mk
+===================================================================
+--- fbsd-6.orig/share/mk/bsd.own.mk
++++ fbsd-6/share/mk/bsd.own.mk
+@@ -157,10 +157,8 @@ NLSMODE?= ${NOBINMODE}
+
+ INCLUDEDIR?= /usr/include
+
+-# Common variables
+-.if !defined(DEBUG_FLAGS)
+-STRIP?= -s
+-.endif
++# Don't strip things with install command, leave that to portage
++STRIP=
+
+ COMPRESS_CMD?= gzip -cn
+ COMPRESS_EXT?= .gz
+Index: fbsd-6/share/mk/bsd.prog.mk
+===================================================================
+--- fbsd-6.orig/share/mk/bsd.prog.mk
++++ fbsd-6/share/mk/bsd.prog.mk
+@@ -18,10 +18,6 @@ CFLAGS+=${DEBUG_FLAGS}
+ CFLAGS+=${CRUNCH_CFLAGS}
+ .endif
+
+-.if !defined(DEBUG_FLAGS)
+-STRIP?= -s
+-.endif
+-
+ .if defined(NO_SHARED) && (${NO_SHARED} != "no" && ${NO_SHARED} != "NO")
+ LDFLAGS+= -static
+ .endif
diff --git a/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-flex.patch b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-flex.patch
new file mode 100644
index 000000000000..2ca4d038bd3e
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-flex.patch
@@ -0,0 +1,21 @@
+diff -ur -x '*~' share/mk/bsd.libnames.mk share-flex/mk/bsd.libnames.mk
+--- share/mk/bsd.libnames.mk 2004-11-28 15:10:18.000000000 +0100
++++ share-flex/mk/bsd.libnames.mk 2005-07-10 01:45:38.009094320 +0200
+@@ -39,7 +39,7 @@
+ LIBDNS?= ${DESTDIR}${LIBDIR}/libdns.a
+ LIBEDIT?= ${DESTDIR}${LIBDIR}/libedit.a
+ LIBFETCH?= ${DESTDIR}${LIBDIR}/libfetch.a
+-LIBFL?= "don't use LIBFL, use LIBL"
++LIBFL?= ${DESTDIR}${LIBDOR}/libfl.a
+ LIBFORM?= ${DESTDIR}${LIBDIR}/libform.a
+ LIBFTPIO?= ${DESTDIR}${LIBDIR}/libftpio.a
+ LIBG2C?= ${DESTDIR}${LIBDIR}/libg2c.a
+@@ -64,7 +64,7 @@
+ LIBKICONV?= ${DESTDIR}${LIBDIR}/libkiconv.a
+ LIBKRB5?= ${DESTDIR}${LIBDIR}/libkrb5.a
+ LIBKVM?= ${DESTDIR}${LIBDIR}/libkvm.a
+-LIBL?= ${DESTDIR}${LIBDIR}/libl.a
++LIBL?= ${DESTDIR}${LIBDOR}/libfl.a
+ LIBLN?= "don't use LIBLN, use LIBL"
+ .if !defined(NO_BIND)
+ LIBLWRES?= ${DESTDIR}${LIBDIR}/liblwres.a
diff --git a/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-gentoo.patch b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-gentoo.patch
new file mode 100644
index 000000000000..5d5235eb0097
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/files/freebsd-mk-defs-gentoo.patch
@@ -0,0 +1,189 @@
+diff -ur share.orig/mk/bsd.doc.mk share/mk/bsd.doc.mk
+--- share.orig/mk/bsd.doc.mk Thu Apr 7 12:01:25 2005
++++ share/mk/bsd.doc.mk Thu Apr 7 12:00:13 2005
+@@ -137,10 +137,12 @@
+ realinstall:
+ .for _dev in ${PRINTERDEVICE:Mhtml}
+ cd ${SRCDIR}; \
++ ${INSTALL} -d ${DESTDIR}${BINDIR}/${VOLUME}
+ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${DOC}*.html ${DESTDIR}${BINDIR}/${VOLUME}
+ .endfor
+ .for _dev in ${PRINTERDEVICE:Nhtml}
++ ${INSTALL} -d ${DESTDIR}${BINDIR}/${VOLUME}
+ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${DFILE.${_dev}} ${DESTDIR}${BINDIR}/${VOLUME}
+ .endfor
+diff -ur share.orig/mk/bsd.files.mk share/mk/bsd.files.mk
+--- share.orig/mk/bsd.files.mk Thu Apr 7 12:01:25 2005
++++ share/mk/bsd.files.mk Thu Apr 7 12:00:34 2005
+@@ -39,6 +39,7 @@
+ .endif
+ installfiles: _${group}INS_${file:T}
+ _${group}INS_${file:T}: ${file}
++ ${INSTALL} -d ${DESTDIR}${${group}DIR_${.ALLSRC}}/${${group}NAME_${.ALLSRC:T}:H}
+ ${INSTALL} -o ${${group}OWN_${.ALLSRC:T}} \
+ -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
+ ${.ALLSRC} \
+@@ -51,10 +52,12 @@
+ installfiles: _${group}INS
+ _${group}INS: ${_${group}FILES}
+ .if defined(${group}NAME)
++ ${INSTALL} -d ${DESTDIR}${${group}DIR}/${${group}NAME}
+ ${INSTALL} -o ${${group}OWN} -g ${${group}GRP} \
+ -m ${${group}MODE} ${.ALLSRC} \
+ ${DESTDIR}${${group}DIR}/${${group}NAME}
+ .else
++ ${INSTALL} -d ${DESTDIR}${${group}DIR}
+ ${INSTALL} -o ${${group}OWN} -g ${${group}GRP} \
+ -m ${${group}MODE} ${.ALLSRC} ${DESTDIR}${${group}DIR}
+ .endif
+diff -ur share.orig/mk/bsd.incs.mk share/mk/bsd.incs.mk
+--- share.orig/mk/bsd.incs.mk Thu Apr 7 12:01:25 2005
++++ share/mk/bsd.incs.mk Thu Apr 7 12:00:40 2005
+@@ -39,6 +39,10 @@
+ .endif
+ installincludes: _${group}INS_${header:T}
+ _${group}INS_${header:T}: ${header}
++
++ ${INSTALL} -d -o ${${group}OWN_${.ALLSRC:T}} \
++ -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
++ ${DESTDIR}${${group}DIR_${.ALLSRC:T}}/${${group}NAME_${.ALLSRC:T}}
+ ${INSTALL} -C -o ${${group}OWN_${.ALLSRC:T}} \
+ -g ${${group}GRP_${.ALLSRC:T}} -m ${${group}MODE_${.ALLSRC:T}} \
+ ${.ALLSRC} \
+@@ -51,9 +55,11 @@
+ installincludes: _${group}INS
+ _${group}INS: ${_${group}INCS}
+ .if defined(${group}NAME)
++ ${INSTALL} -d ${DESTDIR}${${group}DIR}
+ ${INSTALL} -C -o ${${group}OWN} -g ${${group}GRP} -m ${${group}MODE} \
+ ${.ALLSRC} ${DESTDIR}${${group}DIR}/${${group}NAME}
+ .else
++ ${INSTALL} -d ${DESTDIR}${${group}DIR}
+ ${INSTALL} -C -o ${${group}OWN} -g ${${group}GRP} -m ${${group}MODE} \
+ ${.ALLSRC} ${DESTDIR}${${group}DIR}
+ .endif
+diff -ur share.orig/mk/bsd.info.mk share/mk/bsd.info.mk
+--- share.orig/mk/bsd.info.mk Thu Apr 7 12:01:25 2005
++++ share/mk/bsd.info.mk Thu Apr 7 12:00:44 2005
+@@ -85,6 +85,7 @@
+ TEX?= tex
+ DVIPS?= dvips
+ DVIPS2ASCII?= dvips2ascii
++INSTALL?= install
+
+ .SUFFIXES: ${ICOMPRESS_EXT} .info .texi .texinfo .dvi .ps .latin1 .html
+
+@@ -145,6 +146,7 @@
+ .for x in ${INFO}
+ INSTALLINFODIRS+= ${x:S/$/-install/}
+ ${x:S/$/-install/}:
++ ${INSTALL} -d ${DESTDIR}${INFODIR}
+ ${INSTALLINFO} ${INSTALLINFOFLAGS} \
+ --defsection=${INFOSECTION} \
+ --defentry=${INFOENTRY_${x}} \
+diff -ur share.orig/mk/bsd.lib.mk share/mk/bsd.lib.mk
+--- share.orig/mk/bsd.lib.mk Thu Apr 7 12:01:25 2005
++++ share/mk/bsd.lib.mk Thu Apr 7 12:00:49 2005
+@@ -208,14 +208,17 @@
+ .ORDER: beforeinstall _libinstall
+ _libinstall:
+ .if defined(LIB) && !empty(LIB) && !defined(NOINSTALLLIB)
++ ${INSTALL} -d ${DESTDIR}${LIBDIR}
+ ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} lib${LIB}.a ${DESTDIR}${LIBDIR}
+ .endif
+ .if !defined(NOPROFILE) && defined(LIB) && !empty(LIB)
++ ${INSTALL} -d ${DESTDIR}${LIBDIR}
+ ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} lib${LIB}_p.a ${DESTDIR}${LIBDIR}
+ .endif
+ .if defined(SHLIB_NAME)
++ ${INSTALL} -d ${DESTDIR}${SHLIBDIR}
+ ${INSTALL} ${STRIP} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
+ ${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \
+ ${SHLIB_NAME} ${DESTDIR}${SHLIBDIR}
+diff -ur share.orig/mk/bsd.man.mk share/mk/bsd.man.mk
+--- share.orig/mk/bsd.man.mk Thu Apr 7 12:01:25 2005
++++ share/mk/bsd.man.mk Thu Apr 7 12:00:52 2005
+@@ -165,9 +165,11 @@
+ .if defined(NOMANCOMPRESS)
+ .if defined(MANFILTER)
+ .for page in ${MAN}
++ ${INSTALL} -d ${DESTDIR}${MANDIR}${page:E}${MANSUBDIR}/${page}
+ ${MINSTALL} ${page:T:S/$/${FILTEXTENSION}/g} \
+ ${DESTDIR}${MANDIR}${page:E}${MANSUBDIR}/${page}
+ .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
++ ${INSTALL} -d ${DESTDIR}${CATDIR}${page:E}${MANSUBDIR}/${page}
+ ${MINSTALL} ${page:T:S/$/${CATEXT}${FILTEXTENSION}/g} \
+ ${DESTDIR}${CATDIR}${page:E}${MANSUBDIR}/${page}
+ .endif
+@@ -186,6 +188,7 @@
+ done
+ .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
+ .for page in ${MAN}
++ ${INSTALL} -d ${DESTDIR}${CATDIR}${page:E}${MANSUBDIR}/${page:T}
+ ${MINSTALL} ${page:T:S/$/${CATEXT}/} \
+ ${DESTDIR}${CATDIR}${page:E}${MANSUBDIR}/${page:T}
+ .endfor
+@@ -193,9 +196,11 @@
+ .endif
+ .else
+ .for page in ${MAN}
++ ${INSTALL} -d ${DESTDIR}${MANDIR}${page:E}${MANSUBDIR}
+ ${MINSTALL} ${page:T:S/$/${MCOMPRESS_EXT}/g} \
+ ${DESTDIR}${MANDIR}${page:E}${MANSUBDIR}
+ .if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
++ ${INSTALL} -d ${DESTDIR}${CATDIR}${page:E}${MANSUBDIR}/${page:T:S/$/${MCOMPRESS_EXT}/}
+ ${MINSTALL} ${page:T:S/$/${CATEXT}${MCOMPRESS_EXT}/g} \
+ ${DESTDIR}${CATDIR}${page:E}${MANSUBDIR}/${page:T:S/$/${MCOMPRESS_EXT}/}
+ .endif
+diff -ur share.orig/mk/bsd.prog.mk share/mk/bsd.prog.mk
+--- share.orig/mk/bsd.prog.mk Thu Apr 7 12:01:25 2005
++++ share/mk/bsd.prog.mk Thu Apr 7 12:00:55 2005
+@@ -126,9 +126,11 @@
+ _proginstall:
+ .if defined(PROG)
+ .if defined(PROGNAME)
++ ${INSTALL} -d ${DESTDIR}${BINDIR}
+ ${INSTALL} ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${_INSTALLFLAGS} ${PROG} ${DESTDIR}${BINDIR}/${PROGNAME}
+ .else
++ ${INSTALL} -d ${DESTDIR}${BINDIR}
+ ${INSTALL} ${STRIP} -o ${BINOWN} -g ${BINGRP} -m ${BINMODE} \
+ ${_INSTALLFLAGS} ${PROG} ${DESTDIR}${BINDIR}
+ .endif
+@@ -156,6 +158,7 @@
+ SCRIPTSMODE_${script:T}?= ${SCRIPTSMODE}
+ _scriptsinstall: _SCRIPTSINS_${script:T}
+ _SCRIPTSINS_${script:T}: ${script}
++ ${INSTALL} -d ${DESTDIR}${SCRIPTSDIR_${.ALLSRC:T}}
+ ${INSTALL} -o ${SCRIPTSOWN_${.ALLSRC:T}} \
+ -g ${SCRIPTSGRP_${.ALLSRC:T}} -m ${SCRIPTSMODE_${.ALLSRC:T}} \
+ ${.ALLSRC} \
+diff -ur share.orig/mk/sys.mk share/mk/sys.mk
+--- share.orig/mk/sys.mk Thu Apr 7 12:01:25 2005
++++ share/mk/sys.mk Thu Apr 7 12:02:06 2005
+@@ -37,7 +37,7 @@
+ CFLAGS ?= -O
+ .else
+ CC ?= cc
+-CFLAGS ?= -O -pipe
++CFLAGS += -pipe
+ .endif
+
+ CXX ?= c++
+@@ -258,12 +258,6 @@
+ ${LEX} -t ${LFLAGS} ${.IMPSRC} > ${.PREFIX}.tmp.c
+ ${CC} ${CFLAGS} ${LDFLAGS} ${.PREFIX}.tmp.c ${LDLIBS} -ll -o ${.TARGET}
+ rm -f ${.PREFIX}.tmp.c
+-
+-# FreeBSD build pollution. Hide it in the non-POSIX part of the ifdef.
+-__MAKE_CONF?=/etc/make.conf
+-.if exists(${__MAKE_CONF})
+-.include "${__MAKE_CONF}"
+-.endif
+
+ # Default executable format
+ # XXX hint for bsd.port.mk
diff --git a/sys-freebsd/freebsd-mk-defs/files/sys.patch b/sys-freebsd/freebsd-mk-defs/files/sys.patch
new file mode 100644
index 000000000000..051d7c40eed4
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/files/sys.patch
@@ -0,0 +1,28 @@
+--- sys.mk.orig Wed Oct 20 15:05:43 2004
++++ sys.mk Wed Oct 20 16:45:42 2004
+@@ -253,17 +253,17 @@
+
+ .endif
+
+-__MAKE_CONF?=/etc/make.conf
+-.if exists(${__MAKE_CONF})
+-.include "${__MAKE_CONF}"
+-.endif
++#__MAKE_CONF?=/etc/make.conf
++#.if exists(${__MAKE_CONF})
++#.include "${__MAKE_CONF}"
++#.endif
+
+ .include <bsd.cpu.mk>
+
+-.if exists(/etc/make.conf.local)
+-.error Error, /etc/make.conf.local should be renamed to /etc/make.conf.
+-.include </etc/make.conf.local>
+-.endif
++#.if exists(/etc/make.conf.local)
++#.error Error, /etc/make.conf.local should be renamed to /etc/make.conf.
++#.include </etc/make.conf.local>
++#.endif
+
+ # Default executable format
+ # XXX hint for bsd.port.mk
diff --git a/sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-6.0.ebuild b/sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-6.0.ebuild
new file mode 100644
index 000000000000..fa28826983be
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-6.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-mk-defs/freebsd-mk-defs-6.0.ebuild,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+inherit bsdmk freebsd
+
+DESCRIPTION="Makefiles definitions used for building and installing libraries and system files"
+SLOT="0"
+KEYWORDS="~x86-fbsd"
+
+IUSE=""
+
+SRC_URI="mirror://gentoo/${SHARE}.tar.bz2"
+
+RDEPEND=""
+DEPEND=""
+
+RESTRICT="nostrip"
+
+S="${WORKDIR}/share/mk"
+
+src_unpack() {
+ unpack ${A}
+ cd ${WORKDIR}/share
+ epatch "${FILESDIR}/${PN}-${RV}-gentoo.patch"
+ epatch "${FILESDIR}/${PN}-flex.patch"
+ epatch "${FILESDIR}/${PN}-${RV}-strip.patch"
+}
+
+src_compile() {
+ einfo "Nothing to compile"
+}
+
+src_install() {
+ insinto /usr/share/mk
+ doins *.mk
+}
diff --git a/sys-freebsd/freebsd-mk-defs/metadata.xml b/sys-freebsd/freebsd-mk-defs/metadata.xml
new file mode 100644
index 000000000000..ecedda4aa2cc
--- /dev/null
+++ b/sys-freebsd/freebsd-mk-defs/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>bsd</herd>
+</pkgmetadata>
diff --git a/sys-freebsd/freebsd-pam-modules/ChangeLog b/sys-freebsd/freebsd-pam-modules/ChangeLog
new file mode 100644
index 000000000000..e579e7efbfd6
--- /dev/null
+++ b/sys-freebsd/freebsd-pam-modules/ChangeLog
@@ -0,0 +1,49 @@
+# ChangeLog for sys-libs/freebsd-pam-modules
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-pam-modules/ChangeLog,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+*freebsd-pam-modules-6.0 (01 Apr 2006)
+
+ 01 Apr 2006; Diego Pettenò <flameeyes@gentoo.org> +files/5.4/README.pamd,
+ +files/5.4/pam.d/other, +files/freebsd-pam-modules-6.0-gentoo.patch,
+ +files/5.4/convert.pl, +files/5.4/pam.d/system,
+ +files/5.4/pam.d/system-auth, +files/freebsd-pam-modules-gentoo.patch,
+ +metadata.xml, +freebsd-pam-modules-6.0.ebuild:
+ Import into portage.
+
+ 25 Aug 2005; Diego Pettenò <flameeyes@gentoo.org> +files/5.4/README.pamd,
+ +files/5.4/convert.pl, +files/5.4/pam.d/other, +files/5.4/pam.d/system,
+ +files/5.4/pam.d/system-auth, +files/freebsd-pam-modules-gentoo.patch,
+ +freebsd-pam-modules-5.4-r2.ebuild:
+ Moved to sys-freebsd.
+
+*freebsd-pam-modules-5.4-r2 (04 Jun 2005)
+
+ 04 Jun 2005; Diego Pettenò <flameeyes@gentoo.org>
+ -files/freebsd-lib-fixmakefiles.patch,
+ +files/freebsd-pam-modules-gentoo.patch,
+ +files/freebsd-pam-modules-minimal.patch,
+ +files/freebsd-pam-modules-nopasswdqc.patch,
+ -freebsd-pam-modules-5.4-r1.ebuild, +freebsd-pam-modules-5.4-r2.ebuild:
+ Install modules in /lib/security as with Linux-PAM. Remove static version
+ building. Use sys-libs/openpam as pam library instead of its own. Removed
+ pam_deny, pam_permit (in sys-libs/openpam) and pam_passwdqc (in
+ sys-libs/pam_passwdqc).
+
+*freebsd-pam-modules-5.4-r1 (23 May 2005)
+
+ 23 May 2005; Diego Pettenò <flameeyes@gentoo.org> +files/5.4/README.pamd,
+ +files/5.4/pam.d/other, +files/5.4/convert.pl, +files/5.4/pam.d/system,
+ +files/5.4/pam.d/system-auth, -freebsd-pam-modules-5.4.ebuild,
+ +freebsd-pam-modules-5.4-r1.ebuild:
+ New revision, this time installs correctly (pamd, not envd). Pam.d files are
+ in $FILESDIR instead than in an external tarball, as they are quite less
+ than before.
+
+*freebsd-pam-modules-5.4_rc3-r1 (03 May 2005)
+
+ 03 May 2005; Diego Pettenò <flameeyes@gentoo.org>
+ -freebsd-pam-modules-5.4_rc3.ebuild,
+ +freebsd-pam-modules-5.4_rc3-r1.ebuild:
+ New revision which installs pam configuration files.
+
diff --git a/sys-freebsd/freebsd-pam-modules/Manifest b/sys-freebsd/freebsd-pam-modules/Manifest
new file mode 100644
index 000000000000..810764ccc3b0
--- /dev/null
+++ b/sys-freebsd/freebsd-pam-modules/Manifest
@@ -0,0 +1,12 @@
+MD5 de11be640898be74c69b7e6c6e00a891 ChangeLog 1708
+MD5 6e97cbb5d729a28caa5b9d8d1851911e files/5.4/README.pamd 2850
+MD5 11767fceb6dc55feb0cff0313650d1f9 files/5.4/convert.pl 2917
+MD5 bd73f921baba5d84f99f6af4e20f2467 files/5.4/pam.d/other 601
+MD5 b8449a690b8b4244468ca42721a72a94 files/5.4/pam.d/system 637
+MD5 cebc1e9de646e1d837b843d6b1403613 files/5.4/pam.d/system-auth 216
+MD5 70851c3a5ffbd56ad9cf7aed1ef22002 files/digest-freebsd-pam-modules-5.4-r2 70
+MD5 65c3fc558193ce05d15ad2a90b00be9e files/digest-freebsd-pam-modules-6.0 69
+MD5 252ec73a62c30ee7a502aab5f4ed4c3b files/freebsd-pam-modules-6.0-gentoo.patch 701
+MD5 2e725ceadd91835dd1eb82d1ec6430cb files/freebsd-pam-modules-gentoo.patch 831
+MD5 0d0da13b574e4f3f692d0a5058fd2c61 freebsd-pam-modules-5.4-r2.ebuild 1222
+MD5 bef9c512c6ac0fcf5acdca8341daca27 freebsd-pam-modules-6.0.ebuild 1234
diff --git a/sys-freebsd/freebsd-pam-modules/files/5.4/README.pamd b/sys-freebsd/freebsd-pam-modules/files/5.4/README.pamd
new file mode 100644
index 000000000000..4bd2176c6676
--- /dev/null
+++ b/sys-freebsd/freebsd-pam-modules/files/5.4/README.pamd
@@ -0,0 +1,63 @@
+/etc/pam.d
+
+This directory contains configuration files for the Pluggable
+Authentication Modules (PAM) library.
+
+Each file details the module chain for a single service, and must be
+named after that service. If no configuration file is found for a
+particular service, the /etc/pam.d/other is used instead. If that
+file does not exist, /etc/pam.conf is searched for entries matching
+the specified service or, failing that, the "other" service.
+
+See the pam(8) manual page for an explanation of the workings of the
+PAM library and descriptions of the various files and modules. Below
+is a summary of the format for the pam.conf and /etc/pam.d/* files.
+
+Configuration lines take the following form:
+
+module-type control-flag module-path arguments
+
+Comments are introduced with a hash mark ('#'). Blank lines and lines
+consisting entirely of comments are ignored.
+
+The meanings of the different fields are as follows:
+
+ module-type:
+ auth: prompt for a password to authenticate that the user is
+ who they say they are, and set any credentials.
+ account: non-authentication based authorization, based on time,
+ resources, etc.
+ session: housekeeping before and/or after login.
+ password: update authentication tokens.
+
+ control-flag: How libpam handles success or failure of the module.
+ required: success is required; on failure all remaining
+ modules are run, but the request will be denied.
+ requisite: success is required, and on failure no remaining
+ modules are run.
+ sufficient: success is sufficient, and if no previous required
+ module failed, no remaining modules are run.
+ binding: success is sufficient; on failure all remaining
+ modules are run, but the request will be denied.
+ optional: ignored unless the other modules return PAM_IGNORE.
+
+ arguments: Module-specific options, plus some generic ones:
+ debug: syslog debug info.
+ no_warn: return no warning messages to the application.
+ Remove this to feed back to the user the
+ reason(s) they are being rejected.
+ use_first_pass: try authentication using password from the
+ preceding auth module.
+ try_first_pass: first try authentication using password from
+ the preceding auth module, and if that fails
+ prompt for a new password.
+ use_mapped_pass: convert cleartext password to a crypto key.
+ expose_account: allow printing more info about the user when
+ prompting.
+
+Note that having a "sufficient" module as the last entry for a
+particular service and module type may result in surprising behaviour.
+To get the intended semantics, add a "required" entry listing the
+pam_deny module at the end of the chain.
+
+$Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-pam-modules/files/5.4/README.pamd,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
diff --git a/sys-freebsd/freebsd-pam-modules/files/5.4/convert.pl b/sys-freebsd/freebsd-pam-modules/files/5.4/convert.pl
new file mode 100644
index 000000000000..42a061e2fe1d
--- /dev/null
+++ b/sys-freebsd/freebsd-pam-modules/files/5.4/convert.pl
@@ -0,0 +1,87 @@
+#!/usr/bin/perl -w
+#-
+# Copyright (c) 2001,2002 Networks Associates Technologies, Inc.
+# All rights reserved.
+#
+# This software was developed for the FreeBSD Project by ThinkSec AS and
+# NAI Labs, the Security Research Division of Network Associates, Inc.
+# under DARPA/SPAWAR contract N66001-01-C-8035 ("CBOSS"), as part of the
+# DARPA CHATS research program.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# 3. The name of the author may not be used to endorse or promote
+# products derived from this software without specific prior written
+# permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-pam-modules/files/5.4/convert.pl,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+#
+
+use strict;
+use Fcntl;
+use vars qw(%SERVICES);
+
+MAIN:{
+ my $line;
+ my $service;
+ my $version;
+ my $type;
+ local *FILE;
+
+ while (<>) {
+ chomp();
+ s/\s*$//;
+ next unless m/^(\#*)(\w+)\s+(auth|account|session|password)\s+(\S.*)$/;
+ $line = $1.$3;
+ $line .= "\t" x ((16 - length($line) + 7) / 8);
+ $line .= $4;
+ push(@{$SERVICES{$2}->{$3}}, $line);
+ }
+
+ foreach $service (keys(%SERVICES)) {
+ $version = '$' . 'FreeBSD' . '$';
+ if (sysopen(FILE, $service, O_RDONLY)) {
+ while (<FILE>) {
+ next unless (m/(\$[F]reeBSD.*?\$)/);
+ $version = $1;
+ last;
+ }
+ close(FILE);
+ }
+ sysopen(FILE, $service, O_RDWR|O_CREAT|O_TRUNC)
+ or die("$service: $!\n");
+ print(FILE "#\n");
+ print(FILE "# $version\n");
+ print(FILE "#\n");
+ print(FILE "# PAM configuration for the \"$service\" service\n");
+ print(FILE "#\n");
+ foreach $type (qw(auth account session password)) {
+ next unless exists($SERVICES{$service}->{$type});
+ print(FILE "\n");
+ print(FILE "# $type\n");
+ print(FILE join("\n", @{$SERVICES{$service}->{$type}}, ""));
+ }
+ close(FILE);
+ warn("$service\n");
+ }
+
+ exit(0);
+}
diff --git a/sys-freebsd/freebsd-pam-modules/files/5.4/pam.d/other b/sys-freebsd/freebsd-pam-modules/files/5.4/pam.d/other
new file mode 100644
index 000000000000..5b6170e578be
--- /dev/null
+++ b/sys-freebsd/freebsd-pam-modules/files/5.4/pam.d/other
@@ -0,0 +1,25 @@
+#
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-pam-modules/files/5.4/pam.d/other,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+#
+# PAM configuration for the "other" service
+#
+
+# auth
+auth required pam_nologin.so no_warn
+auth sufficient pam_opie.so no_warn no_fake_prompts
+auth requisite pam_opieaccess.so no_warn allow_local
+#auth sufficient pam_krb5.so no_warn try_first_pass
+#auth sufficient pam_ssh.so no_warn try_first_pass
+auth required pam_unix.so no_warn try_first_pass
+
+# account
+#account required pam_krb5.so
+account required pam_login_access.so
+account required pam_unix.so
+
+# session
+#session optional pam_ssh.so
+session required pam_permit.so
+
+# password
+password required pam_permit.so
diff --git a/sys-freebsd/freebsd-pam-modules/files/5.4/pam.d/system b/sys-freebsd/freebsd-pam-modules/files/5.4/pam.d/system
new file mode 100644
index 000000000000..5c28c2a10df1
--- /dev/null
+++ b/sys-freebsd/freebsd-pam-modules/files/5.4/pam.d/system
@@ -0,0 +1,25 @@
+#
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-pam-modules/files/5.4/pam.d/system,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+#
+# System-wide defaults
+#
+
+# auth
+auth sufficient pam_opie.so no_warn no_fake_prompts
+auth requisite pam_opieaccess.so no_warn allow_local
+#auth sufficient pam_krb5.so no_warn try_first_pass
+#auth sufficient pam_ssh.so no_warn try_first_pass
+auth required pam_unix.so no_warn try_first_pass nullok
+
+# account
+#account required pam_krb5.so
+account required pam_login_access.so
+account required pam_unix.so
+
+# session
+#session optional pam_ssh.so
+session required pam_lastlog.so no_fail
+
+# password
+#password sufficient pam_krb5.so no_warn try_first_pass
+password required pam_unix.so no_warn try_first_pass
diff --git a/sys-freebsd/freebsd-pam-modules/files/5.4/pam.d/system-auth b/sys-freebsd/freebsd-pam-modules/files/5.4/pam.d/system-auth
new file mode 100644
index 000000000000..5f19bffea642
--- /dev/null
+++ b/sys-freebsd/freebsd-pam-modules/files/5.4/pam.d/system-auth
@@ -0,0 +1,9 @@
+# Copyright 2005 Gentoo Foundation.
+# Distributed under the terms of the GNU General Public License v2
+# $ Header: $
+
+auth include system
+account include system
+session include system
+password include system
+
diff --git a/sys-freebsd/freebsd-pam-modules/files/digest-freebsd-pam-modules-6.0 b/sys-freebsd/freebsd-pam-modules/files/digest-freebsd-pam-modules-6.0
new file mode 100644
index 000000000000..4bc16d14aa9c
--- /dev/null
+++ b/sys-freebsd/freebsd-pam-modules/files/digest-freebsd-pam-modules-6.0
@@ -0,0 +1 @@
+MD5 3888da5da1cb329a65a3ac9d316f99ea freebsd-lib-6.0.tar.bz2 2613087
diff --git a/sys-freebsd/freebsd-pam-modules/files/freebsd-pam-modules-6.0-gentoo.patch b/sys-freebsd/freebsd-pam-modules/files/freebsd-pam-modules-6.0-gentoo.patch
new file mode 100644
index 000000000000..ce1a7fbff8c6
--- /dev/null
+++ b/sys-freebsd/freebsd-pam-modules/files/freebsd-pam-modules-6.0-gentoo.patch
@@ -0,0 +1,24 @@
+Index: fbsd-6.0/lib/libpam/modules/Makefile.inc
+===================================================================
+--- fbsd-6.0.orig/lib/libpam/modules/Makefile.inc
++++ fbsd-6.0/lib/libpam/modules/Makefile.inc
+@@ -5,18 +5,10 @@ PAMDIR= ${.CURDIR}/../../../../contrib/
+ NO_INSTALLLIB=
+ NO_PROFILE=
+
+-CFLAGS+= -I${PAMDIR}/include -I${.CURDIR}/../../libpam
++CFLAGS+= -I${.CURDIR}/../../libpam
+ WARNS?= 4
+
+-# This is nasty.
+-# For the static case, libpam.a depends on the modules.
+-# For the dynamic case, the modules depend on libpam.so.N
+-.if defined(_NO_LIBPAM_SO_YET)
+-NO_PIC=
+-.else
+ SHLIB_NAME?= ${LIB}.so.${SHLIB_MAJOR}
+-DPADD+= ${LIBPAM}
+ LDADD+= -lpam
+-.endif
+
+ .include "../Makefile.inc"
diff --git a/sys-freebsd/freebsd-pam-modules/files/freebsd-pam-modules-gentoo.patch b/sys-freebsd/freebsd-pam-modules/files/freebsd-pam-modules-gentoo.patch
new file mode 100644
index 000000000000..a20a0f4c3cfc
--- /dev/null
+++ b/sys-freebsd/freebsd-pam-modules/files/freebsd-pam-modules-gentoo.patch
@@ -0,0 +1,27 @@
+diff -ur -x '*~' lib/libpam/modules/Makefile.inc lib/libpam.gentoo/modules/Makefile.inc
+--- lib/libpam/modules/Makefile.inc 2005-02-13 08:23:13.000000000 +0100
++++ lib/libpam.gentoo/modules/Makefile.inc 2005-06-04 20:48:26.560373440 +0200
+@@ -1,22 +1,12 @@
+ # $FreeBSD: src/lib/libpam/modules/Makefile.inc,v 1.15.6.1 2005/02/13 07:23:13 obrien Exp $
+
+-PAMDIR= ${.CURDIR}/../../../../contrib/openpam
+-
+ NOINSTALLLIB=
+ NOPROFILE=
+
+-CFLAGS+= -I${PAMDIR}/include -I${.CURDIR}/../../libpam
++CFLAGS+= -I${.CURDIR}/../../libpam
+ WARNS?= 4
+
+-# This is nasty.
+-# For the static case, libpam.a depends on the modules.
+-# For the dynamic case, the modules depend on libpam.so.N
+-.if defined(_NO_LIBPAM_SO_YET)
+-NOPIC=
+-.else
+ SHLIB_NAME?= ${LIB}.so.${SHLIB_MAJOR}
+-DPADD+= ${LIBPAM}
+ LDADD+= -lpam
+-.endif
+
+ .include "../Makefile.inc"
diff --git a/sys-freebsd/freebsd-pam-modules/freebsd-pam-modules-6.0.ebuild b/sys-freebsd/freebsd-pam-modules/freebsd-pam-modules-6.0.ebuild
new file mode 100644
index 000000000000..7cbcb354c32c
--- /dev/null
+++ b/sys-freebsd/freebsd-pam-modules/freebsd-pam-modules-6.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-pam-modules/freebsd-pam-modules-6.0.ebuild,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+inherit bsdmk freebsd multilib pam
+
+DESCRIPTION="FreeBSD's PAM authentication modules"
+SLOT="0"
+KEYWORDS="~x86-fbsd"
+
+IUSE="kerberos nis"
+
+SRC_URI="mirror://gentoo/${LIB}.tar.bz2"
+
+RDEPEND=">=sys-auth/openpam-20050201-r1
+ kerberos? ( dev-libs/openssl
+ virtual/krb5 )"
+DEPEND="${RDEPEND}
+ =sys-freebsd/freebsd-mk-defs-${RV}*
+ =sys-freebsd/freebsd-sources-${RV}*
+ =sys-freebsd/freebsd-headers-${RV}*"
+
+S=${WORKDIR}/lib/libpam/modules
+
+pkg_setup() {
+ # Avoid installing pam_ssh as that has its own ebuild.
+ mymakeopts="${mymakeopts} NO_OPENSSH= "
+ use kerberos || mymakeopts="${mymakeopts} NO_KERBEROS= "
+ use nis || mymakeopts="${mymakeopts} NO_NIS= "
+}
+
+src_unpack() {
+ unpack ${A}
+
+ cd ${WORKDIR}/lib
+
+ for module in pam_deny pam_passwdqc pam_permit; do
+ sed -i -e "s:${module}::" ${S}/modules.inc
+ done
+
+ # Avoid using static versions; use gentoo /lib/security dir
+ epatch ${FILESDIR}/${PN}-${RV}-gentoo.patch
+}
+
+src_install() {
+ mkinstall "LIBDIR=/$(get_libdir)/security" || die "install failed"
+
+ dodoc "${FILESDIR}/5.4/README.pamd" "${FILESDIR}/5.4/convert.pl"
+ dopamd "${FILESDIR}/5.4/pam.d/"*
+}
diff --git a/sys-freebsd/freebsd-pam-modules/metadata.xml b/sys-freebsd/freebsd-pam-modules/metadata.xml
new file mode 100644
index 000000000000..ecedda4aa2cc
--- /dev/null
+++ b/sys-freebsd/freebsd-pam-modules/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>bsd</herd>
+</pkgmetadata>
diff --git a/sys-freebsd/freebsd-pf/ChangeLog b/sys-freebsd/freebsd-pf/ChangeLog
new file mode 100644
index 000000000000..12b9b14913b9
--- /dev/null
+++ b/sys-freebsd/freebsd-pf/ChangeLog
@@ -0,0 +1,16 @@
+# ChangeLog for sys-freebsd/freebsd-pf
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-pf/ChangeLog,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+*freebsd-pf-6.0 (01 Apr 2006)
+
+ 01 Apr 2006; Diego Pettenò <flameeyes@gentoo.org> +metadata.xml,
+ +freebsd-pf-6.0.ebuild:
+ Import into portage.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Fix compiling. Add pf.conf and pf.os here instead that on baselayout.
+
+ 01 Nov 2005; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Added freebsd-pf package with tools to maintain pf firewall.
+
diff --git a/sys-freebsd/freebsd-pf/Manifest b/sys-freebsd/freebsd-pf/Manifest
new file mode 100644
index 000000000000..dcbec88c41bb
--- /dev/null
+++ b/sys-freebsd/freebsd-pf/Manifest
@@ -0,0 +1,15 @@
+MD5 85949795567b3e73625a81880e954720 ChangeLog 386
+RMD160 c8452b1c4e603b8dd2062f044e18dd0f94ba78de ChangeLog 386
+SHA256 0c83e72adef16f8825c048ac55fa05676a39272d1440a0f3163724bd7c6efbf0 ChangeLog 386
+MD5 3d66c7847f9be8037db003d8cc20efbc files/digest-freebsd-pf-5.4 287
+RMD160 209a616db0a9347bf4fe4ce21c93f2dcced0ba34 files/digest-freebsd-pf-5.4 287
+SHA256 d2f0c2733e6247ab4bdb86900af9bde7cb70f08baac28dfb5f97882cefceccc1 files/digest-freebsd-pf-5.4 287
+MD5 85901762b1b5797d4c97aa0cdd7be3e1 files/digest-freebsd-pf-6.0 1295
+RMD160 dfaa6acbcc3a5282d41b3204342dda0e0c906fa8 files/digest-freebsd-pf-6.0 1295
+SHA256 24290e8449f22ded1c68fe86e421e332e96d5dc384d37a79b93aa68cbb8d2b60 files/digest-freebsd-pf-6.0 1295
+MD5 4aa6528a0a6cfe072342e6d8b75dc5d9 freebsd-pf-5.4.ebuild 979
+RMD160 cc9d7c1d4cc275d65285b6d830848ce0dc4d0b81 freebsd-pf-5.4.ebuild 979
+SHA256 d3bcf82a6e59203c8fd2e02d77854ed337c51a4006fe1aa655c431fe2523d999 freebsd-pf-5.4.ebuild 979
+MD5 db954127fe6f57f2e94d082b42709f83 freebsd-pf-6.0.ebuild 1150
+RMD160 50cea827edfa3622ea0f3479f4ef84f50949ce92 freebsd-pf-6.0.ebuild 1150
+SHA256 3680904f422cd13dda9274b54655457bdc7aacdbef53ce985b5b7e2edcf18c2f freebsd-pf-6.0.ebuild 1150
diff --git a/sys-freebsd/freebsd-pf/files/digest-freebsd-pf-6.0 b/sys-freebsd/freebsd-pf/files/digest-freebsd-pf-6.0
new file mode 100644
index 000000000000..483a1c1a27c7
--- /dev/null
+++ b/sys-freebsd/freebsd-pf/files/digest-freebsd-pf-6.0
@@ -0,0 +1,15 @@
+MD5 b5b626909c9707d0bab0c54b50e132b9 freebsd-contrib-6.0.tar.bz2 34972594
+RMD160 3f045dd7d1ddbcf20da670051459f0a2fc508a8b freebsd-contrib-6.0.tar.bz2 34972594
+SHA256 9c76affcddb3a8257d3b612dd7cc8ff43bc7417e47e215c01909a81c79e9d443 freebsd-contrib-6.0.tar.bz2 34972594
+MD5 7c2af3af5be2f46372f9cc0efaeda4c7 freebsd-etc-6.0.tar.bz2 178941
+RMD160 48d0eb51f291e5d706ef076151964b88a9fc1796 freebsd-etc-6.0.tar.bz2 178941
+SHA256 c4bd9401dad72bd869b89aa12a61339a30746caadb741bb0d094f522ee117616 freebsd-etc-6.0.tar.bz2 178941
+MD5 44996c2edac20108da43add45b599d94 freebsd-libexec-6.0.tar.bz2 277631
+RMD160 5121414524c9dfceab1f5ad8b8bc91c65141db82 freebsd-libexec-6.0.tar.bz2 277631
+SHA256 2eddc867d69afa6c5d0a2f3ce18d4570688b5fa49924adb478dc7d548ba8197e freebsd-libexec-6.0.tar.bz2 277631
+MD5 961eeb893125bfaa47a7d2f2fee9f2c2 freebsd-sbin-6.0.tar.bz2 1132085
+RMD160 9b194c62b4a51d37cea224f0e3fe1069f2645248 freebsd-sbin-6.0.tar.bz2 1132085
+SHA256 43568a5534e29ee442a920459052638e0ca17c69b54a984b1c023628f5f2229f freebsd-sbin-6.0.tar.bz2 1132085
+MD5 df8c3764da190437a1d47c6ff1872520 freebsd-usbin-6.0.tar.bz2 2635411
+RMD160 9a8f5cdc041df1ad2b388c432a1829b5c8adc51d freebsd-usbin-6.0.tar.bz2 2635411
+SHA256 46ac3c581fd20d9980bcf2d80aba7c2f874ad3e29058939bee0c6f1a4af8ff64 freebsd-usbin-6.0.tar.bz2 2635411
diff --git a/sys-freebsd/freebsd-pf/freebsd-pf-6.0.ebuild b/sys-freebsd/freebsd-pf/freebsd-pf-6.0.ebuild
new file mode 100644
index 000000000000..dc75616ab15b
--- /dev/null
+++ b/sys-freebsd/freebsd-pf/freebsd-pf-6.0.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-pf/freebsd-pf-6.0.ebuild,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+inherit bsdmk freebsd flag-o-matic
+
+DESCRIPTION="FreeBSD's base system libraries"
+SLOT="0"
+KEYWORDS="~x86-fbsd"
+
+IUSE=""
+
+# Crypto is needed to have an internal OpenSSL header
+SRC_URI="mirror://gentoo/${USBIN}.tar.bz2
+ mirror://gentoo/${SBIN}.tar.bz2
+ mirror://gentoo/${CONTRIB}.tar.bz2
+ mirror://gentoo/${LIBEXEC}.tar.bz2
+ mirror://gentoo/${ETC}.tar.bz2"
+
+RDEPEND=""
+DEPEND="${RDEPEND}
+ =sys-freebsd/freebsd-mk-defs-${RV}*
+ =sys-freebsd/freebsd-sources-${RV}*
+ =sys-freebsd/freebsd-headers-${RV}*"
+
+S="${WORKDIR}"
+
+SUBDIRS="libexec/ftp-proxy usr.sbin/authpf sbin/pfctl sbin/pflogd"
+
+src_unpack() {
+ freebsd_src_unpack
+
+ ln -s "/usr/src/sys-${RV}" "${WORKDIR}/sys"
+}
+
+src_compile() {
+ for dir in ${SUBDIRS}; do
+ einfo "Starting make in ${dir}"
+ cd "${S}/${dir}"
+ mkmake || die "Make ${dir} failed"
+ done
+}
+
+src_install() {
+ for dir in ${SUBDIRS}; do
+ einfo "Starting install in ${dir}"
+ cd "${S}/${dir}"
+ mkinstall || die "Install ${dir} failed"
+ done
+
+ cd ${WORKDIR}/etc
+ insinto /etc
+ doins pf.conf pf.os
+}
diff --git a/sys-freebsd/freebsd-pf/metadata.xml b/sys-freebsd/freebsd-pf/metadata.xml
new file mode 100644
index 000000000000..ecedda4aa2cc
--- /dev/null
+++ b/sys-freebsd/freebsd-pf/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>bsd</herd>
+</pkgmetadata>
diff --git a/sys-freebsd/freebsd-rescue/ChangeLog b/sys-freebsd/freebsd-rescue/ChangeLog
new file mode 100644
index 000000000000..662b6c4de9b8
--- /dev/null
+++ b/sys-freebsd/freebsd-rescue/ChangeLog
@@ -0,0 +1,32 @@
+# ChangeLog for sys-apps/freebsd-rescue
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-rescue/ChangeLog,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+*freebsd-rescue-6.0 (01 Apr 2006)
+
+ 01 Apr 2006; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-rescue-5.4-gentoo.patch,
+ +files/freebsd-rescue-5.4-sbin-gentoo.patch, +metadata.xml,
+ +freebsd-rescue-6.0.ebuild:
+ Import into portage.
+
+ 27 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-rescue-5.4.ebuild:
+ Fix dependencies for sys-freebsd move.
+
+ 25 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-rescue-5.4-gentoo.patch,
+ +files/freebsd-rescue-5.4-sbin-gentoo.patch, +freebsd-rescue-5.4.ebuild:
+ Moved to sys-freebsd.
+
+ 18 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-rescue-5.4.ebuild:
+ Updated to reflect bsdmk/freebsd eclasses changes.
+
+*freebsd-rescue-5.4 (13 Aug 2005)
+
+ 13 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-rescue-5.4-gentoo.patch,
+ +files/freebsd-rescue-5.4-sbin-gentoo.patch, +freebsd-rescue-5.4.ebuild:
+ Added freebsd-rescue package that builds /rescue binaries.
+
diff --git a/sys-freebsd/freebsd-rescue/Manifest b/sys-freebsd/freebsd-rescue/Manifest
new file mode 100644
index 000000000000..638616ea13e8
--- /dev/null
+++ b/sys-freebsd/freebsd-rescue/Manifest
@@ -0,0 +1,7 @@
+MD5 ff97696bdfc852245602c84335487d87 ChangeLog 844
+MD5 cee4693c5a234643a229f6e364b34478 files/digest-freebsd-rescue-5.4 702
+MD5 650eecb0e0799e16115bd3bf604bc239 files/digest-freebsd-rescue-6.0 701
+MD5 632f5c73843a9f84215b13c0f4e212ce files/freebsd-rescue-5.4-gentoo.patch 370
+MD5 1eb113940f2deb194fc0e8050a998b93 files/freebsd-rescue-5.4-sbin-gentoo.patch 817
+MD5 21ad0d95dc810ad9cf35b5423d2a513b freebsd-rescue-5.4.ebuild 1264
+MD5 39135ad8d1f8ca2ba6430e5425ca2f84 freebsd-rescue-6.0.ebuild 1274
diff --git a/sys-freebsd/freebsd-rescue/files/digest-freebsd-rescue-6.0 b/sys-freebsd/freebsd-rescue/files/digest-freebsd-rescue-6.0
new file mode 100644
index 000000000000..5ca3e2c62096
--- /dev/null
+++ b/sys-freebsd/freebsd-rescue/files/digest-freebsd-rescue-6.0
@@ -0,0 +1,10 @@
+MD5 344c333bda07c4d345e9fc7a3edf81b2 freebsd-bin-6.0.tar.bz2 403680
+MD5 b5b626909c9707d0bab0c54b50e132b9 freebsd-contrib-6.0.tar.bz2 34972594
+MD5 59f100898221e4024b80178ffec25192 freebsd-gnu-6.0.tar.bz2 866160
+MD5 3888da5da1cb329a65a3ac9d316f99ea freebsd-lib-6.0.tar.bz2 2613087
+MD5 44996c2edac20108da43add45b599d94 freebsd-libexec-6.0.tar.bz2 277631
+MD5 bb899fb2f62abbc130c695dfd7988a0a freebsd-rescue-6.0.tar.bz2 4939
+MD5 961eeb893125bfaa47a7d2f2fee9f2c2 freebsd-sbin-6.0.tar.bz2 1132085
+MD5 fa4633806f9ecd13eba57e45e5b6031f freebsd-sys-6.0.tar.bz2 16069887
+MD5 62d4513f9f16d2eadfc3f1d5be53acee freebsd-ubin-6.0.tar.bz2 1760986
+MD5 df8c3764da190437a1d47c6ff1872520 freebsd-usbin-6.0.tar.bz2 2635411
diff --git a/sys-freebsd/freebsd-rescue/files/freebsd-rescue-5.4-gentoo.patch b/sys-freebsd/freebsd-rescue/files/freebsd-rescue-5.4-gentoo.patch
new file mode 100644
index 000000000000..1e59c6a4d827
--- /dev/null
+++ b/sys-freebsd/freebsd-rescue/files/freebsd-rescue-5.4-gentoo.patch
@@ -0,0 +1,12 @@
+diff -ur rescue/rescue/Makefile rescue-gentoo/rescue/Makefile
+--- rescue/rescue/Makefile 2005-04-22 22:31:22.000000000 +0200
++++ rescue-gentoo/rescue/Makefile 2005-08-13 17:06:43.000000000 +0200
+@@ -194,7 +194,7 @@
+ CRUNCH_LIBS+= -lbz2
+
+ CRUNCH_PROGS_usr.bin+= tar
+-CRUNCH_LIBS+= -larchive
++CRUNCH_LIBS+= -larchive -lz
+
+ CRUNCH_PROGS_usr.bin+= vi
+ CRUNCH_ALIAS_vi= ex
diff --git a/sys-freebsd/freebsd-rescue/files/freebsd-rescue-5.4-sbin-gentoo.patch b/sys-freebsd/freebsd-rescue/files/freebsd-rescue-5.4-sbin-gentoo.patch
new file mode 100644
index 000000000000..d566be15fe28
--- /dev/null
+++ b/sys-freebsd/freebsd-rescue/files/freebsd-rescue-5.4-sbin-gentoo.patch
@@ -0,0 +1,21 @@
+diff -ur sbin/savecore/savecore.c sbin-gentoo/savecore/savecore.c
+--- sbin/savecore/savecore.c 2005-02-26 02:21:50.000000000 +0100
++++ sbin-gentoo/savecore/savecore.c 2005-08-13 17:09:53.000000000 +0200
+@@ -95,7 +95,7 @@
+ static int checkfor, compress, clear, force, keep, verbose; /* flags */
+ static int nfound, nsaved, nerr; /* statistics */
+
+-extern FILE *zopen(const char *, const char *);
++extern FILE *gzopen(const char *, const char *);
+
+ static void
+ printheader(FILE *f, const struct kerneldumpheader *h, const char *device,
+@@ -387,7 +387,7 @@
+ oumask = umask(S_IRWXG|S_IRWXO); /* Restrict access to the core file.*/
+ if (compress) {
+ sprintf(buf, "vmcore.%d.gz", bounds);
+- fp = zopen(buf, "w");
++ fp = gzopen(buf, "w");
+ } else {
+ sprintf(buf, "vmcore.%d", bounds);
+ fp = fopen(buf, "w");
diff --git a/sys-freebsd/freebsd-rescue/freebsd-rescue-6.0.ebuild b/sys-freebsd/freebsd-rescue/freebsd-rescue-6.0.ebuild
new file mode 100644
index 000000000000..b4c6e941409d
--- /dev/null
+++ b/sys-freebsd/freebsd-rescue/freebsd-rescue-6.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-rescue/freebsd-rescue-6.0.ebuild,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+inherit bsdmk freebsd
+
+DESCRIPTION="FreeBSD's rescue binaries"
+SLOT="0"
+KEYWORDS="~x86-fbsd"
+
+IUSE="atm nis"
+
+SRC_URI="mirror://gentoo/${UBIN}.tar.bz2
+ mirror://gentoo/${CONTRIB}.tar.bz2
+ mirror://gentoo/${LIB}.tar.bz2
+ mirror://gentoo/${BIN}.tar.bz2
+ mirror://gentoo/${SBIN}.tar.bz2
+ mirror://gentoo/${USBIN}.tar.bz2
+ mirror://gentoo/${GNU}.tar.bz2
+ mirror://gentoo/${SYS}.tar.bz2
+ mirror://gentoo/${LIBEXEC}.tar.bz2
+ mirror://gentoo/${RESCUE}.tar.bz2"
+
+RDEPEND=""
+DEPEND="sys-devel/flex
+ =sys-freebsd/freebsd-sources-${RV}*
+ =sys-freebsd/freebsd-headers-${RV}*
+ =sys-freebsd/freebsd-mk-defs-${RV}*"
+
+S="${WORKDIR}/rescue"
+
+pkg_setup() {
+ use atm || mymakeopts="${mymakeopts} NOATM= "
+ use nis || mymakeopts="${mymakeopts} NO_NIS= "
+
+ for flag in atm nis; do
+ if use ${flag} && ! built_with_use sys-libs/freebsd-lib ${flag}; then
+ die "You can't add ${flag} support here without adding it to sys-libs/freebsd-lib"
+ fi
+ done
+}
+
+src_unpack() {
+ freebsd_src_unpack
+
+ # As they are patches from ${WORKDIR} apply them by hand
+ cd ${WORKDIR}
+ epatch ${FILESDIR}/${PN}-5.4-gentoo.patch
+ epatch ${FILESDIR}/${PN}-5.4-sbin-gentoo.patch
+}
diff --git a/sys-freebsd/freebsd-rescue/metadata.xml b/sys-freebsd/freebsd-rescue/metadata.xml
new file mode 100644
index 000000000000..ecedda4aa2cc
--- /dev/null
+++ b/sys-freebsd/freebsd-rescue/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>bsd</herd>
+</pkgmetadata>
diff --git a/sys-freebsd/freebsd-sbin/ChangeLog b/sys-freebsd/freebsd-sbin/ChangeLog
new file mode 100644
index 000000000000..94d1012a4782
--- /dev/null
+++ b/sys-freebsd/freebsd-sbin/ChangeLog
@@ -0,0 +1,83 @@
+# ChangeLog for sys-apps/freebsd-sbin
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-sbin/ChangeLog,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+*freebsd-sbin-6.0 (01 Apr 2006)
+
+ 01 Apr 2006; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-sbin-fixmakefiles.patch, +files/freebsd-sbin-flex.patch,
+ +files/freebsd-sbin-setXid.patch, +files/freebsd-sbin-zlib.patch,
+ +files/ipfw.initd, +files/sysctl.initd, +metadata.xml,
+ +freebsd-sbin-6.0.ebuild:
+ Import into portage.
+
+ 20 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Fix deprecated stuff to use NO_* syntax.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Handle also sysctl configuration file and init script.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Add here ipfw init.d script and rc.firewall used by it.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Add ipf scripts only if ipfilter is enabled.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Install minfree file.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Add periodic files.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Start moving etc files here.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ On suggestion from Benigno B. Junior (bbj), don't extract sys, instead
+ symlink int inside ${WORKDIR}. This also drops the patch to fix makefiles.
+
+ 12 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Extract also -sys as it's needed to geom/eli to build.
+
+ 01 Nov 2005; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Remove pf support, as freebsd-pf will provide it.
+
+ 20 Oct 2005; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Make sure /var/log is kept by this package instead of baselayout.
+
+ 27 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-sbin-5.4.ebuild:
+ Fix dependencies for sys-freebsd move.
+
+*freebsd-sbin-5.4 (25 Aug 2005)
+
+ 25 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-sbin-fixmakefiles.patch, +files/freebsd-sbin-flex.patch,
+ +files/freebsd-sbin-setXid.patch, +files/freebsd-sbin-zlib.patch,
+ +freebsd-sbin-5.4.ebuild:
+ Moved to sys-freebsd.
+
+ 29 Jul 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-sbin-5.4.ebuild:
+ Adapt to recent bsdmk changes.
+
+ 16 Jun 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-sbin-5.4.ebuild:
+ Avoid building and installing dhclient.
+
+ 29 Sep 2004; Aaron Walker <ka0ttic@gentoo.org>
+ freebsd-sbin-5.2.1-r1.ebuild:
+ inherit should be the first thing under CVS header.
+
+*freebsd-sbin-5.2.1-r1 (18 Sep 2004)
+
+ 18 Sep 2004; Otavio Piske <angusyoung@gentoo.org>
+ freebsd-sbin-5.2.1-r1.ebuild:
+ Updated ebuild DEPEND. Lots of dependencies are now considered. Also,
+ corrected the problem with ebuild not handling schg/noschg flags
+ correctly.
+
+ 15 Sep 2004; Otavio Piske <angusyoung@gentoo.org> freebsd-sbin-5.2.1.ebuild:
+ Initial release
+
+*freebsd-sbin-5.2.1.ebuild (15 Sep 2004)
diff --git a/sys-freebsd/freebsd-sbin/Manifest b/sys-freebsd/freebsd-sbin/Manifest
new file mode 100644
index 000000000000..311db6f58e97
--- /dev/null
+++ b/sys-freebsd/freebsd-sbin/Manifest
@@ -0,0 +1,33 @@
+MD5 39a2085c5b938a277cd7a959447c2cf6 ChangeLog 2636
+RMD160 d2f1daf897c889c521923e47878617e6b881cab0 ChangeLog 2636
+SHA256 cb163086c50cc89f2f32b873c6b2f71368c8d576a705fdd40e7b1d2ef81660c7 ChangeLog 2636
+MD5 8c8e4ade7f057d73d9fdf3c432884450 files/digest-freebsd-sbin-5.4 357
+RMD160 33039caa4096609a95329637583e5d7f87bdb4cb files/digest-freebsd-sbin-5.4 357
+SHA256 0480ee1554afb163bb1632003b6256b5dc832184b6b0f2e3682e7da2655533ab files/digest-freebsd-sbin-5.4 357
+MD5 5fd83bcbf48686bcd615b60799613cce files/digest-freebsd-sbin-6.0 1548
+RMD160 bf64735bbceeed83ebccd22f2b3a989100e6ec31 files/digest-freebsd-sbin-6.0 1548
+SHA256 c10cfdca82d0a375d105c9ec1834a52f8ebab8e1ab244cedb63ff06f29d39c05 files/digest-freebsd-sbin-6.0 1548
+MD5 b5bb218c62b1a6a90dc7b0f916588934 files/freebsd-sbin-fixmakefiles.patch 7495
+RMD160 4abdb18478b76f6b38c38e7300f8b95af499e380 files/freebsd-sbin-fixmakefiles.patch 7495
+SHA256 522987512df3d19fce1ae56934cc3788d72c36efb4a9082ad7f3ef12b330571c files/freebsd-sbin-fixmakefiles.patch 7495
+MD5 f03713b209e9a1b0ab37e5b06816c006 files/freebsd-sbin-flex.patch 269
+RMD160 cdd49b8c106835d1986de90dd0c5ac076ce7ae16 files/freebsd-sbin-flex.patch 269
+SHA256 17e0596d9141764463ea8e2f4ac4394268b5c507ca9bf3f0c48c7fff0ea96a01 files/freebsd-sbin-flex.patch 269
+MD5 6bd98aaa283db05c1f71d75c3efb62cd files/freebsd-sbin-setXid.patch 541
+RMD160 003ee4530218c609a4a443d2c2d2c8c05d1f4ae6 files/freebsd-sbin-setXid.patch 541
+SHA256 2d8158df7af52f9ce15f1513d16ed08ea6244f310aea3f271b12184a6a4c4267 files/freebsd-sbin-setXid.patch 541
+MD5 ae8e21abde36bcbc19d3464d1e368033 files/freebsd-sbin-zlib.patch 793
+RMD160 ba321e563ba92e73c4183740e425d50471fbffcf files/freebsd-sbin-zlib.patch 793
+SHA256 a02a2f8dda23952f6d90100fd1dddc3a3a5048653a74fb1f4b52ceb18bedb448 files/freebsd-sbin-zlib.patch 793
+MD5 0c307d6a70ca7b10e9028f0ef1da8c54 files/ipfw.initd 2023
+RMD160 6d51af36ff69c18a1d9f6b369652ae814d531017 files/ipfw.initd 2023
+SHA256 84a0d8762f172c7ea60a1983fac0bb03dc95e8ec96b19d2fcbcadbbd52f6f615 files/ipfw.initd 2023
+MD5 1771168ae15e36e944e7d3a0fe7757be files/sysctl.initd 776
+RMD160 e98a51e9469aafc44054415ee40f2a36856b1709 files/sysctl.initd 776
+SHA256 5a233a0e990104b59270c23f37aa4bfac06c8584177ac304950751f0851dc81c files/sysctl.initd 776
+MD5 7a89419495f6707d08821daa735b5080 freebsd-sbin-5.4.ebuild 1325
+RMD160 88fb736895543209349fdb9e1c54ecbea27e78f5 freebsd-sbin-5.4.ebuild 1325
+SHA256 348c8112e35cbc24587c673ccf23433295043f4d880e49843243efd17c2e51db freebsd-sbin-5.4.ebuild 1325
+MD5 b8a7832fcb1a960eea3bd5465648ab70 freebsd-sbin-6.0.ebuild 1911
+RMD160 de6bf24b584eab7a00fef1e0cc9d5247fc6cf132 freebsd-sbin-6.0.ebuild 1911
+SHA256 1886f8a313ae31235d46383e34f01174dcc282e3d7b6b87ffe26994938a2ec17 freebsd-sbin-6.0.ebuild 1911
diff --git a/sys-freebsd/freebsd-sbin/files/digest-freebsd-sbin-6.0 b/sys-freebsd/freebsd-sbin/files/digest-freebsd-sbin-6.0
new file mode 100644
index 000000000000..ea6f6cd46214
--- /dev/null
+++ b/sys-freebsd/freebsd-sbin/files/digest-freebsd-sbin-6.0
@@ -0,0 +1,18 @@
+MD5 b5b626909c9707d0bab0c54b50e132b9 freebsd-contrib-6.0.tar.bz2 34972594
+RMD160 3f045dd7d1ddbcf20da670051459f0a2fc508a8b freebsd-contrib-6.0.tar.bz2 34972594
+SHA256 9c76affcddb3a8257d3b612dd7cc8ff43bc7417e47e215c01909a81c79e9d443 freebsd-contrib-6.0.tar.bz2 34972594
+MD5 7c2af3af5be2f46372f9cc0efaeda4c7 freebsd-etc-6.0.tar.bz2 178941
+RMD160 48d0eb51f291e5d706ef076151964b88a9fc1796 freebsd-etc-6.0.tar.bz2 178941
+SHA256 c4bd9401dad72bd869b89aa12a61339a30746caadb741bb0d094f522ee117616 freebsd-etc-6.0.tar.bz2 178941
+MD5 3888da5da1cb329a65a3ac9d316f99ea freebsd-lib-6.0.tar.bz2 2613087
+RMD160 30bf04438a00408284f135c2670106141cae4873 freebsd-lib-6.0.tar.bz2 2613087
+SHA256 dab1140d52597f37d768d2210a49cb29db5404a7df35306462e3642074426a53 freebsd-lib-6.0.tar.bz2 2613087
+MD5 44996c2edac20108da43add45b599d94 freebsd-libexec-6.0.tar.bz2 277631
+RMD160 5121414524c9dfceab1f5ad8b8bc91c65141db82 freebsd-libexec-6.0.tar.bz2 277631
+SHA256 2eddc867d69afa6c5d0a2f3ce18d4570688b5fa49924adb478dc7d548ba8197e freebsd-libexec-6.0.tar.bz2 277631
+MD5 961eeb893125bfaa47a7d2f2fee9f2c2 freebsd-sbin-6.0.tar.bz2 1132085
+RMD160 9b194c62b4a51d37cea224f0e3fe1069f2645248 freebsd-sbin-6.0.tar.bz2 1132085
+SHA256 43568a5534e29ee442a920459052638e0ca17c69b54a984b1c023628f5f2229f freebsd-sbin-6.0.tar.bz2 1132085
+MD5 df8c3764da190437a1d47c6ff1872520 freebsd-usbin-6.0.tar.bz2 2635411
+RMD160 9a8f5cdc041df1ad2b388c432a1829b5c8adc51d freebsd-usbin-6.0.tar.bz2 2635411
+SHA256 46ac3c581fd20d9980bcf2d80aba7c2f874ad3e29058939bee0c6f1a4af8ff64 freebsd-usbin-6.0.tar.bz2 2635411
diff --git a/sys-freebsd/freebsd-sbin/files/freebsd-sbin-fixmakefiles.patch b/sys-freebsd/freebsd-sbin/files/freebsd-sbin-fixmakefiles.patch
new file mode 100644
index 000000000000..9db78a735083
--- /dev/null
+++ b/sys-freebsd/freebsd-sbin/files/freebsd-sbin-fixmakefiles.patch
@@ -0,0 +1,233 @@
+Only in sbin: Makefile.orig
+diff -ur sbin.orig/atm/atm/Makefile sbin/atm/atm/Makefile
+--- sbin.orig/atm/atm/Makefile Thu Apr 7 20:27:57 2005
++++ sbin/atm/atm/Makefile Thu Apr 7 20:28:33 2005
+@@ -34,7 +34,7 @@
+ WARNS?= 6
+ .endif
+
+-CFLAGS+= -I${.CURDIR}/../../../sys
++CFLAGS+= -I/usr/src/sys
+
+ DPADD= ${LIBATM}
+ LDADD= -latm
+Only in sbin/atm/atm: Makefile.orig
+diff -ur sbin.orig/atm/fore_dnld/Makefile sbin/atm/fore_dnld/Makefile
+--- sbin.orig/atm/fore_dnld/Makefile Thu Apr 7 20:27:57 2005
++++ sbin/atm/fore_dnld/Makefile Thu Apr 7 20:28:45 2005
+@@ -28,7 +28,7 @@
+ SRCS= fore_dnld.c pca200e.c
+
+ WARNS?= 6
+-CFLAGS+= -I${.CURDIR}/../../../sys
++CFLAGS+= -I/usr/src/sys
+
+ DPADD= ${LIBATM}
+ LDADD= -latm
+Only in sbin/atm/fore_dnld: Makefile.orig
+diff -ur sbin.orig/atm/ilmid/Makefile sbin/atm/ilmid/Makefile
+--- sbin.orig/atm/ilmid/Makefile Thu Apr 7 20:27:57 2005
++++ sbin/atm/ilmid/Makefile Thu Apr 7 20:28:58 2005
+@@ -32,7 +32,7 @@
+ WARNS?= 6
+ .endif
+
+-CFLAGS+= -I${.CURDIR}/../../../sys
++CFLAGS+= -I/usr/src/sys
+
+ DPADD= ${LIBATM}
+ LDADD= -latm
+Only in sbin/atm/ilmid: Makefile.orig
+diff -ur sbin.orig/bsdlabel/Makefile sbin/bsdlabel/Makefile
+--- sbin.orig/bsdlabel/Makefile Thu Apr 7 20:27:57 2005
++++ sbin/bsdlabel/Makefile Thu Apr 7 20:29:09 2005
+@@ -1,7 +1,7 @@
+ # @(#)Makefile 8.2 (Berkeley) 3/17/94
+ # $FreeBSD: src/sbin/bsdlabel/Makefile,v 1.19 2004/01/11 09:11:10 nyan Exp $
+
+-.PATH: ${.CURDIR}/../../sys/geom
++.PATH: /usr/src/sys/geom
+
+ PROG= bsdlabel
+ SRCS= bsdlabel.c geom_bsd_enc.c
+Only in sbin/bsdlabel: Makefile.orig
+diff -ur sbin.orig/fdisk/Makefile sbin/fdisk/Makefile
+--- sbin.orig/fdisk/Makefile Thu Apr 7 20:27:57 2005
++++ sbin/fdisk/Makefile Thu Apr 7 20:29:18 2005
+@@ -5,7 +5,7 @@
+ WARNS?= 4
+ MAN= fdisk.8
+
+-.PATH: ${.CURDIR}/../../sys/geom
++.PATH: /usr/src/sys/geom
+
+ .include <bsd.prog.mk>
+
+Only in sbin/fdisk: Makefile.orig
+diff -ur sbin.orig/fsck_ffs/Makefile sbin/fsck_ffs/Makefile
+--- sbin.orig/fsck_ffs/Makefile Thu Apr 7 20:27:57 2005
++++ sbin/fsck_ffs/Makefile Thu Apr 7 20:29:34 2005
+@@ -11,6 +11,6 @@
+ WARNS?= 2
+ CFLAGS+= -I${.CURDIR}
+
+-.PATH: ${.CURDIR}/../../sys/ufs/ffs
++.PATH: /usr/src/sys/ufs/ffs
+
+ .include <bsd.prog.mk>
+Only in sbin/fsck_ffs: Makefile.orig
+diff -ur sbin.orig/fsdb/Makefile sbin/fsdb/Makefile
+--- sbin.orig/fsdb/Makefile Thu Apr 7 20:27:57 2005
++++ sbin/fsdb/Makefile Thu Apr 7 20:29:44 2005
+@@ -11,6 +11,6 @@
+ WARNS?= 0
+ LDADD= -ledit -ltermcap
+ DPADD= ${LIBEDIT} ${LIBTERMCAP}
+-.PATH: ${.CURDIR}/../fsck_ffs ${.CURDIR}/../../sys/ufs/ffs
++.PATH: ${.CURDIR}/../fsck_ffs /usr/src/sys/ufs/ffs
+
+ .include <bsd.prog.mk>
+Only in sbin/fsdb: Makefile.orig
+diff -ur sbin.orig/gbde/Makefile sbin/gbde/Makefile
+--- sbin.orig/gbde/Makefile Thu Apr 7 20:27:57 2005
++++ sbin/gbde/Makefile Thu Apr 7 20:29:56 2005
+@@ -15,10 +15,10 @@
+ WARNS?= 3
+ .endif
+
+-CFLAGS+= -I${.CURDIR}/../../sys
+-.PATH: ${.CURDIR}/../../sys/geom/bde \
+- ${.CURDIR}/../../sys/crypto/rijndael \
+- ${.CURDIR}/../../sys/crypto/sha2
++CFLAGS+= -I/usr/src/sys
++.PATH: /usr/src/sys/geom/bde \
++ /usr/src/sys/crypto/rijndael \
++ /usr/src/sys/crypto/sha2
+
+ CLEANFILES+= template.c
+
+Only in sbin/gbde: Makefile.orig
+diff -ur sbin.orig/gvinum/Makefile sbin/gvinum/Makefile
+--- sbin.orig/gvinum/Makefile Thu Apr 7 20:27:57 2005
++++ sbin/gvinum/Makefile Thu Apr 7 20:30:05 2005
+@@ -4,11 +4,11 @@
+ SRCS= gvinum.c gvinum.h geom_vinum_share.c
+ NOMAN= # not yet
+
+-CFLAGS+= -I${.CURDIR}/../../sys
++CFLAGS+= -I/usr/src/sys
+
+ DPADD= ${LIBREADLINE} ${LIBTERMCAP} ${LIBDEVSTAT} ${LIBKVM} ${LIBGEOM}
+ LDADD= -lreadline -ltermcap -ldevstat -lkvm -lgeom
+
+-.PATH: ${.CURDIR}/../../sys/geom/vinum
++.PATH: /usr/src/sys/geom/vinum
+
+ .include <bsd.prog.mk>
+Only in sbin/gvinum: Makefile.orig
+diff -ur sbin.orig/ipf/Makefile sbin/ipf/Makefile
+--- sbin.orig/ipf/Makefile Thu Apr 7 20:27:57 2005
++++ sbin/ipf/Makefile Thu Apr 7 20:30:20 2005
+@@ -6,9 +6,9 @@
+ MAN= ipf.4 ipf.5 ipf.8
+ SRCS= ipf.c parse.c opt.c facpri.c common.c
+ CFLAGS+=-DUSE_INET6 -DIPL_NAME=\"/dev/ipl\"
+-CFLAGS+=-I${.CURDIR}/../../sys/contrib/ipfilter/netinet
+-CFLAGS+=-I${.CURDIR}/../../sys/contrib/ipfilter
+-CFLAGS+=-I${.CURDIR}/../../contrib/ipfilter
++CFLAGS+=-I/usr/src/sys/contrib/ipfilter/netinet
++CFLAGS+=-I/usr/src/sys/contrib/ipfilter
++CFLAGS+=-I/usr/src/contrib/ipfilter
+ WARNS?= 0
+
+ MAINTAINER= darrenr@freebsd.org
+Only in sbin/ipf: Makefile.orig
+diff -ur sbin.orig/ipfs/Makefile sbin/ipfs/Makefile
+--- sbin.orig/ipfs/Makefile Thu Apr 7 20:27:57 2005
++++ sbin/ipfs/Makefile Thu Apr 7 20:30:27 2005
+@@ -6,8 +6,8 @@
+ MAN= ipfs.8
+ SRCS= ipfs.c
+ CFLAGS+=-DUSE_INET6 -DIPL_NAME=\"/dev/ipl\"
+-CFLAGS+=-I${.CURDIR}/../../sys/contrib/ipfilter/netinet
+-CFLAGS+=-I${.CURDIR}/../../sys/contrib/ipfilter
++CFLAGS+=-I/usr/src/sys/contrib/ipfilter/netinet
++CFLAGS+=-I/usr/src/sys/contrib/ipfilter
+ CFLAGS+=-I${.CURDIR}/../../contrib/ipfilter
+ WARNS?= 0
+
+Only in sbin/ipfs: Makefile.orig
+diff -ur sbin.orig/ipfstat/Makefile sbin/ipfstat/Makefile
+--- sbin.orig/ipfstat/Makefile Thu Apr 7 20:27:57 2005
++++ sbin/ipfstat/Makefile Thu Apr 7 20:30:32 2005
+@@ -6,8 +6,8 @@
+ MAN= ipfstat.8
+ SRCS= fils.c parse.c opt.c kmem.c facpri.c common.c printstate.c
+ CFLAGS+=-DUSE_INET6 -DIPL_NAME=\"/dev/ipl\" -DSTATETOP
+-CFLAGS+=-I${.CURDIR}/../../sys/contrib/ipfilter/netinet
+-CFLAGS+=-I${.CURDIR}/../../sys/contrib/ipfilter
++CFLAGS+=-I/usr/src/sys/contrib/ipfilter/netinet
++CFLAGS+=-I/usr/src/sys/contrib/ipfilter
+ CFLAGS+=-I${.CURDIR}/../../contrib/ipfilter
+ WARNS?= 0
+
+Only in sbin/ipfstat: Makefile.orig
+diff -ur sbin.orig/ipmon/Makefile sbin/ipmon/Makefile
+--- sbin.orig/ipmon/Makefile Thu Apr 7 20:27:57 2005
++++ sbin/ipmon/Makefile Thu Apr 7 20:30:46 2005
+@@ -7,7 +7,7 @@
+ SRCS= ipmon.c
+
+ CFLAGS+=-DUSE_INET6 -DIPL_NAME=\"/dev/ipl\" -DLOGFAC=LOG_SECURITY
+-CFLAGS+=-I${.CURDIR}/../../sys/contrib/ipfilter
++CFLAGS+=-I/usr/src/sys/contrib/ipfilter
+ CFLAGS+=-I${.CURDIR}/../../contrib/ipfilter
+ WARNS?= 0
+
+Only in sbin/ipmon: Makefile.orig
+diff -ur sbin.orig/ipnat/Makefile sbin/ipnat/Makefile
+--- sbin.orig/ipnat/Makefile Thu Apr 7 20:27:57 2005
++++ sbin/ipnat/Makefile Thu Apr 7 20:30:55 2005
+@@ -7,8 +7,8 @@
+ MLINKS= ipnat.5 ipnat.conf.5
+ SRCS= ipnat.c kmem.c natparse.c common.c printnat.c
+ CFLAGS+=-DUSE_INET6 -DIPL_NAME=\"/dev/ipl\"
+-CFLAGS+=-I${.CURDIR}/../../sys/contrib/ipfilter/netinet
+-CFLAGS+=-I${.CURDIR}/../../sys/contrib/ipfilter
++CFLAGS+=-I/usr/src/sys/contrib/ipfilter/netinet
++CFLAGS+=-I/usr/src/sys/contrib/ipfilter
+ CFLAGS+=-I${.CURDIR}/../../contrib/ipfilter
+ WARNS?= 0
+
+Only in sbin/ipnat: Makefile.orig
+diff -ur sbin.orig/sunlabel/Makefile sbin/sunlabel/Makefile
+--- sbin.orig/sunlabel/Makefile Thu Apr 7 20:27:57 2005
++++ sbin/sunlabel/Makefile Thu Apr 7 20:31:02 2005
+@@ -1,6 +1,6 @@
+ # $FreeBSD: src/sbin/sunlabel/Makefile,v 1.12 2004/02/01 13:09:26 ceri Exp $
+
+-.PATH: ${.CURDIR}/../../sys/geom
++.PATH: /usr/src/sys/geom
+
+ PROG= sunlabel
+ SRCS= sunlabel.c geom_sunlabel_enc.c
+Only in sbin/sunlabel: Makefile.orig
+diff -ur sbin.orig/vinum/Makefile sbin/vinum/Makefile
+--- sbin.orig/vinum/Makefile Thu Apr 7 20:27:57 2005
++++ sbin/vinum/Makefile Thu Apr 7 20:31:25 2005
+@@ -4,12 +4,12 @@
+ SRCS= v.c list.c vinumparser.c vinumutil.c vext.h commands.c
+ MAN= vinum.8
+
+-CFLAGS+= -I${.CURDIR}/../../sys
++CFLAGS+= -I/usr/src/sys
+ WARNS?= 0
+
+ DPADD= ${LIBREADLINE} ${LIBTERMCAP} ${LIBDEVSTAT} ${LIBKVM}
+ LDADD= -lreadline -ltermcap -ldevstat -lkvm
+
+-.PATH: ${.CURDIR}/../../sys/dev/vinum
++.PATH: /usr/src/sys/dev/vinum
+
+ .include <bsd.prog.mk>
+Only in sbin/vinum: Makefile.orig
diff --git a/sys-freebsd/freebsd-sbin/files/freebsd-sbin-flex.patch b/sys-freebsd/freebsd-sbin/files/freebsd-sbin-flex.patch
new file mode 100644
index 000000000000..4294146ee7fc
--- /dev/null
+++ b/sys-freebsd/freebsd-sbin/files/freebsd-sbin-flex.patch
@@ -0,0 +1,12 @@
+diff -ur sbin/devd/Makefile sbin-flex/devd/Makefile
+--- sbin/devd/Makefile 2003-08-17 08:40:49 +0000
++++ sbin-flex/devd/Makefile 2005-05-06 11:12:54 +0000
+@@ -8,7 +8,7 @@
+ NOSHARED?=YES
+
+ DPADD= ${LIBL}
+-LDADD= -ll
++LDADD= -lfl
+
+ YFLAGS+=-v
+ CFLAGS+=-I. -I${.CURDIR}
diff --git a/sys-freebsd/freebsd-sbin/files/freebsd-sbin-setXid.patch b/sys-freebsd/freebsd-sbin/files/freebsd-sbin-setXid.patch
new file mode 100644
index 000000000000..c8cbebc68c2b
--- /dev/null
+++ b/sys-freebsd/freebsd-sbin/files/freebsd-sbin-setXid.patch
@@ -0,0 +1,20 @@
+diff -ur sbin.orig/ping/Makefile sbin.setXid/ping/Makefile
+--- sbin.orig/ping/Makefile Thu Apr 7 20:27:57 2005
++++ sbin.setXid/ping/Makefile Thu Apr 7 20:42:02 2005
+@@ -18,4 +18,6 @@
+ LDADD+= -lipsec
+ .endif
+
++LDFLAGS+= -Wl,-z,now
++
+ .include <bsd.prog.mk>
+diff -ur sbin.orig/shutdown/Makefile sbin.setXid/shutdown/Makefile
+--- sbin.orig/shutdown/Makefile Thu Apr 7 20:27:57 2005
++++ sbin.setXid/shutdown/Makefile Thu Apr 7 20:42:17 2005
+@@ -7,4 +7,6 @@
+ BINGRP= operator
+ BINMODE=4550
+
++LDFLAGS+= -Wl,-z,now
++
+ .include <bsd.prog.mk>
diff --git a/sys-freebsd/freebsd-sbin/files/freebsd-sbin-zlib.patch b/sys-freebsd/freebsd-sbin/files/freebsd-sbin-zlib.patch
new file mode 100644
index 000000000000..b8a0437840d2
--- /dev/null
+++ b/sys-freebsd/freebsd-sbin/files/freebsd-sbin-zlib.patch
@@ -0,0 +1,21 @@
+diff -ur sbin/savecore/savecore.c sbin-zlib/savecore/savecore.c
+--- sbin/savecore/savecore.c 2005-02-26 01:21:50 +0000
++++ sbin-zlib/savecore/savecore.c 2005-05-06 12:00:06 +0000
+@@ -95,7 +95,7 @@
+ static int checkfor, compress, clear, force, keep, verbose; /* flags */
+ static int nfound, nsaved, nerr; /* statistics */
+
+-extern FILE *zopen(const char *, const char *);
++extern FILE *gzopen(const char *, const char *);
+
+ static void
+ printheader(FILE *f, const struct kerneldumpheader *h, const char *device,
+@@ -387,7 +387,7 @@
+ oumask = umask(S_IRWXG|S_IRWXO); /* Restrict access to the core file.*/
+ if (compress) {
+ sprintf(buf, "vmcore.%d.gz", bounds);
+- fp = zopen(buf, "w");
++ fp = gzopen(buf, "w");
+ } else {
+ sprintf(buf, "vmcore.%d", bounds);
+ fp = fopen(buf, "w");
diff --git a/sys-freebsd/freebsd-sbin/files/ipfw.initd b/sys-freebsd/freebsd-sbin/files/ipfw.initd
new file mode 100644
index 000000000000..27242befaa33
--- /dev/null
+++ b/sys-freebsd/freebsd-sbin/files/ipfw.initd
@@ -0,0 +1,73 @@
+#!/sbin/runscript
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-sbin/files/ipfw.initd,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+depend() {
+ before net
+}
+
+start() {
+ ebegin "Starting firewall"
+
+ retval=0
+
+ if ! sysctl net.inet.ip.fw.enable &>/dev/null; then
+ if ! kldload ipfwl then
+ eend 1 "Unable to load firewall module"
+ return 1
+ fi
+ fi
+
+ if [ -z "${firewall_script}" -o ! -f "${firewall_script}" ]; then
+ firewall_script=/etc/rc.firewall
+ fi
+
+ if [ -r "${firewall_script}" ]; then
+ source "${firewall_script}"
+ einfo "Loaded firewall rules; starting daemons"
+
+ if [ "${natd_enable}" == "yes" ]; then
+ # Find out whether $natd_interface is using dhcp
+ ifconfig_natd_iface=$(
+ eval source /etc/conf.d/net\;
+ echo \$\{ifconfig_${natd_interface}\})
+ if [ "${ifconfig_natd_iface}" == "dhcp" ]; then
+ natd_flags="${natd_flags} -dynamic"
+ fi
+
+ if [ -n "${natd_interface}" ]; then
+ # Yes, this is ugly.
+ if grep -q -E '^[0-9]+(\.[0-9]+){0,3}$' \
+ <<<${natd_interface}; then
+ natd_flags="${natd_flags} -a ${natd_interface}"
+ else
+ natd_flags="${natd_flags} -n ${natd_interface}"
+ fi
+ fi
+ start-stop-daemon --start --exec \
+ ${natd_program:-/sbin/natd} ${natd_flags} ${natd_ifarg} || retval=1
+ fi
+ elif [ "`ipfw l 65535`" = "65535 deny ip from any to any" ]; then
+ ewarn "Kernel has firewall functionality, but firewall rules aren't enabled!"
+ ewarn "All ip services are disabled.
+ fi
+
+ # Logging
+ if [ "${firewall_logging}" == "yes" ]; then
+ einfo "Enabling firewall logging"
+ sysctl net.inet.ip.fw.verbose=1 >/dev/null
+ fi
+
+ # And enable the firewall.
+ sysctl -w net.inet.ip.fw.enable=1
+
+ eend $retval "Failed to properly start firewall"
+}
+
+stop() {
+ ebegin "Stopping the firewall"
+ sysctl -w net.inet.ip.fw.enable=0
+ start-stop-daemon --stop --name "$(basename ${natd_program:-/sbin/natd})"
+ eend $? "Failed to properly stop the firewall"
+}
diff --git a/sys-freebsd/freebsd-sbin/files/sysctl.initd b/sys-freebsd/freebsd-sbin/files/sysctl.initd
new file mode 100644
index 000000000000..aea7833eb8fb
--- /dev/null
+++ b/sys-freebsd/freebsd-sbin/files/sysctl.initd
@@ -0,0 +1,30 @@
+#!/sbin/runscript
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-sbin/files/sysctl.initd,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+start() {
+ ebegin "Setting sysctl variables"
+ success=0
+
+ if [ -f /etc/sysctl.conf ]; then
+ grep -v '^#' /etc/sysctl.conf | while read var comments
+ do
+ if [[ -n ${var} ]]; then
+ name="${var%%=*}"
+ val="${var#*=}"
+ if [[ $(sysctl -N ${name} 2>/dev/null) == ${name} ]]; then
+ sysctl ${name}=${value} &>/dev/null
+ else
+ eerror "Kernel doesn't like ${name}"
+ success=1
+ fi
+ fi
+ done
+ else
+ eerror "No /etc/sysctl.conf found."
+ success=1
+ fi
+
+ eend $success "Some errors were encountered"
+}
diff --git a/sys-freebsd/freebsd-sbin/freebsd-sbin-6.0.ebuild b/sys-freebsd/freebsd-sbin/freebsd-sbin-6.0.ebuild
new file mode 100644
index 000000000000..fd13271e84c4
--- /dev/null
+++ b/sys-freebsd/freebsd-sbin/freebsd-sbin-6.0.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-sbin/freebsd-sbin-6.0.ebuild,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+inherit flag-o-matic bsdmk freebsd
+
+DESCRIPTION="FreeBSD sbin utils"
+KEYWORDS="~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"
+
+RDEPEND="=sys-freebsd/freebsd-lib-${RV}*
+ =sys-freebsd/freebsd-libexec-${RV}*
+ ssl? ( dev-libs/openssl )
+ sys-libs/readline"
+DEPEND="${RDEPEND}
+ =sys-freebsd/freebsd-sources-${RV}*
+ =sys-freebsd/freebsd-headers-${RV}*
+ =sys-freebsd/freebsd-mk-defs-${RV}*"
+
+PROVIDE="virtual/dev-manager
+ virtual/dhcpc"
+
+S="${WORKDIR}/sbin"
+
+IUSE="atm ipfilter ipv6 vinum suid"
+
+pkg_setup() {
+ use atm || mymakeopts="${mymakeopts} NO_ATM= "
+ use ipfilter || mymakeopts="${mymakeopts} NO_IPFILTER= "
+ use ipv6 || mymakeopts="${mymakeopts} NO_INET6= "
+ use vinum || mymakeopts="${mymakeopts} NO_VINUM= "
+ use suid || mymakeopts="${mymakeopts} NO_SUID= "
+
+ # O3 breaks this, apparently
+ replace-flags -O3 -O2
+}
+
+REMOVE_SUBDIRS="dhclient pfctl pflogd"
+
+PATCHES="${FILESDIR}/${PN}-setXid.patch
+ ${FILESDIR}/${PN}-zlib.patch"
+
+src_unpack() {
+ freebsd_src_unpack
+ ln -s "/usr/src/sys-${RV}" "${WORKDIR}/sys"
+}
+
+src_install() {
+ freebsd_src_install
+ keepdir /var/log
+
+ newinitd ${FILESDIR}/ipfw.initd ipfw
+ newinitd ${FILESDIR}/sysctl.initd sysctl
+
+ cd ${WORKDIR}/etc/
+ insinto /etc
+ doins devd.conf pccard_ether defaults/pccard.conf minfree rc.firewall \
+ sysctl.conf
+
+ # 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
new file mode 100644
index 000000000000..ecedda4aa2cc
--- /dev/null
+++ b/sys-freebsd/freebsd-sbin/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>bsd</herd>
+</pkgmetadata>
diff --git a/sys-freebsd/freebsd-share/ChangeLog b/sys-freebsd/freebsd-share/ChangeLog
new file mode 100644
index 000000000000..a558aa3554ee
--- /dev/null
+++ b/sys-freebsd/freebsd-share/ChangeLog
@@ -0,0 +1,51 @@
+# ChangeLog for sys-apps/freebsd-share
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-share/ChangeLog,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+*freebsd-share-6.0 (01 Apr 2006)
+
+ 01 Apr 2006; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-share-5.3-colldef-makefile_links.patch,
+ +files/freebsd-share-5.3-doc-locations.patch,
+ +files/freebsd-share-5.4-gentoo-skel.patch,
+ +files/freebsd-share-6.0-links.patch, +metadata.xml,
+ +freebsd-share-6.0.ebuild:
+ Import into portage.
+
+ 12 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Add patch to drop broken linkage, might require more work as it's just a
+ workaround.
+
+ 20 Nov 2005; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Installs default skel content in /etc/skel as usual on Gentoo, also disable
+ some content that's not Gentoo-style and might create problems to users.
+
+ 02 Sep 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-share-5.4-r1.ebuild:
+ Removed stray epatch lines that broke the ebuild.
+
+ 25 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-share-5.3-colldef-makefile_links.patch,
+ +files/freebsd-share-5.3-doc-locations.patch,
+ +freebsd-share-5.4-r1.ebuild:
+ Moved to sys-freebsd.
+
+ 15 Jul 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-share-5.4-r1.ebuild:
+ Add nostrip restriction.
+
+*freebsd-share-5.4-r1 (15 Jul 2005)
+
+ 15 Jul 2005; Diego Pettenò <flameeyes@gentoo.org>
+ -freebsd-share-5.4.ebuild, +freebsd-share-5.4-r1.ebuild:
+ Don't install make.conf.5 manpage (it's for ports), close #99129. Fix
+ missing SLOT.
+
+*freebsd-share-5.3.20050301 (23 Mar 2005)
+
+ 23 Mar 2005; Otavio R. Piske <angusyoung@gentoo.org>
+ +files/freebsd-share-5.3-doc-locations.patch,
+ +freebsd-share-5.3.20050301.ebuild:
+ New ebuild for freebsd-share, with support for USE Flags. Thanks for Diego
+ Petterno (dgp85@users.sourceforge.net) for submitting the patch.
+
diff --git a/sys-freebsd/freebsd-share/Manifest b/sys-freebsd/freebsd-share/Manifest
new file mode 100644
index 000000000000..620eba6d1154
--- /dev/null
+++ b/sys-freebsd/freebsd-share/Manifest
@@ -0,0 +1,27 @@
+MD5 77823b1234a8d484b5655bdd39ca1654 ChangeLog 1524
+RMD160 ec2f5560afe2501a963f555da6d93c0a94c2032e ChangeLog 1524
+SHA256 e06c2e8049c183fad211b9816a52c0248006f7760c234f590c79ea252ec4dedf ChangeLog 1524
+MD5 4b14a4bacba622804d106bb0e3e9d893 files/digest-freebsd-share-5.4-r2 630
+RMD160 7f57b5096455eb6b3127fbf1e5a806367030e6dc files/digest-freebsd-share-5.4-r2 630
+SHA256 eb144ba8189b6540cd94d0ba8026d7765a120910228ed7efa35269cc662b0944 files/digest-freebsd-share-5.4-r2 630
+MD5 9df18c09e00bb435178f47309da0022c files/digest-freebsd-share-6.0 629
+RMD160 5a4221a9c17f7dee7bfbbaf03ef384731bd16909 files/digest-freebsd-share-6.0 629
+SHA256 1f27c5f30a05af922bf8d1f71572760ca643eae7793b9e1d7e8f8137f1adefef files/digest-freebsd-share-6.0 629
+MD5 868e15a282373a3dfe5fe35c089b5749 files/freebsd-share-5.3-colldef-makefile_links.patch 1489
+RMD160 5d84beb35505a0dea9652597691cbf63d18fb703 files/freebsd-share-5.3-colldef-makefile_links.patch 1489
+SHA256 9f2a653876344a8a2b2d9bf352bc24d92932193d14c5ab38a77a2bd27d86ede3 files/freebsd-share-5.3-colldef-makefile_links.patch 1489
+MD5 d56dde6f046f8f97d2c2995dacf16751 files/freebsd-share-5.3-doc-locations.patch 608
+RMD160 62c5b4b8cfe410c41bab4b64e4c47828512a8595 files/freebsd-share-5.3-doc-locations.patch 608
+SHA256 d949e9081a181ab9443a18e56949905a77eff2cbd16d09d37b8abb5771cee3b6 files/freebsd-share-5.3-doc-locations.patch 608
+MD5 a6c7d6e68b3ee2cd119b5085c37a1e12 files/freebsd-share-5.4-gentoo-skel.patch 621
+RMD160 52351bb7b714bb458304d8547c7b113fce622d2e files/freebsd-share-5.4-gentoo-skel.patch 621
+SHA256 5480127971c2a5df5faf44355d5ed6a8586923577d37e6cff10805626726c767 files/freebsd-share-5.4-gentoo-skel.patch 621
+MD5 5b3ed8d353ad16881f8786815724678a files/freebsd-share-6.0-links.patch 539
+RMD160 272e428e61ceb22e204bf82bce94bc808c67f4b3 files/freebsd-share-6.0-links.patch 539
+SHA256 4858d5ba24d64ff41111142eeeecdb226703501b7a637b03baa3a7f5d0af9261 files/freebsd-share-6.0-links.patch 539
+MD5 4b6c9dbaa01a0bb6b66422fe9919a2de freebsd-share-5.4-r2.ebuild 1426
+RMD160 cd0422c60c0daad5f913b25a58887854d3e3337e freebsd-share-5.4-r2.ebuild 1426
+SHA256 0d58e3ff00bdaf42d1f67964c7f9eaa08b7b1a79a905151cf9f5779719ebac37 freebsd-share-5.4-r2.ebuild 1426
+MD5 323113002974aa5dc58cd07c4682d971 freebsd-share-6.0.ebuild 1414
+RMD160 ff60f98f798acdfdffa3a4d493668bb538d10aa3 freebsd-share-6.0.ebuild 1414
+SHA256 5ff0b9a4bced7e71224534ef44a8da65b27ae04b403cc25b0de12ac691d03bea freebsd-share-6.0.ebuild 1414
diff --git a/sys-freebsd/freebsd-share/files/digest-freebsd-share-6.0 b/sys-freebsd/freebsd-share/files/digest-freebsd-share-6.0
new file mode 100644
index 000000000000..7b187a7b92a9
--- /dev/null
+++ b/sys-freebsd/freebsd-share/files/digest-freebsd-share-6.0
@@ -0,0 +1,9 @@
+MD5 344c333bda07c4d345e9fc7a3edf81b2 freebsd-bin-6.0.tar.bz2 403680
+MD5 b5b626909c9707d0bab0c54b50e132b9 freebsd-contrib-6.0.tar.bz2 34972594
+MD5 7c2af3af5be2f46372f9cc0efaeda4c7 freebsd-etc-6.0.tar.bz2 178941
+MD5 59f100898221e4024b80178ffec25192 freebsd-gnu-6.0.tar.bz2 866160
+MD5 3888da5da1cb329a65a3ac9d316f99ea freebsd-lib-6.0.tar.bz2 2613087
+MD5 961eeb893125bfaa47a7d2f2fee9f2c2 freebsd-sbin-6.0.tar.bz2 1132085
+MD5 e6da34bbe65a9cb2031e0613ab46108c freebsd-share-6.0.tar.bz2 3719732
+MD5 62d4513f9f16d2eadfc3f1d5be53acee freebsd-ubin-6.0.tar.bz2 1760986
+MD5 df8c3764da190437a1d47c6ff1872520 freebsd-usbin-6.0.tar.bz2 2635411
diff --git a/sys-freebsd/freebsd-share/files/freebsd-share-5.3-colldef-makefile_links.patch b/sys-freebsd/freebsd-share/files/freebsd-share-5.3-colldef-makefile_links.patch
new file mode 100644
index 000000000000..167358fe8c5d
--- /dev/null
+++ b/sys-freebsd/freebsd-share/files/freebsd-share-5.3-colldef-makefile_links.patch
@@ -0,0 +1,46 @@
+--- colldef/Makefile.orig Sat Feb 5 16:47:55 2005
++++ colldef/Makefile Sat Feb 5 16:48:21 2005
+@@ -106,42 +106,6 @@
+ uk_UA.ISO8859-5.out: map.ISO8859-5
+ uk_UA.KOI8-U.out: map.KOI8-U
+
+-afterinstall:
+-.for locale in ${LOCALES}
+- ${INSTALL} -m 644 -o ${BINOWN} -g ${BINGRP} \
+- ${locale}.out ${LOCALEDIR}/${locale}/LC_COLLATE
+-.endfor
+-.for link in ${ASCIILINKS}
+- ln -fs ../la_LN.US-ASCII/LC_COLLATE \
+- ${LOCALEDIR}/${link}/LC_COLLATE
+-.endfor
+-.for link in ${ZHLINKS}
+- ln -fs ../is_IS.ISO8859-1/LC_COLLATE \
+- ${LOCALEDIR}/${link}/LC_COLLATE
+-.endfor
+-.for link in ${LATIN1LINKS}
+- ln -fs ../la_LN.ISO8859-1/LC_COLLATE \
+- ${LOCALEDIR}/${link}.ISO8859-1/LC_COLLATE
+- ln -fs ../la_LN.ISO8859-15/LC_COLLATE \
+- ${LOCALEDIR}/${link}.ISO8859-15/LC_COLLATE
+-.endfor
+-.for link in ${LATIN2LINKS}
+- ln -fs ../la_LN.ISO8859-2/LC_COLLATE \
+- ${LOCALEDIR}/${link}.ISO8859-2/LC_COLLATE
+-.endfor
+-.for link in ${DELINKS}
+- ln -fs ../de_DE.ISO8859-1/LC_COLLATE \
+- ${LOCALEDIR}/${link}.ISO8859-1/LC_COLLATE
+- ln -fs ../de_DE.ISO8859-15/LC_COLLATE \
+- ${LOCALEDIR}/${link}.ISO8859-15/LC_COLLATE
+-.endfor
+- ln -fs ../cs_CZ.ISO8859-2/LC_COLLATE \
+- ${LOCALEDIR}/sk_SK.ISO8859-2/LC_COLLATE
+- ln -fs ../pt_PT.ISO8859-1/LC_COLLATE \
+- ${LOCALEDIR}/pt_BR.ISO8859-1/LC_COLLATE
+-.for link in ${UTF8LINKS}
+- ln -fs ../la_LN.US-ASCII/LC_COLLATE \
+- ${LOCALEDIR}/${link}.UTF-8/LC_COLLATE
+-.endfor
++#afterinstall:
+
+ .include <bsd.prog.mk>
diff --git a/sys-freebsd/freebsd-share/files/freebsd-share-5.3-doc-locations.patch b/sys-freebsd/freebsd-share/files/freebsd-share-5.3-doc-locations.patch
new file mode 100644
index 000000000000..c0798d3db147
--- /dev/null
+++ b/sys-freebsd/freebsd-share/files/freebsd-share-5.3-doc-locations.patch
@@ -0,0 +1,20 @@
+--- examples/smbfs/Makefile.orig Tue Mar 22 15:20:20 2005
++++ examples/smbfs/Makefile Tue Mar 22 15:20:46 2005
+@@ -2,6 +2,7 @@
+
+ NOOBJ=
+ BINDIR= /usr/share/examples/smbfs
++FILESDIR= ${DOCDIR}/smbfs
+ FILES= dot.nsmbrc
+
+ .PATH: ${.CURDIR}/../../../contrib/smbfs/examples
+--- examples/smbfs/print/Makefile.orig Tue Mar 22 15:22:17 2005
++++ examples/smbfs/print/Makefile Tue Mar 22 15:22:35 2005
+@@ -2,6 +2,7 @@
+
+ NOOBJ=
+ BINDIR= /usr/share/examples/smbfs/print
++FILESDIR= ${DOCDIR}/smbfs/print
+ FILES= lj6l ljspool printcap.sample tolj
+
+ .PATH: ${.CURDIR}/../../../../contrib/smbfs/examples/print
diff --git a/sys-freebsd/freebsd-share/files/freebsd-share-5.4-gentoo-skel.patch b/sys-freebsd/freebsd-share/files/freebsd-share-5.4-gentoo-skel.patch
new file mode 100644
index 000000000000..f668d04c4f9c
--- /dev/null
+++ b/sys-freebsd/freebsd-share/files/freebsd-share-5.4-gentoo-skel.patch
@@ -0,0 +1,20 @@
+Index: fbsd/share/skel/Makefile
+===================================================================
+--- fbsd.orig/share/skel/Makefile
++++ fbsd/share/skel/Makefile
+@@ -2,11 +2,11 @@
+ # $FreeBSD: src/share/skel/Makefile,v 1.9.2.1 2005/02/13 07:23:30 obrien Exp $
+
+ FILESGROUPS= FILES1 FILES2
+-FILES1= dot.cshrc dot.login dot.login_conf dot.mailrc dot.profile \
++FILES1= dot.login_conf dot.mailrc \
+ dot.shrc
+-FILES2= dot.mail_aliases dot.rhosts
+-FILES1DIR= /usr/share/skel
+-FILES2DIR= /usr/share/skel
++FILES2= dot.mail_aliases
++FILES1DIR= /etc/skel
++FILES2DIR= /etc/skel
+ FILES1MODE= 0644
+ FILES2MODE= 0600
+ NOOBJ=
diff --git a/sys-freebsd/freebsd-share/files/freebsd-share-6.0-links.patch b/sys-freebsd/freebsd-share/files/freebsd-share-6.0-links.patch
new file mode 100644
index 000000000000..a79b44377dec
--- /dev/null
+++ b/sys-freebsd/freebsd-share/files/freebsd-share-6.0-links.patch
@@ -0,0 +1,15 @@
+Index: fbsd-6/share/colldef/Makefile
+===================================================================
+--- fbsd-6.orig/share/colldef/Makefile
++++ fbsd-6/share/colldef/Makefile
+@@ -98,8 +98,8 @@ SYMLINKS=
+ .for enc1 in ${ENCODINGS}
+ .for enc2 in ${ENCODINGS}
+ .for lang_terr in ${${enc1}_${enc2}}
+-SYMLINKS+= ../${lang_terr:C/:.*$//}.${enc1}/${FILESNAME} \
+- ${LOCALEDIR}/${lang_terr:C/^.*://}.${enc2}
++#SYMLINKS+= ../${lang_terr:C/:.*$//}.${enc1}/${FILESNAME} \
++# ${LOCALEDIR}/${lang_terr:C/^.*://}.${enc2}
+ .endfor
+ .endfor
+ .endfor
diff --git a/sys-freebsd/freebsd-share/freebsd-share-6.0.ebuild b/sys-freebsd/freebsd-share/freebsd-share-6.0.ebuild
new file mode 100644
index 000000000000..4ce0ee7045d2
--- /dev/null
+++ b/sys-freebsd/freebsd-share/freebsd-share-6.0.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-share/freebsd-share-6.0.ebuild,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+inherit bsdmk freebsd
+
+DESCRIPTION="FreeBSD shared tools/files"
+SLOT="0"
+KEYWORDS="~x86-fbsd"
+
+IUSE="doc isdn"
+
+SRC_URI="mirror://gentoo/${SHARE}.tar.bz2
+ mirror://gentoo/${CONTRIB}.tar.bz2
+ mirror://gentoo/${GNU}.tar.bz2
+ mirror://gentoo/${UBIN}.tar.bz2
+ mirror://gentoo/${USBIN}.tar.bz2
+ mirror://gentoo/${SBIN}.tar.bz2
+ mirror://gentoo/${BIN}.tar.bz2
+ mirror://gentoo/${LIB}.tar.bz2
+ mirror://gentoo/${ETC}.tar.bz2"
+
+DEPEND="=sys-freebsd/freebsd-mk-defs-${RV}*"
+RDEPEND=""
+
+RESTRICT="nostrip"
+
+S="${WORKDIR}/share"
+
+pkg_setup() {
+ use isdn || mymakeopts="${mymakeopts} NO_I4B= "
+ use doc || mymakeopts="${mymakeopts} NO_SHAREDOCS= "
+
+ mymakeopts="${mymakeopts} NO_SENDMAIL= "
+}
+
+REMOVE_SUBDIRS="mk termcap"
+
+PATCHES="${FILESDIR}/${PN}-5.3-doc-locations.patch
+ ${FILESDIR}/${PN}-5.4-gentoo-skel.patch
+ ${FILESDIR}/${PN}-6.0-links.patch"
+
+src_unpack() {
+ freebsd_src_unpack
+
+ sed -i -e 's:make.conf.5::' ${S}/man/man5/Makefile
+
+ # Remove them so that they can't be included by error
+ rm -rf ${S}/mk/*.mk
+}
+
+src_compile() {
+ # This is a groff problem and not a -shared problem.
+ export GROFF_TMAC_PATH="/usr/share/tmac/:/usr/share/groff/1.19.1/tmac/"
+ mkmake || die "emake failed"
+}
+
+src_install() {
+ mkmake DESTDIR=${D} DOCDIR=/usr/share/doc/${PF} install || die "Install failed"
+}
diff --git a/sys-freebsd/freebsd-share/metadata.xml b/sys-freebsd/freebsd-share/metadata.xml
new file mode 100644
index 000000000000..ecedda4aa2cc
--- /dev/null
+++ b/sys-freebsd/freebsd-share/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>bsd</herd>
+</pkgmetadata>
diff --git a/sys-freebsd/freebsd-sources/ChangeLog b/sys-freebsd/freebsd-sources/ChangeLog
new file mode 100644
index 000000000000..5e5f80fab0f7
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/ChangeLog
@@ -0,0 +1,87 @@
+# ChangeLog for sys-kernel/freebsd-sources
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-sources/ChangeLog,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+*freebsd-sources-6.0-r1 (01 Apr 2006)
+
+ 01 Apr 2006; Diego Pettenò <flameeyes@gentoo.org>
+ +files/SA-05-09-htt5.patch, +files/SA-05-13-ipfw.patch,
+ +files/SA-05-15-tcp.patch, +files/SA-05-17-devfs.patch,
+ +files/SA-05-19-ipsec.patch, +files/SA-06-05-80211.patch,
+ +files/freebsd-sources-6.0-gentoover.patch, +files/SA-06-04-ipfw.patch,
+ +files/SA-06-06-kmem60.patch, +files/SA-06-07-pf.patch,
+ +files/freebsd-sources-6.0-flex-2.5.31.patch,
+ +files/freebsd-sources-gentoo.patch, +metadata.xml,
+ +freebsd-sources-6.0-r1.ebuild:
+ Import into portage.
+
+ 23 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Apply all the security patches missing.
+
+ 23 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Make sure that we don't end up having sys-${RV} being a directory.
+
+ 21 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ ADd patch to build kernel with newer flex.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Do the ${RV} symlink only if the ${PVR} is different.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Make sure a sys-${RV} symlink is present, so that we can have a sys
+ directory for the different releases (useful while building stuff.
+
+*freebsd-sources-5.4-r4 (25 Aug 2005)
+
+ 25 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/SA-05-09-htt5.patch, +files/SA-05-13-ipfw.patch,
+ +files/SA-05-15-tcp.patch, +files/SA-05-17-devfs.patch,
+ +files/SA-05-19-ipsec.patch, +files/freebsd-sources-gentoo.patch,
+ +freebsd-sources-5.4-r4.ebuild:
+ Moved to sys-freebsd.
+
+*freebsd-sources-5.4-r3 (21 Jul 2005)
+
+ 21 Jul 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/SA-05-17-devfs.patch, files/freebsd-sources-gentoo.patch,
+ -files/freebsd-sources-gentoo-gcc.patch, -freebsd-sources-5.4-r2.ebuild,
+ +freebsd-sources-5.4-r3.ebuild:
+ Update to patch for FreeBSD-SA-05:17.devfs and added branding.
+
+ 15 Jul 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-sources-5.4-r2.ebuild:
+ Added symlink useflag, fixed symlink creation for -rX ebuilds. Added nostrip
+ restriction (it's a sources ebuild).
+
+*freebsd-sources-5.4-r2 (30 Jun 2005)
+*freebsd-sources-5.3-r2 (30 Jun 2005)
+
+ 30 Jun 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/SA-05-13-ipfw.patch, +files/SA-05-15-tcp.patch,
+ +freebsd-sources-5.3-r2.ebuild, +freebsd-sources-5.4-r2.ebuild:
+ Added patches for Security Advisories 05:13-ipfw and 05:15-tcp.
+
+ 13 May 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-sources-gentoo.patch, freebsd-sources-5.3-r1.ebuild,
+ freebsd-sources-5.4-r1.ebuild:
+ Slotted, now installing in /usr/src/sys-${PVR} similarly to linux.
+
+*freebsd-sources-5.4-r1 (13 May 2005)
+*freebsd-sources-5.3-r1 (13 May 2005)
+
+ 13 May 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/SA-05-09-htt5.patch, -files/ich-sound.patch,
+ -freebsd-sources-5.3.ebuild, +freebsd-sources-5.3-r1.ebuild,
+ -freebsd-sources-5.4.ebuild, +freebsd-sources-5.4-r1.ebuild:
+ Added security patch for advisory FreeBSD-SA-05:09.htt.
+
+*freebsd-sources-5.4_rc4 (05 May 2005)
+
+ 05 May 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +freebsd-sources-5.4_rc4.ebuild:
+ Added 5.4_rc4.
+
+ 15 Sep 2004; Otavio Piske <angusyoung@gentoo.org> freebsd-sources-5.2.1.ebuild:
+ Initial release
+
+*freebsd-sources-5.2.1.ebuild (15 Sep 2004)
diff --git a/sys-freebsd/freebsd-sources/Manifest b/sys-freebsd/freebsd-sources/Manifest
new file mode 100644
index 000000000000..ba1dec9a1f87
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/Manifest
@@ -0,0 +1,54 @@
+MD5 d55a6404bcba6a45310c9133469aa1bd ChangeLog 2881
+RMD160 8f77d8ab0b96781b8c19f5e4a9c271152d5cc038 ChangeLog 2881
+SHA256 4dea5e09777631979656cd194cdf5b0ce00e6ab2e8deb41ad4023b8905441f86 ChangeLog 2881
+MD5 ff925b30e457f80679659e17125e2e4a files/SA-05-09-htt5.patch 11034
+RMD160 6ba0276066c8f528b3cf049d25426a075943090a files/SA-05-09-htt5.patch 11034
+SHA256 40d82531f28da61df2231b92654fc861b5f45b0ed0a81d6308a9d89459152247 files/SA-05-09-htt5.patch 11034
+MD5 cbb07cff6ee458ed574e3218513e3ed8 files/SA-05-13-ipfw.patch 1967
+RMD160 767a0a0b46a7550f255bc2ffbe962d7f97023c95 files/SA-05-13-ipfw.patch 1967
+SHA256 2d9f4c195e9b226d8f6a076cd38c0691536c48f18794a5b63808cf07b092ae52 files/SA-05-13-ipfw.patch 1967
+MD5 34f9d0f1871273bc834b607bbebcb7a8 files/SA-05-15-tcp.patch 2501
+RMD160 16447da92bf3140e53477b23e73560451b95ed1d files/SA-05-15-tcp.patch 2501
+SHA256 761582ecdb7a9f9dfce9be9783bcabd7de2379271d0b29eab1cc9dde11800090 files/SA-05-15-tcp.patch 2501
+MD5 02f702101aa9d14dc83c8b2f543ea73f files/SA-05-17-devfs.patch 695
+RMD160 03fb610c447cb09b7e90a862d8286cf6c123774c files/SA-05-17-devfs.patch 695
+SHA256 6948a974dbd7f9275bf1ae24b092fb3cada718b51181a0ebf78ad70e3ffc37f1 files/SA-05-17-devfs.patch 695
+MD5 0f845ed7e8707853ffc952632a54a7fd files/SA-05-19-ipsec.patch 1791
+RMD160 86bfb44c530f26d56ca2caaea605006a96b60b87 files/SA-05-19-ipsec.patch 1791
+SHA256 2e73c9a33a825628064e30069a0ab7b9fb2bf6fd3fc2112d82313b0d10e488f2 files/SA-05-19-ipsec.patch 1791
+MD5 ad048c616ac22cb627fd226084ca33e3 files/SA-06-04-ipfw.patch 637
+RMD160 77e10b9e2148f59bd4a96eafa1f2e39c014d562e files/SA-06-04-ipfw.patch 637
+SHA256 4d7b1a9c39c51e4ef1d30f1af4df5aa77f04ef454821fefdc57060c0d4a5fda3 files/SA-06-04-ipfw.patch 637
+MD5 2ff510d66e5940e1c560ad37d6cca1bd files/SA-06-05-80211.patch 1817
+RMD160 c41ac33f42b5c4d979d070d002060cbdd65f571c files/SA-06-05-80211.patch 1817
+SHA256 9504860db3522b234cbb13a06c16b125056652ad8d96ad5637006c086cc82151 files/SA-06-05-80211.patch 1817
+MD5 7fdf2781fcbb088f74b2f4101b465bc0 files/SA-06-06-kmem60.patch 1556
+RMD160 0f641a485c6e9f7150b44567024f9d965b52de29 files/SA-06-06-kmem60.patch 1556
+SHA256 b936aa96fb99cc58ac63f66172f0e2c51e8c603551f47e17e09b1d574960500d files/SA-06-06-kmem60.patch 1556
+MD5 525228df597306f1e2fb3b2981ed26ee files/SA-06-07-pf.patch 647
+RMD160 c605dcdfa97381edc7b5c16b8818c30deecabd4b files/SA-06-07-pf.patch 647
+SHA256 876dc53071bf2f743ae443eed42fa55a5d902a7c7902e1f1581dd20979be12c7 files/SA-06-07-pf.patch 647
+MD5 d09441d1d1ddaca424c7a7f1547281f9 files/digest-freebsd-sources-5.4-r4 70
+RMD160 b792389526d08d60e1f57814349e516c0f7da08b files/digest-freebsd-sources-5.4-r4 70
+SHA256 6217af6412b913451f9708aa0161056005cb54092e49c77e56ec16171e940254 files/digest-freebsd-sources-5.4-r4 70
+MD5 fdd5f9464a24e94d9c07afb96d280ec8 files/digest-freebsd-sources-6.0-r1 256
+RMD160 f0a1c1e21d535da51ee9e2839293c99a8b3fea3b files/digest-freebsd-sources-6.0-r1 256
+SHA256 d131f7b9b2b777da5691e816935b626d3c2bb33eaf3085b5dac2e64f1c9011ad files/digest-freebsd-sources-6.0-r1 256
+MD5 2cfe8b4cbc3c0027d0c967740511beb9 files/freebsd-sources-5.4-gentoover.patch 569
+RMD160 f8fd0df60b66746d8f1f38e1625a798b7643440e files/freebsd-sources-5.4-gentoover.patch 569
+SHA256 89bfe34d80eaf89e8fc0706d9ebd2c3540cc5e2cbcae22aefcf042f59f618a98 files/freebsd-sources-5.4-gentoover.patch 569
+MD5 cc7f31d9d11f552a06379d58f076a154 files/freebsd-sources-6.0-flex-2.5.31.patch 826
+RMD160 a93341cfba5ddbd8df777273591ce21164f3ed41 files/freebsd-sources-6.0-flex-2.5.31.patch 826
+SHA256 8aaf240a344106fc5434fd098eb6555a554d16513b71c95f93a93388021c3d99 files/freebsd-sources-6.0-flex-2.5.31.patch 826
+MD5 c0b1372211b9f1eaa2d8a2715cb0b4b8 files/freebsd-sources-6.0-gentoover.patch 653
+RMD160 673b66cb91874a667546f9b39b973c6713f2832a files/freebsd-sources-6.0-gentoover.patch 653
+SHA256 16a6e168c993a64e4000bab47e3ba6c09e727198025422b3c89d52e88ceca76f files/freebsd-sources-6.0-gentoover.patch 653
+MD5 4330b108279af439a1b22dbaabe7976f files/freebsd-sources-gentoo.patch 1750
+RMD160 220e9fc91fa2691889792d812ba64fea5e90b411 files/freebsd-sources-gentoo.patch 1750
+SHA256 cf488cd530f1e49c80296937939024eb7cca09666325f3232af186cf376119bb files/freebsd-sources-gentoo.patch 1750
+MD5 94701f2e8a9542f5ec0c30b6484cc595 freebsd-sources-5.4-r4.ebuild 1243
+RMD160 3e48295e49cf036d26a9943b8a53d6aa1b925475 freebsd-sources-5.4-r4.ebuild 1243
+SHA256 0333067aed60c13049a1770aac44d8dd66082d32b6bebf1630c19fb4ec06af52 freebsd-sources-5.4-r4.ebuild 1243
+MD5 30aba4756223f058fe6559099e14385c freebsd-sources-6.0-r1.ebuild 1574
+RMD160 800f90300c3b753a1fb4757b50f452f255a305de freebsd-sources-6.0-r1.ebuild 1574
+SHA256 d31e8ca386b69eed2c1dfdc9b3a824692b69f324cb1c72ff07fb1492b21bf4d6 freebsd-sources-6.0-r1.ebuild 1574
diff --git a/sys-freebsd/freebsd-sources/files/SA-05-09-htt5.patch b/sys-freebsd/freebsd-sources/files/SA-05-09-htt5.patch
new file mode 100644
index 000000000000..56d2e396f72f
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/SA-05-09-htt5.patch
@@ -0,0 +1,372 @@
+Index: sys/amd64/amd64/mp_machdep.c
+===================================================================
+RCS file: /home/ncvs/src/sys/amd64/amd64/mp_machdep.c,v
+retrieving revision 1.242.2.10
+diff -u -p -r1.242.2.10 mp_machdep.c
+--- sys/amd64/amd64/mp_machdep.c 1 May 2005 05:34:45 -0000 1.242.2.10
++++ sys/amd64/amd64/mp_machdep.c 12 May 2005 15:22:54 -0000
+@@ -142,6 +142,9 @@ static int start_ap(int apic_id);
+ static void release_aps(void *dummy);
+
+ static int hlt_logical_cpus;
++static u_int hyperthreading_cpus;
++static cpumask_t hyperthreading_cpus_mask;
++static int hyperthreading_allowed;
+ static struct sysctl_ctx_list logical_cpu_clist;
+ static u_int bootMP_size;
+
+@@ -301,6 +304,7 @@ void
+ cpu_mp_start(void)
+ {
+ int i;
++ u_int threads_per_cache, p[4];
+
+ /* Initialize the logical ID to APIC ID table. */
+ for (i = 0; i < MAXCPU; i++) {
+@@ -340,6 +344,48 @@ cpu_mp_start(void)
+ if (cpu_feature & CPUID_HTT)
+ logical_cpus = (cpu_procinfo & CPUID_HTT_CORES) >> 16;
+
++ /*
++ * Work out if hyperthreading is *really* enabled. This
++ * is made really ugly by the fact that processors lie: Dual
++ * core processors claim to be hyperthreaded even when they're
++ * not, presumably because they want to be treated the same
++ * way as HTT with respect to per-cpu software licensing.
++ * At the time of writing (May 12, 2005) the only hyperthreaded
++ * cpus are from Intel, and Intel's dual-core processors can be
++ * identified via the "deterministic cache parameters" cpuid
++ * calls.
++ */
++ /*
++ * First determine if this is an Intel processor which claims
++ * to have hyperthreading support.
++ */
++ if ((cpu_feature & CPUID_HTT) &&
++ (strcmp(cpu_vendor, "GenuineIntel") == 0)) {
++ /*
++ * If the "deterministic cache parameters" cpuid calls
++ * are available, use them.
++ */
++ if (cpu_high >= 4) {
++ /* Ask the processor about up to 32 caches. */
++ for (i = 0; i < 32; i++) {
++ cpuid_count(4, i, p);
++ threads_per_cache = ((p[0] & 0x3ffc000) >> 14) + 1;
++ if (hyperthreading_cpus < threads_per_cache)
++ hyperthreading_cpus = threads_per_cache;
++ if ((p[0] & 0x1f) == 0)
++ break;
++ }
++ }
++
++ /*
++ * If the deterministic cache parameters are not
++ * available, or if no caches were reported to exist,
++ * just accept what the HTT flag indicated.
++ */
++ if (hyperthreading_cpus == 0)
++ hyperthreading_cpus = logical_cpus;
++ }
++
+ set_logical_apic_ids();
+ }
+
+@@ -474,6 +520,11 @@ init_secondary(void)
+ if (logical_cpus > 1 && PCPU_GET(apic_id) % logical_cpus != 0)
+ logical_cpus_mask |= PCPU_GET(cpumask);
+
++ /* Determine if we are a hyperthread. */
++ if (hyperthreading_cpus > 1 &&
++ PCPU_GET(apic_id) % hyperthreading_cpus != 0)
++ hyperthreading_cpus_mask |= PCPU_GET(cpumask);
++
+ /* Build our map of 'other' CPUs. */
+ PCPU_SET(other_cpus, all_cpus & ~PCPU_GET(cpumask));
+
+@@ -1148,6 +1199,9 @@ sysctl_hlt_cpus(SYSCTL_HANDLER_ARGS)
+ else
+ hlt_logical_cpus = 0;
+
++ if (! hyperthreading_allowed)
++ mask |= hyperthreading_cpus_mask;
++
+ if ((mask & all_cpus) == all_cpus)
+ mask &= ~(1<<0);
+ hlt_cpus_mask = mask;
+@@ -1172,6 +1226,9 @@ sysctl_hlt_logical_cpus(SYSCTL_HANDLER_A
+ else
+ hlt_cpus_mask &= ~logical_cpus_mask;
+
++ if (! hyperthreading_allowed)
++ hlt_cpus_mask |= hyperthreading_cpus_mask;
++
+ if ((hlt_cpus_mask & all_cpus) == all_cpus)
+ hlt_cpus_mask &= ~(1<<0);
+
+@@ -1179,6 +1236,34 @@ sysctl_hlt_logical_cpus(SYSCTL_HANDLER_A
+ return (error);
+ }
+
++static int
++sysctl_hyperthreading_allowed(SYSCTL_HANDLER_ARGS)
++{
++ int allowed, error;
++
++ allowed = hyperthreading_allowed;
++ error = sysctl_handle_int(oidp, &allowed, 0, req);
++ if (error || !req->newptr)
++ return (error);
++
++ if (allowed)
++ hlt_cpus_mask &= ~hyperthreading_cpus_mask;
++ else
++ hlt_cpus_mask |= hyperthreading_cpus_mask;
++
++ if (logical_cpus_mask != 0 &&
++ (hlt_cpus_mask & logical_cpus_mask) == logical_cpus_mask)
++ hlt_logical_cpus = 1;
++ else
++ hlt_logical_cpus = 0;
++
++ if ((hlt_cpus_mask & all_cpus) == all_cpus)
++ hlt_cpus_mask &= ~(1<<0);
++
++ hyperthreading_allowed = allowed;
++ return (error);
++}
++
+ static void
+ cpu_hlt_setup(void *dummy __unused)
+ {
+@@ -1198,6 +1283,22 @@ cpu_hlt_setup(void *dummy __unused)
+
+ if (hlt_logical_cpus)
+ hlt_cpus_mask |= logical_cpus_mask;
++
++ /*
++ * If necessary for security purposes, force
++ * hyperthreading off, regardless of the value
++ * of hlt_logical_cpus.
++ */
++ if (hyperthreading_cpus_mask) {
++ TUNABLE_INT_FETCH("machdep.hyperthreading_allowed",
++ &hyperthreading_allowed);
++ SYSCTL_ADD_PROC(&logical_cpu_clist,
++ SYSCTL_STATIC_CHILDREN(_machdep), OID_AUTO,
++ "hyperthreading_allowed", CTLTYPE_INT|CTLFLAG_RW,
++ 0, 0, sysctl_hyperthreading_allowed, "IU", "");
++ if (! hyperthreading_allowed)
++ hlt_cpus_mask |= hyperthreading_cpus_mask;
++ }
+ }
+ }
+ SYSINIT(cpu_hlt, SI_SUB_SMP, SI_ORDER_ANY, cpu_hlt_setup, NULL);
+Index: sys/amd64/include/cpufunc.h
+===================================================================
+RCS file: /home/ncvs/src/sys/amd64/include/cpufunc.h,v
+retrieving revision 1.145
+diff -u -p -r1.145 cpufunc.h
+--- sys/amd64/include/cpufunc.h 30 Jul 2004 16:44:29 -0000 1.145
++++ sys/amd64/include/cpufunc.h 12 May 2005 15:22:55 -0000
+@@ -110,6 +110,14 @@ do_cpuid(u_int ax, u_int *p)
+ }
+
+ static __inline void
++cpuid_count(u_int ax, u_int cx, u_int *p)
++{
++ __asm __volatile("cpuid"
++ : "=a" (p[0]), "=b" (p[1]), "=c" (p[2]), "=d" (p[3])
++ : "0" (ax), "c" (cx));
++}
++
++static __inline void
+ enable_intr(void)
+ {
+ __asm __volatile("sti");
+Index: sys/i386/i386/mp_machdep.c
+===================================================================
+RCS file: /home/ncvs/src/sys/i386/i386/mp_machdep.c,v
+retrieving revision 1.235.2.9
+diff -u -p -r1.235.2.9 mp_machdep.c
+--- sys/i386/i386/mp_machdep.c 1 May 2005 05:34:46 -0000 1.235.2.9
++++ sys/i386/i386/mp_machdep.c 12 May 2005 15:22:55 -0000
+@@ -217,6 +217,9 @@ static int start_ap(int apic_id);
+ static void release_aps(void *dummy);
+
+ static int hlt_logical_cpus;
++static u_int hyperthreading_cpus;
++static cpumask_t hyperthreading_cpus_mask;
++static int hyperthreading_allowed;
+ static struct sysctl_ctx_list logical_cpu_clist;
+
+ static void
+@@ -353,6 +356,7 @@ void
+ cpu_mp_start(void)
+ {
+ int i;
++ u_int threads_per_cache, p[4];
+
+ POSTCODE(MP_START_POST);
+
+@@ -404,6 +408,48 @@ cpu_mp_start(void)
+ if (cpu_feature & CPUID_HTT)
+ logical_cpus = (cpu_procinfo & CPUID_HTT_CORES) >> 16;
+
++ /*
++ * Work out if hyperthreading is *really* enabled. This
++ * is made really ugly by the fact that processors lie: Dual
++ * core processors claim to be hyperthreaded even when they're
++ * not, presumably because they want to be treated the same
++ * way as HTT with respect to per-cpu software licensing.
++ * At the time of writing (May 12, 2005) the only hyperthreaded
++ * cpus are from Intel, and Intel's dual-core processors can be
++ * identified via the "deterministic cache parameters" cpuid
++ * calls.
++ */
++ /*
++ * First determine if this is an Intel processor which claims
++ * to have hyperthreading support.
++ */
++ if ((cpu_feature & CPUID_HTT) &&
++ (strcmp(cpu_vendor, "GenuineIntel") == 0)) {
++ /*
++ * If the "deterministic cache parameters" cpuid calls
++ * are available, use them.
++ */
++ if (cpu_high >= 4) {
++ /* Ask the processor about up to 32 caches. */
++ for (i = 0; i < 32; i++) {
++ cpuid_count(4, i, p);
++ threads_per_cache = ((p[0] & 0x3ffc000) >> 14) + 1;
++ if (hyperthreading_cpus < threads_per_cache)
++ hyperthreading_cpus = threads_per_cache;
++ if ((p[0] & 0x1f) == 0)
++ break;
++ }
++ }
++
++ /*
++ * If the deterministic cache parameters are not
++ * available, or if no caches were reported to exist,
++ * just accept what the HTT flag indicated.
++ */
++ if (hyperthreading_cpus == 0)
++ hyperthreading_cpus = logical_cpus;
++ }
++
+ set_logical_apic_ids();
+ }
+
+@@ -539,6 +585,11 @@ init_secondary(void)
+ if (logical_cpus > 1 && PCPU_GET(apic_id) % logical_cpus != 0)
+ logical_cpus_mask |= PCPU_GET(cpumask);
+
++ /* Determine if we are a hyperthread. */
++ if (hyperthreading_cpus > 1 &&
++ PCPU_GET(apic_id) % hyperthreading_cpus != 0)
++ hyperthreading_cpus_mask |= PCPU_GET(cpumask);
++
+ /* Build our map of 'other' CPUs. */
+ PCPU_SET(other_cpus, all_cpus & ~PCPU_GET(cpumask));
+
+@@ -1368,6 +1419,9 @@ sysctl_hlt_cpus(SYSCTL_HANDLER_ARGS)
+ else
+ hlt_logical_cpus = 0;
+
++ if (! hyperthreading_allowed)
++ mask |= hyperthreading_cpus_mask;
++
+ if ((mask & all_cpus) == all_cpus)
+ mask &= ~(1<<0);
+ hlt_cpus_mask = mask;
+@@ -1392,6 +1446,9 @@ sysctl_hlt_logical_cpus(SYSCTL_HANDLER_A
+ else
+ hlt_cpus_mask &= ~logical_cpus_mask;
+
++ if (! hyperthreading_allowed)
++ hlt_cpus_mask |= hyperthreading_cpus_mask;
++
+ if ((hlt_cpus_mask & all_cpus) == all_cpus)
+ hlt_cpus_mask &= ~(1<<0);
+
+@@ -1399,6 +1456,34 @@ sysctl_hlt_logical_cpus(SYSCTL_HANDLER_A
+ return (error);
+ }
+
++static int
++sysctl_hyperthreading_allowed(SYSCTL_HANDLER_ARGS)
++{
++ int allowed, error;
++
++ allowed = hyperthreading_allowed;
++ error = sysctl_handle_int(oidp, &allowed, 0, req);
++ if (error || !req->newptr)
++ return (error);
++
++ if (allowed)
++ hlt_cpus_mask &= ~hyperthreading_cpus_mask;
++ else
++ hlt_cpus_mask |= hyperthreading_cpus_mask;
++
++ if (logical_cpus_mask != 0 &&
++ (hlt_cpus_mask & logical_cpus_mask) == logical_cpus_mask)
++ hlt_logical_cpus = 1;
++ else
++ hlt_logical_cpus = 0;
++
++ if ((hlt_cpus_mask & all_cpus) == all_cpus)
++ hlt_cpus_mask &= ~(1<<0);
++
++ hyperthreading_allowed = allowed;
++ return (error);
++}
++
+ static void
+ cpu_hlt_setup(void *dummy __unused)
+ {
+@@ -1418,6 +1503,22 @@ cpu_hlt_setup(void *dummy __unused)
+
+ if (hlt_logical_cpus)
+ hlt_cpus_mask |= logical_cpus_mask;
++
++ /*
++ * If necessary for security purposes, force
++ * hyperthreading off, regardless of the value
++ * of hlt_logical_cpus.
++ */
++ if (hyperthreading_cpus_mask) {
++ TUNABLE_INT_FETCH("machdep.hyperthreading_allowed",
++ &hyperthreading_allowed);
++ SYSCTL_ADD_PROC(&logical_cpu_clist,
++ SYSCTL_STATIC_CHILDREN(_machdep), OID_AUTO,
++ "hyperthreading_allowed", CTLTYPE_INT|CTLFLAG_RW,
++ 0, 0, sysctl_hyperthreading_allowed, "IU", "");
++ if (! hyperthreading_allowed)
++ hlt_cpus_mask |= hyperthreading_cpus_mask;
++ }
+ }
+ }
+ SYSINIT(cpu_hlt, SI_SUB_SMP, SI_ORDER_ANY, cpu_hlt_setup, NULL);
+Index: sys/i386/include/cpufunc.h
+===================================================================
+RCS file: /home/ncvs/src/sys/i386/include/cpufunc.h,v
+retrieving revision 1.142
+diff -u -p -r1.142 cpufunc.h
+--- sys/i386/include/cpufunc.h 7 Apr 2004 20:46:05 -0000 1.142
++++ sys/i386/include/cpufunc.h 12 May 2005 15:22:55 -0000
+@@ -89,6 +89,14 @@ do_cpuid(u_int ax, u_int *p)
+ }
+
+ static __inline void
++cpuid_count(u_int ax, u_int cx, u_int *p)
++{
++ __asm __volatile("cpuid"
++ : "=a" (p[0]), "=b" (p[1]), "=c" (p[2]), "=d" (p[3])
++ : "0" (ax), "c" (cx));
++}
++
++static __inline void
+ enable_intr(void)
+ {
+ __asm __volatile("sti");
diff --git a/sys-freebsd/freebsd-sources/files/SA-05-13-ipfw.patch b/sys-freebsd/freebsd-sources/files/SA-05-13-ipfw.patch
new file mode 100644
index 000000000000..7fed8e6902cf
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/SA-05-13-ipfw.patch
@@ -0,0 +1,74 @@
+Index: sys/netinet/ip_fw2.c
+===================================================================
+RCS file: /home/ncvs/src/sys/netinet/ip_fw2.c,v
+retrieving revision 1.70.2.13
+diff -u -d -r1.70.2.13 ip_fw2.c
+--- sys/netinet/ip_fw2.c 17 Jun 2005 23:56:59 -0000 1.70.2.13
++++ sys/netinet/ip_fw2.c 20 Jun 2005 21:31:56 -0000
+@@ -185,9 +185,12 @@
+ };
+
+ #define IPFW_TABLES_MAX 128
+-static struct {
++static struct ip_fw_table {
+ struct radix_node_head *rnh;
+ int modified;
++ in_addr_t last_addr;
++ int last_match;
++ u_int32_t last_value;
+ } ipfw_tables[IPFW_TABLES_MAX];
+
+ static int fw_debug = 1;
+@@ -1491,36 +1494,36 @@
+ lookup_table(u_int16_t tbl, in_addr_t addr, u_int32_t *val)
+ {
+ struct radix_node_head *rnh;
++ struct ip_fw_table *table;
+ struct table_entry *ent;
+ struct sockaddr_in sa;
+- static in_addr_t last_addr;
+- static int last_tbl;
+- static int last_match;
+- static u_int32_t last_value;
++ int last_match;
+
+ if (tbl >= IPFW_TABLES_MAX)
+ return (0);
+- if (tbl == last_tbl && addr == last_addr &&
+- !ipfw_tables[tbl].modified) {
++ table = &ipfw_tables[tbl];
++ rnh = table->rnh;
++ RADIX_NODE_HEAD_LOCK(rnh);
++ if (addr == table->last_addr && !table->modified) {
++ last_match = table->last_match;
+ if (last_match)
+- *val = last_value;
++ *val = table->last_value;
++ RADIX_NODE_HEAD_UNLOCK(rnh);
+ return (last_match);
+ }
+- rnh = ipfw_tables[tbl].rnh;
++ table->modified = 0;
+ sa.sin_len = 8;
+ sa.sin_addr.s_addr = addr;
+- RADIX_NODE_HEAD_LOCK(rnh);
+- ipfw_tables[tbl].modified = 0;
+ ent = (struct table_entry *)(rnh->rnh_lookup(&sa, NULL, rnh));
+- RADIX_NODE_HEAD_UNLOCK(rnh);
+- last_addr = addr;
+- last_tbl = tbl;
++ table->last_addr = addr;
+ if (ent != NULL) {
+- last_value = *val = ent->value;
+- last_match = 1;
++ table->last_value = *val = ent->value;
++ table->last_match = 1;
++ RADIX_NODE_HEAD_UNLOCK(rnh);
+ return (1);
+ }
+- last_match = 0;
++ table->last_match = 0;
++ RADIX_NODE_HEAD_UNLOCK(rnh);
+ return (0);
+ }
+
diff --git a/sys-freebsd/freebsd-sources/files/SA-05-15-tcp.patch b/sys-freebsd/freebsd-sources/files/SA-05-15-tcp.patch
new file mode 100644
index 000000000000..31e14fb8fcbd
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/SA-05-15-tcp.patch
@@ -0,0 +1,63 @@
+--- sys/netinet/tcp_input.c 27 Feb 2005 21:43:54 -0000 1.252.2.14
++++ sys/netinet/tcp_input.c 28 Jun 2005 20:53:10 -0000
+@@ -1081,7 +1081,7 @@
+ * XXX this is traditional behavior, may need to be cleaned up.
+ */
+ tcp_dooptions(tp, &to, optp, optlen, thflags & TH_SYN, th);
+- if (thflags & TH_SYN) {
++ if (tp->t_state == TCPS_SYN_SENT && (thflags & TH_SYN)) {
+ if (to.to_flags & TOF_SCALE) {
+ tp->t_flags |= TF_RCVD_SCALE;
+ tp->requested_s_scale = to.to_requested_s_scale;
+@@ -1816,11 +1816,25 @@
+ /*
+ * If last ACK falls within this segment's sequence numbers,
+ * record its timestamp.
+- * NOTE that the test is modified according to the latest
+- * proposal of the tcplw@cray.com list (Braden 1993/04/26).
++ * NOTE:
++ * 1) That the test incorporates suggestions from the latest
++ * proposal of the tcplw@cray.com list (Braden 1993/04/26).
++ * 2) That updating only on newer timestamps interferes with
++ * our earlier PAWS tests, so this check should be solely
++ * predicated on the sequence space of this segment.
++ * 3) That we modify the segment boundary check to be
++ * Last.ACK.Sent <= SEG.SEQ + SEG.Len
++ * instead of RFC1323's
++ * Last.ACK.Sent < SEG.SEQ + SEG.Len,
++ * This modified check allows us to overcome RFC1323's
++ * limitations as described in Stevens TCP/IP Illustrated
++ * Vol. 2 p.869. In such cases, we can still calculate the
++ * RTT correctly when RCV.NXT == Last.ACK.Sent.
+ */
+ if ((to.to_flags & TOF_TS) != 0 &&
+- SEQ_LEQ(th->th_seq, tp->last_ack_sent)) {
++ SEQ_LEQ(th->th_seq, tp->last_ack_sent) &&
++ SEQ_LEQ(tp->last_ack_sent, th->th_seq + tlen +
++ ((thflags & (TH_SYN|TH_FIN)) != 0))) {
+ tp->ts_recent_age = ticks;
+ tp->ts_recent = to.to_tsval;
+ }
+@@ -2685,6 +2699,12 @@
+ bcopy((char *)cp + 6,
+ (char *)&to->to_tsecr, sizeof(to->to_tsecr));
+ to->to_tsecr = ntohl(to->to_tsecr);
++ /*
++ * If echoed timestamp is later than the current time,
++ * fall back to non RFC1323 RTT calculation.
++ */
++ if ((to->to_tsecr != 0) && TSTMP_GT(to->to_tsecr, ticks))
++ to->to_tsecr = 0;
+ break;
+ case TCPOPT_CC:
+ if (optlen != TCPOLEN_CC)
+--- sys/netinet/tcp_seq.h 31 Jan 2005 23:26:36 -0000 1.22.2.1
++++ sys/netinet/tcp_seq.h 29 Jun 2005 08:59:23 -0000
+@@ -47,6 +47,7 @@
+
+ /* for modulo comparisons of timestamps */
+ #define TSTMP_LT(a,b) ((int)((a)-(b)) < 0)
++#define TSTMP_GT(a,b) ((int)((a)-(b)) > 0)
+ #define TSTMP_GEQ(a,b) ((int)((a)-(b)) >= 0)
+
+ /*
diff --git a/sys-freebsd/freebsd-sources/files/SA-05-17-devfs.patch b/sys-freebsd/freebsd-sources/files/SA-05-17-devfs.patch
new file mode 100644
index 000000000000..5192875d3477
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/SA-05-17-devfs.patch
@@ -0,0 +1,20 @@
+Index: sys/fs/devfs/devfs_vnops.c
+===================================================================
+RCS file: /home/ncvs/src/sys/fs/devfs/devfs_vnops.c,v
+retrieving revision 1.115
+diff -u -d -r1.115 devfs_vnops.c
+--- sys/fs/devfs/devfs_vnops.c 14 Jul 2005 10:22:09 -0000 1.115
++++ sys/fs/devfs/devfs_vnops.c 18 Jul 2005 18:51:41 -0000
+@@ -788,6 +788,12 @@
+ struct devfs_mount *dmp;
+ int error;
+
++ /*
++ * The only type of node we should be creating here is a
++ * character device, for anything else return EOPNOTSUPP.
++ */
++ if (ap->a_vap->va_type != VCHR)
++ return (EOPNOTSUPP);
+ dvp = ap->a_dvp;
+ dmp = VFSTODEVFS(dvp->v_mount);
+ lockmgr(&dmp->dm_lock, LK_EXCLUSIVE, 0, curthread);
diff --git a/sys-freebsd/freebsd-sources/files/SA-05-19-ipsec.patch b/sys-freebsd/freebsd-sources/files/SA-05-19-ipsec.patch
new file mode 100644
index 000000000000..b2bd10c9848d
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/SA-05-19-ipsec.patch
@@ -0,0 +1,47 @@
+Index: sys/netinet6/ah_aesxcbcmac.c
+===================================================================
+RCS file: /home/ncvs/src/sys/netinet6/ah_aesxcbcmac.c,v
+retrieving revision 1.2
+diff -u -p -r1.2 ah_aesxcbcmac.c
+--- sys/netinet6/ah_aesxcbcmac.c 7 Jan 2005 02:30:34 -0000 1.2
++++ sys/netinet6/ah_aesxcbcmac.c 26 Jul 2005 06:51:39 -0000
+@@ -78,6 +78,7 @@ ah_aes_xcbc_mac_init(state, sav)
+ u_int8_t k3seed[AES_BLOCKSIZE] = { 3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3 };
+ u_int32_t r_ks[(RIJNDAEL_MAXNR+1)*4];
+ aesxcbc_ctx *ctx;
++ u_int8_t k1[AES_BLOCKSIZE];
+
+ if (!state)
+ panic("ah_aes_xcbc_mac_init: what?");
+@@ -93,14 +94,15 @@ ah_aes_xcbc_mac_init(state, sav)
+ if ((ctx->r_nr = rijndaelKeySetupEnc(r_ks,
+ (char *)_KEYBUF(sav->key_auth), AES_BLOCKSIZE * 8)) == 0)
+ return -1;
+- if (rijndaelKeySetupEnc(ctx->r_k1s, k1seed, AES_BLOCKSIZE * 8) == 0)
++ rijndaelEncrypt(r_ks, ctx->r_nr, k1seed, k1);
++ rijndaelEncrypt(r_ks, ctx->r_nr, k2seed, ctx->k2);
++ rijndaelEncrypt(r_ks, ctx->r_nr, k3seed, ctx->k3);
++ if (rijndaelKeySetupEnc(ctx->r_k1s, k1, AES_BLOCKSIZE * 8) == 0)
+ return -1;
+- if (rijndaelKeySetupEnc(ctx->r_k2s, k2seed, AES_BLOCKSIZE * 8) == 0)
++ if (rijndaelKeySetupEnc(ctx->r_k2s, ctx->k2, AES_BLOCKSIZE * 8) == 0)
+ return -1;
+- if (rijndaelKeySetupEnc(ctx->r_k3s, k3seed, AES_BLOCKSIZE * 8) == 0)
++ if (rijndaelKeySetupEnc(ctx->r_k3s, ctx->k3, AES_BLOCKSIZE * 8) == 0)
+ return -1;
+- rijndaelEncrypt(r_ks, ctx->r_nr, k2seed, ctx->k2);
+- rijndaelEncrypt(r_ks, ctx->r_nr, k3seed, ctx->k3);
+
+ return 0;
+ }
+@@ -151,8 +153,8 @@ ah_aes_xcbc_mac_loop(state, addr, len)
+ addr += AES_BLOCKSIZE;
+ }
+ if (addr < ep) {
+- bcopy(addr, ctx->buf, ep - addr);
+- ctx->buflen = ep - addr;
++ bcopy(addr, ctx->buf + ctx->buflen, ep - addr);
++ ctx->buflen += ep - addr;
+ }
+ }
+
diff --git a/sys-freebsd/freebsd-sources/files/SA-06-04-ipfw.patch b/sys-freebsd/freebsd-sources/files/SA-06-04-ipfw.patch
new file mode 100644
index 000000000000..e7a6a67973b4
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/SA-06-04-ipfw.patch
@@ -0,0 +1,16 @@
+Index: sys/netinet/ip_fw2.c
+===================================================================
+RCS file: /home/ncvs/src/sys/netinet/ip_fw2.c,v
+retrieving revision 1.120
+diff -u -d -r1.120 ip_fw2.c
+--- sys/netinet/ip_fw2.c 16 Dec 2005 13:10:32 -0000 1.120
++++ sys/netinet/ip_fw2.c 1 Jan 2006 22:56:39 -0000
+@@ -3054,7 +3054,7 @@
+ * if the packet is not ICMP (or is an ICMP
+ * query), and it is not multicast/broadcast.
+ */
+- if (hlen > 0 && is_ipv4 &&
++ if (hlen > 0 && is_ipv4 && offset == 0 &&
+ (proto != IPPROTO_ICMP ||
+ is_icmp_query(ICMP(ulp))) &&
+ !(m->m_flags & (M_BCAST|M_MCAST)) &&
diff --git a/sys-freebsd/freebsd-sources/files/SA-06-05-80211.patch b/sys-freebsd/freebsd-sources/files/SA-06-05-80211.patch
new file mode 100644
index 000000000000..7619e5a87838
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/SA-06-05-80211.patch
@@ -0,0 +1,49 @@
+Index: sys/net80211/ieee80211_ioctl.c
+===================================================================
+RCS file: /home/ncvs/src/sys/net80211/ieee80211_ioctl.c,v
+retrieving revision 1.41
+diff -u -p -I__FBSDID -r1.41 ieee80211_ioctl.c
+--- sys/net80211/ieee80211_ioctl.c 14 Dec 2005 19:32:53 -0000 1.41
++++ sys/net80211/ieee80211_ioctl.c 18 Jan 2006 04:39:48 -0000
+@@ -976,13 +976,25 @@ get_scan_result(struct ieee80211req_scan
+ const struct ieee80211_node *ni)
+ {
+ struct ieee80211com *ic = ni->ni_ic;
++ u_int ielen = 0;
+
+ memset(sr, 0, sizeof(*sr));
+ sr->isr_ssid_len = ni->ni_esslen;
+ if (ni->ni_wpa_ie != NULL)
+- sr->isr_ie_len += 2+ni->ni_wpa_ie[1];
++ ielen += 2+ni->ni_wpa_ie[1];
+ if (ni->ni_wme_ie != NULL)
+- sr->isr_ie_len += 2+ni->ni_wme_ie[1];
++ ielen += 2+ni->ni_wme_ie[1];
++
++ /*
++ * The value sr->isr_ie_len is defined as a uint8_t, so we
++ * need to be careful to avoid an integer overflow. If the
++ * value would overflow, we will set isr_ie_len to zero, and
++ * ieee80211_ioctl_getscanresults (below) will avoid copying
++ * the (overflowing) data.
++ */
++ if (ielen > 255)
++ ielen = 0;
++ sr->isr_ie_len = ielen;
+ sr->isr_len = sizeof(*sr) + sr->isr_ssid_len + sr->isr_ie_len;
+ sr->isr_len = roundup(sr->isr_len, sizeof(u_int32_t));
+ if (ni->ni_chan != IEEE80211_CHAN_ANYC) {
+@@ -1030,11 +1042,11 @@ ieee80211_ioctl_getscanresults(struct ie
+ cp = (u_int8_t *)(sr+1);
+ memcpy(cp, ni->ni_essid, ni->ni_esslen);
+ cp += ni->ni_esslen;
+- if (ni->ni_wpa_ie != NULL) {
++ if (sr->isr_ie_len > 0 && ni->ni_wpa_ie != NULL) {
+ memcpy(cp, ni->ni_wpa_ie, 2+ni->ni_wpa_ie[1]);
+ cp += 2+ni->ni_wpa_ie[1];
+ }
+- if (ni->ni_wme_ie != NULL) {
++ if (sr->isr_ie_len > 0 && ni->ni_wme_ie != NULL) {
+ memcpy(cp, ni->ni_wme_ie, 2+ni->ni_wme_ie[1]);
+ cp += 2+ni->ni_wme_ie[1];
+ }
diff --git a/sys-freebsd/freebsd-sources/files/SA-06-06-kmem60.patch b/sys-freebsd/freebsd-sources/files/SA-06-06-kmem60.patch
new file mode 100644
index 000000000000..668ad3bd71ba
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/SA-06-06-kmem60.patch
@@ -0,0 +1,47 @@
+Index: sys/net/if_bridge.c
+===================================================================
+RCS file: /usr/ncvs/src/sys/net/if_bridge.c,v
+retrieving revision 1.11.2.12.2.3
+diff -u -r1.11.2.12.2.3 if_bridge.c
+--- sys/net/if_bridge.c 27 Oct 2005 19:43:07 -0000 1.11.2.12.2.3
++++ sys/net/if_bridge.c 22 Jan 2006 18:22:38 -0000
+@@ -583,6 +583,7 @@
+ break;
+ }
+
++ bzero(&args, sizeof args);
+ if (bc->bc_flags & BC_F_COPYIN) {
+ error = copyin(ifd->ifd_data, &args, ifd->ifd_len);
+ if (error)
+@@ -914,6 +915,7 @@
+
+ count = 0;
+ len = bifc->ifbic_len;
++ bzero(&breq, sizeof breq);
+ LIST_FOREACH(bif, &sc->sc_iflist, bif_next) {
+ if (len < sizeof(breq))
+ break;
+@@ -953,6 +955,7 @@
+ getmicrotime(&tv);
+
+ len = bac->ifbac_len;
++ bzero(&bareq, sizeof bareq);
+ LIST_FOREACH(brt, &sc->sc_rtlist, brt_list) {
+ if (len < sizeof(bareq))
+ goto out;
+Index: sys/net80211/ieee80211_ioctl.c
+===================================================================
+RCS file: /usr/ncvs/src/sys/net80211/ieee80211_ioctl.c,v
+retrieving revision 1.25.2.3.2.1
+diff -u -r1.25.2.3.2.1 ieee80211_ioctl.c
+--- sys/net80211/ieee80211_ioctl.c 18 Jan 2006 09:03:36 -0000 1.25.2.3.2.1
++++ sys/net80211/ieee80211_ioctl.c 22 Jan 2006 18:21:50 -0000
+@@ -884,7 +884,7 @@
+ ieee80211_ioctl_getchanlist(struct ieee80211com *ic, struct ieee80211req *ireq)
+ {
+
+- if (sizeof(ic->ic_chan_active) > ireq->i_len)
++ if (sizeof(ic->ic_chan_active) < ireq->i_len)
+ ireq->i_len = sizeof(ic->ic_chan_active);
+ return copyout(&ic->ic_chan_active, ireq->i_data, ireq->i_len);
+ }
diff --git a/sys-freebsd/freebsd-sources/files/SA-06-07-pf.patch b/sys-freebsd/freebsd-sources/files/SA-06-07-pf.patch
new file mode 100644
index 000000000000..d85aaed5d0c4
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/SA-06-07-pf.patch
@@ -0,0 +1,16 @@
+Index: sys/contrib/pf/net/pf_norm.c
+===================================================================
+RCS file: /home/ncvs/src/sys/contrib/pf/net/pf_norm.c,v
+retrieving revision 1.11.2.2
+diff -u -p -I__FBSDID -r1.11.2.2 pf_norm.c
+--- sys/contrib/pf/net/pf_norm.c 17 Jan 2006 13:05:32 -0000 1.11.2.2
++++ sys/contrib/pf/net/pf_norm.c 22 Jan 2006 16:38:31 -0000
+@@ -818,7 +818,7 @@ pf_fragcache(struct mbuf **m0, struct ip
+ } else {
+ hosed++;
+ }
+- } else {
++ } else if (frp == NULL) {
+ /* There is a gap between fragments */
+ DPFPRINTF(("fragcache[%d]: gap %d %d-%d (%d-%d)\n",
+ h->ip_id, -aftercut, off, max, fra->fr_off,
diff --git a/sys-freebsd/freebsd-sources/files/digest-freebsd-sources-6.0-r1 b/sys-freebsd/freebsd-sources/files/digest-freebsd-sources-6.0-r1
new file mode 100644
index 000000000000..8ece252ae3b5
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/digest-freebsd-sources-6.0-r1
@@ -0,0 +1,3 @@
+MD5 fa4633806f9ecd13eba57e45e5b6031f freebsd-sys-6.0.tar.bz2 16069887
+RMD160 02b446bb5a3dde2f91ecba2617a887e817d038a9 freebsd-sys-6.0.tar.bz2 16069887
+SHA256 416fc69ab15d28686d461ca115964091409abc9e5855260d89e2370cad77ad70 freebsd-sys-6.0.tar.bz2 16069887
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-6.0-flex-2.5.31.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-6.0-flex-2.5.31.patch
new file mode 100644
index 000000000000..88710cf69dd8
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-6.0-flex-2.5.31.patch
@@ -0,0 +1,22 @@
+Index: fbsd-6/sys/dev/aic7xxx/aicasm/aicasm_scan.l
+===================================================================
+--- fbsd-6.orig/sys/dev/aic7xxx/aicasm/aicasm_scan.l
++++ fbsd-6/sys/dev/aic7xxx/aicasm/aicasm_scan.l
+@@ -528,7 +528,7 @@ expand_macro(struct symbol *macro_symbol
+
+ /* Put back everything up until the replacement. */
+ while (body_pos > next_match)
+- unput(*--body_pos);
++ yyunput(*--body_pos, body_head);
+
+ /* Perform the replacement. */
+ if (match_marg != NULL) {
+@@ -537,7 +537,7 @@ expand_macro(struct symbol *macro_symbol
+ next_match = match_marg->replacement_text;
+ strp = next_match + strlen(next_match);
+ while (strp > next_match)
+- unput(*--strp);
++ yyunput(*--strp, next_match);
+
+ /* Skip past the unexpanded macro arg. */
+ body_pos -= match.rm_eo - match.rm_so;
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-6.0-gentoover.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-6.0-gentoover.patch
new file mode 100644
index 000000000000..90e6e1c4732a
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-6.0-gentoover.patch
@@ -0,0 +1,21 @@
+Index: fbsd-6.0/sys/conf/newvers.sh
+===================================================================
+--- fbsd-6.0.orig/sys/conf/newvers.sh
++++ fbsd-6.0/sys/conf/newvers.sh
+@@ -31,13 +31,13 @@
+ # $FreeBSD: src/sys/conf/newvers.sh,v 1.69.2.8.2.1 2005/11/02 02:00:46 scottl Exp $
+
+ TYPE="FreeBSD"
+-REVISION="6.0"
+-BRANCH="RELEASE"
++REVISION="%GENTOOPVR%"
++BRANCH="Gentoo"
+ if [ "X${BRANCH_OVERRIDE}" != "X" ]; then
+ BRANCH=${BRANCH_OVERRIDE}
+ fi
+ RELEASE=6.0-RELEASE
+-VERSION="${TYPE} ${RELEASE}"
++VERSION="${TYPE} ${BRANCH} ${REVISION}"
+
+ if [ "X${PARAMFILE}" != "X" ]; then
+ RELDATE=$(awk '/__FreeBSD_version.*propagated to newvers/ {print $3}' \
diff --git a/sys-freebsd/freebsd-sources/files/freebsd-sources-gentoo.patch b/sys-freebsd/freebsd-sources/files/freebsd-sources-gentoo.patch
new file mode 100644
index 000000000000..b2ea95cb02ad
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/files/freebsd-sources-gentoo.patch
@@ -0,0 +1,49 @@
+diff -ur sys/conf/kern.mk sys-gentoo/conf/kern.mk
+--- sys/conf/kern.mk 2005-03-16 18:54:36 +0000
++++ sys-gentoo/conf/kern.mk 2005-07-21 11:08:39 +0000
+@@ -12,7 +12,7 @@
+ .else
+ CWARNFLAGS?= -Wall -Wredundant-decls -Wnested-externs -Wstrict-prototypes \
+ -Wmissing-prototypes -Wpointer-arith -Winline -Wcast-qual \
+- -fformat-extensions -std=c99
++ -std=c99
+ .endif
+ #
+ # The following flags are next up for working on:
+@@ -28,7 +28,7 @@
+ # cache tag lines)
+ #
+ .if ${MACHINE_ARCH} == "i386" && ${CC} != "icc"
+-CFLAGS+= -mno-align-long-strings -mpreferred-stack-boundary=2 \
++CFLAGS+= -mpreferred-stack-boundary=2 \
+ -mno-mmx -mno-3dnow -mno-sse -mno-sse2
+ INLINE_LIMIT?= 8000
+ .endif
+Only in sys-gentoo/conf: kern.mk.orig
+diff -ur sys/conf/kern.pre.mk sys-gentoo/conf/kern.pre.mk
+--- sys/conf/kern.pre.mk 2005-03-16 17:51:56 +0000
++++ sys-gentoo/conf/kern.pre.mk 2005-07-21 11:08:20 +0000
+@@ -72,7 +72,8 @@
+ CFLAGS+= -fno-common -finline-limit=${INLINE_LIMIT}
+ CFLAGS+= --param inline-unit-growth=100
+ CFLAGS+= --param large-function-growth=1000
+-WERROR?= -Werror
++# Gentoo's GCC outputs a few more warnings
++#WERROR?= -Werror
+ .endif
+
+ # XXX LOCORE means "don't declare C stuff" not "for locore.s".
+Only in sys-gentoo/conf: kern.pre.mk.orig
+diff -ur sys/dev/aic7xxx/aicasm/Makefile sys-gentoo/dev/aic7xxx/aicasm/Makefile
+--- sys/dev/aic7xxx/aicasm/Makefile 2005-02-13 07:23:32 +0000
++++ sys-gentoo/dev/aic7xxx/aicasm/Makefile 2005-07-21 11:08:20 +0000
+@@ -14,7 +14,7 @@
+ SRCS= ${GENHDRS} ${CSRCS} ${YSRCS} ${LSRCS}
+ CLEANFILES+= ${GENHDRS} ${YSRCS:R:C/(.*)/\1.output/g}
+ DPADD= ${LIBL}
+-LDADD= -ll
++LDADD= -lfl
+
+ # Correct path for kernel builds
+ # Don't rely on the kernel's .depend file
+Only in sys-gentoo/dev/aic7xxx/aicasm: Makefile.orig
diff --git a/sys-freebsd/freebsd-sources/freebsd-sources-6.0-r1.ebuild b/sys-freebsd/freebsd-sources/freebsd-sources-6.0-r1.ebuild
new file mode 100644
index 000000000000..8dc1d3293267
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/freebsd-sources-6.0-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-sources/freebsd-sources-6.0-r1.ebuild,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+inherit bsdmk freebsd
+
+DESCRIPTION="FreeBSD kernel sources"
+SLOT="${PVR}"
+KEYWORDS="~x86-fbsd"
+
+IUSE="symlink"
+
+SRC_URI="mirror://gentoo/${SYS}.tar.bz2"
+
+RDEPEND=""
+DEPEND=""
+
+RESTRICT="nostrip"
+
+S=${WORKDIR}/sys
+
+MY_PVR="${PVR}"
+
+[[ ${MY_PVR} == "${RV}" ]] && MY_PVR="${MY_PVR}-r0"
+
+src_unpack() {
+ unpack ${A}
+ cd ${S}
+ epatch "${FILESDIR}/${PN}-gentoo.patch"
+ epatch "${FILESDIR}/${P}-flex-2.5.31.patch"
+
+ epatch "${FILESDIR}/SA-06-04-ipfw.patch"
+ epatch "${FILESDIR}/SA-06-05-80211.patch"
+ epatch "${FILESDIR}/SA-06-06-kmem60.patch"
+ epatch "${FILESDIR}/SA-06-07-pf.patch"
+
+ sed -i -e "s:%GENTOOPVR%:${PVR}:" conf/newvers.sh
+}
+
+src_compile() {
+ einfo "Nothing to compile.."
+}
+
+src_install() {
+ insinto /usr/src/sys-${MY_PVR}
+ doins -r ${S}/*
+}
+
+pkg_postinst() {
+ if [[ ! -L ${ROOT}usr/src/sys ]]; then
+ einfo "/usr/src/sys symlink doesn't exist; creating..."
+ ln -sf sys-${MY_PVR} ${ROOT}/usr/src/sys || \
+ eerror "Couldn't create ${ROOT}/usr/src/sys symlink."
+ ln -sf sys-${MY_PVR} ${ROOT}/usr/src/sys-${RV} || \
+ eerror "Couldn't create ${ROOT}/usr/src/sys-${RV} symlink."
+ elif use symlink; then
+ einfo "Updating /usr/src/sys symlink..."
+ rm ${ROOT}/usr/src/sys
+ ln -sf sys-${MY_PVR} ${ROOT}/usr/src/sys || \
+ eerror "Couldn't create ${ROOT}/usr/src/sys symlink."
+ ln -sf sys-${MY_PVR} ${ROOT}/usr/src/sys-${RV} || \
+ eerror "Couldn't create ${ROOT}/usr/src/sys-${RV} symlink."
+ fi
+}
diff --git a/sys-freebsd/freebsd-sources/metadata.xml b/sys-freebsd/freebsd-sources/metadata.xml
new file mode 100644
index 000000000000..ecedda4aa2cc
--- /dev/null
+++ b/sys-freebsd/freebsd-sources/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>bsd</herd>
+</pkgmetadata>
diff --git a/sys-freebsd/freebsd-ubin/ChangeLog b/sys-freebsd/freebsd-ubin/ChangeLog
new file mode 100644
index 000000000000..0c76ba8ad6f7
--- /dev/null
+++ b/sys-freebsd/freebsd-ubin/ChangeLog
@@ -0,0 +1,120 @@
+# ChangeLog for sys-apps/freebsd-ubin
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-ubin/ChangeLog,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+*freebsd-ubin-6.0-r1 (01 Apr 2006)
+
+ 01 Apr 2006; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-ubin-6.0-fixmakefiles.patch, +files/SA-06-02-ee.patch,
+ +files/freebsd-ubin-6.0-bsdcmp.patch, +files/freebsd-ubin-bsdcmp.patch,
+ +files/freebsd-ubin-fixmakefiles.patch, +files/freebsd-ubin-flex.patch,
+ +files/freebsd-ubin-lint-stdarg.patch, +files/freebsd-ubin-setXid.patch,
+ +files/login.pamd, +files/passwd.pamd, +files/su.pamd, +metadata.xml,
+ +freebsd-ubin-6.0-r1.ebuild:
+ Import into portage.
+
+ 28 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Symlink sys directory instead of patching everything in makefiles. Should
+ fix bug #124444.
+
+ 23 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Add missing security patch.
+
+ 20 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Fix deprecated stuff to use NO_* syntax.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Drop also opieaccess and fbtab.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Add locate periodic file.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Also phones.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Move /etc/remote to being provided by freebsd-ubin.
+
+ 25 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-ubin-bsdcmp.patch, +files/freebsd-ubin-fixmakefiles.patch,
+ +files/freebsd-ubin-flex.patch, +files/freebsd-ubin-lint-stdarg.patch,
+ +files/freebsd-ubin-setXid.patch, +files/login.pamd, +files/passwd.pamd,
+ +files/su.pamd, +freebsd-ubin-5.4-r3.ebuild:
+ Moved to sys-freebsd.
+
+ 18 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-ubin-5.4-r3.ebuild:
+ Updated to reflect bsdmk/freebsd eclasses changes.
+
+ 13 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-ubin-5.4-r3.ebuild:
+ Fixed typo.
+
+*freebsd-ubin-5.4-r3 (08 Aug 2005)
+
+ 08 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ -freebsd-ubin-5.4-r2.ebuild, +freebsd-ubin-5.4-r3.ebuild:
+ Restore make and mkdep from here.
+
+ 30 Jul 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-ubin-5.4-r2.ebuild:
+ Fixed wrong slot.
+
+ 29 Jul 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-ubin-5.4-r2.ebuild:
+ Adapt to recent bsdmk changes.
+
+ 19 Jun 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-ubin-5.4-r1.ebuild:
+ Don't compile and install telnet as we don't support it from here.
+
+ 16 Jun 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-ubin-5.4-r1.ebuild:
+ Removed a few more subtargets: tar file vacation nc ftp, as they have their
+ own ebuilds.
+
+ 16 Jun 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-ubin-5.4-r1.ebuild:
+ tar is moved to app-arch/bsdtar package.
+
+ 08 Jun 2005; Diego Pettenò <flameeyes@gentoo.org>
+ -files/freebsd-ubin-minimal.patch, freebsd-ubin-5.4-r1.ebuild:
+ Made freebsd-ubin use dummy_mk instead of minimal patch.
+
+*freebsd-ubin-5.4-r1 (23 May 2005)
+
+ 23 May 2005; Diego Pettenò <flameeyes@gentoo.org> +files/login.pamd,
+ +files/passwd.pamd, +files/rsh.pamd, +files/su.pamd,
+ -freebsd-ubin-5.4.ebuild, +freebsd-ubin-5.4-r1.ebuild:
+ New revision which installs pamd files. Added dependency on virtual/pam.
+ Using mirror://gentoo/.
+
+*freebsd-ubin-5.4_rc3 (03 May 2005)
+
+ 03 May 2005; Diego <flame@gentoo.org>
+ +files/freebsd-ubin-fixmakefiles.patch,
+ +files/freebsd-ubin-lint-stdarg.patch, +files/freebsd-ubin-minimal.patch,
+ +files/freebsd-ubin-setXid.patch, +freebsd-ubin-5.4_rc3.ebuild:
+ Added new 5.4_rc3 with patches to build fine on 5.4 profile.
+
+*freebsd-ubin-5.3.20050301 (31 Mar 2005)
+
+ 31 Mar 2005; Otavio R. Piske <angusyoung@gentoo.org>
+ +files/freebsd-ubin-5.3-nocom_err.patch, freebsd-ubin-5.3.20050301.ebuild,
+ -freebsd-ubin-5.3_rc1.ebuild:
+ New ebuild based on updated sources and support for new use flags
+
+*freebsd-ubin-5.2.1-r1 (07 Oct 2004)
+
+ 07 Oct 2004; Otavio Piske <angusyoung@gentoo.org>
+ +files/freebsd-ubin-5.2.1-nocmp.patch, +freebsd-ubin-5.2.1-r1.ebuild:
+ This new ebuild avoids compilation/installation of cmp, which should be
+ provided by diffutils
+
+ 30 Sep 2004; Aaron Walker <ka0ttic@gentoo.org> freebsd-ubin-5.2.1.ebuild:
+ Removed duplicate inherit.
+
+ 15 Sep 2004; Otavio Piske <angusyoung@gentoo.org> freebsd-ubin-5.2.1.ebuild:
+ Initial release
+
+*freebsd-ubin-5.2.1.ebuild (15 Sep 2004)
diff --git a/sys-freebsd/freebsd-ubin/Manifest b/sys-freebsd/freebsd-ubin/Manifest
new file mode 100644
index 000000000000..ecc3927cc5a7
--- /dev/null
+++ b/sys-freebsd/freebsd-ubin/Manifest
@@ -0,0 +1,48 @@
+MD5 abc01d50a448befaed9e874cc4ca5318 ChangeLog 3928
+RMD160 9869e66bff03cc8a9a6d023c2529cbb17bde277c ChangeLog 3928
+SHA256 6e49b9d906a5544572ca6a7b7a60ff1ed8e9a8a4a8c36aad28a1f69b2803e432 ChangeLog 3928
+MD5 9256a421446d791cc6fbc17d4d8a9780 files/SA-06-02-ee.patch 2446
+RMD160 9934e6ee6c0ebaa1998939163bf4f1e233d5eba0 files/SA-06-02-ee.patch 2446
+SHA256 1c27b3e1f5906da36a654409290e9ffb0493b70a1e83bed89704942f2a9c0d10 files/SA-06-02-ee.patch 2446
+MD5 7c7ff9e3031c6169e2464f31eb99ad12 files/digest-freebsd-ubin-5.4-r3 282
+RMD160 fa23d16e4280294ee5652646e71ce2d2e7dadfeb files/digest-freebsd-ubin-5.4-r3 282
+SHA256 89059eaa4c850f4b0e48a6b676023655ce14059043e950729c552c38c39bcaaf files/digest-freebsd-ubin-5.4-r3 282
+MD5 b04f5846b967d9817e733f8af23b36f1 files/digest-freebsd-ubin-6.0-r1 1277
+RMD160 cdb74ff894ea61c37c22719b6685e233030541cc files/digest-freebsd-ubin-6.0-r1 1277
+SHA256 626aa3602fcd8dc965fea3c4f5f8d557b3c21f2446e71ea150de1632cb2154b9 files/digest-freebsd-ubin-6.0-r1 1277
+MD5 f9ae28120f1ddd8948695c613b5f399a files/freebsd-ubin-6.0-bsdcmp.patch 413
+RMD160 e8f9d8f9c873077d7113af6a1efd642a3ee7d12f files/freebsd-ubin-6.0-bsdcmp.patch 413
+SHA256 a0a99a602538d95ddae2fc4b823150ea58862def87c8196806a379233e3ddb2c files/freebsd-ubin-6.0-bsdcmp.patch 413
+MD5 be995572b7a8e5d687a2998219ae2fdb files/freebsd-ubin-6.0-fixmakefiles.patch 1457
+RMD160 9fed268f43c4b8949f734900cb18d3e66a639a3d files/freebsd-ubin-6.0-fixmakefiles.patch 1457
+SHA256 318406fa003c5188163e0dac551d4cc5fed7653cc3ff0f6baa64f23572de6d7b files/freebsd-ubin-6.0-fixmakefiles.patch 1457
+MD5 d771feb031716ed9cefc78ec4c8124a6 files/freebsd-ubin-bsdcmp.patch 384
+RMD160 87525ef2823b8a2a3dd53e1e70e426c7af45d415 files/freebsd-ubin-bsdcmp.patch 384
+SHA256 6904597e552980be8528da22f55e44f3d72bebf0c51f43b8fe88090b4bc0593d files/freebsd-ubin-bsdcmp.patch 384
+MD5 277e15cd7d0f7d5fad51ff192b0bea81 files/freebsd-ubin-fixmakefiles.patch 3388
+RMD160 81554f715dda36a078c00d954342de9429a46755 files/freebsd-ubin-fixmakefiles.patch 3388
+SHA256 de7165042ef49a6765024089e3829e2a5e4811e8ae8006f7c6b00f9dbf0b7997 files/freebsd-ubin-fixmakefiles.patch 3388
+MD5 adfa3f70f7c838b518b28943187a4cb3 files/freebsd-ubin-flex.patch 725
+RMD160 45f6dec120d516baaefe082cbd75c35c9b556ac1 files/freebsd-ubin-flex.patch 725
+SHA256 2df9f10e3a8ef4fdf62ee7e1de1f2269c58376db3a2d0968ba695bb9b6d7549e files/freebsd-ubin-flex.patch 725
+MD5 8e69a5c73317c371c037446c8b5c6fba files/freebsd-ubin-lint-stdarg.patch 792
+RMD160 673ce804ebd887121160da5d1993787334099903 files/freebsd-ubin-lint-stdarg.patch 792
+SHA256 ec86f4c77b7c57f9f1651bb5f38641d198123594e770cc31d77d6775fd851bd6 files/freebsd-ubin-lint-stdarg.patch 792
+MD5 abc4cce029759b00e4a9356d6ea1ba1b files/freebsd-ubin-setXid.patch 4346
+RMD160 53e715b3098c555d3675778d079038ccea34fb60 files/freebsd-ubin-setXid.patch 4346
+SHA256 371ced78644fb65ff84712d0e4f93cbc79d363a4b67fb681999a670940b3ddb5 files/freebsd-ubin-setXid.patch 4346
+MD5 faf8957878862d8b010af4e451da00c6 files/login.pamd 313
+RMD160 b9393c7b162907dd81a88352a4f977ca799c7a9e files/login.pamd 313
+SHA256 816bdbdcdc8f7841df0a12399d2046f2f4795fca2f245eb3030c1e8f5648b728 files/login.pamd 313
+MD5 71f049a4af93e7939f5d568639c9f9c0 files/passwd.pamd 251
+RMD160 33ed8d831472eb2d06b27afbdedee36800da6b5e files/passwd.pamd 251
+SHA256 9c32f2a0bcc70a8453786536674a9e2107b004cfd2c10349d49bf0a5726a941e files/passwd.pamd 251
+MD5 251583817a67e333819d7e46c34825a7 files/su.pamd 315
+RMD160 8fd1a1af5ddabde42ab38d0de8b9c8e66d670a0b files/su.pamd 315
+SHA256 9baf156228728e3c44ef7cb704f034d182d330133f80c1bb220286149550d664 files/su.pamd 315
+MD5 68db646b5968ba531e31ac610292348a freebsd-ubin-5.4-r3.ebuild 2142
+RMD160 3f21b28f731feb106759c3c28215ae40947f7c68 freebsd-ubin-5.4-r3.ebuild 2142
+SHA256 84436541cf1fab50c87ef6d100baa8c2609fdec9c2270b80acb04b37f8584f5d freebsd-ubin-5.4-r3.ebuild 2142
+MD5 b640b89a93d078a2807ac73db868595a freebsd-ubin-6.0-r1.ebuild 2465
+RMD160 317267977d0155f179f2ed212c3ca6f75c714b89 freebsd-ubin-6.0-r1.ebuild 2465
+SHA256 862f60b9123d155b73bbaa907f6dae508a9ec23d46da3239ff5cacca57199f42 freebsd-ubin-6.0-r1.ebuild 2465
diff --git a/sys-freebsd/freebsd-ubin/files/SA-06-02-ee.patch b/sys-freebsd/freebsd-ubin/files/SA-06-02-ee.patch
new file mode 100644
index 000000000000..01157c42e0f1
--- /dev/null
+++ b/sys-freebsd/freebsd-ubin/files/SA-06-02-ee.patch
@@ -0,0 +1,104 @@
+Index: usr.bin/ee/ee.c
+===================================================================
+RCS file: /home/ncvs/src/usr.bin/ee/ee.c,v
+retrieving revision 1.32
+diff -u -d -r1.32 ee.c
+--- usr.bin/ee/ee.c 5 Nov 2004 10:18:05 -0000 1.32
++++ usr.bin/ee/ee.c 1 Jan 2006 22:51:41 -0000
+@@ -300,7 +300,7 @@
+ int quit P_((int noverify));
+ void edit_abort P_((int arg));
+ void delete_text P_((void));
+-int write_file P_((char *file_name));
++int write_file P_((char *file_name, int warn_if_exists));
+ int search P_((int display_message));
+ void search_prompt P_((void));
+ void del_char P_((void));
+@@ -1688,7 +1688,7 @@
+ cmd_str = cmd_str2 = get_string(file_write_prompt_str, TRUE);
+ }
+ tmp_file = resolve_name(cmd_str);
+- write_file(tmp_file);
++ write_file(tmp_file, 1);
+ if (tmp_file != cmd_str)
+ free(tmp_file);
+ }
+@@ -2395,7 +2395,7 @@
+ file_name = tmp_file;
+ }
+
+- if (write_file(file_name))
++ if (write_file(file_name, 1))
+ {
+ text_changes = FALSE;
+ quit(0);
+@@ -2472,8 +2472,9 @@
+ }
+
+ int
+-write_file(file_name)
++write_file(file_name, warn_if_exists)
+ char *file_name;
++int warn_if_exists;
+ {
+ char cr;
+ char *tmp_point;
+@@ -2483,7 +2484,8 @@
+ int write_flag = TRUE;
+
+ charac = lines = 0;
+- if ((in_file_name == NULL) || strcmp(in_file_name, file_name))
++ if (warn_if_exists &&
++ ((in_file_name == NULL) || strcmp(in_file_name, file_name)))
+ {
+ if ((temp_fp = fopen(file_name, "r")))
+ {
+@@ -3725,7 +3727,7 @@
+ {
+ string = get_string(file_write_prompt_str, TRUE);
+ tmp_file = resolve_name(string);
+- write_file(tmp_file);
++ write_file(tmp_file, 1);
+ if (tmp_file != string)
+ free(tmp_file);
+ free(string);
+@@ -3762,7 +3764,7 @@
+ string = tmp_file;
+ }
+ }
+- if (write_file(string))
++ if (write_file(string, 1))
+ {
+ in_file_name = string;
+ text_changes = FALSE;
+@@ -4375,17 +4377,25 @@
+ void
+ ispell_op()
+ {
+- char name[128];
++ char template[128], *name;
+ char string[256];
+- int pid;
++ int fd;
+
+ if (restrict_mode())
+ {
+ return;
+ }
+- pid = getpid();
+- sprintf(name, "/tmp/ee.%d", pid);
+- if (write_file(name))
++ (void)sprintf(template, "/tmp/ee.XXXXXXXX");
++ name = mktemp(&template[0]);
++ fd = open(name, O_CREAT | O_EXCL | O_RDWR, 0600);
++ if (fd < 0) {
++ wmove(com_win, 0, 0);
++ wprintw(com_win, create_file_fail_msg, name);
++ wrefresh(com_win);
++ return;
++ }
++ close(fd);
++ if (write_file(name, 0))
+ {
+ sprintf(string, "ispell %s", name);
+ sh_command(string);
diff --git a/sys-freebsd/freebsd-ubin/files/digest-freebsd-ubin-6.0-r1 b/sys-freebsd/freebsd-ubin/files/digest-freebsd-ubin-6.0-r1
new file mode 100644
index 000000000000..2091b60b68a2
--- /dev/null
+++ b/sys-freebsd/freebsd-ubin/files/digest-freebsd-ubin-6.0-r1
@@ -0,0 +1,15 @@
+MD5 344c333bda07c4d345e9fc7a3edf81b2 freebsd-bin-6.0.tar.bz2 403680
+RMD160 4694f5e9e6469cf64b0e05ae8a1d23a612b2130d freebsd-bin-6.0.tar.bz2 403680
+SHA256 1b228a67634edc978e961d81855ac8b5efa611683654f9d956b9fe2ece3e9f6c freebsd-bin-6.0.tar.bz2 403680
+MD5 b5b626909c9707d0bab0c54b50e132b9 freebsd-contrib-6.0.tar.bz2 34972594
+RMD160 3f045dd7d1ddbcf20da670051459f0a2fc508a8b freebsd-contrib-6.0.tar.bz2 34972594
+SHA256 9c76affcddb3a8257d3b612dd7cc8ff43bc7417e47e215c01909a81c79e9d443 freebsd-contrib-6.0.tar.bz2 34972594
+MD5 7c2af3af5be2f46372f9cc0efaeda4c7 freebsd-etc-6.0.tar.bz2 178941
+RMD160 48d0eb51f291e5d706ef076151964b88a9fc1796 freebsd-etc-6.0.tar.bz2 178941
+SHA256 c4bd9401dad72bd869b89aa12a61339a30746caadb741bb0d094f522ee117616 freebsd-etc-6.0.tar.bz2 178941
+MD5 3888da5da1cb329a65a3ac9d316f99ea freebsd-lib-6.0.tar.bz2 2613087
+RMD160 30bf04438a00408284f135c2670106141cae4873 freebsd-lib-6.0.tar.bz2 2613087
+SHA256 dab1140d52597f37d768d2210a49cb29db5404a7df35306462e3642074426a53 freebsd-lib-6.0.tar.bz2 2613087
+MD5 62d4513f9f16d2eadfc3f1d5be53acee freebsd-ubin-6.0.tar.bz2 1760986
+RMD160 08a26aa7afdb1482fd1711355e2ef150ecef709d freebsd-ubin-6.0.tar.bz2 1760986
+SHA256 860ecaa8cea7c1bd1a1403d6b345d751e04fed3fd7993bf69a483046844d476b freebsd-ubin-6.0.tar.bz2 1760986
diff --git a/sys-freebsd/freebsd-ubin/files/freebsd-ubin-6.0-bsdcmp.patch b/sys-freebsd/freebsd-ubin/files/freebsd-ubin-6.0-bsdcmp.patch
new file mode 100644
index 000000000000..1a8552909653
--- /dev/null
+++ b/sys-freebsd/freebsd-ubin/files/freebsd-ubin-6.0-bsdcmp.patch
@@ -0,0 +1,13 @@
+Index: fbsd-6.0/usr.bin/cmp/Makefile
+===================================================================
+--- fbsd-6.0.orig/usr.bin/cmp/Makefile
++++ fbsd-6.0/usr.bin/cmp/Makefile
+@@ -1,7 +1,7 @@
+ # @(#)Makefile 8.1 (Berkeley) 6/6/93
+ # $FreeBSD: src/usr.bin/cmp/Makefile,v 1.6.14.1 2005/09/17 11:33:41 brian Exp $
+
+-PROG= cmp
++PROG= bsdcmp
+ SRCS= cmp.c link.c misc.c regular.c special.c
+
+ .include <bsd.prog.mk>
diff --git a/sys-freebsd/freebsd-ubin/files/freebsd-ubin-6.0-fixmakefiles.patch b/sys-freebsd/freebsd-ubin/files/freebsd-ubin-6.0-fixmakefiles.patch
new file mode 100644
index 000000000000..b135a82a5238
--- /dev/null
+++ b/sys-freebsd/freebsd-ubin/files/freebsd-ubin-6.0-fixmakefiles.patch
@@ -0,0 +1,35 @@
+Index: usr.bin/calendar/Makefile
+===================================================================
+--- usr.bin/calendar/Makefile.orig
++++ usr.bin/calendar/Makefile
+@@ -10,6 +10,7 @@ FR_LINKS= fr_FR.ISO8859-15
+ TEXTMODE?= 444
+
+ beforeinstall:
++ ${INSTALL} -d ${DESTDIR}${SHAREDIR}/calendar
+ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${TEXTMODE} \
+ ${.CURDIR}/calendars/calendar.* ${DESTDIR}${SHAREDIR}/calendar
+ .for lang in ${INTER}
+Index: usr.bin/ee/Makefile
+===================================================================
+--- usr.bin/ee/Makefile.orig
++++ usr.bin/ee/Makefile
+@@ -12,12 +12,12 @@ LDADD= -lncurses
+ NLS= en_US.US-ASCII fr_FR.ISO8859-1 de_DE.ISO8859-1 pl_PL.ISO8859-2 \
+ uk_UA.KOI8-U ru_RU.KOI8-R
+
+-NLSLINKS_en_US.US-ASCII= en_US.ISO8859-1 en_US.ISO8859-15
+-NLSLINKS_fr_FR.ISO8859-1= fr_BE.ISO8859-1 fr_BE.ISO8859-15 \
+- fr_CA.ISO8859-1 fr_CA.ISO8859-15 fr_CH.ISO8859-1 fr_CH.ISO8859-15 \
+- fr_FR.ISO8859-15
+-NLSLINKS_de_DE.ISO8859-1= de_AT.ISO8859-1 de_AT.ISO8859-15 de_CH.ISO8859-1 \
+- de_CH.ISO8859-15 de_DE.ISO8859-15
++#NLSLINKS_en_US.US-ASCII= en_US.ISO8859-1 en_US.ISO8859-15
++#NLSLINKS_fr_FR.ISO8859-1= fr_BE.ISO8859-1 fr_BE.ISO8859-15 \
++# fr_CA.ISO8859-1 fr_CA.ISO8859-15 fr_CH.ISO8859-1 fr_CH.ISO8859-15 \
++# fr_FR.ISO8859-15
++#NLSLINKS_de_DE.ISO8859-1= de_AT.ISO8859-1 de_AT.ISO8859-15 de_CH.ISO8859-1 \
++# de_CH.ISO8859-15 de_DE.ISO8859-15
+
+ NLSSRCFILES=ee.msg
+ .for lang in ${NLS}
diff --git a/sys-freebsd/freebsd-ubin/files/freebsd-ubin-bsdcmp.patch b/sys-freebsd/freebsd-ubin/files/freebsd-ubin-bsdcmp.patch
new file mode 100644
index 000000000000..d4123b2fe61b
--- /dev/null
+++ b/sys-freebsd/freebsd-ubin/files/freebsd-ubin-bsdcmp.patch
@@ -0,0 +1,12 @@
+diff -ur usr.bin/cmp/Makefile usr.bin-cmp/cmp/Makefile
+--- usr.bin/cmp/Makefile 2002-02-08 22:31:36 +0000
++++ usr.bin-cmp/cmp/Makefile 2005-05-12 11:44:55 +0000
+@@ -1,7 +1,7 @@
+ # @(#)Makefile 8.1 (Berkeley) 6/6/93
+ # $FreeBSD: src/usr.bin/cmp/Makefile,v 1.6 2002/02/08 22:31:36 markm Exp $
+
+-PROG= cmp
++PROG= bsdcmp
+ SRCS= cmp.c misc.c regular.c special.c
+
+ .include <bsd.prog.mk>
diff --git a/sys-freebsd/freebsd-ubin/files/freebsd-ubin-fixmakefiles.patch b/sys-freebsd/freebsd-ubin/files/freebsd-ubin-fixmakefiles.patch
new file mode 100644
index 000000000000..7b0cb346917b
--- /dev/null
+++ b/sys-freebsd/freebsd-ubin/files/freebsd-ubin-fixmakefiles.patch
@@ -0,0 +1,87 @@
+diff -ur usr.bin.orig/calendar/Makefile usr.bin/calendar/Makefile
+--- usr.bin.orig/calendar/Makefile Thu Apr 7 20:52:57 2005
++++ usr.bin/calendar/Makefile Thu Apr 7 20:56:53 2005
+@@ -10,6 +10,7 @@
+ TEXTMODE?= 444
+
+ beforeinstall:
++ ${INSTALL} -d ${DESTDIR}${SHAREDIR}/calendar
+ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${TEXTMODE} \
+ ${.CURDIR}/calendars/calendar.* ${DESTDIR}${SHAREDIR}/calendar
+ .for lang in ${INTER}
+Only in usr.bin/calendar: Makefile.orig
+diff -ur usr.bin.orig/ee/Makefile usr.bin/ee/Makefile
+--- usr.bin.orig/ee/Makefile Thu Apr 7 20:52:57 2005
++++ usr.bin/ee/Makefile Thu Apr 7 20:57:14 2005
+@@ -12,12 +12,12 @@
+ NLS= en_US.US-ASCII fr_FR.ISO8859-1 de_DE.ISO8859-1 pl_PL.ISO8859-2 \
+ uk_UA.KOI8-U ru_RU.KOI8-R
+
+-NLSLINKS_en_US.US-ASCII= en_US.ISO8859-1 en_US.ISO8859-15
+-NLSLINKS_fr_FR.ISO8859-1= fr_BE.ISO8859-1 fr_BE.ISO8859-15 \
+- fr_CA.ISO8859-1 fr_CA.ISO8859-15 fr_CH.ISO8859-1 fr_CH.ISO8859-15 \
+- fr_FR.ISO8859-15
+-NLSLINKS_de_DE.ISO8859-1= de_AT.ISO8859-1 de_AT.ISO8859-15 de_CH.ISO8859-1 \
+- de_CH.ISO8859-15 de_DE.ISO8859-15
++#NLSLINKS_en_US.US-ASCII= en_US.ISO8859-1 en_US.ISO8859-15
++#NLSLINKS_fr_FR.ISO8859-1= fr_BE.ISO8859-1 fr_BE.ISO8859-15 \
++# fr_CA.ISO8859-1 fr_CA.ISO8859-15 fr_CH.ISO8859-1 fr_CH.ISO8859-15 \
++# fr_FR.ISO8859-15
++#NLSLINKS_de_DE.ISO8859-1= de_AT.ISO8859-1 de_AT.ISO8859-15 de_CH.ISO8859-1 \
++# de_CH.ISO8859-15 de_DE.ISO8859-15
+
+ NLSSRCFILES=ee.msg
+ .for lang in ${NLS}
+Only in usr.bin/ee: Makefile.orig
+diff -ur usr.bin.orig/kdump/Makefile usr.bin/kdump/Makefile
+--- usr.bin.orig/kdump/Makefile Thu Apr 7 20:52:57 2005
++++ usr.bin/kdump/Makefile Thu Apr 7 20:57:20 2005
+@@ -5,7 +5,7 @@
+
+ PROG= kdump
+ SRCS= kdump.c ioctl.c subr.c
+-CFLAGS+= -I${.CURDIR}/../ktrace -I${.CURDIR}/../..
++CFLAGS+= -I${.CURDIR}/../ktrace -I/usr/src
+
+ CLEANFILES= ioctl.c
+
+Only in usr.bin/kdump: Makefile.orig
+diff -ur usr.bin.orig/truss/Makefile usr.bin/truss/Makefile
+--- usr.bin.orig/truss/Makefile Thu Apr 7 20:52:59 2005
++++ usr.bin/truss/Makefile Thu Apr 7 20:57:29 2005
+@@ -14,18 +14,18 @@
+
+ .SUFFIXES: .master
+
+-i386l-syscalls.master: ${.CURDIR}/../../sys/i386/linux/syscalls.master
++i386l-syscalls.master: /usr/src/sys/i386/linux/syscalls.master
+ cat ${.ALLSRC} > i386l-syscalls.master
+
+ linux_syscalls.h: i386l-syscalls.master
+- /bin/sh ${.CURDIR}/../../sys/kern/makesyscalls.sh i386l-syscalls.master \
++ /bin/sh /usr/src/sys/kern/makesyscalls.sh i386l-syscalls.master \
+ ${.CURDIR}/i386linux.conf
+
+-syscalls.master: ${.CURDIR}/../../sys/kern/syscalls.master
++syscalls.master: /usr/src/sys/kern/syscalls.master
+ cat ${.ALLSRC} > syscalls.master
+
+ syscalls.h: syscalls.master
+- /bin/sh ${.CURDIR}/../../sys/kern/makesyscalls.sh syscalls.master \
++ /bin/sh /usr/src/sys/kern/makesyscalls.sh syscalls.master \
+ ${.CURDIR}/i386.conf
+
+ ioctl.c: ${.CURDIR}/../kdump/mkioctls
+Only in usr.bin/truss: Makefile.orig
+diff -ur usr.bin.orig/vi/Makefile usr.bin/vi/Makefile
+--- usr.bin.orig/vi/Makefile Thu Apr 7 20:52:59 2005
++++ usr.bin/vi/Makefile Thu Apr 7 20:57:37 2005
+@@ -74,6 +74,7 @@
+ SRCS+= vs_line.c vs_msg.c vs_refresh.c vs_relative.c vs_smap.c vs_split.c
+
+ afterinstall:
++ ${INSTALL} -d ${DESTDIR}/usr/share/vi/catalog
+ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \
+ ${CATALOGS:S;^;${SRCDIR}/catalog/;} \
+ ${DESTDIR}/usr/share/vi/catalog
+Only in usr.bin/vi: Makefile.orig
diff --git a/sys-freebsd/freebsd-ubin/files/freebsd-ubin-flex.patch b/sys-freebsd/freebsd-ubin/files/freebsd-ubin-flex.patch
new file mode 100644
index 000000000000..0c24683d5542
--- /dev/null
+++ b/sys-freebsd/freebsd-ubin/files/freebsd-ubin-flex.patch
@@ -0,0 +1,24 @@
+diff -ur usr.bin/colldef/Makefile usr.bin-flex/colldef/Makefile
+--- usr.bin/colldef/Makefile 2002-02-08 23:07:34 +0000
++++ usr.bin-flex/colldef/Makefile 2005-05-05 17:32:03 +0000
+@@ -5,7 +5,7 @@
+ LFLAGS= -8 -i
+ CFLAGS+=-I. -I${.CURDIR} -I${.CURDIR}/../../lib/libc/locale
+ CFLAGS+=-DCOLLATE_DEBUG -DYY_NO_UNPUT
+-LDADD= -ll
++LDADD= -lfl
+ DPADD= ${LIBL}
+
+ .include <bsd.prog.mk>
+diff -ur usr.bin/xlint/lint1/Makefile usr.bin-flex/xlint/lint1/Makefile
+--- usr.bin/xlint/lint1/Makefile 2004-02-05 22:44:25 +0000
++++ usr.bin-flex/xlint/lint1/Makefile 2005-05-05 17:32:25 +0000
+@@ -7,7 +7,7 @@
+ MAN= lint.7
+ CLEANFILES= lint.7
+
+-LDADD= -ll -lm
++LDADD= -lfl -lm
+ DPADD= ${LIBL} ${LIBM}
+ CFLAGS+= -I. -I${.CURDIR}
+ LINTFLAGS=-aehpz
diff --git a/sys-freebsd/freebsd-ubin/files/freebsd-ubin-lint-stdarg.patch b/sys-freebsd/freebsd-ubin/files/freebsd-ubin-lint-stdarg.patch
new file mode 100644
index 000000000000..97747245552d
--- /dev/null
+++ b/sys-freebsd/freebsd-ubin/files/freebsd-ubin-lint-stdarg.patch
@@ -0,0 +1,24 @@
+diff -ur usr.bin.orig/xlint/llib/llib-lposix usr.bin/xlint/llib/llib-lposix
+--- usr.bin.orig/xlint/llib/llib-lposix 2005-04-29 17:30:03 +0000
++++ usr.bin/xlint/llib/llib-lposix 2005-05-03 14:12:26 +0000
+@@ -42,7 +42,7 @@
+ #include <sys/utsname.h>
+ #include <sys/times.h>
+ #include <stdio.h>
+-#include <stdarg.h>
++#include <machine/stdarg.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <math.h>
+diff -ur usr.bin.orig/xlint/llib/llib-lstdc usr.bin/xlint/llib/llib-lstdc
+--- usr.bin.orig/xlint/llib/llib-lstdc 2005-04-29 17:30:03 +0000
++++ usr.bin/xlint/llib/llib-lstdc 2005-05-03 14:12:35 +0000
+@@ -44,7 +44,7 @@
+ #include <math.h>
+ #include <setjmp.h>
+ #include <signal.h>
+-#include <stdarg.h>
++#include <machine/stdarg.h>
+ #include <stddef.h>
+ #include <stdio.h>
+ #include <stdlib.h>
diff --git a/sys-freebsd/freebsd-ubin/files/freebsd-ubin-setXid.patch b/sys-freebsd/freebsd-ubin/files/freebsd-ubin-setXid.patch
new file mode 100644
index 000000000000..6608adc2b1a9
--- /dev/null
+++ b/sys-freebsd/freebsd-ubin/files/freebsd-ubin-setXid.patch
@@ -0,0 +1,150 @@
+diff -ur usr.bin.orig/at/Makefile usr.bin.setXid/at/Makefile
+--- usr.bin.orig/at/Makefile Thu Apr 7 20:52:57 2005
++++ usr.bin.setXid/at/Makefile Thu Apr 7 21:21:02 2005
+@@ -15,6 +15,8 @@
+ BINMODE= 4555
+ CLEANFILES+= at.1
+
++LDFLAGS+=-Wl,-z,now
++
+ at.1: at.man
+ @${ECHO} Making ${.TARGET:T} from ${.ALLSRC:T}; \
+ sed -e \
+diff -ur usr.bin.orig/chpass/Makefile usr.bin.setXid/chpass/Makefile
+--- usr.bin.orig/chpass/Makefile Thu Apr 7 20:52:57 2005
++++ usr.bin.setXid/chpass/Makefile Thu Apr 7 21:22:40 2005
+@@ -15,6 +15,8 @@
+ #CFLAGS+=-DRESTRICT_FULLNAME_CHANGE
+ CFLAGS+=-I${.CURDIR}/../../usr.sbin/pwd_mkdb -I${.CURDIR}/../../lib/libc/gen -I.
+
++LDFLAGS+=-Wl,-z,now
++
+ DPADD= ${LIBCRYPT} ${LIBUTIL}
+ LDADD= -lcrypt -lutil
+ .if !defined(NO_NIS)
+diff -ur usr.bin.orig/fstat/Makefile usr.bin.setXid/fstat/Makefile
+--- usr.bin.orig/fstat/Makefile Thu Apr 7 20:52:57 2005
++++ usr.bin.setXid/fstat/Makefile Thu Apr 7 21:24:35 2005
+@@ -9,4 +9,6 @@
+ BINMODE=2555
+ WARNS?= 6
+
++LDFLAGS+=-Wl,-z,now
++
+ .include <bsd.prog.mk>
+diff -ur usr.bin.orig/lock/Makefile usr.bin.setXid/lock/Makefile
+--- usr.bin.orig/lock/Makefile Thu Apr 7 20:52:57 2005
++++ usr.bin.setXid/lock/Makefile Thu Apr 7 21:24:45 2005
+@@ -7,4 +7,6 @@
+ DPADD= ${LIBCRYPT}
+ LDADD= -lcrypt
+
++LDFLAGS+=-Wl,-z,now
++
+ .include <bsd.prog.mk>
+diff -ur usr.bin.orig/login/Makefile usr.bin.setXid/login/Makefile
+--- usr.bin.orig/login/Makefile Thu Apr 7 20:52:57 2005
++++ usr.bin.setXid/login/Makefile Thu Apr 7 21:24:55 2005
+@@ -13,4 +13,6 @@
+ INSTALLFLAGS=-fschg
+ .endif
+
++LDFLAGS+=-Wl,-z,now
++
+ .include <bsd.prog.mk>
+diff -ur usr.bin.orig/netstat/Makefile usr.bin.setXid/netstat/Makefile
+--- usr.bin.orig/netstat/Makefile Thu Apr 7 20:52:58 2005
++++ usr.bin.setXid/netstat/Makefile Thu Apr 7 21:25:08 2005
+@@ -14,4 +14,6 @@
+ DPADD= ${LIBKVM} ${LIBIPX} ${LIBNETGRAPH} ${LIBUTIL}
+ LDADD= -lkvm -lipx -lnetgraph -lutil
+
++LDFLAGS+=-Wl,-z,now
++
+ .include <bsd.prog.mk>
+diff -ur usr.bin.orig/opieinfo/Makefile usr.bin.setXid/opieinfo/Makefile
+--- usr.bin.orig/opieinfo/Makefile Thu Apr 7 20:52:58 2005
++++ usr.bin.setXid/opieinfo/Makefile Thu Apr 7 21:25:20 2005
+@@ -11,6 +11,8 @@
+ DPADD= ${LIBOPIE} ${LIBMD}
+ LDADD= -lopie -lmd
+
++LDFLAGS+=-Wl,-z,now
++
+ BINOWN= root
+ BINMODE=4555
+ INSTALLFLAGS=-fschg
+diff -ur usr.bin.orig/opiepasswd/Makefile usr.bin.setXid/opiepasswd/Makefile
+--- usr.bin.orig/opiepasswd/Makefile Thu Apr 7 20:52:58 2005
++++ usr.bin.setXid/opiepasswd/Makefile Thu Apr 7 21:25:29 2005
+@@ -11,6 +11,8 @@
+ DPADD= ${LIBOPIE} ${LIBMD}
+ LDADD= -lopie -lmd
+
++LDFLAGS+=-Wl,-z,now
++
+ BINOWN= root
+ BINMODE=4555
+ INSTALLFLAGS=-fschg
+diff -ur usr.bin.orig/passwd/Makefile usr.bin.setXid/passwd/Makefile
+--- usr.bin.orig/passwd/Makefile Thu Apr 7 20:52:58 2005
++++ usr.bin.setXid/passwd/Makefile Thu Apr 7 21:25:37 2005
+@@ -10,6 +10,8 @@
+ MLINKS = passwd.1 yppasswd.1
+ WARNS ?= 4
+
++LDFLAGS+=-Wl,-z,now
++
+ beforeinstall:
+ .for i in passwd yppasswd
+ [ ! -e ${DESTDIR}${BINDIR}/$i ] || \
+diff -ur usr.bin.orig/rlogin/Makefile usr.bin.setXid/rlogin/Makefile
+--- usr.bin.orig/rlogin/Makefile Thu Apr 7 20:52:58 2005
++++ usr.bin.setXid/rlogin/Makefile Thu Apr 7 21:25:46 2005
+@@ -8,4 +8,6 @@
+ BINMODE=4555
+ INSTALLFLAGS=-fschg
+
++LDFLAGS+=-Wl,-z,now
++
+ .include <bsd.prog.mk>
+diff -ur usr.bin.orig/rsh/Makefile usr.bin.setXid/rsh/Makefile
+--- usr.bin.orig/rsh/Makefile Thu Apr 7 20:52:58 2005
++++ usr.bin.setXid/rsh/Makefile Thu Apr 7 21:25:53 2005
+@@ -9,4 +9,6 @@
+ BINMODE=4555
+ INSTALLFLAGS=-fschg
+
++LDFLAGS+=-Wl,-z,now
++
+ .include <bsd.prog.mk>
+diff -ur usr.bin.orig/su/Makefile usr.bin.setXid/su/Makefile
+--- usr.bin.orig/su/Makefile Thu Apr 7 20:52:58 2005
++++ usr.bin.setXid/su/Makefile Thu Apr 7 21:26:00 2005
+@@ -10,4 +10,6 @@
+ BINMODE=4555
+ INSTALLFLAGS=-fschg
+
++LDFLAGS+=-Wl,-z,now
++
+ .include <bsd.prog.mk>
+diff -ur usr.bin.orig/wall/Makefile usr.bin.setXid/wall/Makefile
+--- usr.bin.orig/wall/Makefile Thu Apr 7 20:52:59 2005
++++ usr.bin.setXid/wall/Makefile Thu Apr 7 21:26:07 2005
+@@ -5,4 +5,6 @@
+ BINGRP= tty
+ BINMODE=2555
+
++LDFLAGS+=-Wl,-z,now
++
+ .include <bsd.prog.mk>
+diff -ur usr.bin.orig/write/Makefile usr.bin.setXid/write/Makefile
+--- usr.bin.orig/write/Makefile Thu Apr 7 20:52:59 2005
++++ usr.bin.setXid/write/Makefile Thu Apr 7 21:26:13 2005
+@@ -4,4 +4,6 @@
+ BINMODE=2555
+ BINGRP= tty
+
++LDFLAGS+=-Wl,-z,now
++
+ .include <bsd.prog.mk>
diff --git a/sys-freebsd/freebsd-ubin/files/login.pamd b/sys-freebsd/freebsd-ubin/files/login.pamd
new file mode 100644
index 000000000000..859fb67b18ec
--- /dev/null
+++ b/sys-freebsd/freebsd-ubin/files/login.pamd
@@ -0,0 +1,20 @@
+#
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-ubin/files/login.pamd,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+#
+# PAM configuration for the "login" service
+#
+
+# auth
+auth required pam_nologin.so no_warn
+auth sufficient pam_self.so no_warn
+auth include system
+
+# account
+account requisite pam_securetty.so
+account include system
+
+# session
+session include system
+
+# password
+password include system
diff --git a/sys-freebsd/freebsd-ubin/files/passwd.pamd b/sys-freebsd/freebsd-ubin/files/passwd.pamd
new file mode 100644
index 000000000000..4d3955f61b76
--- /dev/null
+++ b/sys-freebsd/freebsd-ubin/files/passwd.pamd
@@ -0,0 +1,11 @@
+#
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-ubin/files/passwd.pamd,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+#
+# PAM configuration for the "passwd" service
+#
+
+# passwd(1) does not use the auth, account or session services.
+
+# password
+#password requisite pam_passwdqc.so enforce=users
+password required pam_unix.so no_warn try_first_pass nullok
diff --git a/sys-freebsd/freebsd-ubin/files/su.pamd b/sys-freebsd/freebsd-ubin/files/su.pamd
new file mode 100644
index 000000000000..17feb0d6417b
--- /dev/null
+++ b/sys-freebsd/freebsd-ubin/files/su.pamd
@@ -0,0 +1,17 @@
+#
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-ubin/files/su.pamd,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+#
+# PAM configuration for the "su" service
+#
+
+# auth
+auth sufficient pam_rootok.so no_warn
+auth sufficient pam_self.so no_warn
+auth requisite pam_group.so no_warn group=wheel root_only fail_safe
+auth include system
+
+# account
+account include system
+
+# session
+session required pam_permit.so
diff --git a/sys-freebsd/freebsd-ubin/freebsd-ubin-6.0-r1.ebuild b/sys-freebsd/freebsd-ubin/freebsd-ubin-6.0-r1.ebuild
new file mode 100644
index 000000000000..8e6698983387
--- /dev/null
+++ b/sys-freebsd/freebsd-ubin/freebsd-ubin-6.0-r1.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-ubin/freebsd-ubin-6.0-r1.ebuild,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+inherit bsdmk freebsd flag-o-matic pam
+
+DESCRIPTION="FreeBSD's base system source for /usr/bin"
+SLOT="0"
+KEYWORDS="~x86-fbsd"
+
+IUSE="atm bluetooth ssl usb nls ipv6 kerberos nis"
+
+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"
+
+RDEPEND="ssl? ( dev-libs/openssl )
+ kerberos? ( virtual/krb5 )
+ sys-libs/zlib
+ virtual/pam"
+DEPEND="${RDEPEND}
+ sys-devel/flex
+ =sys-freebsd/freebsd-sources-${RV}*
+ =sys-freebsd/freebsd-headers-${RV}*
+ =sys-freebsd/freebsd-mk-defs-${RV}*"
+
+S=${WORKDIR}/usr.bin
+
+pkg_setup() {
+ use nls || mymakeopts="${mymakeopts} NO_NLS= "
+ use atm || mymakeopts="${mymakeopts} NO_ATM= "
+ use bluetooth || mymakeopts="${mymakeopts} NO_BLUETOOTH= "
+ use ssl || mymakeopts="${mymakeopts} NO_OPENSSL= NO_CRYPT= "
+ use usb || mymakeopts="${mymakeopts} NO_USB= "
+ use ipv6 || mymakeopts="${mymakeopts} NO_INET6= "
+ use kerberos || mymakeopts="${mymakeopts} NO_KERBEROS= "
+ use nis || mymakeopts="${mymakeopts} NO_NIS= "
+
+ mymakeopts="${mymakeopts} NO_SENDMAIL= "
+}
+
+# List of patches to apply
+PATCHES="${FILESDIR}/${PN}-${RV}-bsdcmp.patch
+ ${FILESDIR}/${PN}-${RV}-fixmakefiles.patch
+ ${FILESDIR}/${PN}-setXid.patch
+ ${FILESDIR}/${PN}-lint-stdarg.patch
+ ${FILESDIR}/SA-06-02-ee.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
+# and the rest are misc utils we already provide somewhere else.
+REMOVE_SUBDIRS="bzip2 bzip2recover tar
+ tput tset
+ less lessecho lesskey
+ dig nslookup nsupdate host
+ rsh rlogin rusers rwho ruptime
+ compile_et lex vi smbutil file vacation nc ftp telnet"
+
+src_unpack() {
+ freebsd_src_unpack
+
+ ln -s "/usr/src/sys-${RV}" "${WORKDIR}/sys"
+
+ # Rename manpage for renamed cmp
+ mv ${S}/cmp/cmp.1 ${S}/cmp/bsdcmp.1
+}
+
+src_install() {
+ freebsd_src_install
+
+ for pamdfile in login passwd su; do
+ newpamd "${FILESDIR}/${pamdfile}.pamd" ${pamdfile}
+ done
+
+ cd "${WORKDIR}/etc"
+ insinto /etc
+ doins remote phones opieaccess fbtab
+
+ # Install the periodic stuff (needs probably to be ported in a more
+ # gentooish way)
+ cd "${WORKDIR}/etc/periodic"
+
+ doperiodic weekly weekly/*.locate
+}
diff --git a/sys-freebsd/freebsd-ubin/metadata.xml b/sys-freebsd/freebsd-ubin/metadata.xml
new file mode 100644
index 000000000000..ecedda4aa2cc
--- /dev/null
+++ b/sys-freebsd/freebsd-ubin/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>bsd</herd>
+</pkgmetadata>
diff --git a/sys-freebsd/freebsd-usbin/ChangeLog b/sys-freebsd/freebsd-usbin/ChangeLog
new file mode 100644
index 000000000000..66c3e173b96f
--- /dev/null
+++ b/sys-freebsd/freebsd-usbin/ChangeLog
@@ -0,0 +1,150 @@
+# ChangeLog for sys-apps/freebsd-usbin
+# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-usbin/ChangeLog,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+*freebsd-usbin-6.0 (01 Apr 2006)
+
+ 01 Apr 2006; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-usbin-5.3-r1-makefile-docpaths.patch,
+ +files/freebsd-usbin-6.0-fixmakefiles.patch,
+ +files/freebsd-usbin-fixmakefiles.patch, +files/freebsd-usbin-flex.patch,
+ +files/freebsd-usbin-nowrap.patch, +files/moused.confd,
+ +files/moused.initd, +files/nfs.confd, +files/nfs.initd,
+ +files/nfsmount.initd, +files/pw.conf, +files/rpcbind.initd,
+ +files/syslogd.initd, +metadata.xml, +freebsd-usbin-6.0.ebuild:
+ Import into portage.
+
+ 28 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Symlink sys directory instead of patching everything in makefiles.
+
+ 20 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Fix deprecated stuff to use NO_* syntax.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Also install hosts.lpd.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Add also usbd configuration file, printcap if lpr is requested, and
+ bluetooth configuration if requested.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Build cron jobs for periodic call here instead that in baselayout.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Add periodic files.
+
+ 13 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Install configuration files here instead than in baselayout. Install isdn
+ configuration files only if isdn is set.
+
+ 12 Feb 2006; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Drop wpa_supplicant and hostapd, take the one from portage on user's request.
+
+ 01 Nov 2005; Diego Pettenò <flameeyes@gentoo.org> ChangeLog:
+ Remove pf support, as freebsd-pf will provide it.
+
+ 25 Aug 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-usbin-5.3-r1-makefile-docpaths.patch,
+ +files/freebsd-usbin-fixmakefiles.patch, +files/freebsd-usbin-flex.patch,
+ +files/freebsd-usbin-nowrap.patch, +files/moused.confd,
+ +files/moused.initd, +files/nfs.confd, +files/nfs.initd,
+ +files/nfsmount.initd, +files/rpcbind.initd, +files/syslogd.initd,
+ +freebsd-usbin-5.4-r2.ebuild:
+ Moved to sys-freebsd.
+
+ 29 Jul 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-usbin-5.4-r2.ebuild:
+ Adapt to recent bsdmk changes.
+
+ 09 Jul 2005; Diego Pettenò <flameeyes@gentoo.org>
+ -files/freebsd-usbin-5.3_rc1-arlcontrol-makefile.patch,
+ -files/freebsd-usbin-5.3_rc1-dconschat-makefile.patch,
+ -files/freebsd-usbin-5.3_rc1-fwcontrol-makefile.patch,
+ -files/freebsd-usbin-5.3_rc1-ipftest-makefile.patch,
+ -files/freebsd-usbin-5.3_rc1-ipresend-makefile.patch,
+ -files/freebsd-usbin-5.3_rc1-ipsend-makefile.patch,
+ -files/freebsd-usbin-5.3_rc1-iptest-makefile.patch,
+ -files/freebsd-usbin-5.3_rc1-mailwrapper-makefile.patch,
+ -files/freebsd-usbin-5.3_rc1-makefileinc.patch,
+ -files/freebsd-usbin-5.3_rc1-mlxcontrol-makefile.patch,
+ -files/freebsd-usbin-5.3_rc1-ndiscvt-makefile.patch,
+ -files/freebsd-usbin-5.3_rc1-nologin-makefile.patch,
+ -files/freebsd-usbin-5.3_rc1-pciconf-makefile.patch,
+ -files/freebsd-usbin-5.3_rc1-pcvt_keycap-makefile.patch,
+ -files/freebsd-usbin-5.3_rc1-pnpinfo-makefile.patch,
+ -files/freebsd-usbin-5.3_rc1-raycontrol-makefile.patch,
+ -files/freebsd-usbin-5.3_rc1-rpc.ypxfrd-makefile.patch,
+ -files/freebsd-usbin-5.3_rc1-setkey-makefile.patch,
+ -files/freebsd-usbin-5.3_rc1-sicontrol-makefile.patch,
+ -files/freebsd-usbin-5.3_rc1-sysinstall-makefile.patch,
+ -files/freebsd-usbin-5.3_rc1-yppush-makefile.patch,
+ -files/freebsd-usbin-5.3_rc1-ypserv-makefile.patch,
+ -files/freebsd-usbin-cron-gentoo-location.patch, -metadata.xml,
+ -freebsd-usbin-5.3.ebuild, -freebsd-usbin-5.3-r1.ebuild,
+ -freebsd-usbin-5.3.20050301.ebuild, -freebsd-usbin-5.4.ebuild,
+ -freebsd-usbin-5.4-r1.ebuild:
+ Removed old 5.3 and obsolete 5.4 versions. Removed metadata (it's in overlay
+ :P).
+
+ 16 Jun 2005; Diego Pettenò <flameeyes@gentoo.org> +files/inetd.initd,
+ +files/moused.confd, +files/moused.initd, +files/syslogd.initd,
+ freebsd-usbin-5.4-r2.ebuild:
+ Cleaned up tarball needed, dependencies and provided virtuals. Removed a lot
+ of subtargets we don't need or we use from some other ebuild. Added initd
+ and confd where present for syslogd inetd and moused (moved here from
+ baselayout).
+
+ 10 Jun 2005; Diego Pettenò <flameeyes@gentoo.org>
+ freebsd-usbin-5.4-r2.ebuild:
+ Remove tcpdump, will be maintained on its own as usual.
+
+ 08 Jun 2005; Diego Pettenò <flameeyes@gentoo.org>
+ -files/freebsd-usbin-minimal.patch, -files/freebsd-usbin-nontp.patch,
+ -files/freebsd-usbin-nosnmp.patch, freebsd-usbin-5.4.ebuild,
+ freebsd-usbin-5.4-r1.ebuild, freebsd-usbin-5.4-r2.ebuild:
+ Removed minimal, nosnmp and nontp patches, now using dummy_mk which avoids
+ using patches.
+
+*freebsd-usbin-5.4-r2 (04 Jun 2005)
+
+ 04 Jun 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-usbin-nosnmp.patch, +freebsd-usbin-5.4-r2.ebuild:
+ Removed bsnmpd as it's now installed on its own.
+
+*freebsd-usbin-5.4-r1 (26 May 2005)
+
+ 26 May 2005; Diego Pettenò <flameeyes@gentoo.org> +files/nfs.confd,
+ +files/nfs.initd, +files/nfsmount.initd, +files/rpcbind.initd,
+ +freebsd-usbin-5.4-r1.ebuild:
+ New revision: this time installs nfs and rpcbind init.d files, so you can
+ use nfs with locking support.
+
+ 26 May 2005; Diego Pettenò <flameeyes@gentoo.org>
+ +files/freebsd-usbin-nontp.patch, freebsd-usbin-5.4.ebuild:
+ Added patch to avoid installing ntp, net-misc/ntp will be compilable soon,
+ in the mean time OpenNTPd should do.
+
+*freebsd-usbin-5.3.20050301 (30 Mar 2005)
+
+ 30 Mar 2005; Otavio R. Piske <angusyoung@gentoo.org>
+ +files/freebsd-usbin-5.3-r1-makefile-docpaths.patch,
+ +files/freebsd-usbin-cron-gentoo-location.patch,
+ +freebsd-usbin-5.3.20050301.ebuild:
+ Added a new ebuild based on updated FreeBSD sources and with support for
+ various USE flags (Thanks to Diego Petteno <dgp85@users.sourceforge.net> for
+ the patch)
+
+ 06 Oct 2004; Otavio Piske <angusyoung@gentoo.org>
+ -freebsd-usbin-5.2.1.ebuild:
+ Removed version 5.2.1 since had bugs. Default now is 5.2.1-r1
+
+*freebsd-usbin-5.2.1-r1 (29 Sep 2004)
+
+ 29 Sep 2004; Aaron Walker <ka0ttic@gentoo.org>
+ freebsd-usbin-5.2.1-r1.ebuild:
+ replace_flags should be called in src_compile.
+
+ 15 Sep 2004; Otavio Piske <angusyoung@gentoo.org> freebsd-usbin-5.2.1.ebuild:
+ Initial release
+
+*freebsd-usbin-5.2.1.ebuild (15 Sep 2004)
diff --git a/sys-freebsd/freebsd-usbin/Manifest b/sys-freebsd/freebsd-usbin/Manifest
new file mode 100644
index 000000000000..67abe4cbdea1
--- /dev/null
+++ b/sys-freebsd/freebsd-usbin/Manifest
@@ -0,0 +1,54 @@
+MD5 7f521797ae142817c763c22d389e659d ChangeLog 5957
+RMD160 bc469c0b65de65395668a03ed2d27ec2dca9474c ChangeLog 5957
+SHA256 ed9b12cf62b3709cfbb2e4d04498f1435e4c0cf0105684e595b798b3732c6087 ChangeLog 5957
+MD5 05a759af4ebaf4b4224b0d88e04e134f files/digest-freebsd-usbin-5.4-r3 427
+RMD160 f53bf6aa9859cdb05970796ff30a3454d9b8b588 files/digest-freebsd-usbin-5.4-r3 427
+SHA256 ab3d4a9539a4da15502bd4ae6bd5c839c9770cce5ad7900fbb14574d7d718a2b files/digest-freebsd-usbin-5.4-r3 427
+MD5 c9135c1dd494a2530c64932b005b3a6e files/digest-freebsd-usbin-6.0 1804
+RMD160 518b8d1c0f014b712766336798e69fcde36d9eb4 files/digest-freebsd-usbin-6.0 1804
+SHA256 e220ea79f7fe0698bcd6890c46fbd7e6280194f4cfc4cf88a491e41fa5b47a9b files/digest-freebsd-usbin-6.0 1804
+MD5 5c950b98d7c2a08c6df6b7e8c3982825 files/freebsd-usbin-5.3-r1-makefile-docpaths.patch 1104
+RMD160 05c553cb62b5a751b74f2e1ff8158ac2514763f8 files/freebsd-usbin-5.3-r1-makefile-docpaths.patch 1104
+SHA256 9c6486ae7da34128efdaffb02499b87baaad0439130d72a6eb1cf6637dc1bd8c files/freebsd-usbin-5.3-r1-makefile-docpaths.patch 1104
+MD5 38dae608f79fc4b9a9105769e52945f5 files/freebsd-usbin-6.0-fixmakefiles.patch 7351
+RMD160 550567b4fa48458303486655adf726624abc5d26 files/freebsd-usbin-6.0-fixmakefiles.patch 7351
+SHA256 d699387e550756238f1e0bc4f74f77fe961a6e4113e7f4fd7f8e167227372a85 files/freebsd-usbin-6.0-fixmakefiles.patch 7351
+MD5 88a8a0f62bc913be59a656b755640d2e files/freebsd-usbin-fixmakefiles.patch 1283
+RMD160 90ef9335c449548f9767fb09bebc143b74919f2c files/freebsd-usbin-fixmakefiles.patch 1283
+SHA256 fd54210d0b9f0784a351fd846e5a4274d7b6753cded0e56c30cd3c1d2e3560cd files/freebsd-usbin-fixmakefiles.patch 1283
+MD5 4cb31489bc7d6a3b34ea667e48feb51b files/freebsd-usbin-flex.patch 4961
+RMD160 c9cb8a9fce26f5740e27441e5a1cc4b87e327fb3 files/freebsd-usbin-flex.patch 4961
+SHA256 79bdffd90cb26839b74f66f48597e2526b7dc33d6ae5105c15da3175d29066f2 files/freebsd-usbin-flex.patch 4961
+MD5 39d0d0915156088d99b1524fc39e8ebd files/freebsd-usbin-nowrap.patch 1229
+RMD160 2931c7cc81e6dcffdbdd9ea98ff5ae31654070cf files/freebsd-usbin-nowrap.patch 1229
+SHA256 4ae0724d5e642e0399188b6805e94495af360ccf4f99443f9bfa80c220d29a8b files/freebsd-usbin-nowrap.patch 1229
+MD5 9323aad1f662cfb05410c73924b95a69 files/moused.confd 400
+RMD160 23c25266aba4257992593f085de2f8800eb6c160 files/moused.confd 400
+SHA256 95ded64ffe7a8962f5e5e0dfa004babe0818cd8a8a0bdd9f3576910771984b73 files/moused.confd 400
+MD5 cbded2de463469c7e3dbef1ce17af62d files/moused.initd 736
+RMD160 487a93e9bf1b1e6852c5aba8fe4a080967899f4f files/moused.initd 736
+SHA256 94c3d3df5cdf71b591b99479b1692481b936d58be6413fb78ff178f0ac6235e2 files/moused.initd 736
+MD5 66152bdbaba4f7a6744e74b7d1046690 files/nfs.confd 481
+RMD160 070604a808fa6814793d49caa155ed407869bfa6 files/nfs.confd 481
+SHA256 acb0a6859d650d9844de60266ab03f77c52ee0b2f0992a07847ad9df4afc66d8 files/nfs.confd 481
+MD5 c7051489a6fb0a0536a620288cc62ad6 files/nfs.initd 5877
+RMD160 68db61e33af5796c23452e548397b0965ac65fbc files/nfs.initd 5877
+SHA256 8eaeabb90c773b9b4596254330b1d3178bf686711ed16dd43b6e79c018afad3d files/nfs.initd 5877
+MD5 7e9fa143f00bec286435b4ec1c120a6f files/nfsmount.initd 1520
+RMD160 143dc7475175f788467fb47ac6b97593fe8322d0 files/nfsmount.initd 1520
+SHA256 3dfbc640ec9ccda8e8900f59e85d0c13a9bf7cfe61f06ffd4e1c0ff0ddd9754d files/nfsmount.initd 1520
+MD5 990afbd0fae94ba8dc2e77ad70bed008 files/pw.conf 179
+RMD160 b40103a1c85c1b5e24ad60da82741ee744e46cb8 files/pw.conf 179
+SHA256 0aa508e3911a80ccd1dc5005ec6f2e86e7c4fc5c99ca127f4d7e479d133c69ef files/pw.conf 179
+MD5 dbaac872c2a440574d812604fef0f49d files/rpcbind.initd 511
+RMD160 9329da3df61dd99d73f71a8b03509d8b3a427c1e files/rpcbind.initd 511
+SHA256 297485cb4383007d66948b1b35c8969b3662945a25f15977b40db69281d9642f files/rpcbind.initd 511
+MD5 8e67df7a4fa98d011dd2f1bc8b29f98c files/syslogd.initd 462
+RMD160 df276d4f096374576878ed2d057a1b73df1fb95d files/syslogd.initd 462
+SHA256 16a0043262da3a941e12848fe7f5d1c932315362425255ca38ac51e5f5d38e05 files/syslogd.initd 462
+MD5 c6338a35cf8e4995be19118c67a3ee8c freebsd-usbin-5.4-r3.ebuild 3484
+RMD160 96a45f2898baf96fe2aa82948d286e7318d275e0 freebsd-usbin-5.4-r3.ebuild 3484
+SHA256 e14bd69bc29b27bfd02e422c8aa169c427c3465fd6a19eeb8c32f644e3e8b738 freebsd-usbin-5.4-r3.ebuild 3484
+MD5 9c58624d9aa96b1845bb316fbe897426 freebsd-usbin-6.0.ebuild 4367
+RMD160 01065ccf3f1a8cbdcd870c506be1c56cd9b50c5a freebsd-usbin-6.0.ebuild 4367
+SHA256 a42da27f617f669b00ed5ca4599bda2618200e98ca3fab304ae53ae4150bef3e freebsd-usbin-6.0.ebuild 4367
diff --git a/sys-freebsd/freebsd-usbin/files/digest-freebsd-usbin-6.0 b/sys-freebsd/freebsd-usbin/files/digest-freebsd-usbin-6.0
new file mode 100644
index 000000000000..5e1353bf00a8
--- /dev/null
+++ b/sys-freebsd/freebsd-usbin/files/digest-freebsd-usbin-6.0
@@ -0,0 +1,21 @@
+MD5 b5b626909c9707d0bab0c54b50e132b9 freebsd-contrib-6.0.tar.bz2 34972594
+RMD160 3f045dd7d1ddbcf20da670051459f0a2fc508a8b freebsd-contrib-6.0.tar.bz2 34972594
+SHA256 9c76affcddb3a8257d3b612dd7cc8ff43bc7417e47e215c01909a81c79e9d443 freebsd-contrib-6.0.tar.bz2 34972594
+MD5 7c2af3af5be2f46372f9cc0efaeda4c7 freebsd-etc-6.0.tar.bz2 178941
+RMD160 48d0eb51f291e5d706ef076151964b88a9fc1796 freebsd-etc-6.0.tar.bz2 178941
+SHA256 c4bd9401dad72bd869b89aa12a61339a30746caadb741bb0d094f522ee117616 freebsd-etc-6.0.tar.bz2 178941
+MD5 3888da5da1cb329a65a3ac9d316f99ea freebsd-lib-6.0.tar.bz2 2613087
+RMD160 30bf04438a00408284f135c2670106141cae4873 freebsd-lib-6.0.tar.bz2 2613087
+SHA256 dab1140d52597f37d768d2210a49cb29db5404a7df35306462e3642074426a53 freebsd-lib-6.0.tar.bz2 2613087
+MD5 44996c2edac20108da43add45b599d94 freebsd-libexec-6.0.tar.bz2 277631
+RMD160 5121414524c9dfceab1f5ad8b8bc91c65141db82 freebsd-libexec-6.0.tar.bz2 277631
+SHA256 2eddc867d69afa6c5d0a2f3ce18d4570688b5fa49924adb478dc7d548ba8197e freebsd-libexec-6.0.tar.bz2 277631
+MD5 961eeb893125bfaa47a7d2f2fee9f2c2 freebsd-sbin-6.0.tar.bz2 1132085
+RMD160 9b194c62b4a51d37cea224f0e3fe1069f2645248 freebsd-sbin-6.0.tar.bz2 1132085
+SHA256 43568a5534e29ee442a920459052638e0ca17c69b54a984b1c023628f5f2229f freebsd-sbin-6.0.tar.bz2 1132085
+MD5 62d4513f9f16d2eadfc3f1d5be53acee freebsd-ubin-6.0.tar.bz2 1760986
+RMD160 08a26aa7afdb1482fd1711355e2ef150ecef709d freebsd-ubin-6.0.tar.bz2 1760986
+SHA256 860ecaa8cea7c1bd1a1403d6b345d751e04fed3fd7993bf69a483046844d476b freebsd-ubin-6.0.tar.bz2 1760986
+MD5 df8c3764da190437a1d47c6ff1872520 freebsd-usbin-6.0.tar.bz2 2635411
+RMD160 9a8f5cdc041df1ad2b388c432a1829b5c8adc51d freebsd-usbin-6.0.tar.bz2 2635411
+SHA256 46ac3c581fd20d9980bcf2d80aba7c2f874ad3e29058939bee0c6f1a4af8ff64 freebsd-usbin-6.0.tar.bz2 2635411
diff --git a/sys-freebsd/freebsd-usbin/files/freebsd-usbin-5.3-r1-makefile-docpaths.patch b/sys-freebsd/freebsd-usbin/files/freebsd-usbin-5.3-r1-makefile-docpaths.patch
new file mode 100644
index 000000000000..43b35cc75eab
--- /dev/null
+++ b/sys-freebsd/freebsd-usbin/files/freebsd-usbin-5.3-r1-makefile-docpaths.patch
@@ -0,0 +1,31 @@
+diff -Npaur usr.sbin.orig/ntp/doc/Makefile usr.sbin/ntp/doc/Makefile
+--- usr.sbin.orig/ntp/doc/Makefile Thu Mar 10 21:57:57 2005
++++ usr.sbin/ntp/doc/Makefile Thu Mar 10 21:59:04 2005
+@@ -2,7 +2,7 @@
+
+ MAINTAINER= sheldonh
+
+-FILESDIR= ${SHAREDIR}/doc/ntp
++FILESDIR= ${DOCDIR}/ntp
+
+ FILES= accopt.html assoc.html audio.html authopt.html build.html \
+ clockopt.html \
+diff -Npaur usr.sbin.orig/pcvt/Misc/Doc/Makefile usr.sbin/pcvt/Misc/Doc/Makefile
+--- usr.sbin.orig/pcvt/Misc/Doc/Makefile Thu Mar 10 21:57:58 2005
++++ usr.sbin/pcvt/Misc/Doc/Makefile Thu Mar 10 21:59:39 2005
+@@ -4,6 +4,6 @@ NOOBJ= noobj
+ FILES= Acknowledgements Bibliography CharGen \
+ Charsets EscapeSequences Keyboard.HP Keyboard.VT \
+ NotesAndHints
+-FILESDIR= ${BINDIR}/Doc
++FILESDIR= ${DOCDIR}/pcvt_misc
+
+ .include <bsd.prog.mk>
+diff -Npaur usr.sbin.orig/pcvt/Misc/Makefile.inc usr.sbin/pcvt/Misc/Makefile.inc
+--- usr.sbin.orig/pcvt/Misc/Makefile.inc Thu Mar 10 21:57:58 2005
++++ usr.sbin/pcvt/Misc/Makefile.inc Thu Mar 10 21:58:38 2005
+@@ -2,3 +2,4 @@
+
+ DISTRIBUTION= doc
+ BINDIR= ${SHAREDIR}/pcvt
++FILESDIR= ${DOCDIR}/pcvt
diff --git a/sys-freebsd/freebsd-usbin/files/freebsd-usbin-6.0-fixmakefiles.patch b/sys-freebsd/freebsd-usbin/files/freebsd-usbin-6.0-fixmakefiles.patch
new file mode 100644
index 000000000000..0df740aef3dd
--- /dev/null
+++ b/sys-freebsd/freebsd-usbin/files/freebsd-usbin-6.0-fixmakefiles.patch
@@ -0,0 +1,241 @@
+Index: usr.sbin/acpi/Makefile.inc
+===================================================================
+--- usr.sbin/acpi/Makefile.inc.orig
++++ usr.sbin/acpi/Makefile.inc
+@@ -1,8 +1,8 @@
+ # $Id: freebsd-usbin-6.0-fixmakefiles.patch,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+ # $FreeBSD: src/usr.sbin/acpi/Makefile.inc,v 1.8 2003/08/07 16:51:50 njl Exp $
+
+-ACPICA_DIR= ${.CURDIR}/../../../sys/contrib/dev/acpica
+-CFLAGS+= -I${.CURDIR}/../../../sys -I${ACPICA_DIR} -I${ACPICA_DIR}/compiler
++ACPICA_DIR= /usr/src/sys/contrib/dev/acpica
++CFLAGS+= -I/usr/src/sys -I${ACPICA_DIR} -I${ACPICA_DIR}/compiler
+
+ .if exists(${.CURDIR}/../../Makefile.inc)
+ .include "${.CURDIR}/../../Makefile.inc"
+Index: usr.sbin/arlcontrol/Makefile
+===================================================================
+--- usr.sbin/arlcontrol/Makefile.orig
++++ usr.sbin/arlcontrol/Makefile
+@@ -4,7 +4,7 @@
+ #
+
+ PROG= arlcontrol
+-CFLAGS+= -I${.CURDIR}/../../sys -DARLCACHE
++CFLAGS+= -I/usr/src/sys -DARLCACHE
+ MAN= arlcontrol.8
+
+ .include <bsd.prog.mk>
+Index: usr.sbin/dconschat/Makefile
+===================================================================
+--- usr.sbin/dconschat/Makefile.orig
++++ usr.sbin/dconschat/Makefile
+@@ -3,7 +3,7 @@
+ PROG= dconschat
+ MAN= dconschat.8
+
+-CFLAGS+= -I${.CURDIR}/../../sys
++CFLAGS+= -I/usr/src/sys
+
+ DPADD= ${LIBKVM}
+ LDADD= -lkvm
+Index: usr.sbin/fwcontrol/Makefile
+===================================================================
+--- usr.sbin/fwcontrol/Makefile.orig
++++ usr.sbin/fwcontrol/Makefile
+@@ -4,9 +4,9 @@ PROG= fwcontrol
+ SRCS= fwcontrol.c fwcrom.c fwdv.c
+ MAN= fwcontrol.8
+
+-.PATH: ${.CURDIR}/../../sys/dev/firewire
++.PATH: /usr/src/sys/dev/firewire
+
+-SDIR= ${.CURDIR}/../../sys
++SDIR= /usr/src/sys
+ CFLAGS+=-I${.CURDIR} -I${SDIR}
+
+ .include <bsd.prog.mk>
+Index: usr.sbin/mlxcontrol/Makefile
+===================================================================
+--- usr.sbin/mlxcontrol/Makefile.orig
++++ usr.sbin/mlxcontrol/Makefile
+@@ -4,6 +4,6 @@ PROG= mlxcontrol
+ MAN= mlxcontrol.8
+ SRCS= command.c config.c interface.c util.c
+
+-CFLAGS+= -I${.CURDIR}/../../sys
++CFLAGS+= -I/usr/src/sys
+
+ .include <bsd.prog.mk>
+Index: usr.sbin/ndiscvt/Makefile
+===================================================================
+--- usr.sbin/ndiscvt/Makefile.orig
++++ usr.sbin/ndiscvt/Makefile
+@@ -1,6 +1,6 @@
+ # $FreeBSD: src/usr.sbin/ndiscvt/Makefile,v 1.7 2005/04/24 20:21:22 wpaul Exp $
+
+-.PATH: ${.CURDIR}/../../sys/compat/ndis
++.PATH: /usr/src/sys/compat/ndis
+
+ PROG= ndiscvt
+ SRCS= ndiscvt.c
+@@ -17,7 +17,7 @@ LDADD= -ll
+
+ YFLAGS+=-v
+
+-CFLAGS+=-I. -I${.CURDIR} -I${.CURDIR}/../../sys
++CFLAGS+=-I. -I${.CURDIR} -I/usr/src/sys
+
+ CLEANFILES= y.output
+
+Index: usr.sbin/pciconf/Makefile
+===================================================================
+--- usr.sbin/pciconf/Makefile.orig
++++ usr.sbin/pciconf/Makefile
+@@ -4,6 +4,6 @@
+ PROG= pciconf
+ MAN= pciconf.8
+
+-CFLAGS+= -I${.CURDIR}/../../sys
++CFLAGS+= -I/usr/src/sys
+
+ .include <bsd.prog.mk>
+Index: usr.sbin/pnpinfo/Makefile
+===================================================================
+--- usr.sbin/pnpinfo/Makefile.orig
++++ usr.sbin/pnpinfo/Makefile
+@@ -5,7 +5,7 @@
+ PROG= pnpinfo
+ MAN= pnpinfo.8
+
+-CFLAGS+= -I${.CURDIR}/../../sys
++CFLAGS+= -I/usr/src/sys
+
+ .if ${MACHINE} == "pc98"
+ CFLAGS+= -DPC98
+Index: usr.sbin/raycontrol/Makefile
+===================================================================
+--- usr.sbin/raycontrol/Makefile.orig
++++ usr.sbin/raycontrol/Makefile
+@@ -3,6 +3,6 @@
+ PROG= raycontrol
+ MAN= raycontrol.8
+
+-CFLAGS+= -I${.CURDIR}/../../sys
++CFLAGS+= -I/usr/src/sys
+
+ .include <bsd.prog.mk>
+Index: usr.sbin/rpc.ypxfrd/Makefile
+===================================================================
+--- usr.sbin/rpc.ypxfrd/Makefile.orig
++++ usr.sbin/rpc.ypxfrd/Makefile
+@@ -14,7 +14,7 @@ LDADD= -lrpcsvc
+
+ CLEANFILES= ypxfrd_svc.c ypxfrd.h
+
+-RPCDIR= ${.CURDIR}/../../include/rpcsvc
++RPCDIR= /usr/include/rpcsvc
+ RPCGEN= rpcgen -I -C
+
+ # We need to remove the 'static' keyword from _rpcsvcstate so that
+Index: usr.sbin/setkey/Makefile
+===================================================================
+--- usr.sbin/setkey/Makefile.orig
++++ usr.sbin/setkey/Makefile
+@@ -41,9 +41,9 @@ CLEANFILES= y.tab.c y.tab.h key_test.o k
+
+ # libpfkey
+ # ipsec_strerror.c is for avoiding shlib reference to non-exported function.
+-.PATH: ${.CURDIR}/../../lib/libipsec ${.CURDIR}/../../sys/netkey
++.PATH: ${.CURDIR}/../../lib/libipsec /usr/src/sys/netkey
+ SRCS+= pfkey.c pfkey_dump.c key_debug.c ipsec_strerror.c
+-CFLAGS+= -I${.CURDIR}/../../lib/libipsec -I${.CURDIR}/../../sys/netkey
++CFLAGS+= -I${.CURDIR}/../../lib/libipsec -I/usr/src/sys/netkey
+
+ SRCS+= y.tab.h
+ y.tab.h: parse.y
+Index: usr.sbin/sicontrol/Makefile
+===================================================================
+--- usr.sbin/sicontrol/Makefile.orig
++++ usr.sbin/sicontrol/Makefile
+@@ -3,6 +3,6 @@
+ PROG= sicontrol
+ MAN= sicontrol.8
+
+-CFLAGS+= -I${.CURDIR}/../../sys
++CFLAGS+= -I/usr/src/sys
+
+ .include <bsd.prog.mk>
+Index: usr.sbin/sysinstall/Makefile
+===================================================================
+--- usr.sbin/sysinstall/Makefile.orig
++++ usr.sbin/sysinstall/Makefile
+@@ -87,7 +87,7 @@ KEYMAPS= be.iso bg.bds.ctrlcaps bg.phone
+ keymap.h:
+ rm -f keymap.tmp
+ for map in ${KEYMAPS} ; do \
+- KEYMAP_PATH=${.CURDIR}/../../share/syscons/keymaps \
++ KEYMAP_PATH=/usr/share/syscons/keymaps \
+ kbdcontrol -L $$map | \
+ sed -e '/^static accentmap_t/,$$d' >> keymap.tmp ; \
+ done
+Index: usr.sbin/yppush/Makefile
+===================================================================
+--- usr.sbin/yppush/Makefile.orig
++++ usr.sbin/yppush/Makefile
+@@ -1,6 +1,6 @@
+ # $FreeBSD: src/usr.sbin/yppush/Makefile,v 1.9 2001/07/20 06:20:30 obrien Exp $
+
+-RPCDIR= ${.CURDIR}/../../include/rpcsvc
++RPCDIR= /usr/include/rpcsvc
+ .PATH: ${RPCDIR} ${.CURDIR}/../../usr.sbin/ypserv \
+ ${.CURDIR}/../../libexec/ypxfr
+
+Index: usr.sbin/ypserv/Makefile
+===================================================================
+--- usr.sbin/ypserv/Makefile.orig
++++ usr.sbin/ypserv/Makefile
+@@ -1,6 +1,6 @@
+ # $FreeBSD: src/usr.sbin/ypserv/Makefile,v 1.24 2004/10/18 21:42:15 ru Exp $
+
+-RPCDIR= ${.CURDIR}/../../include/rpcsvc
++RPCDIR= /usr/include/rpcsvc
+ .PATH: ${RPCDIR}
+
+ PROG= ypserv
+Index: usr.sbin/ntp/doc/Makefile
+===================================================================
+--- usr.sbin/ntp/doc/Makefile.orig
++++ usr.sbin/ntp/doc/Makefile
+@@ -1,6 +1,6 @@
+ # $FreeBSD: src/usr.sbin/ntp/doc/Makefile,v 1.11 2005/05/25 16:30:43 sheldonh Exp $
+
+-FILESDIR= ${SHAREDIR}/doc/ntp
++FILESDIR= ${DOCDIR}/ntp
+
+ FILES= accopt.html assoc.html audio.html authopt.html build.html \
+ clockopt.html \
+Index: usr.sbin/pcvt/Misc/Doc/Makefile
+===================================================================
+--- usr.sbin/pcvt/Misc/Doc/Makefile.orig
++++ usr.sbin/pcvt/Misc/Doc/Makefile
+@@ -4,6 +4,6 @@ NO_OBJ=
+ FILES= Acknowledgements Bibliography CharGen \
+ Charsets EscapeSequences Keyboard.HP Keyboard.VT \
+ NotesAndHints
+-FILESDIR= ${BINDIR}/Doc
++FILESDIR= ${DOCDIR}/Doc
+
+ .include <bsd.prog.mk>
+Index: usr.sbin/pcvt/Misc/Makefile
+===================================================================
+--- usr.sbin/pcvt/Misc/Makefile.orig
++++ usr.sbin/pcvt/Misc/Makefile
+@@ -2,6 +2,7 @@
+
+ NO_OBJ=
+ FILES= README.FIRST
++FILESDIR= ${DOCDIR}/pcvt
+ SUBDIR= Doc Etc
+
+ .include "Makefile.inc"
diff --git a/sys-freebsd/freebsd-usbin/files/freebsd-usbin-fixmakefiles.patch b/sys-freebsd/freebsd-usbin/files/freebsd-usbin-fixmakefiles.patch
new file mode 100644
index 000000000000..f38f2770291a
--- /dev/null
+++ b/sys-freebsd/freebsd-usbin/files/freebsd-usbin-fixmakefiles.patch
@@ -0,0 +1,34 @@
+diff -ur usr.sbin.orig/pcvt/keycap/Makefile usr.sbin/pcvt/keycap/Makefile
+--- usr.sbin.orig/pcvt/keycap/Makefile Thu Apr 7 22:01:55 2005
++++ usr.sbin/pcvt/keycap/Makefile Thu Apr 7 22:07:37 2005
+@@ -18,6 +18,7 @@
+ #CLEANFILES+= keycap.0 man5/keycap.0
+
+ beforeinstall:
++ ${INSTALL} -d ${DESTDIR}${CAPPATH}
+ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m ${NOBINMODE} \
+ ${.CURDIR}/${KEYCAPSRC} ${DESTDIR}${CAPPATH}
+
+diff -ur usr.sbin.orig/sysinstall/Makefile usr.sbin/sysinstall/Makefile
+--- usr.sbin.orig/sysinstall/Makefile Thu Apr 7 22:01:56 2005
++++ usr.sbin/sysinstall/Makefile Thu Apr 7 22:05:33 2005
+@@ -84,7 +84,7 @@
+ keymap.h:
+ rm -f keymap.tmp
+ for map in ${KEYMAPS} ; do \
+- KEYMAP_PATH=${.CURDIR}/../../share/syscons/keymaps \
++ KEYMAP_PATH=/usr/share/syscons/keymaps \
+ kbdcontrol -L $$map | \
+ sed -e '/^static accentmap_t/,$$d' >> keymap.tmp ; \
+ done
+diff -ur usr.sbin.orig/ypserv/Makefile usr.sbin/ypserv/Makefile
+--- usr.sbin.orig/ypserv/Makefile Thu Apr 7 22:01:55 2005
++++ usr.sbin/ypserv/Makefile Thu Apr 7 22:06:07 2005
+@@ -31,6 +31,7 @@
+ ${RPCGEN} -h -o ${.TARGET} ${RPCDIR}/yp.x
+
+ afterinstall:
++ ${INSTALL} -d ${DESTDIR}/var/yp
+ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \
+ ${.CURDIR}/Makefile.yp \
+ ${DESTDIR}/var/yp/Makefile.dist
diff --git a/sys-freebsd/freebsd-usbin/files/freebsd-usbin-flex.patch b/sys-freebsd/freebsd-usbin/files/freebsd-usbin-flex.patch
new file mode 100644
index 000000000000..27327fdff773
--- /dev/null
+++ b/sys-freebsd/freebsd-usbin/files/freebsd-usbin-flex.patch
@@ -0,0 +1,155 @@
+diff -ur usr.sbin/apmd/Makefile usr.sbin-flex/apmd/Makefile
+--- usr.sbin/apmd/Makefile 2004-01-21 13:38:17 +0000
++++ usr.sbin-flex/apmd/Makefile 2005-05-05 18:05:56 +0000
+@@ -6,7 +6,7 @@
+ SRCS= apmd.c apmdlex.l apmdparse.y y.tab.h
+
+ DPADD= ${LIBL}
+-LDADD= -ll
++LDADD= -lfl
+
+ YFLAGS+=-v
+ CFLAGS+=-I. -I${.CURDIR} #-DYY_STACK_USED
+diff -ur usr.sbin/config/Makefile usr.sbin-flex/config/Makefile
+--- usr.sbin/config/Makefile 2004-05-11 15:42:44 +0000
++++ usr.sbin-flex/config/Makefile 2005-05-05 18:06:13 +0000
+@@ -10,7 +10,7 @@
+ CFLAGS+= -I. -I${.CURDIR}
+
+ DPADD= ${LIBL}
+-LDADD= -ll
++LDADD= -lfl
+
+ mkmakefile.o: configvers.h
+
+diff -ur usr.sbin/crunch/examples/filesystem.conf usr.sbin-flex/crunch/examples/filesystem.conf
+--- usr.sbin/crunch/examples/filesystem.conf 1999-08-28 01:15:57 +0000
++++ usr.sbin-flex/crunch/examples/filesystem.conf 2005-05-05 18:06:29 +0000
+@@ -28,4 +28,4 @@
+ # /usr/sbin
+ progs bad144
+
+-libs -ll -ledit -ltermcap -lutil -lscrypt
++libs -lfl -ledit -ltermcap -lutil -lscrypt
+diff -ur usr.sbin/crunch/examples/fixit.conf usr.sbin-flex/crunch/examples/fixit.conf
+--- usr.sbin/crunch/examples/fixit.conf 1994-12-31 05:36:40 +0000
++++ usr.sbin-flex/crunch/examples/fixit.conf 2005-05-05 18:06:43 +0000
+@@ -41,5 +41,5 @@
+
+ # finally, we specify the libraries to link in with our binary
+
+-libs -lcrypt -ltelnet -lutil -ll
++libs -lcrypt -ltelnet -lutil -lfl
+ libs -lcurses -ltermcap -ledit -lkvm
+diff -ur usr.sbin/crunch/examples/kcopy.conf usr.sbin-flex/crunch/examples/kcopy.conf
+--- usr.sbin/crunch/examples/kcopy.conf 1999-08-28 01:15:57 +0000
++++ usr.sbin-flex/crunch/examples/kcopy.conf 2005-05-05 18:06:53 +0000
+@@ -18,4 +18,4 @@
+ ln reboot fastboot
+ ln reboot fasthalt
+
+-libs -ll -ledit -ltermcap -lcompat -lutil -lscrypt
++libs -lfl -ledit -ltermcap -lcompat -lutil -lscrypt
+diff -ur usr.sbin/crunch/examples/really-big.conf usr.sbin-flex/crunch/examples/really-big.conf
+--- usr.sbin/crunch/examples/really-big.conf 2001-06-01 11:25:40 +0000
++++ usr.sbin-flex/crunch/examples/really-big.conf 2005-05-05 18:07:06 +0000
+@@ -155,4 +155,4 @@
+ ln gzip gzcat
+
+ libs -ledit -lgnumalloc -lc -lcrypt -ltermcap -lcurses -ltelnet -lutil -lkvm
+-libs -ll -ly -lm -lresolv -lrpcsvc -lcompat
++libs -lfl -ly -lm -lresolv -lrpcsvc -lcompat
+diff -ur usr.sbin/ipsend/Makefile usr.sbin-flex/ipsend/Makefile
+--- usr.sbin/ipsend/Makefile 2003-06-06 11:30:50 +0000
++++ usr.sbin-flex/ipsend/Makefile 2005-05-05 18:07:16 +0000
+@@ -18,6 +18,6 @@
+ -I${.CURDIR}/../../contrib/ipfilter
+
+ DPADD= ${LIBL}
+-LDADD= -ll
++LDADD= -lfl
+
+ .include <bsd.prog.mk>
+diff -ur usr.sbin/kbdcontrol/Makefile usr.sbin-flex/kbdcontrol/Makefile
+--- usr.sbin/kbdcontrol/Makefile 2003-04-04 17:49:14 +0000
++++ usr.sbin-flex/kbdcontrol/Makefile 2005-05-05 18:07:41 +0000
+@@ -9,6 +9,6 @@
+ CFLAGS+= -I${.CURDIR}
+
+ DPADD= ${LIBL}
+-LDADD= -ll
++LDADD= -lfl
+
+ .include <bsd.prog.mk>
+diff -ur usr.sbin/ndiscvt/Makefile usr.sbin-flex/ndiscvt/Makefile
+--- usr.sbin/ndiscvt/Makefile 2004-02-23 20:21:21 +0000
++++ usr.sbin-flex/ndiscvt/Makefile 2005-05-05 18:07:53 +0000
+@@ -12,7 +12,7 @@
+ WARNS?= 4
+
+ DPADD= ${LIBL}
+-LDADD= -ll
++LDADD= -lfl
+
+ YFLAGS+=-v
+
+diff -ur usr.sbin/pcvt/kbdio/Makefile usr.sbin-flex/pcvt/kbdio/Makefile
+--- usr.sbin/pcvt/kbdio/Makefile 2005-02-13 07:23:45 +0000
++++ usr.sbin-flex/pcvt/kbdio/Makefile 2005-05-05 18:08:19 +0000
+@@ -13,7 +13,7 @@
+ LFLAGS+= -I
+
+ DPADD= ${LIBM} ${LIBY} ${LIBL}
+-LDADD= -lm -ly -ll
++LDADD= -lm -ly -lfl
+
+ CLEANFILES+= y.output # comment file from bison
+
+diff -ur usr.sbin/pcvt/vgaio/Makefile usr.sbin-flex/pcvt/vgaio/Makefile
+--- usr.sbin/pcvt/vgaio/Makefile 2001-07-20 06:20:09 +0000
++++ usr.sbin-flex/pcvt/vgaio/Makefile 2005-05-05 18:08:08 +0000
+@@ -14,7 +14,7 @@
+ LFLAGS+= -I
+
+ DPADD= ${LIBM} ${LIBY} ${LIBL}
+-LDADD= -lm -ly -ll
++LDADD= -lm -ly -lfl
+
+ CLEANFILES+= y.output # comment file from bison
+
+diff -ur usr.sbin/rrenumd/Makefile usr.sbin-flex/rrenumd/Makefile
+--- usr.sbin/rrenumd/Makefile 2004-06-21 16:10:00 +0000
++++ usr.sbin-flex/rrenumd/Makefile 2005-05-05 18:08:30 +0000
+@@ -21,7 +21,7 @@
+ CFLAGS+= -DINET6 -DIPSEC -I. -I${.CURDIR}
+ YFLAGS= -d
+
+-LDADD= -lipsec -ll -ly
++LDADD= -lipsec -lfl -ly
+ DPADD= ${LIBIPSEC} ${LIBL} ${LIBY}
+
+ CLEANFILES= y.tab.h
+diff -ur usr.sbin/setkey/Makefile usr.sbin-flex/setkey/Makefile
+--- usr.sbin/setkey/Makefile 2003-11-05 09:47:54 +0000
++++ usr.sbin-flex/setkey/Makefile 2005-05-05 18:08:48 +0000
+@@ -35,7 +35,7 @@
+ YFLAGS= -d
+
+ DPADD= ${LIBL} ${LIBY}
+-LDADD= -ll -ly
++LDADD= -lfl -ly
+
+ CLEANFILES= y.tab.c y.tab.h key_test.o keytest
+
+diff -ur usr.sbin/tcpdump/tcpdump/Makefile usr.sbin-flex/tcpdump/tcpdump/Makefile
+--- usr.sbin/tcpdump/tcpdump/Makefile 2004-08-06 07:27:08 +0000
++++ usr.sbin-flex/tcpdump/tcpdump/Makefile 2005-05-05 18:08:58 +0000
+@@ -41,7 +41,7 @@
+ .endif
+
+ DPADD= ${LIBL} ${LIBPCAP}
+-LDADD= -ll -lpcap
++LDADD= -lfl -lpcap
+ .if !defined(NOCRYPT) && !defined(NO_OPENSSL) && !defined(RELEASE_CRUNCH)
+ DPADD+= ${LIBCRYPTO}
+ LDADD+= -lcrypto
diff --git a/sys-freebsd/freebsd-usbin/files/freebsd-usbin-nowrap.patch b/sys-freebsd/freebsd-usbin/files/freebsd-usbin-nowrap.patch
new file mode 100644
index 000000000000..f01d6e2b9690
--- /dev/null
+++ b/sys-freebsd/freebsd-usbin/files/freebsd-usbin-nowrap.patch
@@ -0,0 +1,46 @@
+diff -ur usr.sbin/rpcbind/Makefile usr.sbin-nowrap/rpcbind/Makefile
+--- usr.sbin/rpcbind/Makefile 2003-04-04 17:49:18 +0000
++++ usr.sbin-nowrap/rpcbind/Makefile 2005-06-20 14:15:59 +0000
+@@ -13,9 +13,19 @@
+ rpcb_svc.c rpcb_svc_com.c security.c warmstart.c util.c \
+ rpc_generic.c
+
+-CFLAGS+= -I${LIBCRPCDIR} -I${LIBCINCLUDE} -DPORTMAP -DINET6 -DLIBWRAP
++CFLAGS+= -I${LIBCRPCDIR} -I${LIBCINCLUDE} -DPORTMAP
+
+-DPADD= ${LIBWRAP} ${LIBUTIL}
+-LDADD= -lwrap -lutil
++DPADD= ${LIBUTIL}
++LDADD= -lutil
++
++.if !defined(NO_WRAP)
++CFLAGS+= -DLIBWRAP
++DPADD+= ${LIBWRAP}
++LDADD+= -lwrap
++.endif
++
++.if !defined(NOINET6)
++CFLAGS+= -DINET6
++.endif
+
+ .include <bsd.prog.mk>
+diff -ur usr.sbin/ypserv/Makefile usr.sbin-nowrap/ypserv/Makefile
+--- usr.sbin/ypserv/Makefile 2003-04-04 17:49:20 +0000
++++ usr.sbin-nowrap/ypserv/Makefile 2005-06-20 14:17:41 +0000
+@@ -8,10 +8,13 @@
+ SRCS= yp_svc.c yp_server.c yp_dblookup.c yp_dnslookup.c \
+ ypxfr_clnt.c yp.h yp_main.c yp_error.c yp_access.c yp_svc_udp.c
+
+-CFLAGS+= -DDB_CACHE -DTCP_WRAPPER -I.
++CFLAGS+= -DDB_CACHE -I.
+
+-DPADD= ${LIBWRAP}
+-LDADD= -lwrap
++.if !defined(NO_WRAP)
++CFLAGS+= -DTCP_WRAPPER
++DPADD+= ${LIBWRAP}
++LDADD+= -lwrap
++.endif
+
+ CLEANFILES= yp_svc.c ypxfr_clnt.c yp.h
+
diff --git a/sys-freebsd/freebsd-usbin/files/moused.confd b/sys-freebsd/freebsd-usbin/files/moused.confd
new file mode 100644
index 000000000000..3bb4400e3119
--- /dev/null
+++ b/sys-freebsd/freebsd-usbin/files/moused.confd
@@ -0,0 +1,11 @@
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-usbin/files/moused.confd,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+moused_type="auto" # See man page for rc.conf(5) for available settings.
+
+moused_port="/dev/ums0" # Set to your mouse port.
+
+moused_flags="" # Any additional flags to moused.
+
+mousechar_start="" # if 0xd0-0xd3 default range is occupied in your
+ # language code table, specify alternative range
+ # start like mousechar_start=3, see vidcontrol(1)
diff --git a/sys-freebsd/freebsd-usbin/files/moused.initd b/sys-freebsd/freebsd-usbin/files/moused.initd
new file mode 100644
index 000000000000..06e9c2e5cd1d
--- /dev/null
+++ b/sys-freebsd/freebsd-usbin/files/moused.initd
@@ -0,0 +1,33 @@
+#!/sbin/runscript
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-usbin/files/moused.initd,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+
+start() {
+ ebegin "Starting Moused"
+
+ start-stop-daemon --start --quiet --exec /usr/sbin/moused \
+ -- ${moused_flags} -p ${moused_port} -t ${moused_type}
+
+ retval=$?
+
+ [[ -n ${mousechar_start} ]] && mousechar_start="-M ${mousechar_start}"
+
+ for ttyv in /dev/ttyv* ; do
+ vidcontrol < ${ttyv} ${mousechar_start} -m on || retval=1
+ done
+
+ eend $retval "Failed to start Moused"
+}
+
+stop() {
+ ebegin "Stopping Moused"
+
+ start-stop-daemon --stop --quiet --pidfile /var/run/moused.pid
+ retval=$?
+ [[ -f /var/run/moused.pid ]] && rm /var/run/moused.pid
+
+ eend $retval "Failed to stop Moused"
+}
+
diff --git a/sys-freebsd/freebsd-usbin/files/nfs.confd b/sys-freebsd/freebsd-usbin/files/nfs.confd
new file mode 100644
index 000000000000..80ace9c40235
--- /dev/null
+++ b/sys-freebsd/freebsd-usbin/files/nfs.confd
@@ -0,0 +1,24 @@
+# /etc/conf.d/nfs
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-usbin/files/nfs.confd,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+# Config file for /etc/init.d/nfs
+
+# If you wish to set the port numbers for lockd,
+# please see /etc/sysctl.conf
+
+# Number of servers to be started up by default
+RPCNFSDCOUNT=8
+
+# Options to pass to rpc.mountd
+# ex. RPCMOUNTDOPTS="-p 32767
+RPCMOUNTDOPTS=""
+
+# Options to pass to rpc.statd
+# ex. RPCSTATDOPTS="-p 32765 -o 32766"
+RPCSTATDOPTS=""
+
+# Options to pass to rpc.idmapd
+RPCIDMAPDOPTS=""
+
+# Timeout (in seconds) for exportfs
+EXPORTFSTIMEOUT=30
diff --git a/sys-freebsd/freebsd-usbin/files/nfs.initd b/sys-freebsd/freebsd-usbin/files/nfs.initd
new file mode 100755
index 000000000000..77f51c723fb8
--- /dev/null
+++ b/sys-freebsd/freebsd-usbin/files/nfs.initd
@@ -0,0 +1,209 @@
+#!/sbin/runscript
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-usbin/files/nfs.initd,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+#---------------------------------------------------------------------------
+# This script starts/stops the following
+# rpc.statd if necessary (also checked by init.d/nfsmount)
+# rpc.rquotad if exists (from quota package)
+# rpc.nfsd
+# rpc.mountd
+#---------------------------------------------------------------------------
+
+# NB: Config is in /etc/conf.d/nfs
+
+opts="reload"
+
+# This variable is used for controlling whether or not to run exportfs -ua;
+# see stop() for more information
+restarting=no
+
+# The binary locations
+exportfs=/usr/sbin/exportfs
+statd=/usr/sbin/rpc.statd
+idmapd=/usr/sbin/rpc.idmapd
+rquotad=/usr/sbin/rpc.rquotad
+nfsd=/usr/sbin/rpc.nfsd
+mountd=/usr/sbin/rpc.mountd
+
+depend() {
+ use ypbind net
+ need rpcbind
+ after quota
+}
+
+start_idmapd() {
+ [[ ! -x ${idmapd} ]] && return 0
+
+ if grep -q rpc_pipefs /proc/filesystems ; then
+ if ! grep -q "rpc_pipefs /var/lib/nfs/rpc_pipefs" /proc/mounts ; then
+ [[ ! -d /var/lib/nfs/rpc_pipefs ]] && mkdir -p /var/lib/nfs/rpc_pipefs
+ ebegin "Mounting RPC pipefs"
+ mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs
+ eend $?
+ fi
+ fi
+
+ ebegin "Starting idmapd"
+ ${idmapd} ${RPCIDMAPDOPTS}
+ eend $?
+}
+
+stop_idmapd() {
+ [[ ! -x ${idmapd} ]] && return 0
+
+ ebegin "Stopping idmapd"
+ start-stop-daemon --stop --quiet --exec ${idmapd}
+ ret=$?
+ eend ${ret}
+
+ if [[ $restarting == "no" ]] ; then
+ if grep -q "rpc_pipefs /var/lib/nfs/rpc_pipefs" /proc/mounts ; then
+ ebegin "Unmounting RPC pipefs"
+ umount /var/lib/nfs/rpc_pipefs
+ eend $?
+ fi
+ fi
+
+ return ${ret}
+}
+
+start_statd() {
+ # Don't start rpc.statd if already started by init.d/nfsmount
+ killall -0 rpc.statd &>/dev/null && return 0
+ ebegin "Starting NFS statd"
+ start-stop-daemon --start --quiet --exec \
+ $statd -- $RPCSTATDOPTS 1>&2
+ eend $? "Error starting NFS statd"
+}
+
+stop_statd() {
+ # Don't stop rpc.statd if it's in use by init.d/nfsmount.
+ mount -t nfs | grep -q . && return 0
+ # Make sure it's actually running
+ killall -0 rpc.statd &>/dev/null || return 0
+ # Okay, all tests passed, stop rpc.statd
+ ebegin "Stopping NFS statd"
+ start-stop-daemon --stop --quiet --exec $statd 1>&2
+ eend $? "Error stopping NFS statd"
+}
+
+waitfor_exportfs() {
+ local pid=$1
+ ( sleep ${EXPORTFSTIMEOUT:-30}; kill -9 $pid &>/dev/null ) &
+ wait $1
+}
+
+start() {
+ # Make sure nfs support is loaded in the kernel #64709
+ if [ -e /proc/modules ] ; then
+ modprobe nfsd &> /dev/null
+ fi
+
+ # This is the new "kernel 2.6 way" to handle the exports file
+ if grep -q nfsd /proc/filesystems &>/dev/null; then
+ if ! grep -q "nfsd /proc/fs/nfs" /proc/mounts &>/dev/null; then
+ ebegin "Mounting nfsd filesystem in /proc"
+ mount -t nfsd nfsd /proc/fs/nfs
+ eend $? "Error mounting nfsd filesystem in /proc"
+ fi
+ fi
+ # now that nfsd is mounted inside /proc, we can safely start mountd later
+
+ start_idmapd
+ start_statd
+
+ # Exportfs likes to hang if networking isn't working.
+ # If that's the case, then try to kill it so the
+ # bootup process can continue.
+ if grep -q '^/' /etc/exports &>/dev/null; then
+ ebegin "Exporting NFS directories"
+ $exportfs -r 1>&2 &
+ waitfor_exportfs $!
+ eend $? "Error exporting NFS directories"
+ fi
+
+ if [ -x $rquotad ]; then
+ ebegin "Starting NFS rquotad"
+ start-stop-daemon --start --quiet --exec \
+ $rquotad -- $RPCRQUOTADOPTS 1>&2
+ eend $? "Error starting NFS rquotad"
+ fi
+
+ ebegin "Starting NFS daemon"
+ start-stop-daemon --start --quiet --exec \
+ $nfsd -- $RPCNFSDCOUNT 1>&2
+ eend $? "Error starting NFS daemon"
+
+ # Start mountd
+ ebegin "Starting NFS mountd"
+ start-stop-daemon --start --quiet --exec \
+ $mountd -- $RPCMOUNTDOPTS 1>&2
+ eend $? "Error starting NFS mountd"
+}
+
+stop() {
+ # Don't check NFSSERVER variable since it might have changed,
+ # instead use --oknodo to smooth things over
+ ebegin "Stopping NFS mountd"
+ start-stop-daemon --stop --quiet --oknodo \
+ --exec $mountd 1>&2
+ eend $? "Error stopping NFS mountd"
+
+ # nfsd sets its process name to [nfsd] so don't look for $nfsd
+ ebegin "Stopping NFS daemon"
+ start-stop-daemon --stop --quiet --oknodo \
+ --name nfsd --user root --signal 2 1>&2
+ eend $? "Error stopping NFS daemon"
+
+ if [ -x $rquotad ]; then
+ ebegin "Stopping NFS rquotad"
+ start-stop-daemon --stop --quiet --oknodo \
+ --exec $rquotad 1>&2
+ eend $? "Error stopping NFS rquotad"
+ fi
+
+ # When restarting the NFS server, running "exportfs -ua" probably
+ # isn't what the user wants. Running it causes all entries listed
+ # in xtab to be removed from the kernel export tables, and the
+ # xtab file is cleared. This effectively shuts down all NFS
+ # activity, leaving all clients holding stale NFS filehandles,
+ # *even* when the NFS server has restarted.
+ #
+ # That's what you would want if you were shutting down the NFS
+ # server for good, or for a long period of time, but not when the
+ # NFS server will be running again in short order. In this case,
+ # then "exportfs -r" will reread the xtab, and all the current
+ # clients will be able to resume NFS activity, *without* needing
+ # to umount/(re)mount the filesystem.
+ if [ "$restarting" = no ]; then
+ ebegin "Unexporting NFS directories"
+ # Exportfs likes to hang if networking isn't working.
+ # If that's the case, then try to kill it so the
+ # shutdown process can continue.
+ $exportfs -ua 1>&2 &
+ waitfor_exportfs $!
+ eend $? "Error unexporting NFS directories"
+ fi
+
+ stop_statd
+ stop_idmapd
+}
+
+reload() {
+ # Exportfs likes to hang if networking isn't working.
+ # If that's the case, then try to kill it so the
+ # bootup process can continue.
+ ebegin "Reloading /etc/exports"
+ $exportfs -r 1>&2 &
+ waitfor_exportfs $!
+ eend $? "Error exporting NFS directories"
+}
+
+restart() {
+ # See long comment in stop() regarding "restarting" and exportfs -ua
+ restarting=yes
+ svc_stop
+ svc_start
+}
diff --git a/sys-freebsd/freebsd-usbin/files/nfsmount.initd b/sys-freebsd/freebsd-usbin/files/nfsmount.initd
new file mode 100755
index 000000000000..bf30eeb92870
--- /dev/null
+++ b/sys-freebsd/freebsd-usbin/files/nfsmount.initd
@@ -0,0 +1,68 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-usbin/files/nfsmount.initd,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+depend() {
+ need net rpcbind
+ use ypbind
+}
+
+start_statd() {
+ # Don't start rpc.statd if already started by init.d/nfs
+ killall -0 rpc.statd &>/dev/null && return 0
+ ebegin "Starting NFS statd"
+ rpc.statd
+ eend $? "Error starting NFS statd"
+}
+
+stop_statd() {
+ # Don't stop rpc.statd if it's in use by init.d/nfs
+ killall -0 nfsd &>/dev/null && return 0
+ # Make sure it's actually running
+ killall -0 rpc.statd &>/dev/null || return 0
+ # Okay, all tests passed, stop rpc.statd
+ ebegin "Stopping NFS statd"
+ killall rpc.statd
+ eend $? "Error stopping NFS statd"
+}
+
+start_lockd() {
+ # Don't start rpc.lockd if already started by init.d/nfs
+ killall -0 rpc.lockd &>/dev/null && return 0
+ ebegin "Starting NFS lockd"
+ rpc.lockd
+ eend $? "Error starting NFS lockd"
+}
+
+stop_lockd() {
+ # Don't stop rpc.lockd if it's in use by init.d/nfs
+ killall -0 nfsd &>/dev/null && return 0
+ # Make sure it's actually running
+ killall -0 rpc.lockd &>/dev/null || return 0
+ # Okay, all tests passed, stop rpc.lockd
+ ebegin "Stopping NFS lockd"
+ killall rpc.lockd
+ eend $? "Error stopping NFS lockd"
+}
+
+start() {
+ start_statd
+ start_lockd
+ ebegin "Mounting NFS filesystems"
+ mount -a -t nfs
+ eend $? "Error mounting NFS filesystems"
+}
+
+stop() {
+ ebegin "Unmounting NFS filesystems"
+ umount -a -t nfs
+ eend $? "Error unmounting NFS filesystems"
+ stop_statd
+ stop_lockd
+}
+
+restart() {
+ svc_stop
+ svc_start
+}
diff --git a/sys-freebsd/freebsd-usbin/files/pw.conf b/sys-freebsd/freebsd-usbin/files/pw.conf
new file mode 100644
index 000000000000..29a246f72b8f
--- /dev/null
+++ b/sys-freebsd/freebsd-usbin/files/pw.conf
@@ -0,0 +1,5 @@
+# Change this to Gentoo's Default, instead of FreeBSD's default of
+# /usr/share/skel, so that bash and other packages installs the files on the
+# right place.
+skeleton /etc/skel
+
diff --git a/sys-freebsd/freebsd-usbin/files/rpcbind.initd b/sys-freebsd/freebsd-usbin/files/rpcbind.initd
new file mode 100755
index 000000000000..32079f809651
--- /dev/null
+++ b/sys-freebsd/freebsd-usbin/files/rpcbind.initd
@@ -0,0 +1,29 @@
+#!/sbin/runscript
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-usbin/files/rpcbind.initd,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+depend() {
+ use net
+ before inetd
+ before xinetd
+}
+
+start() {
+ ebegin "Starting rpcbind"
+ rpcbind
+ local ret=$?
+ eend ${ret}
+
+ # without, if a service depending on portmap is started too fast,
+ # connecting to portmap will fail -- azarah
+ # doing that for rpcbind, too -- flameeyes
+ sleep 1
+ return ${ret}
+}
+
+stop() {
+ ebegin "Stopping rpcbind"
+ killall rpcbind
+ eend $?
+}
diff --git a/sys-freebsd/freebsd-usbin/files/syslogd.initd b/sys-freebsd/freebsd-usbin/files/syslogd.initd
new file mode 100755
index 000000000000..fd0b2f6c1373
--- /dev/null
+++ b/sys-freebsd/freebsd-usbin/files/syslogd.initd
@@ -0,0 +1,24 @@
+#!/sbin/runscript
+# Copyright 1999-2005 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-usbin/files/syslogd.initd,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+
+depend() {
+ need localmount
+}
+
+start() {
+ ebegin "Starting syslogd"
+ start-stop-daemon --start --quiet --exec /usr/sbin/syslogd
+ eend $? "Failed to start syslogd"
+}
+
+stop() {
+ ebegin "Stopping syslogd"
+ start-stop-daemon --stop --quiet --pidfile /var/run/syslog.pid
+ eend $? "Failed to stop syslogd"
+}
+
+
+
diff --git a/sys-freebsd/freebsd-usbin/freebsd-usbin-6.0.ebuild b/sys-freebsd/freebsd-usbin/freebsd-usbin-6.0.ebuild
new file mode 100644
index 000000000000..b442313c29a4
--- /dev/null
+++ b/sys-freebsd/freebsd-usbin/freebsd-usbin-6.0.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-usbin/freebsd-usbin-6.0.ebuild,v 1.1 2006/04/01 16:43:51 flameeyes Exp $
+
+inherit bsdmk freebsd flag-o-matic eutils
+
+DESCRIPTION="FreeBSD /usr/sbin tools"
+SLOT="0"
+KEYWORDS="~x86-fbsd"
+
+IUSE="atm bluetooth tcpd ssl usb ipv6 acpi lpr ipfilter isdn pam ssl radius
+ netgraph minimal ipsec nis pam suid nat radius"
+
+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
+ nis? ( mirror://gentoo/${LIBEXEC}.tar.bz2 )"
+
+RDEPEND="=sys-freebsd/freebsd-lib-${RV}*
+ =sys-freebsd/freebsd-libexec-${RV}*
+ ssl? ( dev-libs/openssl )
+ tcpd? ( sys-apps/tcp-wrappers )
+ net-libs/libpcap"
+DEPEND="${RDEPEND}
+ =sys-freebsd/freebsd-mk-defs-${RV}*
+ =sys-freebsd/freebsd-sources-${RV}*
+ =sys-freebsd/freebsd-headers-${RV}*
+ sys-apps/texinfo
+ sys-devel/flex"
+
+# it provides lpr when is requested and syslogd which is a logger
+PROVIDE="lpr? virtual/lpr
+ virtual/logger"
+
+S="${WORKDIR}/usr.sbin"
+
+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 atm || mymakeopts="${mymakeopts} NO_ATM= "
+ use bluetooth || mymakeopts="${mymakeopts} NO_BLUETOOTH= "
+ use ipv6 || mymakeopts="${mymakeopts} NO_INET6= "
+ use ipfilter || mymakeopts="${mymakeopts} NO_IPFILTER= "
+ use lpr || mymakeopts="${mymakeopts} NO_LPR= "
+ use ssl || mymakeopts="${mymakeopts} NO_OPENSSL= NO_CRYPT= "
+ use usb || mymakeopts="${mymakeopts} NO_USB= "
+ use acpi || mymakeopts="${mymakeopts} NO_ACPI= "
+ use isdn || mymakeopts="${mymakeopts} NO_I4B= "
+ use pam || mymakeopts="${mymakeopts} NO_PAM= "
+ use radius || mymakeopts="${mymakeopts} NO_RADIUS= "
+ use suid || mymakeopts="${mymakeopts} NO_SUID= "
+ use ipsec || mymakeopts="${mymakeopts} NO_IPSEC= "
+ use nis || mymakeopts="${mymakeopts} NO_NIS= "
+ use nat || mymakeopts="${mymakeopts} NO_NAT= "
+ use pam || mymakeopts="${mymakeopts} NO_PAM= "
+ use suid || mymakeopts="${mymakeopts} NO_SUID= PPP_NOSUID= "
+ use radius || mymakeopts="${mymakeopts} NO_RADIUS= "
+ use tcpd || mymakeopts="${mymakeopts} NO_WRAP= "
+
+ mymakeopts="${mymakeopts} NO_MAILWRAPPER= NO_BIND= NO_SENDMAIL= NO_PF= NO_AUTHPF="
+
+ # kldxref does not build with -O2
+ replace-flags "-O?" "-O1"
+}
+
+PATCHES="${FILESDIR}/${PN}-${RV}-fixmakefiles.patch
+ ${FILESDIR}/${PN}-nowrap.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 mount_smbfs
+ tcpdump ndp traceroute pkg_install inetd
+ wpa/wpa_supplicant wpa/hostapd"
+
+src_unpack() {
+ freebsd_src_unpack
+ ln -s "/usr/src/sys-${RV}" "${WORKDIR}/sys"
+ ln -s "/usr/include" "${WORKDIR}/include"
+}
+
+src_install() {
+ # By creating these two directories we avoid having to do a
+ # more complex hack inside lpr/SMM.doc and nologin makefiles.
+ dodir /usr/share/doc
+ dodir /sbin
+ dodir /usr/libexec
+
+ # 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"
+
+ for util in nfs nfsmount rpcbind syslogd moused; 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 usbd.conf
+
+ use lpr && doins printcap hosts.lpd
+
+ 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
+}
diff --git a/sys-freebsd/freebsd-usbin/metadata.xml b/sys-freebsd/freebsd-usbin/metadata.xml
new file mode 100644
index 000000000000..ecedda4aa2cc
--- /dev/null
+++ b/sys-freebsd/freebsd-usbin/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>bsd</herd>
+</pkgmetadata>