2 # Copyright (C) 2008-2011 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
8 include $(TOPDIR)/rules.mk
11 PKG_VERSION:=0.2.3.3-alpha
14 PKG_SOURCE:=tor-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=https://www.torproject.org/dist \
16 https://archive.torproject.org/tor-package-archive
17 PKG_MD5SUM:=982feab67723b50cbad31dc73f0e3e16
19 PKG_BUILD_DEPENDS:=libminiupnpc libnatpmp
20 PKG_BUILD_DIR:=$(BUILD_DIR)/tor-$(PKG_VERSION)
23 include $(INCLUDE_DIR)/package.mk
25 define Package/tor-alpha/Default
28 URL:=https://www.torproject.org/
31 define Package/tor-alpha/Default/description
32 Tor is a toolset for a wide range of organizations and people that want to
33 improve their safety and security on the Internet. Using Tor can help you
34 anonymize web browsing and publishing, instant messaging, IRC, SSH, and
35 more. Tor also provides a platform on which software developers can build
36 new applications with built-in anonymity, safety, and privacy features.
39 define Package/tor-alpha
40 $(call Package/tor-alpha/Default)
41 TITLE:=An anonymous Internet communication system
42 DEPENDS:=+libevent2 +libevent2-openssl +libpthread +librt
45 define Package/tor-alpha/description
46 $(call Package/tor-alpha/Default/description)
47 This package contains the tor daemon.
50 define Package/tor-alpha-fw-helper
51 $(call Package/tor-alpha/Default)
52 TITLE:=Firewall helper for tor
53 DEPENDS:=+tor-alpha +libminiupnpc +libnatpmp
56 define Package/tor-alpha-fw-helper/description
57 $(call Package/tor-alpha/Default/description)
58 This package contains a helper for automatically configuring port forwarding.
61 define Package/tor-alpha-geoip
62 $(call Package/tor-alpha/Default)
63 TITLE:=GeoIP db for tor
67 define Package/tor-alpha-geoip/description
68 $(call Package/tor-alpha/Default/description)
69 This package contains a GeoIP database mapping IP addresses to countries.
72 define Package/tor-alpha/conffiles
76 define Package/tor-alpha/postinst
83 # # check if we are on real system
84 if [ -z "$${IPKG_INSTROOT}" ]; then
85 # create copies of passwd and group, if we use squashfs
86 rootfs=`mount |awk '/root/ { print $$5 }'`
87 if [ "$$rootfs" = "squashfs" ]; then
88 if [ -h /etc/group ]; then
90 cp /rom/etc/group /etc/group
92 if [ -h /etc/passwd ]; then
94 cp /rom/etc/passwd /etc/passwd
100 if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/group)" ]; then
101 echo "adding group $$name to /etc/group"
102 echo "$${name}:x:$${id}:" >> $${IPKG_INSTROOT}/etc/group
105 if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/passwd)" ]; then
106 echo "adding user $$name to /etc/passwd"
107 echo "$${name}:x:$${id}:$${id}:$${name}:/tmp/.$${name}:/bin/false" >> $${IPKG_INSTROOT}/etc/passwd
112 --with-libevent-dir="$(STAGING_DIR)/usr" \
113 --with-ssl-dir="$(STAGING_DIR)/usr" \
115 --with-libminiupnpc-dir="$(STAGING_DIR)/usr" \
117 --with-libnatpmp-dir="$(STAGING_DIR)/usr" \
118 --enable-bufferevents \
124 # pass CFLAGS again to override -O2 set by configure
126 CFLAGS="$(TARGET_CFLAGS)"
128 define Package/tor-alpha/install
129 $(INSTALL_DIR) $(1)/usr/sbin
130 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/tor $(1)/usr/sbin/
131 $(INSTALL_DIR) $(1)/etc/init.d
132 $(INSTALL_BIN) ./files/tor.init $(1)/etc/init.d/tor
133 $(INSTALL_DIR) $(1)/etc/tor
134 $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/tor/torrc.sample $(1)/etc/tor/torrc
137 define Package/tor-alpha-fw-helper/install
138 $(INSTALL_DIR) $(1)/usr/bin
139 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/tor-fw-helper $(1)/usr/bin/
142 define Package/tor-alpha-geoip/install
143 $(INSTALL_DIR) $(1)/usr/share/tor
144 $(CP) $(PKG_INSTALL_DIR)/usr/share/tor/geoip $(1)/usr/share/tor/
147 $(eval $(call BuildPackage,tor-alpha))
148 $(eval $(call BuildPackage,tor-alpha-fw-helper))
149 $(eval $(call BuildPackage,tor-alpha-geoip))