pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/www/privoxy



Module Name:    pkgsrc
Committed By:   wiz
Date:           Thu Aug 13 18:17:58 UTC 2026

Modified Files:
        pkgsrc/www/privoxy: Makefile PLIST distinfo options.mk
Added Files:
        pkgsrc/www/privoxy/patches: patch-GNUmakefile.in patch-config
            patch-configure.in patch-man_privoxy.8 patch-man_uagen.1
            patch-tools_uagen.pl
Removed Files:
        pkgsrc/www/privoxy/patches: patch-aa patch-ab patch-ac patch-ag

Log Message:
privoxy: update to 4.2.0.

Provided by Stepan Ipatov in pkgsrc-wip.

Privoxy 4.2.0 fixes a couple of bugs and brings general improvements
such as support for elliptic-curve keys.

Two potential security problems have been reported and addressed.


To generate a diff of this commit:
cvs rdiff -u -r1.72 -r1.73 pkgsrc/www/privoxy/Makefile
cvs rdiff -u -r1.14 -r1.15 pkgsrc/www/privoxy/PLIST
cvs rdiff -u -r1.28 -r1.29 pkgsrc/www/privoxy/distinfo
cvs rdiff -u -r1.1 -r1.2 pkgsrc/www/privoxy/options.mk
cvs rdiff -u -r0 -r1.1 pkgsrc/www/privoxy/patches/patch-GNUmakefile.in \
    pkgsrc/www/privoxy/patches/patch-config \
    pkgsrc/www/privoxy/patches/patch-configure.in \
    pkgsrc/www/privoxy/patches/patch-man_privoxy.8 \
    pkgsrc/www/privoxy/patches/patch-man_uagen.1 \
    pkgsrc/www/privoxy/patches/patch-tools_uagen.pl
cvs rdiff -u -r1.4 -r0 pkgsrc/www/privoxy/patches/patch-aa
cvs rdiff -u -r1.9 -r0 pkgsrc/www/privoxy/patches/patch-ab
cvs rdiff -u -r1.3 -r0 pkgsrc/www/privoxy/patches/patch-ac
cvs rdiff -u -r1.5 -r0 pkgsrc/www/privoxy/patches/patch-ag

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/www/privoxy/Makefile
diff -u pkgsrc/www/privoxy/Makefile:1.72 pkgsrc/www/privoxy/Makefile:1.73
--- pkgsrc/www/privoxy/Makefile:1.72    Thu May 29 13:24:48 2025
+++ pkgsrc/www/privoxy/Makefile Thu Aug 13 18:17:58 2026
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.72 2025/05/29 13:24:48 khorben Exp $
+# $NetBSD: Makefile,v 1.73 2026/08/13 18:17:58 wiz Exp $
 
 DISTNAME=      ${PKGNAME_NOREV}-stable-src
-PKGNAME=       privoxy-3.0.29
-PKGREVISION=   4
+PKGNAME=       privoxy-4.2.0
 CATEGORIES=    www
 MASTER_SITES=  https://www.privoxy.org/sf-download-mirror/Sources/${PKGVERSION_NOREV}%20(stable)/
 
@@ -11,65 +10,90 @@ HOMEPAGE=   https://www.privoxy.org/
 COMMENT=       Web proxy with advanced filtering capabilities
 LICENSE=       gnu-gpl-v2
 
-.include "../../mk/bsd.prefs.mk"
+WRKSRC=                ${WRKDIR}/${PKGNAME_NOREV}-stable
 
-PRIVOXY_USER?=         privoxy
-PRIVOXY_GROUP?=                privoxy
-PKG_GROUPS_VARS+=      PRIVOXY_GROUP
-PKG_USERS_VARS+=       PRIVOXY_USER
+.include "options.mk"
+.include "../../mk/bsd.prefs.mk"
 
-PKG_SYSCONFSUBDIR?=    privoxy
+PKG_SYSCONFSUBDIR=     privoxy
+PRIVOXY_EGDIR=         ${PREFIX}/share/examples/${PKGBASE}
+PRIVOXY_DOCDIR=                ${PREFIX}/share/doc/${PKGBASE}
+PRIVOXY_LOGDIR=                ${VARBASE}/log/privoxy
 
-RCD_SCRIPTS=           privoxy
-PKG_GROUPS=            ${PRIVOXY_GROUP}
-PKG_USERS=             ${PRIVOXY_USER}:${PRIVOXY_GROUP}
+USE_TOOLS+=            gmake mktemp autoconf autoheader perl:run
 
-EGDIR=                 ${PREFIX}/share/examples/privoxy
+SUBST_CLASSES+=                paths
+SUBST_FILES.paths=     config man/privoxy.8 man/uagen.1 tools/uagen.pl
+SUBST_VARS.paths=      PREFIX VARBASE PKG_SYSCONFDIR PRIVOXY_LOGDIR PRIVOXY_DOCDIR
+SUBST_STAGE.paths=     pre-configure
 
-CPPFLAGS+=             -Dunix
+REPLACE_PERL+=         tools/privoxy-log-parser.pl \
+                       tools/privoxy-regression-test.pl \
+                       tools/url-pattern-translator.pl \
+                       tools/uagen.pl
 
-WRKSRC=                        ${WRKDIR}/${PKGNAME_NOREV}-stable
+GNU_CONFIGURE=         YES
+CONFIGURE_ARGS+=       --localstatedir=${VARBASE}
+CONFIGURE_ARGS+=       --sysconfdir=${PRIVOXY_EGDIR}
+CONFIGURE_ARGS+=       --with-user=${PRIVOXY_USER:Q}
+CONFIGURE_ARGS+=       --with-group=${PRIVOXY_GROUP:Q}
 
