From 929a5a9f0c770912fc1cb007c820735678bcf77f Mon Sep 17 00:00:00 2001 From: Rui Salvaterra Date: Sat, 24 Oct 2020 22:38:52 +0100 Subject: [PATCH] tor: add a basic variant, without relay/bridge support If relay/bridge support isn't required, this variant is about 300 kiB smaller than the full tor daemon. Signed-off-by: Rui Salvaterra --- net/tor/Makefile | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) diff --git a/net/tor/Makefile b/net/tor/Makefile index 51b246604..111d84f93 100644 --- a/net/tor/Makefile +++ b/net/tor/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=tor PKG_VERSION:=0.4.4.5 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://dist.torproject.org/ \ @@ -31,6 +31,8 @@ define Package/tor/Default CATEGORY:=Network URL:=https://www.torproject.org/ USERID:=tor=52:tor=52 + DEPENDS:=+libevent2 +libopenssl +libpthread +librt +zlib +libcap + TITLE:=Tor routing daemon endef define Package/tor/Default/description @@ -43,21 +45,36 @@ endef define Package/tor $(call Package/tor/Default) - TITLE:=An anonymous Internet communication system - DEPENDS:=+libevent2 +libopenssl +libpthread +librt +zlib +libcap + TITLE+= (full) + CONFLICTS:=tor-basic + PROVIDES:=tor-basic + VARIANT:=full endef define Package/tor/description $(call Package/tor/Default/description) -This package contains the tor daemon. +This package contains the full tor daemon. + +endef + +define Package/tor-basic +$(call Package/tor/Default) + TITLE+= (no bridge/relay support) + VARIANT:=basic +endef + +define Package/tor-basic/description +$(call Package/tor/Default/description) + +This package contains the basic tor daemon, without bridge/relay support. endef define Package/tor-gencert $(call Package/tor/Default) TITLE:=Tor certificate generation - DEPENDS:=+tor + DEPENDS:=tor endef define Package/tor-gencert/description @@ -70,7 +87,7 @@ endef define Package/tor-resolve $(call Package/tor/Default) TITLE:=tor hostname resolve - DEPENDS:=+tor + DEPENDS:=tor-basic endef define Package/tor-resolve/description @@ -83,7 +100,7 @@ endef define Package/tor-geoip $(call Package/tor/Default) TITLE:=GeoIP db for tor - DEPENDS:=+tor + DEPENDS:=tor-basic endef define Package/tor-geoip/description @@ -100,6 +117,8 @@ define Package/tor/conffiles /etc/config/tor endef +Package/tor-basic/conffiles = $(Package/tor/conffiles) + CONFIGURE_ARGS += \ --with-libevent-dir="$(STAGING_DIR)/usr" \ --with-openssl-dir="$(STAGING_DIR)/usr" \ @@ -114,6 +133,10 @@ CONFIGURE_ARGS += \ --with-tor-group=tor \ --enable-pic +ifeq ($(BUILD_VARIANT),basic) + CONFIGURE_ARGS += --disable-module-relay +endif + TARGET_CFLAGS += -ffunction-sections -fdata-sections -flto TARGET_LDFLAGS += -Wl,--gc-sections -flto @@ -132,6 +155,8 @@ define Package/tor/install $(INSTALL_CONF) ./files/tor.conf $(1)/etc/config/tor endef +Package/tor-basic/install = $(Package/tor/install) + define Package/tor-gencert/install $(INSTALL_DIR) $(1)/usr/sbin $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/tor-gencert $(1)/usr/sbin/ @@ -151,6 +176,7 @@ define Package/tor-geoip/install endef $(eval $(call BuildPackage,tor)) +$(eval $(call BuildPackage,tor-basic)) $(eval $(call BuildPackage,tor-gencert)) $(eval $(call BuildPackage,tor-resolve)) $(eval $(call BuildPackage,tor-geoip))