summaryrefslogtreecommitdiff
path: root/www/privoxy
diff options
context:
space:
mode:
authorjoerg <joerg@pkgsrc.org>2010-02-09 20:18:43 +0000
committerjoerg <joerg@pkgsrc.org>2010-02-09 20:18:43 +0000
commit150ec4e29374982d00535655d0603c79630beb02 (patch)
treec0b73882810a85e50bd061bc7000a67add1d0d08 /www/privoxy
parent5054d1fe4eb54f1054311d494d68e60a95cc7cd5 (diff)
downloadpkgsrc-150ec4e29374982d00535655d0603c79630beb02.tar.gz
Fix overcomplicated install rules. Make sure to create the logfile at
install time with the right permissions and don't make most of the templates group writeable. Bump revision.
Diffstat (limited to 'www/privoxy')
-rw-r--r--www/privoxy/Makefile14
-rw-r--r--www/privoxy/distinfo3
-rw-r--r--www/privoxy/patches/patch-ab118
3 files changed, 125 insertions, 10 deletions
diff --git a/www/privoxy/Makefile b/www/privoxy/Makefile
index 9c26dccd5d7..c3b3cdabdad 100644
--- a/www/privoxy/Makefile
+++ b/www/privoxy/Makefile
@@ -1,8 +1,9 @@
-# $NetBSD: Makefile,v 1.41 2010/02/08 09:54:23 tnn Exp $
+# $NetBSD: Makefile,v 1.42 2010/02/09 20:18:43 joerg Exp $
#
DISTNAME= ${PKGNAME_NOREV}-stable-src
PKGNAME= privoxy-3.0.12
+PKGREVISION= 1
CATEGORIES= www
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=ijbswa/}
@@ -10,10 +11,7 @@ MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://www.privoxy.org/
COMMENT= Web proxy with advanced filtering capabilities
-# Package is not destdir ready:
-# 1) install expects the privoxy user to exist and fails if it doesn't
-# 2) unsafe use of ROOT_USER in post-install
-#PKG_DESTDIR_SUPPORT= user-destdir
+PKG_DESTDIR_SUPPORT= user-destdir
.include "../../mk/bsd.prefs.mk"
@@ -57,6 +55,7 @@ CONF_FILES_PERMS+= ${EGDIR}/${i} ${PKG_SYSCONFDIR}/${i} ${USER_GROUP} 0660
.endfor
OWN_DIRS_PERMS+= /var/log/privoxy ${USER_GROUP} 0775
+CONF_FILES_PERMS+= /dev/null /var/log/privoxy/logfile ${USER_GROUP} 0660
FILES_SUBST+= PRIVOXY_USER=${PRIVOXY_USER:Q}
@@ -65,13 +64,10 @@ SUBST_FILES.paths= config
SUBST_SED.paths+= -e 's,@PKG_SYSCONFDIR@,${PKG_SYSCONFDIR},g'
SUBST_STAGE.paths= post-patch
+
pre-configure:
cd ${WRKSRC} && autoheader && autoconf
-post-install:
- ${CHOWN} -R ${ROOT_USER}:${ROOT_GROUP} ${DESTDIR}${EGDIR}
- ${CHMOD} -R a+r ${DESTDIR}${EGDIR}
-
.include "../../devel/pcre/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
.include "../../mk/pthread.buildlink3.mk"
diff --git a/www/privoxy/distinfo b/www/privoxy/distinfo
index 891af5de628..e2f445b282f 100644
--- a/www/privoxy/distinfo
+++ b/www/privoxy/distinfo
@@ -1,8 +1,9 @@
-$NetBSD: distinfo,v 1.13 2009/04/07 14:02:06 mjl Exp $
+$NetBSD: distinfo,v 1.14 2010/02/09 20:18:43 joerg Exp $
SHA1 (privoxy-3.0.12-stable-src.tar.gz) = 1118d6a7b4980f26c9ad0902c0e6af5aaaf1a640
RMD160 (privoxy-3.0.12-stable-src.tar.gz) = 32509b897e073f1cc100b8a4a157d19a219b51cd
Size (privoxy-3.0.12-stable-src.tar.gz) = 1811124 bytes
SHA1 (patch-aa) = c263d2a4b9522a33613f82ab2bc18d5c2b554b21
+SHA1 (patch-ab) = 2e16792661d12d74231cb2deef2f343ae2dc1d66
SHA1 (patch-ac) = e39ffe694462b952c5ad66ac577a0acbee0a1d9f
SHA1 (patch-ag) = fea1c2ef70a99ab6da3feab22c69f3b98c0e75d0
diff --git a/www/privoxy/patches/patch-ab b/www/privoxy/patches/patch-ab
new file mode 100644
index 00000000000..eb2a860d3fe
--- /dev/null
+++ b/www/privoxy/patches/patch-ab
@@ -0,0 +1,118 @@
+$NetBSD: patch-ab,v 1.5 2010/02/09 20:18:43 joerg Exp $
+
+--- GNUmakefile.in.orig 2009-02-28 08:28:14.000000000 +0000
++++ GNUmakefile.in
+@@ -87,7 +87,7 @@ INSTALL = @INSTALL@
+ # Binaries
+ BIN_MODE = 0755
+ # Support files, docs, etc.
+-RA_MODE = 0664
++RA_MODE = 0644
+ # Directory
+ DIR_MODE = 0755
+ # Files daemon writes to.
+@@ -1029,16 +1029,6 @@ install-strip:
+ # Perhaps the whole user/group validation should be done here, and simplified.
+ PROGRAM_V = Privoxy $(VERSION) $(CODE_STATUS)
+ install: CONF_DEST LOG_DEST PID_DEST check_doc GROUP_T
+- @# Quick test for valid USER.
+- @if [ -n "$(USER)" ]; then \
+- $(ID) $(USER) >/dev/null || exit 1;\
+- fi
+- @# Test for valid group. FIXME. USER does not have to belong to GROUP
+- @# for file ownership purposes.
+-# if [ -n "$(GROUP_T)" ] && [ -n "$(USER)" ] && ! $(GROUPS) $(USER) | $(GREP) "\<$(GROUP_T)\>" >/dev/null; then \
+-# $(ECHO) Group $(GROUP_T) for User $(USER) is invalid && exit 1 ;\
+-# fi
+-
+ @$(ECHO) "Creating directories, and preparing $(PROGRAM_V) installation"
+ $(CHMOD) $(DIR_MODE) $(MKDIR)
+ @$(MKDIR) $(DESTDIR)$(SBIN_DEST) $(DESTDIR)$(prefix) $(DESTDIR)$(CONF_DEST) \
+@@ -1106,41 +1096,6 @@ install: CONF_DEST LOG_DEST PID_DEST che
+ $(INSTALL) $(INSTALL_T) $$i $(DESTDIR)$(CONF_DEST)/templates ;\
+ done
+
+- @# FIXME: group/user validation is overly convoluted.
+- @# If superuser install ... we require a minimum of group ownership
+- @# of those files the daemon writes to, to be non-root owned.
+- @if [ "`$(ID) |sed 's/(.*//' |sed 's/.*=//'`" = "0" ] ;then\
+- if [ x$(USER) = x ] || [ $(USER) = root ]; then \
+- if [ x$(GROUP) = x ] || [ $(GROUP) = root ]; then \
+- if [ "`$(ID) privoxy`" ] && \
+- $(GROUPS) privoxy | $(SED) 's/^.*://' |$(GREP) "\<privoxy\>" >/dev/null; then \
+- $(ECHO) "Warning: Setting group owner to privoxy";\
+- GROUP_T=privoxy ;\
+- else \
+- $(ECHO) "******************************************************************" ;\
+- $(ECHO) " WARNING! WARNING! installing config files as root!" ;\
+- $(ECHO) " It is strongly recommended to run $(PROGRAM) as a non-root user," ;\
+- $(ECHO) " and to install the config files as that user and/or group!" ;\
+- $(ECHO) " Please read INSTALL, and create a privoxy user and group!" ;\
+- $(ECHO) "*******************************************************************" ;\
+- exit 1 ;\
+- fi ;\
+- else \
+- GROUP_T=$(GROUP) ;\
+- fi ;\
+- INSTALL_CONF="$(INSTALL_R) -g $$GROUP_T " ;\
+- else \
+- $(ECHO) "Superuser install, installing config files as $(USER):$(GROUP_T)" ;\
+- INSTALL_CONF="$(INSTALL_R) -o $(USER) -g $(GROUP_T)" ;\
+- GROUP_T=$(GROUP_T) ;\
+- fi ;\
+- else \
+- if [ ! "`id $(USER)`" = "`id`" ] ;then \
+- $(ECHO) "** WARNING ** current install user different from configured user!!" ;\
+- $(ECHO) "Edit may fail." ;\
+- fi ;\
+- INSTALL_CONF="$(INSTALL_R)" ;\
+- fi ;\
+ $(ECHO) Installing configuration files to $(DESTDIR)$(CONF_DEST);\
+ for i in $(CONFIGS); do \
+ if [ "$$i" = "default.action" ] || [ "$$i" = "default.filter" ] ; then \
+@@ -1159,45 +1114,6 @@ install: CONF_DEST LOG_DEST PID_DEST che
+ $(CHMOD) $(RWD_MODE) $(DESTDIR)$(CONF_DEST)/*.new || exit 1 ;\
+ $(ECHO) "Warning: Older config files are preserved. Check new versions for changes!" ;\
+ fi ;\
+- [ ! -f $(DESTDIR)$(LOG_DEST)/logfile ] && $(ECHO) Creating logfiles in $(DESTDIR)$(LOG_DEST) || \
+- $(ECHO) Checking logfiles in $(DESTDIR)$(LOG_DEST) ;\
+- $(TOUCH) $(DESTDIR)$(LOG_DEST)/logfile || exit 1 ;\
+- if [ x$$USER != x ]; then \
+- $(CHOWN) $$USER $(DESTDIR)$(LOG_DEST)/logfile || \
+- $(ECHO) "** WARNING ** current install user different from configured user. Logging may fail!!" ;\
+- fi ;\
+- if [ x$$GROUP_T != x ]; then \
+- $(CHGRP) $$GROUP_T $(DESTDIR)$(LOG_DEST)/logfile || \
+- $(ECHO) "** WARNING ** current install user different from configured user. Logging may fail!!" ;\
+- fi ;\
+- $(CHMOD) $(RWD_MODE) $(DESTDIR)$(LOG_DEST)/logfile || exit 1 ;\
+- if [ "$(prefix)" = "/usr/local" ] || [ "$(prefix)" = "/usr" ]; then \
+- if [ -f /etc/slackware-version ] && [ -d /etc/rc.d/ ] && [ -w /etc/rc.d/ ] ; then \
+- $(SED) 's+%PROGRAM%+$(PROGRAM)+' slackware/rc.privoxy.orig | \
+- $(SED) 's+%SBIN_DEST%+$(SBIN_DEST)+' | \
+- $(SED) 's+%CONF_DEST%+$(CONF_DEST)+' | \
+- $(SED) 's+%USER%+$(USER)+' | \
+- $(SED) 's+%GROUP%+$(GROUP_T)+' >slackware/rc.privoxy ;\
+- $(INSTALL) $(INSTALL_P) slackware/rc.privoxy $(DESTDIR)/etc/rc.d/ ;\
+- $(ECHO) "Installing for Slackware." ;\
+- $(ECHO) "Dont forget to add the rc.privoxy to rc.local if you want it started at every boot" ;\
+- elif [ -f /etc/redhat-release ] && [ -d /etc/rc.d/init.d/ ] && [ -w /etc/rc.d/init.d/ ] ; then \
+- $(ECHO) "Installing init script to /etc/rc.d/init.d/privoxy" ;\
+- $(SED) 's,^PRIVOXY_BIN=.*,PRIVOXY_BIN="/usr/local/sbin/$(PROGRAM)",' privoxy.init |\
+- $(SED) 's,^PRIVOXY_CONF=.*,PRIVOXY_CONF="$(CONF_DEST)/config",' |\
+- $(SED) "s,^PRIVOXY_USER=.*,PRIVOXY_USER=$$USER," > init.tmp ;\
+- $(INSTALL) $(INSTALL_P) init.tmp $(DESTDIR)/etc/rc.d/init.d/privoxy && $(RM) init.tmp;\
+- $(MKDIR) $(DESTDIR)/etc/logrotate.d/ ;\
+- $(ECHO) "Installing logrotate script to $(DESTDIR)/etc/logrotate.d/" ;\
+- $(INSTALL) -m 0644 privoxy.logrotate $(DESTDIR)/etc/logrotate.d/privoxy ;\
+- elif [ -d $(DESTDIR)/etc/init.d ] && [ -w $(DESTDIR)/etc/init.d ] ; then \
+- $(ECHO) "Installing generic init script to $(DESTDIR)/etc/init.d/privoxy" ;\
+- $(ECHO) "Please check that the PATHs are correct, and edit if needed." ;\
+- $(INSTALL) $(INSTALL_P) privoxy-generic.init $(DESTDIR)/etc/init.d/privoxy ;\
+- fi ;\
+- else \
+- $(ECHO) "No init script installed, install it manually if needed" ;\
+- fi
+ $(RM) config.base config.tmp
+ @# mmmmm, good.
+ @$(ECHO) "$(PROGRAM_V) installation succeeded!"