+topdir=$(rpm -E '%{_topdir}')
+
+n="$(echo -e '\nn')"
+n="${n%%n}"
+
+cd "$topdir"
+for pkg in "$@"; do
+ branch=$(get_branch "$pkg")
+ # pkg: package %{name}
+ pkg=$(package_name "$pkg")
+
+ # spec: package/package.spec
+ spec=$(rpm -D "name $pkg" -E '%{_specdir}/%{name}.spec')
+ spec=${spec#$topdir/}
+
+ # pkgdir: package/
+ pkgdir=${spec%/*}
+
+ # specname: only spec filename
+ specname=${spec##*/}
+
+ # start real work
+ if [ -n "$branch" ]; then
+ echo "$pkg:$branch ..."
+ else
+ echo "$pkg ..."
+ fi
+
+ # get package
+ [ "$get" = 1 -a -d "$pkgdir" ] && continue
+
+ if [ "$update" = "1" -o "$get" = "1" ]; then
+ if [ -n "$branch" ]; then
+ ./builder -g -ns "$spec" -r $branch
+ else
+ ./builder -g -ns "$spec"
+ fi
+ fi
+
+ [ "$get" = 1 ] && continue
+
+ # update .spec files