#!/bin/sh #set -x TMP=/tmp/liste.$(basename $PWD) nom=${PWD#/home/rpmbuild/site/rpms/} if [ "${nom%%/*}" = "temp" ] then dis=enterprise ver=8 old=2 dst=/data/rpms/old elif [ "$nom" = "SRPMS" ] then dis=fedora ver=40 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 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 2021" 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 echo "+ Controle des signatures" rpm -K *.rpm | grep -v 'signatures.*OK' | cut -d: -f1 | tee $TMP if [ -s $TMP ] then 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 . --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 cleanoldmeta repodata echo "+ Génération repodata (createrepo_c, $check)" 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) #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 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//\// - }" .