[PATCH V6] kbuild: dtbs_install: new make target
From: Jason Cooper <hidden>
Date: 2015-03-28 15:58:22
Also in:
linux-devicetree
Russell, On Sat, Mar 28, 2015 at 01:23:20PM +0000, Russell King - ARM Linux wrote:
Okay, I'm digging up an old version of this patch - v7 was merged but I find *nowhere* where that version was posted to people involved in this discussion.
fwiw, I just went through my archive of patch submissions: $ ls ~/projects/linux/dtbs_install/ v2 v3 v4 v5 v6 $ I never wrote a v7. :-( Regardless,
The reason is that I would've commented on v7, because of this stupid thing (which is now in scripts/Makefile.dtbsinst): + $(Q)if [ -d $(INSTALL_DTBS_PATH).old ]; then rm -rf $(INSTALL_DTBS_PATH).old; fi + $(Q)if [ -d $(INSTALL_DTBS_PATH) ]; then mv $(INSTALL_DTBS_PATH) $(INSTALL_DTBS_PATH).old; fi + $(Q)mkdir -p $(INSTALL_DTBS_PATH) What gives any kernel installation target the right to move a directory out of the way? Let's say that you do this: make install INSTALL_PATH=$sys_root/boot make dtbs_install INSTALL_DTBS_PATH=$sys_root/boot The result is that dtbs_install thinks it has the right to rename that boot directory to boot.old, create a new one, and place the DTBs in there, thereby leaving you with no kernel to boot - and if you run it again, it _deletes_ the original directory. No *other* kernel install target has this behaviour, not even 'make modules_installl'. This is stupid and dangerous behaviour. At the very least, this behaviour should be *well* documented.
you are correct. This should be fixed. thx, Jason.