aboutsummaryrefslogtreecommitdiff
path: root/net/privoxy/Makefile
diff options
context:
space:
mode:
authorSteven Barth <steven@midlink.org>2014-12-08 20:40:47 +0100
committerSteven Barth <steven@midlink.org>2014-12-08 20:41:22 +0100
commiteeabfeed8ef48bb64950ece57e4715af16c583f3 (patch)
treedf76e8876eea0ac921267974a99e95757c606749 /net/privoxy/Makefile
parent3b8614c44b8bced8a9082d9f59121e0c76c63aee (diff)
privoxy: moved to github and update to 3.0.22
- moved from oldpackages to github - set maintainer - update pkg source to new version 3.0.22 - run privoxy as non root user privoxy:privoxy - using procd including network events to restart on changes - log start and stop to syslog, privoxy not using syslog Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
Diffstat (limited to 'net/privoxy/Makefile')
-rw-r--r--net/privoxy/Makefile168
1 files changed, 168 insertions, 0 deletions
diff --git a/net/privoxy/Makefile b/net/privoxy/Makefile
new file mode 100644
index 000000000..80083d27c
--- /dev/null
+++ b/net/privoxy/Makefile
@@ -0,0 +1,168 @@
+#
+# Copyright (C) 2006-2014 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=privoxy
+PKG_VERSION:=3.0.22
+PKG_RELEASE:=1
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-stable-src.tar.gz
+PKG_SOURCE_URL:=@SF/ijbswa
+PKG_MD5SUM:=aa121751d332a51d37d3c6e4b7594daa
+
+PKG_LICENSE:=GPL-2.0
+PKG_LICENSE_FILES:=LICENSE
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)-stable
+PKG_FIXUP:=autoreconf
+PKG_INSTALL:=1
+
+PKG_MAINTAINER:=christian.schoenebeck@gmail.com
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/privoxy
+ SECTION:=net
+ CATEGORY:=Network
+ SUBMENU:=Web Servers/Proxies
+ DEPENDS:=+libpcre +libpthread +zlib
+ TITLE:=web proxy with advanced filtering capabilities
+ URL:=http://www.privoxy.org/
+ USERID:=privoxy=8118:privoxy=8118
+endef
+
+define Package/privoxy/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.
+Version: $(PKG_VERSION)-$(PKG_RELEASE)
+endef
+
+CONFIGURE_ARGS += \
+ --sysconfdir=/etc/privoxy \
+
+# needed otherwise errors during compile
+MAKE_FLAGS:=
+
+define Build/Install
+ $(call Build/Install/Default,)
+ # rename original sample config from pkg_source to save existing one during install
+ mv $(PKG_INSTALL_DIR)/etc/privoxy/config $(PKG_INSTALL_DIR)/etc/privoxy/config.privoxy
+endef
+
+define Package/privoxy/conffiles
+/etc/config/privoxy
+/etc/privoxy/config # temporary needed if updating from old version
+endef
+
+define Package/privoxy/preinst
+ #!/bin/sh
+ # if run within buildroot exit
+ [ -n "$${IPKG_INSTROOT}" ] && exit 0
+ # stop service # if PKG_UPGRADE NOT WORKING
+ # [ "$${PKG_UPGRADE}" = "1" ] && /etc/init.d/privoxy stop
+ /etc/init.d/privoxy stop >/dev/null 2>&1
+ exit 0 # supress errors from stop command
+endef
+
+define Package/privoxy/install
+ $(INSTALL_DIR) $(1)/usr/sbin
+ $(CP) $(PKG_INSTALL_DIR)/usr/sbin/privoxy $(1)/usr/sbin/
+ $(INSTALL_DIR) $(1)/etc/init.d
+ $(INSTALL_BIN) ./files/privoxy.init $(1)/etc/init.d/privoxy
+ # no longer needed because running with procd
+ # $(INSTALL_DIR) $(1)/etc/hotplug.d/iface
+ # $(INSTALL_BIN) ./files/privoxy.hotplug $(1)/etc/hotplug.d/iface/80-privoxy
+
+ $(INSTALL_DIR) $(1)/etc/privoxy
+ $(CP) $(PKG_INSTALL_DIR)/etc/privoxy/* $(1)/etc/privoxy/
+ # temporary needed if updating from old version
+ # otherwise old config file will be delete by opkg
+ $(INSTALL_CONF) ./files/privoxy.oldconfig $(1)/etc/privoxy/config
+ # create .old file to be removed with next pacakge builds during update
+ $(INSTALL_CONF) ./files/privoxy.oldconfig $(1)/etc/privoxy/config.old
+
+ $(INSTALL_DIR) $(1)/etc/config
+ $(INSTALL_CONF) ./files/privoxy.config $(1)/etc/config/privoxy
+endef
+
+define Package/privoxy/postinst
+ #!/bin/sh
+
+ # if fresh install we don't need old config file in privoxy directory
+ [ "$${PKG_UPGRADE}" = "0" ] && rm -f /etc/privoxy/config
+
+ # if run within buildroot exit here
+ [ -n "$${IPKG_INSTROOT}" ] && exit 0
+
+ # if PKG_UPGRADE then build uci configuration
+ # from existing(?) old /etc/privoxy/config file
+ if [ "$${PKG_UPGRADE}" = "1" -a -f /etc/privoxy/config ]; then
+
+ echo "converting OLD config to NEW uci configuration"
+
+ SECTION="privoxy.privoxy"
+ CFGFILE=/etc/privoxy/config
+
+ echo -n > /etc/config/privoxy # clear/create uci configuration file
+ cp -f $${CFGFILE} $${CFGFILE}.old # save old configuration
+
+ # cleanup
+ sed -i 's/^[ \t]*//;s/[ \t]*$$//' $${CFGFILE} # remove invisible chars at beginning and end of lines
+ sed -i '/^#/d' $${CFGFILE} # remove lines with "#"
+ sed -i '/^$$/d' $${CFGFILE} # remove empty lines
+
+ uci -q set $${SECTION}="privoxy" # create section
+
+ cat $${CFGFILE} | while read LINE; do
+ # option is first parameter; uci did not like "-" in option names
+ OPT=$$(echo $${LINE} | awk '{print $$1}' | sed 's/-/_/g')
+ VAL=$$(echo $${LINE} | awk '{print $$2}')
+ case $${OPT} in
+ # debug 1024 => debug_1024 '1'
+ debug)
+ uci -q set $${SECTION}.debug_$${VAL}="1"
+ ;;
+ # handle list values; splitted case for better reading
+ actionsfile|filterfile|listen_address)
+ uci -q add_list $${SECTION}.$${OPT}="$${VAL}"
+ ;;
+ permit_access|deny_access)
+ uci -q add_list $${SECTION}.$${OPT}="$${VAL}"
+ ;;
+ trust_info_url|forward)
+ uci -q add_list $${SECTION}.$${OPT}="$${VAL}"
+ ;;
+ forward_socks4|forward_socks4a)
+ uci -q add_list $${SECTION}.$${OPT}="$${VAL}"
+ ;;
+ forward_socks5|forward_socks5t)
+ uci -q add_list $${SECTION}.$${OPT}="$${VAL}"
+ ;;
+ # all others are normal options
+ *)
+ uci -q set $${SECTION}.$${OPT}="$${VAL}"
+ ;;
+ esac
+ done
+ uci -q commit privoxy # commit changes
+ rm -f $${CFGFILE} # remove old configuration file
+ fi
+
+ # set permissions to privoxy group
+ echo "setting permissions"
+ chgrp -R privoxy /etc/privoxy/*
+ chmod 664 /etc/privoxy/*
+ chmod 755 /etc/privoxy/templates
+ chmod 644 /etc/privoxy/templates/*
+endef
+
+$(eval $(call BuildPackage,privoxy))