aboutsummaryrefslogtreecommitdiffstats
path: root/www/polipo
diff options
context:
space:
mode:
Diffstat (limited to 'www/polipo')
-rw-r--r--www/polipo/Makefile88
-rw-r--r--www/polipo/distinfo2
-rw-r--r--www/polipo/files/400.polipo.in15
-rw-r--r--www/polipo/files/patch-aa85
-rw-r--r--www/polipo/files/pkg-deinstall.in36
-rw-r--r--www/polipo/files/pkg-install.in78
-rw-r--r--www/polipo/files/pkg-message.in18
-rw-r--r--www/polipo/files/polipo.sh.in44
-rw-r--r--www/polipo/pkg-descr10
-rw-r--r--www/polipo/pkg-plist7
10 files changed, 383 insertions, 0 deletions
diff --git a/www/polipo/Makefile b/www/polipo/Makefile
new file mode 100644
index 000000000000..a85fc0947e24
--- /dev/null
+++ b/www/polipo/Makefile
@@ -0,0 +1,88 @@
+# New ports collection makefile for: polipo
+# Date created: 2005-01-25
+# Whom: Frank Behrens <frank@pinky.sax.de>
+#
+# $FreeBSD$
+#
+
+PORTNAME= polipo
+PORTVERSION= 0.9.8
+CATEGORIES= www
+MASTER_SITES= http://www.pps.jussieu.fr/~jch/software/files/polipo/ \
+ http://www.sax.de/~frank/polipo4bsd/files/
+
+MAINTAINER= frank@pinky.sax.de
+COMMENT= A small and fast caching web proxy
+
+MAN1= polipo.1
+
+USE_RC_SUBR= yes
+
+.include <bsd.port.pre.mk>
+
+# in some 4.x makeinfo does not work. So we do not try to build and install.
+.if ${OSVERSION} < 500000
+NO_PTEXINFO= yes
+.endif
+.if defined(NO_PTEXINFO)
+ALL_TARGET= polipo
+NOPORTDOCS= yes
+.else
+INFO= polipo
+.endif
+
+.if !defined(NOPORTDOCS)
+DOCSDIR= ${DATADIR}/www/doc
+PORTDOCS= *
+PLIST_FILES+= share/polipo/www/index.html
+.endif
+
+# created on the fly due to variable substitution
+PKGINSTALL= ${WRKDIR}/pkg-install
+PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
+PKGMESSAGE= ${WRKDIR}/pkg-message
+
+SUB_FILES= pkg-message pkg-install pkg-deinstall 400.polipo polipo.sh
+SUB_LIST+= USER=${PUSER} GROUP=${PGRP} DESTDIR=${DESTDIR} PCONFIGDIR=${PCONFIGDIR} \
+ PCACHEDIR=${PCACHEDIR} PPIDDIR=${PPIDDIR} PPIDFILE=${PPIDFILE} \
+ PLOGFILE=${PLOGFILE} RC_SUBR=${RC_SUBR}
+
+# polipo installation options, propagated to install scripts
+PUSER?= polipo
+PGRP?= polipo
+PCONFIGDIR?= ${PREFIX}/etc/polipo/
+PCACHEDIR?= /var/cache/polipo
+PPIDDIR?= /var/run/polipo/
+PPIDFILE= ${PPIDDIR}polipo.pid
+PLOGFILE?= /var/log/polipo
+MAKE_ENV+= DISK_CACHE_ROOT=${PCACHEDIR}
+
+pre-install: apply-slist
+ @PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} PRE-INSTALL
+
+do-install:
+ ${INSTALL_PROGRAM} ${WRKSRC}/polipo ${DESTDIR}${PREFIX}/bin/
+ ${INSTALL_SCRIPT} ${WRKDIR}/polipo.sh ${DESTDIR}${PREFIX}/etc/rc.d/
+ ${MKDIR} ${DESTDIR}${PREFIX}/etc/periodic/daily/
+ ${INSTALL_SCRIPT} ${WRKDIR}/400.polipo ${DESTDIR}${PREFIX}/etc/periodic/daily/
+ ${INSTALL_MAN} ${WRKSRC}/polipo.man ${DESTDIR}${PREFIX}/man/man1/polipo.1
+ ${MKDIR} ${DESTDIR}${PCONFIGDIR}
+ ${INSTALL_DATA} ${WRKSRC}/config.sample ${DESTDIR}${PCONFIGDIR}
+ ${INSTALL_DATA} ${WRKSRC}/forbidden.sample ${DESTDIR}${PCONFIGDIR}
+ ${CHGRP} -R ${PGRP} ${DESTDIR}${PCONFIGDIR}
+.if !defined(NO_PTEXINFO)
+ ${INSTALL_DATA} ${WRKSRC}/polipo.info ${DESTDIR}${PREFIX}/info/
+ install-info ${PREFIX}/info/polipo.info ${DESTDIR}${PREFIX}/info/dir
+.endif
+.if !defined(NOPORTDOCS)
+ ${MKDIR} ${DESTDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/html/* ${DESTDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${WRKSRC}/localindex.html ${DESTDIR}${DATADIR}/www/index.html
+ ${CHGRP} -R ${PGRP} ${DESTDIR}${DATADIR}
+.endif
+
+post-install:
+ @PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL
+ ${CAT} ${PKGMESSAGE}
+
+.include <bsd.port.post.mk>
diff --git a/www/polipo/distinfo b/www/polipo/distinfo
new file mode 100644
index 000000000000..f95cc4792e08
--- /dev/null
+++ b/www/polipo/distinfo
@@ -0,0 +1,2 @@
+MD5 (polipo-0.9.8.tar.gz) = 1a2c7bd7710197daee1c26ce5175edbf
+SIZE (polipo-0.9.8.tar.gz) = 148275
diff --git a/www/polipo/files/400.polipo.in b/www/polipo/files/400.polipo.in
new file mode 100644
index 000000000000..ef73c3328c24
--- /dev/null
+++ b/www/polipo/files/400.polipo.in
@@ -0,0 +1,15 @@
+#!/bin/sh
+#
+# control file for periodic/daily
+# polipo expiry
+#
+#
+
+if [ -r %%DESTDIR%%%%PREFIX%%/etc/rc.d/polipo.sh ]
+then
+ echo ""
+ echo "polipo expiry:"
+ %%DESTDIR%%%%PREFIX%%/etc/rc.d/polipo.sh expire
+fi
+
+exit 0
diff --git a/www/polipo/files/patch-aa b/www/polipo/files/patch-aa
new file mode 100644
index 000000000000..05c762f04e4c
--- /dev/null
+++ b/www/polipo/files/patch-aa
@@ -0,0 +1,85 @@
+--- Makefile Tue Jun 29 02:07:35 2004
++++ Makefile Mon Dec 27 15:35:40 2004
+@@ -2,8 +2,8 @@
+ BINDIR = $(PREFIX)/bin
+ MANDIR = $(PREFIX)/man
+ INFODIR = $(PREFIX)/info
+-LOCAL_ROOT = /usr/share/polipo/www
+-DISK_CACHE_ROOT = /var/cache/polipo
++LOCAL_ROOT = $(PREFIX)/share/polipo/www
++DISK_CACHE_ROOT ?= /var/cache/polipo
+
+ # CDEBUGFLAGS = -O
+
+@@ -47,7 +47,8 @@
+
+ DEFINES = $(FILE_DEFINES) $(PLATFORM_DEFINES)
+
+-CFLAGS = $(MD5INCLUDES) $(CDEBUGFLAGS) $(DEFINES) $(EXTRA_DEFINES)
++CFLAGS ?= $(CDEBUGFLAGS)
++CFLAGS += $(MD5INCLUDES) $(DEFINES) $(EXTRA_DEFINES)
+
+ SRCS = util.c event.c io.c chunk.c atom.c object.c log.c diskcache.c main.c \
+ config.c local.c http.c client.c server.c auth.c tunnel.c \
+--- config.sample Mon Sep 6 23:31:57 2004
++++ config.sample Mon Dec 27 15:35:40 2004
+@@ -65,6 +65,11 @@
+
+ # localDocumentRoot = ""
+
++# Access rights for new cache files.
++diskCacheFilePermissions=0640
++# Access rights for new directories.
++diskCacheDirectoryPermissions=0750
++
+
+ ### Domain Name System
+ ### ******************
+--- forbidden.c Sat Sep 11 00:31:24 2004
++++ forbidden.c Mon Dec 27 15:35:40 2004
+@@ -158,8 +158,8 @@
+ }
+
+ if(forbiddenFile == NULL) {
+- if(access("/etc/polipo/forbidden", F_OK) >= 0)
+- forbiddenFile = internAtom("/etc/polipo/forbidden");
++ if(access("/usr/local/etc/polipo/forbidden", F_OK) >= 0)
++ forbiddenFile = internAtom("/usr/local/etc/polipo/forbidden");
+ }
+
+ if(have_forbiddenDomains) {
+--- main.c Tue Oct 5 23:41:49 2004
++++ main.c Mon Dec 27 15:35:40 2004
+@@ -106,8 +106,8 @@
+ }
+
+ if(configFile == NULL) {
+- if(access("/etc/polipo/config", F_OK) >= 0)
+- configFile = internAtom("/etc/polipo/config");
++ if(access("/usr/local/etc/polipo/config", F_OK) >= 0)
++ configFile = internAtom("/usr/local/etc/polipo/config");
+ if(configFile && access(configFile->string, F_OK) < 0) {
+ releaseAtom(configFile);
+ configFile = NULL;
+--- polipo.man Tue Jun 29 02:07:35 2004
++++ polipo.man Mon Dec 27 15:35:40 2004
+@@ -43,16 +43,16 @@
+ Change the value of a configuration variable.
+ .SH FILES
+ .TP
+-.B /etc/polipo/config
++.B /usr/local/etc/polipo/config
+ The default location of Polipo's configuration file.
+ .TP
+-.B /etc/polipo/forbidden
++.B /usr/local/etc/polipo/forbidden
+ The default location of the list of forbidden URLs.
+ .TP
+ .B /var/cache/polipo/
+ The default location of the on-disk cache.
+ .TP
+-.B /usr/share/polipo/www/
++.B /usr/local/share/polipo/www/
+ The default root of the local web space.
+ .SH SIGNALS
+ .TP
diff --git a/www/polipo/files/pkg-deinstall.in b/www/polipo/files/pkg-deinstall.in
new file mode 100644
index 000000000000..6dba407f4c88
--- /dev/null
+++ b/www/polipo/files/pkg-deinstall.in
@@ -0,0 +1,36 @@
+#!/bin/sh
+
+
+if [ "$2" != "POST-DEINSTALL" ]; then
+ exit 0
+fi
+
+POLIPOUSER=%%USER%%
+POLIPOGROUP=%%GROUP%%
+
+PCONFIGDIR=%%PCONFIGDIR%%
+PPIDDIR=%%PPIDDIR%%
+POLIPOCACHE=%%PCACHEDIR%%
+POLIPOLOG=%%PLOGFILE%%
+POLIPOPID=%%PPIDFILE%%
+POLIPODATA=%%DATADIR%%
+
+
+if pw usershow "${POLIPOUSER}" 2>/dev/null 1>&2; then
+ echo "---> To delete ${POLIPOUSER} user permanently, use 'pw userdel \"${POLIPOUSER}\"'"
+fi
+
+if [ -d "$POLIPOCACHE" ]; then
+ rm -r "$POLIPOCACHE" || exit 1
+fi
+if [ -d "$PPIDDIR" ]; then
+ rm -r "$PPIDDIR" || exit 1
+fi
+
+if fgrep "${POLIPOLOG}" "/etc/newsyslog.conf" 2>/dev/null 1>&2; then
+ echo "---> You should remove from /etc/newsyslog.conf the \"${POLIPOLOG}\" entry manually."
+fi
+
+rmdir $POLIPODATA/www/doc $POLIPODATA/www $POLIPODATA 2>/dev/null
+rmdir $PCONFIGDIR 2>/dev/null || echo "---> If you not plan to reinstall polipo, you can safely remove ${PCONFIGDIR}."
+exit 0
diff --git a/www/polipo/files/pkg-install.in b/www/polipo/files/pkg-install.in
new file mode 100644
index 000000000000..f66806c57752
--- /dev/null
+++ b/www/polipo/files/pkg-install.in
@@ -0,0 +1,78 @@
+#!/bin/sh
+
+POLIPOUSER=%%USER%%
+POLIPOGROUP=%%GROUP%%
+UID=173
+GID=${UID}
+
+POLIPOCACHE=%%PCACHEDIR%%
+POLIPOLOG=%%PLOGFILE%%
+PPIDDIR=%%PPIDDIR%%
+POLIPOPID=%%PPIDFILE%%
+
+if [ "$2" = "PRE-INSTALL" ]; then
+
+ if [ "%%RC_SUBR%%" = "" ]; then
+ echo "=> Port requires /etc/rc.subr (native or port/sysutils/rc_subr)!"
+ echo "=> If you want to install without you should modify startup script and pkg-install."
+ exit 1
+ fi
+
+ if fgrep "polipo" "%%DESTDIR%%/etc/newsyslog.conf" 2>/dev/null 1>&2; then
+ if ! fgrep "polipo.pid" "%%DESTDIR%%/etc/newsyslog.conf" 2>/dev/null 1>&2; then
+ echo "==> ERROR: Previous installation left an invalid entry in %%DESTDIR%%/etc/newsyslog.conf."
+ echo "==> Please remove the polipo line from this file and try again."
+ exit 1
+ fi
+ fi
+
+ if ! pw groupshow "$POLIPOGROUP" 2>/dev/null 1>&2; then
+ if pw groupadd $POLIPOGROUP -g ${GID} ; then
+ echo "=> Added group \"$POLIPOGROUP\"."
+ else
+ echo "=> Adding group \"$POLIPOGROUP\" failed..."
+ exit 1
+ fi
+ fi
+
+ if ! pw usershow "$POLIPOUSER" 2>/dev/null 1>&2; then
+ if pw useradd $POLIPOUSER -u ${UID} -g $POLIPOGROUP -h - \
+ -s "/sbin/nologin" -d "/nonexistent" \
+ -c "polipo web cache"; \
+ then
+ pw groupmod mail -m $POLIPOUSER
+ echo "=> Added user \"$POLIPOUSER\"."
+ else
+ echo "=> Adding user \"$POLIPOUSER\" failed..."
+ exit 1
+ fi
+ fi
+
+elif [ "$2" = "POST-INSTALL" ]; then
+
+ if [ ! -d "%%DESTDIR%%$POLIPOCACHE" ]; then
+ mkdir -p "%%DESTDIR%%$POLIPOCACHE" || exit 1
+ chown "$POLIPOUSER:$POLIPOGROUP" "%%DESTDIR%%$POLIPOCACHE" || exit 1
+ chmod 0770 "%%DESTDIR%%$POLIPOCACHE" || exit 1
+ fi
+
+ if [ ! -d "%%DESTDIR%%$PPIDDIR" ]; then
+ mkdir -p "%%DESTDIR%%$PPIDDIR" || exit 1
+ chgrp "$POLIPOGROUP" "%%DESTDIR%%$PPIDDIR" || exit 1
+ chmod g+w "%%DESTDIR%%$PPIDDIR" || exit 1
+ fi
+
+ if [ ! -f "%%DESTDIR%%$POLIPOLOG" ]; then
+ touch "%%DESTDIR%%$POLIPOLOG" || exit 1
+ chown "$POLIPOUSER" "%%DESTDIR%%$POLIPOLOG" || exit 1
+ chmod 0640 "%%DESTDIR%%$POLIPOLOG" || exit 1
+ fi
+
+
+ if ! fgrep "${POLIPOLOG}" "%%DESTDIR%%/etc/newsyslog.conf" 2>/dev/null 1>&2; then
+ echo "${POLIPOLOG} ${POLIPOUSER}: 640 3 100 * J $POLIPOPID 30" >> "%%DESTDIR%%/etc/newsyslog.conf" || exit 1
+ fi
+
+fi
+
+exit 0
diff --git a/www/polipo/files/pkg-message.in b/www/polipo/files/pkg-message.in
new file mode 100644
index 000000000000..aa613364e2b1
--- /dev/null
+++ b/www/polipo/files/pkg-message.in
@@ -0,0 +1,18 @@
+
+******************************************************************************
+To complete the polipo installation you should:
+
+1. copy the configuration file example and modify it if desired
+ cd %%PCONFIGDIR%%
+ cp config.sample config
+ vi config
+
+2. enable automatic polipo startup with entry in %%DESTDIR%%/etc/rc.conf.local or %%DESTDIR%%/etc/rc.conf
+ polipo_enable="YES"
+
+3. start polipo
+ %%DESTDIR%%%%PREFIX%%/etc/rc.d/polipo start
+
+4. point your browser to the new proxy server, the default port is 8123
+******************************************************************************
+
diff --git a/www/polipo/files/polipo.sh.in b/www/polipo/files/polipo.sh.in
new file mode 100644
index 000000000000..b2e666697d42
--- /dev/null
+++ b/www/polipo/files/polipo.sh.in
@@ -0,0 +1,44 @@
+#!/bin/sh
+#
+
+# PROVIDE: polipo
+# REQUIRE: NETWORK
+# BEFORE: NETWORK
+# KEYWORD: FreeBSD
+
+. %%RC_SUBR%%
+
+name=polipo
+rcvar=`set_rcvar`
+polipo_enable=${polipo_enable:-"NO"}
+polipo_flags=${polipo_flags:-""}
+polipo_user=%%USER%%
+polipo_group=%%GROUP%%
+pidfile=%%PPIDFILE%%
+config_file=%%PCONFIGDIR%%config
+required_files=$config_file
+
+command="%%PREFIX%%/bin/polipo"
+config_args="-c ${config_file}"
+command_args="$config_args daemonise=true pidFile=${pidfile}"
+
+extra_commands=expire
+
+expire_cmd=expire_cmd
+expire_cmd () {
+ if [ $rc_pid ]; then
+ kill -USR1 $rc_pid
+ # allow polipo to write out all files
+ sleep 5
+ fi
+ su -m ${polipo_user} -c "${command} ${config_args} -x"
+ if [ $rc_pid ]; then
+ kill -USR2 $rc_pid
+ fi
+}
+
+
+load_rc_config $name
+
+run_rc_command "$1"
+
diff --git a/www/polipo/pkg-descr b/www/polipo/pkg-descr
new file mode 100644
index 000000000000..8aae870d3a32
--- /dev/null
+++ b/www/polipo/pkg-descr
@@ -0,0 +1,10 @@
+Polipo is a small and fast caching web proxy (a web cache, an HTTP proxy)
+designed to be used by one person or a small group of people.
+
+WWW: http://www.pps.jussieu.fr/~jch/software/polipo/
+Author: Juliusz Chroboczek <jch@pps.jussieu.fr>
+
+BSD port: http://www.sax.de/~frank/polipo4bsd/
+--
+Frank Behrens
+frank@pinky.sax.de
diff --git a/www/polipo/pkg-plist b/www/polipo/pkg-plist
new file mode 100644
index 000000000000..cd09a86d4942
--- /dev/null
+++ b/www/polipo/pkg-plist
@@ -0,0 +1,7 @@
+bin/polipo
+etc/polipo/config.sample
+etc/polipo/forbidden.sample
+etc/rc.d/polipo.sh
+etc/periodic/daily/400.polipo
+@unexec rmdir %D/etc/periodic/daily 2>/dev/null || true
+@unexec rmdir %D/etc/periodic 2>/dev/null || true