diff options
author | Steven Barth <steven@midlink.org> | 2014-12-08 20:40:47 +0100 |
---|---|---|
committer | Steven Barth <steven@midlink.org> | 2014-12-08 20:41:22 +0100 |
commit | eeabfeed8ef48bb64950ece57e4715af16c583f3 (patch) | |
tree | df76e8876eea0ac921267974a99e95757c606749 /net/privoxy/Makefile | |
parent | 3b8614c44b8bced8a9082d9f59121e0c76c63aee (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/Makefile | 168 |
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)) |