Skip to contentSkip to conversation

fs/iso9660: add dependencies for make source

PATCH New Karoly Kasza 2 participants 2 messages Oct 18, 2014 – Oct 19, 2014

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 fs/iso9660: add dependencies for make source

The "iso image" rootfs target is a special one, as it does not use the ROOTFS_TARGET infrastructure. The absence of ROOTFS_*_DEPENDENCIES variable makes "make source" to skip this target's dependencies (namely host-cdrkit and it's children) obstructing an offline build.

---

Changes v1 -> v2:
- Changed local target's dependencies to variable
- Changed dependencies order to alphabetical

 fs/iso9660/iso9660.mk |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
fs/iso9660/iso9660.mk +3 -1
index b0e755d..2d6735e 100644
@@ -10,7 +10,9 @@
 ISO9660_TARGET_DIR = $(BUILD_DIR)/iso9660
 ISO9660_BOOT_MENU := $(call qstrip,$(BR2_TARGET_ROOTFS_ISO9660_BOOT_MENU))
 
-$(BINARIES_DIR)/rootfs.iso9660: host-cdrkit host-fakeroot linux rootfs-cpio grub
+ROOTFS_ISO9660_DEPENDENCIES = grub host-cdrkit host-fakeroot linux rootfs-cpio
+
+$(BINARIES_DIR)/rootfs.iso9660: $(ROOTFS_ISO9660_DEPENDENCIES)
 	@$(call MESSAGE,"Generating root filesystem image rootfs.iso9660")
 	mkdir -p $(ISO9660_TARGET_DIR)
 	mkdir -p $(ISO9660_TARGET_DIR)/boot/grub
Signature · 1 line
1.7.10.4
#1 lore raw

PATCH v2 1/1 fs/iso9660: add dependencies for make source

Dear Karoly Kasza,

Quoted 6 lines · Karoly Kasza

The "iso image" rootfs target is a special one, as it does not use the ROOTFS_TARGET infrastructure. The absence of ROOTFS_*_DEPENDENCIES variable makes "make source" to skip this target's dependencies (namely host-cdrkit and it's children) obstructing an offline build.

Thanks applied. Two notes:

* I've added a rootfs-iso9660-show-depends target, otherwise 'make graph-depends' was failing when iso9660 was selected.

* The solution you've used, to add the ROOTFS_ISO9660_DEPENDENCIES really only works because of the way the main Makefile gets the dependencies for host packages. But as we've discussed in a separate way, this mechanism is broken, and should be replaced by a mechanism that relies on the package infrastructure. And when that will be done, iso9660 will break again. We should probably at some point figure out a way of getting the iso9660 support properly integrated as a normal filesystem type.

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com