From e6d84fa8864e7bbbcec139dd09a2922a06f5b2a0 Mon Sep 17 00:00:00 2001 From: Tony Ambardar Date: Sat, 15 Dec 2018 18:26:48 -0800 Subject: [PATCH] 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 --- package/network/utils/iproute2/Makefile | 9 +++++++++ 1 file changed, 9 insertions(+) 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)) -- 2.30.2