ソースを参照

package/dosfstools: add missing symlinks

Install alternative symlinks for dosfstools mkfs.fat, fsck.fat and
fatlabel. Those symlinks are generally installed by make install, but
buildroot does not use make install for dosfstools, but symlinks should
be installed anyway.

[Thomas: rewrite the installation logic to use make style code rather
than shell code.]

Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Maxim Mikityanskiy 10 年 前
コミット
cef6a787ca
1 ファイル変更27 行追加10 行削除
  1. 27 10
      package/dosfstools/dosfstools.mk

+ 27 - 10
package/dosfstools/dosfstools.mk

@@ -20,23 +20,40 @@ DOSFSTOOLS_DEPENDENCIES += libiconv
 DOSFSTOOLS_LDLIBS += -liconv
 DOSFSTOOLS_LDLIBS += -liconv
 endif
 endif
 
 
-FATLABEL_BINARY = fatlabel
-FSCK_FAT_BINARY = fsck.fat
-MKFS_FAT_BINARY = mkfs.fat
-
 define DOSFSTOOLS_BUILD_CMDS
 define DOSFSTOOLS_BUILD_CMDS
 	$(MAKE) $(TARGET_CONFIGURE_OPTS) \
 	$(MAKE) $(TARGET_CONFIGURE_OPTS) \
 		CFLAGS="$(DOSFSTOOLS_CFLAGS)" LDLIBS="$(DOSFSTOOLS_LDLIBS)" -C $(@D)
 		CFLAGS="$(DOSFSTOOLS_CFLAGS)" LDLIBS="$(DOSFSTOOLS_LDLIBS)" -C $(@D)
 endef
 endef
 
 
-DOSFSTOOLS_INSTALL_BIN_FILES_$(BR2_PACKAGE_DOSFSTOOLS_FATLABEL)+=$(FATLABEL_BINARY)
-DOSFSTOOLS_INSTALL_BIN_FILES_$(BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT)+=$(FSCK_FAT_BINARY)
-DOSFSTOOLS_INSTALL_BIN_FILES_$(BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT)+=$(MKFS_FAT_BINARY)
+ifeq ($(BR2_PACKAGE_DOSFSTOOLS_FATLABEL),y)
+define DOSFSTOOLS_INSTALL_FATLABEL
+	$(INSTALL) -D -m 755 $(@D)/fatlabel $(TARGET_DIR)/sbin/fatlabel
+	ln -sf fatlabel $(TARGET_DIR)/sbin/dosfslabel
+endef
+endif
+
+ifeq ($(BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT),y)
+define DOSFSTOOLS_INSTALL_FSCK_FAT
+	$(INSTALL) -D -m 755 $(@D)/fsck.fat $(TARGET_DIR)/sbin/fsck.fat
+	ln -fs fsck.fat $(TARGET_DIR)/sbin/dosfsck
+	ln -fs fsck.fat $(TARGET_DIR)/sbin/fsck.msdos
+	ln -fs fsck.fat $(TARGET_DIR)/sbin/fsck.vfat
+endef
+endif
+
+ifeq ($(BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT),y)
+define DOSFSTOOLS_INSTALL_MKFS_FAT
+	$(INSTALL) -D -m 755 $(@D)/mkfs.fat $(TARGET_DIR)/sbin/mkfs.fat
+	ln -fs mkfs.fat $(TARGET_DIR)/sbin/mkdosfs
+	ln -fs mkfs.fat $(TARGET_DIR)/sbin/mkfs.msdos
+	ln -fs mkfs.fat $(TARGET_DIR)/sbin/mkfs.vfat
+endef
+endif
 
 
 define DOSFSTOOLS_INSTALL_TARGET_CMDS
 define DOSFSTOOLS_INSTALL_TARGET_CMDS
-	test -z "$(DOSFSTOOLS_INSTALL_BIN_FILES_y)" || \
-	$(INSTALL) -m 755 $(addprefix $(@D)/,$(DOSFSTOOLS_INSTALL_BIN_FILES_y)) \
-		$(TARGET_DIR)/sbin/
+	$(DOSFSTOOLS_INSTALL_FATLABEL)
+	$(DOSFSTOOLS_INSTALL_FSCK_FAT)
+	$(DOSFSTOOLS_INSTALL_MKFS_FAT)
 endef
 endef
 
 
 define HOST_DOSFSTOOLS_BUILD_CMDS
 define HOST_DOSFSTOOLS_BUILD_CMDS