]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - scripts/package/Makefile
kbuild: Clean up and speed up the localversion logic
[mv-sheeva.git] / scripts / package / Makefile
index f67cc885c807f0649b508a534d19566dd4de9abe..3a681ef25306ba0a98cfaedf7412c24c9af11adb 100644 (file)
@@ -44,7 +44,7 @@ rpm-pkg rpm: $(objtree)/kernel.spec FORCE
        fi
        $(MAKE) clean
        $(PREV) ln -sf $(srctree) $(KERNELPATH)
-       $(CONFIG_SHELL) $(srctree)/scripts/setlocalversion > $(objtree)/.scmversion
+       $(CONFIG_SHELL) $(srctree)/scripts/setlocalversion --scm-only > $(objtree)/.scmversion
        $(PREV) tar -cz $(RCS_TAR_IGNORE) -f $(KERNELPATH).tar.gz $(KERNELPATH)/.
        $(PREV) rm $(KERNELPATH)
        rm -f $(objtree)/.scmversion
@@ -77,9 +77,27 @@ clean-files += $(objtree)/binkernel.spec
 
 # Deb target
 # ---------------------------------------------------------------------------
+quiet_cmd_builddeb = BUILDDEB
+      cmd_builddeb = set -e; \
+       test `id -u` = 0 || \
+       test -n "$(KBUILD_PKG_ROOTCMD)" || { \
+               which fakeroot >/dev/null 2>&1 && \
+               KBUILD_PKG_ROOTCMD="fakeroot -u"; \
+       } || { \
+               echo; \
+               echo "builddeb must be run as root (or using fakeroot)."; \
+               echo "KBUILD_PKG_ROOTCMD is unset and fakeroot not found."; \
+               echo "Try setting KBUILD_PKG_ROOTCMD to a command to acquire"; \
+               echo "root privileges (e.g., 'fakeroot -u' or 'sudo')."; \
+               false; \
+       } && \
+       \
+       $$KBUILD_PKG_ROOTCMD $(CONFIG_SHELL) \
+               $(srctree)/scripts/package/builddeb
+
 deb-pkg: FORCE
        $(MAKE) KBUILD_SRC=
-       $(CONFIG_SHELL) $(srctree)/scripts/package/builddeb
+       $(call cmd,builddeb)
 
 clean-dirs += $(objtree)/debian/