aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTony Ambardar <itugrok@yahoo.com>2018-12-15 18:26:48 -0800
committerKevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk>2019-02-11 20:18:48 +0000
commite6d84fa8864e7bbbcec139dd09a2922a06f5b2a0 (patch)
tree870c65d1bc053e04bc4756adc3e8427853089093
parentbc86da377cf78edbf7e830a81b6ebf400f281467 (diff)
downloadupstream-e6d84fa8864e7bbbcec139dd09a2922a06f5b2a0.tar.gz
upstream-e6d84fa8864e7bbbcec139dd09a2922a06f5b2a0.tar.bz2
upstream-e6d84fa8864e7bbbcec139dd09a2922a06f5b2a0.zip
iproute2: use tc package variant to limit other package sizes
Replace the old 'tc' with a singleton package variant which will be used to enable additional functionality and limit it only to tc. Non-variant packages will only be installed during 'tiny' variant builds, hence will be configured without extra features, thus preserving previously limited functionality and reduced package sizes. Also set ip-tiny as the default variant, and install 'tiny' versions of development libraries. Signed-off-by: Tony Ambardar <itugrok@yahoo.com>
-rw-r--r--package/network/utils/iproute2/Makefile9
1 files changed, 9 insertions, 0 deletions
diff --git a/package/network/utils/iproute2/Makefile b/package/network/utils/iproute2/Makefile
index e7fa6e479d..56a16d095c 100644
--- a/package/network/utils/iproute2/Makefile
+++ b/package/network/utils/iproute2/Makefile
@@ -37,6 +37,7 @@ define Package/ip-tiny
$(call Package/iproute2/Default)
TITLE:=Routing control utility (Minimal)
VARIANT:=tiny
+ DEFAULT_VARIANT:=1
PROVIDES:=ip
ALTERNATIVES:=200:/sbin/ip:/usr/libexec/ip-tiny
DEPENDS:=+libnl-tiny +(PACKAGE_devlink||PACKAGE_rdma):libmnl
@@ -54,6 +55,8 @@ endef
define Package/tc
$(call Package/iproute2/Default)
TITLE:=Traffic control utility
+ VARIANT:=tc
+ PROVIDES:=tc
DEPENDS:=+kmod-sched-core +libxtables +libelf +(PACKAGE_devlink||PACKAGE_rdma):libmnl
endef
@@ -127,12 +130,15 @@ define Build/Compile
+$(MAKE_VARS) $(MAKE) $(PKG_JOBS) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS)
endef
+# use minimal functionality for dev libraries
+ifeq ($(BUILD_VARIANT),tiny)
define Build/InstallDev
$(INSTALL_DIR) $(1)/usr/include
$(CP) $(PKG_BUILD_DIR)/include/{libgenl,libnetlink}.h $(1)/usr/include/
$(INSTALL_DIR) $(1)/usr/lib
$(CP) $(PKG_BUILD_DIR)/lib/libnetlink.a $(1)/usr/lib/
endef
+endif
define Package/ip-tiny/install
$(INSTALL_DIR) $(1)/usr/libexec
@@ -151,6 +157,8 @@ define Package/tc/install
$(INSTALL_BIN) ./files/15-teql $(1)/etc/hotplug.d/iface/
endef
+# ensure other packages are only saved during 'tiny' builds.
+ifeq ($(BUILD_VARIANT),tiny)
define Package/genl/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/genl/genl $(1)/usr/sbin/
@@ -180,6 +188,7 @@ define Package/rdma/install
$(INSTALL_DIR) $(1)/usr/sbin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/rdma/rdma $(1)/usr/sbin/
endef
+endif
$(eval $(call BuildPackage,ip-tiny))
$(eval $(call BuildPackage,ip-full))