Message ID | E1ZoWXk-0007DX-SY@rmk-PC.arm.linux.org.uk (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Hey Russell, On Tue, Oct 20, 2015 at 02:01:32PM +0100, Russell King wrote: > No other kernel installation target moves the target directory out of > the way, even deleting an old version of it. These are destructive > operations, ones which the kernel build system should not be making. > > This behaviour prevents being able to do: > > make install INSTALL_PATH=/some/path/boot > make dtbs_install INSTALL_DTBS_PATH=/some/path/boot > > As it causes the boot directory containing the kernel installed in > step 1 to be moved to /some/path/boot.old. Things get even more fun > if you do: > > make install dtbs_install INSTALL_PATH=/some/path/boot INSTALL_DTBS_PATH=/some/path/boot > > The kernel gets installed into /some/path/boot, then the directory gets > renamed to /some/path/boot.old, and a new directory created to hold the > dtbs. Even more fun if you supply -j2 when we end up with races in > make. > > Remove this behaviour. > > If this behaviour is required at installation time, this should be > done by the installation external to the kernel makefiles, just like > it would be done for 'make modules_install'. > > Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Jason Cooper <jason@lakedaemon.net> fwiw, I honestly don't remember adding this brokenness, but the git history doesn't lie: f4d4ffc03efc8 kbuild: dtbs_install: new make target thx, Jason. > --- > scripts/Makefile.dtbinst | 2 -- > 1 file changed, 2 deletions(-) > > diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst > index 1c15717e0d56..a1be75d0a5fd 100644 > --- a/scripts/Makefile.dtbinst > +++ b/scripts/Makefile.dtbinst > @@ -23,8 +23,6 @@ include $(src)/Makefile > PHONY += __dtbs_install_prep > __dtbs_install_prep: > ifeq ("$(dtbinst-root)", "$(obj)") > - $(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) > endif > > -- > 2.1.0 > -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
So what needs to happen to get this change merged? On Tue, Oct 20, 2015 at 01:20:02PM +0000, Jason Cooper wrote: > Hey Russell, > > On Tue, Oct 20, 2015 at 02:01:32PM +0100, Russell King wrote: > > No other kernel installation target moves the target directory out of > > the way, even deleting an old version of it. These are destructive > > operations, ones which the kernel build system should not be making. > > > > This behaviour prevents being able to do: > > > > make install INSTALL_PATH=/some/path/boot > > make dtbs_install INSTALL_DTBS_PATH=/some/path/boot > > > > As it causes the boot directory containing the kernel installed in > > step 1 to be moved to /some/path/boot.old. Things get even more fun > > if you do: > > > > make install dtbs_install INSTALL_PATH=/some/path/boot INSTALL_DTBS_PATH=/some/path/boot > > > > The kernel gets installed into /some/path/boot, then the directory gets > > renamed to /some/path/boot.old, and a new directory created to hold the > > dtbs. Even more fun if you supply -j2 when we end up with races in > > make. > > > > Remove this behaviour. > > > > If this behaviour is required at installation time, this should be > > done by the installation external to the kernel makefiles, just like > > it would be done for 'make modules_install'. > > > > Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> > > Acked-by: Jason Cooper <jason@lakedaemon.net> > > fwiw, I honestly don't remember adding this brokenness, but the git > history doesn't lie: > > f4d4ffc03efc8 kbuild: dtbs_install: new make target > > thx, > > Jason. > > > --- > > scripts/Makefile.dtbinst | 2 -- > > 1 file changed, 2 deletions(-) > > > > diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst > > index 1c15717e0d56..a1be75d0a5fd 100644 > > --- a/scripts/Makefile.dtbinst > > +++ b/scripts/Makefile.dtbinst > > @@ -23,8 +23,6 @@ include $(src)/Makefile > > PHONY += __dtbs_install_prep > > __dtbs_install_prep: > > ifeq ("$(dtbinst-root)", "$(obj)") > > - $(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) > > endif > > > > -- > > 2.1.0 > >
Dne 27.1.2016 v 21:18 Russell King - ARM Linux napsal(a):
> So what needs to happen to get this change merged?
Rob, Grant, shall I merged it to the kbuild tree or do you want to take it?
Thanks,
Michal
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
On Wed, Jan 27, 2016 at 3:32 PM, Michal Marek <mmarek@suse.com> wrote: > Dne 27.1.2016 v 21:18 Russell King - ARM Linux napsal(a): >> So what needs to happen to get this change merged? > > Rob, Grant, shall I merged it to the kbuild tree or do you want to take it? Yes, please take it. Acked-by: Rob Herring <robh@kernel.org> Rob -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Dne 28.1.2016 v 02:13 Rob Herring napsal(a): > On Wed, Jan 27, 2016 at 3:32 PM, Michal Marek <mmarek@suse.com> wrote: >> Dne 27.1.2016 v 21:18 Russell King - ARM Linux napsal(a): >>> So what needs to happen to get this change merged? >> >> Rob, Grant, shall I merged it to the kbuild tree or do you want to take it? > > Yes, please take it. > > Acked-by: Rob Herring <robh@kernel.org> Done. Michal -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/scripts/Makefile.dtbinst b/scripts/Makefile.dtbinst index 1c15717e0d56..a1be75d0a5fd 100644 --- a/scripts/Makefile.dtbinst +++ b/scripts/Makefile.dtbinst @@ -23,8 +23,6 @@ include $(src)/Makefile PHONY += __dtbs_install_prep __dtbs_install_prep: ifeq ("$(dtbinst-root)", "$(obj)") - $(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) endif
No other kernel installation target moves the target directory out of the way, even deleting an old version of it. These are destructive operations, ones which the kernel build system should not be making. This behaviour prevents being able to do: make install INSTALL_PATH=/some/path/boot make dtbs_install INSTALL_DTBS_PATH=/some/path/boot As it causes the boot directory containing the kernel installed in step 1 to be moved to /some/path/boot.old. Things get even more fun if you do: make install dtbs_install INSTALL_PATH=/some/path/boot INSTALL_DTBS_PATH=/some/path/boot The kernel gets installed into /some/path/boot, then the directory gets renamed to /some/path/boot.old, and a new directory created to hold the dtbs. Even more fun if you supply -j2 when we end up with races in make. Remove this behaviour. If this behaviour is required at installation time, this should be done by the installation external to the kernel makefiles, just like it would be done for 'make modules_install'. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> --- scripts/Makefile.dtbinst | 2 -- 1 file changed, 2 deletions(-)