#!/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=34 old=8 dst=/data/rpms/SRPMS.remi else dis=${nom%%/*} ver=${nom#$dis/} ver=${ver%%/*} old=2 dst=/data/rpms/old fi GPG_NAME="Remi's RPM repository" if [ "$dis" == "fedora" ]; then # Fedora if [ "$ver" -ge 34 ] then echo "key 2021" GPG_PATH=/home/remi/.gnupg2021 elif [ "$ver" -ge 32 ] then echo "key 2020" GPG_PATH=/home/remi/.gnupg2020 elif [ "$ver" -ge 30 ] then echo "key 2019" GPG_PATH=/home/remi/.gnupg2019 else echo "older key" exit 1 fi else # Enterprise if [ "$dis" == "enterprise" -a "$ver" -ge 8 ] then echo "key 2018" GPG_PATH=/home/remi/.gnupg2018 else echo "old key" GPG_PATH=/home/remi/.gnupgrpm GPG_NAME="Remi Collet" 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 if true; then cleanoldmeta repodata echo "+ Génération repodata (createrepo_c, $check)" createrepo_c --workers 4 \ --cachedir $cache \ --unique-md-filenames \ --retain-old-md 8 \ --changelog-limit 3 \ --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 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//\// - }" .