From e1d7bd8af359e8eb968afa20da5eaeecf3a7eb65 Mon Sep 17 00:00:00 2001 From: Stephan Kulow Date: Thu, 10 Apr 2014 11:03:15 +0200 Subject: [PATCH] add script to update the package lists for the staging projects It's hardcoding the list of letters for now --- create_test_dvds.sh | 66 +++++++++++++++++++++++++++++++++++++++ create_test_dvds.testcase | 31 ++++++++++++++++++ 2 files changed, 97 insertions(+) create mode 100644 create_test_dvds.sh create mode 100644 create_test_dvds.testcase diff --git a/create_test_dvds.sh b/create_test_dvds.sh new file mode 100644 index 00000000..f2951069 --- /dev/null +++ b/create_test_dvds.sh @@ -0,0 +1,66 @@ +#! /bin/bash + +set -e + +if ! test -d co; then + echo "you need to call this in a directory with a co directory containting osc checkouts with the staging prjs" + exit 1 +fi + +CODIR=$PWD +SCRIPTDIR=`dirname "$0"` + +function regenerate_pl() { + prj=$1 + + shift; + + : > tc + for i in "$@"; do + echo "repo $i 0 solv $i.solv" >> tc + done + cat $SCRIPTDIR/create_test_dvds.testcase >> tc + + out=$(mktemp) + testsolv -r tc | sed -e 's,^install \(.*\)-[^-]*-[^-]*\.[^-\.]*@.*,\1,' > $out + + p=$(mktemp) + tdir=$CODIR/co/$prj/Test-DVD-x86_64 + pushd $tdir > /dev/null + osc up + popd > /dev/null + sed -n -e '1,/BEGIN-PACKAGELIST/p' $tdir/PRODUCT-x86_64.kiwi > $p + for i in $(cat $out); do + echo "" >> $p + done + sed -n -e '/END-PACKAGELIST/,$p' $tdir/PRODUCT-x86_64.kiwi >> $p + xmllint --format $p -o $tdir/PRODUCT-x86_64.kiwi + rm $p + pushd $tdir > /dev/null + if ! cmp -s .osc/PRODUCT-x86_64.kiwi PRODUCT-x86_64.kiwi; then + osc ci -m "auto update" + fi + popd > /dev/null +} + +function sync_prj() { + prj=$1 + dir=$2 + mkdir -p $dir + perl $SCRIPTDIR/bs_mirrorfull --nodebug https://build.opensuse.org/build/$prj/x86_64 $dir + rpms2solv $dir/*.rpm > $dir.solv +} + +sync_prj openSUSE:Factory:Rings:0-Bootstrap/standard/ bootstrap +sync_prj openSUSE:Factory:Rings:1-MinimalX/standard minimalx + +regenerate_pl openSUSE:Factory:Rings:1-MinimalX bootstrap minimalx + +sync_prj openSUSE:Factory:Staging:A/standard staging_A +regenerate_pl "openSUSE:Factory:Staging:A" staging_A + +for l in B C D E F G H I J; do + sync_prj openSUSE:Factory:Staging:$l/bootstrap_copy "staging_$l-bc" + sync_prj openSUSE:Factory:Staging:$l/standard staging_$l + regenerate_pl "openSUSE:Factory:Staging:$l" "staging_$l-bc" staging_$l +done diff --git a/create_test_dvds.testcase b/create_test_dvds.testcase new file mode 100644 index 00000000..27544057 --- /dev/null +++ b/create_test_dvds.testcase @@ -0,0 +1,31 @@ +# common part +system x86_64 rpm +namespace namespace:language(en_US) @SYSTEM + +job install provides pattern() = enhanced_base +job install provides pattern() = sw_management +job install provides pattern() = x11 +job install provides pattern() = yast2_basis + +job install name aaa_base-extras +job install name branding-openSUSE +job install name openSUSE-release-livecd-x11 +job install name sudo +job install name xdelta + +job lock name bash-completion +job lock name bash-doc +job lock name cups +job lock name ghostscript +job lock name graphviz +job lock name gtk2-branding-upstream +job lock name icewm-default +job lock name kernel-default +job lock name nss-mdns-32bit +job lock name patterns-openSUSE-enhanced_base_opt +job lock name patterns-openSUSE-fonts_opt +job lock name patterns-openSUSE-x11_opt +job lock name readline-doc +job lock name SuSEfirewall2 +job lock name vim-data +job lock name libgcc_s1-32bit