scripts: refetch scripts/setlocalversion from Linux 3.16
authorMasahiro Yamada <yamada.m@jp.panasonic.com>
Fri, 22 Aug 2014 10:42:28 +0000 (19:42 +0900)
committerTom Rini <trini@ti.com>
Thu, 28 Aug 2014 21:18:48 +0000 (17:18 -0400)
Now we have CONFIG_LOCALVERSION and CONFIG_LOCALVERSION_AUTO
in Kconfig so we can use scripts/setlocalversion without
any adjustment.  Copy it from Linux 3.16 as is.

Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
scripts/setlocalversion

index f551b4c4f4c4d88e20b51b1f8e32daf4dec0aa2a..63d91e22ed7ccd18a0cd77852af647112ed216bb 100755 (executable)
@@ -3,8 +3,10 @@
 # This scripts adds local version information from the version
 # control systems git, mercurial (hg) and subversion (svn).
 #
-# It was originally copied from the Linux kernel v3.2.0-rc4 and modified
-# to support the U-Boot build-system.
+# If something goes wrong, send a mail the kernel build mailinglist
+# (see MAINTAINERS) and CC Nico Schottelius
+# <nico-linuxsetlocalversion -at- schottelius.org>.
+#
 #
 
 usage() {
@@ -41,7 +43,8 @@ scm_version()
        fi
 
        # Check for git and a git repo.
-       if test -e .git && head=`git rev-parse --verify --short HEAD 2>/dev/null`; then
+       if test -z "$(git rev-parse --show-cdup 2>/dev/null)" &&
+          head=`git rev-parse --verify --short HEAD 2>/dev/null`; then
 
                # If we are at a tagged commit (like "v2.6.30-rc6"), we ignore
                # it, because this version is defined in the top level Makefile.
@@ -69,12 +72,8 @@ scm_version()
                        printf -- '-svn%s' "`git svn find-rev $head`"
                fi
 
-               # Update index only on r/w media
-               [ -w . ] && git update-index --refresh --unmerged > /dev/null
-
                # Check for uncommitted changes
-               if git diff-index --name-only HEAD | grep -v "^scripts/package" \
-                   | read dummy; then
+               if git diff-index --name-only HEAD | grep -qv "^scripts/package"; then
                        printf '%s' -dirty
                fi
 
@@ -107,7 +106,7 @@ scm_version()
        fi
 
        # Check for svn and a svn repo.
-       if rev=`svn info 2>/dev/null | grep '^Last Changed Rev'`; then
+       if rev=`LANG= LC_ALL= LC_MESSAGES=C svn info 2>/dev/null | grep '^Last Changed Rev'`; then
                rev=`echo $rev | awk '{print $NF}'`
                printf -- '-svn%s' "$rev"
 
@@ -141,14 +140,12 @@ if $scm_only; then
        exit
 fi
 
-#if test -e include/config/auto.conf; then
-#      . include/config/auto.conf
-#else
-#      echo "Error: kernelrelease not valid - run 'make prepare' to update it"
-#      exit 1
-#fi
-CONFIG_LOCALVERSION=
-CONFIG_LOCALVERSION_AUTO=y
+if test -e include/config/auto.conf; then
+       . include/config/auto.conf
+else
+       echo "Error: kernelrelease not valid - run 'make prepare' to update it"
+       exit 1
+fi
 
 # localversion* files in the build and source directory
 res="$(collect_files localversion*)"