3535read_files_repo_link3 = '''cp __envdir/REPOLINK/files_iso*.lst __envsub/
3636'''
3737
38- def rsync_fix_dest (distri , version , staging ):
38+ def rsync_fix_dest (distri , version , staging , use_staging_patterns ):
3939 if not staging : return ''
40+ if use_staging_patterns : return '''
41+ staging_pattern=$flavor
42+ [ -z "${flavor_staging[$staging_pattern]}" ] || staging_pattern="${flavor_staging[$staging_pattern]}"
43+ dest=${dest//$staging_pattern/Staging:__STAGING-$staging_pattern}'''
4044 if version != 'Factory' and len (staging ) == 1 : return '''dest=${dest//$flavor/Staging:__STAGING-Staging-$flavor}'''
4145 return '''dest=${dest//$flavor/Staging:__STAGING-$flavor}'''
4246
@@ -52,19 +56,19 @@ def rsync_commands(checksum):
5256 echo "rsync --timeout=3600 -tlp4 --specials PRODUCTISOPATH/${iso_folder[$flavor]}*$src.sha256 /var/lib/openqa/factory/other/$dest.sha256"'''
5357 return res
5458
55- rsync_iso = lambda distri , version , archs , staging , checksum , repo0folder : '''
59+ rsync_iso = lambda distri , version , archs , staging , checksum , repo0folder , use_staging_patterns : '''
5660archs=(ARCHITECTURS)
5761
5862for flavor in {FLAVORLIST,}; do
5963 for arch in "${archs[@]}"; do
6064 filter=$flavor
61- [[ ! -v flavor_filter[@] ]] || [ -z "${flavor_filter[$flavor]}" ] || filter=${flavor_filter[$flavor]}
65+ [ -z "${flavor_filter[$flavor]}" ] || filter=${flavor_filter[$flavor]}
6266 [[ ${norsync_filter[$filter]} != 1 ]] || continue
6367 src=$(grep "$filter" __envsub/files_iso.lst | grep $arch | head -n 1)
6468 ''' + rsync_iso_fix_src (archs ) + '''
6569 [ ! -z "$src" ] || continue
6670 dest=$src
67- ''' + rsync_fix_dest (distri , version , staging ) + '''
71+ ''' + rsync_fix_dest (distri , version , staging , use_staging_patterns ) + '''
6872 asset_folder=other
6973 [[ ! $dest =~ \.iso$ ]] || asset_folder=iso
7074 [[ ! $dest =~ \.(qcow2|raw|vhd|vhdx|xz)$ ]] || asset_folder=hdd
@@ -108,7 +112,7 @@ def pre_rsync_repo(repos):
108112[ ! -f __envsub/files_iso.lst ] || test -n "$buildid" || buildid=$(cat __envsub/files_iso.lst | grep -o -E '(Build|Snapshot)[^-]*' | head -n 1)
109113[ -z "__STAGING" ] || buildid=${buildid//Build/Build__STAGING.}
110114[ ! -f __envsub/files_repo.lst ] || ! grep -q -- "-POOL-" __envsub/files_repo.lst || additional_repo_suffix=-POOL
111- [ -n "$buildid" ] || buildid=$(grep -hEo 'Build[0-9]+' __envsub/Media1_*.lst 2>/dev/null | head -n 1)
115+ [ -n "$buildid" ] || buildid=$(grep -hEo 'Build[0-9]+(.[0-9]+)? ' __envsub/Media1_*.lst 2>/dev/null | head -n 1)
112116
113117for repo in {REPOOWNLIST,}; do
114118 while read src; do
@@ -132,24 +136,33 @@ def pre_rsync_repo(repos):
132136
133137rsync_repodir1 = '''
134138archs=(ARCHITECTURREPO)
135- [ ! -f __envsub/files_iso.lst ] || buildid=$(cat __envsub/files_iso.lst | grep -E 'FLAVORORS' | grep -o -E '(Build|Snapshot)[^-]*' | head -n 1)
136- [ -n "$buildid" ] || buildid=$(grep -hEo 'Build[0-9]+' __envsub/Media1_*.lst 2>/dev/null | head -n 1)
139+
137140
138141for arch in "${archs[@]}"; do
142+ [ ! -f __envsub/files_iso.lst ] || buildid=$(cat __envsub/files_iso.lst | grep $arch | grep -E 'FLAVORORS' | grep -o -E '(Build|Snapshot)[^-]*' | head -n 1)
143+ [ -n "$buildid" ] || buildid=$(grep -hEo 'Build[0-9]+(.[0-9]+)?' __envsub/Media1_*.lst 2>/dev/null | head -n 1)
144+ if [[ ! -n $build ]] && [[ ! $buildid =~ (Build|Snapshot)[0-9]*[0-9]$ ]]; then
145+ buildid=${buildid%%\.[[:alpha:]]*}
146+ fi
147+
139148 while read src; do
140149 [ ! -z "$src" ] || continue
141150 dest=$src
151+ dest=${dest%-Build*}
142152 destPrefix=${dest%$arch*}
143153 destSuffix=${dest#$destPrefix}
144154 mid=''
145- dest=$destPrefix$mid$destSuffix'''
155+ dest=$destPrefix$mid$destSuffix
156+ [[ ! $src =~ .*\.license ]] || [[ $dest == *license* ]] || dest=$dest.license'''
146157
147158def rsync_repodir2 ():
148159 return '''
149160 dest=${dest//-Media2/}
150- echo rsync --timeout=3600 -rtlp4 --delete --specials RSYNCFILTER PRODUCTREPOPATH/*Media2/* /var/lib/openqa/factory/repo/$dest-CURRENT-debuginfo/
161+ Mdia=Media2
162+ [[ ! $src =~ .*\.license ]] || Mdia=Media2.license
163+ echo rsync --timeout=3600 -rtlp4 --delete --specials RSYNCFILTER PRODUCTREPOPATH/*$Mdia/ /var/lib/openqa/factory/repo/$dest-CURRENT-debuginfo/
151164 echo rsync --timeout=3600 -rtlp4 --delete --specials --link-dest /var/lib/openqa/factory/repo/$dest-CURRENT-debuginfo/ /var/lib/openqa/factory/repo/$dest-CURRENT-debuginfo/ /var/lib/openqa/factory/repo/$dest-$buildid-debuginfo
152- done < <(grep ${arch//i686/i586} __envsub/files_repo.lst | grep Media2)
165+ done < <(grep ${arch//i686/i586} __envsub/files_repo.lst | grep Media2 )
153166done
154167'''
155168
@@ -161,7 +174,9 @@ def rsync_repodir2():
161174 while read src; do
162175 [ ! -z "$src" ] || continue
163176 [[ ''' + dest + ''' =~ $arch ]] || [[ ''' + dest + ''' =~ ${arch//i686/i586} ]] || [[ "ARCHITECTURREPO" == . ]] || break
164- dest=''' + dest
177+ dest=''' + dest + '''
178+ [[ ! $src =~ .*\.license ]] || dest=$dest.license'''
179+
165180
166181
167182def openqa_call_fix_destiso (distri , version , staging ):
@@ -211,8 +226,10 @@ def pre_openqa_call_start(repos):
211226 for arch in "${archs[@]}"; do
212227 filter=$flavor
213228 ''' + openqa_call_start_distri (flavor_distri ) + '''
214- [[ ! -v flavor_filter[@] ]] || [ -z "${flavor_filter[$flavor]}" ] || filter=${flavor_filter[$flavor]}
229+ [ -z "${flavor_filter[$flavor]}" ] || filter=${flavor_filter[$flavor]}
215230 [ $filter != Appliance ] || filter="qcow2"
231+ version=VERSIONVALUE
232+ if [ -z "${norsync_filter[$flavor]}" ] || [ -z $build1 ]; then {
216233 iso=$(grep "$filter" __envsub/files_iso.lst 2>/dev/null | grep $arch | head -n 1)
217234 ''' + openqa_call_start_fix_iso (archs ) + '''
218235 build=$(echo $iso | grep -o -E '(Build|Snapshot)[^-]*' | grep -o -E '[0-9]\.?[0-9]+(\.[0-9]+)*' | tail -n 1) || :
@@ -226,14 +243,15 @@ def pre_openqa_call_start(repos):
226243 buildex=${buildex/.qcow2/}
227244 build1=$build
228245 destiso=$iso
229- version=VERSIONVALUE
230246 [ -z "__STAGING" ] || build1=__STAGING.$build
231247 ''' + openqa_call_fix_destiso (distri , version , staging ) + '''
232248 repo0folder=${destiso%.iso}
233249 ''' + (repo0folder if repo0folder else "" ) + '''
234250 [ "$arch" != . ] || arch=x86_64
235251 ''' + openqa_call_news (news , news_archs ) + '''
236- echo "/usr/share/openqa/script/client isos post --host localhost \\ \\ \"
252+ }
253+ fi
254+ echo "/usr/bin/openqa-cli api -X post isos?async=1 \\ \\ \"
237255(
238256 echo \" DISTRI=$distri \\ \\
239257 ARCH=$arch \\ \\
@@ -266,7 +284,7 @@ def openqa_call_start_ex(checksum):
266284 :
267285 elif [[ $destiso =~ \.iso$ ]]; then
268286 echo \" ''' + openqa_call_start_ex1 (checksum , 'ISO' ) + '''\"
269- elif [[ $destiso =~ \.(hdd|qcow2|raw\.xz|raw\.gz|vhdx\.xz|vmdk\.xz)$ ]]; then
287+ elif [[ $destiso =~ \.(hdd|qcow2|raw|raw \.xz|raw\.gz|vhdx\.xz|vmdk\.xz)$ ]]; then
270288 echo \" ''' + openqa_call_start_ex1 (checksum , 'HDD_1' ) + '''\"
271289 elif [ -n "$destiso" ]; then
272290 echo \" ''' + openqa_call_start_ex1 (checksum , 'ASSET_1' ) + '''\"
@@ -372,13 +390,18 @@ def openqa_call_repot1_debugsource():
372390openqa_call_repot1 = lambda : '''
373391 while read src; do
374392 dest=$src
393+ dest=${dest%-Build*}
394+ dest=${dest%.license}
375395 destPrefix=${dest%$arch*}
376396 destSuffix=${dest#$destPrefix}
377397 mid=''
378398 dest=$destPrefix$mid$destSuffix
379399 repoPrefix=${dest%-Media*}
380400 repoSuffix=${dest#$repoPrefix}
381- dest=$repoPrefix-Build$build$repoSuffix
401+ [[ ! $src =~ .license ]] || repoPrefix=$repoPrefix.license
402+ B=$(grep -oE "Build|Snapshot" __envsub/files_iso.lst 2>/dev/null | head -1)
403+ [ ! -z "$B" ] || B=Build
404+ dest=$repoPrefix-$B$build$repoSuffix
382405 repoKey=REPOKEY
383406 repoKey=${repoKey^^}
384407 repoKey=${repoKey//-/_}
@@ -400,7 +423,9 @@ def openqa_call_repot1_debugsource():
400423openqa_call_repot1_dest = lambda dest : '''
401424 while read src; do
402425 [[ ''' + dest + ''' =~ $arch ]] || [[ ''' + dest + ''' =~ ${arch//i686/i586} ]] || [[ "ARCHITECTURREPO" == . ]] || break
403- dest=''' + dest + '''-$buildex
426+ dest=''' + dest + '''
427+ [[ ! $src =~ .*\.license ]] || dest=$dest.license
428+ dest=$dest-$buildex
404429 repoKey=REPOKEY
405430 ''' + openqa_call_repot1_debugsource () + '''
406431 repoKey=${repoKey^^}
0 commit comments