use args to handle the actions against rings and staging

This commit is contained in:
Max Lin 2015-05-21 17:19:05 +08:00
parent d7f58f6780
commit 6df883d454

View File

@ -12,10 +12,26 @@ fi
if [ $# -eq 0 ]; then if [ $# -eq 0 ]; then
targets='Factory' targets='Factory'
arch='x86_64' arch='x86_64'
has_ring_0='yes'
has_ring_1='yes'
has_ring_2='yes'
has_staging='yes'
else else
for arg in $@;do for arg in $@;do
if [ "$arg" = "x86_64" -o "$arg" = "ppc64le" ]; then if [ "$arg" = "x86_64" -o "$arg" = "ppc64le" ]; then
arch="$arg" arch="$arg"
elif [ "$arg" = "has_ring_all" ]; then
has_ring_0='yes'
has_ring_1='yes'
has_ring_2='yes'
elif [ "$arg" = "has_ring_0" ]; then
has_ring_0='yes'
elif [ "$arg" = "has_ring_1" ]; then
has_ring_1='yes'
elif [ "$arg" = "has_ring_2" ]; then
has_ring_2='yes'
elif [ "$arg" = "has_staging" ]; then
has_staging='yes'
else else
targets+="$arg" targets+="$arg"
fi fi
@ -98,43 +114,50 @@ function sync_prj() {
function start_creating() { function start_creating() {
for target in "$targets"; do for target in "$targets"; do
# Rings part # Rings part
sync_prj openSUSE:$target:Rings:0-Bootstrap/standard/ $target-bootstrap-$arch $arch if [ "$has_ring_0" = "yes" ]; then
sync_prj openSUSE:$target:Rings:1-MinimalX/standard $target-minimalx-$arch $arch sync_prj openSUSE:$target:Rings:0-Bootstrap/standard/ $target-bootstrap-$arch $arch
fi
if [ "$has_ring_1" = "yes" ]; then
sync_prj openSUSE:$target:Rings:1-MinimalX/standard $target-minimalx-$arch $arch
regenerate_pl openSUSE:$target:Rings:1-MinimalX $target 1 $target-bootstrap-$arch $target-minimalx-$arch $arch
fi
if [ "$has_ring_2" = "yes" ]; then
sync_prj openSUSE:$target:Rings:2-TestDVD/standard $target-testdvd-$arch $arch
regenerate_pl openSUSE:$target:Rings:2-TestDVD $target 2 $target-bootstrap-$arch $target-minimalx-$arch $target-testdvd-$arch $arch
perl $SCRIPTDIR/rebuildpacs.pl openSUSE:$target:Rings:2-TestDVD standard $arch
fi
regenerate_pl openSUSE:$target:Rings:1-MinimalX $target 1 $target-bootstrap-$arch $target-minimalx-$arch $arch # Staging Project part
if [ "$has_staging" = "yes" ]; then
projects=$(osc api "/search/project/id?match=starts-with(@name,\"openSUSE:$target:Staging\")" | grep name | cut -d\' -f2)
sync_prj openSUSE:$target:Rings:2-TestDVD/standard $target-testdvd-$arch $arch for prj in $projects; do
regenerate_pl openSUSE:$target:Rings:2-TestDVD $target 2 $target-bootstrap-$arch $target-minimalx-$arch $target-testdvd-$arch $arch l=$(echo $prj | cut -d: -f4)
use_bc="staging_$target:$l-bc-$arch"
projects=$(osc api "/search/project/id?match=starts-with(@name,\"openSUSE:$target:Staging\")" | grep name | cut -d\' -f2) if [ "$l" = "A" -o "$l" = "B" ]; then
projects+=" openSUSE:$target:Rings:2-TestDVD" use_bc=
fi
for prj in $projects; do if [[ $prj =~ ^openSUSE.+:[A-Z]$ ]]; then
l=$(echo $prj | cut -d: -f4) echo "Checking $target:$l-$arch"
use_bc="staging_$target:$l-bc-$arch" if [ -n "$use_bc" ]; then
if [ "$l" = "A" -o "$l" = "B" ]; then sync_prj openSUSE:$target:Staging:$l/bootstrap_copy "staging_$target:$l-bc-$arch" $arch
use_bc= fi
fi sync_prj openSUSE:$target:Staging:$l/standard staging_$target:$l-$arch $arch
if [[ $prj =~ ^openSUSE.+:[A-Z]$ ]]; then regenerate_pl "openSUSE:$target:Staging:$l" $target 1 $use_bc staging_$target:$l-$arch $arch
echo "Checking $target:$l-$arch"
if [ -n "$use_bc" ]; then
sync_prj openSUSE:$target:Staging:$l/bootstrap_copy "staging_$target:$l-bc-$arch" $arch
fi fi
sync_prj openSUSE:$target:Staging:$l/standard staging_$target:$l-$arch $arch
regenerate_pl "openSUSE:$target:Staging:$l" $target 1 $use_bc staging_$target:$l-$arch $arch
fi
if [[ ( $prj =~ :DVD ) || ( $prj =~ Rings:2-TestDVD ) ]]; then if [[ $prj =~ :DVD ]]; then
perl $SCRIPTDIR/rebuildpacs.pl $prj standard $arch echo "Rebuildpacs $prj"
fi perl $SCRIPTDIR/rebuildpacs.pl $prj standard $arch
fi
if [[ $prj =~ ^openSUSE.+:[A-Z]:DVD$ ]]; then if [[ $prj =~ ^openSUSE.+:[A-Z]:DVD$ ]]; then
echo "Checking $target:$l:DVD-$arch" echo "Checking $target:$l:DVD-$arch"
sync_prj openSUSE:$target:Staging:$l:DVD/standard "staging_$target:$l-dvd-$arch" $arch sync_prj openSUSE:$target:Staging:$l:DVD/standard "staging_$target:$l-dvd-$arch" $arch
regenerate_pl "openSUSE:$target:Staging:$l:DVD" $target 2 $use_bc staging_$target:$l-$arch "staging_$target:$l-dvd-$arch" $arch regenerate_pl "openSUSE:$target:Staging:$l:DVD" $target 2 $use_bc staging_$target:$l-$arch "staging_$target:$l-dvd-$arch" $arch
fi fi
done done
fi
done done
} }