-USE_FEATURES=          snprintf
-USE_TOOLS+=            gmake mktemp autoconf autoheader
-BUILD_DEFS+=           VARBASE
 MAKE_FILE=             GNUmakefile
 
-USE_TOOLS+=            perl
+BUILD_DEFS+=                   VARBASE
+PRIVOXY_USER=                  privoxy
+PRIVOXY_GROUP=                 privoxy
+PRIVOXY_HOME=                  ${VARBASE}/lib/privoxy
+PKG_USERS_VARS+=               PRIVOXY_USER
+PKG_GROUPS_VARS+=              PRIVOXY_GROUP
+PKG_GROUPS=                    ${PRIVOXY_GROUP}
+PKG_USERS=                     ${PRIVOXY_USER}:${PRIVOXY_GROUP}
+PKG_GECOS.${PRIVOXY_USER}=     Privoxy user
 
-PTHREAD_AUTO_VARS=     yes
-PTHREAD_OPTS+=         require
+OWN_DIRS_PERMS+=       ${PRIVOXY_HOME} ${PRIVOXY_USER} ${PRIVOXY_GROUP} 0770
 
-GNU_CONFIGURE=         YES
-CONFIGURE_ARGS+=       --localstatedir=${VARBASE:Q}
-CONFIGURE_ARGS+=       --sysconfdir=${EGDIR:Q}
-CONFIGURE_ARGS+=       --with-user=${PRIVOXY_USER:Q}
-CONFIGURE_ARGS+=       --with-group=${PRIVOXY_GROUP:Q}
-CONFIGURE_ARGS+=       --enable-compression
+FILES_SUBST+=          PRIVOXY_USER=${PRIVOXY_USER:Q}
+.if ${INIT_SYSTEM} == "rc.d"
+RCD_SCRIPTS+=          privoxy
+.endif
 
 USER_GROUP=            ${PRIVOXY_USER} ${PRIVOXY_GROUP}
 
-.for i in \
-    config trust default.action user.action user.filter default.filter match-all.action
-CONF_FILES_PERMS+=     ${EGDIR}/${i} ${PKG_SYSCONFDIR}/${i} ${USER_GROUP} 0660
-.endfor
+OWN_DIRS_PERMS+=       ${PKG_SYSCONFDIR}/templates ${USER_GROUP} 0755
 
-OWN_DIRS_PERMS+=       /var/log/privoxy ${USER_GROUP} 0775
-CONF_FILES_PERMS+=     /dev/null /var/log/privoxy/logfile ${USER_GROUP} 0660
+PRIVOXY_CONF_FILES=    config default.action default.filter \
+                       match-all.action trust user.action user.filter
 
-FILES_SUBST+=          PRIVOXY_USER=${PRIVOXY_USER:Q}
+PRIVOXY_TEMPLATE_FILES=        blocked cgi-error-404 cgi-error-bad-param \
+                       cgi-error-disabled cgi-error-file \
+                       cgi-error-file-read-only cgi-error-modified \
+                       cgi-error-parse cgi-style.css client-tags \
+                       connect-failed connection-timeout default \
+                       edit-actions-add-url-form edit-actions-for-url \
+                       edit-actions-for-url-filter \
+                       edit-actions-for-url-string-action mod-title \
+                       edit-actions-list edit-actions-list-button \
+                       edit-actions-list-section edit-actions-list-url \
+                       edit-actions-remove-url-form edit-actions-url-form \
+                       forwarding-failed mod-local-help \
+                       mod-support-and-service mod-unstable-warning \
+                       no-server-data no-such-domain show-request show-status \
+                       show-status-file show-url-info toggle toggle-mini \
+                       untrusted url-info-osd.xml wpad.dat
 
-SUBST_CLASSES+=                paths
-SUBST_FILES.paths=     config
-SUBST_VARS.paths=      PKG_SYSCONFDIR
-SUBST_STAGE.paths=     pre-configure
+.for f in ${PRIVOXY_CONF_FILES}
+CONF_FILES+=           ${PRIVOXY_EGDIR}/${f} ${PKG_SYSCONFDIR}/${f}
+.endfor
 
-.include "options.mk"
+.for f in ${PRIVOXY_TEMPLATE_FILES}
+CONF_FILES+=           ${PRIVOXY_EGDIR}/templates/${f} ${PKG_SYSCONFDIR}/templates/${f}
+.endfor
+
+OWN_DIRS_PERMS+=       ${PRIVOXY_LOGDIR} ${USER_GROUP} 0755
 
 pre-configure:
        cd ${WRKSRC} && autoheader && autoconf
 
-.include "../../devel/pcre/buildlink3.mk"
-.include "../../devel/zlib/buildlink3.mk"
+.include "../../devel/pcre2/buildlink3.mk"
 .include "../../mk/pthread.buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"

Index: pkgsrc/www/privoxy/PLIST
diff -u pkgsrc/www/privoxy/PLIST:1.14 pkgsrc/www/privoxy/PLIST:1.15
--- pkgsrc/www/privoxy/PLIST:1.14       Thu Feb  4 16:29:14 2021
+++ pkgsrc/www/privoxy/PLIST    Thu Aug 13 18:17:58 2026
@@ -1,5 +1,11 @@
-@comment $NetBSD: PLIST,v 1.14 2021/02/04 16:29:14 wiz Exp $
-man/man1/privoxy.1
+@comment $NetBSD: PLIST,v 1.15 2026/08/13 18:17:58 wiz Exp $
+bin/privoxy-log-parser
+bin/privoxy-regression-test
+bin/uagen
+man/man1/privoxy-log-parser.1
+man/man1/privoxy-regression-test.1
+man/man1/uagen.1
+man/man8/privoxy.8
 sbin/privoxy
 share/doc/privoxy/AUTHORS
 share/doc/privoxy/ChangeLog
