diff --git a/.gitignore b/.gitignore index 82a30ee9f..21ab6c0f0 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ osc .venv .vscode .idea +/t/tmp diff --git a/Makefile b/Makefile index 8e637fe26..b4ba3a8b1 100644 --- a/Makefile +++ b/Makefile @@ -38,4 +38,7 @@ package-clean: rm -f dist/package/$(package_name).changes rm -f dist/package/$(package_name).tar.xz +test-publish: + ( for t in t/*.sh; do bash -x $$t > $$t.log 2> $$t.debug && continue; echo FAIL: $$t; exit 1; done && echo ALL PASS ) + .PHONY: all install diff --git a/publish_distro b/publish_distro index bcaec1358..de45ece9c 100755 --- a/publish_distro +++ b/publish_distro @@ -19,7 +19,7 @@ PUBLISH_DELAY=2 force= # used for cleanup -date='now' +date=${PUBLISH_DISTRO_DATE-now} # set to echo for dry run dryrun= @@ -27,6 +27,8 @@ dryrun= # cleanup instead of sync do_cleanup= +changes= + # url with snapshot changes app diff_url_base="https://openqa.opensuse.org/snapshot-changes/opensuse" changes_dir_base="/srv/www-local/snapshot-changes" @@ -55,41 +57,37 @@ get_changes_filename() { # --dry and --cleanup should not be passed to rsync through $@ # config file and possibly other opts including --force need to be -for arg; do - shift - if [ "$arg" == '--force' ]; then +while (("$#")); do + if [ "$1" == '--force' ]; then force=1 - newargs+=("$arg") - shift - continue - elif [ "$arg" == '--dry' ]; then + elif [ "$1" == '--dry' ]; then dryrun=echo - shift - continue - elif [ "$arg" == '--cleanup' ]; then + elif [ "$1" == '--cleanup' ]; then do_cleanup=1 date="90 days ago" - continue - elif [ "$arg" == '--now' ]; then + elif [ "$1" == '--now' ]; then PUBLISH_DELAY=0 - shift - continue else - newargs+=("$arg") + newargs+=("$1") fi + shift done # set newargs as $@ set -- "${newargs[@]}" +set -ue + . "$1" || { echo "need to specify config file" >&2 exit 1 } shift -stage="/srv/ftp-stage/pub/opensuse/$path" -dest="/srv/ftp/pub/opensuse/$path" +base="${PUBLISH_DISTRO_BASE:-/srv/}" + +stage="${base}ftp-stage/pub/opensuse/$path" +dest="${base}ftp/pub/opensuse/$path" if [ ! -e "$stage" -o ! -e "$dest" ]; then echo "stage ($stage) and/or dest ($dest) doesn't exist" >&2 @@ -101,7 +99,7 @@ if [ -n "$do_cleanup" ]; then deletelog=$(ls -1tr ${deletelog%/*}/*-deletes.log | tail -1) test -n "$deletelog" || exit 1 ( - df -h /srv + df -h $base for i in $(awk '/\*deleting .*/ { print $2}' $deletelog); do if [ -e "$stage/$i" ]; then echo "WARNING: $i still exist in stage, not deleting" @@ -109,21 +107,27 @@ if [ -n "$do_cleanup" ]; then $dryrun rm -rvf "$dest/$i" fi done - df -h /srv + df -h $base ) >$deletelog-deleted exit 0 fi -mkdir -p "${synclog%/*}" "${deletelog%/*}" -if test -f $synclog; then - old $synclog -fi -if test -f $deletelog; then - old $deletelog +if test "$dryrun" == echo; then + deletelog=/dev/stderr + synclog=/dev/stderr +else + mkdir -p "${synclog%/*}" "${deletelog%/*}" + if test -f $synclog; then + old $synclog + fi + if test -f $deletelog; then + old $deletelog + fi fi version= do_sync_isos=1 +changes_done=0 # we need changes done only once in this loop for flavor in "${flavors[@]}"; do get_version @@ -138,7 +142,8 @@ for flavor in "${flavors[@]}"; do do_sync_isos=0 break fi - if [ -n "$changes" ]; then + if [ -n "$changes" ] && [ 0 == "$changes_done" ] ; then + changes_done=1 if [ -d "$stage/$changes" ]; then # new way, use the obs generated changelogs $dryrun rsync -avvhiH $stage/$changes \ @@ -151,8 +156,7 @@ for flavor in "${flavors[@]}"; do # old way (already broken?) if [ ! -s "$changes" ]; then echo "generating $changes" | tee -a $synclog - [ -z "$dryrun" ] || changes=/dev/stdout - $dryrun curl -sf "$url" >$changes + $dryrun curl -sf "$url" -o "$changes" fi if [ ! -e $stage/$isodir/$changes ]; then $dryrun cp -v $changes $stage/$isodir | tee -a $synclog @@ -171,7 +175,7 @@ for flavor in "${flavors[@]}"; do $dryrun ln -sf "$iso.sha256" "$link.sha256" fi if [ -z "$force" ]; then - if test $(date -d "$PUBLISH_DELAY hours ago" +%s) -lt $(stat -c "%Z" "$stage/$isodir/$iso"); then + if test $(date -d "$PUBLISH_DELAY hours ago" +%s) -lt "$(stat -c "%Z" "$stage/$isodir/$iso")"; then echo "$iso was created less than $PUBLISH_DELAY hours ago, delay publishing" | tee -a $synclog do_sync_isos=0 fi @@ -270,10 +274,10 @@ done # also sync source and debug, not bind mounted for Leap for r in "${extra_repos[@]}"; do - stage="/srv/ftp-stage/pub/opensuse/$r/$path" - dest="/srv/ftp/pub/opensuse/$r/$path" + stage="${base}ftp-stage/pub/opensuse/$r/$path" + dest="${base}ftp/pub/opensuse/$r/$path" $dryrun rsync -avhiH $stage/ --link-dest=$stage \ - $dest --delete-after "$@" | tee -a log + $dest --delete-after "$@" | tee -a $log done # mark published @@ -282,12 +286,3 @@ if [ -n "$url" ]; then $dryrun curl -X POST -F "version=$version" "$url" fi -#echo creating hashes -#metalink-hasher update -t /srv/metalink-hashes/srv/ftp/pub/opensuse/tumbleweed \ -# -b /srv/ftp/pub/opensuse/tumbleweed \ -# /srv/ftp/pub/opensuse/tumbleweed - -# mb makehaskes is not needed by mirrorcache (replaced mirrorbrain) -#$dryrun /usr/bin/mb makehashes -b /srv/ftp/pub/opensuse \ -# -t /srv/metalink-hashes/srv/ftp/pub/opensuse \ -# $dest diff --git a/publish_distro_conf/publish_tumbleweed.config b/publish_distro_conf/publish_tumbleweed.config index 7c902f898..bd3d35427 100644 --- a/publish_distro_conf/publish_tumbleweed.config +++ b/publish_distro_conf/publish_tumbleweed.config @@ -4,8 +4,7 @@ logfile_base=~/publish_logs/tumbleweed/$(date -d "$date" '+%Y/%m/%d/%H%M') synclog="${logfile_base}.log" deletelog="${logfile_base}-deletes.log" path="/tumbleweed" -flavors=(DVD-x86_64 NET-x86_64 GNOME-Live-x86_64 KDE-Live-x86_64 Rescue-CD-x86_64 \ - DVD-i586 NET-i586 GNOME-Live-i686 KDE-Live-i686 Rescue-CD-i686) +flavors=(DVD-x86_64 NET-x86_64 GNOME-Live-x86_64 KDE-Live-x86_64 Rescue-CD-x86_64) get_version() { # get expected version from first flavor diff --git a/t/01-publish_distro_tumbleweed.sh b/t/01-publish_distro_tumbleweed.sh new file mode 100755 index 000000000..3e7393dfa --- /dev/null +++ b/t/01-publish_distro_tumbleweed.sh @@ -0,0 +1,26 @@ +set -e + +work=t/tmp +rm -rf $work +mkdir $work + +( +cd $work +mkdir ftp-stage +mkdir -p ftp/pub/opensuse/tumbleweed/iso + +mkdir -p ftp/pub/opensuse/tumbleweed/repo/oss +mkdir -p ftp/pub/opensuse/tumbleweed/repo/non-oss + +cp -r ftp/pub ftp-stage/ + +for arch in x86_64; do + for flavor in DVD NET GNOME-Live KDE-Live Rescue-CD; do + touch ftp-stage/pub/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-$flavor-$arch-Snapshot20230101-Media.iso + touch ftp-stage/pub/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-$flavor-$arch-Snapshot20230101-Media.iso.sha256 + done +done +) + +PUBLISH_DISTRO_BASE=$work/ PUBLISH_DISTRO_DATE='20230101' . ./publish_distro --dry --force publish_distro_conf/publish_tumbleweed.config + diff --git a/t/01-publish_distro_tumbleweed.sh.debug b/t/01-publish_distro_tumbleweed.sh.debug new file mode 100644 index 000000000..ace1bb15b --- /dev/null +++ b/t/01-publish_distro_tumbleweed.sh.debug @@ -0,0 +1,280 @@ ++ set -e ++ work=t/tmp ++ rm -rf t/tmp ++ mkdir t/tmp ++ cd t/tmp ++ mkdir ftp-stage ++ mkdir -p ftp/pub/opensuse/tumbleweed/iso ++ mkdir -p ftp/pub/opensuse/tumbleweed/repo/oss ++ mkdir -p ftp/pub/opensuse/tumbleweed/repo/non-oss ++ cp -r ftp/pub ftp-stage/ ++ for arch in x86_64 ++ for flavor in DVD NET GNOME-Live KDE-Live Rescue-CD ++ touch ftp-stage/pub/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Snapshot20230101-Media.iso ++ touch ftp-stage/pub/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Snapshot20230101-Media.iso.sha256 ++ for flavor in DVD NET GNOME-Live KDE-Live Rescue-CD ++ touch ftp-stage/pub/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-NET-x86_64-Snapshot20230101-Media.iso ++ touch ftp-stage/pub/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-NET-x86_64-Snapshot20230101-Media.iso.sha256 ++ for flavor in DVD NET GNOME-Live KDE-Live Rescue-CD ++ touch ftp-stage/pub/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-GNOME-Live-x86_64-Snapshot20230101-Media.iso ++ touch ftp-stage/pub/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-GNOME-Live-x86_64-Snapshot20230101-Media.iso.sha256 ++ for flavor in DVD NET GNOME-Live KDE-Live Rescue-CD ++ touch ftp-stage/pub/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Snapshot20230101-Media.iso ++ touch ftp-stage/pub/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Snapshot20230101-Media.iso.sha256 ++ for flavor in DVD NET GNOME-Live KDE-Live Rescue-CD ++ touch ftp-stage/pub/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-Rescue-CD-x86_64-Snapshot20230101-Media.iso ++ touch ftp-stage/pub/opensuse/tumbleweed/iso/openSUSE-Tumbleweed-Rescue-CD-x86_64-Snapshot20230101-Media.iso.sha256 ++ PUBLISH_DISTRO_BASE=t/tmp/ ++ PUBLISH_DISTRO_DATE=20230101 ++ . ./publish_distro --dry --force publish_distro_conf/publish_tumbleweed.config +++ PUBLISH_DELAY=2 +++ force= +++ date=20230101 +++ dryrun= +++ do_cleanup= +++ changes= +++ diff_url_base=https://openqa.opensuse.org/snapshot-changes/opensuse +++ changes_dir_base=/srv/www-local/snapshot-changes +++ repos=("oss" "non-oss") +++ extra_repos=("source" "debug") +++ isodir=iso +++ (( 3 )) +++ '[' --dry == --force ']' +++ '[' --dry == --dry ']' +++ dryrun=echo +++ shift +++ (( 2 )) +++ '[' --force == --force ']' +++ force=1 +++ shift +++ (( 1 )) +++ '[' publish_distro_conf/publish_tumbleweed.config == --force ']' +++ '[' publish_distro_conf/publish_tumbleweed.config == --dry ']' +++ '[' publish_distro_conf/publish_tumbleweed.config == --cleanup ']' +++ '[' publish_distro_conf/publish_tumbleweed.config == --now ']' +++ newargs+=("$1") +++ shift +++ (( 0 )) +++ set -- publish_distro_conf/publish_tumbleweed.config +++ set -ue +++ . publish_distro_conf/publish_tumbleweed.config +++++ date -d 20230101 +%Y/%m/%d/%H%M ++++ logfile_base=/home/an/publish_logs/tumbleweed/2023/01/01/0000 ++++ synclog=/home/an/publish_logs/tumbleweed/2023/01/01/0000.log ++++ deletelog=/home/an/publish_logs/tumbleweed/2023/01/01/0000-deletes.log ++++ path=/tumbleweed ++++ flavors=(DVD-x86_64 NET-x86_64 GNOME-Live-x86_64 KDE-Live-x86_64 Rescue-CD-x86_64) +++ shift +++ base=t/tmp/ +++ stage=t/tmp/ftp-stage/pub/opensuse//tumbleweed +++ dest=t/tmp/ftp/pub/opensuse//tumbleweed +++ '[' '!' -e t/tmp/ftp-stage/pub/opensuse//tumbleweed -o '!' -e t/tmp/ftp/pub/opensuse//tumbleweed ']' +++ '[' -n '' ']' +++ test echo == echo +++ deletelog=/dev/stderr +++ synclog=/dev/stderr +++ version= +++ do_sync_isos=1 +++ changes_done=0 +++ for flavor in "${flavors[@]}" +++ get_version +++ '[' -z '' ']' ++++ echo t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Snapshot20230101-Media.iso +++ version=t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Snapshot20230101-Media.iso +++ version=20230101-Media.iso +++ version=20230101 +++ '[' -z 20230101 ']' +++ get_iso +++ iso=openSUSE-Tumbleweed-DVD-x86_64-Snapshot20230101-Media.iso +++ get_diff_url +++ url=https://openqa.opensuse.org/snapshot-changes/opensuse/tumbleweed/diff/20230101 +++ get_changes_filename ++++ date +%Y +++ local year=2023 +++ changes=/srv/www-local/snapshot-changes/tumbleweed/2023/Changes.20230101.txt +++ '[' -z 1 -a -e t/tmp/ftp/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Snapshot20230101-Media.iso ']' +++ '[' -n /srv/www-local/snapshot-changes/tumbleweed/2023/Changes.20230101.txt ']' +++ '[' 0 == 0 ']' +++ changes_done=1 +++ '[' -d t/tmp/ftp-stage/pub/opensuse//tumbleweed//srv/www-local/snapshot-changes/tumbleweed/2023/Changes.20230101.txt ']' +++ '[' '!' -s /srv/www-local/snapshot-changes/tumbleweed/2023/Changes.20230101.txt ']' +++ echo 'generating /srv/www-local/snapshot-changes/tumbleweed/2023/Changes.20230101.txt' +++ tee -a /dev/stderr +++ echo curl -sf https://openqa.opensuse.org/snapshot-changes/opensuse/tumbleweed/diff/20230101 -o /srv/www-local/snapshot-changes/tumbleweed/2023/Changes.20230101.txt +++ '[' '!' -e t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso//srv/www-local/snapshot-changes/tumbleweed/2023/Changes.20230101.txt ']' +++ echo cp -v /srv/www-local/snapshot-changes/tumbleweed/2023/Changes.20230101.txt t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso +++ tee -a /dev/stderr +++ '[' -e t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/Changes ']' +++ echo ln -sf . t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/Changes +++ tee -a /dev/stderr +++ '[' '!' -e t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Snapshot20230101-Media.iso ']' +++ get_iso_link +++ link=t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso ++++ readlink t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso +++ '[' '' '!=' openSUSE-Tumbleweed-DVD-x86_64-Snapshot20230101-Media.iso ']' +++ echo ln -sf openSUSE-Tumbleweed-DVD-x86_64-Snapshot20230101-Media.iso t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso +++ echo ln -sf openSUSE-Tumbleweed-DVD-x86_64-Snapshot20230101-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256 +++ '[' -z 1 ']' +++ for flavor in "${flavors[@]}" +++ get_version +++ '[' -z 20230101 ']' +++ get_iso +++ iso=openSUSE-Tumbleweed-NET-x86_64-Snapshot20230101-Media.iso +++ get_diff_url +++ url=https://openqa.opensuse.org/snapshot-changes/opensuse/tumbleweed/diff/20230101 +++ get_changes_filename ++++ date +%Y +++ local year=2023 +++ changes=/srv/www-local/snapshot-changes/tumbleweed/2023/Changes.20230101.txt +++ '[' -z 1 -a -e t/tmp/ftp/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-NET-x86_64-Snapshot20230101-Media.iso ']' +++ '[' -n /srv/www-local/snapshot-changes/tumbleweed/2023/Changes.20230101.txt ']' +++ '[' 0 == 1 ']' +++ '[' '!' -e t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-NET-x86_64-Snapshot20230101-Media.iso ']' +++ get_iso_link +++ link=t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-NET-x86_64-Current.iso ++++ readlink t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-NET-x86_64-Current.iso +++ '[' '' '!=' openSUSE-Tumbleweed-NET-x86_64-Snapshot20230101-Media.iso ']' +++ echo ln -sf openSUSE-Tumbleweed-NET-x86_64-Snapshot20230101-Media.iso t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-NET-x86_64-Current.iso +++ echo ln -sf openSUSE-Tumbleweed-NET-x86_64-Snapshot20230101-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-NET-x86_64-Current.iso.sha256 +++ '[' -z 1 ']' +++ for flavor in "${flavors[@]}" +++ get_version +++ '[' -z 20230101 ']' +++ get_iso +++ iso=openSUSE-Tumbleweed-GNOME-Live-x86_64-Snapshot20230101-Media.iso +++ get_diff_url +++ url=https://openqa.opensuse.org/snapshot-changes/opensuse/tumbleweed/diff/20230101 +++ get_changes_filename ++++ date +%Y +++ local year=2023 +++ changes=/srv/www-local/snapshot-changes/tumbleweed/2023/Changes.20230101.txt +++ '[' -z 1 -a -e t/tmp/ftp/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-GNOME-Live-x86_64-Snapshot20230101-Media.iso ']' +++ '[' -n /srv/www-local/snapshot-changes/tumbleweed/2023/Changes.20230101.txt ']' +++ '[' 0 == 1 ']' +++ '[' '!' -e t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-GNOME-Live-x86_64-Snapshot20230101-Media.iso ']' +++ get_iso_link +++ link=t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-GNOME-Live-x86_64-Current.iso ++++ readlink t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-GNOME-Live-x86_64-Current.iso +++ '[' '' '!=' openSUSE-Tumbleweed-GNOME-Live-x86_64-Snapshot20230101-Media.iso ']' +++ echo ln -sf openSUSE-Tumbleweed-GNOME-Live-x86_64-Snapshot20230101-Media.iso t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-GNOME-Live-x86_64-Current.iso +++ echo ln -sf openSUSE-Tumbleweed-GNOME-Live-x86_64-Snapshot20230101-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-GNOME-Live-x86_64-Current.iso.sha256 +++ '[' -z 1 ']' +++ for flavor in "${flavors[@]}" +++ get_version +++ '[' -z 20230101 ']' +++ get_iso +++ iso=openSUSE-Tumbleweed-KDE-Live-x86_64-Snapshot20230101-Media.iso +++ get_diff_url +++ url=https://openqa.opensuse.org/snapshot-changes/opensuse/tumbleweed/diff/20230101 +++ get_changes_filename ++++ date +%Y +++ local year=2023 +++ changes=/srv/www-local/snapshot-changes/tumbleweed/2023/Changes.20230101.txt +++ '[' -z 1 -a -e t/tmp/ftp/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Snapshot20230101-Media.iso ']' +++ '[' -n /srv/www-local/snapshot-changes/tumbleweed/2023/Changes.20230101.txt ']' +++ '[' 0 == 1 ']' +++ '[' '!' -e t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Snapshot20230101-Media.iso ']' +++ get_iso_link +++ link=t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso ++++ readlink t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso +++ '[' '' '!=' openSUSE-Tumbleweed-KDE-Live-x86_64-Snapshot20230101-Media.iso ']' +++ echo ln -sf openSUSE-Tumbleweed-KDE-Live-x86_64-Snapshot20230101-Media.iso t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso +++ echo ln -sf openSUSE-Tumbleweed-KDE-Live-x86_64-Snapshot20230101-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso.sha256 +++ '[' -z 1 ']' +++ for flavor in "${flavors[@]}" +++ get_version +++ '[' -z 20230101 ']' +++ get_iso +++ iso=openSUSE-Tumbleweed-Rescue-CD-x86_64-Snapshot20230101-Media.iso +++ get_diff_url +++ url=https://openqa.opensuse.org/snapshot-changes/opensuse/tumbleweed/diff/20230101 +++ get_changes_filename ++++ date +%Y +++ local year=2023 +++ changes=/srv/www-local/snapshot-changes/tumbleweed/2023/Changes.20230101.txt +++ '[' -z 1 -a -e t/tmp/ftp/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-Rescue-CD-x86_64-Snapshot20230101-Media.iso ']' +++ '[' -n /srv/www-local/snapshot-changes/tumbleweed/2023/Changes.20230101.txt ']' +++ '[' 0 == 1 ']' +++ '[' '!' -e t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-Rescue-CD-x86_64-Snapshot20230101-Media.iso ']' +++ get_iso_link +++ link=t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-Rescue-CD-x86_64-Current.iso ++++ readlink t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-Rescue-CD-x86_64-Current.iso +++ '[' '' '!=' openSUSE-Tumbleweed-Rescue-CD-x86_64-Snapshot20230101-Media.iso ']' +++ echo ln -sf openSUSE-Tumbleweed-Rescue-CD-x86_64-Snapshot20230101-Media.iso t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-Rescue-CD-x86_64-Current.iso +++ echo ln -sf openSUSE-Tumbleweed-Rescue-CD-x86_64-Snapshot20230101-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-Rescue-CD-x86_64-Current.iso.sha256 +++ '[' -z 1 ']' +++ for r in "${repos[@]/#//repo/}" +++ for i in /suse/setup /boot +++ d=t/tmp/ftp-stage/pub/opensuse//tumbleweed/repo/oss/suse/setup +++ '[' -d t/tmp/ftp-stage/pub/opensuse//tumbleweed/repo/oss/suse/setup ']' +++ continue +++ for i in /suse/setup /boot +++ d=t/tmp/ftp-stage/pub/opensuse//tumbleweed/repo/oss/boot +++ '[' -d t/tmp/ftp-stage/pub/opensuse//tumbleweed/repo/oss/boot ']' +++ continue +++ for r in "${repos[@]/#//repo/}" +++ for i in /suse/setup /boot +++ d=t/tmp/ftp-stage/pub/opensuse//tumbleweed/repo/non-oss/suse/setup +++ '[' -d t/tmp/ftp-stage/pub/opensuse//tumbleweed/repo/non-oss/suse/setup ']' +++ continue +++ for i in /suse/setup /boot +++ d=t/tmp/ftp-stage/pub/opensuse//tumbleweed/repo/non-oss/boot +++ '[' -d t/tmp/ftp-stage/pub/opensuse//tumbleweed/repo/non-oss/boot ']' +++ continue +++ '[' 1 = 0 ']' +++ TODO=() +++ TODO+=(iso) +++ echo 'current 20230101' +++ echo tee t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/.current.txt +++ '[' -n oss ']' +++ TODO+=(repo) +++ TODO+=(DELETE_repo) +++ for i in "${TODO[@]}" +++ case $i in +++ log=/dev/stderr +++ dry_delete=--delete-after +++ i=iso +++ echo ========== iso --delete-after =========== +++ echo rsync -avvhiH t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso --link-dest=t/tmp/ftp-stage/pub/opensuse//tumbleweed t/tmp/ftp/pub/opensuse//tumbleweed --delete-after +++ LC_ALL=C +++ grep -v '^\.[fdL] ' +++ LC_ALL=C +++ grep -v '^\(sending\|delta\)' +++ tee -a /dev/stderr +++ for i in "${TODO[@]}" +++ case $i in +++ log=/dev/stderr +++ dry_delete= +++ echo ========== repo =========== +++ echo rsync -avvhiH t/tmp/ftp-stage/pub/opensuse//tumbleweed/repo --link-dest=t/tmp/ftp-stage/pub/opensuse//tumbleweed t/tmp/ftp/pub/opensuse//tumbleweed +++ LC_ALL=C +++ grep -v '^\.[fdL] ' +++ LC_ALL=C +++ grep -v '^\(sending\|delta\)' +++ tee -a /dev/stderr +++ for i in "${TODO[@]}" +++ case $i in +++ i=repo +++ log=/dev/stderr +++ dry_delete='--delete -n' +++ echo ========== repo --delete -n =========== +++ echo rsync -avvhiH t/tmp/ftp-stage/pub/opensuse//tumbleweed/repo --link-dest=t/tmp/ftp-stage/pub/opensuse//tumbleweed t/tmp/ftp/pub/opensuse//tumbleweed --delete -n +++ LC_ALL=C +++ grep -v '^\.[fdL] ' +++ LC_ALL=C +++ grep -v '^\(sending\|delta\)' +++ tee -a /dev/stderr +++ for r in "${extra_repos[@]}" +++ stage=t/tmp/ftp-stage/pub/opensuse/source//tumbleweed +++ dest=t/tmp/ftp/pub/opensuse/source//tumbleweed +++ echo rsync -avhiH t/tmp/ftp-stage/pub/opensuse/source//tumbleweed/ --link-dest=t/tmp/ftp-stage/pub/opensuse/source//tumbleweed t/tmp/ftp/pub/opensuse/source//tumbleweed --delete-after +++ tee -a /dev/stderr +++ for r in "${extra_repos[@]}" +++ stage=t/tmp/ftp-stage/pub/opensuse/debug//tumbleweed +++ dest=t/tmp/ftp/pub/opensuse/debug//tumbleweed +++ echo rsync -avhiH t/tmp/ftp-stage/pub/opensuse/debug//tumbleweed/ --link-dest=t/tmp/ftp-stage/pub/opensuse/debug//tumbleweed t/tmp/ftp/pub/opensuse/debug//tumbleweed --delete-after +++ tee -a /dev/stderr +++ get_mark_published_url +++ url=https://openqa.opensuse.org/snapshot-changes/opensuse/tumbleweed/current +++ '[' -n https://openqa.opensuse.org/snapshot-changes/opensuse/tumbleweed/current ']' +++ echo curl -X POST -F version=20230101 https://openqa.opensuse.org/snapshot-changes/opensuse/tumbleweed/current diff --git a/t/01-publish_distro_tumbleweed.sh.log b/t/01-publish_distro_tumbleweed.sh.log new file mode 100644 index 000000000..bab64f2b5 --- /dev/null +++ b/t/01-publish_distro_tumbleweed.sh.log @@ -0,0 +1,24 @@ +generating /srv/www-local/snapshot-changes/tumbleweed/2023/Changes.20230101.txt +curl -sf https://openqa.opensuse.org/snapshot-changes/opensuse/tumbleweed/diff/20230101 -o /srv/www-local/snapshot-changes/tumbleweed/2023/Changes.20230101.txt +cp -v /srv/www-local/snapshot-changes/tumbleweed/2023/Changes.20230101.txt t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso +ln -sf . t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/Changes +ln -sf openSUSE-Tumbleweed-DVD-x86_64-Snapshot20230101-Media.iso t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso +ln -sf openSUSE-Tumbleweed-DVD-x86_64-Snapshot20230101-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso.sha256 +ln -sf openSUSE-Tumbleweed-NET-x86_64-Snapshot20230101-Media.iso t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-NET-x86_64-Current.iso +ln -sf openSUSE-Tumbleweed-NET-x86_64-Snapshot20230101-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-NET-x86_64-Current.iso.sha256 +ln -sf openSUSE-Tumbleweed-GNOME-Live-x86_64-Snapshot20230101-Media.iso t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-GNOME-Live-x86_64-Current.iso +ln -sf openSUSE-Tumbleweed-GNOME-Live-x86_64-Snapshot20230101-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-GNOME-Live-x86_64-Current.iso.sha256 +ln -sf openSUSE-Tumbleweed-KDE-Live-x86_64-Snapshot20230101-Media.iso t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso +ln -sf openSUSE-Tumbleweed-KDE-Live-x86_64-Snapshot20230101-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso.sha256 +ln -sf openSUSE-Tumbleweed-Rescue-CD-x86_64-Snapshot20230101-Media.iso t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-Rescue-CD-x86_64-Current.iso +ln -sf openSUSE-Tumbleweed-Rescue-CD-x86_64-Snapshot20230101-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/openSUSE-Tumbleweed-Rescue-CD-x86_64-Current.iso.sha256 +tee t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso/.current.txt +========== iso --delete-after =========== +rsync -avvhiH t/tmp/ftp-stage/pub/opensuse//tumbleweed/iso --link-dest=t/tmp/ftp-stage/pub/opensuse//tumbleweed t/tmp/ftp/pub/opensuse//tumbleweed --delete-after +========== repo =========== +rsync -avvhiH t/tmp/ftp-stage/pub/opensuse//tumbleweed/repo --link-dest=t/tmp/ftp-stage/pub/opensuse//tumbleweed t/tmp/ftp/pub/opensuse//tumbleweed +========== repo --delete -n =========== +rsync -avvhiH t/tmp/ftp-stage/pub/opensuse//tumbleweed/repo --link-dest=t/tmp/ftp-stage/pub/opensuse//tumbleweed t/tmp/ftp/pub/opensuse//tumbleweed --delete -n +rsync -avhiH t/tmp/ftp-stage/pub/opensuse/source//tumbleweed/ --link-dest=t/tmp/ftp-stage/pub/opensuse/source//tumbleweed t/tmp/ftp/pub/opensuse/source//tumbleweed --delete-after +rsync -avhiH t/tmp/ftp-stage/pub/opensuse/debug//tumbleweed/ --link-dest=t/tmp/ftp-stage/pub/opensuse/debug//tumbleweed t/tmp/ftp/pub/opensuse/debug//tumbleweed --delete-after +curl -X POST -F version=20230101 https://openqa.opensuse.org/snapshot-changes/opensuse/tumbleweed/current diff --git a/t/02-publish_distro_leap.sh b/t/02-publish_distro_leap.sh new file mode 100755 index 000000000..1a7793213 --- /dev/null +++ b/t/02-publish_distro_leap.sh @@ -0,0 +1,26 @@ +set -e + +work=t/tmp +rm -rf $work +mkdir $work + +( +cd $work +mkdir ftp-stage +mkdir -p ftp/pub/opensuse/distribution/leap/15.5/iso + +mkdir -p ftp/pub/opensuse/distribution/leap/15.5/repo/oss +mkdir -p ftp/pub/opensuse/distribution/leap/15.5/repo/non-oss + +cp -r ftp/pub ftp-stage/ + +for arch in x86_64 aarch64 ppc64le s390x; do + for flavor in DVD NET; do + touch ftp-stage/pub/opensuse/distribution/leap/15.5/iso/openSUSE-Leap-15.5-$flavor-$arch-Build111.11-Media.iso + touch ftp-stage/pub/opensuse/distribution/leap/15.5/iso/openSUSE-Leap-15.5-$flavor-$arch-Build111.11-Media.iso.sha256 + done +done +) + +PUBLISH_DISTRO_BASE=$work/ PUBLISH_DISTRO_DATE='20230101' . ./publish_distro --dry --force publish_distro_conf/publish_leap155.config + diff --git a/t/02-publish_distro_leap.sh.debug b/t/02-publish_distro_leap.sh.debug new file mode 100644 index 000000000..42a87d91a --- /dev/null +++ b/t/02-publish_distro_leap.sh.debug @@ -0,0 +1,324 @@ ++ set -e ++ work=t/tmp ++ rm -rf t/tmp ++ mkdir t/tmp ++ cd t/tmp ++ mkdir ftp-stage ++ mkdir -p ftp/pub/opensuse/distribution/leap/15.5/iso ++ mkdir -p ftp/pub/opensuse/distribution/leap/15.5/repo/oss ++ mkdir -p ftp/pub/opensuse/distribution/leap/15.5/repo/non-oss ++ cp -r ftp/pub ftp-stage/ ++ for arch in x86_64 aarch64 ppc64le s390x ++ for flavor in DVD NET ++ touch ftp-stage/pub/opensuse/distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-x86_64-Build111.11-Media.iso ++ touch ftp-stage/pub/opensuse/distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-x86_64-Build111.11-Media.iso.sha256 ++ for flavor in DVD NET ++ touch ftp-stage/pub/opensuse/distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-x86_64-Build111.11-Media.iso ++ touch ftp-stage/pub/opensuse/distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-x86_64-Build111.11-Media.iso.sha256 ++ for arch in x86_64 aarch64 ppc64le s390x ++ for flavor in DVD NET ++ touch ftp-stage/pub/opensuse/distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-aarch64-Build111.11-Media.iso ++ touch ftp-stage/pub/opensuse/distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-aarch64-Build111.11-Media.iso.sha256 ++ for flavor in DVD NET ++ touch ftp-stage/pub/opensuse/distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-aarch64-Build111.11-Media.iso ++ touch ftp-stage/pub/opensuse/distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-aarch64-Build111.11-Media.iso.sha256 ++ for arch in x86_64 aarch64 ppc64le s390x ++ for flavor in DVD NET ++ touch ftp-stage/pub/opensuse/distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-ppc64le-Build111.11-Media.iso ++ touch ftp-stage/pub/opensuse/distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-ppc64le-Build111.11-Media.iso.sha256 ++ for flavor in DVD NET ++ touch ftp-stage/pub/opensuse/distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-ppc64le-Build111.11-Media.iso ++ touch ftp-stage/pub/opensuse/distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-ppc64le-Build111.11-Media.iso.sha256 ++ for arch in x86_64 aarch64 ppc64le s390x ++ for flavor in DVD NET ++ touch ftp-stage/pub/opensuse/distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-s390x-Build111.11-Media.iso ++ touch ftp-stage/pub/opensuse/distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-s390x-Build111.11-Media.iso.sha256 ++ for flavor in DVD NET ++ touch ftp-stage/pub/opensuse/distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-s390x-Build111.11-Media.iso ++ touch ftp-stage/pub/opensuse/distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-s390x-Build111.11-Media.iso.sha256 ++ PUBLISH_DISTRO_BASE=t/tmp/ ++ PUBLISH_DISTRO_DATE=20230101 ++ . ./publish_distro --dry --force publish_distro_conf/publish_leap155.config +++ PUBLISH_DELAY=2 +++ force= +++ date=20230101 +++ dryrun= +++ do_cleanup= +++ changes= +++ diff_url_base=https://openqa.opensuse.org/snapshot-changes/opensuse +++ changes_dir_base=/srv/www-local/snapshot-changes +++ repos=("oss" "non-oss") +++ extra_repos=("source" "debug") +++ isodir=iso +++ (( 3 )) +++ '[' --dry == --force ']' +++ '[' --dry == --dry ']' +++ dryrun=echo +++ shift +++ (( 2 )) +++ '[' --force == --force ']' +++ force=1 +++ shift +++ (( 1 )) +++ '[' publish_distro_conf/publish_leap155.config == --force ']' +++ '[' publish_distro_conf/publish_leap155.config == --dry ']' +++ '[' publish_distro_conf/publish_leap155.config == --cleanup ']' +++ '[' publish_distro_conf/publish_leap155.config == --now ']' +++ newargs+=("$1") +++ shift +++ (( 0 )) +++ set -- publish_distro_conf/publish_leap155.config +++ set -ue +++ . publish_distro_conf/publish_leap155.config ++++ leap_version=15.5 ++++ qu= +++++ date -d 20230101 +%Y/%m/%d/%H%M ++++ logfile_base=/home/an/publish_logs/15.5/2023/01/01/0000 ++++ synclog=/home/an/publish_logs/15.5/2023/01/01/0000.log ++++ deletelog=/home/an/publish_logs/15.5/2023/01/01/0000-deletes.log ++++ path=/distribution/leap/15.5 ++++ flavors=(DVD-x86_64 NET-x86_64 DVD-aarch64 NET-aarch64 DVD-ppc64le NET-ppc64le DVD-s390x NET-s390x) +++ shift +++ base=t/tmp/ +++ stage=t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5 +++ dest=t/tmp/ftp/pub/opensuse//distribution/leap/15.5 +++ '[' '!' -e t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5 -o '!' -e t/tmp/ftp/pub/opensuse//distribution/leap/15.5 ']' +++ '[' -n '' ']' +++ test echo == echo +++ deletelog=/dev/stderr +++ synclog=/dev/stderr +++ version= +++ do_sync_isos=1 +++ changes_done=0 +++ for flavor in "${flavors[@]}" +++ get_version +++ '[' -z '' ']' ++++ echo t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-x86_64-Build111.11-Media.iso +++ version=t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-x86_64-Build111.11-Media.iso +++ version=111.11-Media.iso +++ version=111.11 +++ '[' -z 111.11 ']' +++ get_iso +++ iso=openSUSE-Leap-15.5-DVD-x86_64-Build111.11-Media.iso +++ get_diff_url +++ url=https://openqa.opensuse.org/snapshot-changes/opensuse/15.5/diff/111.11 +++ get_changes_filename +++ : +++ '[' -z 1 -a -e t/tmp/ftp/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-x86_64-Build111.11-Media.iso ']' +++ '[' -n '' ']' +++ '[' '!' -e t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-x86_64-Build111.11-Media.iso ']' +++ get_iso_link +++ link=t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-x86_64-Current.iso ++++ readlink t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-x86_64-Current.iso +++ '[' '' '!=' openSUSE-Leap-15.5-DVD-x86_64-Build111.11-Media.iso ']' +++ echo ln -sf openSUSE-Leap-15.5-DVD-x86_64-Build111.11-Media.iso t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-x86_64-Current.iso +++ echo ln -sf openSUSE-Leap-15.5-DVD-x86_64-Build111.11-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-x86_64-Current.iso.sha256 +++ '[' -z 1 ']' +++ for flavor in "${flavors[@]}" +++ get_version +++ '[' -z 111.11 ']' +++ get_iso +++ iso=openSUSE-Leap-15.5-NET-x86_64-Build111.11-Media.iso +++ get_diff_url +++ url=https://openqa.opensuse.org/snapshot-changes/opensuse/15.5/diff/111.11 +++ get_changes_filename +++ : +++ '[' -z 1 -a -e t/tmp/ftp/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-x86_64-Build111.11-Media.iso ']' +++ '[' -n '' ']' +++ '[' '!' -e t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-x86_64-Build111.11-Media.iso ']' +++ get_iso_link +++ link=t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-x86_64-Current.iso ++++ readlink t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-x86_64-Current.iso +++ '[' '' '!=' openSUSE-Leap-15.5-NET-x86_64-Build111.11-Media.iso ']' +++ echo ln -sf openSUSE-Leap-15.5-NET-x86_64-Build111.11-Media.iso t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-x86_64-Current.iso +++ echo ln -sf openSUSE-Leap-15.5-NET-x86_64-Build111.11-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-x86_64-Current.iso.sha256 +++ '[' -z 1 ']' +++ for flavor in "${flavors[@]}" +++ get_version +++ '[' -z 111.11 ']' +++ get_iso +++ iso=openSUSE-Leap-15.5-DVD-aarch64-Build111.11-Media.iso +++ get_diff_url +++ url=https://openqa.opensuse.org/snapshot-changes/opensuse/15.5/diff/111.11 +++ get_changes_filename +++ : +++ '[' -z 1 -a -e t/tmp/ftp/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-aarch64-Build111.11-Media.iso ']' +++ '[' -n '' ']' +++ '[' '!' -e t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-aarch64-Build111.11-Media.iso ']' +++ get_iso_link +++ link=t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-aarch64-Current.iso ++++ readlink t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-aarch64-Current.iso +++ '[' '' '!=' openSUSE-Leap-15.5-DVD-aarch64-Build111.11-Media.iso ']' +++ echo ln -sf openSUSE-Leap-15.5-DVD-aarch64-Build111.11-Media.iso t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-aarch64-Current.iso +++ echo ln -sf openSUSE-Leap-15.5-DVD-aarch64-Build111.11-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-aarch64-Current.iso.sha256 +++ '[' -z 1 ']' +++ for flavor in "${flavors[@]}" +++ get_version +++ '[' -z 111.11 ']' +++ get_iso +++ iso=openSUSE-Leap-15.5-NET-aarch64-Build111.11-Media.iso +++ get_diff_url +++ url=https://openqa.opensuse.org/snapshot-changes/opensuse/15.5/diff/111.11 +++ get_changes_filename +++ : +++ '[' -z 1 -a -e t/tmp/ftp/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-aarch64-Build111.11-Media.iso ']' +++ '[' -n '' ']' +++ '[' '!' -e t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-aarch64-Build111.11-Media.iso ']' +++ get_iso_link +++ link=t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-aarch64-Current.iso ++++ readlink t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-aarch64-Current.iso +++ '[' '' '!=' openSUSE-Leap-15.5-NET-aarch64-Build111.11-Media.iso ']' +++ echo ln -sf openSUSE-Leap-15.5-NET-aarch64-Build111.11-Media.iso t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-aarch64-Current.iso +++ echo ln -sf openSUSE-Leap-15.5-NET-aarch64-Build111.11-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-aarch64-Current.iso.sha256 +++ '[' -z 1 ']' +++ for flavor in "${flavors[@]}" +++ get_version +++ '[' -z 111.11 ']' +++ get_iso +++ iso=openSUSE-Leap-15.5-DVD-ppc64le-Build111.11-Media.iso +++ get_diff_url +++ url=https://openqa.opensuse.org/snapshot-changes/opensuse/15.5/diff/111.11 +++ get_changes_filename +++ : +++ '[' -z 1 -a -e t/tmp/ftp/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-ppc64le-Build111.11-Media.iso ']' +++ '[' -n '' ']' +++ '[' '!' -e t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-ppc64le-Build111.11-Media.iso ']' +++ get_iso_link +++ link=t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-ppc64le-Current.iso ++++ readlink t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-ppc64le-Current.iso +++ '[' '' '!=' openSUSE-Leap-15.5-DVD-ppc64le-Build111.11-Media.iso ']' +++ echo ln -sf openSUSE-Leap-15.5-DVD-ppc64le-Build111.11-Media.iso t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-ppc64le-Current.iso +++ echo ln -sf openSUSE-Leap-15.5-DVD-ppc64le-Build111.11-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-ppc64le-Current.iso.sha256 +++ '[' -z 1 ']' +++ for flavor in "${flavors[@]}" +++ get_version +++ '[' -z 111.11 ']' +++ get_iso +++ iso=openSUSE-Leap-15.5-NET-ppc64le-Build111.11-Media.iso +++ get_diff_url +++ url=https://openqa.opensuse.org/snapshot-changes/opensuse/15.5/diff/111.11 +++ get_changes_filename +++ : +++ '[' -z 1 -a -e t/tmp/ftp/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-ppc64le-Build111.11-Media.iso ']' +++ '[' -n '' ']' +++ '[' '!' -e t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-ppc64le-Build111.11-Media.iso ']' +++ get_iso_link +++ link=t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-ppc64le-Current.iso ++++ readlink t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-ppc64le-Current.iso +++ '[' '' '!=' openSUSE-Leap-15.5-NET-ppc64le-Build111.11-Media.iso ']' +++ echo ln -sf openSUSE-Leap-15.5-NET-ppc64le-Build111.11-Media.iso t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-ppc64le-Current.iso +++ echo ln -sf openSUSE-Leap-15.5-NET-ppc64le-Build111.11-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-ppc64le-Current.iso.sha256 +++ '[' -z 1 ']' +++ for flavor in "${flavors[@]}" +++ get_version +++ '[' -z 111.11 ']' +++ get_iso +++ iso=openSUSE-Leap-15.5-DVD-s390x-Build111.11-Media.iso +++ get_diff_url +++ url=https://openqa.opensuse.org/snapshot-changes/opensuse/15.5/diff/111.11 +++ get_changes_filename +++ : +++ '[' -z 1 -a -e t/tmp/ftp/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-s390x-Build111.11-Media.iso ']' +++ '[' -n '' ']' +++ '[' '!' -e t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-s390x-Build111.11-Media.iso ']' +++ get_iso_link +++ link=t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-s390x-Current.iso ++++ readlink t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-s390x-Current.iso +++ '[' '' '!=' openSUSE-Leap-15.5-DVD-s390x-Build111.11-Media.iso ']' +++ echo ln -sf openSUSE-Leap-15.5-DVD-s390x-Build111.11-Media.iso t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-s390x-Current.iso +++ echo ln -sf openSUSE-Leap-15.5-DVD-s390x-Build111.11-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-s390x-Current.iso.sha256 +++ '[' -z 1 ']' +++ for flavor in "${flavors[@]}" +++ get_version +++ '[' -z 111.11 ']' +++ get_iso +++ iso=openSUSE-Leap-15.5-NET-s390x-Build111.11-Media.iso +++ get_diff_url +++ url=https://openqa.opensuse.org/snapshot-changes/opensuse/15.5/diff/111.11 +++ get_changes_filename +++ : +++ '[' -z 1 -a -e t/tmp/ftp/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-s390x-Build111.11-Media.iso ']' +++ '[' -n '' ']' +++ '[' '!' -e t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-s390x-Build111.11-Media.iso ']' +++ get_iso_link +++ link=t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-s390x-Current.iso ++++ readlink t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-s390x-Current.iso +++ '[' '' '!=' openSUSE-Leap-15.5-NET-s390x-Build111.11-Media.iso ']' +++ echo ln -sf openSUSE-Leap-15.5-NET-s390x-Build111.11-Media.iso t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-s390x-Current.iso +++ echo ln -sf openSUSE-Leap-15.5-NET-s390x-Build111.11-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-s390x-Current.iso.sha256 +++ '[' -z 1 ']' +++ for r in "${repos[@]/#//repo/}" +++ for i in /suse/setup /boot +++ d=t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/repo/oss/suse/setup +++ '[' -d t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/repo/oss/suse/setup ']' +++ continue +++ for i in /suse/setup /boot +++ d=t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/repo/oss/boot +++ '[' -d t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/repo/oss/boot ']' +++ continue +++ for r in "${repos[@]/#//repo/}" +++ for i in /suse/setup /boot +++ d=t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/repo/non-oss/suse/setup +++ '[' -d t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/repo/non-oss/suse/setup ']' +++ continue +++ for i in /suse/setup /boot +++ d=t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/repo/non-oss/boot +++ '[' -d t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/repo/non-oss/boot ']' +++ continue +++ '[' 1 = 0 ']' +++ TODO=() +++ TODO+=(iso) +++ echo 'current 111.11' +++ echo tee t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/.current.txt +++ '[' -n oss ']' +++ TODO+=(repo) +++ TODO+=(DELETE_repo) +++ for i in "${TODO[@]}" +++ case $i in +++ log=/dev/stderr +++ dry_delete=--delete-after +++ i=iso +++ echo ========== iso --delete-after =========== +++ echo rsync -avvhiH t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso --link-dest=t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5 t/tmp/ftp/pub/opensuse//distribution/leap/15.5 --delete-after +++ LC_ALL=C +++ grep -v '^\.[fdL] ' +++ LC_ALL=C +++ grep -v '^\(sending\|delta\)' +++ tee -a /dev/stderr +++ for i in "${TODO[@]}" +++ case $i in +++ log=/dev/stderr +++ dry_delete= +++ echo ========== repo =========== +++ echo rsync -avvhiH t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/repo --link-dest=t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5 t/tmp/ftp/pub/opensuse//distribution/leap/15.5 +++ LC_ALL=C +++ grep -v '^\.[fdL] ' +++ LC_ALL=C +++ grep -v '^\(sending\|delta\)' +++ tee -a /dev/stderr +++ for i in "${TODO[@]}" +++ case $i in +++ i=repo +++ log=/dev/stderr +++ dry_delete='--delete -n' +++ echo ========== repo --delete -n =========== +++ echo rsync -avvhiH t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/repo --link-dest=t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5 t/tmp/ftp/pub/opensuse//distribution/leap/15.5 --delete -n +++ LC_ALL=C +++ grep -v '^\.[fdL] ' +++ LC_ALL=C +++ grep -v '^\(sending\|delta\)' +++ tee -a /dev/stderr +++ for r in "${extra_repos[@]}" +++ stage=t/tmp/ftp-stage/pub/opensuse/source//distribution/leap/15.5 +++ dest=t/tmp/ftp/pub/opensuse/source//distribution/leap/15.5 +++ echo rsync -avhiH t/tmp/ftp-stage/pub/opensuse/source//distribution/leap/15.5/ --link-dest=t/tmp/ftp-stage/pub/opensuse/source//distribution/leap/15.5 t/tmp/ftp/pub/opensuse/source//distribution/leap/15.5 --delete-after +++ tee -a /dev/stderr +++ for r in "${extra_repos[@]}" +++ stage=t/tmp/ftp-stage/pub/opensuse/debug//distribution/leap/15.5 +++ dest=t/tmp/ftp/pub/opensuse/debug//distribution/leap/15.5 +++ echo rsync -avhiH t/tmp/ftp-stage/pub/opensuse/debug//distribution/leap/15.5/ --link-dest=t/tmp/ftp-stage/pub/opensuse/debug//distribution/leap/15.5 t/tmp/ftp/pub/opensuse/debug//distribution/leap/15.5 --delete-after +++ tee -a /dev/stderr +++ get_mark_published_url +++ url=https://openqa.opensuse.org/snapshot-changes/opensuse/15.5/current +++ '[' -n https://openqa.opensuse.org/snapshot-changes/opensuse/15.5/current ']' +++ echo curl -X POST -F version=111.11 https://openqa.opensuse.org/snapshot-changes/opensuse/15.5/current diff --git a/t/02-publish_distro_leap.sh.log b/t/02-publish_distro_leap.sh.log new file mode 100644 index 000000000..ccdf6c47b --- /dev/null +++ b/t/02-publish_distro_leap.sh.log @@ -0,0 +1,26 @@ +ln -sf openSUSE-Leap-15.5-DVD-x86_64-Build111.11-Media.iso t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-x86_64-Current.iso +ln -sf openSUSE-Leap-15.5-DVD-x86_64-Build111.11-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-x86_64-Current.iso.sha256 +ln -sf openSUSE-Leap-15.5-NET-x86_64-Build111.11-Media.iso t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-x86_64-Current.iso +ln -sf openSUSE-Leap-15.5-NET-x86_64-Build111.11-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-x86_64-Current.iso.sha256 +ln -sf openSUSE-Leap-15.5-DVD-aarch64-Build111.11-Media.iso t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-aarch64-Current.iso +ln -sf openSUSE-Leap-15.5-DVD-aarch64-Build111.11-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-aarch64-Current.iso.sha256 +ln -sf openSUSE-Leap-15.5-NET-aarch64-Build111.11-Media.iso t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-aarch64-Current.iso +ln -sf openSUSE-Leap-15.5-NET-aarch64-Build111.11-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-aarch64-Current.iso.sha256 +ln -sf openSUSE-Leap-15.5-DVD-ppc64le-Build111.11-Media.iso t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-ppc64le-Current.iso +ln -sf openSUSE-Leap-15.5-DVD-ppc64le-Build111.11-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-ppc64le-Current.iso.sha256 +ln -sf openSUSE-Leap-15.5-NET-ppc64le-Build111.11-Media.iso t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-ppc64le-Current.iso +ln -sf openSUSE-Leap-15.5-NET-ppc64le-Build111.11-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-ppc64le-Current.iso.sha256 +ln -sf openSUSE-Leap-15.5-DVD-s390x-Build111.11-Media.iso t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-s390x-Current.iso +ln -sf openSUSE-Leap-15.5-DVD-s390x-Build111.11-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-DVD-s390x-Current.iso.sha256 +ln -sf openSUSE-Leap-15.5-NET-s390x-Build111.11-Media.iso t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-s390x-Current.iso +ln -sf openSUSE-Leap-15.5-NET-s390x-Build111.11-Media.iso.sha256 t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/openSUSE-Leap-15.5-NET-s390x-Current.iso.sha256 +tee t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso/.current.txt +========== iso --delete-after =========== +rsync -avvhiH t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/iso --link-dest=t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5 t/tmp/ftp/pub/opensuse//distribution/leap/15.5 --delete-after +========== repo =========== +rsync -avvhiH t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/repo --link-dest=t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5 t/tmp/ftp/pub/opensuse//distribution/leap/15.5 +========== repo --delete -n =========== +rsync -avvhiH t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5/repo --link-dest=t/tmp/ftp-stage/pub/opensuse//distribution/leap/15.5 t/tmp/ftp/pub/opensuse//distribution/leap/15.5 --delete -n +rsync -avhiH t/tmp/ftp-stage/pub/opensuse/source//distribution/leap/15.5/ --link-dest=t/tmp/ftp-stage/pub/opensuse/source//distribution/leap/15.5 t/tmp/ftp/pub/opensuse/source//distribution/leap/15.5 --delete-after +rsync -avhiH t/tmp/ftp-stage/pub/opensuse/debug//distribution/leap/15.5/ --link-dest=t/tmp/ftp-stage/pub/opensuse/debug//distribution/leap/15.5 t/tmp/ftp/pub/opensuse/debug//distribution/leap/15.5 --delete-after +curl -X POST -F version=111.11 https://openqa.opensuse.org/snapshot-changes/opensuse/15.5/current