diff options
author | Julian Ospald <hasufell@gentoo.org> | 2013-09-23 23:55:18 +0000 |
---|---|---|
committer | Julian Ospald <hasufell@gentoo.org> | 2013-09-23 23:55:18 +0000 |
commit | 3268ea980c41948fe04cfabfdd1a91b6b23b48ca (patch) | |
tree | 58d4d864705e49fe13737a6e16f2392fbbf1295c /net-firewall/pglinux | |
parent | Version bump (diff) | |
download | gentoo-2-3268ea980c41948fe04cfabfdd1a91b6b23b48ca.tar.gz gentoo-2-3268ea980c41948fe04cfabfdd1a91b6b23b48ca.tar.bz2 gentoo-2-3268ea980c41948fe04cfabfdd1a91b6b23b48ca.zip |
add systemd support wrt #485674
(Portage version: 2.2.6/cvs/Linux x86_64, signed Manifest commit with key E73C35B3)
Diffstat (limited to 'net-firewall/pglinux')
12 files changed, 701 insertions, 1 deletions
diff --git a/net-firewall/pglinux/ChangeLog b/net-firewall/pglinux/ChangeLog index e3dae7ea764f..8c32e57012eb 100644 --- a/net-firewall/pglinux/ChangeLog +++ b/net-firewall/pglinux/ChangeLog @@ -1,6 +1,18 @@ # ChangeLog for net-firewall/pglinux # Copyright 1999-2013 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-firewall/pglinux/ChangeLog,v 1.14 2013/05/03 16:43:51 hasufell Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-firewall/pglinux/ChangeLog,v 1.15 2013/09/23 23:55:18 hasufell Exp $ + +*pglinux-2.2.2-r1 (23 Sep 2013) + + 23 Sep 2013; Julian Ospald <hasufell@gentoo.org> +pglinux-2.2.2-r1.ebuild, + +files/0-pglinux-2.2.2-gentoo-init.patch, + +files/1-pglinux-2.2.2-gentoo-init.patch, + +files/pglinux-2.2.2-path-variables.patch, + +files/0-pglinux-2.2.2-systemd.patch, +files/1-pglinux-2.2.2-systemd.patch, + +files/2-pglinux-2.2.2-systemd.patch, +files/3-pglinux-2.2.2-systemd.patch, + +files/4-pglinux-2.2.2-systemd.patch, +files/5-pglinux-2.2.2-systemd.patch, + +files/6-pglinux-2.2.2-systemd.patch: + add systemd support wrt #485674 03 May 2013; Julian Ospald <hasufell@gentoo.org> pglinux-2.2.2.ebuild: ensure that empty pgl specific dirs are not removed by PM diff --git a/net-firewall/pglinux/files/0-pglinux-2.2.2-gentoo-init.patch b/net-firewall/pglinux/files/0-pglinux-2.2.2-gentoo-init.patch new file mode 100644 index 000000000000..f3ae3cf85d17 --- /dev/null +++ b/net-firewall/pglinux/files/0-pglinux-2.2.2-gentoo-init.patch @@ -0,0 +1,61 @@ +diff --git a/pgl/pglcmd/init/pgl.gentoo.in b/pgl/pglcmd/init/pgl.gentoo.in +new file mode 100644 +index 0000000..c94d978 +--- /dev/null ++++ b/pgl/pglcmd/init/pgl.gentoo.in +@@ -0,0 +1,55 @@ ++#!/sbin/runscript ++# Copyright 1999-2012 Gentoo Foundation ++# Distributed under the terms of the GNU General Public License v2 ++ ++description="Daemon script for pglinux" ++extra_commands="reload forcereload update" ++ ++depend() { ++ need net ++} ++ ++PIDFILE=@PID_DIR@/pgld.pid ++PGLCMD=@PGLCMDPATH@ ++ ++start() { ++ ebegin "Starting pglinux daemon" ++ ++ if [ "${RC_CMD}" = "restart" ]; then ++ sleep 3 ++ fi ++ ++ $PGLCMD start ++ eend $? ++} ++ ++stop() { ++ ebegin "Stopping pglinux daemon" ++ $PGLCMD stop_quick ++ eend $? ++} ++ ++status() { ++ ebegin "Checking status of pglinux daemon" ++ $PGLCMD status ++ eend $? ++} ++ ++reload() { ++ ebegin "reload config" ++ $PGLCMD reload ++ eend $? ++} ++ ++forcereload() { ++ ebegin "force config reload" ++ $PGLCMD force-reload ++ eend $? ++} ++ ++update() { ++ ebegin "Force update of lists" ++ $PGLCMD update ++ eend $? ++} ++ diff --git a/net-firewall/pglinux/files/0-pglinux-2.2.2-systemd.patch b/net-firewall/pglinux/files/0-pglinux-2.2.2-systemd.patch new file mode 100644 index 000000000000..0c8d50b10dd0 --- /dev/null +++ b/net-firewall/pglinux/files/0-pglinux-2.2.2-systemd.patch @@ -0,0 +1,42 @@ +commit 5099e4f985db621465f6d5c91ddad877926322c8 +Author: jre <jre-phoenix@users.sourceforge.net> +Date: Thu Feb 14 00:12:00 2013 +0100 + + added systemd file by Pierre Buard, Arch Linux + +diff --git a/pgl/INSTALL b/pgl/INSTALL +index e0225a2..25f668e 100644 +--- a/pgl/INSTALL ++++ b/pgl/INSTALL +@@ -278,9 +278,8 @@ http://forums.phoenixlabs.org/thread-15882-post-120482.html#pid120482 + + ARCH / AUR (Arch User Repo): + ---------------------------- +-PKGBUILD by Gilrain: ++PKGBUILD by Pierre Buard (Gilrain), Arch Linux maintainer + https://aur.archlinux.org/packages.php?ID=51839 +-(Last Updated: Thu, 14 Jun 2012 08:52:59 +0000 for 2.2.0) + + + Gentoo: +diff --git a/pgl/pglcmd/init/service b/pgl/pglcmd/init/service +new file mode 100644 +index 0000000..3f2f747 +--- /dev/null ++++ b/pgl/pglcmd/init/service +@@ -0,0 +1,15 @@ ++[Unit] ++Description=PeerGuardian Linux - an IP Blocker ++Documentation=man:pgld(1) file:///usr/share/doc/pgl/README.blocklists ++After=network.target ++ConditionPathExists=|/etc/pgl/blocklists.list ++ConditionDirectoryNotEmpty=|/usr/lib/pgl ++ ++[Service] ++BusName=org.netfilter.pgl ++ExecStart=/usr/bin/pglcmd start ++ExecStop=/usr/bin/pglcmd stop ++PIDFile=/run/pgld.pid ++ ++[Install] ++WantedBy=multi-user.target diff --git a/net-firewall/pglinux/files/1-pglinux-2.2.2-gentoo-init.patch b/net-firewall/pglinux/files/1-pglinux-2.2.2-gentoo-init.patch new file mode 100644 index 000000000000..63aecf506be2 --- /dev/null +++ b/net-firewall/pglinux/files/1-pglinux-2.2.2-gentoo-init.patch @@ -0,0 +1,20 @@ +commit a63052957b350adcf92e7c23aaad7b71450d8023 +Author: hasufell <julian.ospald@googlemail.com> +Date: Sun Nov 25 13:44:34 2012 +0100 + + fix make dist + + forgot to add pgl.gentoo.in :/ + +diff --git a/pgl/pglcmd/Makefile.am b/pgl/pglcmd/Makefile.am +index 147a66e..896b6bc 100644 +--- a/pgl/pglcmd/Makefile.am ++++ b/pgl/pglcmd/Makefile.am +@@ -118,6 +118,7 @@ EXTRA_DIST = \ + pglcmd.wd.in \ + cron.daily/pglcmd.in \ + init/pgl.in \ ++ init/pgl.gentoo.in \ + networkmanager/20pglcmd.in \ + pglcmd.lib + diff --git a/net-firewall/pglinux/files/1-pglinux-2.2.2-systemd.patch b/net-firewall/pglinux/files/1-pglinux-2.2.2-systemd.patch new file mode 100644 index 000000000000..ebcf3c44717c --- /dev/null +++ b/net-firewall/pglinux/files/1-pglinux-2.2.2-systemd.patch @@ -0,0 +1,144 @@ +commit dad29189eabd8aaee79fefd95bd9f8ff216d3bec +Author: jre <jre-phoenix@users.sourceforge.net> +Date: Sat May 18 10:13:49 2013 +0200 + + integrated the systemd service file + + thanks again ARCH Linux guys, especially Pierre Buard + + 2.) Uninstall +diff --git a/pgl/Makefile.am b/pgl/Makefile.am +index b738fdd..a81c3ee 100644 +--- a/pgl/Makefile.am ++++ b/pgl/Makefile.am +@@ -4,6 +4,10 @@ MASTER_BLOCKLIST_DIR = @MASTER_BLOCKLIST_DIR@ + + ACLOCAL_AMFLAGS = -I m4 + ++# Ensure that make distcheck continues to work ++DISTCHECK_CONFIGURE_FLAGS = \ ++ --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) ++ + SUBDIRS = \ + docs \ + pglcmd \ +diff --git a/pgl/configure.ac b/pgl/configure.ac +index 213baa5..04e43cb 100644 +--- a/pgl/configure.ac ++++ b/pgl/configure.ac +@@ -132,6 +132,17 @@ AC_ARG_WITH([gentoo-init], + + AM_CONDITIONAL(GENTOOINIT, [test "x$gentoo_init" = "xyes"]) + ++# use systemd service file (yes, if user specifies a path) ++# http://www.freedesktop.org/software/systemd/man/daemon.html ++PKG_PROG_PKG_CONFIG ++AC_ARG_WITH([systemdsystemunitdir], ++ AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), ++ [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) ++if test "x$with_systemdsystemunitdir" != xno; then ++ AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) ++fi ++AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ]) ++ + # let user specify iconsdir + AC_ARG_WITH([iconsdir], + [AS_HELP_STRING([--with-iconsdir=DIR], +@@ -311,6 +322,11 @@ else + echo QT-gui....................................... : no + fi + ++if test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno; then ++echo systemdsystemunitdir......................... : $systemdsystemunitdir ++else ++echo systemd...................................... : no ++fi + echo + echo ............................................. + echo "Developer debug:" +diff --git a/pgl/pglcmd/Makefile.am b/pgl/pglcmd/Makefile.am +index 896b6bc..132a475 100644 +--- a/pgl/pglcmd/Makefile.am ++++ b/pgl/pglcmd/Makefile.am +@@ -48,6 +48,9 @@ pgllib_DATA = \ + pglcmd.lib \ + pglcmd.main + ++systemdsystemunit_DATA = \ ++ init/pgl.service ++ + # Don't update PATH here anymore, because on user's make it doesn't contain + # [/usr]/sbin + pglcmd.defaults: +@@ -103,6 +106,15 @@ init/pgl: + chmod +x init/pgl + endif + ++init/pgl.service: ++ sed \ ++ -e 's|@data_root_dir@|$(datarootdir)|g' \ ++ -e 's|@CONF_DIR@|$(sysconfdir)|g' \ ++ -e 's|@LIB_DIR@|$(libdir)|g' \ ++ -e 's|@BIN_DIR@|$(bindir)|g' \ ++ -e 's|@PID_DIR@|$(PIDDIR)|g' \ ++ < init/pgl.service.in > init/pgl.service ++ + networkmanager/20pglcmd: + $(do_subst) < networkmanager/20pglcmd.in > networkmanager/20pglcmd + chmod +x networkmanager/20pglcmd +@@ -119,6 +131,7 @@ EXTRA_DIST = \ + cron.daily/pglcmd.in \ + init/pgl.in \ + init/pgl.gentoo.in \ ++ init/pgl.service.in \ + networkmanager/20pglcmd.in \ + pglcmd.lib + +@@ -131,4 +144,5 @@ CLEANFILES = \ + pglcmd.wd \ + cron.daily/pglcmd \ + init/pgl \ ++ init/pgl.service \ + networkmanager/20pglcmd +diff --git a/pgl/pglcmd/init/pgl.service.in b/pgl/pglcmd/init/pgl.service.in +new file mode 100644 +index 0000000..55779bd +--- /dev/null ++++ b/pgl/pglcmd/init/pgl.service.in +@@ -0,0 +1,15 @@ ++[Unit] ++Description=PeerGuardian Linux - an IP Blocker ++Documentation=man:pgld(1) file://@data_root_dir@/doc/pgl/README.blocklists ++After=network.target ++ConditionPathExists=|@CONF_DIR@/pgl/blocklists.list ++ConditionDirectoryNotEmpty=|@LIB_DIR@/pgl ++ ++[Service] ++BusName=org.netfilter.pgl ++ExecStart=@BIN_DIR@/pglcmd start ++ExecStop=@BIN_DIR@/pglcmd stop ++PIDFile=@PID_DIR@/pgld.pid ++ ++[Install] ++WantedBy=multi-user.target +diff --git a/pgl/pglcmd/init/service b/pgl/pglcmd/init/service +deleted file mode 100644 +index 3f2f747..0000000 +--- a/pgl/pglcmd/init/service ++++ /dev/null +@@ -1,15 +0,0 @@ +-[Unit] +-Description=PeerGuardian Linux - an IP Blocker +-Documentation=man:pgld(1) file:///usr/share/doc/pgl/README.blocklists +-After=network.target +-ConditionPathExists=|/etc/pgl/blocklists.list +-ConditionDirectoryNotEmpty=|/usr/lib/pgl +- +-[Service] +-BusName=org.netfilter.pgl +-ExecStart=/usr/bin/pglcmd start +-ExecStop=/usr/bin/pglcmd stop +-PIDFile=/run/pgld.pid +- +-[Install] +-WantedBy=multi-user.target diff --git a/net-firewall/pglinux/files/2-pglinux-2.2.2-systemd.patch b/net-firewall/pglinux/files/2-pglinux-2.2.2-systemd.patch new file mode 100644 index 000000000000..49bde436d947 --- /dev/null +++ b/net-firewall/pglinux/files/2-pglinux-2.2.2-systemd.patch @@ -0,0 +1,34 @@ +commit b1bbab1348f924635daba2739ab0882f7f976957 +Author: jre <jre-phoenix@users.sourceforge.net> +Date: Mon May 20 14:39:29 2013 +0200 + + systemd fixes: don't wait for pgl dbus, but fork instead + + necessary to prevent timeout, because on start pglcmd first downloads + all missing blocklists (may take quite long) and then starts pgld, + which just then registers with dbus + + editorial change + + Thanks again Pierre Buard + +diff --git a/pgl/pglcmd/init/pgl.service.in b/pgl/pglcmd/init/pgl.service.in +index 55779bd..5279404 100644 +--- a/pgl/pglcmd/init/pgl.service.in ++++ b/pgl/pglcmd/init/pgl.service.in +@@ -1,12 +1,13 @@ + [Unit] + Description=PeerGuardian Linux - an IP Blocker +-Documentation=man:pgld(1) file://@data_root_dir@/doc/pgl/README.blocklists ++Documentation=man:pgld(1) ++Documentation=file://@data_root_dir@/doc/pgl/README.blocklists + After=network.target + ConditionPathExists=|@CONF_DIR@/pgl/blocklists.list + ConditionDirectoryNotEmpty=|@LIB_DIR@/pgl + + [Service] +-BusName=org.netfilter.pgl ++Type=forking + ExecStart=@BIN_DIR@/pglcmd start + ExecStop=@BIN_DIR@/pglcmd stop + PIDFile=@PID_DIR@/pgld.pid diff --git a/net-firewall/pglinux/files/3-pglinux-2.2.2-systemd.patch b/net-firewall/pglinux/files/3-pglinux-2.2.2-systemd.patch new file mode 100644 index 000000000000..347c9c836de4 --- /dev/null +++ b/net-firewall/pglinux/files/3-pglinux-2.2.2-systemd.patch @@ -0,0 +1,21 @@ +commit 459f460cfd4a166d5108c3e88c2cad294b32fb74 +Author: jre <jre-phoenix@users.sourceforge.net> +Date: Mon May 20 19:26:25 2013 +0200 + + fix: install systemd file only if configured + +diff --git a/pgl/pglcmd/Makefile.am b/pgl/pglcmd/Makefile.am +index 132a475..c7f34a5 100644 +--- a/pgl/pglcmd/Makefile.am ++++ b/pgl/pglcmd/Makefile.am +@@ -48,8 +48,10 @@ pgllib_DATA = \ + pglcmd.lib \ + pglcmd.main + ++if HAVE_SYSTEMD + systemdsystemunit_DATA = \ + init/pgl.service ++endif + + # Don't update PATH here anymore, because on user's make it doesn't contain + # [/usr]/sbin diff --git a/net-firewall/pglinux/files/4-pglinux-2.2.2-systemd.patch b/net-firewall/pglinux/files/4-pglinux-2.2.2-systemd.patch new file mode 100644 index 000000000000..cc124ebe1ac8 --- /dev/null +++ b/net-firewall/pglinux/files/4-pglinux-2.2.2-systemd.patch @@ -0,0 +1,24 @@ +commit 53ac32c45e0a28bfaf42f32cd9b887ed1414ecae +Author: jre <jre-phoenix@users.sourceforge.net> +Date: Tue May 21 20:21:47 2013 +0200 + + revised systemd targets + + thanks again Pierre Buard + +diff --git a/pgl/pglcmd/init/pgl.service.in b/pgl/pglcmd/init/pgl.service.in +index 5279404..c8809d0 100644 +--- a/pgl/pglcmd/init/pgl.service.in ++++ b/pgl/pglcmd/init/pgl.service.in +@@ -2,9 +2,8 @@ + Description=PeerGuardian Linux - an IP Blocker + Documentation=man:pgld(1) + Documentation=file://@data_root_dir@/doc/pgl/README.blocklists +-After=network.target +-ConditionPathExists=|@CONF_DIR@/pgl/blocklists.list +-ConditionDirectoryNotEmpty=|@LIB_DIR@/pgl ++After=network.target syslog.target ++After=firehol.service firestarter.service firewalld.service ufw.service + + [Service] + Type=forking diff --git a/net-firewall/pglinux/files/5-pglinux-2.2.2-systemd.patch b/net-firewall/pglinux/files/5-pglinux-2.2.2-systemd.patch new file mode 100644 index 000000000000..49fa35a64ed9 --- /dev/null +++ b/net-firewall/pglinux/files/5-pglinux-2.2.2-systemd.patch @@ -0,0 +1,18 @@ +commit fe6a60d6be7c611d0568042e5bdbdd9398f9a7e8 +Author: jre <jre-phoenix@users.sourceforge.net> +Date: Tue Jun 11 22:42:21 2013 +0200 + + add RemainAfterExit to prevent timeout during long blocklist downloads + +diff --git a/pgl/pglcmd/init/pgl.service.in b/pgl/pglcmd/init/pgl.service.in +index c8809d0..64ee040 100644 +--- a/pgl/pglcmd/init/pgl.service.in ++++ b/pgl/pglcmd/init/pgl.service.in +@@ -10,6 +10,7 @@ Type=forking + ExecStart=@BIN_DIR@/pglcmd start + ExecStop=@BIN_DIR@/pglcmd stop + PIDFile=@PID_DIR@/pgld.pid ++RemainAfterExit=yes + + [Install] + WantedBy=multi-user.target diff --git a/net-firewall/pglinux/files/6-pglinux-2.2.2-systemd.patch b/net-firewall/pglinux/files/6-pglinux-2.2.2-systemd.patch new file mode 100644 index 000000000000..b1000cb5d4e8 --- /dev/null +++ b/net-firewall/pglinux/files/6-pglinux-2.2.2-systemd.patch @@ -0,0 +1,87 @@ +commit 6ed523649e296a16494c6b559ef22de04833cddc +Author: hasufell <hasufell@posteo.de> +Date: Mon Sep 23 23:57:48 2013 +0200 + + BUILD: small cleanup to systemd bits + + * don't double check for pkg-config + * use AS_IF + * consistent variable naming + * do not install systemd file when "--with-systemd" is omitted + +diff --git a/pgl/Makefile.am b/pgl/Makefile.am +index a81c3ee..c5dd377 100644 +--- a/pgl/Makefile.am ++++ b/pgl/Makefile.am +@@ -6,7 +6,7 @@ ACLOCAL_AMFLAGS = -I m4 + + # Ensure that make distcheck continues to work + DISTCHECK_CONFIGURE_FLAGS = \ +- --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) ++ --with-systemd=$$dc_install_base/$(SYSTEMDUNITDIR) + + SUBDIRS = \ + docs \ +diff --git a/pgl/configure.ac b/pgl/configure.ac +index 63b443c..dd2086e 100644 +--- a/pgl/configure.ac ++++ b/pgl/configure.ac +@@ -14,9 +14,7 @@ + AC_PROG_CC + AC_PROG_INSTALL + AC_PROG_LIBTOOL +-AC_PATH_PROG([PKGCONFIG], [pkg-config]) +-AS_IF([test "x$PKGCONFIG" = "x"], +- [AC_MSG_ERROR([pkg-config not found!])]) ++PKG_PROG_PKG_CONFIG + + # Checks for header files. + AC_CHECK_HEADERS([arpa/inet.h inttypes.h limits.h netinet/in.h stdlib.h string.h sys/time.h syslog.h unistd.h]) +@@ -134,14 +132,14 @@ + + # use systemd service file (yes, if user specifies a path) + # http://www.freedesktop.org/software/systemd/man/daemon.html +-PKG_PROG_PKG_CONFIG +-AC_ARG_WITH([systemdsystemunitdir], +- AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), +- [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) +-if test "x$with_systemdsystemunitdir" != xno; then +- AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) +-fi +-AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ]) ++AC_ARG_WITH([systemd], ++ [AS_HELP_STRING([--with-systemd=UNITDIR], [install systemd unit file (into UNITDIR if given)])], ++ [with_systemd="$withval"], ++ [with_systemd="no"]) ++AS_IF([test "x$with_systemd" != xno], ++ [AS_IF([test "$with_systemd" = yes], [with_systemd="`$PKG_CONFIG --variable=systemdsystemunitdir systemd`"])] ++ [AC_SUBST([SYSTEMDUNITDIR], [$with_systemd])]) ++AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemd" -a "x$with_systemd" != xno ]) + + # let user specify iconsdir + AC_ARG_WITH([iconsdir], +@@ -321,9 +319,9 @@ + else + echo QT-gui....................................... : no + fi +- +-if test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno; then +-echo systemdsystemunitdir......................... : $systemdsystemunitdir ++if test -n "$with_systemd" -a "x$with_systemd" != xno; then ++echo systemd ..................................... : yes ++echo systemd unit dir ............................ : $with_systemd + else + echo systemd...................................... : no + fi +diff --git a/pgl/pglcmd/Makefile.am b/pgl/pglcmd/Makefile.am +index c7f34a5..d06871e 100644 +--- a/pgl/pglcmd/Makefile.am ++++ b/pgl/pglcmd/Makefile.am +@@ -51,6 +51,7 @@ pgllib_DATA = \ + if HAVE_SYSTEMD + systemdsystemunit_DATA = \ + init/pgl.service ++systemdsystemunitdir = @SYSTEMDUNITDIR@ + endif + + # Don't update PATH here anymore, because on user's make it doesn't contain diff --git a/net-firewall/pglinux/files/pglinux-2.2.2-path-variables.patch b/net-firewall/pglinux/files/pglinux-2.2.2-path-variables.patch new file mode 100644 index 000000000000..2d3693a98536 --- /dev/null +++ b/net-firewall/pglinux/files/pglinux-2.2.2-path-variables.patch @@ -0,0 +1,131 @@ +commit 07b4b464e18c763bf095214a73d0bcfa32c4f933 +Author: hasufell <hasufell@posteo.de> +Date: Sat Sep 7 00:33:42 2013 +0200 + + BUILD: do not expand path variables in configure.ac + + it is bad form and could cause unexpected behavior + +diff --git a/pgl/configure.ac b/pgl/configure.ac +index 213baa5..6160956 100644 +--- a/pgl/configure.ac ++++ b/pgl/configure.ac +@@ -45,21 +45,21 @@ AC_ARG_WITH([initddir], + [AS_HELP_STRING([--with-initddir=DIR], + [path to init script directory (default: sysconfdir/init.d)])], + [INITDDIR="$withval"], +- [INITDDIR="$sysconfdir/init.d"]) ++ [INITDDIR='$(sysconfdir)/init.d']) + + # let user specify LOGDIR + AC_ARG_WITH([logdir], + [AS_HELP_STRING([--with-logdir=DIR], + [path to log directory (default: localstatedir/log/pgl)])], + [LOGDIR="$withval"], +- [LOGDIR="$localstatedir/log/$PACKAGE"]) ++ [LOGDIR='$(localstatedir)/log/'$PACKAGE]) + + # let user specify PIDDIR + AC_ARG_WITH([piddir], + [AS_HELP_STRING([--with-piddir=DIR], + [path to PID directory (default: localstatedir/run)])], + [PIDDIR="$withval"], +- [PIDDIR="$localstatedir/run"]) ++ [PIDDIR='$(localstatedir)/run']) + + # let user specify TMPDIR + AC_ARG_WITH([tmpdir], +@@ -73,21 +73,21 @@ AC_ARG_WITH([blocklists], + [AS_HELP_STRING([--with-blocklists=DIR], + [path to blocklists directory (default: localstatedir/spool/pgl)])], + [BLOCKLISTS_DIR="$withval"], +- [BLOCKLISTS_DIR="$localstatedir/spool/$PACKAGE"]) ++ [BLOCKLISTS_DIR='$(localstatedir)/spool/'$PACKAGE]) + + # let user specify LOCAL_BLOCKLIST_DIR + AC_ARG_WITH([localblocklist], + [AS_HELP_STRING([--with-localblocklist=DIR], + [path to local blocklist directory (default: sysconfdir/pgl/blocklists.local)])], + [LOCAL_BLOCKLIST_DIR="$withval"], +- [LOCAL_BLOCKLIST_DIR="$sysconfdir/$PACKAGE/blocklists.local"]) ++ [LOCAL_BLOCKLIST_DIR='$(sysconfdir)'/$PACKAGE/blocklists.local]) + + # let user specify MASTER_BLOCKLIST_DIR + AC_ARG_WITH([masterblocklist], + [AS_HELP_STRING([--with-masterblocklist=DIR], + [path to master blocklist directory (default: localstatedir/lib/pgl)])], + [MASTER_BLOCKLIST_DIR="$withval"], +- [MASTER_BLOCKLIST_DIR="$localstatedir/lib/$PACKAGE"]) ++ [MASTER_BLOCKLIST_DIR='$(localstatedir)/lib/'$PACKAGE]) + + # let user specify LSB + AC_ARG_WITH([lsb], +@@ -137,7 +137,7 @@ AC_ARG_WITH([iconsdir], + [AS_HELP_STRING([--with-iconsdir=DIR], + [path where icons get installed (default: datadir/pixmaps)])], + [ICONSDIR="$withval"], +- [ICONSDIR="$datadir/pixmaps"]) ++ [ICONSDIR='$(datadir)/pixmaps']) + + + +@@ -147,7 +147,7 @@ AC_ARG_WITH([iconsdir], + # pkg-config module check, generates $1_LIBS and $1_CFLAGS vars + PKG_CHECK_MODULES([libnetfilterqueue],[libnetfilter_queue]) + PGLD_CFLAGS="" +-PGLD_CPPFLAGS="$libnetfilterqueue_CFLAGS -DVERSION=\\\"$VERSION\\\" -DPACKAGE_NAME=\\\"$PACKAGE\\\" -DPIDFILE=\\\"${localstatedir}/run/${PACKAGE}d.pid\\\"" ++PGLD_CPPFLAGS="$libnetfilterqueue_CFLAGS -DVERSION=\\\"$VERSION\\\" -DPACKAGE_NAME=\\\"$PACKAGE\\\"" + PGLD_LDFLAGS="" + PGLD_LIBS="$libnetfilterqueue_LIBS" + +@@ -180,7 +180,7 @@ AS_IF([test "x$enable_dbus" = "xyes"], + [PKG_CHECK_MODULES([DBUS], + [dbus-1])] + [PGLD_CFLAGS="$PGLD_CFLAGS -fPIC"] +- [PGLD_CPPFLAGS="$PGLD_CPPFLAGS $DBUS_CFLAGS -DHAVE_DBUS -DPLUGINDIR=\\\"${libdir}/$PACKAGE\\\""] ++ [PGLD_CPPFLAGS="$PGLD_CPPFLAGS $DBUS_CFLAGS -DHAVE_DBUS"] + [PGLD_LDFLAGS="-Wl,-export-dynamic"] + [PGLD_LIBS="$PGLD_LIBS $DBUS_LIBS -ldl"]) + +@@ -203,7 +203,7 @@ AS_IF([test "x$enable_lowmem" = "xyes"], + ## + # initial QT_flags + QT_CXXFLAGS="" +-QT_CPPFLAGS="-DVERSION=\\\"$VERSION\\\" -DPGLCMDDEFAULTSPATH=\\\"${libdir}/${PACKAGE}/${PACKAGE}cmd.defaults\\\" -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED" ++QT_CPPFLAGS="-DVERSION=\\\"$VERSION\\\" -D_REENTRANT -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -DQT_SHARED" + QT_LDFLAGS="" + QT_LIBS="" + +diff --git a/pgl/pgld/Makefile.am b/pgl/pgld/Makefile.am +index ca7d509..91fc7db 100644 +--- a/pgl/pgld/Makefile.am ++++ b/pgl/pgld/Makefile.am +@@ -1,6 +1,7 @@ + # flags + AM_CFLAGS = @PGLD_CFLAGS@ +-AM_CPPFLAGS = @PGLD_CPPFLAGS@ ++AM_CPPFLAGS = @PGLD_CPPFLAGS@ \ ++ -DPIDFILE=\"$(localstatedir)/run/${PACKAGE}d.pid\" + AM_LDFLAGS = @PGLD_LDFLAGS@ + + # sources for pgld binary +@@ -14,6 +15,7 @@ sbin_PROGRAMS = pgld + + # build dbus library for --enable-dbus + if DBUSMAKE ++AM_CPPFLAGS += -DPLUGINDIR=\"$(libdir)/$(PACKAGE)\" + libdbusdir = $(libdir)/$(PACKAGE_NAME) + libdbus_LTLIBRARIES = libdbus.la + libdbus_la_SOURCES = src/dbus.c src/dbus.h +diff --git a/pgl/pglgui/Makefile.am b/pgl/pglgui/Makefile.am +index 3a1757e..05c2a54 100644 +--- a/pgl/pglgui/Makefile.am ++++ b/pgl/pglgui/Makefile.am +@@ -11,6 +11,7 @@ MOC = @MOC@ + AM_CXXFLAGS = @QT_CXXFLAGS@ + AM_CPPFLAGS = \ + @QT_CPPFLAGS@ \ ++ -DPGLCMDDEFAULTSPATH=\"$(libdir)/$(PACKAGE)/$(PACKAGE)cmd.defaults\" \ + -I./ui + AM_LDFLAGS = @QT_LDFLAGS@ + diff --git a/net-firewall/pglinux/pglinux-2.2.2-r1.ebuild b/net-firewall/pglinux/pglinux-2.2.2-r1.ebuild new file mode 100644 index 000000000000..ab046b47c195 --- /dev/null +++ b/net-firewall/pglinux/pglinux-2.2.2-r1.ebuild @@ -0,0 +1,106 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-firewall/pglinux/pglinux-2.2.2-r1.ebuild,v 1.1 2013/09/23 23:55:18 hasufell Exp $ + +EAPI=5 + +inherit autotools eutils gnome2-utils linux-info systemd + +MY_P="pgl-${PV}" + +DESCRIPTION="Privacy oriented firewall application" +HOMEPAGE="https://sourceforge.net/projects/peerguardian/" +SRC_URI="mirror://sourceforge/peerguardian/${MY_P}.tar.gz" + +LICENSE="GPL-3" +KEYWORDS="~amd64 ~x86" +SLOT="0" +IUSE="cron dbus logrotate networkmanager qt4 zlib" + +COMMON_DEPEND=" + net-libs/libnetfilter_queue + net-libs/libnfnetlink + dbus? ( sys-apps/dbus ) + zlib? ( sys-libs/zlib ) + qt4? ( sys-auth/polkit-qt + dev-qt/qtcore:4 + dev-qt/qtdbus:4 + dev-qt/qtgui:4 + || ( kde-base/kdesu x11-libs/gksu x11-misc/ktsuss ) + )" +DEPEND="${COMMON_DEPEND} + virtual/pkgconfig + sys-devel/libtool:2" +RDEPEND="${COMMON_DEPEND} + net-firewall/iptables + sys-apps/sysvinit + cron? ( virtual/cron ) + logrotate? ( app-admin/logrotate ) + networkmanager? ( net-misc/networkmanager )" + +REQUIRED_USE="qt4? ( dbus )" + +CONFIG_CHECK="~NETFILTER_NETLINK + ~NETFILTER_NETLINK_QUEUE + ~NETFILTER_XTABLES + ~NETFILTER_XT_TARGET_NFQUEUE + ~NETFILTER_XT_MATCH_IPRANGE + ~NETFILTER_XT_MARK + ~NETFILTER_XT_MATCH_MULTIPORT + ~NETFILTER_XT_MATCH_STATE + ~NF_CONNTRACK + ~NF_CONNTRACK_IPV4 + ~NF_DEFRAG_IPV4 + ~IP_NF_FILTER + ~IP_NF_IPTABLES + ~IP_NF_TARGET_REJECT" + +S=${WORKDIR}/${MY_P} + +src_prepare() { + epatch -p2 "${FILESDIR}"/${P}-path-variables.patch \ + "${FILESDIR}"/{0,1}-${P}-gentoo-init.patch \ + "${FILESDIR}"/{0..6}-${P}-systemd.patch + + eautoreconf +} + +src_configure() { + econf \ + --localstatedir=/var \ + --docdir=/usr/share/doc/${PF} \ + $(use_enable logrotate) \ + $(use_enable cron) \ + $(use_enable networkmanager) \ + $(use_enable zlib) \ + $(use_enable dbus) \ + --disable-lowmem \ + --with-iconsdir=/usr/share/icons/hicolor/128x128/apps \ + --with-gentoo-init \ + $(use_with qt4) \ + --with-systemd="$(systemd_get_unitdir)" +} + +src_install() { + default + keepdir /var/{lib,log,spool}/pgl + rm -rf "${ED}"/tmp +} + +pkg_preinst() { + gnome2_icon_savelist +} + +pkg_postinst() { + elog "optional dependencies:" + elog " app-arch/p7zip (needed for blocklists packed as .7z)" + elog " app-arch/unzip (needed for blocklists packed as .zip)" + elog " virtual/mta (needed to send informational (blocklist updates) and" + elog " warning mails (if pglcmd.wd detects a problem.))" + + gnome2_icon_cache_update +} + +pkg_postrm() { + gnome2_icon_cache_update +} |