iproute2: rename ip to ip-tiny and let both ip-tiny and ip-full provide "ip"

Rename the "ip" package declaration to "ip-tiny" and let both "ip-tiny" and
"ip-full" provide the virtual "ip" package. This allows users to freely choose
the "ip" command variant while other packages can continue to depend on "ip"
without needing to enforce a specific variant.

Note that this commit does not add busybox as "ip" provider due to
the following reasons:

 - The builtin Busybox ip applet cannot be added or removed at runtime
 - Both "ip-tiny" and "ip-full" are able to install without file clashes even
   if the busybox applet is enabled
 - The system is preferring full "ip-tiny" and "ip-full" at runtime, even
   if Busybox ip is still present.

Signed-off-by: Jo-Philipp Wich <jo@mein.io>
This commit is contained in:
Jo-Philipp Wich 2016-10-13 03:07:21 +02:00
parent 7a58972680
commit eb10b13f16

View File

@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=iproute2
PKG_VERSION:=4.4.0
PKG_RELEASE:=4
PKG_RELEASE:=5
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
PKG_SOURCE_URL:=@KERNEL/linux/utils/net/iproute2
@ -30,14 +30,15 @@ define Package/iproute2/Default
MAINTAINER:=Russell Senior <russell@personaltelco.net>
DEPENDS:= +libnl-tiny
VARIANT:=$(1)
PROVIDES:=$(3)
endef
define Package/ip
$(call Package/iproute2/Default,tiny,Minimal)
define Package/ip-tiny
$(call Package/iproute2/Default,tiny,Minimal,ip)
CONFLICTS:=ip-full
endef
Package/ip-full=$(call Package/iproute2/Default,full,Full)
Package/ip-full:=$(call Package/iproute2/Default,full,Full,ip)
define Package/tc
$(call Package/iproute2/Default)
@ -101,7 +102,7 @@ define Build/InstallDev
$(CP) $(PKG_BUILD_DIR)/lib/libnetlink.a $(1)/usr/lib/
endef
define Package/ip/install
define Package/ip-tiny/install
$(INSTALL_DIR) $(1)/usr/bin
$(INSTALL_BIN) $(PKG_BUILD_DIR)/ip/ip $(1)/usr/bin/
endef
@ -138,7 +139,7 @@ define Package/nstat/install
$(INSTALL_BIN) $(PKG_BUILD_DIR)/misc/nstat $(1)/usr/sbin/
endef
$(eval $(call BuildPackage,ip))
$(eval $(call BuildPackage,ip-tiny))
$(eval $(call BuildPackage,ip-full))
$(eval $(call BuildPackage,tc))
$(eval $(call BuildPackage,genl))