# $Id: Portfile 75015 2011-01-11 17:12:39Z kimuraw@macports.org $ PortSystem 1.0 name privoxy version 3.0.17 revision 0 categories www security net maintainers nomaintainer description Advanced filtering web proxy long_description \ Privoxy is a web proxy with advanced filtering capabilities for \ protecting privacy, modifying web page content, managing cookies, \ controlling access, and removing ads, banners, pop-ups and other \ obnoxious Internet junk. Privoxy has a very flexible configuration and \ can be customized to suit individual needs and tastes. Privoxy has \ application for both stand-alone systems and multi-user networks. platforms darwin homepage http://www.privoxy.org/ master_sites sourceforge:ijbswa distname ${name}-${version}-stable-src checksums md5 9d363d738a3f3d73e774d6dfeafdb15f \ sha1 cadef2eb8ec182278e092322d3d56f225cb69c93 \ rmd160 8e4acc60ca7e7be20a92e1aece92eecedd4d1997 worksrcdir ${name}-${version}-stable depends_lib port:pcre port:zlib set privoxyGroup privoxy set privoxyUser privoxy pre-configure { addgroup ${privoxyGroup} adduser ${privoxyUser} gid=[existsgroup ${privoxyGroup}] system "cd ${worksrcpath} && autoheader" } pre-install { addgroup ${privoxyGroup} adduser ${privoxyUser} gid=[existsgroup ${privoxyGroup}] } use_autoconf yes configure.args --with-user=${privoxyUser} \ --with-group=${privoxyGroup} \ --sysconfdir=${prefix}/etc/${name} \ --mandir=${prefix}/share/man \ --enable-dynamic-pcre \ --enable-zlib destroot.keepdirs ${destroot}${prefix}/var/log/privoxy \ ${destroot}${prefix}/var/run post-destroot { xinstall -m 755 -d ${destroot}${prefix}/var/run # Install and fixup startup script (if non-Darwin) if {${os.platform} != "darwin"} { xinstall -m 755 -d ${destroot}${prefix}/etc/rc.d xinstall -m 755 -W ${worksrcpath} privoxy-generic.init \ ${destroot}${prefix}/etc/rc.d/privoxy.sh system "cd ${destroot}${prefix}/etc/rc.d && patch -p0 < ${filespath}/patch-privoxy.sh.diff" reinplace "s|@@PREFIX@@|${prefix}|g" \ ${destroot}${prefix}/etc/rc.d/privoxy.sh reinplace "s|@@PRIVOXY_USER@@|${privoxyUser}|g" \ ${destroot}${prefix}/etc/rc.d/privoxy.sh } # Rename these so local modifications are not removed on uninstall. # NOTE: Always overwrite default.action and default.filter. foreach privoxyConf {config match-all.action trust user.action user.filter} { if [file exists ${destroot}${prefix}/etc/privoxy/${privoxyConf}] { file rename ${destroot}${prefix}/etc/privoxy/${privoxyConf} \ ${destroot}${prefix}/etc/privoxy/${privoxyConf}.new } # backup config files before fix #23970 if {[file exists ${prefix}/etc/privoxy/${privoxyConf}] \ && ![file exists ${prefix}/etc/privoxy/${privoxyConf}.new]} { file copy ${prefix}/etc/privoxy/${privoxyConf} \ ${destroot}${prefix}/etc/privoxy/${privoxyConf}.mp_backup } } # Remove the preinstalled log files as, otherwise, a rotation script # will fail when trying to rename and compress due to gzip not liking # multi-linked files (the one in ${prefix} and the one in # ${prefix}/var/db/dports/software/...) eval file delete [glob ${destroot}${prefix}/var/log/privoxy/*] # Make sure log directory owned by privoxy user/group file attributes ${destroot}${prefix}/var/log/privoxy \ -group ${privoxyGroup} -owner ${privoxyUser} } post-activate { # Make sure initial log files are present and setup correctly foreach privoxyLog {jarfile logfile} { touch ${prefix}/var/log/privoxy/${privoxyLog} file attributes ${prefix}/var/log/privoxy/${privoxyLog} \ -group ${privoxyGroup} -owner ${privoxyUser} \ -permissions 0660 } foreach privoxyConf {config match-all.action trust user.action user.filter} { if ![file exists ${prefix}/etc/privoxy/${privoxyConf}] { # restore config files before fix #23970 if [file exists ${prefix}/etc/privoxy/${privoxyConf}.mp_backup] { file copy ${prefix}/etc/privoxy/${privoxyConf}.mp_backup \ ${prefix}/etc/privoxy/${privoxyConf} } else { file copy ${prefix}/etc/privoxy/${privoxyConf}.new \ ${prefix}/etc/privoxy/${privoxyConf} } file attributes ${prefix}/etc/privoxy/${privoxyConf} \ -group ${privoxyGroup} -owner ${privoxyUser} \ -permissions 0660 } } } platform darwin { startupitem.create yes startupitem.name Privoxy startupitem.start "\[ -f \"${prefix}/etc/privoxy/config\" \] \\" startupitem.start-append "\t&& ${prefix}/sbin/privoxy \\" startupitem.start-append "\t\t--pidfile ${prefix}/var/run/privoxy.pid \\" startupitem.start-append "\t\t--user ${privoxyUser} \\" startupitem.start-append "\t\t${prefix}/etc/privoxy/config 2>/dev/null" startupitem.stop "if \[ -f \"${prefix}/var/run/privoxy.pid\" \]; then" startupitem.stop-append "\tkill `cat ${prefix}/var/run/privoxy.pid` \\" startupitem.stop-append "\t\t&& rm -f ${prefix}/var/run/privoxy.pid" startupitem.stop-append "else" startupitem.stop-append "\t/usr/bin/killall -SIGUSR1 privoxy 2>/dev/null" startupitem.stop-append "fi" } livecheck.type regex livecheck.url http://www.privoxy.org/announce.txt livecheck.regex Announcing Privoxy v.(\[0-9.\]+)