149 lines
4.2 KiB
Makefile
Raw Normal View History

#
# Copyright (C) 2008-2011 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:=tor-alpha
PKG_VERSION:=0.2.3.2-alpha
PKG_RELEASE:=1
PKG_SOURCE:=tor-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://www.torproject.org/dist \
https://archive.torproject.org/tor-package-archive
PKG_MD5SUM:=81a0749c16df3160654f6d20ee5db497
PKG_BUILD_DEPENDS:=libminiupnpc libnatpmp
PKG_BUILD_DIR:=$(BUILD_DIR)/tor-$(PKG_VERSION)
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
define Package/tor-alpha/Default
SECTION:=net
CATEGORY:=Network
URL:=https://www.torproject.org/
endef
define Package/tor-alpha/Default/description
Tor is a toolset for a wide range of organizations and people that want to
improve their safety and security on the Internet. Using Tor can help you
anonymize web browsing and publishing, instant messaging, IRC, SSH, and
more. Tor also provides a platform on which software developers can build
new applications with built-in anonymity, safety, and privacy features.
endef
define Package/tor-alpha
$(call Package/tor-alpha/Default)
TITLE:=An anonymous Internet communication system
DEPENDS:=+libevent2 +libevent2-openssl +libpthread +librt
endef
define Package/tor-alpha/description
$(call Package/tor-alpha/Default/description)
This package contains the tor daemon.
endef
define Package/tor-alpha-fw-helper
$(call Package/tor-alpha/Default)
TITLE:=Firewall helper for tor
DEPENDS:=+tor-alpha +libminiupnpc +libnatpmp
endef
define Package/tor-alpha-fw-helper/description
$(call Package/tor-alpha/Default/description)
This package contains a helper for automatically configuring port forwarding.
endef
define Package/tor-alpha-geoip
$(call Package/tor-alpha/Default)
TITLE:=GeoIP db for tor
DEPENDS:=+tor-alpha
endef
define Package/tor-alpha-geoip/description
$(call Package/tor-alpha/Default/description)
This package contains a GeoIP database mapping IP addresses to countries.
endef
define Package/tor-alpha/conffiles
/etc/tor/torrc
endef
define Package/tor-alpha/postinst
#!/bin/sh
name=tor
id=52
# do not change below
# # check if we are on real system
if [ -z "$${IPKG_INSTROOT}" ]; then
# create copies of passwd and group, if we use squashfs
rootfs=`mount |awk '/root/ { print $$5 }'`
if [ "$$rootfs" = "squashfs" ]; then
if [ -h /etc/group ]; then
rm /etc/group
cp /rom/etc/group /etc/group
fi
if [ -h /etc/passwd ]; then
rm /etc/passwd
cp /rom/etc/passwd /etc/passwd
fi
fi
fi
echo ""
if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/group)" ]; then
echo "adding group $$name to /etc/group"
echo "$${name}:x:$${id}:" >> $${IPKG_INSTROOT}/etc/group
fi
if [ -z "$$(grep ^\\$${name}: $${IPKG_INSTROOT}/etc/passwd)" ]; then
echo "adding user $$name to /etc/passwd"
echo "$${name}:x:$${id}:$${id}:$${name}:/tmp/.$${name}:/bin/false" >> $${IPKG_INSTROOT}/etc/passwd
fi
endef
CONFIGURE_ARGS += \
--with-libevent-dir="$(STAGING_DIR)/usr" \
--with-ssl-dir="$(STAGING_DIR)/usr" \
--enable-upnp \
--with-libminiupnpc-dir="$(STAGING_DIR)/usr" \
--enable-nat-pmp \
--with-libnatpmp-dir="$(STAGING_DIR)/usr" \
--enable-bufferevents
CONFIGURE_VARS += \
CROSS_COMPILE="yes"
# pass CFLAGS again to override -O2 set by configure
MAKE_FLAGS += \
CFLAGS="$(TARGET_CFLAGS)"
define Package/tor-alpha/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/tor $(1)/usr/sbin/
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_BIN) ./files/tor.init $(1)/etc/init.d/tor
$(INSTALL_DIR) $(1)/etc/tor
$(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/tor/torrc.sample $(1)/etc/tor/torrc
endef
define Package/tor-alpha-fw-helper/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/tor-fw-helper $(1)/usr/bin/
endef
define Package/tor-alpha-geoip/install
$(INSTALL_DIR) $(1)/usr/share/tor
$(CP) $(PKG_INSTALL_DIR)/usr/share/tor/geoip $(1)/usr/share/tor/
endef
$(eval $(call BuildPackage,tor-alpha))
$(eval $(call BuildPackage,tor-alpha-fw-helper))
$(eval $(call BuildPackage,tor-alpha-geoip))