* [PATCH] Drop vmlinux dependency from "make install" @ 2006-01-08 1:00 H. Peter Anvin 2006-01-08 1:08 ` Linus Torvalds 2006-01-09 20:55 ` [PATCH] Drop vmlinux dependency from "make install" Sam Ravnborg 0 siblings, 2 replies; 4+ messages in thread From: H. Peter Anvin @ 2006-01-08 1:00 UTC (permalink / raw) To: linux-kernel, Linus Torvalds [-- Attachment #1: Type: text/plain, Size: 0 bytes --] [-- Attachment #2: clean-install --] [-- Type: text/plain, Size: 3192 bytes --] [i386, x86_64] Remove the dependency vmlinux -> install This removes the dependency from vmlinux to install, thus avoiding the current situation where "make install" has a nasty tendency to leave root-turds in the working directory. It also updates x86-64 to be in sync with i386. Signed-off-by: H. Peter Anvin <hpa@zytor.com> diff --git a/arch/i386/Makefile b/arch/i386/Makefile index d121ea1..77bb67b 100644 --- a/arch/i386/Makefile +++ b/arch/i386/Makefile @@ -125,7 +125,6 @@ zdisk bzdisk: vmlinux fdimage fdimage144 fdimage288: vmlinux $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) $@ -install: vmlinux install kernel_install: $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) install diff --git a/arch/i386/boot/Makefile b/arch/i386/boot/Makefile index 1e71382..0fea75d 100644 --- a/arch/i386/boot/Makefile +++ b/arch/i386/boot/Makefile @@ -100,5 +100,5 @@ zlilo: $(BOOTIMAGE) cp System.map $(INSTALL_PATH)/ if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi -install: $(BOOTIMAGE) +install: sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $< System.map "$(INSTALL_PATH)" diff --git a/arch/i386/boot/install.sh b/arch/i386/boot/install.sh index f17b40d..ee336cb 100644 --- a/arch/i386/boot/install.sh +++ b/arch/i386/boot/install.sh @@ -19,6 +19,17 @@ # $4 - default install path (blank if root directory) # +verify () { + if [ ! -f "$1" ]; then + echo "Missing file: $1" 1>&2 + exit 1 + fi +} + +# Make sure the files actually exist +verify "$2" +verify "$3" + # User may have a custom install script if [ -x ~/bin/${CROSS_COMPILE}installkernel ]; then exec ~/bin/${CROSS_COMPILE}installkernel "$@"; fi diff --git a/arch/x86_64/Makefile b/arch/x86_64/Makefile index a9cd42e..1d6e735 100644 --- a/arch/x86_64/Makefile +++ b/arch/x86_64/Makefile @@ -80,9 +80,12 @@ bzlilo: vmlinux bzdisk: vmlinux $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(BOOTIMAGE) zdisk -install fdimage fdimage144 fdimage288: vmlinux +fdimage fdimage144 fdimage288: vmlinux $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(BOOTIMAGE) $@ +install kernel_install: + $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(BOOTIMAGE) install + archclean: $(Q)$(MAKE) $(clean)=$(boot) diff --git a/arch/x86_64/boot/Makefile b/arch/x86_64/boot/Makefile index 18c6e91..29f8396 100644 --- a/arch/x86_64/boot/Makefile +++ b/arch/x86_64/boot/Makefile @@ -98,5 +98,5 @@ zlilo: $(BOOTIMAGE) cp System.map $(INSTALL_PATH)/ if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi -install: $(BOOTIMAGE) +install: sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(BOOTIMAGE) System.map "$(INSTALL_PATH)" diff --git a/arch/x86_64/boot/install.sh b/arch/x86_64/boot/install.sh index 198af15..1f87544 100644 --- a/arch/x86_64/boot/install.sh +++ b/arch/x86_64/boot/install.sh @@ -19,6 +19,17 @@ # $4 - default install path (blank if root directory) # +verify () { + if [ ! -f "$1" ]; then + echo "Missing file: $1" 1>&2 + exit 1 + fi +} + +# Make sure the files actually exist +verify "$2" +verify "$3" + # User may have a custom install script if [ -x ~/bin/${CROSS_COMPILE}installkernel ]; then exec ~/bin/${CROSS_COMPILE}installkernel "$@"; fi ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] Drop vmlinux dependency from "make install" 2006-01-08 1:00 [PATCH] Drop vmlinux dependency from "make install" H. Peter Anvin @ 2006-01-08 1:08 ` Linus Torvalds 2006-01-08 1:38 ` [PATCH] Drop vmlinux dependency from "make install" (take 2) H. Peter Anvin 2006-01-09 20:55 ` [PATCH] Drop vmlinux dependency from "make install" Sam Ravnborg 1 sibling, 1 reply; 4+ messages in thread From: Linus Torvalds @ 2006-01-08 1:08 UTC (permalink / raw) To: H. Peter Anvin; +Cc: linux-kernel I think you should make the error messages a bit more informative. Like saying You need to build the tree before you can install it instead of saying "missing file: xyzzy". Linus ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] Drop vmlinux dependency from "make install" (take 2) 2006-01-08 1:08 ` Linus Torvalds @ 2006-01-08 1:38 ` H. Peter Anvin 0 siblings, 0 replies; 4+ messages in thread From: H. Peter Anvin @ 2006-01-08 1:38 UTC (permalink / raw) To: Linus Torvalds; +Cc: linux-kernel [-- Attachment #1: Type: text/plain, Size: 0 bytes --] [-- Attachment #2: clean-install --] [-- Type: text/plain, Size: 4197 bytes --] [i386, x86_64] Remove the dependency vmlinux -> install This removes the dependency from vmlinux to install, thus avoiding the current situation where "make install" has a nasty tendency to leave root-turds in the working directory. It also updates x86-64 to be in sync with i386. Signed-off-by: H. Peter Anvin <hpa@zytor.com> diff --git a/arch/i386/Makefile b/arch/i386/Makefile index d121ea1..77bb67b 100644 --- a/arch/i386/Makefile +++ b/arch/i386/Makefile @@ -125,7 +125,6 @@ zdisk bzdisk: vmlinux fdimage fdimage144 fdimage288: vmlinux $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) $@ -install: vmlinux install kernel_install: $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) install diff --git a/arch/i386/boot/Makefile b/arch/i386/boot/Makefile index 1e71382..0fea75d 100644 --- a/arch/i386/boot/Makefile +++ b/arch/i386/boot/Makefile @@ -100,5 +100,5 @@ zlilo: $(BOOTIMAGE) cp System.map $(INSTALL_PATH)/ if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi -install: $(BOOTIMAGE) +install: sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $< System.map "$(INSTALL_PATH)" diff --git a/arch/i386/boot/install.sh b/arch/i386/boot/install.sh index f17b40d..7c88c9b 100644 --- a/arch/i386/boot/install.sh +++ b/arch/i386/boot/install.sh @@ -19,6 +19,18 @@ # $4 - default install path (blank if root directory) # +verify () { + if [ ! -f "$1" ]; then + echo "Missing file: $1" 1>&2 + echo 'You need to run "make" before "make install".' 1>&2 + exit 1 + fi +} + +# Make sure the files actually exist +verify "$2" +verify "$3" + # User may have a custom install script if [ -x ~/bin/${CROSS_COMPILE}installkernel ]; then exec ~/bin/${CROSS_COMPILE}installkernel "$@"; fi diff --git a/arch/x86_64/Makefile b/arch/x86_64/Makefile index a9cd42e..1d6e735 100644 --- a/arch/x86_64/Makefile +++ b/arch/x86_64/Makefile @@ -80,9 +80,12 @@ bzlilo: vmlinux bzdisk: vmlinux $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(BOOTIMAGE) zdisk -install fdimage fdimage144 fdimage288: vmlinux +fdimage fdimage144 fdimage288: vmlinux $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(BOOTIMAGE) $@ +install kernel_install: + $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(BOOTIMAGE) install + archclean: $(Q)$(MAKE) $(clean)=$(boot) diff --git a/arch/x86_64/boot/Makefile b/arch/x86_64/boot/Makefile index 18c6e91..29f8396 100644 --- a/arch/x86_64/boot/Makefile +++ b/arch/x86_64/boot/Makefile @@ -98,5 +98,5 @@ zlilo: $(BOOTIMAGE) cp System.map $(INSTALL_PATH)/ if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi -install: $(BOOTIMAGE) +install: sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(BOOTIMAGE) System.map "$(INSTALL_PATH)" diff --git a/arch/x86_64/boot/install.sh b/arch/x86_64/boot/install.sh deleted file mode 100644 index 198af15..9c99df6 --- a/arch/x86_64/boot/install.sh +++ /dev/null @@ -1,40 +0,0 @@ -#!/bin/sh -# -# arch/x86_64/boot/install.sh -# -# This file is subject to the terms and conditions of the GNU General Public -# License. See the file "COPYING" in the main directory of this archive -# for more details. -# -# Copyright (C) 1995 by Linus Torvalds -# -# Adapted from code in arch/i386/boot/Makefile by H. Peter Anvin -# -# "make install" script for i386 architecture -# -# Arguments: -# $1 - kernel version -# $2 - kernel image file -# $3 - kernel map file -# $4 - default install path (blank if root directory) -# - -# User may have a custom install script - -if [ -x ~/bin/${CROSS_COMPILE}installkernel ]; then exec ~/bin/${CROSS_COMPILE}installkernel "$@"; fi -if [ -x /sbin/${CROSS_COMPILE}installkernel ]; then exec /sbin/${CROSS_COMPILE}installkernel "$@"; fi - -# Default install - same as make zlilo - -if [ -f $4/vmlinuz ]; then - mv $4/vmlinuz $4/vmlinuz.old -fi - -if [ -f $4/System.map ]; then - mv $4/System.map $4/System.old -fi - -cat $2 > $4/vmlinuz -cp $3 $4/System.map - -if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi diff --git a/arch/x86_64/boot/install.sh b/arch/x86_64/boot/install.sh new file mode 120000 index 198af15..9c99df6 --- /dev/null +++ b/arch/x86_64/boot/install.sh @@ -0,0 +1 @@ +../../i386/boot/install.sh \ No newline at end of file ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] Drop vmlinux dependency from "make install" 2006-01-08 1:00 [PATCH] Drop vmlinux dependency from "make install" H. Peter Anvin 2006-01-08 1:08 ` Linus Torvalds @ 2006-01-09 20:55 ` Sam Ravnborg 1 sibling, 0 replies; 4+ messages in thread From: Sam Ravnborg @ 2006-01-09 20:55 UTC (permalink / raw) To: H. Peter Anvin; +Cc: linux-kernel, Linus Torvalds On Sat, Jan 07, 2006 at 05:00:16PM -0800, H. Peter Anvin wrote: > [i386, x86_64] Remove the dependency vmlinux -> install > > This removes the dependency from vmlinux to install, thus avoiding the > current situation where "make install" has a nasty tendency to leave > root-turds in the working directory. > > It also updates x86-64 to be in sync with i386. > > Signed-off-by: H. Peter Anvin <hpa@zytor.com> I have applied the following patch. It is take 2 edited a bit by me. Sam diff-tree 0d20babd86b40fa5ac55d9ebf31d05f6f7082161 (from 63b794bfd898899cc8b6d4679d4fdc486606194b) Author: H. Peter Anvin <hpa@zytor.com> Date: Sat Jan 7 17:38:39 2006 -0800 kbuild: drop vmlinux dependency from "make install" This removes the dependency from vmlinux to install, thus avoiding the current situation where "make install" has a nasty tendency to leave root-turds in the working directory. It also updates x86-64 to be in sync with i386. Signed-off-by: H. Peter Anvin <hpa@zytor.com> Signed-off-by: Sam Ravnborg <sam@ravnborg.org> diff --git a/arch/i386/Makefile b/arch/i386/Makefile index 8f6b90e..d3c0409 100644 --- a/arch/i386/Makefile +++ b/arch/i386/Makefile @@ -101,11 +101,11 @@ CFLAGS += $(mflags-y) AFLAGS += $(mflags-y) boot := arch/i386/boot .PHONY: zImage bzImage compressed zlilo bzlilo \ - zdisk bzdisk fdimage fdimage144 fdimage288 install kernel_install + zdisk bzdisk fdimage fdimage144 fdimage288 install all: bzImage # KBUILD_IMAGE specify target image being built KBUILD_IMAGE := $(boot)/bzImage @@ -123,12 +123,11 @@ zdisk bzdisk: vmlinux $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) zdisk fdimage fdimage144 fdimage288: vmlinux $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) $@ -install: vmlinux -install kernel_install: +install: $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) install archclean: $(Q)$(MAKE) $(clean)=arch/i386/boot diff --git a/arch/i386/boot/Makefile b/arch/i386/boot/Makefile index 1e71382..0fea75d 100644 --- a/arch/i386/boot/Makefile +++ b/arch/i386/boot/Makefile @@ -98,7 +98,7 @@ zlilo: $(BOOTIMAGE) if [ -f $(INSTALL_PATH)/System.map ]; then mv $(INSTALL_PATH)/System.map $(INSTALL_PATH)/System.old; fi cat $(BOOTIMAGE) > $(INSTALL_PATH)/vmlinuz cp System.map $(INSTALL_PATH)/ if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi -install: $(BOOTIMAGE) +install: sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $< System.map "$(INSTALL_PATH)" diff --git a/arch/i386/boot/install.sh b/arch/i386/boot/install.sh index f17b40d..5e44c73 100644 --- a/arch/i386/boot/install.sh +++ b/arch/i386/boot/install.sh @@ -17,10 +17,24 @@ # $2 - kernel image file # $3 - kernel map file # $4 - default install path (blank if root directory) # +verify () { + if [ ! -f "$1" ]; then + echo "" 1>&2 + echo " *** Missing file: $1" 1>&2 + echo ' *** You need to run "make" before "make install".' 1>&2 + echo "" 1>&2 + exit 1 + fi +} + +# Make sure the files actually exist +verify "$2" +verify "$3" + # User may have a custom install script if [ -x ~/bin/${CROSS_COMPILE}installkernel ]; then exec ~/bin/${CROSS_COMPILE}installkernel "$@"; fi if [ -x /sbin/${CROSS_COMPILE}installkernel ]; then exec /sbin/${CROSS_COMPILE}installkernel "$@"; fi diff --git a/arch/x86_64/Makefile b/arch/x86_64/Makefile index a9cd42e..51d8328 100644 --- a/arch/x86_64/Makefile +++ b/arch/x86_64/Makefile @@ -78,13 +78,16 @@ bzlilo: vmlinux $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(BOOTIMAGE) zlilo bzdisk: vmlinux $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(BOOTIMAGE) zdisk -install fdimage fdimage144 fdimage288: vmlinux +fdimage fdimage144 fdimage288: vmlinux $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(BOOTIMAGE) $@ +install: + $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(BOOTIMAGE) $@ + archclean: $(Q)$(MAKE) $(clean)=$(boot) define archhelp echo '* bzImage - Compressed kernel image (arch/$(ARCH)/boot/bzImage)' diff --git a/arch/x86_64/boot/Makefile b/arch/x86_64/boot/Makefile index 18c6e91..29f8396 100644 --- a/arch/x86_64/boot/Makefile +++ b/arch/x86_64/boot/Makefile @@ -96,7 +96,7 @@ zlilo: $(BOOTIMAGE) if [ -f $(INSTALL_PATH)/System.map ]; then mv $(INSTALL_PATH)/System.map $(INSTALL_PATH)/System.old; fi cat $(BOOTIMAGE) > $(INSTALL_PATH)/vmlinuz cp System.map $(INSTALL_PATH)/ if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi -install: $(BOOTIMAGE) +install: sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(BOOTIMAGE) System.map "$(INSTALL_PATH)" diff --git a/arch/x86_64/boot/install.sh b/arch/x86_64/boot/install.sh index 198af15..baaa236 100644 --- a/arch/x86_64/boot/install.sh +++ b/arch/x86_64/boot/install.sh @@ -1,40 +1,2 @@ #!/bin/sh -# -# arch/x86_64/boot/install.sh -# -# This file is subject to the terms and conditions of the GNU General Public -# License. See the file "COPYING" in the main directory of this archive -# for more details. -# -# Copyright (C) 1995 by Linus Torvalds -# -# Adapted from code in arch/i386/boot/Makefile by H. Peter Anvin -# -# "make install" script for i386 architecture -# -# Arguments: -# $1 - kernel version -# $2 - kernel image file -# $3 - kernel map file -# $4 - default install path (blank if root directory) -# - -# User may have a custom install script - -if [ -x ~/bin/${CROSS_COMPILE}installkernel ]; then exec ~/bin/${CROSS_COMPILE}installkernel "$@"; fi -if [ -x /sbin/${CROSS_COMPILE}installkernel ]; then exec /sbin/${CROSS_COMPILE}installkernel "$@"; fi - -# Default install - same as make zlilo - -if [ -f $4/vmlinuz ]; then - mv $4/vmlinuz $4/vmlinuz.old -fi - -if [ -f $4/System.map ]; then - mv $4/System.map $4/System.old -fi - -cat $2 > $4/vmlinuz -cp $3 $4/System.map - -if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi +. $srctree/arch/i386/boot/install.sh > > diff --git a/arch/i386/Makefile b/arch/i386/Makefile > index d121ea1..77bb67b 100644 > --- a/arch/i386/Makefile > +++ b/arch/i386/Makefile > @@ -125,7 +125,6 @@ zdisk bzdisk: vmlinux > fdimage fdimage144 fdimage288: vmlinux > $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) $@ > > -install: vmlinux > install kernel_install: > $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) install > > diff --git a/arch/i386/boot/Makefile b/arch/i386/boot/Makefile > index 1e71382..0fea75d 100644 > --- a/arch/i386/boot/Makefile > +++ b/arch/i386/boot/Makefile > @@ -100,5 +100,5 @@ zlilo: $(BOOTIMAGE) > cp System.map $(INSTALL_PATH)/ > if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi > > -install: $(BOOTIMAGE) > +install: > sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $< System.map "$(INSTALL_PATH)" > diff --git a/arch/i386/boot/install.sh b/arch/i386/boot/install.sh > index f17b40d..ee336cb 100644 > --- a/arch/i386/boot/install.sh > +++ b/arch/i386/boot/install.sh > @@ -19,6 +19,17 @@ > # $4 - default install path (blank if root directory) > # > > +verify () { > + if [ ! -f "$1" ]; then > + echo "Missing file: $1" 1>&2 > + exit 1 > + fi > +} > + > +# Make sure the files actually exist > +verify "$2" > +verify "$3" > + > # User may have a custom install script > > if [ -x ~/bin/${CROSS_COMPILE}installkernel ]; then exec ~/bin/${CROSS_COMPILE}installkernel "$@"; fi > diff --git a/arch/x86_64/Makefile b/arch/x86_64/Makefile > index a9cd42e..1d6e735 100644 > --- a/arch/x86_64/Makefile > +++ b/arch/x86_64/Makefile > @@ -80,9 +80,12 @@ bzlilo: vmlinux > bzdisk: vmlinux > $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(BOOTIMAGE) zdisk > > -install fdimage fdimage144 fdimage288: vmlinux > +fdimage fdimage144 fdimage288: vmlinux > $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(BOOTIMAGE) $@ > > +install kernel_install: > + $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(BOOTIMAGE) install > + > archclean: > $(Q)$(MAKE) $(clean)=$(boot) > > diff --git a/arch/x86_64/boot/Makefile b/arch/x86_64/boot/Makefile > index 18c6e91..29f8396 100644 > --- a/arch/x86_64/boot/Makefile > +++ b/arch/x86_64/boot/Makefile > @@ -98,5 +98,5 @@ zlilo: $(BOOTIMAGE) > cp System.map $(INSTALL_PATH)/ > if [ -x /sbin/lilo ]; then /sbin/lilo; else /etc/lilo/install; fi > > -install: $(BOOTIMAGE) > +install: > sh $(srctree)/$(src)/install.sh $(KERNELRELEASE) $(BOOTIMAGE) System.map "$(INSTALL_PATH)" > diff --git a/arch/x86_64/boot/install.sh b/arch/x86_64/boot/install.sh > index 198af15..1f87544 100644 > --- a/arch/x86_64/boot/install.sh > +++ b/arch/x86_64/boot/install.sh > @@ -19,6 +19,17 @@ > # $4 - default install path (blank if root directory) > # > > +verify () { > + if [ ! -f "$1" ]; then > + echo "Missing file: $1" 1>&2 > + exit 1 > + fi > +} > + > +# Make sure the files actually exist > +verify "$2" > +verify "$3" > + > # User may have a custom install script > > if [ -x ~/bin/${CROSS_COMPILE}installkernel ]; then exec ~/bin/${CROSS_COMPILE}installkernel "$@"; fi ^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2006-01-09 20:55 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2006-01-08 1:00 [PATCH] Drop vmlinux dependency from "make install" H. Peter Anvin 2006-01-08 1:08 ` Linus Torvalds 2006-01-08 1:38 ` [PATCH] Drop vmlinux dependency from "make install" (take 2) H. Peter Anvin 2006-01-09 20:55 ` [PATCH] Drop vmlinux dependency from "make install" Sam Ravnborg
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.