diff options
-rw-r--r-- | .gitignore | 10 | ||||
-rw-r--r-- | buildfct | 885 | ||||
-rwxr-xr-x | cleanoldmeta | 18 | ||||
-rwxr-xr-x | cleanoldrpm | 69 | ||||
-rwxr-xr-x | getmock | 662 | ||||
-rw-r--r-- | mirrorsync | 147 | ||||
-rwxr-xr-x | mkallrepo | 94 | ||||
-rwxr-xr-x | mkgit | 12 | ||||
-rwxr-xr-x | mkmodular | 1458 | ||||
-rwxr-xr-x | mkrepo | 123 | ||||
-rwxr-xr-x | mockit | 270 | ||||
-rwxr-xr-x | mockrun | 51 | ||||
-rwxr-xr-x | pearup | 61 | ||||
-rwxr-xr-x | pkgup | 12 | ||||
-rwxr-xr-x | sortrefl | 51 |
15 files changed, 3156 insertions, 767 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5090361 --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +checkpkgist/ +diffrpmtree +docker/ +ffi-examples/ +git2rss/ +mine.lst +mock/ +myrpms +repodata/ + @@ -5,88 +5,73 @@ alias rhpkg='echo NO PLEASE, use fedpkg' mocketc=/home/rpmbuild/SPECS/remirepo/tools/mock -alias mockfc29i=" setarch i686 mock --configdir=$mocketc -r fc29i --arch i686 rebuild " -alias mockfc29ir=" setarch i686 mock --configdir=$mocketc -r fc29ir --arch i686 rebuild " -alias mockfc29i73="setarch i686 mock --configdir=$mocketc -r fc29i73 --arch i686 rebuild " -alias mockfc29i74="setarch i686 mock --configdir=$mocketc -r fc29i74 --arch i686 rebuild " -alias mockfc29x=" mock --configdir=$mocketc -r fc29x rebuild " -alias mockfc29xr=" mock --configdir=$mocketc -r fc29xr rebuild " -alias mockfc29x73=" mock --configdir=$mocketc -r fc29x73 rebuild " -alias mockfc29x74=" mock --configdir=$mocketc -r fc29x74 rebuild " -alias mockfc29xscl56=" mock --configdir=$mocketc -r fc29xscl56 rebuild " -alias mockfc29xscl70=" mock --configdir=$mocketc -r fc29xscl70 rebuild " -alias mockfc29xscl71=" mock --configdir=$mocketc -r fc29xscl71 rebuild " -alias mockfc29xscl72=" mock --configdir=$mocketc -r fc29xscl72 rebuild " -alias mockfc29xscl73=" mock --configdir=$mocketc -r fc29xscl73 rebuild " -alias mockfc29xscl74=" mock --configdir=$mocketc -r fc29xscl74 rebuild " - -alias mockfc30i=" setarch i686 mock --configdir=$mocketc -r fc30i --arch i686 rebuild " -alias mockfc30ir=" setarch i686 mock --configdir=$mocketc -r fc30ir --arch i686 rebuild " -alias mockfc30i74="setarch i686 mock --configdir=$mocketc -r fc30i74 --arch i686 rebuild " -alias mockfc30x=" mock --configdir=$mocketc -r fc30x rebuild " -alias mockfc30xr=" mock --configdir=$mocketc -r fc30xr rebuild " -alias mockfc30x74=" mock --configdir=$mocketc -r fc30x74 rebuild " -alias mockfc30xscl56=" mock --configdir=$mocketc -r fc30xscl56 rebuild " -alias mockfc30xscl70=" mock --configdir=$mocketc -r fc30xscl70 rebuild " -alias mockfc30xscl71=" mock --configdir=$mocketc -r fc30xscl71 rebuild " -alias mockfc30xscl72=" mock --configdir=$mocketc -r fc30xscl72 rebuild " -alias mockfc30xscl73=" mock --configdir=$mocketc -r fc30xscl73 rebuild " -alias mockfc30xscl74=" mock --configdir=$mocketc -r fc30xscl74 rebuild " - -alias mockfc31x=" mock --configdir=$mocketc -r fc31x rebuild " -alias mockfc31xr=" mock --configdir=$mocketc -r fc31xr rebuild " -alias mockfc31x74=" mock --configdir=$mocketc -r fc31x74 rebuild " -alias mockfc31xscl56=" mock --configdir=$mocketc -r fc31xscl56 rebuild " -alias mockfc31xscl70=" mock --configdir=$mocketc -r fc31xscl70 rebuild " -alias mockfc31xscl71=" mock --configdir=$mocketc -r fc31xscl71 rebuild " -alias mockfc31xscl72=" mock --configdir=$mocketc -r fc31xscl72 rebuild " -alias mockfc31xscl73=" mock --configdir=$mocketc -r fc31xscl73 rebuild " -alias mockfc31xscl74=" mock --configdir=$mocketc -r fc31xscl74 rebuild " - -alias mockel6i=" setarch i686 mock --configdir=$mocketc -r el6i --arch i686 rebuild " -alias mockel6it=" setarch i686 mock --configdir=$mocketc -r el6it --arch i686 rebuild " -alias mockel6i55="setarch i686 mock --configdir=$mocketc -r el6i55 --arch i686 rebuild " -alias mockel6i56="setarch i686 mock --configdir=$mocketc -r el6i56 --arch i686 rebuild " -alias mockel6i70="setarch i686 mock --configdir=$mocketc -r el6i70 --arch i686 rebuild " -alias mockel6i71="setarch i686 mock --configdir=$mocketc -r el6i71 --arch i686 rebuild " -alias mockel6i72="setarch i686 mock --configdir=$mocketc -r el6i72 --arch i686 rebuild " -alias mockel6i73="setarch i686 mock --configdir=$mocketc -r el6i73 --arch i686 rebuild " -alias mockel6x=" mock --configdir=$mocketc -r el6x rebuild " -alias mockel6xt=" mock --configdir=$mocketc -r el6xt rebuild " -alias mockel6x55=" mock --configdir=$mocketc -r el6x55 rebuild " -alias mockel6t56=" mock --configdir=$mocketc -r el6t56 rebuild " -alias mockel6x56=" mock --configdir=$mocketc -r el6x56 rebuild " -alias mockel6x70=" mock --configdir=$mocketc -r el6x70 rebuild " -alias mockel6x71=" mock --configdir=$mocketc -r el6x71 rebuild " -alias mockel6x72=" mock --configdir=$mocketc -r el6x72 rebuild " -alias mockel6x73=" mock --configdir=$mocketc -r el6x73 rebuild " -alias mockel6xscl54=" mock --configdir=$mocketc -r el6xscl54 rebuild " -alias mockel6xscl55=" mock --configdir=$mocketc -r el6xscl55 rebuild " -alias mockel6xscl56=" mock --configdir=$mocketc -r el6xscl56 rebuild " -alias mockel6xscl70=" mock --configdir=$mocketc -r el6xscl70 rebuild " -alias mockel6xscl71=" mock --configdir=$mocketc -r el6xscl71 rebuild " -alias mockel6xscl72=" mock --configdir=$mocketc -r el6xscl72 rebuild " -alias mockel6xscl73=" mock --configdir=$mocketc -r el6xscl73 rebuild " - -alias mockel7x=" mock --configdir=$mocketc -r el7x rebuild " -alias mockel7xr=" mock --configdir=$mocketc -r el7xr rebuild " -alias mockel7xt=" mock --configdir=$mocketc -r el7xt rebuild " -alias mockel7x55=" mock --configdir=$mocketc -r el7x55 rebuild " -alias mockel7t56=" mock --configdir=$mocketc -r el7t56 rebuild " -alias mockel7x56=" mock --configdir=$mocketc -r el7x56 rebuild " -alias mockel7x70=" mock --configdir=$mocketc -r el7x70 rebuild " -alias mockel7x71=" mock --configdir=$mocketc -r el7x71 rebuild " -alias mockel7x72=" mock --configdir=$mocketc -r el7x72 rebuild " -alias mockel7x73=" mock --configdir=$mocketc -r el7x73 rebuild " -alias mockel7x74=" mock --configdir=$mocketc -r el7x74 rebuild " -alias mockel7xscl54=" mock --configdir=$mocketc -r el7xscl54 rebuild " -alias mockel7xscl55=" mock --configdir=$mocketc -r el7xscl55 rebuild " -alias mockel7xscl56=" mock --configdir=$mocketc -r el7xscl56 rebuild " -alias mockel7xscl70=" mock --configdir=$mocketc -r el7xscl70 rebuild " -alias mockel7xscl71=" mock --configdir=$mocketc -r el7xscl71 rebuild " -alias mockel7xscl72=" mock --configdir=$mocketc -r el7xscl72 rebuild " -alias mockel7xscl73=" mock --configdir=$mocketc -r el7xscl73 rebuild " -alias mockel7xscl74=" mock --configdir=$mocketc -r el7xscl74 rebuild " +alias mockfc39x=" mock --configdir=$mocketc -r fc39x rebuild " +alias mockfc39x74=" mock --configdir=$mocketc -r fc39x74 rebuild " +alias mockfc39x80=" mock --configdir=$mocketc -r fc39x80 rebuild " +alias mockfc39x81=" mock --configdir=$mocketc -r fc39x81 rebuild " +alias mockfc39x82=" mock --configdir=$mocketc -r fc39x82 rebuild " +alias mockfc39x83=" mock --configdir=$mocketc -r fc39x83 rebuild " +alias mockfc39x84=" mock --configdir=$mocketc -r fc39x84 rebuild " +alias mockfc39xscl74=" mock --configdir=$mocketc -r fc39xscl74 rebuild " +alias mockfc39xscl80=" mock --configdir=$mocketc -r fc39xscl80 rebuild " +alias mockfc39xscl81=" mock --configdir=$mocketc -r fc39xscl81 rebuild " +alias mockfc39xscl82=" mock --configdir=$mocketc -r fc39xscl82 rebuild " +alias mockfc39xscl83=" mock --configdir=$mocketc -r fc39xscl83 rebuild " +alias mockfc39xscl84=" mock --configdir=$mocketc -r fc39xscl84 rebuild " +alias mockfc39xr60=" mock --configdir=$mocketc -r fc39xr60 rebuild " +alias mockfc39xr62=" mock --configdir=$mocketc -r fc39xr62 rebuild " +alias mockfc39xr70=" mock --configdir=$mocketc -r fc39xr70 rebuild " +alias mockfc39xr72=" mock --configdir=$mocketc -r fc39xr72 rebuild " +alias mockfc39xm=" mock --configdir=$mocketc -r fc39xm rebuild " + +alias mockfc40x=" mock --configdir=$mocketc -r fc40x rebuild " +alias mockfc40x74=" mock --configdir=$mocketc -r fc40x74 rebuild " +alias mockfc40x80=" mock --configdir=$mocketc -r fc40x80 rebuild " +alias mockfc40x81=" mock --configdir=$mocketc -r fc40x81 rebuild " +alias mockfc40x82=" mock --configdir=$mocketc -r fc40x82 rebuild " +alias mockfc40x83=" mock --configdir=$mocketc -r fc40x83 rebuild " +alias mockfc40x84=" mock --configdir=$mocketc -r fc40x84 rebuild " +alias mockfc40xscl74=" mock --configdir=$mocketc -r fc40xscl74 rebuild " +alias mockfc40xscl80=" mock --configdir=$mocketc -r fc40xscl80 rebuild " +alias mockfc40xscl81=" mock --configdir=$mocketc -r fc40xscl81 rebuild " +alias mockfc40xscl82=" mock --configdir=$mocketc -r fc40xscl82 rebuild " +alias mockfc40xscl83=" mock --configdir=$mocketc -r fc40xscl83 rebuild " +alias mockfc40xscl84=" mock --configdir=$mocketc -r fc40xscl84 rebuild " +alias mockfc40xr60=" mock --configdir=$mocketc -r fc40xr60 rebuild " +alias mockfc40xr62=" mock --configdir=$mocketc -r fc40xr62 rebuild " +alias mockfc40xr70=" mock --configdir=$mocketc -r fc40xr70 rebuild " +alias mockfc40xr72=" mock --configdir=$mocketc -r fc40xr72 rebuild " +alias mockfc40xm=" mock --configdir=$mocketc -r fc40xm rebuild " + +alias mockfc41x=" mock --configdir=$mocketc -r fc41x rebuild " +alias mockfc41x74=" mock --configdir=$mocketc -r fc41x74 rebuild " +alias mockfc41x80=" mock --configdir=$mocketc -r fc41x80 rebuild " +alias mockfc41x81=" mock --configdir=$mocketc -r fc41x81 rebuild " +alias mockfc41x82=" mock --configdir=$mocketc -r fc41x82 rebuild " +alias mockfc41x83=" mock --configdir=$mocketc -r fc41x83 rebuild " +alias mockfc41x84=" mock --configdir=$mocketc -r fc41x84 rebuild " +alias mockfc41xscl74=" mock --configdir=$mocketc -r fc41xscl74 rebuild " +alias mockfc41xscl80=" mock --configdir=$mocketc -r fc41xscl80 rebuild " +alias mockfc41xscl81=" mock --configdir=$mocketc -r fc41xscl81 rebuild " +alias mockfc41xscl82=" mock --configdir=$mocketc -r fc41xscl82 rebuild " +alias mockfc41xscl83=" mock --configdir=$mocketc -r fc41xscl83 rebuild " +alias mockfc41xscl84=" mock --configdir=$mocketc -r fc41xscl84 rebuild " +alias mockfc41xscl85=" mock --configdir=$mocketc -r fc41xscl85 rebuild " + +alias mockfc42x=" mock --configdir=$mocketc -r fc42x rebuild " +alias mockfc42x74=" mock --configdir=$mocketc -r fc42x74 rebuild " +alias mockfc42x80=" mock --configdir=$mocketc -r fc42x80 rebuild " +alias mockfc42x81=" mock --configdir=$mocketc -r fc42x81 rebuild " +alias mockfc42x82=" mock --configdir=$mocketc -r fc42x82 rebuild " +alias mockfc42x83=" mock --configdir=$mocketc -r fc42x83 rebuild " +alias mockfc42x84=" mock --configdir=$mocketc -r fc42x84 rebuild " +alias mockfc42xscl74=" mock --configdir=$mocketc -r fc42xscl74 rebuild " +alias mockfc42xscl80=" mock --configdir=$mocketc -r fc42xscl80 rebuild " +alias mockfc42xscl81=" mock --configdir=$mocketc -r fc42xscl81 rebuild " +alias mockfc42xscl82=" mock --configdir=$mocketc -r fc42xscl82 rebuild " +alias mockfc42xscl83=" mock --configdir=$mocketc -r fc42xscl83 rebuild " +alias mockfc42xscl84=" mock --configdir=$mocketc -r fc42xscl84 rebuild " +alias mockfc42xscl85=" mock --configdir=$mocketc -r fc42xscl85 rebuild " alias mockel8x=" mock --configdir=$mocketc -r el8x rebuild " alias mockel8xr=" mock --configdir=$mocketc -r el8xr rebuild " @@ -94,61 +79,83 @@ alias mockel8xp=" mock --configdir=$mocketc -r el8xp r alias mockel8x72=" mock --configdir=$mocketc -r el8x72 rebuild " alias mockel8x73=" mock --configdir=$mocketc -r el8x73 rebuild " alias mockel8x74=" mock --configdir=$mocketc -r el8x74 rebuild " +alias mockel8x80=" mock --configdir=$mocketc -r el8x80 rebuild " +alias mockel8x81=" mock --configdir=$mocketc -r el8x81 rebuild " +alias mockel8n81=" mock --configdir=$mocketc -r el8n81 rebuild " +alias mockel8x82=" mock --configdir=$mocketc -r el8x82 rebuild " +alias mockel8n82=" mock --configdir=$mocketc -r el8n82 rebuild " +alias mockel8x83=" mock --configdir=$mocketc -r el8x83 rebuild " +alias mockel8x84=" mock --configdir=$mocketc -r el8x84 rebuild " alias mockel8xscl56=" mock --configdir=$mocketc -r el8xscl56 rebuild " alias mockel8xscl70=" mock --configdir=$mocketc -r el8xscl70 rebuild " alias mockel8xscl71=" mock --configdir=$mocketc -r el8xscl71 rebuild " alias mockel8xscl72=" mock --configdir=$mocketc -r el8xscl72 rebuild " alias mockel8xscl73=" mock --configdir=$mocketc -r el8xscl73 rebuild " alias mockel8xscl74=" mock --configdir=$mocketc -r el8xscl74 rebuild " +alias mockel8xscl80=" mock --configdir=$mocketc -r el8xscl80 rebuild " +alias mockel8xscl81=" mock --configdir=$mocketc -r el8xscl81 rebuild " +alias mockel8xscl82=" mock --configdir=$mocketc -r el8xscl82 rebuild " +alias mockel8xscl83=" mock --configdir=$mocketc -r el8xscl83 rebuild " +alias mockel8xscl84=" mock --configdir=$mocketc -r el8xscl84 rebuild " +alias mockel8xscl85=" mock --configdir=$mocketc -r el8xscl85 rebuild " +alias mockel8xr60=" mock --configdir=$mocketc -r el8xr60 rebuild " +alias mockel8xr62=" mock --configdir=$mocketc -r el8xr62 rebuild " +alias mockel8xr70=" mock --configdir=$mocketc -r el8xr70 rebuild " +alias mockel8xr72=" mock --configdir=$mocketc -r el8xr72 rebuild " +## alias mockel8xm=" mock --configdir=$mocketc -r el8xm rebuild " + +alias mockel9x=" mock --configdir=$mocketc -r el9x rebuild " +alias mockel9xr=" mock --configdir=$mocketc -r el9xr rebuild " +alias mockel9n=" mock --configdir=$mocketc -r el9n rebuild " +alias mockel9x74=" mock --configdir=$mocketc -r el9x74 rebuild " +alias mockel9x80=" mock --configdir=$mocketc -r el9x80 rebuild " +alias mockel9x81=" mock --configdir=$mocketc -r el9x81 rebuild " +alias mockel9n81=" mock --configdir=$mocketc -r el9n81 rebuild " +alias mockel9x82=" mock --configdir=$mocketc -r el9x82 rebuild " +alias mockel9n82=" mock --configdir=$mocketc -r el9n82 rebuild " +alias mockel9x83=" mock --configdir=$mocketc -r el9x83 rebuild " +alias mockel9x84=" mock --configdir=$mocketc -r el9x84 rebuild " +alias mockel9xscl74=" mock --configdir=$mocketc -r el9xscl74 rebuild " +alias mockel9xscl80=" mock --configdir=$mocketc -r el9xscl80 rebuild " +alias mockel9xscl81=" mock --configdir=$mocketc -r el9xscl81 rebuild " +alias mockel9xscl82=" mock --configdir=$mocketc -r el9xscl82 rebuild " +alias mockel9xscl83=" mock --configdir=$mocketc -r el9xscl83 rebuild " +alias mockel9xscl84=" mock --configdir=$mocketc -r el9xscl84 rebuild " +alias mockel9xscl85=" mock --configdir=$mocketc -r el9xscl85 rebuild " +alias mockel9xr60=" mock --configdir=$mocketc -r el9xr60 rebuild " +alias mockel9xr62=" mock --configdir=$mocketc -r el9xr62 rebuild " +alias mockel9xr70=" mock --configdir=$mocketc -r el9xr70 rebuild " +alias mockel9xr72=" mock --configdir=$mocketc -r el9xr72 rebuild " +alias mockel9xm=" mock --configdir=$mocketc -r el9xm rebuild " + +alias mockel10x=" mock --configdir=$mocketc -r el10x rebuild " +alias mockel10n=" mock --configdir=$mocketc -r el10n rebuild " +alias mockel10x74=" mock --configdir=$mocketc -r el10x74 rebuild " +alias mockel10x80=" mock --configdir=$mocketc -r el10x80 rebuild " +alias mockel10x81=" mock --configdir=$mocketc -r el10x81 rebuild " +alias mockel10n81=" mock --configdir=$mocketc -r el10n81 rebuild " +alias mockel10x82=" mock --configdir=$mocketc -r el10x82 rebuild " +alias mockel10n82=" mock --configdir=$mocketc -r el10n82 rebuild " +alias mockel10x83=" mock --configdir=$mocketc -r el10x83 rebuild " +alias mockel10x84=" mock --configdir=$mocketc -r el10x84 rebuild " +alias mockel10xscl74=" mock --configdir=$mocketc -r el10xscl74 rebuild " +alias mockel10xscl80=" mock --configdir=$mocketc -r el10xscl80 rebuild " +alias mockel10xscl81=" mock --configdir=$mocketc -r el10xscl81 rebuild " +alias mockel10xscl82=" mock --configdir=$mocketc -r el10xscl82 rebuild " +alias mockel10xscl83=" mock --configdir=$mocketc -r el10xscl83 rebuild " +alias mockel10xscl84=" mock --configdir=$mocketc -r el10xscl84 rebuild " +alias mockel10xscl85=" mock --configdir=$mocketc -r el10xscl85 rebuild " +alias mockel10xm=" mock --configdir=$mocketc -r el10xm rebuild " + +alias mockepel872=" mock --configdir=$mocketc -r epel872 rebuild " +alias mockepel873=" mock --configdir=$mocketc -r epel873 rebuild " +alias mockepel874=" mock --configdir=$mocketc -r epel874 rebuild " alias mockdevi="setarch i686 mock -r fedora-devel-i386 rebuild " alias mockdevx=" mock -r fedora-devel-x86_64 rebuild " -# Build All distribution / version / 32bits for remi -mockalli() -{ -quiet="" -if [ "$1" = "-q" ]; then - quiet="--quiet" - shift -fi - -if [ -f "$1" ]; then - for i in 30 29 - do - echo -n "$(date +%X) fc$i " - setarch i686 mock $quiet --configdir=$mocketc -r fc${i}i --arch i686 rebuild $1 && echo " Ok." || echo " Error !" - done - echo -n "$(date +%X) el6 " - setarch i686 mock $quiet --configdir=$mocketc -r el6i --arch i686 rebuild $1 && echo " Ok." || echo " Error !" - date +%X -else - echo "file not found '$1'" -fi -} - -# Build All distribution / version / 32bits for remi with RPMFusion -mockallir() -{ -quiet="" -if [ "$1" = "-q" ]; then - quiet="--quiet" - shift -fi - -if [ -f "$1" ]; then - for i in 30 29 - do - echo -n "$(date +%X) fc$i " - setarch i686 mock $quiet --configdir=$mocketc -r fc${i}ir --arch i686 rebuild $1 && echo " Ok." || echo " Error !" - done -else - echo "file not found '$1'" -fi -} - -# Build All distribution (PHP 7) / version / 32bits for remi -mock7i() +# Build All distribution / version / 64bits for remi with RPMFusion +mockallxr() { quiet="" if [ "$1" = "-q" ]; then @@ -157,144 +164,127 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - for i in 30 29 + for i in 8 do - echo -n "$(date +%X) fc$i " - setarch i686 mock $quiet --configdir=$mocketc -r fc${i}i --arch i686 rebuild $1 && echo " Ok." || echo " Error !" + echo -n "$(date +%X) el$i " + mock $quiet --configdir=$mocketc -r el${i}xr rebuild "$@" && echo " Ok." || echo " Error !" done -else - echo "file not found '$1'" -fi -} - -# Build All distribution (PHP 5) / version / 32bits for remi -mock5i() -{ -quiet="" -if [ "$1" = "-q" ]; then - quiet="--quiet" - shift -fi - -if [ -f "$1" ]; then - echo -n "$(date +%X) el6 " - setarch i686 mock $quiet --configdir=$mocketc -r el6i --arch i686 rebuild $1 && echo " Ok." || echo " Error !" date +%X else echo "file not found '$1'" fi } -# Build All enterprise / version / 32bits for remi (php 5.4) -mock54i() +# Build All distribution / version / noarch for remi using PHP >= 8.1 +mock81n() { -quiet="" +quiet="--quiet" if [ "$1" = "-q" ]; then - quiet="--quiet" shift fi if [ -f "$1" ]; then - echo -n "$(date +%X) el6 " - setarch i686 mock $quiet --configdir=$mocketc -r el6i --arch i686 rebuild $1 && echo " Ok." || echo " Error !" date +%X -else - echo "file not found '$1'" -fi -} - -# Build All distribution / version / 32bits for remi/remi-php55 -mock55i() -{ -quiet="" -if [ "$1" = "-q" ]; then - quiet="--quiet" - shift -fi - -if [ -f "$1" ]; then - echo -n "$(date +%X) 55 el6 " - setarch i686 mock $quiet --configdir=$mocketc -r el6i55 --arch i686 rebuild $1 && echo " Ok." || echo " Error !" + pids="" + echo -n "" + (mock $quiet --configdir=$mocketc -r fc42x rebuild "$@" && echo "$(date +%X) (84) fc42 Ok." || echo "fc42 Error !")& + pids="$pids $!" + echo -n "" + (mock $quiet --configdir=$mocketc -r fc41x rebuild "$@" && echo "$(date +%X) (83) fc41 Ok." || echo "fc41 Error !")& + pids="$pids $!" + echo -n "" + (mock $quiet --configdir=$mocketc -r fc40x rebuild "$@" && echo "$(date +%X) (83) fc40 Ok." || echo "fc40 Error !")& + pids="$pids $!" + echo -n "" + (mock $quiet --configdir=$mocketc -r el8n81 rebuild "$@" && echo "$(date +%X) (81) el8 Ok." || echo "el8 Error !")& + pids="$pids $!" + echo -n "" + (mock $quiet --configdir=$mocketc -r el9n81 rebuild "$@" && echo "$(date +%X) (81) el9 Ok." || echo "el9 Error !")& + pids="$pids $!" + echo -n "" + (mock $quiet --configdir=$mocketc -r el10x rebuild "$@" && echo "$(date +%X) (83) el10 Ok." || echo "el10 Error !")& + pids="$pids $!" + wait $pids date +%X else echo "file not found '$1'" fi } -# Build All distribution / version / 32bits for remi/remi-php56 -mock56i() +# Build All distribution / version / noarch for remi using PHP >= 8.2 +mock82n() { -quiet="" +quiet="--quiet" if [ "$1" = "-q" ]; then - quiet="--quiet" shift fi if [ -f "$1" ]; then - echo -n "$(date +%X) 56 el6 " - setarch i686 mock $quiet --configdir=$mocketc -r el6i56 --arch i686 rebuild $1 && echo " Ok." || echo " Error !" date +%X -else - echo "file not found '$1'" -fi -} - -# Build All distribution / version / 32bits for remi/remi-php70 -mock70i() -{ -quiet="" -if [ "$1" = "-q" ]; then - quiet="--quiet" - shift -fi - -if [ -f "$1" ]; then - echo -n "$(date +%X) 70 el6 " - setarch i686 mock $quiet --configdir=$mocketc -r el6i70 --arch i686 rebuild $1 && echo " Ok." || echo " Error !" + pids="" + echo -n "" + (mock $quiet --configdir=$mocketc -r fc42x rebuild "$@" && echo "$(date +%X) (84) fc42 Ok." || echo "fc42 Error !")& + pids="$pids $!" + echo -n "" + (mock $quiet --configdir=$mocketc -r fc41x rebuild "$@" && echo "$(date +%X) (83) fc41 Ok." || echo "fc40 Error !")& + pids="$pids $!" + echo -n "" + (mock $quiet --configdir=$mocketc -r fc40x rebuild "$@" && echo "$(date +%X) (83) fc40 Ok." || echo "fc40 Error !")& + pids="$pids $!" + echo -n "" + (mock $quiet --configdir=$mocketc -r el8n82 rebuild "$@" && echo "$(date +%X) (81) el8 Ok." || echo "el8 Error !")& + pids="$pids $!" + echo -n "" + (mock $quiet --configdir=$mocketc -r el9n82 rebuild "$@" && echo "$(date +%X) (81) el9 Ok." || echo "el9 Error !")& + pids="$pids $!" + echo -n "" + (mock $quiet --configdir=$mocketc -r el10x rebuild "$@" && echo "$(date +%X) (83) el10 Ok." || echo "el10 Error !")& + pids="$pids $!" + wait $pids date +%X else echo "file not found '$1'" fi } -# Build All distribution / version / 32bits for remi/remi-php71 -mock71i() +# Build All distribution / version / noarch for remi using PHP >= 8.2 +mock83n() { -quiet="" +quiet="--quiet" if [ "$1" = "-q" ]; then - quiet="--quiet" shift fi if [ -f "$1" ]; then - echo -n "$(date +%X) 71 el6 " - setarch i686 mock $quiet --configdir=$mocketc -r el6i71 --arch i686 rebuild $1 && echo " Ok." || echo " Error !" date +%X -else - echo "file not found '$1'" -fi -} - -# Build All distribution / version / 32bits for remi/remi-php72 -mock72i() -{ -quiet="" -if [ "$1" = "-q" ]; then - quiet="--quiet" - shift -fi - -if [ -f "$1" ]; then - echo -n "$(date +%X) 72 el6 " - setarch i686 mock $quiet --configdir=$mocketc -r el6i72 --arch i686 rebuild $1 && echo " Ok." || echo " Error !" + pids="" + echo -n "" + (mock $quiet --configdir=$mocketc -r fc42x rebuild "$@" && echo "$(date +%X) (84) fc42 Ok." || echo "fc42 Error !")& + pids="$pids $!" + echo -n "" + (mock $quiet --configdir=$mocketc -r fc41x rebuild "$@" && echo "$(date +%X) (83) fc41 Ok." || echo "fc40 Error !")& + pids="$pids $!" + echo -n "" + (mock $quiet --configdir=$mocketc -r fc40x rebuild "$@" && echo "$(date +%X) (83) fc40 Ok." || echo "fc40 Error !")& + pids="$pids $!" + echo -n "" + (mock $quiet --configdir=$mocketc -r el8n83 rebuild "$@" && echo "$(date +%X) (83) el8 Ok." || echo "el8 Error !")& + pids="$pids $!" + echo -n "" + (mock $quiet --configdir=$mocketc -r el9n83 rebuild "$@" && echo "$(date +%X) (83) el9 Ok." || echo "el9 Error !")& + pids="$pids $!" + echo -n "" + (mock $quiet --configdir=$mocketc -r el10x rebuild "$@" && echo "$(date +%X) (83) el10 Ok." || echo "el10 Error !")& + pids="$pids $!" + wait $pids date +%X else echo "file not found '$1'" fi } -# Build All distribution / version / 32bits for remi/remi-php73 -mock73i() +# Build All EL distributions +mockel() { quiet="" if [ "$1" = "-q" ]; then @@ -303,18 +293,19 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - echo -n "$(date +%X) 73 fc29 " - setarch i686 mock $quiet --configdir=$mocketc -r fc29i73 --arch i686 rebuild $1 && echo " Ok." || echo " Error !" - echo -n "$(date +%X) 73 el6 " - setarch i686 mock $quiet --configdir=$mocketc -r el6i73 --arch i686 rebuild $1 && echo " Ok." || echo " Error !" + for i in 8 + do + echo -n "$(date +%X) el${i}x " + mock $quiet --configdir=$mocketc -r el${i}x rebuild "$@" && echo " Ok." || echo " Error !" + done date +%X else echo "file not found '$1'" fi } -# Build All distribution / version / 32bits for remi/remi-php74 -mock74i() +# Build All distribution / version / 64bits for remi/remi-php72 +mock72x() { quiet="" if [ "$1" = "-q" ]; then @@ -323,18 +314,19 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - echo -n "$(date +%X) 74 fc29 " - setarch i686 mock $quiet --configdir=$mocketc -r fc29i74 --arch i686 rebuild $1 && echo " Ok." || echo " Error !" - echo -n "$(date +%X) 74 fc30 " - setarch i686 mock $quiet --configdir=$mocketc -r fc30i74 --arch i686 rebuild $1 && echo " Ok." || echo " Error !" + for i in 8 + do + echo -n "$(date +%X) 72 el$i " + mock $quiet --configdir=$mocketc -r el${i}x72 rebuild "$@" && echo " Ok." || echo " Error !" + done date +%X else echo "file not found '$1'" fi } -# Build all distribution / version / 32bits for remi-test -mockallit() +# Build All distribution / version / 64bits for remi/remi-php73 +mock73x() { quiet="" if [ "$1" = "-q" ]; then @@ -343,16 +335,19 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - echo -n "$(date +%X) test-el6 " - setarch i686 mock $quiet --configdir=$mocketc -r el6it --arch i686 rebuild $1 && echo " Ok." || echo " Error !" + for i in 8 + do + echo -n "$(date +%X) 73 el$i " + mock $quiet --configdir=$mocketc -r el${i}x73 rebuild "$@" && echo " Ok." || echo " Error !" + done date +%X else echo "file not found '$1'" fi } -# Build All distribution / version / 64bits for remi -mockallx() +# Build All distribution / version / 64bits for remi/remi-php74 +mock74x() { quiet="" if [ "$1" = "-q" ]; then @@ -361,15 +356,15 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - for i in 29 30 31 + for i in 41 40 42 do - echo -n "$(date +%X) fc$i " - mock $quiet --configdir=$mocketc -r fc${i}x rebuild $1 && echo " Ok." || echo " Error !" + echo -n "$(date +%X) 74 fc$i " + mock $quiet --configdir=$mocketc -r fc${i}x74 rebuild "$@" && echo " Ok." || echo " Error !" done - for i in 7 6 + for i in 10 9 8 do - echo -n "$(date +%X) el$i " - mock $quiet --configdir=$mocketc -r el${i}x rebuild $1 && echo " Ok." || echo " Error !" + echo -n "$(date +%X) 74 el$i " + mock $quiet --configdir=$mocketc -r el${i}x74 rebuild "$@" && echo " Ok." || echo " Error !" done date +%X else @@ -377,8 +372,8 @@ else fi } -# Build All distribution / version / 64bits for remi with RPMFusion -mockallxr() +# Build All distribution / version / 64bits for remi/scl-php84 +mockscl85x() { quiet="" if [ "$1" = "-q" ]; then @@ -387,15 +382,15 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - for i in 29 30 31 + for i in 42 41 do - echo -n "$(date +%X) fc$i " - mock $quiet --configdir=$mocketc -r fc${i}xr rebuild $1 && echo " Ok." || echo " Error !" + echo -n "$(date +%X) scl85 fc$i " + mock $quiet --configdir=$mocketc -r fc${i}xscl85 rebuild "$@" && echo " Ok." || echo " Error !" done - for i in 7 8 + for i in 8 9 10 do - echo -n "$(date +%X) el$i " - mock $quiet --configdir=$mocketc -r el${i}xr rebuild $1 && echo " Ok." || echo " Error !" + echo -n "$(date +%X) scl85 el$i " + mock $quiet --configdir=$mocketc -r el${i}xscl85 rebuild "$@" && echo " Ok." || echo " Error !" done date +%X else @@ -403,8 +398,8 @@ else fi } -# Build All distribution (PHP 7) / version / 64bits for remi -mock7x() +# Build All distribution / version / 64bits for remi/scl-php84 +mockscl84x() { quiet="" if [ "$1" = "-q" ]; then @@ -413,10 +408,15 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - for i in 29 30 31 + for i in 42 41 40 do - echo -n "$(date +%X) fc$i " - mock $quiet --configdir=$mocketc -r fc${i}x rebuild $1 && echo " Ok." || echo " Error !" + echo -n "$(date +%X) scl84 fc$i " + mock $quiet --configdir=$mocketc -r fc${i}xscl84 rebuild "$@" && echo " Ok." || echo " Error !" + done + for i in 8 9 10 + do + echo -n "$(date +%X) scl84 el$i " + mock $quiet --configdir=$mocketc -r el${i}xscl84 rebuild "$@" && echo " Ok." || echo " Error !" done date +%X else @@ -424,8 +424,8 @@ else fi } -# Build All distribution (PHP 5) / version / 64bits for remi -mock5x() +# Build All distribution / version / 64bits for remi/scl-php83 +mockscl83x() { quiet="" if [ "$1" = "-q" ]; then @@ -434,10 +434,15 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - for i in 7 6 + for i in 41 42 40 do - echo -n "$(date +%X) el$i " - mock $quiet --configdir=$mocketc -r el${i}x rebuild $1 && echo " Ok." || echo " Error !" + echo -n "$(date +%X) scl83 fc$i " + mock $quiet --configdir=$mocketc -r fc${i}xscl83 rebuild "$@" && echo " Ok." || echo " Error !" + done + for i in 10 8 9 + do + echo -n "$(date +%X) scl83 el$i " + mock $quiet --configdir=$mocketc -r el${i}xscl83 rebuild "$@" && echo " Ok." || echo " Error !" done date +%X else @@ -445,8 +450,8 @@ else fi } -# Build enterprise / version / 64bits for remi (php 5.4) -mock54x() +# Build All distribution / version / 64bits for remi/scl-php82 +mockscl82x() { quiet="" if [ "$1" = "-q" ]; then @@ -455,10 +460,15 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - for i in 7 6 + for i in 41 40 42 do - echo -n "$(date +%X) el$i " - mock $quiet --configdir=$mocketc -r el${i}x rebuild $1 && echo " Ok." || echo " Error !" + echo -n "$(date +%X) scl82 fc$i " + mock $quiet --configdir=$mocketc -r fc${i}xscl82 rebuild "$@" && echo " Ok." || echo " Error !" + done + for i in 8 10 9 + do + echo -n "$(date +%X) scl82 el$i " + mock $quiet --configdir=$mocketc -r el${i}xscl82 rebuild "$@" && echo " Ok." || echo " Error !" done date +%X else @@ -466,140 +476,94 @@ else fi } -# Build All distribution / version / noarch for remi/remi-php56 -mock56n() +# Build All distribution / version / 64bits for remi/scl-php81 +mockscl81x() { -quiet="--quiet" +quiet="" if [ "$1" = "-q" ]; then + quiet="--quiet" shift fi if [ -f "$1" ]; then - date +%X - pids="" - for i in 31 30 29 + for i in 42 41 40 do - echo -n "" - (mock $quiet --configdir=$mocketc -r fc${i}x rebuild $1 && echo "$(date +%X) (56) fc$i Ok." || echo "fc$1 Error !")& - pids="$pids $!" + echo -n "$(date +%X) scl81 fc$i " + mock $quiet --configdir=$mocketc -r fc${i}xscl81 rebuild "$@" && echo " Ok." || echo " Error !" done - for i in 7 6 + for i in 8 9 10 do - echo -n "" - (mock $quiet --configdir=$mocketc -r el${i}x56 rebuild $1 && echo "$(date +%X) (56) el$i Ok." || echo "el$i Error !")& - pids="$pids $!" + echo -n "$(date +%X) scl81 el$i " + mock $quiet --configdir=$mocketc -r el${i}xscl81 rebuild "$@" && echo " Ok." || echo " Error !" done - echo -n "" - (mock $quiet --configdir=$mocketc -r el8x rebuild $1 && echo "$(date +%X) (72) el8 Ok." || echo "el8 Error !")& - pids="$pids $!" - wait $pids date +%X else echo "file not found '$1'" fi } -# Build All distribution / version / noarch for remi using PHP >= 7.0 -mock70n() +# Build All distribution / version / 64bits for redis:remi-6.0 +mockr60x() { -quiet="--quiet" +quiet="" if [ "$1" = "-q" ]; then + quiet="--quiet" shift fi if [ -f "$1" ]; then - date +%X - pids="" - for i in 31 30 29 - do - echo -n "" - (mock $quiet --configdir=$mocketc -r fc${i}x rebuild $1 && echo "$(date +%X) (70) fc$i Ok." || echo "fc$1 Error !")& - pids="$pids $!" - done - for i in 7 6 - do - echo -n "" - (mock $quiet --configdir=$mocketc -r el${i}x70 rebuild $1 && echo "$(date +%X) (70) el$i Ok." || echo "el$i Error !")& - pids="$pids $!" - done - echo -n "" - (mock $quiet --configdir=$mocketc -r el8x rebuild $1 && echo "$(date +%X) (72) el8 Ok." || echo "el8 Error !")& - pids="$pids $!" - wait $pids + echo -n "$(date +%X) r60 el9 " + mock $quiet --configdir=$mocketc -r el9xr60 rebuild "$@" && echo " Ok." || echo " Error !" + echo -n "$(date +%X) r60 el8 " + mock $quiet --configdir=$mocketc -r el8xr60 rebuild "$@" && echo " Ok." || echo " Error !" date +%X else echo "file not found '$1'" fi } -# Build All distribution / version / noarch for remi using PHP >= 7.1 -mock71n() +# Build All distribution / version / 64bits for redis:remi-6.2 +mockr62x() { -quiet="--quiet" +quiet="" if [ "$1" = "-q" ]; then + quiet="--quiet" shift fi if [ -f "$1" ]; then - date +%X - pids="" - for i in 29 30 31 - do - echo -n "" - (mock $quiet --configdir=$mocketc -r fc${i}x rebuild $1 && echo "$(date +%X) (71) fc$i Ok." || echo "fc$1 Error !")& - pids="$pids $!" - done - for i in 7 6 - do - echo -n "" - (mock $quiet --configdir=$mocketc -r el${i}x71 rebuild $1 && echo "$(date +%X) (71) el$i Ok." || echo "el$i Error !")& - pids="$pids $!" - done - echo -n "" - (mock $quiet --configdir=$mocketc -r el8x rebuild $1 && echo "$(date +%X) (72) el8 Ok." || echo "el8 Error !")& - pids="$pids $!" - wait $pids + echo -n "$(date +%X) r62 el9 " + mock $quiet --configdir=$mocketc -r el9xr62 rebuild "$@" && echo " Ok." || echo " Error !" + echo -n "$(date +%X) r62 el8 " + mock $quiet --configdir=$mocketc -r el8xr62 rebuild "$@" && echo " Ok." || echo " Error !" date +%X else echo "file not found '$1'" fi } -# Build All distribution / version / noarch for remi using PHP >= 7.2 -mock72n() +# Build All distribution / version / 64bits for redis:remi-7.0 +mockr72x() { -quiet="--quiet" +quiet="" if [ "$1" = "-q" ]; then + quiet="--quiet" shift fi if [ -f "$1" ]; then - date +%X - pids="" - for i in 29 30 31 - do - echo -n "" - (mock $quiet --configdir=$mocketc -r fc${i}x rebuild $1 && echo "$(date +%X) (72) fc$i Ok." || echo "fc$1 Error !")& - pids="$pids $!" - done - for i in 7 6 - do - echo -n "" - (mock $quiet --configdir=$mocketc -r el${i}x72 rebuild $1 && echo "$(date +%X) (72) el$i Ok." || echo "el$i Error !")& - pids="$pids $!" - done - echo -n "" - (mock $quiet --configdir=$mocketc -r el8x rebuild $1 && echo "$(date +%X) (72) el8 Ok." || echo "el8 Error !")& - pids="$pids $!" - wait $pids + echo -n "$(date +%X) r72 el9 " + mock $quiet --configdir=$mocketc -r el9xr72 rebuild "$@" && echo " Ok." || echo " Error !" + echo -n "$(date +%X) r72 el8 " + mock $quiet --configdir=$mocketc -r el8xr72 rebuild "$@" && echo " Ok." || echo " Error !" date +%X else echo "file not found '$1'" fi } -# Build All distribution / version / 64bits for remi/remi-php55 -mock55x() +# Build All distribution / version / 64bits for redis:remi-7.0 +mockr70x() { quiet="" if [ "$1" = "-q" ]; then @@ -608,19 +572,18 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - for i in 7 6 - do - echo -n "$(date +%X) 55 el$i " - mock $quiet --configdir=$mocketc -r el${i}x55 rebuild $1 && echo " Ok." || echo " Error !" - done + echo -n "$(date +%X) r70 el9 " + mock $quiet --configdir=$mocketc -r el9xr70 rebuild "$@" && echo " Ok." || echo " Error !" + echo -n "$(date +%X) r70 el8 " + mock $quiet --configdir=$mocketc -r el8xr70 rebuild "$@" && echo " Ok." || echo " Error !" date +%X else echo "file not found '$1'" fi } -# Build All EL distributions -mockel() +# Build All distribution / version / 64bits for remi/remi-php84 +mock84x() { quiet="" if [ "$1" = "-q" ]; then @@ -629,21 +592,24 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - for i in 8 7 6 + for i in 41 42 40 do - echo -n "$(date +%X) el${i}x " - mock $quiet --configdir=$mocketc -r el${i}x rebuild $1 && echo " Ok." || echo " Error !" + echo -n "$(date +%X) 84 fc$i " + mock $quiet --configdir=$mocketc -r fc${i}x84 rebuild "$@" && echo " Ok." || echo " Error !" + done + for i in 8 9 10 + do + echo -n "$(date +%X) 84 el$i " + mock $quiet --configdir=$mocketc -r el${i}x84 rebuild "$@"&& echo " Ok." || echo " Error !" done - echo -n "$(date +%X) el6i " - setarch i686 mock $quiet --configdir=$mocketc -r el6i --arch i686 rebuild $1 && echo " Ok." || echo " Error !" date +%X else echo "file not found '$1'" fi } -# Build All distribution / version / 64bits for remi/remi-php56 -mock56x() +# Build All distribution / version / 64bits for remi/remi-php83 +mock83x() { quiet="" if [ "$1" = "-q" ]; then @@ -652,10 +618,15 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - for i in 7 6 + for i in 42 41 40 do - echo -n "$(date +%X) 56 el$i " - mock $quiet --configdir=$mocketc -r el${i}x56 rebuild $1 && echo " Ok." || echo " Error !" + echo -n "$(date +%X) 83 fc$i " + mock $quiet --configdir=$mocketc -r fc${i}x83 rebuild "$@" && echo " Ok." || echo " Error !" + done + for i in 8 9 10 + do + echo -n "$(date +%X) 83 el$i " + mock $quiet --configdir=$mocketc -r el${i}x83 rebuild "$@"&& echo " Ok." || echo " Error !" done date +%X else @@ -663,8 +634,8 @@ else fi } -# Build All distribution / version / 64bits for remi/remi-php70 -mock70x() +# Build All distribution / version / 64bits for remi/remi-php83 +mock83el() { quiet="" if [ "$1" = "-q" ]; then @@ -673,10 +644,10 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - for i in 7 6 + for i in 8 9 do - echo -n "$(date +%X) 70 el$i " - mock $quiet --configdir=$mocketc -r el${i}x70 rebuild $1 && echo " Ok." || echo " Error !" + echo -n "$(date +%X) 83 el$i " + mock $quiet --configdir=$mocketc -r el${i}x83 rebuild "$@"&& echo " Ok." || echo " Error !" done date +%X else @@ -684,8 +655,8 @@ else fi } -# Build All distribution / version / 64bits for remi/remi-php71 -mock71x() +# Build All distribution / version / 64bits for remi/remi-php82 +mock82x() { quiet="" if [ "$1" = "-q" ]; then @@ -694,10 +665,15 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - for i in 7 6 + for i in 41 40 42 + do + echo -n "$(date +%X) 82 fc$i " + mock $quiet --configdir=$mocketc -r fc${i}x82 rebuild "$@" && echo " Ok." || echo " Error !" + done + for i in 8 10 9 do - echo -n "$(date +%X) 71 el$i " - mock $quiet --configdir=$mocketc -r el${i}x71 rebuild $1 && echo " Ok." || echo " Error !" + echo -n "$(date +%X) 82 el$i " + mock $quiet --configdir=$mocketc -r el${i}x82 rebuild "$@"&& echo " Ok." || echo " Error !" done date +%X else @@ -705,8 +681,8 @@ else fi } -# Build All distribution / version / 64bits for remi/remi-php72 -mock72x() +# Build All distribution / version / 64bits for remi/remi-php81 +mock81x() { quiet="" if [ "$1" = "-q" ]; then @@ -715,10 +691,15 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - for i in 8 7 6 + for i in 41 42 40 do - echo -n "$(date +%X) 72 el$i " - mock $quiet --configdir=$mocketc -r el${i}x72 rebuild $1 && echo " Ok." || echo " Error !" + echo -n "$(date +%X) 81 fc$i " + mock $quiet --configdir=$mocketc -r fc${i}x81 rebuild "$@" && echo " Ok." || echo " Error !" + done + for i in 8 9 10 + do + echo -n "$(date +%X) 81 el$i " + mock $quiet --configdir=$mocketc -r el${i}x81 rebuild "$@"&& echo " Ok." || echo " Error !" done date +%X else @@ -726,8 +707,8 @@ else fi } -# Build All distribution / version / 64bits for remi/remi-php73 -mock73x() +# Build All distribution / version / 64bits for remi/remi-php80 +mock80x() { quiet="" if [ "$1" = "-q" ]; then @@ -736,15 +717,15 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - for i in 29 + for i in 42 41 40 do - echo -n "$(date +%X) 73 fc$i " - mock $quiet --configdir=$mocketc -r fc${i}x73 rebuild $1 && echo " Ok." || echo " Error !" + echo -n "$(date +%X) 80 fc$i " + mock $quiet --configdir=$mocketc -r fc${i}x80 rebuild "$@" && echo " Ok." || echo " Error !" done - for i in 8 7 6 + for i in 10 9 8 do - echo -n "$(date +%X) 73 el$i " - mock $quiet --configdir=$mocketc -r el${i}x73 rebuild $1 && echo " Ok." || echo " Error !" + echo -n "$(date +%X) 80 el$i " + mock $quiet --configdir=$mocketc -r el${i}x80 rebuild "$@"&& echo " Ok." || echo " Error !" done date +%X else @@ -752,8 +733,8 @@ else fi } -# Build All distribution / version / 64bits for remi/remi-php74 -mock74x() +# Build All distribution / version / 64bits for remi/scl-php80 +mockscl80x() { quiet="" if [ "$1" = "-q" ]; then @@ -762,15 +743,15 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - for i in 29 30 31 + for i in 41 42 40 do - echo -n "$(date +%X) 74 fc$i " - mock $quiet --configdir=$mocketc -r fc${i}x74 rebuild $1 && echo " Ok." || echo " Error !" + echo -n "$(date +%X) scl80 fc$i " + mock $quiet --configdir=$mocketc -r fc${i}xscl80 rebuild "$@" && echo " Ok." || echo " Error !" done - for i in 8 7 + for i in 9 8 10 do - echo -n "$(date +%X) 74 el$i " - mock $quiet --configdir=$mocketc -r el${i}x74 rebuild $1 && echo " Ok." || echo " Error !" + echo -n "$(date +%X) scl80 el$i " + mock $quiet --configdir=$mocketc -r el${i}xscl80 rebuild "$@" && echo " Ok." || echo " Error !" done date +%X else @@ -778,7 +759,7 @@ else fi } -# Build All distribution / version / 64bits for remi/scl-php73 +# Build All distribution / version / 64bits for remi/scl-php74 mockscl74x() { quiet="" @@ -788,15 +769,15 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - for i in 29 30 31 + for i in 41 40 42 do echo -n "$(date +%X) scl74 fc$i " - mock $quiet --configdir=$mocketc -r fc${i}xscl74 rebuild $1 && echo " Ok." || echo " Error !" + mock $quiet --configdir=$mocketc -r fc${i}xscl74 rebuild "$@" && echo " Ok." || echo " Error !" done - for i in 7 8 + for i in 9 8 10 do echo -n "$(date +%X) scl74 el$i " - mock $quiet --configdir=$mocketc -r el${i}xscl74 rebuild $1 && echo " Ok." || echo " Error !" + mock $quiet --configdir=$mocketc -r el${i}xscl74 rebuild "$@" && echo " Ok." || echo " Error !" done date +%X else @@ -814,15 +795,10 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - for i in 29 30 31 - do - echo -n "$(date +%X) scl73 fc$i " - mock $quiet --configdir=$mocketc -r fc${i}xscl73 rebuild $1 && echo " Ok." || echo " Error !" - done - for i in 6 7 8 + for i in 8 do echo -n "$(date +%X) scl73 el$i " - mock $quiet --configdir=$mocketc -r el${i}xscl73 rebuild $1 && echo " Ok." || echo " Error !" + mock $quiet --configdir=$mocketc -r el${i}xscl73 rebuild "$@" && echo " Ok." || echo " Error !" done date +%X else @@ -840,15 +816,10 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - for i in 29 30 31 - do - echo -n "$(date +%X) scl72 fc$i " - mock $quiet --configdir=$mocketc -r fc${i}xscl72 rebuild $1 && echo " Ok." || echo " Error !" - done - for i in 8 6 7 + for i in 8 do echo -n "$(date +%X) scl72 el$i " - mock $quiet --configdir=$mocketc -r el${i}xscl72 rebuild $1 && echo " Ok." || echo " Error !" + mock $quiet --configdir=$mocketc -r el${i}xscl72 rebuild "$@" && echo " Ok." || echo " Error !" done date +%X else @@ -866,15 +837,10 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - for i in 29 31 30 - do - echo -n "$(date +%X) scl71 fc$i " - mock $quiet --configdir=$mocketc -r fc${i}xscl71 rebuild $1 && echo " Ok." || echo " Error !" - done - for i in 8 7 6 + for i in 8 do echo -n "$(date +%X) scl71 el$i " - mock $quiet --configdir=$mocketc -r el${i}xscl71 rebuild $1 && echo " Ok." || echo " Error !" + mock $quiet --configdir=$mocketc -r el${i}xscl71 rebuild "$@" && echo " Ok." || echo " Error !" done date +%X else @@ -892,15 +858,10 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - for i in 29 30 31 - do - echo -n "$(date +%X) scl70 fc$i " - mock $quiet --configdir=$mocketc -r fc${i}xscl70 rebuild $1 && echo " Ok." || echo " Error !" - done - for i in 8 7 6 + for i in 8 do echo -n "$(date +%X) scl70 el$i " - mock $quiet --configdir=$mocketc -r el${i}xscl70 rebuild $1 && echo " Ok." || echo " Error !" + mock $quiet --configdir=$mocketc -r el${i}xscl70 rebuild "$@" && echo " Ok." || echo " Error !" done date +%X else @@ -918,78 +879,10 @@ if [ "$1" = "-q" ]; then fi if [ -f "$1" ]; then - for i in 29 31 30 - do - echo -n "$(date +%X) scl56 fc$i " - mock $quiet --configdir=$mocketc -r fc${i}xscl56 rebuild $1 && echo " Ok." || echo " Error !" - done - for i in 8 7 6 + for i in 8 do echo -n "$(date +%X) scl56 el$i " - mock $quiet --configdir=$mocketc -r el${i}xscl56 rebuild $1 && echo " Ok." || echo " Error !" - done - date +%X -else - echo "file not found '$1'" -fi -} - -# Build All distribution / version / 64bits for remi/scl-php55 -mockscl55x() -{ -quiet="" -if [ "$1" = "-q" ]; then - quiet="--quiet" - shift -fi - -if [ -f "$1" ]; then - for i in 7 6 - do - echo -n "$(date +%X) scl55 el$i " - mock $quiet --configdir=$mocketc -r el${i}xscl55 rebuild $1 && echo " Ok." || echo " Error !" - done - date +%X -else - echo "file not found '$1'" -fi -} - -# Build All distribution / version / 64bits for remi/scl-php54 -mockscl54x() -{ -quiet="" -if [ "$1" = "-q" ]; then - quiet="--quiet" - shift -fi - -if [ -f "$1" ]; then - for i in 7 6 - do - echo -n "$(date +%X) scl54 el$i " - mock $quiet --configdir=$mocketc -r el${i}xscl54 rebuild $1 && echo " Ok." || echo " Error !" - done - date +%X -else - echo "file not found '$1'" -fi -} - -# Build All distribution / version / 64bits for remi-test -mockallxt() -{ -quiet="" -if [ "$1" = "-q" ]; then - quiet="--quiet" - shift -fi - -if [ -f "$1" ]; then - for i in 7 6 - do - echo -n "$(date +%X) test-el$i " - mock $quiet --configdir=$mocketc -r el${i}xt rebuild $1 && echo " Ok." || echo " Error !" + mock $quiet --configdir=$mocketc -r el${i}xscl56 rebuild "$@" && echo " Ok." || echo " Error !" done date +%X else diff --git a/cleanoldmeta b/cleanoldmeta index 70c3710..6655c95 100755 --- a/cleanoldmeta +++ b/cleanoldmeta @@ -20,13 +20,21 @@ function clean ($path) { $tab[$n][$file->getMtime()] = $file->getFilename(); } } + + $lim = time() - (26*60*60); // Keep younger than 1d + 2h + foreach ($tab as $n => $files) { if (count($tab[$n]) > KEEP) { - krsort($tab[$n]); - while (count($tab[$n]) > KEEP) { - $f = array_pop($tab[$n]); - if (unlink("$path/$f")) { - echo " $f\n"; + ksort($tab[$n]); + foreach($tab[$n] as $t => $f) { + if (count($tab[$n]) <= KEEP) { + break; // Honours number limit + } + if ($t < $lim && unlink("$path/$f")) { + $x = array_shift($tab[$n]); + echo "\t$x\n"; + } else { + break; // Honours time limit } } } diff --git a/cleanoldrpm b/cleanoldrpm new file mode 100755 index 0000000..e4ee205 --- /dev/null +++ b/cleanoldrpm @@ -0,0 +1,69 @@ +#!/usr/bin/php +<?php + +if (!extension_loaded("rpminfo")) die("rpminfo extension is missing\n"); + +$mode = 0; +$keep = 0; +$dest = false; +$multi = [ + 'php' => 3, // php/8.0 + 'php-pecl-protobuf' => 1, // php-pecl-protobuf/3 + 'php81-php-pecl-protobuf' => 1, + 'php82-php-pecl-protobuf' => 1, + 'php83-php-pecl-protobuf' => 1, + 'php84-php-pecl-protobuf' => 1, + 'njs' => 99, // njs/0.8.2 + 'libnjs-devel' => 99, // + 'redis' => 3, // redis/6.2 + 'redis-debuginfo' => 3, // + 'redis-debugsource' => 3, // + 'redis-devel' => 3, // + 'redis-doc' => 3, // + 'redis-trib' => 3, // + 'redis' => 3, // redis/6.2 + 'composer' => 1, // composer/2 + 'phan' => 1, // phan/3 + 'roundcubemail' => 4, // roundcubemail/1.x. + 'remi-release' => 3, // remi-release/8.5 + 'php-pear-PHP-CodeSniffer' => 1, +]; +if (isset($_SERVER['argv'][1])) { + $keep = (int)$_SERVER['argv'][1]; +} +if (!$keep) { + printf("\nusage %s number [ trash_path ]\n\n", $_SERVER['argv'][0]); + die("Number to keep is missing\n"); +} +if (isset($_SERVER['argv'][2])) { + $dest = $_SERVER['argv'][2]; + if (!is_dir($dest)) { + die("$dest is not a directory\n"); + } +} + +$rpms = []; +foreach (glob("*.rpm") as $name) { + $info = rpminfo($name); + $i = $info['Name']; + if (isset($multi[$i])) { + $i .= "/" . substr($info['Version'], 0, $multi[$i]); + } + $ver = $info['Version'] . '-' . $info['Release']; + if (isset($info['Epoch'])) { + $ver = $info['Epoch'] . ':' . $ver; + } + $rpms[$i][$ver] = $name; +} + +foreach($rpms as $n => $rpm) { + if (count($rpm) > $keep) { + uksort($rpm, "rpmvercmp"); + $i = count($rpm) - $keep; + while ($i--) { + $name = array_shift($rpm); + echo "\t$name\n"; + if ($dest) rename($name, "$dest/$name"); + } + } +} @@ -8,6 +8,8 @@ case $1 in ;; *x) dep=${1%x} ;; +*a) dep=${1%a} + ;; *) dep=$1 ;; esac @@ -15,6 +17,21 @@ esac rep=${2-remi} case $dep in +scl84el*) dep=${dep#scl84el} + type=enterprise + ;; +scl83el*) dep=${dep#scl83el} + type=enterprise + ;; +scl82el*) dep=${dep#scl82el} + type=enterprise + ;; +scl81el*) dep=${dep#scl81el} + type=enterprise + ;; +scl80el*) dep=${dep#scl80el} + type=enterprise + ;; scl74el*) dep=${dep#scl74el} type=enterprise ;; @@ -33,14 +50,8 @@ scl70el*) dep=${dep#scl70el} scl56el*) dep=${dep#scl56el} type=enterprise ;; -scl55el*) dep=${dep#scl55el} - type=enterprise - ;; -scl54el*) dep=${dep#scl54el} - type=enterprise - ;; -el8x72) - dep=8 +el??72) + dep=${1:2:1} if [ "$2" == "php72" -o "$2" == "test72" ] then rep=$rep elif [ "$2" == "remi" ] @@ -49,8 +60,8 @@ el8x72) fi type=enterprise ;; -el8x73) - dep=8 +el??73) + dep=${1:2:1} if [ "$2" == "php73" -o "$2" == "test73" ] then rep=$rep elif [ "$2" == "remi" ] @@ -59,8 +70,8 @@ el8x73) fi type=enterprise ;; -el8x74) - dep=8 +el??74) + dep=${1:2:1} if [ "$2" == "php74" -o "$2" == "test74" ] then rep=$rep elif [ "$2" == "remi" ] @@ -69,34 +80,198 @@ el8x74) fi type=enterprise ;; -el*) dep=${dep#el} +el???74) + dep=${1:2:2} + if [ "$2" == "php74" -o "$2" == "test74" ] + then rep=$rep + elif [ "$2" == "remi" ] + then rep=php74 + else rep=${2}74 + fi type=enterprise ;; -fc*) dep=${dep#fc} +el??80) + dep=${1:2:1} + if [ "$2" == "php80" -o "$2" == "test80" ] + then rep=$rep + elif [ "$2" == "remi" ] + then rep=php80 + else rep=${2}80 + fi + type=enterprise + ;; +el???80) + dep=${1:2:2} + if [ "$2" == "php80" -o "$2" == "test80" ] + then rep=$rep + elif [ "$2" == "remi" ] + then rep=php80 + else rep=${2}80 + fi + type=enterprise + ;; +el??81) + dep=${1:2:1} + if [ "$2" == "php81" -o "$2" == "test81" ] + then rep=$rep + elif [ "$2" == "remi" ] + then rep=php81 + else rep=${2}81 + fi + type=enterprise + ;; +el???81) + dep=${1:2:2} + if [ "$2" == "php81" -o "$2" == "test81" ] + then rep=$rep + elif [ "$2" == "remi" ] + then rep=php81 + else rep=${2}81 + fi + type=enterprise + ;; +el??82) + dep=${1:2:1} + if [ "$2" == "php82" -o "$2" == "test82" ] + then rep=$rep + elif [ "$2" == "remi" ] + then rep=php82 + else rep=${2}82 + fi + type=enterprise + ;; +el???82) + dep=${1:2:2} + if [ "$2" == "php82" -o "$2" == "test82" ] + then rep=$rep + elif [ "$2" == "remi" ] + then rep=php82 + else rep=${2}82 + fi + type=enterprise + ;; +el??83) + dep=${1:2:1} + if [ "$2" == "php83" -o "$2" == "test83" ] + then rep=$rep + elif [ "$2" == "remi" ] + then rep=php83 + else rep=${2}83 + fi + type=enterprise + ;; +el???83) + dep=${1:2:2} + if [ "$2" == "php83" -o "$2" == "test83" ] + then rep=$rep + elif [ "$2" == "remi" ] + then rep=php83 + else rep=${2}83 + fi + type=enterprise + ;; +el??84) + dep=${1:2:1} + if [ "$2" == "php84" -o "$2" == "test84" ] + then rep=$rep + elif [ "$2" == "remi" ] + then rep=php84 + else rep=${2}84 + fi + type=enterprise + ;; +el???84) + dep=${1:2:2} + if [ "$2" == "php84" -o "$2" == "test84" ] + then rep=$rep + elif [ "$2" == "remi" ] + then rep=php84 + else rep=${2}84 + fi + type=enterprise + ;; +fc???74) + dep=${1:2:2} + if [ "$2" == "php74" -o "$2" == "test74" ] + then rep=$rep + elif [ "$2" == "remi" ] + then rep=php74 + else rep=${2}74 + fi type=fedora ;; -scl74fc*) dep=${dep#scl74fc} +fc???80) + dep=${1:2:2} + if [ "$2" == "php80" -o "$2" == "test80" ] + then rep=$rep + elif [ "$2" == "remi" ] + then rep=php80 + else rep=${2}80 + fi type=fedora ;; -scl73fc*) dep=${dep#scl73fc} +fc???81) + dep=${1:2:2} + if [ "$2" == "php81" -o "$2" == "test81" ] + then rep=$rep + elif [ "$2" == "remi" ] + then rep=php81 + else rep=${2}81 + fi type=fedora ;; -scl72fc*) dep=${dep#scl72fc} +fc???82) + dep=${1:2:2} + if [ "$2" == "php82" -o "$2" == "test82" ] + then rep=$rep + elif [ "$2" == "remi" ] + then rep=php82 + else rep=${2}82 + fi type=fedora ;; -scl71fc*) dep=${dep#scl71fc} +fc???83) + dep=${1:2:2} + if [ "$2" == "php83" -o "$2" == "test83" ] + then rep=$rep + elif [ "$2" == "remi" ] + then rep=php83 + else rep=${2}83 + fi type=fedora ;; -scl70fc*) dep=${dep#scl70fc} +fc???84) + dep=${1:2:2} + if [ "$2" == "php84" -o "$2" == "test84" ] + then rep=$rep + elif [ "$2" == "remi" ] + then rep=php84 + else rep=${2}84 + fi type=fedora ;; -scl56fc*) dep=${dep#scl56fc} +el*) dep=${dep#el} + type=enterprise + ;; +fc*) dep=${dep#fc} type=fedora ;; -scl55fc*) dep=${dep#scl55fc} +scl84fc*) dep=${dep#scl84fc} type=fedora ;; -scl54fc*) dep=${dep#scl54fc} +scl83fc*) dep=${dep#scl83fc} + type=fedora + ;; +scl82fc*) dep=${dep#scl82fc} + type=fedora + ;; +scl81fc*) dep=${dep#scl81fc} + type=fedora + ;; +scl80fc*) dep=${dep#scl80fc} + type=fedora + ;; +scl74fc*) dep=${dep#scl74fc} type=fedora ;; *) echo Connais pas $dep @@ -110,7 +285,7 @@ then debug=$type/$dep/debug-$rep/ else echo "$1 n'est pas un dépôt ($type/$dep/$rep)" - exit 2 + return fi if [ -d /var/lib/mock/${1}/repodata ]; then @@ -122,8 +297,8 @@ elif [ -d /var/lib/mock/${1}i/result ]; then elif [ -d /var/lib/mock/$1/result ]; then src=/var/lib/mock/$1/result else - echo "$1 n'est pas un dossier mock" - exit 2 + echo "$1 n'est pas un dossier mock (missing repodata or result)" + return fi echo Copie de $src vers $cible @@ -141,6 +316,52 @@ do ;; thunderbird-debuginfo*) echo " " $i ignored ;; + remi-crypto*el8*) echo " " $i ignored + ;; + remi-crypto*el9*) + if [ -f priv/el9.x86_64/$j ]; then + echo " " $i already there + else + cp $i priv/el9.x86_64 && echo + $i copied priv EL9 + fi + ;; + remi-crypto*el10*) + if [ -f priv/el10.x86_64/$j ]; then + echo " " $i already there + else + cp $i priv/el10.x86_64 && echo + $i copied priv EL10 + fi + ;; + remi-crypto*fc41*) + if [ -f priv/fc41.x86_64/$j ]; then + echo " " $i already there + else + cp $i priv/fc41.x86_64 && echo + $i copied priv FC41 + fi + ;; + remi-crypto*fc42*) + if [ -f priv/fc42.x86_64/$j ]; then + echo " " $i already there + else + cp $i priv/fc42.x86_64 && echo + $i copied priv FC42 + fi + ;; + remi-crypto*fc40*) + if [ -f priv/fc40.x86_64/$j ]; then + echo " " $i already there + else + cp $i priv/fc40.x86_64 && echo + $i copied priv FC40 + fi + ;; + *-debuginfo-*aarch64.rpm|*-debugsource-*aarch64.rpm) + if [ -f ${debug}aarch64/$j ]; then + echo " " $i already there + elif [ -d ${debug}aarch64 ]; then + cp $i ${debug}aarch64 && echo + $i copied debuginfo aarch64 + else + echo " " $i ignored + fi + ;; *-debuginfo-*x86_64.rpm|*-debugsource-*x86_64.rpm) if [ -f ${debug}x86_64/$j ]; then echo " " $i already there @@ -170,9 +391,6 @@ do [ -d ${cible}ppc64 -a ! -f ${cible}ppc64/.closed ] \ && ln ${cible} /$j ${cible}ppc64/$j \ && echo + $i linked ppc64 - [ -d ${cible}i386 ] \ - && ln ${cible}x86_64/$j ${cible}i386/$j \ - && echo + $i linked x86_64 [ -d ${cible}armhfp ] \ && ln ${cible}x86_64/$j ${cible}armhfp/$j \ && echo + $i linked armhfp @@ -188,6 +406,13 @@ do cp $i ${cible}i386 && echo + $i copied i686 fi ;; + *.aarch64.rpm) + if [ -f ${cible}aarch64/$j ]; then + echo " " $i already there + else + cp $i ${cible}aarch64 && echo + $i copied aarch64 + fi + ;; *.x86_64.rpm) if [ -f ${cible}x86_64/$j ]; then echo " " $i already there @@ -206,7 +431,12 @@ if [ $# = 0 ]; then exit 1 fi +echo -e "\n\n\n---------------------------------------\n\n\n" + opt=remi +if [ $1 = remi ]; then + shift +fi if [ $1 = test ]; then opt=test shift @@ -227,44 +457,24 @@ if [ $1 = test72 ]; then opt=test72 shift fi -if [ $1 = php55 ]; then - opt=php55 - shift -fi -if [ $1 = php56 ]; then - opt=php56 - shift -fi -if [ $1 = php70 ]; then - opt=php70 - shift -fi -if [ $1 = php71 ]; then - opt=php71 - shift -fi -if [ $1 = php72 ]; then - opt=php72 - shift -fi -if [ $1 = php73 ]; then - opt=php73 +if [[ $1 = php* ]]; then + opt=$i shift fi -if [ $1 = glpi91 ]; then - opt=glpi91 +if [[ $1 == glpi* ]]; then + opt=$1 shift fi -if [ $1 = glpi92 ]; then - opt=glpi92 +if [[ $1 == redis* ]]; then + opt=$1 shift fi -if [ $1 = glpi93 ]; then - opt=glpi93 +if [[ $1 == memcached ]]; then + opt=$1 shift fi -if [ $1 = glpi94 ]; then - opt=glpi94 +if [[ $1 == composer* ]]; then + opt=$1 shift fi if [ $1 = devs -o $1 = dev ]; then @@ -272,189 +482,301 @@ if [ $1 = devs -o $1 = dev ]; then shift fi -if [ $1 = all ]; then - for i in 29 30 - do - getOneMock fc${i}i $opt - done - for i in 6 - do - getOneMock el${i}i $opt - done -elif [ $1 = all55 ]; then - for n in 6 - do - getOneMock el${n}i php55 '*5.5*' - getOneMock el${n}x php55 '*5.5*' - done - n=7 - getOneMock el${n}x php55 '*5.5*' - -elif [ $1 = all56 ]; then - for n in 6 - do - getOneMock el${n}i php56 '*5.6*' - getOneMock el${n}x php56 '*5.6*' - done +if [ $1 = all56 ]; then n=7 - getOneMock el${n}x php56 '*5.6*' + getOneMock el${n}x56 php56 '*5.6*' elif [ $1 = all70 ]; then [ $opt = remi ] && opt=php70 [ $opt = test ] && opt=test70 - n=6 - getOneMock el${n}i $opt '*7.0*' - getOneMock el${n}x $opt '*7.0*' n=7 - getOneMock el${n}x $opt '*7.0*' + getOneMock el${n}x70 $opt '*7.0*' elif [ $1 = all71 ]; then [ $opt = remi ] && opt=php71 [ $opt = test ] && opt=test71 - n=6 - getOneMock el${n}i $opt '*7.1*' - getOneMock el${n}x $opt '*7.1*' n=7 - getOneMock el${n}x $opt '*7.1*' + getOneMock el${n}x71 $opt '*7.1*' elif [ $1 = all72 ]; then [ $opt = remi ] && opt=php72 [ $opt = test ] && opt=test72 - n=6 - getOneMock el${n}i $opt '*7.2*' - getOneMock el${n}x $opt '*7.2*' - getOneMock el7x $opt '*7.2*' getOneMock el8x72 $opt '*7.2*' + getOneMock el8a72 $opt '*7.2*' elif [ $1 = all73 ]; then [ $opt = remi ] && opt=php73 [ $opt = test ] && opt=test73 - for n in 29 - do - getOneMock fc${n}i $opt '*7.3*' - getOneMock fc${n}x $opt '*7.3*' - done - n=6 - getOneMock el${n}i $opt '*7.3*' - getOneMock el${n}x $opt '*7.3*' - getOneMock el7x $opt '*7.3*' getOneMock el8x73 $opt '*7.3*' + getOneMock el8a73 $opt '*7.3*' elif [ $1 = all74 ]; then [ $opt = remi ] && opt=php74 [ $opt = test ] && opt=test74 - for n in 29 30 - do - getOneMock fc${n}i $opt '*7.4*' - getOneMock fc${n}x $opt '*7.4*' - done - getOneMock fc31x $opt '*7.4*' - getOneMock el7x $opt '*7.4*' + getOneMock fc42x74 $opt '*7.4*' + getOneMock fc42a74 $opt '*7.4*' + getOneMock fc40x74 $opt '*7.4*' + getOneMock fc40a74 $opt '*7.4*' + getOneMock fc41x74 $opt '*7.4*' + getOneMock fc41a74 $opt '*7.4*' getOneMock el8x74 $opt '*7.4*' + getOneMock el8a74 $opt '*7.4*' + getOneMock el9x74 $opt '*7.4*' + getOneMock el9a74 $opt '*7.4*' + getOneMock el10x74 $opt '*7.4*' + getOneMock el10a74 $opt '*7.4*' + +elif [ $1 = all80 ]; then + [ $opt = remi ] && opt=php80 + [ $opt = test ] && opt=test80 + getOneMock fc42x80 $opt '*8.0*' + getOneMock fc42a80 $opt '*8.0*' + getOneMock fc40x80 $opt '*8.0*' + getOneMock fc40a80 $opt '*8.0*' + getOneMock fc41x80 $opt '*8.0*' + getOneMock fc41a80 $opt '*8.0*' + getOneMock el8x80 $opt '*8.0*' + getOneMock el8a80 $opt '*8.0*' + getOneMock el9x80 $opt '*8.0*' + getOneMock el9a80 $opt '*8.0*' + getOneMock el10x80 $opt '*8.0*' + getOneMock el10a80 $opt '*8.0*' + +elif [ $1 = all81 ]; then + [ $opt = remi ] && opt=php81 + [ $opt = test ] && opt=test81 + getOneMock fc42x81 $opt '*8.1*' + getOneMock fc42a81 $opt '*8.1*' + getOneMock fc40x81 $opt '*8.1*' + getOneMock fc40a81 $opt '*8.1*' + getOneMock fc41x81 $opt '*8.1*' + getOneMock fc41a81 $opt '*8.1*' + getOneMock el8x81 $opt '*8.1*' + getOneMock el8a81 $opt '*8.1*' + getOneMock el9x81 $opt '*8.1*' + getOneMock el9a81 $opt '*8.1*' + getOneMock el10x81 $opt '*8.1*' + getOneMock el10a81 $opt '*8.1*' + +elif [ $1 = all82 ]; then + [ $opt = remi ] && opt=php82 + [ $opt = test ] && opt=test82 + getOneMock fc42x82 $opt '*8.2*' + getOneMock fc42a82 $opt '*8.2*' + getOneMock fc40x82 $opt '*8.2*' + getOneMock fc40a82 $opt '*8.2*' + getOneMock fc41x82 $opt '*8.2*' + getOneMock fc41a82 $opt '*8.2*' + getOneMock el8x82 $opt '*8.2*' + getOneMock el8a82 $opt '*8.2*' + getOneMock el9x82 $opt '*8.2*' + getOneMock el9a82 $opt '*8.2*' + getOneMock el10x82 $opt '*8.2*' + getOneMock el10a82 $opt '*8.2*' + +elif [ $1 = all83 ]; then + [ $opt = remi ] && opt=php83 + [ $opt = test ] && opt=test83 + getOneMock fc42x83 $opt '*8.3*' + getOneMock fc42a83 $opt '*8.3*' + getOneMock fc40x83 $opt '*8.3*' + getOneMock fc40a83 $opt '*8.3*' + getOneMock fc41x83 $opt '*8.3*' + getOneMock fc41a83 $opt '*8.3*' + getOneMock el8x83 $opt '*8.3*' + getOneMock el8a83 $opt '*8.3*' + getOneMock el9x83 $opt '*8.3*' + getOneMock el9a83 $opt '*8.3*' + getOneMock el10x83 $opt '*8.3*' + getOneMock el10a83 $opt '*8.3*' + +elif [ $1 = all84 ]; then + [ $opt = remi ] && opt=php84 + [ $opt = test ] && opt=test84 + getOneMock fc42x84 $opt '*8.4*' + getOneMock fc42a84 $opt '*8.4*' + getOneMock fc40x84 $opt '*8.4*' + getOneMock fc40a84 $opt '*8.4*' + getOneMock fc41x84 $opt '*8.4*' + getOneMock fc41a84 $opt '*8.4*' + getOneMock el8x84 $opt '*8.4*' + getOneMock el8a84 $opt '*8.4*' + getOneMock el9x84 $opt '*8.4*' + getOneMock el9a84 $opt '*8.4*' + getOneMock el10x84 $opt '*8.4*' + getOneMock el10a84 $opt '*8.4*' + +elif [ $1 = allr60 ]; then + opt=redis60 + getOneMock fc40x $opt '*6.0*' + getOneMock fc40a $opt '*6.0*' + getOneMock el8x $opt '*6.0*' + getOneMock el8a $opt '*6.0*' + getOneMock el9x $opt '*6.0*' + getOneMock el9a $opt '*6.0*' + +elif [ $1 = allr62 ]; then + opt=redis62 + getOneMock fc40x $opt '*6.2*' + getOneMock fc40a $opt '*6.2*' + getOneMock el8x $opt '*6.2*' + getOneMock el8a $opt '*6.2*' + getOneMock el9x $opt '*6.2*' + getOneMock el9a $opt '*6.2*' + +elif [ $1 = allr70 ]; then + opt=redis70 + getOneMock fc40x $opt '*7.0*' + getOneMock fc40a $opt '*7.0*' + getOneMock el8x $opt '*7.0*' + getOneMock el8a $opt '*7.0*' + getOneMock el9x $opt '*7.0*' + getOneMock el9a $opt '*7.0*' + +elif [ $1 = allr72 ]; then + opt=redis72 + getOneMock fc40x $opt '*7.2*' + getOneMock fc40a $opt '*7.2*' + getOneMock el8x $opt '*7.2*' + getOneMock el8a $opt '*7.2*' + getOneMock el9x $opt '*7.2*' + getOneMock el9a $opt '*7.2*' + +elif [ $1 = allm ]; then + opt=remi + getOneMock el8x $opt '*1.6*' + getOneMock el8a $opt '*1.6*' + getOneMock fc41x $opt '*1.6*' + getOneMock fc41a $opt '*1.6*' + getOneMock fc42x $opt '*1.6*' + getOneMock fc42a $opt '*1.6*' + opt=memcached + getOneMock fc40x $opt '*1.6*' + getOneMock fc40a $opt '*1.6*' + getOneMock el9x $opt '*1.6*' + getOneMock el9a $opt '*1.6*' + getOneMock el10x $opt '*1.6*' + getOneMock el10a $opt '*1.6*' -elif [ $1 = all54 ]; then - for n in 6 - do - getOneMock el${n}i remi '*5.4*' - getOneMock el${n}x remi '*5.4*' - done - n=7 - getOneMock el${n}x remi '*5.4*' - -elif [ $1 = for56 ]; then - for i in 6 7 +elif [ $1 = allx ]; then + for i in 8 9 10 do - getOneMock el${i}x test + (getOneMock el${i}x $opt) done - -elif [ $1 = for55 ]; then - for i in 6 7 + for i in 40 41 42 do - getOneMock el${i}x test + (getOneMock fc${i}x $opt) done -elif [ $1 = allx ]; then - for i in 29 30 31 +elif [ $1 = alla ]; then + for i in 8 9 10 do - getOneMock fc${i}x $opt + (getOneMock el${i}a $opt) done - for i in 6 7 8 + for i in 40 41 42 do - getOneMock el${i}x $opt + (getOneMock fc${i}a $opt) done -elif [ $1 = scl54 ]; then - for i in 6 7 +elif [ $1 = scl56 ]; then + for i in 8 do - getOneMock scl54el${i}x $opt + getOneMock scl56el${i}x $opt done -elif [ $1 = scl55 ]; then - for i in 6 7 +elif [ $1 = scl70 ]; then + for i in 8 do - getOneMock scl55el${i}x $opt + getOneMock scl70el${i}x $opt done -elif [ $1 = scl56 ]; then - for i in 29 30 31 +elif [ $1 = scl71 ]; then + for i in 8 do - getOneMock scl56fc${i}x $opt + getOneMock scl71el${i}x $opt done - for i in 6 7 8 + +elif [ $1 = scl84 ]; then + for dis in fc40 fc41 fc42 el8 el9 el10 do - getOneMock scl56el${i}x $opt + getOneMock scl84${dis}x $opt + getOneMock scl84${dis}a $opt done -elif [ $1 = scl70 ]; then - for i in 29 30 31 +elif [ $1 = scl83 ]; then + for dis in fc40 fc41 fc42 el8 el9 el10 do - getOneMock scl70fc${i}x $opt + getOneMock scl83${dis}x $opt + getOneMock scl83${dis}a $opt done - for i in 6 7 8 + +elif [ $1 = scl82 ]; then + for dis in fc40 fc41 fc42 el8 el9 el10 do - getOneMock scl70el${i}x $opt + getOneMock scl82${dis}x $opt + getOneMock scl82${dis}a $opt done -elif [ $1 = scl71 ]; then - for i in 29 30 31 +elif [ $1 = scl81 ]; then + for dis in fc40 fc41 fc42 el8 el9 el10 do - getOneMock scl71fc${i}x $opt + getOneMock scl81${dis}x $opt + getOneMock scl81${dis}a $opt done - for i in 6 7 8 + +elif [ $1 = scl80 ]; then + for dis in fc42 fc40 fc41 el8 el9 el10 do - getOneMock scl71el${i}x $opt + getOneMock scl80${dis}x $opt + getOneMock scl80${dis}a $opt done elif [ $1 = scl74 ]; then - for i in 29 30 31 - do - getOneMock scl74fc${i}x $opt - done - for i in 7 8 + for dis in fc42 fc40 fc41 el8 el9 el10 do - getOneMock scl74el${i}x $opt + getOneMock scl74${dis}x $opt + getOneMock scl74${dis}a $opt done elif [ $1 = scl73 ]; then - for i in 29 30 31 - do - getOneMock scl73fc${i}x $opt - done - for i in 6 7 8 + for i in 8 do getOneMock scl73el${i}x $opt done + getOneMock scl73el8a $opt elif [ $1 = scl72 ]; then - for i in 29 30 31 - do - getOneMock scl72fc${i}x $opt - done - for i in 6 7 8 + for i in 8 do getOneMock scl72el${i}x $opt done - + getOneMock scl72el8a $opt + +elif [ $1 = allphp ]; then + LOG=$(mktemp out.XXXXXXXXXX) + MOD="all72 all73 all74 all80 all81 all82 all83 all84" + SCL="scl56 scl70 scl71 scl72 scl73 scl74 scl80 scl81 scl82 scl83 scl84" + for i in $SCL $MOD + do $0 $opt $i | tee $LOG + if grep -q '64\.rpm' $LOG && grep -q 'pas un dossier mock' $LOG + then + echo -en "\n> $i - [enter] >"; read rep + fi + done + rm -f $LOG +elif [ $1 = all42 ]; then + LOG=$(mktemp out.XXXXXXXXXX) + MOD="74 80 81 82 83 84" + for v in $MOD; do + for i in fc42x${v} fc42a${v} scl${v}fc42x scl${v}fc42a; do + $0 $opt $i | tee $LOG + if grep -q '64\.rpm' $LOG && grep -q 'pas un dossier mock' $LOG + then + echo -en "\n> $i - [enter] >"; read rep + fi + done + done + rm -f $LOG else for i in $* do diff --git a/mirrorsync b/mirrorsync new file mode 100644 index 0000000..4661877 --- /dev/null +++ b/mirrorsync @@ -0,0 +1,147 @@ +#!/bin/env bash +# +# mirrorsync - Synchronize a local mirror of Remi's RPMS Repository +# By: Tyler Todd <ttodd@jurassicinnovations.com> +# Version: 20240805.01 +# +# The latest version of this script can be found at: +# https://git.remirepo.net/cgit/tools/helpers.git/plain/mirrorsync +# +# Inspired from Rocky Linux Mirror Sync: +# https://github.com/rocky-linux/rocky-tools +# +# Copyright (c) 2021 Rocky Enterprise Software Foundation +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice (including the next +# paragraph) shall be included in all copies or substantial portions of the +# Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. +# + +# Please use a mirror geographically close to you for initial sync, +# or if you are hosting a private mirror (not publicly available). +# +# Note that local mirrors may be faster +# Running rsync from the main "rsync://rpms.remirepo.net" requires +# the source IPv4 and IPv6 addresses to be allowed by Remi. Please contact +# Remi at remi@remirepo.net to get the process started. +# +# A complete list of mirrors can be found at +# https://rpms.remirepo.net/ + +##### TO BE ADAPTED TO YOUR CONFIGURATION ##### +# sync from primary mirror only allowed to official mirrors +src="rsync://rpms.remirepo.net" +# Your local path. Change to whatever fits your system. +dst=/mnt/RepoSync +# $mirrormodule is also used in syslog output. +# ${dst}/${mirrormodule}/enterprise MUST exists +# ${dst}/${mirrormodule}/fedora MUST exists +mirrormodule="Remi" +# You can change v to q if you do not want detailed logging +# You may also add additional excludes if you don't want to provide certain +# repositories or architectures. +opts=(-avSH --exclude="*.~tmp~" --delete-delay --delay-updates) +##### END OF TO BE ADAPTED ##### + +# Enterprise repo +src1="${src}/enterprise" +dst1="${dst}/${mirrormodule}/enterprise" +# Fedora repo +src2="${src}/fedora" +dst2="${dst}/${mirrormodule}/fedora" + +datefile="date" +lockfile="$0.lockfile" +logfile="$0.log" + +# Find rsync in default path +rsync_run(){ + if command -v rsync >/dev/null; then + command rsync "$@"; + else + command -p rsync "$@"; + fi; +} + +if [ ! -d ${dst1} ]; then + echo "${dst1} directory does not exist" + exit 1 +fi +if [ ! -d ${dst2} ]; then + echo "${dst2} directory does not exist" + exit 1 +fi +# Always pull the index.html to ensure the latest. curl/wget would still use same bandiwdth to check if the page changed even +# if we aren't going to save a new copy +wget https://rpms.remirepo.net/index.html -O ${dst}/${mirrormodule}/index.html >> "$logfile" 2>&1 + +# Check if the datefile has changed on upstream mirror +# and exit cleanly if it is still the same + +#Enterprise repo check +checkresult1=$(rsync_run --no-motd --dry-run --out-format="%n" "${src1}/${datefile}" "${dst1}/${datefile}") +#Fedora repo check +checkresult2=$(rsync_run --no-motd --dry-run --out-format="%n" "${src2}/${datefile}" "${dst2}/${datefile}") + +# If both dates haven't changed, exit +if [[ -z "$checkresult1" && -z "$checkresult2" ]]; then + printf "%s unchanged. Not updating at %(%c)T\n" "$datefile" -1 >> "$logfile" 2>&1 + logger -t rsync "Not updating ${mirrormodule}: ${datefile} unchanged." + exit 0 +fi + +# Check for existing lockfile to avoid multiple simultaneously running syncs +# If lockfile exists but process is dead continue anyway +if [[ -e "$lockfile" ]] && ! kill -0 "$(< "$lockfile")" 2>/dev/null; then + printf "Warning: lockfile exists but process dead, continuing.\n" >> "$logfile" 2>&1 + logger -t rsync "Warning: lockfile exists but process dead, continuing with updating ${mirrormodule}." + rm -f "$lockfile" +elif [[ -e "$lockfile" ]]; then + printf "Update already in progress at %(%c)T\n" -1 >> "$logfile" 2>&1 + logger -t rsync "Not updating ${mirrormodule}: already in progress." + exit 1 +fi + +# The actual syncing part +printf '%s\n' "$$" > "$lockfile" +printf "Started update at %(%c)T\n" -1 >> "$logfile" 2>&1 + +# Sync src1/dst1 if there are changes +if [[ -n "$checkresult1" ]]; then + logger -t rsync "Updating ${mirrormodule} for ${dst1}" + if rsync_run "${opts[@]}" "${src1}/" "${dst1}/" >> "$logfile" 2>&1; then + logger -t rsync "Succeed updating ${mirrormodule}" + else + logger -t rsync "Failed updating ${mirrormodule} see ${logfile}" + rm -f ${dst1}/${datefile} + fi +fi + +# Sync src2/dst2 if there are changes +if [[ -n "$checkresult2" ]]; then + logger -t rsync "Updating ${mirrormodule} for ${dst2}" + if rsync_run "${opts[@]}" "${src2}/" "${dst2}/" >> "$logfile" 2>&1; then + logger -t rsync "Succeed updating ${mirrormodule}" + else + logger -t rsync "Failed updating ${mirrormodule} see ${logfile}" + rm -f ${dst2}/${datefile} + fi +fi + +printf "End: %(%c)T\n" -1 >> "$logfile" 2>&1 +rm -f "$lockfile" @@ -2,64 +2,101 @@ TMPSIG=$(mktemp) TMPLNK=$(mktemp) -TMPSIG1=$(mktemp -t XXXXXXXX.2000) -TMPSIG2=$(mktemp -t XXXXXXXX.2017) -TMPSIG3=$(mktemp -t XXXXXXXX.2018) -TMPSIG4=$(mktemp -t XXXXXXXX.2019) +TMPSIG2000=$(mktemp -t XXXXXXXX.2000) +TMPSIG2018=$(mktemp -t XXXXXXXX.2018) +TMPSIG2021=$(mktemp -t XXXXXXXX.2021) +TMPSIG2023=$(mktemp -t XXXXXXXX.2023) +TMPSIG2024=$(mktemp -t XXXXXXXX.2024) +TMPSIG2025=$(mktemp -t XXXXXXXX.2025) cd /home/rpmbuild/site/rpms -for dep in fedora/{29,30,31}/*/{i386,x86_64} enterprise/{6,7,8}/*/{i386,x86_64,armhfp} +for dep in fedora/{40,41,42}/*/{i386,x86_64,aarch64} enterprise/{8,9,10}/*/{x86_64,aarch64} do [[ $dep =~ /modular ]] && continue + [[ $dep =~ /debug-modular ]] && continue arch=${dep##*/} LST="" if [ -d $dep/repodata -a $dep -nt $dep/repodata -a ! -f $dep/.closed ] then echo "== Nouveaux RPM dans $dep ==" - if [ $arch = x86_64 ] - then - find $dep -name \*.rpm -a -newer $dep/repodata -print >>$TMPSIG + if [ $arch = x86_64 ]; then + find $dep -name \*.rpm -a -newer $dep/repodata -print >>$TMPSIG + elif [ $arch = aarch64 ]; then + find $dep -name \*.noarch.rpm -a -newer $dep/repodata -print >>$TMPLNK + find $dep -name \*.aarch64.rpm -a -newer $dep/repodata -print >>$TMPSIG else - find $dep -name \*.noarch.rpm -a -newer $dep/repodata -print >>$TMPLNK - find $dep -name \*.i?86.rpm -a -newer $dep/repodata -print >>$TMPSIG + find $dep -name \*.noarch.rpm -a -newer $dep/repodata -print >>$TMPLNK + find $dep -name \*.i?86.rpm -a -newer $dep/repodata -print >>$TMPSIG fi fi done -find SRPMS -name \*.rpm -a -newer SRPMS/repodata -print >>$TMPSIG +# if something added in SRPMS, search for new SRPM +if [ SRPMS -nt SRPMS/repodata ]; then + find SRPMS -name \*.rpm \( -newer SRPMS/repodata -o -mtime -1 \) -print >>$TMPSIG +fi if [ -s $TMPSIG ]; then echo "À signer:"; sort < $TMPSIG - grep fc29 $TMPSIG > $TMPSIG3 - grep el8 $TMPSIG >> $TMPSIG3 - - grep fc30 $TMPSIG > $TMPSIG4 - grep fc31 $TMPSIG >> $TMPSIG4 - grep src.rpm $TMPSIG >> $TMPSIG4 + # old + grep el7 $TMPSIG > $TMPSIG2000 + # 2018 + grep el8 $TMPSIG > $TMPSIG2018 + # 2021 + grep el9 $TMPSIG > $TMPSIG2021 + # 2023 + grep fc39 $TMPSIG > $TMPSIG2023 + # 2024 + grep fc40 $TMPSIG > $TMPSIG2024 + grep fc41 $TMPSIG >> $TMPSIG2024 + grep el10 $TMPSIG >> $TMPSIG2024 + # 2025 + grep src.rpm $TMPSIG > $TMPSIG2025 + grep fc42 $TMPSIG >> $TMPSIG2025 - if [ -s $TMPSIG4 ]; then - echo "== Signature des $(cat $TMPSIG4 | wc -l) nouveaux RPM (2019) ==" - if rpmsign --define '_gpg_path /home/remi/.gnupg2019' --define "_gpg_name Remi's RPM repository" --addsign $(cat $TMPSIG4) + if [ -s $TMPSIG2025 ]; then + echo "== Signature des $(cat $TMPSIG2025 | wc -l) nouveaux RPM (2025) ==" + if rpmsign --define '_gpg_path /home/remi/.gnupgrpm' --define "_gpg_name 83833E4687A4AA03B6AC94F2061566968F1F4B2D" --addsign $(cat $TMPSIG2025) + then echo done. + else exit 1 + fi + fi + if [ -s $TMPSIG2024 ]; then + echo "== Signature des $(cat $TMPSIG2024 | wc -l) nouveaux RPM (2024) ==" + if rpmsign --define '_gpg_path /home/remi/.gnupgrpm' --define "_gpg_name CF1DF0057CE85DFF5B2F2A37C2FD3B2C2A0948E4" --addsign $(cat $TMPSIG2024) + then echo done. + else exit 1 + fi + fi + if [ -s $TMPSIG2023 ]; then + echo "== Signature des $(cat $TMPSIG2023 | wc -l) nouveaux RPM (2023) ==" + if rpmsign --define '_gpg_path /home/remi/.gnupgrpm' --define "_gpg_name 50A5E157DFE548EC7C05E9D8D5933DAB6DEFD35E" --addsign $(cat $TMPSIG2023) + then echo done. + else exit 1 + fi + fi + if [ -s $TMPSIG2021 ]; then + echo "== Signature des $(cat $TMPSIG2021 | wc -l) nouveaux RPM (2021) ==" + if rpmsign --define '_gpg_path /home/remi/.gnupgrpm' --define "_gpg_name B1ABF71E14C9D74897E198A8B19527F1478F8947" --addsign $(cat $TMPSIG2021) then echo done. else exit 1 fi fi - if [ -s $TMPSIG3 ]; then - echo "== Signature des $(cat $TMPSIG3 | wc -l) nouveaux RPM (2018) ==" - if rpmsign --define '_gpg_path /home/remi/.gnupg2018' --define "_gpg_name Remi's RPM repository" --addsign $(cat $TMPSIG3) + if [ -s $TMPSIG2018 ]; then + echo "== Signature des $(cat $TMPSIG2018 | wc -l) nouveaux RPM (2018) ==" + if rpmsign --define '_gpg_path /home/remi/.gnupgrpm' --define "_gpg_name 6B38FEA7231F87F52B9CA9D8555097595F11735A" --addsign $(cat $TMPSIG2018) then echo done. else exit 1 fi fi - grep -v fc26 $TMPSIG | grep -v fc27 | grep -v fc28 | grep -v fc29 | grep -v fc30 | grep -v fc31 | grep -v src.rpm | grep -v el8 > $TMPSIG1 - if [ -s $TMPSIG1 ]; then - echo "== Signature des $(cat $TMPSIG1 | wc -l) nouveaux RPM (old) ==" - if rpmsign --define '_gpg_path /home/remi/.gnupgrpm' --define "_gpg_name Remi Collet" --addsign $(cat $TMPSIG1) + if [ -s $TMPSIG2000 ]; then + echo "== Signature des $(cat $TMPSIG2000 | wc -l) nouveaux RPM (old) ==" + if rpmsign --define '_gpg_path /home/remi/.gnupgrpm' --define "_gpg_name 1EE04CCE88A4AE4AA29A5DF5004E6F4700F97F56" --addsign $(cat $TMPSIG2000) then echo done. else exit 1 fi @@ -82,9 +119,10 @@ then echo "== Création des liens (noarch) ==" else echo "Rien à lier." fi -for dep in SRPMS fedora/{29,30,31}/*/{i386,x86_64} enterprise/{6,7,8}/*/{i386,x86_64,armhfp,aarch64} +for dep in SRPMS fedora/{40,41,42}/*/{i386,x86_64,aarch64} enterprise/{8,9,10}/*/{x86_64,aarch64} do [[ $dep =~ /modular ]] && continue + [[ $dep =~ /debug-modular ]] && continue if [ -d $dep/repodata -a $dep -nt $dep/repodata -a ! -f $dep/.closed ] then echo "== Actualisation de $dep ==" @@ -6,6 +6,18 @@ if [ -z "$1" ]; then exit 1 fi +case $1 in + rpms/*) + ;; + tools/*) + ;; + web/*) + ;; + *) + echo "Prefix not allowed (rpms/tools/web)" + exit 1 +esac + GIT=${1%/} LOC=$(basename $GIT) diff --git a/mkmodular b/mkmodular new file mode 100755 index 0000000..07ff6da --- /dev/null +++ b/mkmodular @@ -0,0 +1,1458 @@ +#!/usr/bin/php +<?php +define('TOPDIR', '/home/rpmbuild/site/rpms'); +chdir(TOPDIR); + +$template_php = <<< EOT +--- +document: modulemd +version: 2 +data: + name: php + stream: remi-@VERSION@ + version: @DATE@ + context: 00000000 + arch: @ARCH@ + summary: PHP scripting language + description: >- + Alternative php @VERSION@ module. + The remi-@VERSION@ stream provides more recent versions + and more packages than default @VERSION@ stream. + license: + module: + - GPLv2+ + content: + - BSD + - BSD and LGPLv3+ + - PHP + - PHP and BSD + - PHP and LGPLv2 and OpenLDAP + - PHP and LGPLv2+ + - PHP and Zend and BSD and MIT and ASL 1.0 + dependencies: + - buildrequires: + platform: [@DIST@] + requires: +@DEPS@ + references: + documentation: https://www.php.net/manual/ + tracker: https://bugs.php.net/ + profiles: + common: + rpms: + - php-cli + - php-common + - php-fpm + - php-mbstring + - php-xml + devel: + rpms: + - php-cli + - php-common + - php-devel + - php-fpm + - php-mbstring + - php-pear + - php-process + - php-xml + minimal: + rpms: + - php-cli + - php-common + api: + rpms: + - php-fpm + artifacts: + rpms: +@RPMS@ +... + +EOT; + +$template_phpextras = <<< EOT +--- +document: modulemd +version: 2 +data: + name: php-extras + stream: @VERSION@ + version: @DATE@ + context: 00000000 + arch: @ARCH@ + summary: PHP scripting language + description: >- + Additional package for php @VERSION@ module. + license: + module: + - GPLv2+ + content: + - BSD + - BSD and LGPLv3+ + - PHP + - PHP and BSD + - PHP and LGPLv2 and OpenLDAP + - PHP and LGPLv2+ + - PHP and Zend and BSD and MIT and ASL 1.0 + dependencies: + - buildrequires: + platform: [@DIST@] + requires: +@DEPS@ + references: + documentation: http://php.net/ + tracker: https://bugs.php.net/ + profiles: + common: + rpms: + - php-sodium + artifacts: + rpms: +@RPMS@ +... + +EOT; + +$template_redis = <<< EOT +--- +document: modulemd +version: 2 +data: + name: redis + stream: remi-@VERSION@ + version: @DATE@ + context: 00000000 + arch: @ARCH@ + summary: Redis persistent key-value database + description: >- + Alternative redis @VERSION@ module. + The remi-@VERSION@ stream provides more recent versions + and than default @VERSION@ stream. + license: + module: + - GPLv2+ + content: + - BSD and MIT + - CC-BY-SA + dependencies: + - buildrequires: + platform: [@DIST@] + requires: +@DEPS@ + references: + documentation: https://redis.io/documentation + tracker: https://github.com/redis/redis/issues + profiles: + common: + rpms: + - redis + api: + rpms: + - redis + artifacts: + rpms: +@RPMS@ +... + +EOT; + +$template_memcached = <<< EOT +--- +document: modulemd +version: 2 +data: + name: memcached + stream: remi + version: @DATE@ + context: 00000000 + arch: @ARCH@ + summary: High Performance, Distributed Memory Object Cache + description: >- + Alternative memcached module. + The remi stream provides more recent versions + and than default repository. + license: + module: + - GPLv2+ + content: + - BSD + dependencies: + - buildrequires: + platform: [@DIST@] + requires: +@DEPS@ + references: + documentation: https://memcached.org/ + tracker: https://github.com/memcached/memcached/issues + profiles: + common: + rpms: + - memcached + - memcached-selinux + api: + rpms: + - memcached + artifacts: + rpms: +@RPMS@ +... + +EOT; + +$template_comp = <<< EOT +--- +document: modulemd +version: 2 +data: + name: composer + stream: @VERSION@ + version: @DATE@ + context: 00000000 + arch: @ARCH@ + summary: Dependency Manager for PHP + description: >- + Composer @VERSION@ module + license: + module: + - MIT + content: + - MIT + dependencies: + - buildrequires: + platform: [@DIST@] + requires: +@DEPS@ + references: + documentation: https://getcomposer.org/ + tracker: https://github.com/composer/composer/issues + profiles: + common: + rpms: + - composer + api: + rpms: + - composer + artifacts: + rpms: +@RPMS@ +... + +EOT; + + +function findPackages($from, $dest, $pat) { + global $oldrpms; + $excl = [ + 'php-amqplib', 'php-jsonlint', 'php-cs-fixer', 'php-tecnickcom-tc-lib-unicode-data', + 'php-doctrine-orm', 'php-pear-phing', 'php-doctrine-collections', 'php-laminas-i18n', 'php-laminas-mail', + 'php-laminas-authentication', 'php-laminas-diactoros2', 'php-laminas-mime', 'php-laminas-i18n-resources', + 'php-laminas-memory', 'php-laminas-test', 'php-laminas-validator', 'php-laminas-view', + 'php-laminas-eventmanager', 'php-laminas-form3', 'php-laminas-config3', 'php-laminas-http', 'php-laminas-navigation', + 'php-laminas-psr7bridge', + 'php-laminas-inputfilter', 'php-laminas-crypt', 'php-laminas-di3', 'php-laminas-mvc-plugin-flashmessenger', + 'php-react-promise-timer', 'php-laminas-filter', 'php-laminas-router', 'php-react-http', + 'php-icewind-streams', 'php-masterminds-html5', 'php-league-mime-type-detection', 'php-monolog2', + ]; + $rpms = []; + foreach (glob("$from/$pat") as $file) { + $info = rpminfo($file); + $name = basename($file); + if (in_array($info['Name'], $excl)) { + continue; + } + if (!file_exists("$dest/$name")) { + if (link($file, "$dest/$name")) { + $k = array_search(basename($file), $oldrpms); + if ($k === false) { + printf("\r\t+ %-70s\n", basename($file)); + } else { + unset($oldrpms[$k]); + } + } + } + $rpms[] = + $info['Name'] . '-' . + ($info['Epoch'] ?? '0') . ':' . + $info['Version'] . '-' . + $info['Release'] . '.' . + $info['Arch']; + } + return $rpms; +} + +function genDefaults($name, $def, Array $vers) { + $meta = "---\n" . + "document: modulemd-defaults\n" . + "version: 1\n" . + "data:\n" . + " module: $name\n"; + if ($def) { + $meta .= " stream: \"$def\"\n"; + } + $meta .= " profiles:\n"; + foreach ($vers as $ver) { + $meta .= " $ver: [common]\n"; + } + $meta .= "...\n"; + + return $meta; +} +function genModule($srce, $dest, $pats, $ver, $arch, $deps, $template) { + + if ($deps['platform'] >= 'f40') { + // Drop dependencies see https://bugzilla.redhat.com/2264207 + $deb = strpos($template, 'dependencies:'); + $fin = strpos($template, 'references:'); + $template = substr($template, 0, $deb) . substr($template, $fin); + } + + $rpms = []; + foreach ((array)$pats as $pat) { + $rpms += findPackages($srce, $dest, $pat); + } + $deptxt = ''; + foreach($deps as $n => $v) { + $deptxt .= ($deptxt ? "\n" : '') . " $n: [$v]"; + } + if (empty($rpms)) { + return ''; + } + $rpmstxt = ''; + foreach($rpms as $rpm) { + $rpmstxt .= ($rpmstxt ? "\n" : '') . " - $rpm"; + } + $mod = str_replace( + ['@VERSION@', '@ARCH@', "@DATE@", "@DIST@", "@DEPS@", '@RPMS@'], + [$ver, $arch, date("YmdHis"), $deps['platform'], $deptxt, $rpmstxt], + $template + ); + return $mod; +} + +function cleanup($dest) { + global $oldrpms; + + $oldrpms = array(); + foreach (glob("$dest/*rpm") as $file) { + unlink($file); + $oldrpms[] = basename($file); + } +} + +function createRepo($dest, $mod) { +$old = getcwd(); +chdir($dest); + +// Key +[$dis,$ver]=explode("/", $dest); +$GPG_PATH="/home/remi/.gnupgrpm"; +if ($dis == "fedora") { + if ($ver >= 42) { + $GPG_NAME="83833E4687A4AA03B6AC94F2061566968F1F4B2D"; + } else if ($ver >= 40) { + $GPG_NAME="CF1DF0057CE85DFF5B2F2A37C2FD3B2C2A0948E4"; + } else if ($ver >= 38) { + $GPG_NAME="50A5E157DFE548EC7C05E9D8D5933DAB6DEFD35E"; + } else if ($ver >= 36) { + $GPG_NAME="845160D23149DAD504F0A32D83C0639E1FEF0014"; + } else if ($ver >= 34) { + $GPG_NAME="B1ABF71E14C9D74897E198A8B19527F1478F8947"; + } else if ($ver >= 32) { + $GPG_NAME="34C10BDBCC6F1B252E50BA1A0714919E4C21A808"; + } else { + $GPG_NAME="5F136145BF10369B7685D8DE503666CCBBAE6F1B"; + } +} else { + if ($ver >= 10) { + $GPG_NAME="CF1DF0057CE85DFF5B2F2A37C2FD3B2C2A0948E4"; + } else if ($ver >= 9) { + $GPG_NAME="B1ABF71E14C9D74897E198A8B19527F1478F8947"; + } else if ($ver == 8) { + $GPG_NAME="6B38FEA7231F87F52B9CA9D8555097595F11735A"; + } else { + $GPG_NAME="1EE04CCE88A4AE4AA29A5DF5004E6F4700F97F56"; + } +} +echo "Metadata, signing with $GPG_PATH, "; + +// Repository content +exec("mkrepo nocheck noclean"); + +// Modular data +$data = '/tmp/modules.yaml'; +file_put_contents($data, $mod); +$hash = hash('sha256', $mod); +exec("modifyrepo_c --compress-type=bz2 --mdtype=modules $data repodata >/dev/null"); +$arch = basename($dest); +rename($data, "$data.$arch"); + +// Sign +@unlink("repodata/repomd.xml.asc"); +exec("gpg --armor --detach-sign --default-key \"$GPG_NAME\" --homedir \"$GPG_PATH\" repodata/repomd.xml"); +chdir($old); +} + +/* +if (count($_SERVER['argv']) < 2 || in_array('f39', $_SERVER['argv']) || in_array('f39x', $_SERVER['argv'])) { + $dest = 'fedora/39/modular/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f39']; + $mod .= genModule('fedora/39/php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/39/php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/39/php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/39/php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/39/php83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/39/php84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + $mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']); + $mod .= genModule('fedora/39/redis60/x86_64',$dest, '*.rpm', '6.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('fedora/39/redis62/x86_64',$dest, '*.rpm', '6.2', 'x86_64', $deps, $template_redis); + $mod .= genModule('fedora/39/redis70/x86_64',$dest, '*.rpm', '7.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('fedora/39/redis72/x86_64',$dest, '*.rpm', '7.2', 'x86_64', $deps, $template_redis); + $mod .= genDefaults('redis', false, ['remi-6.0', 'remi-6.2', 'remi-7.0', 'remi-7.2']); + $mod .= genModule('fedora/39/memcached/x86_64',$dest, '*.rpm', false, 'x86_64', $deps, $template_memcached); + $mod .= genDefaults('memcached', false, ['remi']); + createRepo($dest, $mod); + + $dest = 'fedora/39/debug-modular/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f39']; + $mod .= genModule('fedora/39/debug-php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/39/debug-php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/39/debug-php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/39/debug-php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/39/debug-php83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/39/debug-php84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/39/debug-redis60/x86_64',$dest, '*.rpm', '6.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('fedora/39/debug-redis62/x86_64',$dest, '*.rpm', '6.2', 'x86_64', $deps, $template_redis); + $mod .= genModule('fedora/39/debug-redis70/x86_64',$dest, '*.rpm', '7.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('fedora/39/debug-redis72/x86_64',$dest, '*.rpm', '7.2', 'x86_64', $deps, $template_redis); + $mod .= genModule('fedora/39/debug-memcached/x86_64',$dest, '*.rpm', false, 'x86_64', $deps, $template_memcached); + createRepo($dest, $mod); +} +if (in_array('f39', $_SERVER['argv']) || in_array('f39x', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) { + $dest = 'fedora/39/modular-test/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f39']; + $mod .= genModule('fedora/39/test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/39/test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/39/test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/39/test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/39/test83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/39/test84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + createRepo($dest, $mod); + + $dest = 'fedora/39/debug-modular-test/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f39']; + $mod .= genModule('fedora/39/debug-test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/39/debug-test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/39/debug-test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/39/debug-test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/39/debug-test83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/39/debug-test84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + createRepo($dest, $mod); +} + +if (count($_SERVER['argv']) < 2 || in_array('f39', $_SERVER['argv']) || in_array('f39a', $_SERVER['argv'])) { + $dest = 'fedora/39/modular/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f39']; + $mod .= genModule('fedora/39/php74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/39/php80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/39/php81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/39/php82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/39/php83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/39/php84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + $mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']); + $mod .= genModule('fedora/39/redis60/aarch64',$dest, '*.rpm', '6.0', 'aarch64', $deps, $template_redis); + $mod .= genModule('fedora/39/redis62/aarch64',$dest, '*.rpm', '6.2', 'aarch64', $deps, $template_redis); + $mod .= genModule('fedora/39/redis70/aarch64',$dest, '*.rpm', '7.0', 'aarch64', $deps, $template_redis); + $mod .= genModule('fedora/39/redis72/aarch64',$dest, '*.rpm', '7.2', 'aarch64', $deps, $template_redis); + $mod .= genDefaults('redis', false, ['remi-6.0', 'remi-6.2', 'remi-7.0', 'remi-7.2']); + $mod .= genModule('fedora/39/memcached/aarch64',$dest, '*.rpm', false, 'aarch64', $deps, $template_memcached); + $mod .= genDefaults('memcached', false, ['remi']); + createRepo($dest, $mod); + + $dest = 'fedora/39/debug-modular/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f39']; + $mod .= genModule('fedora/39/debug-php74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/39/debug-php80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/39/debug-php81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/39/debug-php82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/39/debug-php83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/39/debug-php84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/39/debug-redis60/aarch64',$dest, '*.rpm', '6.0', 'aarch64', $deps, $template_redis); + $mod .= genModule('fedora/39/debug-redis62/aarch64',$dest, '*.rpm', '6.2', 'aarch64', $deps, $template_redis); + $mod .= genModule('fedora/39/debug-redis70/aarch64',$dest, '*.rpm', '7.0', 'aarch64', $deps, $template_redis); + $mod .= genModule('fedora/39/debug-redis72/aarch64',$dest, '*.rpm', '7.2', 'aarch64', $deps, $template_redis); + $mod .= genModule('fedora/39/debug-memcached/aarch64',$dest, '*.rpm', false, 'aarch64', $deps, $template_memcached); + createRepo($dest, $mod); +} +if (in_array('f39', $_SERVER['argv']) || in_array('f39a', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) { + $dest = 'fedora/39/modular-test/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f39']; + $mod .= genModule('fedora/39/test74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/39/test80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/39/test81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/39/test82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/39/test83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/39/test84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + createRepo($dest, $mod); + + $dest = 'fedora/39/debug-modular-test/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f39']; + $mod .= genModule('fedora/39/debug-test74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/39/debug-test80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/39/debug-test81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/39/debug-test82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/39/debug-test83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/39/debug-test84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + createRepo($dest, $mod); +} +*/ +if (count($_SERVER['argv']) < 2 || in_array('f40', $_SERVER['argv']) || in_array('f40x', $_SERVER['argv'])) { + $dest = 'fedora/40/modular/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f40']; + $mod .= genModule('fedora/40/php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/40/php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/40/php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/40/php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/40/php83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/40/php84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + $mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']); + $mod .= genModule('fedora/40/redis60/x86_64',$dest, '*.rpm', '6.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('fedora/40/redis62/x86_64',$dest, '*.rpm', '6.2', 'x86_64', $deps, $template_redis); + $mod .= genModule('fedora/40/redis70/x86_64',$dest, '*.rpm', '7.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('fedora/40/redis72/x86_64',$dest, '*.rpm', '7.2', 'x86_64', $deps, $template_redis); + $mod .= genDefaults('redis', false, ['remi-6.0', 'remi-6.2', 'remi-7.0', 'remi-7.2']); + $mod .= genModule('fedora/40/memcached/x86_64',$dest, '*.rpm', false, 'x86_64', $deps, $template_memcached); + $mod .= genDefaults('memcached', false, ['remi']); + createRepo($dest, $mod); + + $dest = 'fedora/40/debug-modular/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f40']; + $mod .= genModule('fedora/40/debug-php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/40/debug-php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/40/debug-php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/40/debug-php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/40/debug-php83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/40/debug-php84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/40/debug-redis60/x86_64',$dest, '*.rpm', '6.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('fedora/40/debug-redis62/x86_64',$dest, '*.rpm', '6.2', 'x86_64', $deps, $template_redis); + $mod .= genModule('fedora/40/debug-redis70/x86_64',$dest, '*.rpm', '7.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('fedora/40/debug-redis72/x86_64',$dest, '*.rpm', '7.2', 'x86_64', $deps, $template_redis); + $mod .= genModule('fedora/40/debug-memcached/x86_64',$dest, '*.rpm', false, 'x86_64', $deps, $template_memcached); + createRepo($dest, $mod); +} +if (in_array('f40', $_SERVER['argv']) || in_array('f40x', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) { + $dest = 'fedora/40/modular-test/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f40']; + $mod .= genModule('fedora/40/test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/40/test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/40/test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/40/test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/40/test83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/40/test84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + createRepo($dest, $mod); + + $dest = 'fedora/40/debug-modular-test/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f40']; + $mod .= genModule('fedora/40/debug-test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/40/debug-test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/40/debug-test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/40/debug-test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/40/debug-test83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/40/debug-test84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + createRepo($dest, $mod); +} + +if (count($_SERVER['argv']) < 2 || in_array('f40', $_SERVER['argv']) || in_array('f40a', $_SERVER['argv'])) { + $dest = 'fedora/40/modular/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f40']; + $mod .= genModule('fedora/40/php74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/40/php80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/40/php81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/40/php82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/40/php83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/40/php84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + $mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']); + $mod .= genModule('fedora/40/redis60/aarch64',$dest, '*.rpm', '6.0', 'aarch64', $deps, $template_redis); + $mod .= genModule('fedora/40/redis62/aarch64',$dest, '*.rpm', '6.2', 'aarch64', $deps, $template_redis); + $mod .= genModule('fedora/40/redis70/aarch64',$dest, '*.rpm', '7.0', 'aarch64', $deps, $template_redis); + $mod .= genModule('fedora/40/redis72/aarch64',$dest, '*.rpm', '7.2', 'aarch64', $deps, $template_redis); + $mod .= genDefaults('redis', false, ['remi-6.0', 'remi-6.2', 'remi-7.0', 'remi-7.2']); + $mod .= genModule('fedora/40/memcached/aarch64',$dest, '*.rpm', false, 'aarch64', $deps, $template_memcached); + $mod .= genDefaults('memcached', false, ['remi']); + createRepo($dest, $mod); + + $dest = 'fedora/40/debug-modular/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f40']; + $mod .= genModule('fedora/40/debug-php74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/40/debug-php80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/40/debug-php81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/40/debug-php82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/40/debug-php83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/40/debug-php84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/40/debug-redis60/aarch64',$dest, '*.rpm', '6.0', 'aarch64', $deps, $template_redis); + $mod .= genModule('fedora/40/debug-redis62/aarch64',$dest, '*.rpm', '6.2', 'aarch64', $deps, $template_redis); + $mod .= genModule('fedora/40/debug-redis70/aarch64',$dest, '*.rpm', '7.0', 'aarch64', $deps, $template_redis); + $mod .= genModule('fedora/40/debug-redis72/aarch64',$dest, '*.rpm', '7.2', 'aarch64', $deps, $template_redis); + $mod .= genModule('fedora/40/debug-memcached/aarch64',$dest, '*.rpm', false, 'aarch64', $deps, $template_memcached); + createRepo($dest, $mod); +} +if (in_array('f40', $_SERVER['argv']) || in_array('f40a', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) { + $dest = 'fedora/40/modular-test/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f40']; + $mod .= genModule('fedora/40/test74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/40/test80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/40/test81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/40/test82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/40/test83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/40/test84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + createRepo($dest, $mod); + + $dest = 'fedora/40/debug-modular-test/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f40']; + $mod .= genModule('fedora/40/debug-test74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/40/debug-test80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/40/debug-test81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/40/debug-test82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/40/debug-test83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/40/debug-test84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + createRepo($dest, $mod); +} + +// -------------- Fedora 41 ----------------------------------- +if (count($_SERVER['argv']) < 2 || in_array('f41', $_SERVER['argv']) || in_array('f41x', $_SERVER['argv'])) { + $dest = 'fedora/41/modular/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f41']; + $mod .= genModule('fedora/41/php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/41/php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/41/php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/41/php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/41/php83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/41/php84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + $mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']); + createRepo($dest, $mod); + + $dest = 'fedora/41/debug-modular/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f41']; + $mod .= genModule('fedora/41/debug-php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/41/debug-php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/41/debug-php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/41/debug-php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/41/debug-php83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/41/debug-php84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + createRepo($dest, $mod); +} +if (in_array('f41', $_SERVER['argv']) || in_array('f41x', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) { + $dest = 'fedora/41/modular-test/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f41']; + $mod .= genModule('fedora/41/test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/41/test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/41/test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/41/test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/41/test83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/41/test84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + createRepo($dest, $mod); + + $dest = 'fedora/41/debug-modular-test/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f41']; + $mod .= genModule('fedora/41/debug-test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/41/debug-test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/41/debug-test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/41/debug-test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/41/debug-test83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/41/debug-test84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + createRepo($dest, $mod); +} + +if (count($_SERVER['argv']) < 2 || in_array('f41', $_SERVER['argv']) || in_array('f41a', $_SERVER['argv'])) { + $dest = 'fedora/41/modular/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f41']; + $mod .= genModule('fedora/41/php74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/41/php80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/41/php81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/41/php82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/41/php83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/41/php84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + $mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']); + createRepo($dest, $mod); + + $dest = 'fedora/41/debug-modular/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f41']; + $mod .= genModule('fedora/41/debug-php74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/41/debug-php80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/41/debug-php81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/41/debug-php82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/41/debug-php83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/41/debug-php84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + createRepo($dest, $mod); +} +if (in_array('f41', $_SERVER['argv']) || in_array('f41a', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) { + $dest = 'fedora/41/modular-test/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f41']; + $mod .= genModule('fedora/41/test74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/41/test80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/41/test81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/41/test82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/41/test83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/41/test84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + createRepo($dest, $mod); + + $dest = 'fedora/41/debug-modular-test/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f41']; + $mod .= genModule('fedora/41/debug-test74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/41/debug-test80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/41/debug-test81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/41/debug-test82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/41/debug-test83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/41/debug-test84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + createRepo($dest, $mod); +} + +// -------------- Fedora 42 ----------------------------------- +if (count($_SERVER['argv']) < 2 || in_array('f42', $_SERVER['argv']) || in_array('f42x', $_SERVER['argv'])) { + $dest = 'fedora/42/modular/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f42']; + $mod .= genModule('fedora/42/php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/42/php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/42/php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/42/php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/42/php83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/42/php84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + $mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']); + createRepo($dest, $mod); + + $dest = 'fedora/42/debug-modular/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f42']; + $mod .= genModule('fedora/42/debug-php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/42/debug-php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/42/debug-php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/42/debug-php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/42/debug-php83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/42/debug-php84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + createRepo($dest, $mod); +} +if (in_array('f42', $_SERVER['argv']) || in_array('f42x', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) { + $dest = 'fedora/42/modular-test/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f42']; + $mod .= genModule('fedora/42/test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/42/test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/42/test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/42/test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/42/test83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/42/test84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + createRepo($dest, $mod); + + $dest = 'fedora/42/debug-modular-test/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f42']; + $mod .= genModule('fedora/42/debug-test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/42/debug-test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/42/debug-test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/42/debug-test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/42/debug-test83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('fedora/42/debug-test84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + createRepo($dest, $mod); +} + +if (count($_SERVER['argv']) < 2 || in_array('f42', $_SERVER['argv']) || in_array('f42a', $_SERVER['argv'])) { + $dest = 'fedora/42/modular/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f42']; + $mod .= genModule('fedora/42/php74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/42/php80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/42/php81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/42/php82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/42/php83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/42/php84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + $mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']); + createRepo($dest, $mod); + + $dest = 'fedora/42/debug-modular/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f42']; + $mod .= genModule('fedora/42/debug-php74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/42/debug-php80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/42/debug-php81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/42/debug-php82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/42/debug-php83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/42/debug-php84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + createRepo($dest, $mod); +} +if (in_array('f42', $_SERVER['argv']) || in_array('f42a', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) { + $dest = 'fedora/42/modular-test/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f42']; + $mod .= genModule('fedora/42/test74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/42/test80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/42/test81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/42/test82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/42/test83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/42/test84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + createRepo($dest, $mod); + + $dest = 'fedora/42/debug-modular-test/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'f42']; + $mod .= genModule('fedora/42/debug-test74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/42/debug-test80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/42/debug-test81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/42/debug-test82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/42/debug-test83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('fedora/42/debug-test84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + createRepo($dest, $mod); +} + + +if (in_array('el8', $_SERVER['argv']) || in_array('el8x', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) { + $dest = 'enterprise/8/modular-test/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el8']; + $mod .= genModule('enterprise/8/test72/x86_64', $dest, '*.rpm', '7.2', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/test73/x86_64', $dest, '*.rpm', '7.3', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/test83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/test84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + + $deps = ['platform' => 'el8', 'php' => '']; + $mod .= genModule('enterprise/8/composer2-test/x86_64', $dest, '*.rpm', '2', 'x86_64', $deps, $template_comp); + createRepo($dest, $mod); + + $dest = 'enterprise/8/debug-modular-test/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el8']; + $mod .= genModule('enterprise/8/debug-test72/x86_64', $dest, '*.rpm', '7.2', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-test73/x86_64', $dest, '*.rpm', '7.3', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-test83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-test84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + createRepo($dest, $mod); +} +if (count($_SERVER['argv']) < 2 || in_array('el8', $_SERVER['argv']) || in_array('el8x', $_SERVER['argv']) + || in_array('noarch', $_SERVER['argv']) + || in_array('7.3', $_SERVER['argv']) || in_array('7.2', $_SERVER['argv'])) { + $dest = 'enterprise/8/modular/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el8']; + $mod .= genModule('enterprise/8/php72/x86_64', $dest, '*.rpm', '7.2', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/php73/x86_64', $dest, '*.rpm', '7.3', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/php83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/php84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + $mod .= genDefaults('php', '7.2', ['remi-7.2', 'remi-7.3', 'remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']); + + $deps = ['platform' => 'el8']; + $mod .= genModule('enterprise/8/redis50/x86_64', $dest, 'redis*.rpm', '5.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('enterprise/8/redis60/x86_64', $dest, 'redis*.rpm', '6.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('enterprise/8/redis62/x86_64', $dest, 'redis*.rpm', '6.2', 'x86_64', $deps, $template_redis); + $mod .= genModule('enterprise/8/redis70/x86_64', $dest, 'redis*.rpm', '7.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('enterprise/8/redis72/x86_64', $dest, 'redis*.rpm', '7.2', 'x86_64', $deps, $template_redis); + $mod .= genDefaults('redis', '5', ['remi-5.0', 'remi-6.0', 'remi-6.2', 'remi-7.0', 'remi-7.2']); + + $deps = ['platform' => 'el8', 'php' => '']; + $mod .= genModule('enterprise/8/composer1/x86_64', $dest, '*.rpm', '1', 'x86_64', $deps, $template_comp); + $mod .= genModule('enterprise/8/composer2/x86_64', $dest, '*.rpm', '2', 'x86_64', $deps, $template_comp); + $mod .= genDefaults('composer', '2', ['1', '2']); + createRepo($dest, $mod); +} +if (count($_SERVER['argv']) < 2 || in_array('el8', $_SERVER['argv']) || in_array('el8x', $_SERVER['argv']) + || in_array('7.3', $_SERVER['argv']) || in_array('7.2', $_SERVER['argv'])) { + $dest = 'enterprise/8/debug-modular/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el8']; + $mod .= genModule('enterprise/8/debug-php72/x86_64', $dest, '*.rpm', '7.2', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-php73/x86_64', $dest, '*.rpm', '7.3', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-php83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-php84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + + $deps = ['platform' => 'el8']; + $mod .= genModule('enterprise/8/debug-redis50/x86_64', $dest, 'redis*.rpm', '5.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('enterprise/8/debug-redis60/x86_64', $dest, 'redis*.rpm', '6.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('enterprise/8/debug-redis62/x86_64', $dest, 'redis*.rpm', '6.2', 'x86_64', $deps, $template_redis); + $mod .= genModule('enterprise/8/debug-redis70/x86_64', $dest, 'redis*.rpm', '7.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('enterprise/8/debug-redis72/x86_64', $dest, 'redis*.rpm', '7.2', 'x86_64', $deps, $template_redis); + createRepo($dest, $mod); +} + +if (in_array('el8', $_SERVER['argv']) || in_array('el8a', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) { + $dest = 'enterprise/8/modular-test/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el8']; + $mod .= genModule('enterprise/8/test72/aarch64', $dest, '*.rpm', '7.2', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/test73/aarch64', $dest, '*.rpm', '7.3', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/test74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/test80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/test81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/test82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/test83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/test84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + + $deps = ['platform' => 'el8', 'php' => '']; + $mod .= genModule('enterprise/8/composer2-test/x86_64', $dest, '*.rpm', '2', 'aarch64', $deps, $template_comp); + createRepo($dest, $mod); + + $dest = 'enterprise/8/debug-modular-test/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el8']; + $mod .= genModule('enterprise/8/debug-test72/aarch64', $dest, '*.rpm', '7.2', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-test73/aarch64', $dest, '*.rpm', '7.3', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-test74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-test80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-test81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-test82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-test83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-test84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + createRepo($dest, $mod); +} +if (count($_SERVER['argv']) < 2 || in_array('el8', $_SERVER['argv']) || in_array('el8a', $_SERVER['argv']) + || in_array('noarch', $_SERVER['argv']) + || in_array('7.3', $_SERVER['argv']) || in_array('7.2', $_SERVER['argv'])) { + $dest = 'enterprise/8/modular/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el8']; + $mod .= genModule('enterprise/8/php72/aarch64', $dest, '*.rpm', '7.2', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/php73/aarch64', $dest, '*.rpm', '7.3', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/php74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/php80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/php81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/php82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/php83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/php84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + $mod .= genDefaults('php', '7.2', ['remi-7.2', 'remi-7.3', 'remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']); + + $deps = ['platform' => 'el8']; + $mod .= genModule('enterprise/8/redis60/aarch64', $dest, 'redis*.rpm', '6.0', 'aarch64', $deps, $template_redis); + $mod .= genModule('enterprise/8/redis62/aarch64', $dest, 'redis*.rpm', '6.2', 'aarch64', $deps, $template_redis); + $mod .= genModule('enterprise/8/redis70/aarch64', $dest, 'redis*.rpm', '7.0', 'aarch64', $deps, $template_redis); + $mod .= genModule('enterprise/8/redis72/aarch64', $dest, 'redis*.rpm', '7.2', 'aarch64', $deps, $template_redis); + $mod .= genDefaults('redis', '5', ['remi-6.0', 'remi-6.2', 'remi-7.0', 'remi-7.2']); + + $deps = ['platform' => 'el8', 'php' => '']; + $mod .= genModule('enterprise/8/composer1/x86_64', $dest, '*.rpm', '1', 'aarch64', $deps, $template_comp); + $mod .= genModule('enterprise/8/composer2/x86_64', $dest, '*.rpm', '2', 'aarch64', $deps, $template_comp); + $mod .= genDefaults('composer', '2', ['1', '2']); + createRepo($dest, $mod); +} +if (count($_SERVER['argv']) < 2 || in_array('el8', $_SERVER['argv']) || in_array('el8a', $_SERVER['argv']) + || in_array('7.3', $_SERVER['argv']) || in_array('7.2', $_SERVER['argv'])) { + $dest = 'enterprise/8/debug-modular/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el8']; + $mod .= genModule('enterprise/8/debug-php72/aarch64', $dest, '*.rpm', '7.2', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-php73/aarch64', $dest, '*.rpm', '7.3', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-php74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-php80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-php81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-php82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-php83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/8/debug-php84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + + $deps = ['platform' => 'el8']; + $mod .= genModule('enterprise/8/debug-redis60/aarch64', $dest, 'redis*.rpm', '6.0', 'aarch64', $deps, $template_redis); + $mod .= genModule('enterprise/8/debug-redis62/aarch64', $dest, 'redis*.rpm', '6.2', 'aarch64', $deps, $template_redis); + $mod .= genModule('enterprise/8/debug-redis70/aarch64', $dest, 'redis*.rpm', '7.0', 'aarch64', $deps, $template_redis); + $mod .= genModule('enterprise/8/debug-redis72/aarch64', $dest, 'redis*.rpm', '7.2', 'aarch64', $deps, $template_redis); + createRepo($dest, $mod); +} + +if (in_array('el9', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) { + $dest = 'enterprise/9/modular-test/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el9']; + $mod .= genModule('enterprise/9/test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/9/test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/9/test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/9/test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/9/test83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/9/test84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + + $deps = ['platform' => 'el9', 'php' => '']; + $mod .= genModule('enterprise/9/composer2-test/x86_64', $dest, '*.rpm', '2', 'x86_64', $deps, $template_comp); + createRepo($dest, $mod); + + $dest = 'enterprise/9/debug-modular-test/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el9']; + $mod .= genModule('enterprise/9/debug-test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/9/debug-test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/9/debug-test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/9/debug-test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/9/debug-test83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/9/debug-test84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + createRepo($dest, $mod); +} + +if (count($_SERVER['argv']) < 2 || in_array('el9', $_SERVER['argv']) + || in_array('noarch', $_SERVER['argv'])) { + $dest = 'enterprise/9/modular/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el9']; + $mod .= genModule('enterprise/9/php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/9/php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/9/php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/9/php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/9/php83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/9/php84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + $mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']); + + $mod .= genModule('enterprise/9/redis50/x86_64', $dest, 'redis*.rpm', '5.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('enterprise/9/redis60/x86_64', $dest, 'redis*.rpm', '6.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('enterprise/9/redis62/x86_64', $dest, 'redis*.rpm', '6.2', 'x86_64', $deps, $template_redis); + $mod .= genModule('enterprise/9/redis70/x86_64', $dest, 'redis*.rpm', '7.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('enterprise/9/redis72/x86_64', $dest, 'redis*.rpm', '7.2', 'x86_64', $deps, $template_redis); + $mod .= genDefaults('redis', false, ['remi-5.0', 'remi-6.0', 'remi-6.2', 'remi-7.0', 'remi-7.2']); + + $mod .= genModule('enterprise/9/memcached/x86_64', $dest, 'mem*.rpm', false, 'x86_64', $deps, $template_memcached); + $mod .= genDefaults('memcached', false, ['remi']); + + $mod .= genModule('enterprise/9/composer2/x86_64', $dest, '*.rpm', '2', 'x86_64', $deps, $template_comp); + $mod .= genDefaults('composer', false, ['2']); + createRepo($dest, $mod); +} +if (count($_SERVER['argv']) < 2 || in_array('el9', $_SERVER['argv'])) { + $dest = 'enterprise/9/debug-modular/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el9']; + $mod .= genModule('enterprise/9/debug-php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/9/debug-php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/9/debug-php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/9/debug-php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/9/debug-php83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/9/debug-php84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + + $mod .= genModule('enterprise/9/debug-redis50/x86_64', $dest, 'redis*.rpm', '5.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('enterprise/9/debug-redis60/x86_64', $dest, 'redis*.rpm', '6.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('enterprise/9/debug-redis62/x86_64', $dest, 'redis*.rpm', '6.2', 'x86_64', $deps, $template_redis); + $mod .= genModule('enterprise/9/debug-redis70/x86_64', $dest, 'redis*.rpm', '7.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('enterprise/9/debug-redis72/x86_64', $dest, 'redis*.rpm', '7.2', 'x86_64', $deps, $template_redis); + + $mod .= genModule('enterprise/9/debug-memcached/x86_64', $dest, 'mem*.rpm', false, 'x86_64', $deps, $template_memcached); + createRepo($dest, $mod); +} + +if (count($_SERVER['argv']) < 2 || in_array('el9', $_SERVER['argv']) + || in_array('noarch', $_SERVER['argv'])) { + $dest = 'enterprise/9/modular/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el9']; + $mod .= genModule('enterprise/9/php74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/9/php80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/9/php81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/9/php82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/9/php83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/9/php84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + $mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']); + +// $mod .= genModule('enterprise/9/redis50/aarch64', $dest, 'redis*.rpm', '5.0', 'aarch64', $deps, $template_redis); + $mod .= genModule('enterprise/9/redis60/aarch64', $dest, 'redis*.rpm', '6.0', 'aarch64', $deps, $template_redis); + $mod .= genModule('enterprise/9/redis62/aarch64', $dest, 'redis*.rpm', '6.2', 'aarch64', $deps, $template_redis); + $mod .= genModule('enterprise/9/redis70/aarch64', $dest, 'redis*.rpm', '7.0', 'aarch64', $deps, $template_redis); + $mod .= genModule('enterprise/9/redis72/aarch64', $dest, 'redis*.rpm', '7.2', 'aarch64', $deps, $template_redis); + $mod .= genDefaults('redis', false, ['remi-6.2', 'remi-7.0', 'remi-7.2']); + + $mod .= genModule('enterprise/9/memcached/aarch64', $dest, 'mem*.rpm', false, 'aarch64', $deps, $template_memcached); + $mod .= genDefaults('memcached', false, ['remi']); + + $mod .= genModule('enterprise/9/composer2/x86_64', $dest, '*noarch.rpm', '2', 'aarch64', $deps, $template_comp); + $mod .= genDefaults('composer', false, ['2']); + createRepo($dest, $mod); +} +if (count($_SERVER['argv']) < 2 || in_array('el9', $_SERVER['argv'])) { + $dest = 'enterprise/9/debug-modular/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el9']; + $mod .= genModule('enterprise/9/debug-php74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/9/debug-php80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/9/debug-php81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/9/debug-php82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/9/debug-php83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/9/debug-php84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + +// $mod .= genModule('enterprise/9/debug-redis50/aarch64', $dest, 'redis*.rpm', '5.0', 'aarch64', $deps, $template_redis); + $mod .= genModule('enterprise/9/debug-redis60/aarch64', $dest, 'redis*.rpm', '6.0', 'aarch64', $deps, $template_redis); + $mod .= genModule('enterprise/9/debug-redis62/aarch64', $dest, 'redis*.rpm', '6.2', 'aarch64', $deps, $template_redis); + $mod .= genModule('enterprise/9/debug-redis70/aarch64', $dest, 'redis*.rpm', '7.0', 'aarch64', $deps, $template_redis); + $mod .= genModule('enterprise/9/debug-redis72/aarch64', $dest, 'redis*.rpm', '7.2', 'aarch64', $deps, $template_redis); + + $mod .= genModule('enterprise/9/debug-memcached/aarch64', $dest, 'mem*.rpm', false, 'aarch64', $deps, $template_memcached); + createRepo($dest, $mod); +} + +if (in_array('el9', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) { + $dest = 'enterprise/9/modular-test/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el9']; + $mod .= genModule('enterprise/9/test74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/9/test80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/9/test81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/9/test82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/9/test83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/9/test84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + + $deps = ['platform' => 'el9', 'php' => '']; + $mod .= genModule('enterprise/9/composer2-test/x86_64', $dest, '*.rpm', '2', 'x86_64', $deps, $template_comp); + createRepo($dest, $mod); + + $dest = 'enterprise/9/debug-modular-test/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el9']; + $mod .= genModule('enterprise/9/debug-test74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/9/debug-test80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/9/debug-test81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/9/debug-test82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/9/debug-test83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/9/debug-test84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + createRepo($dest, $mod); +} + +if (in_array('el10', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) { + $dest = 'enterprise/10/modular-test/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el10']; + $mod .= genModule('enterprise/10/test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/10/test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/10/test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/100/test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/10/test83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/10/test84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + + $deps = ['platform' => 'el10', 'php' => '']; + $mod .= genModule('enterprise/10/composer2-test/x86_64', $dest, '*.rpm', '2', 'x86_64', $deps, $template_comp); + createRepo($dest, $mod); + + $dest = 'enterprise/10/debug-modular-test/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el10']; + $mod .= genModule('enterprise/10/debug-test74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/10/debug-test80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/10/debug-test81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/10/debug-test82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/10/debug-test83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/10/debug-test84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + createRepo($dest, $mod); +} + +if (count($_SERVER['argv']) < 2 || in_array('el10', $_SERVER['argv']) + || in_array('noarch', $_SERVER['argv'])) { + $dest = 'enterprise/10/modular/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el10']; + $mod .= genModule('enterprise/10/php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/10/php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/10/php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/10/php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/10/php83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/10/php84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + $mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']); + + $mod .= genModule('enterprise/10/memcached/x86_64', $dest, 'mem*.rpm', false, 'x86_64', $deps, $template_memcached); + $mod .= genDefaults('memcached', false, ['remi']); + + $mod .= genModule('enterprise/10/composer2/x86_64', $dest, '*.rpm', '2', 'x86_64', $deps, $template_comp); + $mod .= genDefaults('composer', false, ['2']); + createRepo($dest, $mod); +} +if (count($_SERVER['argv']) < 2 || in_array('el10', $_SERVER['argv'])) { + $dest = 'enterprise/10/debug-modular/x86_64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el10']; + $mod .= genModule('enterprise/10/debug-php74/x86_64', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/10/debug-php80/x86_64', $dest, '*.rpm', '8.0', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/10/debug-php81/x86_64', $dest, '*.rpm', '8.1', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/10/debug-php82/x86_64', $dest, '*.rpm', '8.2', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/10/debug-php83/x86_64', $dest, '*.rpm', '8.3', 'x86_64', $deps, $template_php); + $mod .= genModule('enterprise/10/debug-php84/x86_64', $dest, '*.rpm', '8.4', 'x86_64', $deps, $template_php); + + $mod .= genModule('enterprise/10/debug-redis50/x86_64', $dest, 'redis*.rpm', '5.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('enterprise/10/debug-redis60/x86_64', $dest, 'redis*.rpm', '6.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('enterprise/10/debug-redis62/x86_64', $dest, 'redis*.rpm', '6.2', 'x86_64', $deps, $template_redis); + $mod .= genModule('enterprise/10/debug-redis70/x86_64', $dest, 'redis*.rpm', '7.0', 'x86_64', $deps, $template_redis); + $mod .= genModule('enterprise/10/debug-redis72/x86_64', $dest, 'redis*.rpm', '7.2', 'x86_64', $deps, $template_redis); + + $mod .= genModule('enterprise/10/debug-memcached/x86_64', $dest, 'mem*.rpm', false, 'x86_64', $deps, $template_memcached); + createRepo($dest, $mod); +} + +if (count($_SERVER['argv']) < 2 || in_array('el10', $_SERVER['argv']) + || in_array('noarch', $_SERVER['argv'])) { + $dest = 'enterprise/10/modular/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el10']; + $mod .= genModule('enterprise/10/php74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/10/php80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/10/php81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/10/php82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/10/php83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/10/php84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + $mod .= genDefaults('php', false, ['remi-7.4', 'remi-8.0', 'remi-8.1', 'remi-8.2', 'remi-8.3', 'remi-8.4']); + + $mod .= genModule('enterprise/10/memcached/aarch64', $dest, 'mem*.rpm', false, 'aarch64', $deps, $template_memcached); + $mod .= genDefaults('memcached', false, ['remi']); + + $mod .= genModule('enterprise/10/composer2/x86_64', $dest, '*noarch.rpm', '2', 'aarch64', $deps, $template_comp); + $mod .= genDefaults('composer', false, ['2']); + createRepo($dest, $mod); +} +if (count($_SERVER['argv']) < 2 || in_array('el10', $_SERVER['argv'])) { + $dest = 'enterprise/10/debug-modular/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el10']; + $mod .= genModule('enterprise/10/debug-php74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/10/debug-php80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/10/debug-php81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/10/debug-php82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/10/debug-php83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/10/debug-php84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + + $mod .= genModule('enterprise/10/debug-memcached/aarch64', $dest, 'mem*.rpm', false, 'aarch64', $deps, $template_memcached); + createRepo($dest, $mod); +} + +if (in_array('el10', $_SERVER['argv']) || in_array('test', $_SERVER['argv'])) { + $dest = 'enterprise/10/modular-test/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el10']; + $mod .= genModule('enterprise/10/test74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/10/test80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/10/test81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/10/test82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/10/test83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/10/test84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + + $deps = ['platform' => 'el10', 'php' => '']; + $mod .= genModule('enterprise/10/composer2-test/x86_64', $dest, '*.rpm', '2', 'x86_64', $deps, $template_comp); + createRepo($dest, $mod); + + $dest = 'enterprise/10/debug-modular-test/aarch64'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el10']; + $mod .= genModule('enterprise/10/debug-test74/aarch64', $dest, '*.rpm', '7.4', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/10/debug-test80/aarch64', $dest, '*.rpm', '8.0', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/10/debug-test81/aarch64', $dest, '*.rpm', '8.1', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/10/debug-test82/aarch64', $dest, '*.rpm', '8.2', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/10/debug-test83/aarch64', $dest, '*.rpm', '8.3', 'aarch64', $deps, $template_php); + $mod .= genModule('enterprise/10/debug-test84/aarch64', $dest, '*.rpm', '8.4', 'aarch64', $deps, $template_php); + createRepo($dest, $mod); +} + +if (count($_SERVER['argv']) > 1 && in_array('epel', $_SERVER['argv'])) { + $dest = 'temp/epel-8-modular'; + echo "Populate $dest\n"; + cleanup($dest); + $mod = ''; + + $deps = ['platform' => 'el8', 'php' => '7.2']; + $mod .= genModule('temp/epel-8-php-7.2', $dest, '*.rpm', '7.2', 'x86_64', $deps, $template_phpextras); + $deps = ['platform' => 'el8', 'php' => '7.3']; + $mod .= genModule('temp/epel-8-php-7.3', $dest, '*.rpm', '7.3', 'x86_64', $deps, $template_phpextras); + $deps = ['platform' => 'el8', 'php' => '7.4']; + $mod .= genModule('temp/epel-8-php-7.4', $dest, '*.rpm', '7.4', 'x86_64', $deps, $template_phpextras); + $mod .= genDefaults('php-extras', '7.2', ['7.2', '7.3', '7.4']); + createRepo($dest, $mod); +} + +echo "Done\n"; @@ -3,16 +3,67 @@ TMP=/tmp/liste.$(basename $PWD) nom=${PWD#/home/rpmbuild/site/rpms/} -if [ "$nom" = "SRPMS" ] +if [ "${nom%%/*}" = "temp" ] +then + dis=enterprise + ver=8 + old=2 + dst=/data/rpms/old +elif [ "$nom" = "SRPMS" ] then dis=fedora - ver=31 - old=6 + ver=42 + old=8 + dst=/data/rpms/SRPMS.remi else dis=${nom%%/*} ver=${nom#$dis/} ver=${ver%%/*} old=2 + dst=/data/rpms/old +fi + +GPG_PATH=/home/remi/.gnupgrpm +if [ "$dis" == "fedora" ]; then + # Fedora + if [ "$ver" -ge 42 ] + then echo "key 2025" + GPG_NAME="83833E4687A4AA03B6AC94F2061566968F1F4B2D" + elif [ "$ver" -ge 40 ] + then echo "key 2024" + GPG_NAME="CF1DF0057CE85DFF5B2F2A37C2FD3B2C2A0948E4" + elif [ "$ver" -ge 38 ] + then echo "key 2023" + GPG_NAME="50A5E157DFE548EC7C05E9D8D5933DAB6DEFD35E" + elif [ "$ver" -ge 36 ] + then echo "key 2022" + GPG_NAME="845160D23149DAD504F0A32D83C0639E1FEF0014" + elif [ "$ver" -ge 34 ] + then echo "key 2021" + GPG_NAME="B1ABF71E14C9D74897E198A8B19527F1478F8947" + elif [ "$ver" -ge 32 ] + then echo "key 2020" + GPG_NAME="34C10BDBCC6F1B252E50BA1A0714919E4C21A808" + elif [ "$ver" -ge 30 ] + then echo "key 2019" + GPG_NAME="5F136145BF10369B7685D8DE503666CCBBAE6F1B" + else echo "older key" + exit 1 + fi +else + # Enterprise + if [ "$ver" -ge 10 ] + then echo "key 2024" + GPG_NAME="CF1DF0057CE85DFF5B2F2A37C2FD3B2C2A0948E4" + elif [ "$ver" -ge 9 ] + then echo "key 2021" + GPG_NAME="B1ABF71E14C9D74897E198A8B19527F1478F8947" + elif [ "$ver" -ge 8 ] + then echo "key 2018" + GPG_NAME="6B38FEA7231F87F52B9CA9D8555097595F11735A" + else echo "old key" + GPG_NAME="1EE04CCE88A4AE4AA29A5DF5004E6F4700F97F56" + fi fi if [ ${1:-check} != nocheck ]; then @@ -20,76 +71,52 @@ if [ ${1:-check} != nocheck ]; then rpm -K *.rpm | grep -v 'signatures.*OK' | cut -d: -f1 | tee $TMP if [ -s $TMP ] then - if [ "$dis" == "fedora" -a "$ver" -ge 30 ] - then echo "key 2019" - rpmsign --define '_gpg_path /home/remi/.gnupg2019' --define "_gpg_name Remi's RPM repository" --addsign $(cat $TMP) - - elif [ "$dis" == "fedora" -a "$ver" -ge 28 ] - then echo "key 2018" - rpmsign --define '_gpg_path /home/remi/.gnupg2018' --define "_gpg_name Remi's RPM repository" --addsign $(cat $TMP) - - elif [ "$dis" == "enterprise" -a "$ver" -ge 8 ] - then echo "key 2018" - rpmsign --define '_gpg_path /home/remi/.gnupg2018' --define "_gpg_name Remi's RPM repository" --addsign $(cat $TMP) - - elif [ "$dis" == "fedora" -a "$ver" -ge 26 ] - then echo "key 2017" - rpmsign --define '_gpg_path /home/remi/.gnupg2017' --define "_gpg_name Remi's RPM repository" --addsign $(cat $TMP) - - else echo "old key" - rpmsign --define '_gpg_path /home/remi/.gnupgrpm' --define "_gpg_name Remi Collet" --addsign $(cat $TMP) - fi - else echo OK. + rpmsign --define "_gpg_path $GPG_PATH" --define "_gpg_name $GPG_NAME" --addsign $(cat $TMP) + else + echo OK. fi fi if [ ${2:-clean} != noclean ]; then echo "+ Nettoyage des anciens ($old)" + cleanoldrpm $old $dst + + # https://bugzilla.redhat.com/show_bug.cgi?id=1899852 - repomanage is broken, reports not existing packages # use old deprecated yum command see https://bugzilla.redhat.com/1537981 #dnf repomanage --old --keep=$old . | tee $TMP - repomanage --old --keep=$old . 2>/dev/null | tee $TMP - LST=$(cat $TMP) - - if [ -n "$LST" ] - then mv $LST /data/rpms/old/ - fi + #repomanage --old --keep=$old . --setopt=metadata_expire=1 2>/dev/null | tee $TMP + #LST=$(cat $TMP) + #if [ -n "$LST" ] + #then mv $LST /data/rpms/old/ + #fi fi cache=/home/rpmbuild/site/rpms/.createrepocache/$nom mkdir -p $cache check=sha256 #if [ "$dis" == "fedora" -a "$ver" -ge 99 ]; then -if true; then cleanoldmeta repodata echo "+ Génération repodata (createrepo_c, $check)" - createrepo_c --workers 4 \ + createrepo_c --workers 12 \ --cachedir $cache \ --unique-md-filenames \ --retain-old-md 8 \ --changelog-limit 3 \ --compress-type=bz2 \ + --general-compress-type=bz2 \ --quiet \ --database $(pwd) -else - cleanoldmeta repodata - echo "+ Génération repodata (createrepo, $check)" - createrepo --workers 4 \ - --cachedir $cache \ - --checksum $check \ - --unique-md-filenames \ - --retain-old-md 8 \ - --changelog-limit 3 \ - --compress-type=bz2 \ - --database . -fi +#fi +rm -f repodata/repomd.xml.asc +gpg --armor --detach-sign --default-key "$GPG_NAME" --homedir "$GPG_PATH" repodata/repomd.xml -echo "+ Génération repoview" -nom=${PWD#/home/rpmbuild/site/rpms/} +#echo "+ Génération repoview" +#nom=${PWD#/home/rpmbuild/site/rpms/} #echo repoview --quiet --url http://rpms.remirepo.net/$nom \ # --template-dir /home/rpmbuild/site/rpms/repotmpl \ # --title "Remi's RPM repository - ${nom//\// - }" . -LANG=C repoview --quiet --url http://rpms.remirepo.net/$nom \ - --template-dir /home/rpmbuild/site/rpms/repotmpl \ - --title "Remi's RPM repository - ${nom//\// - }" . +#LANG=C repoview --quiet --url http://rpms.remirepo.net/$nom \ +# --template-dir /home/rpmbuild/site/rpms/repotmpl \ +# --title "Remi's RPM repository - ${nom//\// - }" . @@ -0,0 +1,270 @@ +#!/bin/bash + +if [ "$2" = "" ]; then + echo -e "\nusage: $0 [ options ] SRPM distro [ min_ver [, max_ver [, mock_options ]]]\n" + echo -e "\t--redis store build command in redis queue" + echo -e "\t--valkey store build command in valkey queue" + echo -e "\t--list list queue content" + echo -e "\t--nobase | --scl only build PHP SCL packages" + echo -e "\t--noscl | --base only build PHP base packages" + echo -e "\t--mock distro is a mock config name\n" + echo -e "Special distro: all, zts, memcached, im6, im7\n" + exit 0 +fi + +# Script options +BUILD_BASE=1 +BUILD_SCLS=1 +BUILD_MOCK=0 +REDIS=0 +REMOTE=0 + +# ARCH detection and check +if [ "$(uname -m)" = "x86_64" ]; then + SUF=x + QUEUE=mockx + REDISCLI="valkey-cli" +else + SUF=a + QUEUE=mocka + REDISCLI="valkey-cli -h remi" +fi + +if [ "$1" == "--redis" -o "$1" == "--valkey" ]; then + CHECK=$($REDISCLI ping) + [ "$CHECK" = "PONG" ] || exit 1 + REDIS=1 + shift +fi + +# Queue commands +if [ "$1" == "--list" ]; then + a=$($REDISCLI bgsave) + echo "-- x86_64 queue: $($REDISCLI scard mockx) tasks --" + a=$($REDISCLI smembers mockx) + [ -n "$a" ] && $REDISCLI smembers mockx | \ + sed -e 's/^.*-r / /;s/rebuild/\t/;s:/.*/::' | sort | head -n 25 || \ + ps -ef | grep mock/mock | grep -v grep + + echo -e "\n-- aarch64 queue: $($REDISCLI scard mocka) tasks --" + a=$($REDISCLI smembers mocka) + [ -n "$a" ] && $REDISCLI smembers mocka | \ + sed -e 's/^.*-r / /;s/rebuild/\t/;s:/.*/::'| sort || \ + ps -ef | ssh remi@ampere 'ps -ef | grep mock/mock | grep -v grep' + + exit 0 +elif [ "$1" == "--clean" ]; then + $REDISCLI del mockx + $REDISCLI del mocka + exit 0 +fi + +if [ "$1" == "--nobase" -o "$1" == "--scl" ]; then + BUILD_BASE=0 + shift +elif [ "$1" == "--noscl" -o "$1" == "--base" ]; then + BUILD_SCLS=0 + shift +elif [ "$1" == "--mock" ]; then + BUILD_BASE=0 + BUILD_SCLS=0 + BUILD_MOCK=1 + shift +fi + +SRPM=$1 +DIST=$2 +shift 2 + +# PHP version build range +if [ "$1" = "" ]; then + MIN=56 +else + MIN=$1 + shift +fi +if [ "$1" = "" ]; then + MAX=84 +else + MAX=$1 + shift +fi + +case $DIST in + *x|*xm|*xr|*xr62|*xr72) + if [ $SUF != x ]; then + echo "Not an x86_64 builder" + exit 1 + fi + ;; + *a|*am|*ar|*ar62|*ar72) + if [ $SUF != a ]; then + if [ $REDIS -ge 1 ]; then + REMOTE=1 + else + echo "Not an aarch64 builder" + exit 1 + fi + fi + ;; +esac + +# SRPM abolute path +mockref=/home/rpmbuild/SPECS/remirepo/tools/mock +mocketc=$mockref +srpmdir=/home/rpmbuild/site/rpms/SRPMS +case $DIST in + *a|*am) + mocketc=/home/remi/mock + srpmdir=/home/remi/SRPMS + ;; +esac + +if [ -f $srpmdir/$SRPM ]; then + SRPM=$srpmdir/$SRPM +elif [ -f $PWD/$SRPM ]; then + SRPM=$PWD/$SRPM +elif [ ! -f $SRPM ]; then + echo "file not found '$SRPM'" + exit 1 +fi + +# Send to remote aarch64 builder +if [ $REMOTE -ge 1 ]; then + LST=/tmp/srpm_aarch64_sent.list + touch $LST + if ! grep -q $SRPM $LST; then + scp $SRPM remi@ampere:todo/ + echo $SRPM >>$LST + fi + mocketc=/home/remi/mock + QUEUE=mocka + SRPM=/home/remi/todo/$(basename $SRPM) +fi + +# PHP version matrix +echo mockit $SRPM $DIST $MIN $MAX $@ +case $DIST in + fc42x|fc42a|fc40x|fc40a|fc41x|fc41a|el9x|el9a|el10x|el10a) + LST="74 80 81 82 83 84" + SCL="74 80 81 82 83 84" + ;; + el8a) + LST="72 73 74 80 81 82 83 84" + SCL="72 73 74 80 81 82 83 84" + ;; + el8x) + LST="72 73 74 80 81 82 83 84" + SCL="56 70 71 72 73 74 80 81 82 83 84" + ;; + all) + if [ $REDIS -ge 1 ]; then + for i in fc40x fc41x fc42x el8x el9x el10x fc40a fc41a fc42a el8a el9a el10a + do + [ $BUILD_BASE -ge 1 ] && $0 --valkey --base $SRPM $i $MIN $MAX $@ + [ $BUILD_SCLS -ge 1 ] && $0 --valkey --scl $SRPM $i $MIN $MAX $@ + done + else + echo Not supported for direct build + fi + ;; + zts) + if [ $REDIS -ge 1 ]; then + [ $MAX -gt 83 ] && MAX=83 + for i in fc40x el8x el9x + do + [ $BUILD_BASE -ge 1 ] && $0 --valkey --base $SRPM $i $MIN $MAX $@ + done + else + echo Not supported for direct build + fi + ;; + memcached) + if [ $REDIS -ge 1 ]; then + for i in fc40xm fc41x fc42x el8x el9xm el10xm fc40am fc41a fc42a el8a el9am el10am + do + $0 --valkey --mock $SRPM $i $MIN $MAX $@ + done + else + echo Not supported for direct build + fi + ;; + im6) + if [ $REDIS -ge 1 ]; then + for i in fc40x el8xr el9x fc40a el8ar el9a + do + $0 --valkey --mock $SRPM $i $MIN $MAX $@ + done + else + echo Not supported for direct build + fi + ;; + im7) + if [ $REDIS -ge 1 ]; then + for i in fc40x fc41x fc42x el8xr el9x el10x fc40a fc41a fc42a el8ar el9a el10a + do + $0 --valkey --mock $SRPM $i $MIN $MAX $@ + done + else + echo Not supported for direct build + fi + ;; + r*) + if [ $REDIS -ge 1 ]; then + for i in fc40x el8x el9x fc40a el8a el9a + do + $0 --valkey --mock $SRPM ${i}${DIST} $MIN $MAX $@ + done + else + echo Not supported for direct build + fi + ;; + *) + if [ $BUILD_MOCK -eq 0 -o ! -f ${mockref}/${DIST}.cfg ]; then + [ $BUILD_MOCK -eq 0 ] && echo "BUILD_MOCK=0" + [ ! -f ${mocketc}/${DIST}.cfg ] && echo "${mockref}/${DIST}.cfg missing" + echo Unkown DIST $DIST + exit 1 + fi + ;; +esac + +ID=${QUEUE:-$PPID} + +# Build base/modules +[ $BUILD_BASE -ge 1 ] && for i in $LST +do + if [ 0$i -ge $MIN -a 0$i -le $MAX ]; then + CMD="mock -q --configdir=$mocketc -r ${DIST}${i} rebuild $SRPM $@" + if [ $REDIS -ge 1 ]; then + $REDISCLI sadd $QUEUE "$CMD" + else + echo -n "$(date +%X) $i " + $CMD --uniqueext=$ID && echo " Ok." || echo " Error !" + fi + fi +done +# Build Software Collections +[ $BUILD_SCLS -ge 1 ] && for i in $SCL +do + if [ 0$i -ge $MIN -a 0$i -le $MAX ]; then + CMD="mock -q --configdir=$mocketc -r ${DIST}scl${i} rebuild $SRPM $@" + if [ $REDIS -ge 1 ]; then + $REDISCLI sadd $QUEUE "$CMD" + else + echo -n "$(date +%X) scl$i " + $CMD --uniqueext=$ID && echo " Ok." || echo " Error !" + fi + fi +done +# Build using mock config +if [ $BUILD_MOCK -ge 1 ]; then + CMD="mock -q --configdir=$mocketc -r ${DIST} rebuild $SRPM $@" + $REDISCLI sadd $QUEUE "$CMD" +fi + +if [ $REDIS -ge 1 ]; then + echo "Queue size: " $($REDISCLI scard $QUEUE) +else + date +%X +fi @@ -0,0 +1,51 @@ +#!/bin/bash + +# ARCH detection and check +if [ "$(uname -m)" = "x86_64" ]; then + QUEUE=mockx + REDISCLI="valkey-cli" +else + QUEUE=mocka + REDISCLI="valkey-cli -h remi" +fi + +CHECK=$($REDISCLI ping) +[ "$CHECK" = "PONG" ] || exit 1 + +if [ "$1" = "-h" -o "$1" = "--help" ]; then + echo "Usage $0 [ option ]" + echo " -e --erase to empty the queue" + echo " -l --list to list the queue" + echo " -p --perm to run permanently" + + exit 0 + +elif [ "$1" = "-l" -o "$1" = "--list" ]; then + $REDISCLI smembers $QUEUE + exit 0 + +elif [ "$1" = "-e" -o "$1" = "--erase" ]; then + $REDISCLI del $QUEUE + exit 0 +fi + +while true +do + CMD=$($REDISCLI spop $QUEUE) + if [ -z "$CMD" ]; then + if [ "$1" = "-p" -o "$1" = "--perm" ]; then + echo -n . + sleep 1 + continue + else + break + fi + fi + TXT="$(echo $CMD | sed -e 's/^.*-r //;s/ .*$//') " + RPM="$(echo $CMD | sed -e 's:\.rpm.*$:.rpm:;s:^.*/::')" + echo -en "\r$(date +%X) $RPM ${TXT:0:10} " + $CMD --uniqueext=$PPID && echo " Ok." || echo " Error !" +done + +echo "$(date +%X) Done" + @@ -5,7 +5,7 @@ rpmdate=$(LC_ALL="C" date +"%a %b %d %Y") rpmdate=${rpmdate/ 0/ } if [ $# -lt 2 ]; then - echo "usage $0 old new [ spec ]" + echo "usage $0 old new [ spec ] [ oldsuffix newsuffix ]" exit 1 fi if [ -n "$3" ]; then @@ -14,34 +14,61 @@ else name=$(basename $PWD).spec fi +if [ ! -f $3 ]; then + echo "cannot read '$3' spec file" + echo "usage $0 old new [ spec ] [ oldsuffix newsuffix ]" + exit 1 +fi + +oldver="$1" +newver="$2" +rpmver="$2" + +if [ "x$4" = "xGA" ]; then + sed -e '/global upstream_prever/s/^#global/%global/' \ + -i *spec +elif [ -n "$4" ]; then + oldver="$1$4" +fi + +if [ "x$5" = "xGA" ]; then + sed -e '/global upstream_prever/s/^%global/#global/' \ + -i *spec +elif [ -n "$5" ]; then + sed -e "/global upstream_prever/s/prever.*$/prever $5/" \ + -i *spec + newver="$2$5" + rpmver="$2~$5" +fi + if ! grep -q pecl_name $name; then -sed -e '/^Release:/s/[0-9].*$/1%{?dist}/' \ - -i *spec + sed -e '/^Release:/s/[0-9].*$/1%{?dist}/' \ + -i *spec else echo "Release inchangée" fi if ! grep -q "^Version:.*$2" $name; then -sed -e "/^Version:/s/$1/$2/" \ - -e "/upstream_version/s/$1/$2/" \ - -e "s/%changelog/%changelog\n* $rpmdate $vendor - $2-1\n- update to $2\n/" \ - -e 's/\$RPM_BUILD_ROOT/%{buildroot}/' \ - -i $name + sed -e "/^Version:/s/$1/$2/" \ + -e "/upstream_version/s/$1/$2/" \ + -e "s/%changelog/%changelog\n* $rpmdate $vendor - $rpmver-1\n- update to $newver\n/" \ + -e 's/\$RPM_BUILD_ROOT/%{buildroot}/' \ + -i $name else echo "Version déjà modifiée" fi spectool -g -S $name -tar xf *-$1.tgz package.xml && mv package.xml package-$1.xml -comp=$(tar xvf *-$1.tgz '*/composer.json') +tar xf *-$oldver.tgz package.xml && mv package.xml package-$oldver.xml +comp=$(tar xvf *-$oldver.tgz '*/composer.json') if [ -n "$comp" ]; then - mv $comp composer-$1.json + mv $comp composer-$oldver.json fi -tar xf *-$2.tgz package.xml && mv package.xml package-$2.xml -comp=$(tar xvf *-$2.tgz '*/composer.json') +tar xf *-$newver.tgz package.xml && mv package.xml package-$newver.xml +comp=$(tar xvf *-$newver.tgz '*/composer.json') if [ -n "$comp" ]; then - mv $comp composer-$2.json + mv $comp composer-$newver.json fi -colordiff -u package-$1.xml package-$2.xml -[ -f composer-$1.json -a -f composer-$2.json ] && \ - colordiff -u composer-$1.json composer-$2.json +colordiff -u package-$oldver.xml package-$newver.xml +[ -f composer-$oldver.json -a -f composer-$newver.json ] && \ + colordiff -u composer-$oldver.json composer-$newver.json @@ -6,20 +6,26 @@ rpmdate=${rpmdate/ 0/ } name=$(basename $PWD) if [ $# -lt 2 ]; then - echo "usage $0 version commit" + echo "usage $0 version commit [ date [ spec ]]" exit 1 fi if [ x$3 = x ]; then + date=$(date +%Y-%m-%d) +else + date=$3 +fi +if [ x$4 = x ]; then name=$(basename $PWD) else - name=$(basename $3 .spec) + name=$(basename $4 .spec) fi sed --regexp-extended \ --expression "/^Version:/s/[0-9.]+$/$1/" \ --expression "/github_version/s/[0-9.]+$/$1/" \ --expression "/upstream_version/s/[0-9.]+$/$1/" \ - --expression "/(github|gh)_commit/s/[0-9a-f]{40}$/$2/" \ + --expression "/(github_|gh_| )commit /s/[0-9a-f]{40}$/$2/" \ + --expression "/(github|gh)_date/s/[0-9\-]{10}$/$date/" \ --expression '/^Release:/s/[0-9.]+/1/' \ --expression "s/%changelog/%changelog\n* $rpmdate $vendor - $1-1\n- update to $1\n/" \ --in-place $name.spec diff --git a/sortrefl b/sortrefl new file mode 100755 index 0000000..f38efb5 --- /dev/null +++ b/sortrefl @@ -0,0 +1,51 @@ +#!/usr/bin/php +<?php +if ($_SERVER['argc'] < 2) { + die("usage %s filename\n"); +} +$in = fopen($name = $_SERVER['argv'][1], "r"); +if (!$in) { + die("Can't read input file $name\n"); +} + +$res = []; +$tab = []; +$class = $method = false; +fprintf(STDERR, "Reading $name:\n"); +while ($buf = fgets($in)) { + if (preg_match("/Class .* class ([^ ]*) /", $buf, $m)) { + $class = strtolower($m[1]); + $res[$class] = []; + $tab[$class] = $buf; + fprintf(STDERR, "+ $class\n"); + } else if (preg_match("/Method .* method ([^ ]*) /", $buf, $m)) { + $method = strtolower($m[1]); + $res[$class][$method] = ''; + fprintf(STDERR, "+ $method\n"); + } + + if ($class) { + if ($method) { + $res[$class][$method] .= $buf; + } + } + + if (strpos($buf, "}") == 8) { + $method = false; + } else if (strpos($buf, "}") == 4) { + $class = false; + } +} + +ksort($res); +foreach ($res as $class => $methods) { + echo $tab[$class]; + + ksort($methods); + foreach ($methods as $method => $def) { + echo $def; + } +} +fprintf(STDERR, "\nDone\n"); +fclose($in); +?> |