|
Michal Marek |
d816a0 |
#!/bin/bash
|
|
Michal Marek |
888e15 |
#
|
|
Michal Marek |
888e15 |
# Building kernels with osc made easy
|
|
Michal Marek |
888e15 |
|
|
Michal Marek |
888e15 |
die()
|
|
Michal Marek |
888e15 |
{
|
|
|
cea072 |
echo -e "$@" >&2
|
|
Michal Marek |
888e15 |
exit 1
|
|
Michal Marek |
888e15 |
}
|
|
Michal Marek |
888e15 |
|
|
Michal Marek |
888e15 |
usage()
|
|
Michal Marek |
888e15 |
{
|
|
Michal Marek |
d816a0 |
die \
|
|
Joao |
113491 |
"Usage: $0 [build] [--ibs | --obs] [--enable-debug | --debug | --disable-debug] [--do-checks | --no-checks] [--ignore-kabi] [--klp-symbols] [<osc_args>] [<specfile>]\n
|
|
Joao |
113491 |
$0 upload [ --ibs | --obs ] [--enable-debug | --debug | --disable-debug] [--do-checks | --no-checks] [--ignore-kabi] [--klp-symbols] project [<specfile> | directory]"
|
|
Michal Marek |
888e15 |
}
|
|
Michal Marek |
888e15 |
|
|
Michal Marek |
d816a0 |
osc()
|
|
Michal Marek |
d816a0 |
{
|
|
Michal Marek |
d816a0 |
echo "osc" $API "$@"
|
|
Michal Marek |
d816a0 |
command osc $API "$@"
|
|
Michal Marek |
d816a0 |
}
|
|
Michal Marek |
888e15 |
|
|
Michal Marek |
d816a0 |
_osc()
|
|
Michal Marek |
d816a0 |
{
|
|
Michal Marek |
d816a0 |
command osc $API "$@"
|
|
Michal Marek |
d816a0 |
}
|
|
Michal Marek |
888e15 |
|
|
Michal Marek |
888e15 |
try_spec()
|
|
Michal Marek |
888e15 |
{
|
|
Michal Marek |
888e15 |
local spec=$1
|
|
Michal Marek |
888e15 |
|
|
Michal Marek |
888e15 |
if test -e "$spec"; then
|
|
Michal Marek |
888e15 |
echo "$spec"
|
|
Michal Marek |
888e15 |
return 0
|
|
Michal Marek |
d816a0 |
elif test -e "kernel-source$VARIANT/$spec"; then
|
|
Michal Marek |
d816a0 |
echo "$_"
|
|
Michal Marek |
888e15 |
return 0
|
|
Michal Marek |
888e15 |
else
|
|
Michal Marek |
888e15 |
return 1
|
|
Michal Marek |
888e15 |
fi
|
|
Michal Marek |
888e15 |
}
|
|
Michal Marek |
888e15 |
|
|
Michal Marek |
888e15 |
find_spec()
|
|
Michal Marek |
888e15 |
{
|
|
Michal Marek |
01f66c |
local spec machine=$(uname -m)
|
|
Michal Marek |
888e15 |
|
|
Michal Marek |
01f66c |
case "$machine" in
|
|
Michal Marek |
01f66c |
i?86 | x86_64)
|
|
Michal Marek |
01f66c |
if try_spec kernel-smp.spec; then
|
|
Michal Marek |
01f66c |
return 0
|
|
Michal Marek |
01f66c |
fi
|
|
Michal Marek |
01f66c |
esac
|
|
Michal Marek |
01f66c |
case "$machine" in
|
|
Michal Marek |
888e15 |
i?86)
|
|
Michal Marek |
888e15 |
if try_spec kernel-pae.spec; then
|
|
Michal Marek |
888e15 |
return 0
|
|
Michal Marek |
888e15 |
fi
|
|
Michal Marek |
888e15 |
esac
|
|
Michal Marek |
888e15 |
if try_spec kernel-default.spec; then
|
|
Michal Marek |
888e15 |
return 0
|
|
Michal Marek |
888e15 |
fi
|
|
Michal Marek |
c152f9 |
if test -n "$VARIANT" && try_spec "kernel$VARIANT.spec"; then
|
|
Michal Marek |
c152f9 |
return 0
|
|
Michal Marek |
c152f9 |
fi
|
|
Michal Marek |
631feb |
if test -n "$VANILLA_ONLY"; then
|
|
Michal Marek |
631feb |
if try_spec kernel-vanilla.spec; then
|
|
Michal Marek |
631feb |
return 0
|
|
Michal Marek |
631feb |
fi
|
|
Michal Marek |
631feb |
fi
|
|
Michal Marek |
888e15 |
echo "Unable to find a specfile to build" >&2
|
|
Michal Marek |
888e15 |
return 1
|
|
Michal Marek |
888e15 |
}
|
|
Michal Marek |
888e15 |
|
|
Michal Marek |
7689b0 |
check_dir_commit()
|
|
Michal Marek |
7689b0 |
{
|
|
Michal Marek |
7689b0 |
local dir=$1 git_commit dir_commit
|
|
Michal Marek |
7689b0 |
|
|
Michal Marek |
ab3a92 |
git_commit=$(git rev-parse HEAD 2>/dev/null) || return
|
|
Michal Marek |
7689b0 |
dir_commit=$(sed -n 's/GIT Revision: //p' "$dir"/*source-timestamp)
|
|
Michal Marek |
7689b0 |
if test "$git_commit" != "$dir_commit"; then
|
|
Michal Marek |
7689b0 |
echo "$dir (${dir_commit:0:7}) does not match your current HEAD (${git_commit:0:7})" >&2
|
|
Michal Marek |
7689b0 |
echo "Maybe you forgot to run scripts/tar-up.sh?" >&2
|
|
Michal Marek |
7689b0 |
fi
|
|
Michal Marek |
7689b0 |
}
|
|
Michal Marek |
7689b0 |
|
|
Michal Marek |
cd070b |
get_branch()
|
|
Michal Marek |
d816a0 |
{
|
|
Tony Jones |
14421c |
local res version sp githead
|
|
Tony Jones |
14421c |
|
|
Tony Jones |
14421c |
githead=$(git rev-parse --git-dir)/HEAD
|
|
Tony Jones |
14421c |
|
|
Tony Jones |
14421c |
if ! test -r "$githead"; then
|
|
Tony Jones |
14421c |
echo "Warning: Could not find a git HEAD" >&2
|
|
Tony Jones |
14421c |
exit
|
|
Tony Jones |
14421c |
fi
|
|
Michal Marek |
d816a0 |
|
|
Michal Marek |
cd070b |
# First, try the local branch name
|
|
Tony Jones |
14421c |
res=$(sed -ne 'y|/|:|; s|^ref: refs:heads:||p' $githead 2>/dev/null)
|
|
Michal Marek |
cd070b |
if test -n "$res"; then
|
|
Michal Marek |
cd070b |
if project_exists "$kotd_namespace:$res"; then
|
|
Michal Marek |
cd070b |
echo "$res"
|
|
Michal Marek |
cd070b |
return
|
|
Michal Marek |
cd070b |
fi
|
|
Michal Marek |
cd070b |
echo "Warning: $kotd_namespace:$res not found at $WEBCLIENT, trying harder" >&2
|
|
Michal Marek |
cd070b |
res=
|
|
Michal Marek |
cd070b |
else
|
|
Michal Marek |
cd070b |
echo "Warning: Could not determine your git branch" >&2
|
|
Michal Marek |
cd070b |
fi
|
|
Michal Marek |
cd070b |
# For SLE branches, try IBS_PROJECT
|
|
Michal Marek |
cd070b |
case "$IBS_PROJECT" in
|
|
Michal Marek |
cd070b |
SUSE:SLE-*)
|
|
Michal Marek |
cd070b |
# SUSE:SLE-10-SP4:Update -> 10-SP4:Update
|
|
Michal Marek |
cd070b |
version=${IBS_PROJECT#SUSE:SLE-}
|
|
Michal Marek |
cd070b |
# 10-SP4:Update -> 4:Update
|
|
Michal Marek |
cd070b |
sp=${version#*-SP}
|
|
Michal Marek |
cd070b |
if test "$sp" != "$version"; then
|
|
Michal Marek |
cd070b |
# 4:Update -> 4
|
|
Michal Marek |
cd070b |
sp=${sp%%:*}
|
|
Michal Marek |
cd070b |
else
|
|
Michal Marek |
cd070b |
sp=
|
|
Michal Marek |
cd070b |
fi
|
|
Michal Marek |
cd070b |
# 10-SP4:Update -> 10
|
|
Michal Marek |
8b2112 |
# 12:GA -> 12
|
|
Michal Marek |
8b2112 |
version=${version%%[-:]*}
|
|
Michal Marek |
cd070b |
if test "$version" -ge 11; then
|
|
Michal Marek |
cd070b |
res="SLE$version"
|
|
Michal Marek |
cd070b |
else
|
|
Michal Marek |
cd070b |
res="SLES$version"
|
|
Michal Marek |
cd070b |
fi
|
|
Michal Marek |
cd070b |
if test -n "$sp"; then
|
|
Michal Marek |
cd070b |
res="$res-SP$sp"
|
|
Michal Marek |
cd070b |
fi
|
|
Michal Marek |
cd070b |
if project_exists "$kotd_namespace:$res"; then
|
|
Michal Marek |
cd070b |
echo "$res"
|
|
Michal Marek |
cd070b |
return
|
|
Michal Marek |
cd070b |
fi
|
|
Michal Marek |
cd070b |
echo "Branch $kotd_namespace:$res not found at $WEBCLIENT" >&2
|
|
Michal Marek |
cd070b |
exit 1
|
|
Michal Marek |
cd070b |
esac
|
|
Michal Marek |
cd070b |
case "$OBS_PROJECT" in
|
|
Michal Marek |
cd070b |
openSUSE:Factory*)
|
|
Michal Marek |
cd070b |
if $internal; then
|
|
Michal Marek |
cd070b |
res=master
|
|
Michal Marek |
cd070b |
else
|
|
Michal Marek |
cd070b |
res=HEAD
|
|
Michal Marek |
cd070b |
fi
|
|
Michal Marek |
cd070b |
;;
|
|
Michal Marek |
cd070b |
openSUSE:*)
|
|
Michal Marek |
cd070b |
version=${OBS_PROJECT#openSUSE:}
|
|
Michal Marek |
cd070b |
version=${version%%:*}
|
|
Michal Marek |
cd070b |
res="openSUSE-$version"
|
|
Michal Marek |
cd070b |
;;
|
|
Michal Marek |
cd070b |
esac
|
|
Michal Marek |
cd070b |
if test -n "$res"; then
|
|
Michal Marek |
cd070b |
if project_exists "$kotd_namespace:$res"; then
|
|
Michal Marek |
cd070b |
echo "$res"
|
|
Michal Marek |
cd070b |
return
|
|
Michal Marek |
cd070b |
fi
|
|
Michal Marek |
cd070b |
echo "Branch $kotd_namespace:$res not found at $WEBCLIENT" >&2
|
|
Michal Marek |
cd070b |
else
|
|
Michal Marek |
cd070b |
echo "Could not determine the official name of this branch" >&2
|
|
Michal Marek |
d816a0 |
fi
|
|
Michal Marek |
cd070b |
exit 1
|
|
Michal Marek |
d816a0 |
}
|
|
Michal Marek |
888e15 |
|
|
Michal Marek |
cd070b |
setup_api()
|
|
Michal Marek |
d816a0 |
{
|
|
Michal Marek |
cd070b |
local wanted=$1 internal=false kotd_namespace branch
|
|
Michal Marek |
d816a0 |
|
|
Michal Marek |
cd070b |
if test "$wanted" = "--ibs"; then
|
|
Michal Marek |
cd070b |
internal=true
|
|
Michal Marek |
cd070b |
elif test -z "$wanted"; then
|
|
Michal Marek |
cd070b |
if test -z "$OBS_PROJECT"; then
|
|
Michal Marek |
cd070b |
echo "Using the IBS"
|
|
Michal Marek |
cd070b |
internal=true
|
|
Michal Marek |
cd070b |
fi
|
|
Michal Marek |
cd070b |
fi
|
|
Michal Marek |
cd070b |
if $internal; then
|
|
Michal Marek |
cd070b |
API="-A https://api.suse.de"
|
|
Michal Marek |
cd070b |
WEBCLIENT="https://build.suse.de"
|
|
Michal Marek |
cd070b |
kotd_namespace="Devel:Kernel"
|
|
Michal Marek |
cd070b |
else
|
|
Michal Marek |
cd070b |
API="-A https://api.opensuse.org"
|
|
Michal Marek |
cd070b |
WEBCLIENT="https://build.opensuse.org"
|
|
Michal Marek |
cd070b |
kotd_namespace="Kernel"
|
|
Michal Marek |
cd070b |
fi
|
|
Michal Marek |
a96f6d |
if ! osc $API api /about >/dev/null
|
|
Michal Marek |
a96f6d |
echo "osc is not configured, run \`osc $API ls' first" >&2
|
|
Michal Marek |
a96f6d |
exit 1
|
|
Michal Marek |
a96f6d |
fi
|
|
Michal Marek |
d0307b |
branch=$(get_branch)
|
|
Michal Marek |
d0307b |
if test -n "$branch"; then
|
|
Michal Marek |
d0307b |
# We try to build against Kernel:foo in case the kernel build
|
|
Michal Marek |
d0307b |
# requires some extra packages not yet available in the
|
|
Michal Marek |
d0307b |
# official project
|
|
Michal Marek |
d0307b |
PROJECT="$kotd_namespace:$branch"
|
|
Michal Marek |
d0307b |
else
|
|
Michal Marek |
d0307b |
# ... but we fall back to openSUSE:X.Y or SUSE:SLE-XY
|
|
Michal Marek |
d0307b |
if $internal; then
|
|
Michal Marek |
d0307b |
PROJECT=$IBS_PROJECT
|
|
Michal Marek |
d0307b |
else
|
|
Michal Marek |
d0307b |
PROJECT=$OBS_PROJECT
|
|
Michal Marek |
d0307b |
fi
|
|
Michal Marek |
d0307b |
echo "Building against $PROJECT directly as a fallback"
|
|
Michal Marek |
d0307b |
fi
|
|
Michal Marek |
d816a0 |
}
|
|
Michal Marek |
d816a0 |
|
|
Michal Marek |
d816a0 |
project_exists()
|
|
Michal Marek |
d816a0 |
{
|
|
Michal Marek |
d816a0 |
local project=$1
|
|
Michal Marek |
d816a0 |
|
|
Michal Marek |
3572b0 |
_osc meta prj "$project" &>/dev/null
|
|
Michal Marek |
d816a0 |
}
|
|
Michal Marek |
d816a0 |
|
|
Michal Marek |
d816a0 |
|
|
Michal Marek |
d816a0 |
#### build ####
|
|
Michal Marek |
d816a0 |
|
|
Michal Marek |
d816a0 |
do_build()
|
|
Michal Marek |
d816a0 |
{
|
|
Joao |
113491 |
local osc_args=() debuginfo=false checks=false kabi=true klps=false api
|
|
Michal Marek |
ef7318 |
|
|
Michal Marek |
ef7318 |
while test $# -gt 0; do
|
|
Michal Marek |
ef7318 |
case "$1" in
|
|
Michal Marek |
ebc995 |
--enable-debug* | --debug*)
|
|
Michal Marek |
4afd3a |
debuginfo=true
|
|
Michal Marek |
4afd3a |
shift
|
|
Michal Marek |
4afd3a |
;;
|
|
Michal Marek |
4afd3a |
--disable-debug*)
|
|
Michal Marek |
4afd3a |
debuginfo=false
|
|
Michal Marek |
4afd3a |
shift
|
|
Michal Marek |
4afd3a |
;;
|
|
Michal Marek |
e97f1b |
--do-checks)
|
|
Michal Marek |
e97f1b |
checks=true
|
|
Michal Marek |
e97f1b |
shift
|
|
Michal Marek |
e97f1b |
;;
|
|
Michal Marek |
e97f1b |
--no-checks | --nochecks)
|
|
Michal Marek |
e97f1b |
checks=false
|
|
Michal Marek |
e97f1b |
shift
|
|
Michal Marek |
e97f1b |
;;
|
|
Michal Marek |
cd070b |
--ibs | --obs)
|
|
Michal Marek |
cd070b |
api=$1
|
|
Michal Marek |
cd070b |
shift
|
|
Michal Marek |
cd070b |
;;
|
|
Michal Marek |
2d635d |
--ignore-kabi)
|
|
Michal Marek |
2d635d |
kabi=false
|
|
Michal Marek |
2d635d |
shift
|
|
Michal Marek |
2d635d |
;;
|
|
Joao |
113491 |
--klp-symbols)
|
|
Joao |
113491 |
klps=true
|
|
Joao |
113491 |
shift
|
|
Joao |
113491 |
;;
|
|
Michal Marek |
270fc6 |
*.spec)
|
|
Marcos Paulo de Souza |
86d0aa |
spec=$1
|
|
Michal Marek |
ef7318 |
shift
|
|
Michal Marek |
ef7318 |
;;
|
|
Michal Marek |
ef7318 |
*)
|
|
Michal Marek |
270fc6 |
osc_args=("${osc_args[@]}" "$1")
|
|
Michal Marek |
ef7318 |
shift
|
|
Michal Marek |
270fc6 |
;;
|
|
Michal Marek |
ef7318 |
esac
|
|
Michal Marek |
ef7318 |
done
|
|
Michal Marek |
ef7318 |
if test -z "$spec"; then
|
|
Michal Marek |
d816a0 |
spec=$(find_spec) || usage
|
|
Michal Marek |
d816a0 |
fi
|
|
Michal Marek |
7689b0 |
check_dir_commit "$(dirname "$spec")"
|
|
Michal Marek |
ebc995 |
if $debuginfo; then
|
|
Michal Marek |
ebc995 |
osc_args=("${osc_args[@]}" --debuginfo)
|
|
Michal Marek |
ebc995 |
else
|
|
Michal Marek |
4afd3a |
osc_args=("${osc_args[@]}" --disable-debuginfo)
|
|
Michal Marek |
4afd3a |
fi
|
|
Michal Marek |
e97f1b |
if ! $checks; then
|
|
Joao |
113491 |
osc_args=("${osc_args[@]}" --no-checks
|
|
Michal Marek |
e97f1b |
--extra-pkgs=-brp-check-suse --extra-pkgs=-post-build-checks)
|
|
Michal Marek |
e97f1b |
fi
|
|
Michal Marek |
2d635d |
if $kabi; then
|
|
Michal Suchanek |
e08c40 |
osc_args=("${osc_args[@]}" --define 'ignore_kabi_badness 0')
|
|
Michal Marek |
2d635d |
fi
|
|
Joao |
113491 |
if ! $klps; then
|
|
Michal Suchanek |
01f623 |
osc_args=("${osc_args[@]}" --define 'klp_symbols 1')
|
|
Joao |
113491 |
fi
|
|
Michal Marek |
d816a0 |
|
|
Michal Marek |
d816a0 |
arch=$(uname -m | sed 's/^i.86$/i586/')
|
|
Michal Marek |
cd070b |
setup_api $api
|
|
Michal Marek |
d816a0 |
|
|
Michal Marek |
9fea72 |
rm -rf "$(dirname "$spec")/.osc"
|
|
Jiri Slaby |
58db0d |
osc build --no-service --local-package \
|
|
Jiri Slaby |
58db0d |
--alternative-project="$PROJECT" \
|
|
Michal Marek |
c44ee3 |
"${osc_args[@]}" standard "$spec"
|
|
Michal Marek |
d816a0 |
}
|
|
Michal Marek |
d816a0 |
|
|
Michal Marek |
d816a0 |
### upload ###
|
|
Michal Marek |
d816a0 |
|
|
Michal Marek |
d816a0 |
do_upload()
|
|
Michal Marek |
d816a0 |
{
|
|
Michal Marek |
f096ba |
local api home_project flavor debuginfo="" checks="" args=()
|
|
Michal Marek |
b54a24 |
|
|
Michal Marek |
28acce |
api="https://api.opensuse.org"
|
|
|
ac1729 |
|
|
|
ac1729 |
while test $# -gt 0
|
|
|
ac1729 |
do
|
|
|
ac1729 |
case $1 in
|
|
|
ac1729 |
--ibs) api="https://api.suse.de"; shift ;;
|
|
|
ac1729 |
--obs) api="https://api.opensuse.org"; shift ;;
|
|
|
ac1729 |
--enable-debug|--debug) debuginfo="--debuginfo"; shift ;;
|
|
|
ac1729 |
--disable-debug) debuginfo=""; shift ;;
|
|
|
ac1729 |
--do-checks) checks="--enable-checks"; shift ;;
|
|
|
ac1729 |
--no-checks) checks=""; shift ;;
|
|
Michal Marek |
f096ba |
-*) args=("${args[@]}" "$1"); shift ;;
|
|
|
ac1729 |
*) break ;;
|
|
|
ac1729 |
esac
|
|
|
ac1729 |
done
|
|
Michal Marek |
f096ba |
args=(-A "$api" "${args[@]}" $debuginfo $checks)
|
|
Michal Marek |
d816a0 |
case $# in
|
|
Michal Marek |
d816a0 |
1)
|
|
Michal Marek |
d816a0 |
home_project=$1
|
|
Michal Marek |
8a8cfc |
spec=$(try_spec kernel-source$VARIANT.spec)
|
|
Michal Marek |
d816a0 |
if test -z "$spec"; then
|
|
Michal Marek |
8a8cfc |
die "Can't find kernel-source$VARIANT directory"
|
|
Michal Marek |
d816a0 |
fi
|
|
Michal Marek |
d816a0 |
dir=$(dirname "$spec")
|
|
Michal Marek |
d816a0 |
;;
|
|
Michal Marek |
d816a0 |
2)
|
|
Michal Marek |
d816a0 |
home_project=$1
|
|
Michal Marek |
f87504 |
case "$2" in
|
|
Michal Marek |
f87504 |
*.spec)
|
|
Michal Marek |
f87504 |
flavor=${2##*/kernel-}
|
|
Michal Marek |
f096ba |
args=("${args[@]}" --flavor ${flavor%.spec})
|
|
Michal Marek |
f87504 |
dir=${2%/*}
|
|
Michal Marek |
f87504 |
;;
|
|
Michal Marek |
f87504 |
*)
|
|
Michal Marek |
f87504 |
dir=$2
|
|
Michal Marek |
f87504 |
esac
|
|
Michal Marek |
d816a0 |
;;
|
|
Michal Marek |
d816a0 |
*)
|
|
Michal Marek |
d816a0 |
usage
|
|
Michal Marek |
d816a0 |
esac
|
|
Michal Marek |
7689b0 |
check_dir_commit "$dir"
|
|
Michal Marek |
888e15 |
|
|
Michal Marek |
f096ba |
cmd=("$(dirname "$0")/bs-upload-kernel" "${args[@]}" "$dir" "$home_project")
|
|
Michal Marek |
42552d |
if test "$(basename "$dir")" != "kernel-source$VARIANT"; then
|
|
Michal Marek |
42552d |
cmd=("${cmd[@]}" "kernel-source$VARIANT")
|
|
Michal Marek |
42552d |
fi
|
|
Michal Marek |
b54a24 |
echo "${cmd[@]}"
|
|
Michal Marek |
b54a24 |
"${cmd[@]}" || exit
|
|
Michal Marek |
d816a0 |
|
|
Michal Marek |
d816a0 |
echo "Done. You can watch the build progress at"
|
|
Michal Marek |
6e11e1 |
echo " ${api/api./build.}/project/monitor?project=${home_project//[:\/]/%3A}"
|
|
Michal Marek |
d816a0 |
}
|
|
Michal Marek |
d816a0 |
|
|
Michal Marek |
f2b0dc |
command=
|
|
Michal Marek |
f2b0dc |
spec=
|
|
Michal Marek |
58874c |
topdir=$(dirname "$0")/..
|
|
Michal Marek |
d816a0 |
|
|
Michal Marek |
30f26f |
# change 'osc_wrapper --ibs upload' to 'osc_wrapper upload --ibs'
|
|
Michal Marek |
30f26f |
case "$1" in
|
|
Michal Marek |
30f26f |
--ibs| --obs)
|
|
Michal Marek |
30f26f |
api=$1
|
|
Michal Marek |
30f26f |
cmd=$2
|
|
Michal Suchanek |
511c39 |
if [ -n "$cmd" ] ; then
|
|
Michal Suchanek |
511c39 |
shift 2
|
|
Michal Suchanek |
511c39 |
set -- "$cmd" "$api" "$@"
|
|
Michal Suchanek |
511c39 |
fi
|
|
Michal Marek |
30f26f |
esac
|
|
Michal Marek |
30f26f |
|
|
Michal Marek |
d816a0 |
case "$1" in
|
|
Michal Marek |
d816a0 |
build | upload)
|
|
Michal Marek |
d816a0 |
command=$1
|
|
Michal Marek |
d816a0 |
shift
|
|
Michal Marek |
d816a0 |
;;
|
|
Michal Marek |
135ce6 |
-h|--help) usage ;;
|
|
Michal Marek |
d816a0 |
-* | "" | *.spec)
|
|
Michal Marek |
d816a0 |
# "build" is the default
|
|
Michal Marek |
d816a0 |
command=build
|
|
Michal Marek |
d816a0 |
;;
|
|
Michal Marek |
d816a0 |
*)
|
|
Michal Marek |
d816a0 |
usage
|
|
Michal Marek |
d816a0 |
esac
|
|
Michal Marek |
d816a0 |
|
|
Michal Marek |
58874c |
source "$topdir/rpm/config.sh"
|
|
Michal Marek |
d816a0 |
do_$command "$@"
|