diff options
Diffstat (limited to 'mkrepo')
-rwxr-xr-x | mkrepo | 104 |
1 files changed, 58 insertions, 46 deletions
@@ -8,16 +8,56 @@ then dis=enterprise ver=8 old=2 + dst=/data/rpms/old elif [ "$nom" = "SRPMS" ] then dis=fedora - ver=31 - old=6 + 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 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 @@ -25,73 +65,45 @@ 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 32 ] - then echo "key 2020" - rpmsign --define '_gpg_path /home/remi/.gnupg2020' --define "_gpg_name Remi's RPM repository" --addsign $(cat $TMP) - - elif [ "$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/} |