On Thu, Feb 08, 2007 at 09:32:57AM -0600, Manoj Srivastava wrote: > What make-kpkg does is to move the Makefile out of the way > early in the build (in the configure phase): > ====================================================================== > test ! -e scripts/package/builddeb || \ > mv -f scripts/package/builddeb scripts/package/builddeb.kpkg-dist > test ! -e scripts/package/Makefile || \ > (mv -f scripts/package/Makefile scripts/package/Makefile.kpkg-dist && \ > (echo "# Dummy file "; echo "help:") > scripts/package/Makefile) > ====================================================================== > > And restores it late in the clean. > > Now, is there something that prevents this nuking of > scripts/package/Makefile? What are the contents of that file after > the build is done? (It should say # Dummy file , etc.). Does the > patch restore the file, or something?
After the build, scrips/package/Makefile has the following contents: # Dummy file help: After the failed clean, the contents of scripts/package/Makefile was obviously restored and contains again the "Makefile for the different targets used". Please also note that I can reproduce the issue and am not applying any kernel patches, neither before or during the build process. I am attaching a typescript. Greetings Marc -- ----------------------------------------------------------------------------- Marc Haber | "I don't trust Computers. They | Mailadresse im Header Mannheim, Germany | lose things." Winona Ryder | Fon: *49 621 72739834 Nordisch by Nature | How to make an American Quilt | Fax: *49 621 72739835
Script started on Sat Feb 24 11:19:19 2007 $ cd linux-2.6.20.1 /home/mh/linux/2.6.20.1/linux-2.6.20.1 $ make-kpkg --revision=4 clean exec debian/rules DEBIAN_REVISION=4 clean ====== making target CLN-common [new prereqs: testdir]====== ====== making target CLN-common [new prereqs: ]====== /usr/bin/make -f ./debian/rules real_stamp_clean make[1]: Entering directory `/home/mh/linux/2.6.20.1/linux-2.6.20.1' ====== making target real_stamp_clean [new prereqs: ]====== running clean test ! -f scripts/package/builddeb.kpkg-dist || \ mv -f scripts/package/builddeb.kpkg-dist scripts/package/builddeb test ! -f scripts/package/Makefile.kpkg-dist || \ mv -f scripts/package/Makefile.kpkg-dist scripts/package/Makefile test ! -f .config || cp -pf .config config.precious test ! -f Makefile || \ /usr/bin/make ARCH=i386 distclean make[2]: Entering directory `/home/mh/linux/2.6.20.1/linux-2.6.20.1' CLEAN scripts/basic CLEAN scripts/kconfig CLEAN /home/mh/linux/2.6.20.1/linux-2.6.20.1/debian/ CLEAN include/config CLEAN .config include/linux/autoconf.h make[2]: Leaving directory `/home/mh/linux/2.6.20.1/linux-2.6.20.1' test ! -f config.precious || mv -f config.precious .config /usr/bin/make -f ./debian/rules unpatch_now make[2]: Entering directory `/home/mh/linux/2.6.20.1/linux-2.6.20.1' make[2]: ./debian/rules: No such file or directory make[2]: *** No rule to make target `./debian/rules'. Stop. make[2]: Leaving directory `/home/mh/linux/2.6.20.1/linux-2.6.20.1' make[1]: *** [real_stamp_clean] Error 2 make[1]: Leaving directory `/home/mh/linux/2.6.20.1/linux-2.6.20.1' make: *** [CLN-common] Error 2 $ fakeroot make-kpkg --revision=4 clean exec make -f /usr/share/kernel-package/ruleset/minimal.mk clean DEBIAN_REVISION=4 ====== making target minimal_clean [new prereqs: ]====== Cleaning. test ! -f .config || cp -pf .config config.precious test ! -e stamp-building || rm -f stamp-building test ! -f Makefile || \ make ARCH=i386 distclean make[1]: Entering directory `/home/mh/linux/2.6.20.1/linux-2.6.20.1' CLEAN scripts/basic CLEAN scripts/kconfig CLEAN include/config CLEAN .config include/linux/autoconf.h make[1]: Leaving directory `/home/mh/linux/2.6.20.1/linux-2.6.20.1' test ! -f config.precious || mv -f config.precious .config rm -f modules/modversions.h modules/ksyms.ver conf.vars scripts/cramfs/cramfsck scripts/cramfs/mkcramfs applied_patches stamp-build stamp-configure stamp-image stamp-headers stamp-src stamp-diff stamp-doc stamp-manual stamp-patch stamp-buildpackage stamp-debian $ make-kpkg --append-to-version=-darren --revision=2.6.20.1.20070224.0 build exec make -f /usr/share/kernel-package/ruleset/minimal.mk debian DEBIAN_REVISION=2.6.20.1.20070224.0 APPEND_TO_VERSION=-darren ====== making target minimal_debian [new prereqs: ]====== This is kernel package version . test -d debian || mkdir debian test ! -e stamp-building || rm -f stamp-building test -f debian/control || sed -e 's/=V/2.6.20.1-darren/g' \ -e 's/=D/2.6.20.1.20070224.0/g' -e 's/=A/i386/g' \ -e 's/=SA//g' -e 's/=L/ /g' \ -e 's/=I//g' \ -e 's/=CV/2.6/g' \ -e 's/=M/Marc Haber <[EMAIL PROTECTED]>/g' \ -e 's/=ST/linux/g' -e 's/=B/i386/g' \ /usr/share/kernel-package/Control > debian/control test -f debian/changelog || sed -e 's/=V/2.6.20.1-darren/g' \ -e 's/=D/2.6.20.1.20070224.0/g' -e 's/=A/i386/g' \ -e 's/=ST/linux/g' -e 's/=B/i386/g' \ -e 's/=M/Marc Haber <[EMAIL PROTECTED]>/g' \ /usr/share/kernel-package/changelog > debian/changelog install -p -m 755 /usr/share/kernel-package/rules debian/rules for file in ChangeLog Control Control.bin86 config templates.in rules; do \ cp -f /usr/share/kernel-package/$file ./debian/; \ done for dir in Config docs examples ruleset scripts pkg po; do \ cp -af /usr/share/kernel-package/$dir ./debian/; \ done test -d ./debian/stamps || mkdir debian/stamps exec debian/rules DEBIAN_REVISION=2.6.20.1.20070224.0 APPEND_TO_VERSION=-darren build ====== making target BUILD-common [new prereqs: testdir]====== ====== making target BUILD-common [new prereqs: sanity_check]====== This is kernel package version 10.066. ====== making target CONFIG-common [new prereqs: testdir]====== ====== making target debian/stamp-conf [new prereqs: ]====== # work around idiocy in recent kernel versions test ! -e scripts/package/builddeb || \ mv -f scripts/package/builddeb scripts/package/builddeb.kpkg-dist test ! -e scripts/package/Makefile || \ (mv -f scripts/package/Makefile scripts/package/Makefile.kpkg-dist && \ (echo "# Dummy file "; echo "help:") > scripts/package/Makefile) test -d debian || mkdir ./debian test ! -e stamp-building || rm -f stamp-building test ! -f ./debian || test -f stamp-debian || test -f debian/official || \ (rm -rf ./debian && mkdir ./debian) test ! -f applied_patches || rm -f applied_patches test -f stamp-debian || \ ( test -f debian/official && test -f debian/control) || \ sed -e 's/=V/2.6.20.1-darren/g' -e 's/=D/2.6.20.1.20070224.0/g' \ -e 's/=A/i386/g' -e 's/=SA//g' \ -e 's/=L/lilo (>= 19.1) | grub, /g' -e 's/=I//g' \ -e 's/=CV/2.6/g' \ -e 's/=M/Marc Haber <[EMAIL PROTECTED]>/g' \ -e 's/=ST/linux/g' -e 's/=B/i386/g' \ /usr/share/kernel-package/Control> debian/control test -f stamp-debian || test -f debian/official || \ sed -e 's/=V/2.6.20.1-darren/g' -e 's/=D/2.6.20.1.20070224.0/g' \ -e 's/=A/i386/g' -e 's/=M/Marc Haber <[EMAIL PROTECTED]>/g' \ -e 's/=ST/linux/g' -e 's/=B/i386/g' \ /usr/share/kernel-package/changelog > debian/changelog test -f debian/rules || install -p -m 755 /usr/share/kernel-package/rules debian/rules test -f stamp-debian || test -f debian/official || \ for file in ChangeLog Control Control.bin86 config templates.in rules; do \ cp -f /usr/share/kernel-package/$file ./debian/; \ done test -f stamp-debian || test -f debian/official || \ for dir in Config docs examples ruleset scripts pkg po; do \ cp -af /usr/share/kernel-package/$dir ./debian/; \ done echo done > stamp-debian echo done > debian/stamp-conf ====== making target CONFIG-common [new prereqs: stamp-conf]====== This is kernel package version 10.066. ====== making stamp-arch-conf because of ====== ====== making target CONFIG-arch [new prereqs: stamp-arch-conf]====== ====== making target conf.vars [new prereqs: Makefile .config]====== ====== making target CONFIG-arch [new prereqs: .config conf.vars]====== This is kernel package version 10.066. ====== making target CONFIG/linux-headers-2.6.20.1-darren [new prereqs: CONFIG-arch]====== ====== making target CONFIG/linux-image-2.6.20.1-darren [new prereqs: CONFIG-arch]====== ====== making target CONFIG/linux-uml-2.6.20.1-darren [new prereqs: CONFIG-arch]====== ====== making target CONFIG/linux-xen0-2.6.20.1-darren [new prereqs: CONFIG-arch]====== ====== making target CONFIG/linux-xenu-2.6.20.1-darren [new prereqs: CONFIG-arch]====== ====== making stamp-arch-build because of ====== ====== making target BUILD-arch [new prereqs: stamp-arch-build]====== ====== making target BUILD-arch [new prereqs: ]====== This is kernel package version 10.066. ====== making target BUILD/linux-headers-2.6.20.1-darren [new prereqs: BUILD-arch]====== ====== making target BUILD/linux-image-2.6.20.1-darren [new prereqs: BUILD-arch]====== ====== making target debian/stamp-kernel-conf [new prereqs: .config Makefile]====== /usr/bin/make EXTRAVERSION=.1-darren ARCH=i386 \ oldconfig make[1]: Entering directory `/home/mh/linux/2.6.20.1/linux-2.6.20.1' scripts/kconfig/conf -o arch/i386/Kconfig * * Linux Kernel Configuration * * * Code maturity level options * Prompt for development and/or incomplete code/drivers (EXPERIMENTAL) [Y/n/?] y * <snippage> Serpent cipher algorithm (CRYPTO_SERPENT) [M/n/y/?] m AES cipher algorithms (CRYPTO_AES) [M/n/y/?] m AES cipher algorithms (i586) (CRYPTO_AES_586) [M/n/y/?] m CAST5 (CAST-128) cipher algorithm (CRYPTO_CAST5) [M/n/y/?] m CAST6 (CAST-256) cipher algorithm (CRYPTO_CAST6) [M/n/y/?] m TEA, XTEA and XETA cipher algorithms (CRYPTO_TEA) [M/n/y/?] m ARC4 cipher algorithm (CRYPTO_ARC4) [M/n/y/?] m Khazad cipher algorithm (CRYPTO_KHAZAD) [M/n/y/?] m Anubis cipher algorithm (CRYPTO_ANUBIS) [M/n/y/?] m Deflate compression algorithm (CRYPTO_DEFLATE) [M/y/?] m Michael MIC keyed digest algorithm (CRYPTO_MICHAEL_MIC) [M/n/y/?] m CRC32c CRC algorithm (CRYPTO_CRC32C) [M/n/y/?] m Testing module (CRYPTO_TEST) [M/n/?] m * * Hardware crypto devices * Support for VIA PadLock ACE (CRYPTO_DEV_PADLOCK) [N/m/y/?] n Support for the Geode LX AES engine (CRYPTO_DEV_GEODE) [N/m/y/?] n * * Library routines * CRC-CCITT functions (CRC_CCITT) [M/n/y/?] m CRC16 functions (CRC16) [M/n/y/?] m CRC32 functions (CRC32) [M/y/?] m CRC32c (Castagnoli, et al) Cyclic Redundancy-Check (LIBCRC32C) [M/y/?] m # # configuration written to .config # make[1]: Leaving directory `/home/mh/linux/2.6.20.1/linux-2.6.20.1' /usr/bin/make EXTRAVERSION=.1-darren ARCH=i386 prepare make[1]: Entering directory `/home/mh/linux/2.6.20.1/linux-2.6.20.1' scripts/kconfig/conf -s arch/i386/Kconfig make[1]: Leaving directory `/home/mh/linux/2.6.20.1/linux-2.6.20.1' make[1]: Entering directory `/home/mh/linux/2.6.20.1/linux-2.6.20.1' CHK include/linux/version.h UPD include/linux/version.h CHK include/linux/utsrelease.h UPD include/linux/utsrelease.h SYMLINK include/asm -> include/asm-i386 CC arch/i386/kernel/asm-offsets.s GEN include/asm-i386/asm-offsets.h make[1]: Leaving directory `/home/mh/linux/2.6.20.1/linux-2.6.20.1' echo done > debian/stamp-kernel-conf ====== making target debian/stamp-build-kernel [new prereqs: sanity_check stamp-kernel-conf]====== This is kernel package version 10.066. /usr/bin/make EXTRAVERSION=.1-darren ARCH=i386 \ bzImage make[1]: Entering directory `/home/mh/linux/2.6.20.1/linux-2.6.20.1' CHK include/linux/version.h CHK include/linux/utsrelease.h HOSTCC scripts/genksyms/genksyms.o SHIPPED scripts/genksyms/lex.c SHIPPED scripts/genksyms/parse.h SHIPPED scripts/genksyms/keywords.c HOSTCC scripts/genksyms/lex.o SHIPPED scripts/genksyms/parse.c HOSTCC scripts/genksyms/parse.o HOSTLD scripts/genksyms/genksyms CC scripts/mod/empty.o HOSTCC scripts/mod/mk_elfconfig MKELF scripts/mod/elfconfig.h HOSTCC scripts/mod/file2alias.o HOSTCC scripts/mod/modpost.o HOSTCC scripts/mod/sumversion.o HOSTLD scripts/mod/modpost HOSTCC scripts/kallsyms HOSTCC scripts/conmakehash CC init/main.o CHK include/linux/compile.h UPD include/linux/compile.h CC init/version.o CC init/do_mounts.o CC init/do_mounts_md.o LD init/mounts.o CC init/initramfs.o CC init/calibrate.o <snippage> LD [M] sound/drivers/snd-dummy.ko CC sound/pci/ac97/snd-ac97-codec.mod.o LD [M] sound/pci/ac97/snd-ac97-codec.ko CC sound/pci/emu10k1/snd-emu10k1.mod.o LD [M] sound/pci/emu10k1/snd-emu10k1.ko CC sound/pci/snd-cmipci.mod.o LD [M] sound/pci/snd-cmipci.ko CC sound/soundcore.mod.o LD [M] sound/soundcore.ko CC sound/synth/snd-util-mem.mod.o LD [M] sound/synth/snd-util-mem.ko make[1]: Leaving directory `/home/mh/linux/2.6.20.1/linux-2.6.20.1' COLUMNS=150 dpkg -l 'gcc*' perl dpkg 'libc6*' binutils ldso make dpkg-dev |\ awk '$1 ~ /[hi]i/ { printf("%s-%s\n", $2, $3) }' > debian/buildinfo uname -a >> debian/buildinfo echo using the compiler: >> debian/buildinfo grep LINUX_COMPILER include/linux/compile.h | \ sed -e 's/.*LINUX_COMPILER "//' -e 's/"$//' >> debian/buildinfo echo applied kernel patches: >> debian/buildinfo echo done > debian/stamp-build-kernel ====== making target BUILD/linux-image-2.6.20.1-darren [new prereqs: stamp-build-kernel]====== This is kernel package version 10.066. ====== making target BUILD/linux-uml-2.6.20.1-darren [new prereqs: BUILD-arch]====== ====== making target BUILD/linux-xen0-2.6.20.1-darren [new prereqs: BUILD-arch]====== ====== making target BUILD/linux-xenu-2.6.20.1-darren [new prereqs: BUILD-arch]====== ====== making stamp-build-arch because of ====== ====== making target build-arch [new prereqs: stamp-build-arch]====== ====== making stamp-indep-conf because of ====== ====== making target CONFIG-indep [new prereqs: stamp-indep-conf]====== ====== making target CONFIG-indep [new prereqs: conf.vars stamp-kernel-conf]====== This is kernel package version 10.066. ====== making target CONFIG/linux-source-2.6.20.1-darren [new prereqs: CONFIG-indep]====== ====== making target CONFIG/linux-doc-2.6.20.1-darren [new prereqs: CONFIG-indep]====== ====== making target CONFIG/linux-manual-2.6.20.1-darren [new prereqs: CONFIG-indep]====== ====== making stamp-indep-build because of ====== ====== making target BUILD-indep [new prereqs: stamp-indep-build]====== ====== making target BUILD/linux-source-2.6.20.1-darren [new prereqs: BUILD-indep]====== ====== making target BUILD/linux-doc-2.6.20.1-darren [new prereqs: BUILD-indep]====== ====== making target BUILD/linux-manual-2.6.20.1-darren [new prereqs: BUILD-indep]====== ====== making stamp-build-indep because of ====== ====== making target build-indep [new prereqs: stamp-build-indep]====== ====== making target stamp-build [new prereqs: build-arch build-indep]====== ====== making target build [new prereqs: stamp-build]====== $ cat scripts/package/Makefile # Dummy file help: $ make-kpkg --revisio=4 clean exec debian/rules DEBIAN_REVISION=4 clean ====== making target CLN-common [new prereqs: testdir]====== ====== making target CLN-common [new prereqs: ]====== /usr/bin/make -f ./debian/rules real_stamp_clean make[1]: Entering directory `/home/mh/linux/2.6.20.1/linux-2.6.20.1' ====== making target real_stamp_clean [new prereqs: ]====== running clean test ! -f scripts/package/builddeb.kpkg-dist || \ mv -f scripts/package/builddeb.kpkg-dist scripts/package/builddeb test ! -f scripts/package/Makefile.kpkg-dist || \ mv -f scripts/package/Makefile.kpkg-dist scripts/package/Makefile test ! -f .config || cp -pf .config config.precious test ! -f Makefile || \ /usr/bin/make ARCH=i386 distclean make[2]: Entering directory `/home/mh/linux/2.6.20.1/linux-2.6.20.1' CLEAN arch/i386/boot/compressed CLEAN arch/i386/boot CLEAN /home/mh/linux/2.6.20.1/linux-2.6.20.1 CLEAN arch/i386/kernel CLEAN drivers/char CLEAN drivers/md CLEAN drivers/scsi/aic7xxx CLEAN init CLEAN lib CLEAN usr CLEAN .tmp_versions CLEAN vmlinux System.map .tmp_kallsyms1.S .tmp_kallsyms1.o .tmp_kallsyms2.S .tmp_kallsyms2.o .tmp_vmlinux1 .tmp_vmlinux2 .tmp_System.map CLEAN scripts/basic CLEAN scripts/genksyms CLEAN scripts/kconfig CLEAN scripts/mod CLEAN /home/mh/linux/2.6.20.1/linux-2.6.20.1/debian/ CLEAN scripts CLEAN include/config CLEAN .config .config.old include/asm .version include/linux/autoconf.h include/linux/version.h include/linux/utsrelease.h Module.symvers make[2]: Leaving directory `/home/mh/linux/2.6.20.1/linux-2.6.20.1' test ! -f config.precious || mv -f config.precious .config /usr/bin/make -f ./debian/rules unpatch_now make[2]: Entering directory `/home/mh/linux/2.6.20.1/linux-2.6.20.1' make[2]: ./debian/rules: No such file or directory make[2]: *** No rule to make target `./debian/rules'. Stop. make[2]: Leaving directory `/home/mh/linux/2.6.20.1/linux-2.6.20.1' make[1]: *** [real_stamp_clean] Error 2 make[1]: Leaving directory `/home/mh/linux/2.6.20.1/linux-2.6.20.1' make: *** [CLN-common] Error 2 $ exit Script done on Sat Feb 24 12:00:14 2007