summaryrefslogtreecommitdiffstats
path: root/mkrepo
diff options
context:
space:
mode:
Diffstat (limited to 'mkrepo')
-rwxr-xr-xmkrepo104
1 files changed, 58 insertions, 46 deletions
diff --git a/mkrepo b/mkrepo
index 16bffc7..429811d 100755
--- a/mkrepo
+++ b/mkrepo
@@ -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/}