Commit aa028292 authored by Ryan Barnett's avatar Ryan Barnett Committed by Thomas Petazzoni
Browse files

e2fsprogs: remove busybox tune2fs when installing full version



Currently, busybox installs a version of tune2fs in /sbin/ while
e2fsprogs installs at /usr/sbin/. This causes issues if a user is
expecting the to use the full version from a prompt via 'tune2fs'
since busybox's tune2fs will be found first from the default path
search.

Fix this by removing the busybox version of tune2fs when a user has
selected the option to install tune2fs from e2fsprogs.

[Thomas: don't hijack E2FSPROGS_TARGET_TUNE2FS_SYMLINK for the removal
and instead introduce a separate E2FSPROGS_REMOVE_BUSYBOX_APPLETS post
install target hook, and do related code re-organization.]

Signed-off-by: default avatarRyan Barnett <ryan.barnett@rockwellcollins.com>
Reviewed-by: default avatarBaruch Siach <baruch@tkos.co.il>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent 1f640a4e
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -102,6 +102,20 @@ ifeq ($(BR2_PACKAGE_E2FSPROGS_E2FSCK),y)
E2FSPROGS_POST_INSTALL_TARGET_HOOKS += E2FSPROGS_TARGET_E2FSCK_SYMLINKS
endif

# Remove busybox tune2fs and e2label, since we want the e2fsprogs full
# blown variants to take precedence, but they are not installed in the
# same location.
ifeq ($(BR2_PACKAGE_BUSYBOX),y)
E2FSPROGS_DEPENDENCIES += busybox

define E2FSPROGS_REMOVE_BUSYBOX_APPLETS
	$(RM) -f $(TARGET_DIR)/sbin/tune2fs
	$(RM) -f $(TARGET_DIR)/sbin/e2label

endef
E2FSPROGS_POST_INSTALL_TARGET_HOOKS += E2FSPROGS_REMOVE_BUSYBOX_APPLETS
endif

define E2FSPROGS_TARGET_TUNE2FS_SYMLINK
	ln -sf e2label $(TARGET_DIR)/usr/sbin/tune2fs
endef