| |
| |
| |
| |
| |
| |
| usage() { |
| echo '' >&2 |
| echo "$0 [-hrcq] [-b branch]" >&2 |
| echo '' >&2 |
| echo ' Finds all possible srpms for a given repo' >&2 |
| echo ' based on the commit log' >&2 |
| echo '' >&2 |
| echo 'You need to run this from inside a sources git repo' >&2 |
| echo '' >&2 |
| echo ' -h: This help message' >&2 |
| echo ' -r: Use the Redhat commits only' >&2 |
| echo ' -c: Return in sha:srpm format' >&2 |
| echo ' -q: Suppress warnings' >&2 |
| echo '' >&2 |
| echo ' -b: specify a branch to examine' >&2 |
| echo " defaults to repo's current branch" >&2 |
| echo '' >&2 |
| echo " $0" >&2 |
| echo " $0 -b c7" >&2 |
| echo " $0 -r -b c7" >&2 |
| echo " $0 -c -b remotes/origin/c7" >&2 |
| echo " $0 -c -r -b remotes/origin/c7" >&2 |
| exit 1 |
| } |
| |
| |
| warn () { |
| [[ ${QUIET} -eq 1 ]] && return |
| echo 1>&2 "$@" |
| } |
| |
| |
| |
| RHELAUTHOR="CentOS Buildsys <bugs@centos.org>" |
| |
| RHELONLY=0 |
| QUIET=0 |
| WITHCOMMITHASH=0 |
| BRANCH="" |
| |
| |
| if [ -f /etc/centos-git-common ]; then |
| . /etc/centos-git-common |
| fi |
| |
| |
| |
| |
| |
| |
| args=$(getopt -o hrcqb: -- "$@") |
| eval set -- "$args" |
| |
| while [[ 0 -eq 0 ]]; do |
| case $1 in |
| -- ) |
| |
| shift |
| break |
| ;; |
| -r ) |
| |
| RHELONLY=1 |
| shift |
| ;; |
| -c ) |
| |
| WITHCOMMITHASH=1 |
| shift |
| ;; |
| -q ) |
| |
| QUIET=1 |
| shift |
| ;; |
| -b ) |
| |
| BRANCH=$2 |
| shift |
| shift |
| ;; |
| -h ) |
| |
| usage |
| ;; |
| esac |
| done |
| |
| if [[ ! -d .git ]] || [[ ! -d SPECS ]]; then |
| echo 'You need to run this from inside a sources git repo' |
| exit 1 |
| fi |
| |
| |
| IFS=' |
| ' |
| |
| LOGARGS="--pretty=%H|\%s" |
| if [[ ${RHELONLY} -eq 1 ]]; then |
| LOGARGS="${LOGARGS} --author='${RHELAUTHOR}'" |
| fi |
| |
| if [[ "x${BRANCH}" != 'x' ]]; then |
| LOGARGS="${LOGARGS} ${BRANCH}" |
| fi |
| |
| loglist=$(git log ${LOGARGS} |grep import) |
| if [[ $? -ne 0 ]]; then |
| exit 1 |
| fi |
| |
| |
| FOUND=False |
| for entry in $loglist; do |
| FOUND=True |
| |
| pkg=$(echo ${entry} | cut -d' ' -f2) |
| |
| nvr="${pkg%.src.rpm}" |
| if [[ ${WITHCOMMITHASH} -eq 1 ]]; then |
| shasum=$(echo ${entry} | cut -d'|' -f1) |
| echo "${shasum}:${nvr}.src.rpm" |
| else |
| echo "${nvr}.src.rpm" |
| fi |
| done |
| |
| if [ "${FOUND}" != "True" ] |
| then |
| warn "No SRPMs found" |
| fi |
| |