2222read_files_isos = '''rsync -4 --list-only $rsync_pwd_option PRODUCTISOPATH/ | grep -P 'Media1?.iso$' | grep -E 'ARCHORS' | awk '{ $1=$2=$3=$4=""; print substr($0,5); }' >> __envsub/files_iso.lst
2323'''
2424
25- read_files_repo = '''rsync -4 --list-only $rsync_pwd_option PRODUCTREPOPATH/ | grep -P 'Media[1-3](.license)?$' | awk '{ $1=$2=$3=$4=""; print substr($0,5); } ' | grep -v IGNOREPATTERN | grep -E 'REPOORS' | grep -E 'ARCHORS' >> __envsub/files_repo.lst
25+ read_files_repo = '''rsync -4 --list-only $rsync_pwd_option PRODUCTREPOPATH/ | grep '^d' | grep -P 'Media[1-3](.license)?$' | awk '{ $1=$2=$3=$4=""; print substr($0,5); } ' | grep -v IGNOREPATTERN | grep -E 'REPOORS' | grep -E 'ARCHORS' >> __envsub/files_repo.lst
2626'''
2727
2828read_files_repo_media = '''rsync -4 $rsync_pwd_option PRODUCTREPOPATH/*Media1/media.1/media __envsub/Media1.lst'''
@@ -105,7 +105,7 @@ def rsync_commands(checksum):
105105 echo "rsync --timeout=3600 -tlp4 --specials PRODUCTISOPATH/$folder/$src /var/lib/openqa/factory/$asset/"
106106 echo "rsync --timeout=3600 -tlp4 --specials PRODUCTISOPATH/$folder/$src.sha256 /var/lib/openqa/factory/other/"
107107 echo ""
108- done < <(grep ${arch} __envsub/files_iso.lst | sort)
108+ done < <(grep ${arch} __envsub/files_iso.lst | LANG=C.UTF-8 sort)
109109 done
110110done'''
111111
@@ -154,7 +154,7 @@ def pre_rsync_repo(repos):
154154 [ ! -f __envsub/files_iso.lst ] || buildid=$(cat __envsub/files_iso.lst | grep $arch | grep -E 'FLAVORORS' | grep -o -E '(Build|Snapshot)[^-]*' | head -n 1)
155155 [ -n "$buildid" ] || buildid=$(grep -hEo 'Build[0-9]+(.[0-9]+)?' __envsub/Media1_*.lst 2>/dev/null | head -n 1)
156156 if [[ ! -n $build ]] && [[ ! $buildid =~ (Build|Snapshot)[0-9]*[0-9]$ ]]; then
157- buildid=${buildid%%\.[[:alpha:]]*}
157+ buildid=${buildid%%\\ .[[:alpha:]]*}
158158 fi
159159
160160 while read src; do
@@ -165,7 +165,7 @@ def pre_rsync_repo(repos):
165165 destSuffix=${dest#$destPrefix}
166166 mid=''
167167 dest=$destPrefix$mid$destSuffix
168- [[ ! $src =~ .*\.license ]] || [[ $dest == *license* ]] || dest=$dest.license'''
168+ [[ ! $src =~ .*\\ .license ]] || [[ $dest == *license* ]] || dest=$dest.license'''
169169
170170def rsync_repodir2 ():
171171 return r'''
@@ -210,9 +210,62 @@ def rsync_repomultiarch(destpath, debug, source):
210210 [ ! -z "$src" ] || continue
211211 [[ ''' + dest + ''' =~ $arch ]] || [[ ''' + dest + ''' =~ ${arch//i686/i586} ]] || [[ "ARCHITECTURREPO" == . ]] || break
212212 dest=''' + dest + '''
213- [[ ! $src =~ .*\.license ]] || dest=$dest.license'''
213+ [[ ! $src =~ .*\\ .license ]] || dest=$dest.license'''
214214
215215
216+ def rsync_repodir1_dest_media0 (dest , debug , source , folder ):
217+ repo = os .path .basename (folder ).lstrip ("*" )
218+ xtra = ""
219+ res = r'''
220+
221+ # archs=(ARCHITECTURREPO)
222+ buildid=$(cat __envsub/files_iso.lst | grep -E 'FLAVORORS' | grep -o -E '(Build|Snapshot)[^-]*' | head -n 1)
223+
224+ # for arch in "${archs[@]}"; do
225+ while read src; do
226+ [ ! -z "$src" ] || continue
227+ [[ ''' + dest + ''' =~ $arch ]] || [[ ''' + dest + ''' =~ ${arch//i686/i586} ]] || [[ "ARCHITECTURREPO" == . ]] || break
228+ dest=''' + dest + '''
229+ [[ ! $src =~ .*\\ .license ]] || dest=$dest.license
230+ '''
231+
232+ res = res + '''
233+ [[ $src != *"-Debug" ]] || {
234+ '''
235+ if debug :
236+ xtra = "--include=" + debug + " --exclude={aarch64,armv7hl,i586,i686,noarch,nosrc,ppc64,ppc64le,s390x,src,x86_64}/*"
237+ res = res + '''
238+ echo rsync --timeout=3600 -rtlp4 --delete --specials ''' + xtra + ''' PRODUCTREPOPATH/''' + folder + '''/$src/ /var/lib/openqa/factory/repo/$dest-CURRENT-Debug/
239+ echo rsync --timeout=3600 -rtlp4 --delete --specials --link-dest /var/lib/openqa/factory/repo/$dest-CURRENT-Debug/ /var/lib/openqa/factory/repo/$dest-CURRENT-Debug/ /var/lib/openqa/factory/repo/$dest-$buildid-Debug
240+ '''
241+ res = res + '''
242+ continue
243+ }
244+ '''
245+
246+ res = res + '''
247+ [[ $src != *"-Source" ]] || {
248+ '''
249+ if source :
250+ xtra = "--include=" + source + " --exclude={aarch64,armv7hl,i586,i686,noarch,nosrc,ppc64,ppc64le,s390x,src,x86_64}/*"
251+ res = res + '''
252+ echo rsync --timeout=3600 -rtlp4 --delete --specials ''' + xtra + ''' PRODUCTREPOPATH/''' + folder + '''/$src/ /var/lib/openqa/factory/repo/$dest-CURRENT-Source/
253+ echo rsync --timeout=3600 -rtlp4 --delete --specials --link-dest /var/lib/openqa/factory/repo/$dest-CURRENT-Source/ /var/lib/openqa/factory/repo/$dest-CURRENT-Source/ /var/lib/openqa/factory/repo/$dest-$buildid-Source
254+ '''
255+ res = res + '''
256+ continue
257+ }
258+ '''
259+
260+ res = res + '''
261+ echo rsync --timeout=3600 -rtlp4 --delete --specials PRODUCTREPOPATH/''' + folder + '''/$src/ /var/lib/openqa/factory/repo/$dest-CURRENT/
262+ echo rsync --timeout=3600 -rtlp4 --delete --specials --link-dest /var/lib/openqa/factory/repo/$dest-CURRENT/ /var/lib/openqa/factory/repo/$dest-CURRENT/ /var/lib/openqa/factory/repo/$dest-$buildid
263+ done < <(LANG=C.UTF-8 sort __envsub/files_repo_''' + repo + '''.lst )
264+ # done
265+ '''
266+
267+ return res
268+
216269
217270def openqa_call_fix_destiso (distri , version , staging ):
218271 if not staging :
@@ -288,6 +341,7 @@ def pre_openqa_call_start(repos):
288341 ''' + openqa_call_news (news , news_archs ) + '''
289342 }
290343 fi
344+ # test "$destiso" != "" || continue
291345 echo "''' + openqa_cli + ''' \\ \\ \"
292346(
293347 echo \" DISTRI=$distri \\ \\
@@ -351,7 +405,7 @@ def openqa_call_start_ex(checksum):
351405 echo " HDD_$n=$src \\"
352406 echo " CHECKSUM_HDD_$n=\$(cut -b-64 /var/lib/openqa/factory/other/$src.sha256 | grep -E '[0-9a-f]{5,40}' | head -n1) \\"
353407 fi
354- done < <(grep ${arch} __envsub/files_iso.lst | sort)
408+ done < <(grep ${arch} __envsub/files_iso.lst | LANG=C.UTF-8 sort)
355409'''
356410
357411# if MIRROREPO is set - expressions for FLAVORASREPOORS will evaluate to false
@@ -430,16 +484,34 @@ def openqa_call_extra(repos):
430484 [[ $repo =~ license ]] || echo " REPO_REPOPREFIX$repoKey=$repoDest \\ \\ "
431485 ''' + openqa_call_extra (repos ) + '''
432486 : $((i++))
433- done < <(grep $repot$additional_repo_suffix __envsub/files_repo.lst | grep REPOTYPE | grep $arch | sort)
487+ done < <(grep $repot$additional_repo_suffix __envsub/files_repo.lst | grep REPOTYPE | grep $arch | LANG=C.UTF-8 sort)
434488 done'''
435489
436- def openqa_call_repot1_debugsource ():
437- return '''[[ $src != *Media2* ]] || repoKey=${repoKey}_DEBUGINFO
490+ def openqa_call_repot1_debugsource (debug , source ):
491+ res = '''[[ $src != *Media2* ]] || repoKey=${repoKey}_DEBUGINFO
438492 [[ $src != *Media2* ]] || dest=$dest-debuginfo
439493 [[ $src != *Media3* ]] || repoKey=${repoKey}_SOURCE
440494 [[ $src != *Media3* ]] || dest=$dest-source'''
495+ if debug :
496+ res = res + '''
497+ [[ $src != *-Debug ]] || repoKey=${repoKey}_DEBUG
498+ [[ $src != *-Debug ]] || dest=$dest-Debug'''
499+ else :
500+ res = res + '''
501+ [[ $src != *-Debug ]] || continue'''
502+
503+ if source :
504+ res = res + '''
505+ [[ $src != *-Source ]] || repoKey=${repoKey}_SOURCE
506+ [[ $src != *-Source ]] || dest=$dest-Source'''
507+ else :
508+ res = res + '''
509+ [[ $src != *-Source ]] || continue'''
510+
511+ return res
512+
441513
442- openqa_call_repot1 = lambda : '''
514+ openqa_call_repot1 = lambda debug , source : '''
443515 while read src; do
444516 dest=$src
445517 dest=${dest%-Build*}
@@ -459,7 +531,7 @@ def openqa_call_repot1_debugsource():
459531 repoKey=${repoKey//-/_}
460532 repoKey=${repoKey//./_}
461533 repoKey=${repoKey//$/}
462- ''' + openqa_call_repot1_debugsource () + '''
534+ ''' + openqa_call_repot1_debugsource (debug , source ) + '''
463535 dest=${dest//-Media1/}
464536 dest=${dest//-Media2/}
465537 dest=${dest//-Media3/}
@@ -469,19 +541,20 @@ def openqa_call_repot1_debugsource():
469541 echo " REPO_$i=$dest \\ \\ "
470542 [[ $src =~ license ]] || echo " REPO_$repoKey=$dest \\ \\ "
471543 [[ ! $repoKey =~ _DEBUGINFO ]] || [ -z "DEBUG_PACKAGES" ] || echo " REPO_${{repoKey}}_PACKAGES='DEBUG_PACKAGES' \\ \\ "
544+ [[ $repoKey != *_DEBUG ]] || [ -z "DEBUG_PACKAGES" ] || echo " REPO_${{repoKey}}_PACKAGES='DEBUG_PACKAGES' \\ \\ "
472545 [[ ! $repoKey =~ _SOURCE ]] || [ -z "SOURCE_PACKAGES" ] || echo " REPO_${{repoKey}}_PACKAGES='SOURCE_PACKAGES' \\ \\ "
473546 : $((i++))
474- done < <(grep ${{arch//i686/i586}} __envsub/files_repo.lst {} | sort)'''
547+ done < <(grep ${{arch//i686/i586}} __envsub/files_repo.lst {} | LANG=C.UTF-8 sort)'''
475548
476549
477- openqa_call_repot1_dest = lambda dest : '''
550+ openqa_call_repot1_dest = lambda dest , debug , source : '''
478551 while read src; do
479552 [[ ''' + dest + ''' =~ $arch ]] || [[ ''' + dest + ''' =~ ${arch//i686/i586} ]] || [[ "ARCHITECTURREPO" == . ]] || break
480553 dest=''' + dest + r'''
481554 [[ ! $src =~ .*\.license ]] || dest=$dest.license
482555 dest=$dest-$buildex
483556 repoKey=REPOKEY
484- ''' + openqa_call_repot1_debugsource () + '''
557+ ''' + openqa_call_repot1_debugsource (debug , source ) + '''
485558 repoKey=${repoKey^^}
486559 repoKey=${repoKey//-/_}
487560 repoKey=${repoKey//./_}
@@ -508,14 +581,14 @@ def openqa_call_end(version):
508581 [ $flavor != MicroOS-DVD ] || flavor=DVD
509582 [ $flavor != Staging-MicroOS-DVD ] || flavor=Staging-DVD
510583 echo " FLAVOR=${flavor//Tumbleweed-/} \\ \\ "
511- ) | LC_COLLATE=C sort
584+ ) | LANG=C.UTF-8 sort
512585 echo ""
513586 done
514587done
515588'''
516589 return '''
517590 echo " FLAVOR=$flavor \\ \\ "
518- ) | LC_COLLATE=C sort
591+ ) | LANG=C.UTF-8 sort
519592 echo ""
520593 done
521594done
0 commit comments