Don't add “+” to linux kernel version

I am building linux kernel, if my kernel under git, then kernel version every time is:

Image Name:   Linux-2.6.39+

If I am not using git, then everything is OK without any plus at the end.

  • remove waiting push in sourcetree
  • code coverage of new lines between 2 commits in ruby
  • Viewing changes in branch using Xcode Version Editor?
  • Syncing remote fork with remote master
  • git log decoration origin/HEAD
  • Extraction of diff hash from GITHub commit url
  • I know that this done by scripts/setlocalversion script:

    if test "$CONFIG_LOCALVERSION_AUTO" = "y"; then
        # full scm version string
        res="$res$(scm_version)"
    else
        # append a plus sign if the repository is not in a clean
        # annotated or signed tagged state (as git describe only
        # looks at signed or annotated tags - git tag -a/-s) and
        # LOCALVERSION= is not specified
        if test "${LOCALVERSION+set}" != "set"; then
            scm=$(scm_version --short)
                res="$res${scm:++}"
            fi
    fi
    

    So, it is possible without code changes say to build system that no need to add “+” at the end of version line?

  • How to sync working directory with master directory, when somebody push change to our local system?
  • TortoiseGit - git not found
  • Stop tracking a file in git - without having it deleted either locally or on pull
  • Showing diff's in the commit message
  • Is assigning a git branch name not sufficient to undo a detached head?
  • Git remote command returns fatal: Invalid refspec +refs/heads/*:refs/remotes/:origin/*
  • 2 Solutions collect form web for “Don't add “+” to linux kernel version”

    The plus sign at the end of your version string is there as an indicator that the kernel was built from modified sources (that is, there were non-committed changes). This is also indicated by the comments in scripts/setlocalversion.

    To avoid the ‘+’ being appended despite having a dirty working directory, simply set LOCALVERSION explicityly when running make:

    make LOCALVERSION=
    

    You may also have to change the configuration option CONFIG_LOCALVERSION_AUTO to n in your kernel config (.config) before building:

    sed -i "s|CONFIG_LOCALVERSION_AUTO=.*|CONFIG_LOCALVERSION_AUTO=n|" .config
    

    To prevent the script scripts/setlocalversion to append the + to the end of the kernel local version, create an empty .scmversion file in the root of the kernel sources.

    touch .scmversion
    

    this way, you’ll be able to leave LOCALVERSION as is in the kernel configuration file, in case you want to append a local signature to the kernel name.

    Git Baby is a git and github fan, let's start git clone.