tor: preserve tor keys over sysupgrade
[feed/packages.git] / net / tor / Makefile
1 #
2 # Copyright (C) 2008-2016 OpenWrt.org
3 #
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
6 #
7
8 include $(TOPDIR)/rules.mk
9
10 PKG_NAME:=tor
11 PKG_VERSION:=0.2.9.8
12 PKG_RELEASE:=1
13
14 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
15 PKG_SOURCE_URL:=https://dist.torproject.org/ \
16 https://archive.torproject.org/tor-package-archive
17 PKG_MD5SUM:=fbdd33d3384574297b88744622382008d1e0f9ddd300d330746c464b7a7d746a
18 PKG_MAINTAINER:=Hauke Mehrtens <hauke@hauke-m.de>
19 PKG_LICENSE_FILES:=LICENSE
20
21 PKG_INSTALL:=1
22
23 include $(INCLUDE_DIR)/package.mk
24
25 define Package/tor/Default
26 SECTION:=net
27 CATEGORY:=Network
28 URL:=https://www.torproject.org/
29 USERID:=tor=52:tor=52
30 endef
31
32 define Package/tor/Default/description
33 Tor is a toolset for a wide range of organizations and people that want to
34 improve their safety and security on the Internet. Using Tor can help you
35 anonymize web browsing and publishing, instant messaging, IRC, SSH, and
36 more. Tor also provides a platform on which software developers can build
37 new applications with built-in anonymity, safety, and privacy features.
38 endef
39
40 define Package/tor
41 $(call Package/tor/Default)
42 TITLE:=An anonymous Internet communication system
43 DEPENDS:=+libevent2 +libopenssl +libpthread +librt +zlib +libcap
44 endef
45
46 define Package/tor/description
47 $(call Package/tor/Default/description)
48 This package contains the tor daemon.
49 endef
50
51 define Package/tor-geoip
52 $(call Package/tor/Default)
53 TITLE:=GeoIP db for tor
54 DEPENDS:=+tor
55 endef
56
57 define Package/tor-geoip/description
58 $(call Package/tor/Default/description)
59 This package contains a GeoIP database mapping IP addresses to countries.
60 endef
61
62 define Package/tor/conffiles
63 /etc/tor/torrc
64 /var/lib/tor/fingerprint
65 /var/lib/tor/keys/*
66 endef
67
68 CONFIGURE_ARGS += \
69 --with-libevent-dir="$(STAGING_DIR)/usr" \
70 --with-ssl-dir="$(STAGING_DIR)/usr" \
71 --with-openssl-dir="$(STAGING_DIR)/usr" \
72 --with-zlib-dir="$(STAGING_DIR)/usr" \
73 --disable-asciidoc \
74 --disable-seccomp \
75 --disable-libscrypt \
76 --disable-unittests \
77 --disable-largefile \
78 --with-tor-user=tor \
79 --with-tor-group=tor
80
81 EXTRA_CFLAGS += -std=gnu99
82
83 ifneq ($(CONFIG_SSP_SUPPORT),y)
84 CONFIGURE_ARGS += \
85 --disable-gcc-hardening
86 else
87 EXTRA_CFLAGS += -fPIC
88 endif
89
90 CONFIGURE_VARS += \
91 CROSS_COMPILE="yes"
92
93 define Package/tor/install
94 $(INSTALL_DIR) $(1)/usr/sbin
95 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/tor $(1)/usr/sbin/
96 $(INSTALL_DIR) $(1)/etc/init.d
97 $(INSTALL_BIN) ./files/tor.init $(1)/etc/init.d/tor
98 $(INSTALL_DIR) $(1)/etc/tor
99 $(INSTALL_CONF) $(PKG_INSTALL_DIR)/etc/tor/torrc.sample $(1)/etc/tor/torrc
100 endef
101
102 define Package/tor-geoip/install
103 $(INSTALL_DIR) $(1)/usr/share/tor
104 $(CP) $(PKG_INSTALL_DIR)/usr/share/tor/geoip $(1)/usr/share/tor/
105 endef
106
107 $(eval $(call BuildPackage,tor))
108 $(eval $(call BuildPackage,tor-geoip))