@@ -23,7 +29,10 @@ share/doc/privoxy/faq/installation.html
 share/doc/privoxy/faq/misc.html
 share/doc/privoxy/faq/trouble.html
 share/doc/privoxy/index.html
+share/doc/privoxy/man-page/privoxy-log-parser.1.html
 share/doc/privoxy/man-page/privoxy-man-page.html
+share/doc/privoxy/man-page/privoxy-regression-test.1.html
+share/doc/privoxy/man-page/uagen.1.html
 share/doc/privoxy/p_doc.css
 share/doc/privoxy/user-manual/actions-file.html
 share/doc/privoxy/user-manual/appendix.html
@@ -33,6 +42,7 @@ share/doc/privoxy/user-manual/contact.ht
 share/doc/privoxy/user-manual/copyright.html
 share/doc/privoxy/user-manual/files-in-use.jpg
 share/doc/privoxy/user-manual/filter-file.html
+share/doc/privoxy/user-manual/howto.html
 share/doc/privoxy/user-manual/index.html
 share/doc/privoxy/user-manual/installation.html
 share/doc/privoxy/user-manual/introduction.html
@@ -65,6 +75,7 @@ share/examples/privoxy/templates/default
 share/examples/privoxy/templates/edit-actions-add-url-form
 share/examples/privoxy/templates/edit-actions-for-url
 share/examples/privoxy/templates/edit-actions-for-url-filter
+share/examples/privoxy/templates/edit-actions-for-url-string-action
 share/examples/privoxy/templates/edit-actions-list
 share/examples/privoxy/templates/edit-actions-list-button
 share/examples/privoxy/templates/edit-actions-list-section
@@ -86,7 +97,7 @@ share/examples/privoxy/templates/toggle
 share/examples/privoxy/templates/toggle-mini
 share/examples/privoxy/templates/untrusted
 share/examples/privoxy/templates/url-info-osd.xml
+share/examples/privoxy/templates/wpad.dat
 share/examples/privoxy/trust
 share/examples/privoxy/user.action
 share/examples/privoxy/user.filter
-@pkgdir share/doc/privoxy/images

Index: pkgsrc/www/privoxy/distinfo
diff -u pkgsrc/www/privoxy/distinfo:1.28 pkgsrc/www/privoxy/distinfo:1.29
--- pkgsrc/www/privoxy/distinfo:1.28    Tue Oct 26 11:30:26 2021
+++ pkgsrc/www/privoxy/distinfo Thu Aug 13 18:17:58 2026
@@ -1,9 +1,11 @@
-$NetBSD: distinfo,v 1.28 2021/10/26 11:30:26 nia Exp $
+$NetBSD: distinfo,v 1.29 2026/08/13 18:17:58 wiz Exp $
 
-BLAKE2s (privoxy-3.0.29-stable-src.tar.gz) = a153b3e25d0f286d342bd06384f41030f645e6a3a334a3be67b3edf08323c0a3
-SHA512 (privoxy-3.0.29-stable-src.tar.gz) = 2f483a37d697738815f4c58a775fbf116a34ac5e0e74d19814252c5ff1572350181066d468327189faf20c92d808d551b0017a9525ec98276330ee539554c1ba
-Size (privoxy-3.0.29-stable-src.tar.gz) = 1830550 bytes
-SHA1 (patch-aa) = d5296d7440b92b76c28136453d098c617d4e439b
-SHA1 (patch-ab) = c54a5845ad76d36ea281697cce17237d1d2ee0bd
-SHA1 (patch-ac) = 2d1a1efc53b4cd017d3ce21080adf1bfcc5cc97c
-SHA1 (patch-ag) = 64957682dbb3ff8b78ef47cc936d591facf9eb3a
+BLAKE2s (privoxy-4.2.0-stable-src.tar.gz) = 80f41f73a6b47eef30bfe5c7fe3332e37c0bcfe212e13b190477e04b90731e9d
+SHA512 (privoxy-4.2.0-stable-src.tar.gz) = e727a16ead5759e3e976d42558ad0c0af137a7f74d8ccc83ed53a34320654362489a77d3bd54c9b4d5b84c5b4ecf8e375d2c1d0e3108eb26acce3014dfbefdb0
+Size (privoxy-4.2.0-stable-src.tar.gz) = 1791064 bytes
+SHA1 (patch-GNUmakefile.in) = b8b5d36d63c5b522d46580462cf08d4131fdbaa9
+SHA1 (patch-config) = a111b0d25be9166d64632e8c3b4b5ef61a6f0cb1
+SHA1 (patch-configure.in) = ffbfaf2d1347d9ac7430500078d678ad0e8c7059
+SHA1 (patch-man_privoxy.8) = 3ec0da5655f9ae94b648b9d04511f4e18079fa89
+SHA1 (patch-man_uagen.1) = da9026d395b659bc0634520c0d0bf9365314a8ed
+SHA1 (patch-tools_uagen.pl) = 0f2c1ba3ff40baba1ea2afac1279b776ae3ff505

