Blame rpmversion.sh

Packit Service 0c2606
#!/bin/bash
Packit Service eebd6f
Packit Service eebd6f
# Generate the version and release strings to use in the spec file.
Packit Service eebd6f
# The output of this script is "<VERSION>-<RELEASE>",
Packit Service eebd6f
# where <RELEASE> is 1 for the actual release tag, 2 for one commit after the
Packit Service eebd6f
# release, and so on.
Packit Service eebd6f
Packit Service eebd6f
# Try to git describe. If that fails, just fall back to the version in package.json
Packit Service eebd6f
gitdesc="$(git describe --exclude '*jenkins*' 2>/dev/null)"
Packit Service eebd6f
if [ $? -ne 0 ]; then
Packit Service eebd6f
    echo "$(jq -r .version package.json)-1%{?dist}"
Packit Service eebd6f
else
Packit Service eebd6f
    # Git describe will output either "<version>" for an exact match,
Packit Service eebd6f
    # or "<version>-<number of commits since version>-g<hash>" if HEAD is newer than the tag
Packit Service eebd6f
    if ! echo "$gitdesc" | grep -q -- - ;then
Packit Service eebd6f
        echo "${gitdesc}-1%{?dist}"
Packit Service eebd6f
    else
Packit Service eebd6f
        # Add 1 to the number of commits
Packit Service eebd6f
        version="$(echo "$gitdesc" | sed 's/-.*//')"
Packit Service eebd6f
        pkgrel="$(("$(echo "$gitdesc" | sed 's/.*-\([[:digit:]]\+\)-g.*/\1/')" + 1))"
Packit Service eebd6f
        echo "${version}-${pkgrel}%{?dist}"
Packit Service eebd6f
    fi
Packit Service eebd6f
fi