summaryrefslogtreecommitdiff
path: root/scripts/package
AgeCommit message (Collapse)Author
2012-10-12Merge branch 'kbuild' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild Pull kbuild changes from Michal Marek: "The main part of kbuild for v3.7 contains: - Fix for scripts/Makefile.modpost to not choke on a '.ko' substring in the build directory path - Two warning fixes (modpost and main Makefile) - __compiletime_error works also with gcc 4.3 - make tar{gz,bz2,xz}-pkg uses default compression settings instead of saving as many bytes as possible (this should actually be in the misc branch, I don't know why I applied it here)." * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild: compiler-gcc4.h: correct verion check for __compiletime_error modpost: Permit .GCC.command.line sections Kbuild: use normal compression settings for tar*-pkg scripts/Makefile.modpost: error in finding modules from .mod files. kbuild: Remove useless warning while appending KCFLAGS
2012-09-27Kbuild: use normal compression settings for tar*-pkgAndi Kleen
For large kernel configurations (like a distribution kernel) targz-pkg takes a quite long time to just do the compression. I clocked it at 15+mins for a SUSE kernel like config on a fast system. And tarxz and bzip2 are even slower. The main reason is that the script that is doing the taring sets the highest compression level (-9). When I change it to just use the defaults the gzip time for the same kernel goes down to ~3 mins. I haven't tested xz and bzip, but I expect those to be much faster too. I'm not willing to wait that long for a small compression gain. So just change the script to use the defaults. Signed-off-by: Andi Kleen <ak@linux.intel.com> Reviewed-by: Fengguang Wu <fengguang.wu@intel.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-09-27kbuild: Do not package /boot and /lib in make tar-pkgMichal Marek
There were reports of users destroying their Fedora installs by a kernel tarball that replaces the /lib -> /usr/lib symlink. Let's remove the toplevel directories from the tarball to prevent this from happening. Reported-by: Andi Kleen <andi@firstfloor.org> Suggested-by: Ben Hutchings <ben@decadent.org.uk> Cc: <stable@kernel.org> Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-06-28deb-pkg: Add all Makefiles to header packagemaximilian attems
I discovered that make deb-pkg does not add Makefile_32.cpu from arch/x86 directory when doing i386 kernel build and package build. Fix it by greedily adding all Makefiles. Reported-by: Witold Baryluk <baryluk@smp.if.uj.edu.pl> Signed-off-by: maximilian attems <max@stro.at> Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-06-28deb-pkg: Install linux-firmware-image in versioned dirmaximilian attems
That way they don't file conflict with official firmware package: trying to overwrite '/lib/firmware/qlogic/1040.bin', which is also in package firmware-qlogic 0.35 .. Reported-by: Michael Prokop <mika@debian.org> Signed-off-by: maximilian attems <max@stro.at> Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-05-26builddeb: include autogenerated header filesLekensteyn
After 303395ac3bf3e2cb488435537d416bc840438fcb, some headers are autogenerated. Include these autogenerated headers (mainly unistd_32_ia32.h) in out-of-tree builds to allow DKMS modules to be built succesfully. Signed-off-by: Peter Lekensteyn <lekensteyn@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-02-24kbuild: Fix out-of-tree build for 'make deb-pkg'Joerg Roedel
The out-of-tree build is broken in 'make deb-pkg'. The header checks and the header install works on the source and not on the object tree. While fixing this also replace the direct 'make' invocations with the $MAKE variable to be consistent within the script. Cc: maximilian attems <max@stro.at> Cc: Ben Hutchings <ben@decadent.org.uk> Cc: debian-kernel@lists.debian.org Cc: linux-kbuild@vger.kernel.org Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-02-24kbuild: Only build linux-image package for UMLJoerg Roedel
For user-mode Linux the other packages are not required. So only build the package with the linux-image in it. Cc: maximilian attems <max@stro.at> Cc: debian-kernel@lists.debian.org Cc: linux-kbuild@vger.kernel.org Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Tested-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-02-24kbuild: Fix link to headers in 'make deb-pkg'Joerg Roedel
The Link to the kernel header files in the debian packages point to the original build directory. This is a bad choice if the packages were installed on a different machine. Fix this in by manually re-creating the link in the builddeb script. Cc: maximilian attems <max@stro.at> Cc: debian-kernel@lists.debian.org Cc: linux-kbuild@vger.kernel.org Signed-off-by: Joerg Roedel <joerg.roedel@amd.com> Reviewed-by: Ben Hutchings <ben@decadent.org.uk> Signed-off-by: Michal Marek <mmarek@suse.cz>
2012-02-18builddeb: Don't create files in /tmp with predictable namesBen Hutchings
The current use of /tmp for file lists is insecure. Put them under $objtree/debian instead. Signed-off-by: Ben Hutchings <ben@decadent.org.uk> Cc: stable@vger.kernel.org # 2.6.39+ Acked-by: maximilian attems <max@stro.at> Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-10-29scripts/package/Makefile: Fix typo: an deb -> a debPaul Menzel
Signed-off-by: Paul Menzel <paulepanter@users.sourceforge.net> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2011-06-24package: Makefile: fix perf target bugmatt mooney
Specify --git-dir when building perf targets to allow out-of-tree builds using O=<build-dir>. The shell command in `git archive' had to be modified to allow proper file name expansion of the files listed in MANIFEST. Signed-off-by: matt mooney <mfm@muteddisk.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-05-25Merge branch 'packaging' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 * 'packaging' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: kbuild: Create a kernel-headers RPM rpm-pkg: Fix when current directory is a symlink Replace '-' in kernel version with '_'
2011-05-24kbuild: Create a kernel-headers RPMArun Sharma
To compile binaries which depend on new kernel interfaces, we need a kernel-headers RPM Signed-off-by: Arun Sharma <asharma@fb.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-05-24rpm-pkg: Fix when current directory is a symlinkMichal Marek
The better fix would be to stop using the parent directory (principle of least surprise), but as long as we use it, use it consistently. Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-05-04Replace '-' in kernel version with '_'Arun Sharma
Removing the '-' results in hard to read filenames such as: kernel-2.6.35.2000042g76e4caf-28.x86_64.rpm kernel-2.6.35.2_000042_g76e4caf-28.x86_64.rpm is easier to read. Signed-off-by: Arun Sharma <asharma@fb.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-03-31Fix common misspellingsLucas De Marchi
Fixes generated by 'codespell' and manually reviewed. Signed-off-by: Lucas De Marchi <lucas.demarchi@profusion.mobi>
2011-03-09kbuild: Add make tarxz-pkg build optionZdenek Kaspar
Signed-off-by: Zdenek Kaspar <zkaspar82@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-03-09Merge commit 'v2.6.38-rc1' into kbuild/packagingMichal Marek
2011-02-04deb-pkg: Fix building outside of source tree (O=...).Nicolas de Pesloüan
When building linux-headers package using deb-pkg, builddeb erroneously assume current directory is the source tree. This is not true if building in another directory, using make O=... deb-pkg. This patch fix this problem. Signed-off-by: Nicolas de Pesloüan <nicolas.2p.debian@free.fr> Tested-by: Nikolai Kondrashov <spbnick@gmail.com> Acked-by: maximilian attems <max@stro.at> Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-01-14deb-pkg: Use $SRCARCH for include pathmaximilian attems
Fix x86 centric path to allow building kernel-header packages for other architecture. Signed-off-by: maximilian attems <max@stro.at> Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-01-10Merge branch 'packaging' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 * 'packaging' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: deb-pkg: s/hdr/kernel_headers_/ && s/header/libc_headers_/ deb-pkg: Make deb-pkg generate a seperate linux-libc-dev deb kbuild: create linux-headers package in deb-pkg kbuild, deb-pkg: support overriding userland architecture kbuild, deb-pkg: select userland architecture based on UTS_MACHINE kbuild, deb-pkg: Fix build with paranoid umask
2011-01-07deb-pkg: s/hdr/kernel_headers_/ && s/header/libc_headers_/maximilian attems
hdrpackage and headerpackage are not intuitive names, use proposed alternatives by Michel Marek. While touching them move the mkdir of the kernel_headers dir up and fix it for paranoid umask. CC: Theodore Ts'o <tytso@mit.edu> Signed-off-by: maximilian attems <max@stro.at> Signed-off-by: Michal Marek <mmarek@suse.cz>
2011-01-07deb-pkg: Make deb-pkg generate a seperate linux-libc-dev debmaximilian attems
userland dev likes latest incarnation of that userland API. make it easy to also build it on make deb-pkg invocation: dpkg-deb: building package `linux-libc-dev' in `../linux-libc-dev_2.6.32-rc6-4_amd64.deb'. Last year patch rebased on top of latest deb-pkg changes. Signed-off-by: maximilian attems <max@stro.at> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-12-29kbuild: create linux-headers package in deb-pkgTheodore Ts'o
Create a linux-headers-$KVER.deb package which can be used to build external modules without having the source tree around. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-12-20kbuild, deb-pkg: support overriding userland architectureAsbjoern Sloth Toennesen
Usefull if building for sparc64 userland, because the sparc and sparc64 userlands use the same 64-bit kernel, making it impossible to always select the correct userland architecture for the resulting debian package. Might also be usefull, if you want a i386 userland with a amd64 kernel. Example usage: make KBUILD_DEBARCH=i386 deb-pkg LKML-reference: <alpine.DEB.2.02.1011051437500.13287@aurora.sdinet.de> Signed-off-by: Asbjoern Sloth Toennesen <asbjorn@asbjorn.biz> Reviewed-by: WANG Cong <xiyou.wangcong@gmail.com> Acked-by: maximilian attems <max@stro.at> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-11-25kbuild, deb-pkg: select userland architecture based on UTS_MACHINEAsbjoern Sloth Toennesen
Instead of creating the debian package for the compiling userland, create it for a userland matching the kernel thats being compiled. This patch supports all Lenny release architectures, and Linux-based architecture candidates for Squeeze. If it can't find a proper Debian userspace it displays a warning, and fallback to let deb-gencontrol use the host's userspace arch. Eg. with this patch the following make command: make ARCH=i386 deb-pkg will output an i386 Debian package instead of an amd64 one, when run on an amd64 machine. Signed-off-by: Asbjoern Sloth Toennesen <asbjorn@asbjorn.biz> Acked-by: maximilian attems <max@stro.at> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-11-11kbuild, deb-pkg: Fix build with paranoid umaskmaximilian attems
umask 077 make deb-pkg <snipp ..> dpkg-deb: building package `linux-image-2.6.36+' in `../linux-image-2.6.36+_2.6.36+-4_amd64.deb'. dpkg-deb: control directory has bad permissions 700 (must be >=0755 and <=0775) make[1]: *** [deb-pkg] Error 2 Reported-by: Bastian Blank <waldi@debian.org> Signed-off-by: maximilian attems <max@stro.at> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-10-28Merge branch 'packaging' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 * 'packaging' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: scripts/package: don't break if %{_smp_mflags} isn't set kbuild, deb-pkg: Check if KBUILD_IMAGE exists before copying it
2010-10-13scripts/package: don't break if %{_smp_mflags} isn't setNishanth Aravamudan
Same fix as in 13797b77d419fc1b16eebf2993bf7b5cea65f0bf is needed for the "new" line invoking _smp_mflags for modules_install. Without the fix, `make binrpm-pkg` fails with: + make '%{_smp_mflags}' KBUILD_SRC= modules_install make[2]: warning: jobserver unavailable: using -j1. Add `+' to parent make rule. make[2]: *** No rule to make target `%{_smp_mflags}'. Stop. error: Bad exit status from /var/tmp/rpm-tmp.8S9B9e (%install) Signed-off-by: Nishanth Aravamudan <nacc@us.ibm.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-09-06kbuild, deb-pkg: Check if KBUILD_IMAGE exists before copying itGuillem Jover
Avoid an error when doing cp over the image when it does not contain the full path to the file. Signed-off-by: Guillem Jover <guillem@hadrons.org> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-08-06Merge branch 'perf-core-for-linus' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (162 commits) tracing/kprobes: unregister_trace_probe needs to be called under mutex perf: expose event__process function perf events: Fix mmap offset determination perf, powerpc: fsl_emb: Restore setting perf_sample_data.period perf, powerpc: Convert the FSL driver to use local64_t perf tools: Don't keep unreferenced maps when unmaps are detected perf session: Invalidate last_match when removing threads from rb_tree perf session: Free the ref_reloc_sym memory at the right place x86,mmiotrace: Add support for tracing STOS instruction perf, sched migration: Librarize task states and event headers helpers perf, sched migration: Librarize the GUI class perf, sched migration: Make the GUI class client agnostic perf, sched migration: Make it vertically scrollable perf, sched migration: Parameterize cpu height and spacing perf, sched migration: Fix key bindings perf, sched migration: Ignore unhandled task states perf, sched migration: Handle ignored migrate out events perf: New migration tool overview tracing: Drop cpparg() macro perf: Use tracepoint_synchronize_unregister() to flush any pending tracepoint call ... Fix up trivial conflicts in Makefile and drivers/cpufreq/cpufreq.c
2010-08-05Merge branch 'packaging' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6 * 'packaging' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6: kbuild: Change section of generated debian packages to kernel kbuild: Mark that the packages generated conform to Standards-Version 3.8.4 kbuild: Add homepage field to debian/control file
2010-08-02Merge commit 'v2.6.35' into perf/coreIngo Molnar
Conflicts: tools/perf/Makefile tools/perf/util/hist.c Merge reason: Resolve the conflicts and update to latest upstream. Signed-off-by: Ingo Molnar <mingo@elte.hu>
2010-07-21kbuild: Fix make rpmMichal Marek
make rpm was broken by commit 0915512: make clean set -e; cd ..; ln -sf /usr/src/iwlwifi-2.6 kernel-2.6.35rc4wl /bin/sh /usr/src/iwlwifi-2.6/scripts/setlocalversion --scm-only > /usr/src/iwlwifi-2.6/.scmversion cat: .scmversion: input file is output file make[1]: *** [rpm] Error 1 Reported-and-tested-by: "Zheng, Jiajia" <jiajia.zheng@intel.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-07-05Merge commit 'v2.6.35-rc4' into perf/coreIngo Molnar
Merge reason: Pick up the latest perf fixes Signed-off-by: Ingo Molnar <mingo@elte.hu>
2010-07-02Merge branch 'setlocalversion-speedup' into kbuild/rc-fixesMichal Marek
Conflicts: Makefile
2010-06-18kbuild: Clean up and speed up the localversion logicMichal Marek
Now that we run scripts/setlocalversion during every build, it makes sense to move all the localversion logic there. This cleans up the toplevel Makefile and also makes sure that the script is called only once in 'make prepare' (previously, it would be called every time due to a variable expansion in an ifneq statement). No user-visible change is intended, unless one runs the setlocalversion script directly. Reported-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Cc: David Rientjes <rientjes@google.com> Cc: Greg Thelen <gthelen@google.com> Cc: Nico Schottelius <nico-linuxsetlocalversion@schottelius.org> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-06-18Merge commit 'v2.6.35-rc3' into perf/coreIngo Molnar
Merge reason: Go from -rc1 base to -rc3 base, merge in fixes.
2010-06-05perf tools: Make target to generate self contained source tarballArnaldo Carvalho de Melo
Useful for when people want to try some version of the perf tools and don't wants to download the kernel tarball. Here is a session using this new target: [root@emilia linux-2.6-tip]# make help | grep -i perf perf-tar-src-pkg - Build perf-2.6.35-rc1.tar source tarball perf-targz-src-pkg - Build perf-2.6.35-rc1.tar.gz source tarball perf-tarbz2-src-pkg - Build perf-2.6.35-rc1.tar.bz2 source tarball [root@emilia linux-2.6-tip]# make perf-tarbz2-src-pkg TAR [root@emilia linux-2.6-tip]# ls -la perf-2.6.35-rc1.tar.bz2 -rw-r--r-- 1 root root 295731 May 31 11:18 perf-2.6.35-rc1.tar.bz2 [root@emilia linux-2.6-tip]# tar xf perf-2.6.35-rc1.tar.bz2 [root@emilia linux-2.6-tip]# cd perf-2.6.35-rc1 [root@emilia perf-2.6.35-rc1]# ls arch HEAD include lib tools [root@emilia perf-2.6.35-rc1]# cd tools/perf [root@emilia perf]# make -j9 2>&1 | tail CC arch/x86/util/dwarf-regs.o CC util/probe-finder.o CC util/newt.o CC util/scripting-engines/trace-event-perl.o CC scripts/perl/Perf-Trace-Util/Context.o CC perf.o CC builtin-help.o AR libperf.a LINK perf rm .perf.dev.null [root@emilia perf]# ./perf record -a sleep 1 [ perf record: Woken up 1 times to write data ] [ perf record: Captured and wrote 0.262 MB perf.data (~11457 samples) ] [root@emilia perf]# ./perf report | head -12 # Events: 6K cycles # # Overhead Command Shared Object Symbol # ........ ............... .................. ...... # 4.73% perf [kernel.kallsyms] [k] format_decode 4.49% perf libc-2.12.so [.] _IO_file_underflow_internal 4.38% init [kernel.kallsyms] [k] mwait_idle 3.29% perf [kernel.kallsyms] [k] vsnprintf 2.38% init [kernel.kallsyms] [k] sched_clock_local 2.35% init [kernel.kallsyms] [k] apic_timer_interrupt 1.86% sirq-timer/5 [kernel.kallsyms] [k] find_busiest_group [root@emilia perf]# Acked-by: Michal Marek <mmarek@suse.cz> Acked-by: Sam Ravnborg <sam@ravnborg.org> Cc: David S. Miller <davem@davemloft.net> Cc: Frédéric Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Michal Marek <mmarek@suse.cz> Cc: Mike Galbraith <efault@gmx.de> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Sam Ravnborg <sam@ravnborg.org> Cc: Stephane Eranian <eranian@google.com> Cc: Tom Zanussi <tzanussi@gmail.com> LKML-Reference: <20100528185357.GA28009@ghostprotocols.net> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2010-06-03kbuild: Change section of generated debian packages to kernelRogério Brito
To follow the way that Official Debian kernel packages are made, put the generated packages in the right section, the kernel section. This also avoids polluting the admin section. Signed-off-by: Rogério Brito <rbrito@ime.usp.br> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-06-03kbuild: Mark that the packages generated conform to Standards-Version 3.8.4Rogério Brito
The packages generated by the builddeb script conform to the Debian Policy version 3.8.4. Make this explicit in the generated packages. Signed-off-by: Rogério Brito <rbrito@ime.usp.br> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-06-03kbuild: Add homepage field to debian/control fileRogério Brito
This helps when the user sees information of the packages on package managers like aptitude. Signed-off-by: Rogério Brito <rbrito@ime.usp.br> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-06-01Merge branch 'for-35' of git://repo.or.cz/linux-kbuildLinus Torvalds
* 'for-35' of git://repo.or.cz/linux-kbuild: (81 commits) kbuild: Revert part of e8d400a to resolve a conflict kbuild: Fix checking of scm-identifier variable gconfig: add support to show hidden options that have prompts menuconfig: add support to show hidden options which have prompts gconfig: remove show_debug option gconfig: remove dbg_print_ptype() and dbg_print_stype() kconfig: fix zconfdump() kconfig: some small fixes add random binaries to .gitignore kbuild: Include gen_initramfs_list.sh and the file list in the .d file kconfig: recalc symbol value before showing search results .gitignore: ignore *.lzo files headerdep: perlcritic warning scripts/Makefile.lib: Align the output of LZO kbuild: Generate modules.builtin in make modules_install Revert "kbuild: specify absolute paths for cscope" kbuild: Do not unnecessarily regenerate modules.builtin headers_install: use local file handles headers_check: fix perl warnings export_report: fix perl warnings ...
2010-03-29Fix comment and Kconfig typos for 'require' and 'fragment'Gilles Espinasse
Signed-off-by: Gilles Espinasse <g.esp@free.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
2010-03-07kbuild: deb-pkg md5sumsFEJES Jozsef
This patch creates the standard md5sums file for 'make deb-pkg' just like the dh_md5sums debhelper script. Signed-off-by: Jozsef Fejes <fejes@joco.name> Signed-off-by: Michal Marek <mmarek@suse.cz>
2010-02-02scripts: use %_tmppath in "make rpm-pkg"John Saalwaechter
The mkspec script hardcodes "/var/tmp" into the generated rpm spec file's BuildRoot. The user, however, may have a custom setting for %_tmppath, which should be used in BuildRoot. This patch changes mkspec's BuildRoot output to appropriately use %_tmppath. Signed-off-by: John Saalwaechter <saalwaechter@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2009-12-12scripts/package: deb-pkg: use fakeroot if availableJonathan Nieder
Running "make deb-pkg" requires setting KBUILD_PKG_ROOTCMD or becoming root oneself or it errors out. Unless already running as root or KBUILD_PKG_ROOTCMD is already set, use fakeroot as a good default. With this patch applied, you can run "make oldconfig deb-pkg" as an ordinary user to build a binary package for an updated kernel tree and it should just work. fakeroot is too zealous by default in treating files as owned by root. Its wrapped stat() sets st_uid and st_gid to 0 for all files, which causes Git to go on a wild goose chase if CONFIG_LOCALVERSION_AUTO is set, checking if any file's content has changed along with its stat information. Avoid this by telling fakeroot to use the actual owner and group for preexisting files, by passing it the -u option. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2009-12-12scripts/package: add KBUILD_PKG_ROOTCMD variableJonathan Nieder
Let the deb-pkg target acquire (fake) root privileges before running commands that need them. Without such privileges, deb-pkg errors out because chown fails. The new KBUILD_PKG_ROOTCMD variable, if defined, is used as a command to run other commands with possibly fake elevated privileges. Since this is not needed for the tar-pkg and rpm-pkg targets, it is only used by deb-pkg. If it is not defined, the behavior is as before, and the user will have to rerun make as root. In other words, as a shortcut, instead of running 'make oldconfig && make && fakeroot -u make deb-pkg', one can use the single command 'make oldconfig deb-pkg KBUILD_PKG_ROOTCMD="fakeroot -u"'. Suggested-by: Ryan Anderson <ryan@michonline.com> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>
2009-12-12scripts/package: tar-pkg: use tar --owner=rootMichal Marek
Use the --owner= and --group= options to make sure the entries in the built tar file are owned by root. Without this change, a careless sysadmin using the tar-pkg target can easily end up installing a kernel that is writable by the unprivileged user account used to build the kernel. Test that these options are understood before using them so that non-GNU versions of tar can still be used if the operator is appropriately cautious. Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Michal Marek <mmarek@suse.cz>