diff options
Diffstat (limited to 'mockit')
| -rwxr-xr-x | mockit | 162 |
1 files changed, 135 insertions, 27 deletions
@@ -1,18 +1,27 @@ #!/bin/bash if [ "$2" = "" ]; then - echo -e "\nusage: $0 [ options ] SRPM distro [ min_ver [, max_ver [, mock_options ]]]\n" + echo -e "\nusage: $0 [ options ] SRPM target [ 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 SCL packages" - echo -e "\t--noscl | --base only build base packages\n" + 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 "Targets:" + echo -e "\tDistribution: el8a el8x el9a el9x el10a el10x fc41a fc41x fc42a fc42x fc43a fc43x" + echo -e "\tPHP: all, zts" + echo -e "\tMemcached: memcached" + echo -e "\tLibraries: im6, im7, vips" + echo -e "\tRedis: r60, r62, r70, r72, r80, r82, r84" + echo -e "\tValkey: v81, v90\n" exit 0 fi # Script options BUILD_BASE=1 BUILD_SCLS=1 +BUILD_MOCK=0 REDIS=0 REMOTE=0 @@ -36,6 +45,7 @@ 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 | \ @@ -61,6 +71,11 @@ if [ "$1" == "--nobase" -o "$1" == "--scl" ]; then 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 @@ -75,20 +90,20 @@ else shift fi if [ "$1" = "" ]; then - MAX=84 + MAX=85 else MAX=$1 shift fi case $DIST in - *x) + *x|*xm|*xr|*xr62|*xr72|*xr80|*xr82|*xr84|*xv81|*xv90) if [ $SUF != x ]; then echo "Not an x86_64 builder" exit 1 fi ;; - *a) + *a|*am|*ar|*ar62|*ar72|*ar80|*ar82|*ar84|*av81|*av90) if [ $SUF != a ]; then if [ $REDIS -ge 1 ]; then REMOTE=1 @@ -98,18 +113,14 @@ case $DIST in fi fi ;; - *) - DIST=$DIST$SUF - ;; esac # SRPM abolute path +mockref=/home/rpmbuild/SPECS/remirepo/tools/mock +mocketc=$mockref +srpmdir=/home/rpmbuild/site/rpms/SRPMS case $DIST in - *x) - mocketc=/home/rpmbuild/SPECS/remirepo/tools/mock - srpmdir=/home/rpmbuild/site/rpms/SRPMS - ;; - *a) + *a|*am) mocketc=/home/remi/mock srpmdir=/home/remi/SRPMS ;; @@ -137,24 +148,27 @@ if [ $REMOTE -ge 1 ]; then SRPM=/home/remi/todo/$(basename $SRPM) fi +TARGET_IM6="el8xr el9x el8ar el9a" +TARGET_IM7="fc41x fc42x fc43x el8xr el9x el10x fc41a fc42a fc43a el8ar el9a el10a" + # PHP version matrix echo mockit $SRPM $DIST $MIN $MAX $@ case $DIST in - fc39x|fc39a|fc40x|fc40a|fc41x|fc41a|el9x|el9a|el10x|el10a) - LST="82 81 74 80 83 84" - SCL="74 80 81 82 83 84" + fc43x|fc43a|fc42x|fc42a|fc41x|fc41a|el9x|el9a|el10x|el10a) + LST="74 80 81 82 83 84 85" + SCL="74 80 81 82 83 84 85" ;; el8a) - LST="72 73 74 80 81 82 83 84" - SCL="72 73 74 80 81 82 83 84" + LST="72 73 74 80 81 82 83 84 85" + SCL="72 73 74 80 81 82 83 84 85" ;; el8x) - LST="72 73 74 80 81 82 83 84" - SCL="56 70 71 72 73 74 80 81 82 83 84" + LST="72 73 74 80 81 82 83 84 85" + SCL="56 70 71 72 73 74 80 81 82 83 84 85" ;; - allx) + all) if [ $REDIS -ge 1 ]; then - for i in fc39x fc40x fc41x el8x el9x el10x fc39a fc40a fc41a el8a el9a el10a + for i in fc41x fc42x fc43x el8x el9x el10x fc41a fc42a fc43a 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 $@ @@ -163,10 +177,10 @@ case $DIST in echo Not supported for direct build fi ;; - ztsx) + zts) if [ $REDIS -ge 1 ]; then [ $MAX -gt 83 ] && MAX=83 - for i in fc39x fc40x el8x el9x + for i in el8x el9x do [ $BUILD_BASE -ge 1 ] && $0 --valkey --base $SRPM $i $MIN $MAX $@ done @@ -174,9 +188,98 @@ case $DIST in echo Not supported for direct build fi ;; + memcached) + if [ $REDIS -ge 1 ]; then + for i in fc41x fc42x fc43x el8x el9xm el10xm fc41a fc42a fc43a 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 $TARGET_IM6 + 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 $TARGET_IM7 + do + $0 --valkey --mock $SRPM $i $MIN $MAX $@ + done + else + echo Not supported for direct build + fi + ;; + vips) + if [ $REDIS -ge 1 ]; then + for i in $TARGET_IM6 + do + $0 --valkey --mock $SRPM $i $MIN $MAX --without heif --without im7 --with im6 + done + for i in $TARGET_IM7 + do + $0 --valkey --mock $SRPM $i $MIN $MAX --without heif --without im7 --with gm + $0 --valkey --mock $SRPM $i $MIN $MAX --with heif --with im7 + done + else + echo Not supported for direct build + fi + ;; + v81|v90) + if [ $REDIS -ge 1 ]; then + for i in fc42x fc43x fc41x el8x el9x el10x fc41a fc42a fc43a el8a el9a el10a + do + $0 --valkey --mock $SRPM ${i}${DIST} $MIN $MAX $@ + done + else + echo Not supported for direct build + fi + ;; + r80|r82|r84) + if [ $REDIS -ge 1 ]; then + for i in fc42x fc41x fc43x el8x el9x el10x fc41a fc42a fc43a el8a el9a el10a + do + $0 --valkey --mock $SRPM ${i}${DIST} $MIN $MAX $@ + done + else + echo Not supported for direct build + fi + ;; + r72) + if [ $REDIS -ge 1 ]; then + for i in el8x el9x el10x el8a el9a el10a + do + $0 --valkey --mock $SRPM ${i}${DIST} $MIN $MAX $@ + done + else + echo Not supported for direct build + fi + ;; + r60|r62|r70) + if [ $REDIS -ge 1 ]; then + for i in el8x el9x el8a el9a + do + $0 --valkey --mock $SRPM ${i}${DIST} $MIN $MAX $@ + done + else + echo Not supported for direct build + fi + ;; *) - echo Unkown DIST $DIST - exit 1 + 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 @@ -208,6 +311,11 @@ do 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) |