Index: pkgsrc/www/privoxy/options.mk
diff -u pkgsrc/www/privoxy/options.mk:1.1 pkgsrc/www/privoxy/options.mk:1.2
--- pkgsrc/www/privoxy/options.mk:1.1   Wed Mar 21 23:18:09 2018
+++ pkgsrc/www/privoxy/options.mk       Thu Aug 13 18:17:58 2026
@@ -1,9 +1,9 @@
-# $NetBSD: options.mk,v 1.1 2018/03/21 23:18:09 gdt Exp $
+# $NetBSD: options.mk,v 1.2 2026/08/13 18:17:58 wiz Exp $
 #
 
 PKG_OPTIONS_VAR=               PKG_OPTIONS.privoxy
-PKG_SUPPORTED_OPTIONS+=                inet6
-PKG_SUGGESTED_OPTIONS+=                inet6
+PKG_SUPPORTED_OPTIONS+=                inet6 zlib zstd
+PKG_SUGGESTED_OPTIONS+=                inet6 zlib zstd
 
 .include "../../mk/bsd.options.mk"
 
@@ -12,3 +12,17 @@ CONFIGURE_ARGS+=     --enable-ipv6-support
 .else
 CONFIGURE_ARGS+=       --disable-ipv6-support
 .endif
+
+.if !empty(PKG_OPTIONS:Mzlib)
+CONFIGURE_ARGS+=       --enable-zlib --enable-compression
+.include "../../devel/zlib/buildlink3.mk"
+.else
+CONFIGURE_ARGS+=       --disable-zlib --disable-compression
+.endif
+
+.if !empty(PKG_OPTIONS:Mzstd)
+CONFIGURE_ARGS+=       --with-zstd
+.include "../../archivers/zstd/buildlink3.mk"
+.else
+CONFIGURE_ARGS+=       --without-zstd
+.endif

Added files:

