summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-freebsd/freebsd-pf')
-rw-r--r--sys-freebsd/freebsd-pf/ChangeLog12
-rw-r--r--sys-freebsd/freebsd-pf/files/freebsd-pf-7.0-libevent.patch12
-rw-r--r--sys-freebsd/freebsd-pf/files/freebsd-pf-7.0-pcap_pollution.patch18
-rw-r--r--sys-freebsd/freebsd-pf/files/pf.confd5
-rw-r--r--sys-freebsd/freebsd-pf/freebsd-pf-7.1.ebuild65
5 files changed, 107 insertions, 5 deletions
diff --git a/sys-freebsd/freebsd-pf/ChangeLog b/sys-freebsd/freebsd-pf/ChangeLog
index 26aa6565a83d..3d1e0b94b1c0 100644
--- a/sys-freebsd/freebsd-pf/ChangeLog
+++ b/sys-freebsd/freebsd-pf/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for sys-freebsd/freebsd-pf
-# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-pf/ChangeLog,v 1.24 2007/04/06 14:55:27 uberlord Exp $
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-pf/ChangeLog,v 1.25 2009/01/22 21:03:51 the_paya Exp $
+
+*freebsd-pf-7.1 (22 Jan 2009)
+
+ 22 Jan 2009; Javier Villavicencio <the_paya@gentoo.org>
+ +files/freebsd-pf-7.0-libevent.patch,
+ +files/freebsd-pf-7.0-pcap_pollution.patch, files/pf.confd,
+ +freebsd-pf-7.1.ebuild:
+ Import 7.1 ebuilds from gentoo-bsd overlay.
*freebsd-pf-6.2-r1 (06 Apr 2007)
diff --git a/sys-freebsd/freebsd-pf/files/freebsd-pf-7.0-libevent.patch b/sys-freebsd/freebsd-pf/files/freebsd-pf-7.0-libevent.patch
new file mode 100644
index 000000000000..1425db24d975
--- /dev/null
+++ b/sys-freebsd/freebsd-pf/files/freebsd-pf-7.0-libevent.patch
@@ -0,0 +1,12 @@
+--- usr.sbin/ftp-proxy/ftp-proxy/Makefile.orig 2008-06-14 00:01:52 -0300
++++ usr.sbin/ftp-proxy/ftp-proxy/Makefile 2008-06-14 00:03:19 -0300
+@@ -10,8 +10,7 @@
+ CFLAGS+= -I${.CURDIR}/../../../contrib/pf/libevent
+ CFLAGS+= -I${.CURDIR}/../../../sys/contrib/pf
+
+-DPADD= ${LIBEVENT}
+-LDADD= ${LIBEVENT}
++LDADD= -levent
+
+ WARNS?= 2
+
diff --git a/sys-freebsd/freebsd-pf/files/freebsd-pf-7.0-pcap_pollution.patch b/sys-freebsd/freebsd-pf/files/freebsd-pf-7.0-pcap_pollution.patch
new file mode 100644
index 000000000000..4a7c2e9a0e46
--- /dev/null
+++ b/sys-freebsd/freebsd-pf/files/freebsd-pf-7.0-pcap_pollution.patch
@@ -0,0 +1,18 @@
+--- contrib/pf/pflogd/privsep.c.orig 2007-07-03 09:30:02 -0300
++++ contrib/pf/pflogd/privsep.c 2008-06-13 23:55:39 -0300
+@@ -31,13 +31,14 @@
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <limits.h>
++#include <stdio.h>
++#define HAVE_SNPRINTF
+ #ifndef __FreeBSD__
+ #include <pcap.h>
+ #include <pcap-int.h>
+ #endif
+ #include <pwd.h>
+ #include <signal.h>
+-#include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #ifdef __FreeBSD__
diff --git a/sys-freebsd/freebsd-pf/files/pf.confd b/sys-freebsd/freebsd-pf/files/pf.confd
index 41c2fb9e5ba9..87c21b281e2b 100644
--- a/sys-freebsd/freebsd-pf/files/pf.confd
+++ b/sys-freebsd/freebsd-pf/files/pf.confd
@@ -1,10 +1,9 @@
# Copyright 2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-pf/files/pf.confd,v 1.1 2006/04/14 15:26:29 flameeyes Exp $
# Defines where the rules file is found, by default /etc/pf.conf
-PF_RULES_FILE=/etc/pf.conf
+# pf_conf=/etc/pf.conf
# Extra options to pass to pfctl when loading the rules
# See pfctl(8)
-# PF_OPTS=
+# pf_args=
diff --git a/sys-freebsd/freebsd-pf/freebsd-pf-7.1.ebuild b/sys-freebsd/freebsd-pf/freebsd-pf-7.1.ebuild
new file mode 100644
index 000000000000..92d219f97d2f
--- /dev/null
+++ b/sys-freebsd/freebsd-pf/freebsd-pf-7.1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-freebsd/freebsd-pf/freebsd-pf-7.1.ebuild,v 1.1 2009/01/22 21:03:51 the_paya Exp $
+
+inherit bsdmk freebsd
+
+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/${ETC}.tar.bz2"
+
+RDEPEND="net-libs/libpcap"
+DEPEND="${RDEPEND}
+ dev-libs/libevent
+ sys-freebsd/freebsd-mk-defs
+ =sys-freebsd/freebsd-sources-${RV}*"
+
+S="${WORKDIR}"
+
+SUBDIRS="usr.sbin/authpf sbin/pfctl sbin/pflogd usr.sbin/ftp-proxy/ftp-proxy"
+
+pkg_setup() {
+ enewgroup authpf 63
+ mymakeopts="${mymakeopts} NO_MANCOMPRESS= NO_INFOCOMPRESS= "
+}
+
+src_unpack() {
+ freebsd_src_unpack
+ # pcap-int.h redefines snprintf as pcap_snprintf
+ epatch "${FILESDIR}/${PN}-7.0-pcap_pollution.patch"
+ # Use system's libevent
+ epatch "${FILESDIR}/${PN}-7.0-libevent.patch"
+ # Link in kernel sources
+ 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.os
+ newdoc pf.conf pf.conf.example
+ # pf.initd provided by openrc, but no pf.confd
+ newconfd "${FILESDIR}/pf.confd" pf
+}