From: Jonathan Nieder <jrnieder@gmail.com>
To: linux-kbuild@vger.kernel.org
Cc: Sam Ravnborg <sam@ravnborg.org>, maximilian attems <max@stro.at>,
Frans Pop <elendil@planet.nl>
Subject: [PATCH resend 1/2] scripts/package: add ROOTCMD variable
Date: Wed, 14 Oct 2009 01:54:25 -0500 [thread overview]
Message-ID: <20091014065425.GA8771@progeny.tock> (raw)
In-Reply-To: <20091014064622.GA8711@progeny.tock>
Allow "make foo-pkg" to acquire root or fake root privileges before
running commands that need it. This is especially important for
tar-pkg, since otherwise if a user forgets to run make as root, the
installed kernel will have that user as owner and can easily be
overwritten by a broken program running as that user later.
The new ROOTCMD variable, if defined, is used as a command to run
other commands with possibly fake elevated privileges. If it is not
defined, the behavior is as before, and hopefully make is running as
root already.
In other words, as a shortcut, instead of running
$ make oldconfig &&
> make &&
> fakeroot -u make rpm-pkg
now one can use a single command:
$ make oldconfig rpm-pkg ROOTCMD="fakeroot -u"
Idea from Ryan Anderson
<http://thread.gmane.org/gmane.comp.version-control.git/14770/focus=14802>.
Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>
---
Changes from v1: rebased on top of current torvalds/master.
scripts/package/Makefile | 13 +++++++------
1 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/scripts/package/Makefile b/scripts/package/Makefile
index f67cc88..14b65a8 100644
--- a/scripts/package/Makefile
+++ b/scripts/package/Makefile
@@ -53,7 +53,8 @@ rpm-pkg rpm: $(objtree)/kernel.spec FORCE
set -e; \
mv -f $(objtree)/.tmp_version $(objtree)/.version
- $(RPM) $(RPMOPTS) --target $(UTS_MACHINE) -ta ../$(KERNELPATH).tar.gz
+ $(ROOTCMD) $(RPM) $(RPMOPTS) --target $(UTS_MACHINE) \
+ -ta ../$(KERNELPATH).tar.gz
rm ../$(KERNELPATH).tar.gz
clean-files := $(objtree)/kernel.spec
@@ -70,8 +71,8 @@ binrpm-pkg: $(objtree)/binkernel.spec FORCE
set -e; \
mv -f $(objtree)/.tmp_version $(objtree)/.version
- $(RPM) $(RPMOPTS) --define "_builddir $(objtree)" --target \
- $(UTS_MACHINE) -bb $<
+ $(ROOTCMD) $(RPM) $(RPMOPTS) --define "_builddir $(objtree)" \
+ --target $(UTS_MACHINE) -bb $<
clean-files += $(objtree)/binkernel.spec
@@ -79,7 +80,7 @@ clean-files += $(objtree)/binkernel.spec
# ---------------------------------------------------------------------------
deb-pkg: FORCE
$(MAKE) KBUILD_SRC=
- $(CONFIG_SHELL) $(srctree)/scripts/package/builddeb
+ $(ROOTCMD) $(CONFIG_SHELL) $(srctree)/scripts/package/builddeb
clean-dirs += $(objtree)/debian/
@@ -88,7 +89,7 @@ clean-dirs += $(objtree)/debian/
# ---------------------------------------------------------------------------
tar%pkg: FORCE
$(MAKE) KBUILD_SRC=
- $(CONFIG_SHELL) $(srctree)/scripts/package/buildtar $@
+ $(ROOTCMD) $(CONFIG_SHELL) $(srctree)/scripts/package/buildtar $@
clean-dirs += $(objtree)/tar-install/
@@ -96,10 +97,10 @@ clean-dirs += $(objtree)/tar-install/
# Help text displayed when executing 'make help'
# ---------------------------------------------------------------------------
help: FORCE
+ @echo ' Set ROOTCMD={sudo|fakeroot -u|super|...} and make as non-root:'
@echo ' rpm-pkg - Build both source and binary RPM kernel packages'
@echo ' binrpm-pkg - Build only the binary kernel package'
@echo ' deb-pkg - Build the kernel as an deb package'
@echo ' tar-pkg - Build the kernel as an uncompressed tarball'
@echo ' targz-pkg - Build the kernel as a gzip compressed tarball'
@echo ' tarbz2-pkg - Build the kernel as a bzip2 compressed tarball'
-
--
1.6.5.rc1.199.g596ec
next prev parent reply other threads:[~2009-10-14 6:46 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-14 6:46 [PATCH resend 0/2] fakeroot dwimery for scripts/package/* Jonathan Nieder
2009-10-14 6:54 ` Jonathan Nieder [this message]
2009-10-14 6:55 ` [PATCH resend 2/2] scripts/package: use fakeroot if available Jonathan Nieder
2009-10-14 7:16 ` [PATCH resend 0/2] fakeroot dwimery for scripts/package/* Sam Ravnborg
2009-10-14 9:59 ` Frans Pop
2009-10-14 11:03 ` maximilian attems
2009-10-15 13:31 ` [PATCH v2 " Jonathan Nieder
2009-10-15 13:35 ` [PATCH v2 1/2] scripts/package: add KBUILD_PKG_ROOTCMD variable Jonathan Nieder
2009-11-24 11:27 ` Michal Marek
2009-11-24 12:03 ` Jonathan Nieder
2009-11-24 13:13 ` Michal Marek
2009-11-24 15:09 ` [PATCH v3 0/3] fakeroot dwimery for deb-pkg target Jonathan Nieder
2009-11-24 15:11 ` [PATCH 1/3] scripts/package: tar-pkg: use tar --owner=root Jonathan Nieder
2009-11-24 15:14 ` [PATCH v3 2/3] scripts/package: add KBUILD_PKG_ROOTCMD variable Jonathan Nieder
2009-11-24 15:21 ` [PATCH v3 3/3] scripts/package: deb-pkg: use fakeroot if available Jonathan Nieder
2009-11-24 19:07 ` Michal Marek
2009-10-15 13:39 ` [PATCH v2 2/2] scripts/package: " Jonathan Nieder
2009-11-04 21:22 ` [PATCH v2 0/2] fakeroot dwimery for scripts/package/* maximilian attems
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091014065425.GA8771@progeny.tock \
--to=jrnieder@gmail.com \
--cc=elendil@planet.nl \
--cc=linux-kbuild@vger.kernel.org \
--cc=max@stro.at \
--cc=sam@ravnborg.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.