Index: pkgsrc/www/privoxy/patches/patch-GNUmakefile.in
diff -u /dev/null pkgsrc/www/privoxy/patches/patch-GNUmakefile.in:1.1
--- /dev/null   Thu Aug 13 18:17:58 2026
+++ pkgsrc/www/privoxy/patches/patch-GNUmakefile.in     Thu Aug 13 18:17:58 2026
@@ -0,0 +1,120 @@
+$NetBSD: patch-GNUmakefile.in,v 1.1 2026/08/13 18:17:58 wiz Exp $
+
+Drop user/group existence checks; pkgsrc handles their creation.
+
+--- GNUmakefile.in.orig        2026-06-02 15:06:25.000000000 +0000
++++ GNUmakefile.in
+@@ -858,16 +858,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)$(BIN_DEST) $(DESTDIR)$(SBIN_DEST) \
+@@ -945,93 +935,24 @@ 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! 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)  "*******************************************************************" ;\
+-                                      GROUP_T=$(GROUP) ;\
+-                              fi ;\
+-                      else \
+-                              GROUP_T=$(GROUP) ;\
+-                      fi ;\
+-                      if [ x$(GROUP_T) != x ]; then \
+-                              INSTALL_CONF="$(INSTALL_R) -g $$GROUP_T " ;\
+-                      else \
+-                              INSTALL_CONF="$(INSTALL_R)" ;\
+-                      fi ;\
+-              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 \
+                       $(RM) $(DESTDIR)$(CONF_DEST)/$$i ;\
+                       $(ECHO) Installing fresh $$i;\
+-                      $(INSTALL) $$INSTALL_CONF $$i $(DESTDIR)$(CONF_DEST) || exit 1;\
++                      $(INSTALL) $(INSTALL_T) $$i $(DESTDIR)$(CONF_DEST) || exit 1;\
+               elif [ -s "$(DESTDIR)$(CONF_DEST)/$$i" ]; then \
+                       $(ECHO) Installing $$i as $$i.new ;\
+-                      $(INSTALL) $$INSTALL_CONF $$i $(DESTDIR)$(CONF_DEST)/$$i.new || exit 1;\
++                      $(INSTALL) $(INSTALL_T) $$i $(DESTDIR)$(CONF_DEST)/$$i.new || exit 1;\
+                       NEW=1;\
+               else \
+-                      $(INSTALL) $$INSTALL_CONF $$i $(DESTDIR)$(CONF_DEST) || exit 1;\
++                      $(INSTALL) $(INSTALL_T) $$i $(DESTDIR)$(CONF_DEST) || exit 1;\
+               fi ;\
+       done ;\
+       if [ -n "$$NEW" ]; then \
+               $(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.in | \
+-               $(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) "Don't forget to add the rc.privoxy to rc.local if you want it started at every boot" ;\
+-              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!"
Index: pkgsrc/www/privoxy/patches/patch-config
diff -u /dev/null pkgsrc/www/privoxy/patches/patch-config:1.1
--- /dev/null   Thu Aug 13 18:17:58 2026
+++ pkgsrc/www/privoxy/patches/patch-config     Thu Aug 13 18:17:58 2026
@@ -0,0 +1,75 @@
+$NetBSD: patch-config,v 1.1 2026/08/13 18:17:58 wiz Exp $
+
+Replace hardcoded paths with paths configured by pkgsrc.
+
+--- config.orig        2026-06-02 15:06:25.000000000 +0000
++++ config
+@@ -109,7 +109,7 @@
+ #      The best all purpose solution is simply to put the full local
+ #      PATH to where the User Manual is located:
+ #
+-#        user-manual  /usr/share/doc/privoxy/user-manual
++#        user-manual  @PRIVOXY_DOCDIR@/user-manual
+ #
+ #      The User Manual is then available to anyone with access to
+ #      Privoxy, by following the built-in URL: http://
+@@ -249,7 +249,7 @@
+ #
+ #  Default value:
+ #
+-#      /etc/privoxy (Unix) or Privoxy installation dir (Windows)
++#      @PKG_SYSCONFDIR@ (Unix) or Privoxy installation dir (Windows)
+ #
+ #  Effect if unset:
+ #
+@@ -259,7 +259,7 @@
+ #
+ #      No trailing "/", please.
+ #
+-confdir .
++confdir @PKG_SYSCONFDIR@
+ #
+ #  2.2. templdir
+ #  ==============
+@@ -334,7 +334,7 @@ confdir .
+ #
+ #  Default value:
+ #
+-#      /var/log/privoxy (Unix) or Privoxy installation dir (Windows)
++#      @PRIVOXY_LOGDIR@ (Unix) or Privoxy installation dir (Windows)
+ #
+ #  Effect if unset:
+ #
+@@ -344,7 +344,7 @@ confdir .
+ #
+ #      No trailing "/", please.
+ #
+-logdir .
++logdir @PRIVOXY_LOGDIR@
+ #
+ #  2.5. actionsfile
+ #  =================
+@@ -2483,9 +2483,9 @@ socket-timeout 300
+ #
+ #  Example:
+ #
+-#      ca-directory /usr/local/etc/privoxy/CA
++#      ca-directory @PKG_SYSCONFDIR@/CA
+ #
+-#ca-directory /usr/local/etc/privoxy/CA
++#ca-directory @PKG_SYSCONFDIR@/CA
+ #
+ #  7.2. ca-cert-file
+ #  ==================
+@@ -2650,9 +2650,9 @@ socket-timeout 300
+ #      +-----------------------------------------------------+
+ #  Example:
+ #
+-#      certificate-directory /usr/local/var/privoxy/certs
++#      certificate-directory @VARBASE@/privoxy/certs
+ #
+-#certificate-directory /usr/local/var/privoxy/certs
++#certificate-directory @VARBASE@/privoxy/certs
+ #
+ #  7.6. elliptic-curve-keys
+ #  =========================
Index: pkgsrc/www/privoxy/patches/patch-configure.in
diff -u /dev/null pkgsrc/www/privoxy/patches/patch-configure.in:1.1
--- /dev/null   Thu Aug 13 18:17:58 2026
+++ pkgsrc/www/privoxy/patches/patch-configure.in       Thu Aug 13 18:17:58 2026
@@ -0,0 +1,361 @@
+$NetBSD: patch-configure.in,v 1.1 2026/08/13 18:17:58 wiz Exp $
+
+Drop user/group existence checks; pkgsrc handles their creation.
+Improve detection of gethostbyaddr_r and gethostbyname_r by using 
+compile-time checks with implicit function declarations disabled.
+
+--- configure.in.orig  2026-06-02 15:06:25.000000000 +0000
++++ configure.in
+@@ -189,30 +189,12 @@ if test "$host_os" = haiku; then
+   echo "Skipping user and group validity stuff.";
+ 
+ else
+-
+-  $ID privoxy >/dev/null 2>/dev/null
+-  if test $? -ne 0 ; then
+-   AC_MSG_WARN(There is no user 'privoxy' on this system)
+-  fi
+   AC_MSG_CHECKING([for user])
+   AC_ARG_WITH(user,
+         [  --with-user=privoxy          Set user under which privoxy will run],
+         [
+-                if test "x$withval" != "xyes"; then
+-                  if test $ID = no ; then
+-                    AC_MSG_ERROR(There is no 'id' program on this system)
+-                  else
+-                    AC_MSG_RESULT($with_user)
+-                    $ID $with_user 2>/dev/null >/dev/null
+-                    if test $? -eq 0 ; then
+-                      USER=$with_user;
+-                    else
+-                      AC_MSG_ERROR(There is no user '$with_user' on this system)
+-                    fi
+-                  fi
+-                  else
+-                   AC_MSG_ERROR(We need a user if you give me this parameter)
+-                fi
++                AC_MSG_RESULT($with_user)
++                USER=$with_user;
+         ],
+         [
+           if test $ID = no ; then
+@@ -229,29 +211,8 @@ else
+   AC_ARG_WITH(group,
+         [  --with-group=privoxy         Set group for privoxy],
+         [
+-                if test "x$withval" != "xyes"; then
+-                  if test $BGROUPS = no ; then
+-                    AC_MSG_ERROR(There is no 'groups' program on this system)
+-                  else
+-                    AC_MSG_RESULT($with_group)
+-                    $BGROUPS $USER >/dev/null
+-                    if test $? -eq 0 ; then
+-                      for i in `$BGROUPS $USER | sed 's/.*: //' 2>/dev/null`; do
+-                        if test "x$i" = "x$with_group" ; then
+-                          GROUP=$with_group
+-                          break
+-                        fi
+-                      done
+-                      if test "x$GROUP" != "x$with_group" ; then
+-                        AC_MSG_ERROR(The given value '$withval' does not match group entry)
+-                      fi
+-                    else
+-                      AC_MSG_ERROR(There is no group entry for user '$USER')
+-                    fi
+-                  fi
+-                else
+-                   AC_MSG_ERROR(We need a group if you give me this parameter)
+-                fi
++                AC_MSG_RESULT($with_group)
++                GROUP=$with_group
+         ],
+         [
+           if test $BGROUPS = no ; then
+@@ -523,92 +484,192 @@ dnl ====================================
+ dnl Next line needed to find the gethost*_r functions on Solaris
+ AC_CHECK_LIB(nsl, gethostbyname)
+ 
+-AC_CHECK_FUNC(gethostbyaddr_r, [
+-  AC_MSG_CHECKING([signature of gethostbyaddr_r])
+-  AC_TRY_COMPILE([
+-#   include <netdb.h>
+-  ], [
+-    struct hostent *h, *hp;
+-    char *a, *b;
+-    int l, bl, t, e;
+-    (void) gethostbyaddr_r(a, l, t, h, b, bl, &hp, &e)
+-  ], [
+-    AC_DEFINE(HAVE_GETHOSTBYADDR_R_8_ARGS)
+-    AC_MSG_RESULT([8 args])
+-  ], [
+-    AC_TRY_COMPILE([
+-#     include <netdb.h>
+-    ], [
+-      struct hostent *h;
+-      char *a, *b;
+-      int l, bl, t, e;
+-      (void) gethostbyaddr_r(a, l, t, h, b, bl, &e)
+-    ], [
+-      AC_DEFINE(HAVE_GETHOSTBYADDR_R_7_ARGS)
+-      AC_MSG_RESULT([7 args])
+-    ], [
+-      AC_TRY_COMPILE([
+-#       include <netdb.h>
+-      ], [
+-        struct hostent_data *d;
+-        struct hostent *h;
+-        char a,
+-        int l, t;
+-        (void) gethostbyaddr_r(a, l, t, h, d)
+-      ], [
+-        AC_DEFINE(HAVE_GETHOSTBYADDR_R_5_ARGS)
+-        AC_MSG_RESULT([5 args])
+-      ], [
+-        AC_MSG_RESULT(unrecognised)
+-      ])
+-    ])
+-  ])
+-], [
+-  AC_MSG_RESULT(no)
+-])
++AC_MSG_CHECKING([for gethostbyaddr_r])
++AC_COMPILE_IFELSE(
++  [AC_LANG_PROGRAM(
++    [[
++      #include <netdb.h>
++      #if defined(__GNUC__) || defined(__clang__)
++      #pragma GCC diagnostic error "-Wimplicit-function-declaration"
++      #endif
++    ]],
++    [[
++      (void)gethostbyaddr_r;
++    ]]
++  )],
++  [
++    AC_MSG_RESULT([yes])
++    AC_MSG_CHECKING([signature of gethostbyaddr_r])
++
++    AC_COMPILE_IFELSE(
++      [AC_LANG_PROGRAM(
++        [[
++          #include <netdb.h>
++        ]],
++        [[
++          struct hostent *h, *hp;
++          char *a, *b;
++          int l, bl, t, e;
++          (void)gethostbyaddr_r(a, l, t, h, b, bl, &hp, &e);
++        ]]
++      )],
++      [
++        AC_DEFINE([HAVE_GETHOSTBYADDR_R], [1],
++          [Define if gethostbyaddr_r is available.])
++        AC_DEFINE([HAVE_GETHOSTBYADDR_R_8_ARGS], [1],
++          [Define if gethostbyaddr_r has 8 arguments.])
++        AC_MSG_RESULT([8 args])
++      ],
++      [
++        AC_COMPILE_IFELSE(
++          [AC_LANG_PROGRAM(
++            [[
++              #include <netdb.h>
++            ]],
++            [[
++              struct hostent *h;
++              char *a, *b;
++              int l, bl, t, e;
++              (void)gethostbyaddr_r(a, l, t, h, b, bl, &e);
++            ]]
++          )],
++          [
++            AC_DEFINE([HAVE_GETHOSTBYADDR_R], [1],
++              [Define if gethostbyaddr_r is available.])
++            AC_DEFINE([HAVE_GETHOSTBYADDR_R_7_ARGS], [1],
++              [Define if gethostbyaddr_r has 7 arguments.])
++            AC_MSG_RESULT([7 args])
++          ],
++          [
++            AC_COMPILE_IFELSE(
++              [AC_LANG_PROGRAM(
++                [[
++                  #include <netdb.h>
++                ]],
++                [[
++                  struct hostent_data *d;
++                  struct hostent *h;
++                  char *a;
++                  int l, t;
++                  (void)gethostbyaddr_r(a, l, t, h, d);
++                ]]
++              )],
++              [
++                AC_DEFINE([HAVE_GETHOSTBYADDR_R], [1],
++                  [Define if gethostbyaddr_r is available.])
++                AC_DEFINE([HAVE_GETHOSTBYADDR_R_5_ARGS], [1],
++                  [Define if gethostbyaddr_r has 5 arguments.])
++                AC_MSG_RESULT([5 args])
++              ],
++              [
++                AC_MSG_RESULT([unrecognised])
++                AC_MSG_WARN(
++                  [gethostbyaddr_r is declared, but its signature is unrecognised]
++                )
++              ]
++            )
++          ]
++        )
++      ]
++    )
++  ],
++  [
++    AC_MSG_RESULT([no])
++  ]
++)
+ 
+-AC_CHECK_FUNC(gethostbyname_r, [
+-  AC_MSG_CHECKING([signature of gethostbyname_r])
+-  AC_TRY_COMPILE([
+-#   include <netdb.h>
+-  ], [
+-    struct hostent *h, *r;
+-    char *n, *b;
+-    int bl, e;
+-    (void) gethostbyname_r(n, h, b, bl, &r, &e)
+-  ], [
+-    AC_DEFINE(HAVE_GETHOSTBYNAME_R_6_ARGS)
+-    AC_MSG_RESULT([6 args])
+-  ], [
+-    AC_TRY_COMPILE([
+-#     include <netdb.h>
+-    ], [
+-      struct hostent *h;
+-      char *n, *b;
+-      int bl, e;
+-      (void) gethostbyname_r(n, h, b, bl, &e)
+-    ], [
+-      AC_DEFINE(HAVE_GETHOSTBYNAME_R_5_ARGS)
+-      AC_MSG_RESULT([5 args])
+-    ], [
+-      AC_TRY_COMPILE([
+-#       include <netdb.h>
+-      ], [
+-        struct hostent_data *d;
+-        struct hostent *h;
+-        char *n,
+-        (void) gethostbyname_r(n, h, d)
+-      ], [
+-        AC_DEFINE(HAVE_GETHOSTBYNAME_R_3_ARGS)
+-        AC_MSG_RESULT([3 args])
+-      ], [
+-        AC_MSG_RESULT(unrecognised)
+-      ])
+-    ])
+-  ])
+-], [
+-  AC_MSG_RESULT(no)
+-])
++AC_MSG_CHECKING([for gethostbyname_r])
++AC_COMPILE_IFELSE(
++  [AC_LANG_PROGRAM(
++    [[
++      #include <netdb.h>
++      #if defined(__GNUC__) || defined(__clang__)
++      #pragma GCC diagnostic error "-Wimplicit-function-declaration"
++      #endif
++    ]],
++    [[
++      (void)gethostbyname_r;
++    ]]
++  )],
++  [
++    AC_MSG_RESULT([yes])
++    AC_MSG_CHECKING([signature of gethostbyname_r])
++
++    AC_COMPILE_IFELSE(
++      [AC_LANG_PROGRAM(
++        [[
++          #include <netdb.h>
++        ]],
++        [[
++          struct hostent *h, *r;
++          char *n, *b;
++          int bl, e;
++          (void)gethostbyname_r(n, h, b, bl, &r, &e);
++        ]]
++      )],
++      [
++        AC_DEFINE([HAVE_GETHOSTBYNAME_R], [1],
++          [Define if gethostbyname_r is available.])
++        AC_DEFINE([HAVE_GETHOSTBYNAME_R_6_ARGS], [1],
++          [Define if gethostbyname_r has 6 arguments.])
++        AC_MSG_RESULT([6 args])
++      ],
++      [
++        AC_COMPILE_IFELSE(
++          [AC_LANG_PROGRAM(
++            [[
++              #include <netdb.h>
++            ]],
++            [[
++              struct hostent *h;
++              char *n, *b;
++              int bl, e;
++              (void)gethostbyname_r(n, h, b, bl, &e);
++            ]]
++          )],
++          [
++            AC_DEFINE([HAVE_GETHOSTBYNAME_R], [1],
++              [Define if gethostbyname_r is available.])
++            AC_DEFINE([HAVE_GETHOSTBYNAME_R_5_ARGS], [1],
++              [Define if gethostbyname_r has 5 arguments.])
++            AC_MSG_RESULT([5 args])
++          ],
++          [
++            AC_COMPILE_IFELSE(
++              [AC_LANG_PROGRAM(
++                [[
++                  #include <netdb.h>
++                ]],
++                [[
++                  struct hostent_data *d;
++                  struct hostent *h;
++                  char *n;
++                  (void)gethostbyname_r(n, h, d);
++                ]]
++              )],
++              [
++                AC_DEFINE([HAVE_GETHOSTBYNAME_R], [1],
++                  [Define if gethostbyname_r is available.])
++                AC_DEFINE([HAVE_GETHOSTBYNAME_R_3_ARGS], [1],
++                  [Define if gethostbyname_r has 3 arguments.])
++                AC_MSG_RESULT([3 args])
++              ],
++              [
++                AC_MSG_RESULT([unrecognised])
++                AC_MSG_WARN(
++                  [gethostbyname_r is declared, but its signature is unrecognised]
++                )
++              ]
++            )
++          ]
++        )
++      ]
++    )
++  ],
++  [
++    AC_MSG_RESULT([no])
++  ]
++)
+ 
+ AC_CHECK_FUNC(gmtime_r, [
+   AC_MSG_CHECKING([signature of gmtime_r])
+@@ -779,9 +840,7 @@ AC_CHECK_FUNCS([ \
+  calloc \
+  getcwd \
+  gethostbyaddr \
+- gethostbyaddr_r \
+  gethostbyname \
+- gethostbyname_r \
+  gettimeofday \
+  inet_ntoa \
+  memchr \
Index: pkgsrc/www/privoxy/patches/patch-man_privoxy.8
diff -u /dev/null pkgsrc/www/privoxy/patches/patch-man_privoxy.8:1.1
--- /dev/null   Thu Aug 13 18:17:58 2026
+++ pkgsrc/www/privoxy/patches/patch-man_privoxy.8      Thu Aug 13 18:17:58 2026
@@ -0,0 +1,42 @@
+$NetBSD: patch-man_privoxy.8,v 1.1 2026/08/13 18:17:58 wiz Exp $
+
+Replace hardcoded paths with paths configured by pkgsrc.
+
+--- man/privoxy.8.orig 2026-06-02 15:06:25.000000000 +0000
++++ man/privoxy.8
+@@ -122,7 +122,7 @@ be used for locally defined exceptions t
+ \fImatch-all.action\fR and \fIdefault.action\fR,
+ and \fIuser.filter\fR for locally defined filters. These are
+ well commented.  On Unix and Unix-like systems, these are located in
+-\fI/etc/privoxy/\fR by default.
++\fI@PKG_SYSCONFDIR@/\fR by default.
+ .PP
+ \fBPrivoxy\fR uses the concept of \fBactions\fR
+ in order to manipulate the data stream between the browser and remote sites.
+@@ -145,16 +145,16 @@ features and notes on upgrading.
+ .SH "FILES"
+ 
+ .nf
+- \fI/usr/sbin/privoxy\fR
+- \fI/etc/privoxy/config\fR
+- \fI/etc/privoxy/match-all.action\fR
+- \fI/etc/privoxy/default.action\fR
+- \fI/etc/privoxy/user.action\fR
+- \fI/etc/privoxy/default.filter\fR
+- \fI/etc/privoxy/user.filter\fR
+- \fI/etc/privoxy/trust\fR
+- \fI/etc/privoxy/templates/*\fR
+- \fI/var/log/privoxy/logfile\fR
++ \fI@PREFIX@/sbin/privoxy\fR
++ \fI@PKG_SYSCONFDIR@/config\fR
++ \fI@PKG_SYSCONFDIR@/match-all.action\fR
++ \fI@PKG_SYSCONFDIR@/default.action\fR
++ \fI@PKG_SYSCONFDIR@/user.action\fR
++ \fI@PKG_SYSCONFDIR@/default.filter\fR
++ \fI@PKG_SYSCONFDIR@/user.filter\fR
++ \fI@PKG_SYSCONFDIR@/trust\fR
++ \fI@PKG_SYSCONFDIR@/templates/*\fR
++ \fI@PRIVOXY_LOGDIR@/logfile\fR
+ .fi
+ .PP
+ Various other files should be included, but may vary depending on platform
Index: pkgsrc/www/privoxy/patches/patch-man_uagen.1
diff -u /dev/null pkgsrc/www/privoxy/patches/patch-man_uagen.1:1.1
--- /dev/null   Thu Aug 13 18:17:58 2026
+++ pkgsrc/www/privoxy/patches/patch-man_uagen.1        Thu Aug 13 18:17:58 2026
@@ -0,0 +1,24 @@
+$NetBSD: patch-man_uagen.1,v 1.1 2026/08/13 18:17:58 wiz Exp $
+
+Replace hardcoded paths with paths configured by pkgsrc.
+
+--- man/uagen.1.orig   2026-06-02 15:06:25.000000000 +0000
++++ man/uagen.1
+@@ -91,7 +91,7 @@ used by many Mozilla browsers.
+ .SH OPTIONS
+ .IX Header "OPTIONS"
+ \&\fB\-\-action\-file\fR \fIaction_file\fR Privoxy action file to write the
+-generated actions into. Default is /etc/privoxy/user\-agent.action.
++generated actions into. Default is @PKG_SYSCONFDIR@/user\-agent.action.
+ .PP
+ \&\fB\-\-action\-injection\fR Don\*(Aqt generate a new action file from scratch,
+ but read an old one and just replace the action values. Useful
+@@ -124,7 +124,7 @@ User\-Agent, by default the chosen langu
+ \&\fBhide\-accept\-language\fR parameter.
+ .PP
+ \&\fB\-\-logfile\fR \fIlogfile\fR Logfile to save error messages and the generated
+-User\-Agents. Default is /var/log/uagen.log.
++User\-Agents. Default is @VARBASE@/log/uagen.log.
+ .PP
+ \&\fB\-\-loop\fR Don\*(Aqt exit after the generation of the action file. Sleep for
+ a while and generate a new one instead. Useful if you don\*(Aqt have \fBcron\fR\|(8).
Index: pkgsrc/www/privoxy/patches/patch-tools_uagen.pl
diff -u /dev/null pkgsrc/www/privoxy/patches/patch-tools_uagen.pl:1.1
--- /dev/null   Thu Aug 13 18:17:58 2026
+++ pkgsrc/www/privoxy/patches/patch-tools_uagen.pl     Thu Aug 13 18:17:58 2026
@@ -0,0 +1,26 @@
+$NetBSD: patch-tools_uagen.pl,v 1.1 2026/08/13 18:17:58 wiz Exp $
+
+Replace hardcoded paths with paths configured by pkgsrc.
+
+--- tools/uagen.pl.orig        2026-08-12 13:09:18.065429443 +0000
++++ tools/uagen.pl
+@@ -41,8 +41,8 @@ use constant {
+ 
+    UAGEN_VERSION       => 'uagen 1.2.7',
+ 
+-   UAGEN_LOGFILE       => '/var/log/uagen.log',
+-   ACTION_FILE         => '/etc/privoxy/user-agent.action',
++   UAGEN_LOGFILE       => '@VARBASE@/log/uagen.log',
++   ACTION_FILE         => '@PKG_SYSCONFDIR@/user-agent.action',
+    MOZILLA_PREFS_FILE  => '',
+    SILENT              =>  0,
+    NO_LOGGING          =>  0,
+@@ -477,7 +477,7 @@ used by many Mozilla browsers.
+ =head1 OPTIONS
+ 
+ B<--action-file> I<action_file> Privoxy action file to write the
+-generated actions into. Default is /etc/privoxy/user-agent.action.
++generated actions into. Default is @PKG_SYSCONFDIR@/user-agent.action.
+ 
+ B<--action-injection> Don't generate a new action file from scratch,
+ but read an old one and just replace the action values. Useful



Home | Main Index | Thread Index | Old Index