diff options
-rw-r--r-- | functions | 16 | ||||
-rw-r--r-- | mga-move-update | 64 | ||||
-rw-r--r-- | mgatools.conf | 6 |
3 files changed, 86 insertions, 0 deletions
diff --git a/functions b/functions new file mode 100644 index 0000000..d612ce3 --- /dev/null +++ b/functions @@ -0,0 +1,16 @@ +#!/bin/sh + +. /etc/mgatools.conf + +function isingroup() +{ + grp="$1" + for group in `groups` + do if [ "$grp" = "$group" ] + then + return 0 + fi + done + return 1 +} + diff --git a/mga-move-update b/mga-move-update new file mode 100644 index 0000000..3d5e3d9 --- /dev/null +++ b/mga-move-update @@ -0,0 +1,64 @@ +#!/bin/sh + +. /usr/share/mgatools/functions +moveupdate_allowed_group=mga-qa + +dryrun=echo + +if ! isingroup "$allowed_group" +then + echo "You are not in group $allowed_group" + exit 1 +fi + +distrorelease="$1" +section="$2" +srcname="$3" +if test -z $distrorelease || test -z $section || test -z $srcname +then + echo 'Missing argument' >&2 + exit 1 +fi + +for file in "$distribdir/$distrorelease/SRPMS/$section/updates_testing/"*.rpm +do + fname=$(rpm -qp --qf '%{NAME}' "$file") + if [ a"$fname" = a"$srcname" ] + then + srcpkg=$(basename "$file") + break + fi +done + +if [ -z $srcpkg ] +then + echo "The package $srcname could not be found in $distrorelease/$section/updates_testing repository." >&2 + exit 2 +fi + +function movepkg() +{ + srcdir="$1" + destdir="$2" + srcpkg="$3" + output="$4" + + for file in "$srcdir/"*.rpm + do + fname=$(rpm -qp --qf '%{SOURCERPM}' "$file") + if [ a"$fname" = a"$srcpkg" ] + then + $dryrun mv -v -f "$file" "$destdir" >> "$output" + fi + done +} + +mailcontent=$(mktemp) +for arch in $arches +do + movepkg "$distribdir/$distrorelease/$arch/media/$section/updates_testing" "$distribdir/$distrorelease/$arch/media/$section/updates/" "$srcpkg" "$mailcontent" + movepkg "$distribdir/$distrorelease/$arch/media/debug/$section/updates_testing" "$distribdir/$distrorelease/$arch/media/debug/$section/updates/" "$srcpkg" "$mailcontent" +done + +rm -f "$mailcontent" + diff --git a/mgatools.conf b/mgatools.conf new file mode 100644 index 0000000..8f8304d --- /dev/null +++ b/mgatools.conf @@ -0,0 +1,6 @@ +moveupdate_allowed_group=mga-qa +moveupdate_mailto=qa-report@ml.mageia.org +distribdir=/distrib/bootstrap/distrib +distroreleases='1' +distrosections='core nonfree tainted' +arches='i586 x86_64' |