xz: use ALTERNATIVES instead of copying symlinks
authorDaniel Golle <daniel@makrotopia.org>
Fri, 20 Nov 2020 03:27:18 +0000 (03:27 +0000)
committerDaniel Golle <daniel@makrotopia.org>
Fri, 20 Nov 2020 03:33:54 +0000 (03:33 +0000)
Installing the 'xz' package currently leads to file collisions:
Collected errors:
 * check_data_file_clashes: Package xz wants to install file /usr/bin/unxz
        But that file is already provided by package  * busybox
 * check_data_file_clashes: Package xz wants to install file /usr/bin/xz
        But that file is already provided by package  * busybox
 * opkg_install_cmd: Cannot install package debootstrap.

Fix that by switching to use ALTERNATIVES for all multicall commands
instead of copying the symlinks into the package.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
utils/xz/Makefile

index d3a9fd635863b28635f8c8062c40d82ee6d9fad9..ca3e2c5ffbf607fbe47f1cc3e0181715bdea30cd 100644 (file)
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
 
 PKG_NAME:=xz
 PKG_VERSION:=5.2.5
-PKG_RELEASE:=1
+PKG_RELEASE:=2
 
 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
 PKG_SOURCE_URL:=@SF/lzmautils
@@ -56,6 +56,7 @@ define BuildSubPackage
   $(call Package/xz/Default)
     DEPENDS:=xz-utils $(2)
     TITLE:=$(1) utility from XZ Utils
+    $(if $(3),ALTERNATIVES:=$(foreach f,$(1) $(3),300:/usr/bin/$(f):/usr/bin/lzmautils-$(1)))
   endef
 
   define Package/$(1)/description
@@ -64,7 +65,7 @@ define BuildSubPackage
 
   define Package/$(1)/install
        $(INSTALL_DIR) $$(1)/usr/bin
-       $(CP) $(foreach f,$(1) $(3),$(PKG_INSTALL_DIR)/usr/bin/$(f)) $$(1)/usr/bin/
+       $(CP) $(PKG_INSTALL_DIR)/usr/bin/$(1) $$(1)/usr/bin/$(if $(3),lzmautils-$(1))
   endef
 
   $$(eval $$(call BuildPackage,$(1)))