From 0d506c99805aeb1c63ff6ff4a129073d2a342e27 Mon Sep 17 00:00:00 2001
From: Florian Fainelli <florian@openwrt.org>
Date: Sat, 28 Jan 2006 01:40:49 +0000
Subject: [PATCH] Addded tinyproxy : lightweight HTTP/HTTPS proxy with support
 for transparent proxying

SVN-Revision: 3059
---
 openwrt/package/tinyproxy/Config.in           | 30 +++++++
 openwrt/package/tinyproxy/Makefile            | 83 +++++++++++++++++++
 .../package/tinyproxy/files/tinyproxy.init    | 50 +++++++++++
 .../package/tinyproxy/ipkg/tinyproxy.control  |  5 ++
 4 files changed, 168 insertions(+)
 create mode 100644 openwrt/package/tinyproxy/Config.in
 create mode 100644 openwrt/package/tinyproxy/Makefile
 create mode 100755 openwrt/package/tinyproxy/files/tinyproxy.init
 create mode 100644 openwrt/package/tinyproxy/ipkg/tinyproxy.control

diff --git a/openwrt/package/tinyproxy/Config.in b/openwrt/package/tinyproxy/Config.in
new file mode 100644
index 0000000000..53c0176ce0
--- /dev/null
+++ b/openwrt/package/tinyproxy/Config.in
@@ -0,0 +1,30 @@
+menu "tinyproxy......................... Tinyproxy is a lightweight HTTP and HTTPS proxy."
+
+config BR2_PACKAGE_TINYPROXY
+	prompt "tinyproxy......................... Tinyproxy is a lightweight HTTP and HTTPS proxy"
+	tristate
+	default m if CONFIG_DEVEL
+	help
+		Tinyproxy is a lightweight HTTP and HTTPS proxy.
+
+		http://tinyproxy.sourceforge.net
+
+config BR2_COMPILE_TINYPROXY_WITH_TRANSPARENT_PROXY
+	prompt "Enable transparent proxying"
+	bool
+	default y
+	depends BR2_PACKAGE_TINYPROXY
+
+config BR2_COMPILE_TINYPROXY_WITH_FILTER
+	prompt "Enable filtering support"
+	bool
+	default y
+	depends BR2_PACKAGE_TINYPROXY
+
+config BR2_COMPILE_TINYPROXY_WITH_UPSTREAM
+	prompt "Enable upstream support"
+	bool
+	default y
+	depends BR2_PACKAGE_TINYPROXY
+
+endmenu
diff --git a/openwrt/package/tinyproxy/Makefile b/openwrt/package/tinyproxy/Makefile
new file mode 100644
index 0000000000..d08454d747
--- /dev/null
+++ b/openwrt/package/tinyproxy/Makefile
@@ -0,0 +1,83 @@
+# $Id: Makefile 2468 2006-01-28 02:31:32Z florian $
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=tinyproxy
+PKG_VERSION:=1.6.3
+PKG_RELEASE:=1
+PKG_MD5SUM:=bd14d029b12621bcfd7ee71b2f4893da
+
+PKG_SOURCE_URL:=@SF/tinyproxy
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
+PKG_CAT:=zcat
+
+PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
+PKG_INSTALL_DIR:=$(PKG_BUILD_DIR)/ipkg-install
+
+include $(TOPDIR)/package/rules.mk
+
+$(eval $(call PKG_template,TINYPROXY,tinyproxy,$(PKG_VERSION)-$(PKG_RELEASE),$(ARCH)))
+
+ifeq ($(BR2_COMPILE_TINYPROXY_WITH_TRANSPARENT_PROXY),y)
+ENABLE_TRANSPARENT:=--enable-transparent-proxy
+endif
+ifneq ($(BR2_COMPILE_TINYPROXY_WITH_UPSTREAM),y)
+DISABLE_UPSTREAM:=--disable-upstream
+endif
+ifneq ($(BR2_COMPILE_TINYPROXY_WITH_FILTER),y)
+DISABLE_FILTER:=--disable-filter
+endif
+
+$(PKG_BUILD_DIR)/.configured:
+	(cd $(PKG_BUILD_DIR); rm -rf config.{cache,status} ; \
+		$(TARGET_CONFIGURE_OPTS) \
+		CFLAGS="$(strip $(TARGET_CFLAGS))" \
+		CPPFLAGS="-I$(STAGING_DIR)/usr/include" \
+		LDFLAGS="-L$(STAGING_DIR)/usr/lib" \
+		./configure \
+		  --target=$(GNU_TARGET_NAME) \
+		  --host=$(GNU_TARGET_NAME) \
+		  --build=$(GNU_HOST_NAME) \
+		  --program-prefix="" \
+		  --program-suffix="" \
+		  --prefix=/usr \
+		  --exec-prefix=/usr \
+		  --bindir=/usr/bin \
+		  --datadir=/usr/share \
+		  --includedir=/usr/include \
+		  --infodir=/usr/share/info \
+		  --libdir=/usr/lib \
+		  --libexecdir=/usr/lib \
+		  --localstatedir=/var \
+		  --mandir=/usr/share/man \
+		  --sbindir=/usr/sbin \
+		  --sysconfdir=/etc \
+		  $(DISABLE_NLS) \
+		  --disable-static \
+		  $(ENABLE_TRANSPARENT) \
+		  $(DISABLE_UPSTREAM) \
+		  $(DISABLE_FILTER) \
+	);
+	touch $(PKG_BUILD_DIR)/.configured
+
+$(PKG_BUILD_DIR)/.built:
+	$(MAKE) -C $(PKG_BUILD_DIR)
+	mkdir -p $(PKG_INSTALL_DIR)
+	$(MAKE) -C $(PKG_BUILD_DIR) \
+		DESTDIR="$(PKG_INSTALL_DIR)" \
+		install
+	find $(PKG_INSTALL_DIR) -name '*dist' | xargs rm -f
+	touch $(PKG_BUILD_DIR)/.built
+
+$(IPKG_TINYPROXY):
+	install -d -m0755 $(IDIR_TINYPROXY)/usr/sbin \
+				$(IDIR_TINYPROXY)/etc/tinyproxy \
+				$(IDIR_TINYPROXY)/etc/init.d \
+				$(IDIR_TINYPROXY)/var/log \
+				$(IDIR_TINYPROXY)/usr/share
+	cp -fpR $(PKG_INSTALL_DIR)/usr/sbin/tinyproxy $(IDIR_TINYPROXY)/usr/sbin/
+	cp -fpR $(PKG_INSTALL_DIR)/usr/share/tinyproxy $(IDIR_TINYPROXY)/usr/share/
+	cp -fpR $(PKG_INSTALL_DIR)/etc/tinyproxy $(IDIR_TINYPROXY)/etc/
+	cp -fpR files/$(PKG_NAME).init $(IDIR_TINYPROXY)/etc/init.d/$(PKG_NAME)
+	$(RSTRIP) $(IDIR_TINYPROXY)
+	$(IPKG_BUILD) $(IDIR_TINYPROXY) $(PACKAGE_DIR)
diff --git a/openwrt/package/tinyproxy/files/tinyproxy.init b/openwrt/package/tinyproxy/files/tinyproxy.init
new file mode 100755
index 0000000000..3830d95a4d
--- /dev/null
+++ b/openwrt/package/tinyproxy/files/tinyproxy.init
@@ -0,0 +1,50 @@
+#! /bin/sh
+
+PATH=/sbin:/bin:/usr/sbin:/usr/bin
+NAME=tinyproxy
+DESC="Tiny HTTP and HTTPS proxy"
+case "$1" in
+  start)
+        if [ -e /var/run/$NAME.pid ]; then
+                echo "$DESC: $NAME already started."
+                exit 0
+        fi
+        echo -n "Starting $DESC: $NAME"
+        test -e /var/run/$NAME.pid || touch /var/run/$NAME.pid
+        /usr/sbin/$NAME
+        echo "."
+        ;;
+
+  stop)
+        if [ ! -e /var/run/$NAME.pid ]; then
+                echo "$DESC: $NAME is not running."
+                exit 0
+        fi
+        echo -n "Stopping $DESC: $NAME"
+        killall $NAME
+        rm -f /var/run/$NAME.pid
+
+        echo "."
+        ;;
+
+  restart|force-reload)
+        if [ ! -e /var/run/$NAME.pid ]; then
+                $0 start
+                exit 0
+        fi
+        echo -n "Restarting $DESC: $NAME"
+        killall $NAME
+        sleep 1
+/usr/sbin/$NAME
+        echo "."
+        ;;
+
+  *)
+        N=/etc/init.d/$NAME
+        echo "Usage: $N {start|stop|restart|force-reload}" >&2
+        exit 1
+        ;;
+
+esac
+
+exit 0
\ No newline at end of file
diff --git a/openwrt/package/tinyproxy/ipkg/tinyproxy.control b/openwrt/package/tinyproxy/ipkg/tinyproxy.control
new file mode 100644
index 0000000000..821b927e4c
--- /dev/null
+++ b/openwrt/package/tinyproxy/ipkg/tinyproxy.control
@@ -0,0 +1,5 @@
+Package: tinyproxy
+Version: 1.6.3
+Section: net
+Description: Tinyproxy is a lightweight HTTP and HTTPS proxy.
+Priority: optional
-- 
2.30.2