Blame return_disttag.sh

Pat Riehecky 4d96e5
#!/bin/bash -u
Pat Riehecky 4d96e5
#
Pat Riehecky 4d96e5
# Extracts what appears to be the value of %{dist} from the commit message
Pat Riehecky 4d96e5
#
Pat Riehecky 4d96e5
# Might want to drop this in ~/bin/ and chmod u+x it
Pat Riehecky 4d96e5
Pat Riehecky 4d96e5
#####################################################################
Pat Riehecky 4d96e5
usage() {
Pat Riehecky 4d96e5
    echo ''                                               >&2
Pat Riehecky 4d96e5
    echo "$0 [-hr]"                                       >&2
Pat Riehecky 4d96e5
    echo ''                                               >&2
Pat Riehecky 4d96e5
    echo ' -h: This help message'                         >&2
Pat Riehecky 4d96e5
    echo ' -r: Use the Redhat tag rather than centos tag' >&2
Pat Riehecky 4d96e5
    echo ''                                               >&2
Pat Riehecky 4d96e5
    echo '  Attempt to extract what appears to be the value of %{dist}' >&2
Pat Riehecky 4d96e5
    echo '  from the git.centos.org commit message'       >&2
Pat Riehecky 4d96e5
    exit 1
Pat Riehecky 4d96e5
}
Pat Riehecky 4d96e5
Pat Riehecky 4d96e5
Pat Riehecky 4d96e5
#####################################################################
Pat Riehecky 4d96e5
# setup args in the right order for making getopt evaluation
Pat Riehecky 4d96e5
# nice and easy.  You'll need to read the manpages for more info
Pat Riehecky 4d96e5
args=$(getopt -o hr -- "$@")
Pat Riehecky 4d96e5
if [[ $? -ne 0 ]]; then
Pat Riehecky 4d96e5
    usage
Pat Riehecky 4d96e5
fi
Pat Riehecky 4d96e5
eval set -- "$args"
Pat Riehecky 4d96e5
Pat Riehecky 4d96e5
RHELTAG=0
Pat Riehecky 4d96e5
for arg in $@; do
Pat Riehecky 4d96e5
    case $1 in
Pat Riehecky 4d96e5
        -- )
Pat Riehecky 4d96e5
            # end of getopt args, shift off the -- and get out of the loop
Pat Riehecky 4d96e5
            shift
Pat Riehecky 4d96e5
            break 2
Pat Riehecky 4d96e5
           ;;
Pat Riehecky 4d96e5
         -r )
Pat Riehecky 4d96e5
            # skip any package with 'centos' in the dist area
Pat Riehecky 4d96e5
            RHELTAG=1
Pat Riehecky 4d96e5
           ;;
Pat Riehecky 4d96e5
         -h )
Pat Riehecky 4d96e5
            # get help
Pat Riehecky 4d96e5
            usage
Pat Riehecky 4d96e5
           ;;
Pat Riehecky 4d96e5
    esac
Pat Riehecky 4d96e5
done
Pat Riehecky 4d96e5
Pat Riehecky 4d96e5
packagename=$(basename `pwd`)
Pat Riehecky 4d96e5
metadata=.${packagename}.metadata
Pat Riehecky 4d96e5
Pat Riehecky 4d96e5
if [[ ! -e ${metadata} ]] ||  [[ ! -d .git ]] || [[ ! -d SOURCES ]]; then
Pat Riehecky 4d96e5
    echo 'You need to run this from inside a sources git repo'
Pat Riehecky 4d96e5
    exit 1
Pat Riehecky 4d96e5
fi
Pat Riehecky 4d96e5
Pat Riehecky 4d96e5
msg=$(git log --pretty=format:"%s")
Pat Riehecky 4d96e5
pkg=$(echo ${msg} | cut -d' ' -f2)
Pat Riehecky 4d96e5
Pat Riehecky 4d96e5
if [[ ${RHELTAG} -eq 0 ]]; then
Mike McLean 0ec59d
    thispkg=$(echo ${pkg} | head -1)
Pat Riehecky 4d96e5
elif [[ ${RHELTAG} -eq 1 ]]; then
Mike McLean 0ec59d
    thispkg=$(echo ${pkg} grep -v centos | head -1)
Pat Riehecky 4d96e5
else
Pat Riehecky 4d96e5
    echo 'Something went terribly wrong'
Pat Riehecky 4d96e5
    exit 1
Pat Riehecky 4d96e5
fi
Pat Riehecky 4d96e5
Pat Riehecky 4d96e5
tag=$(echo ${thispkg} | awk -F"-" '{print $NF}' | tr '.' '\012'| grep -e el[[:digit:]])
Pat Riehecky 4d96e5
Pat Riehecky 4d96e5
echo ${tag}