#!/bin/sh TMPSIG=$(mktemp) TMPLNK=$(mktemp) TMPSIG1=$(mktemp) TMPSIG2=$(mktemp) TMPSIG3=$(mktemp) cd /home/rpmbuild/site/rpms for dep in fedora/{24,25,26,27,28,29}/*/{i386,x86_64} enterprise/{6,7}/*/{i386,x86_64,armhfp} do arch=${dep##*/} LST="" if [ -d $dep/repodata -a $dep -nt $dep/repodata -a ! -f $dep/.closed ] then echo "== Nouveaux RPM dans $dep ==" if [ $arch = x86_64 ] then find $dep -name \*.rpm -a -newer $dep/repodata -print >>$TMPSIG else find $dep -name \*.noarch.rpm -a -newer $dep/repodata -print >>$TMPLNK find $dep -name \*.i?86.rpm -a -newer $dep/repodata -print >>$TMPSIG fi fi done find SRPMS -name \*.rpm -a -newer SRPMS/repodata -print >>$TMPSIG if [ -s $TMPSIG ]; then echo "À signer:"; sort < $TMPSIG grep fc26 $TMPSIG > $TMPSIG2 grep fc27 $TMPSIG >> $TMPSIG2 grep fc28 $TMPSIG > $TMPSIG3 grep fc29 $TMPSIG > $TMPSIG3 grep src.rpm $TMPSIG >> $TMPSIG3 if [ -s $TMPSIG3 ]; then echo "== Signature des $(cat $TMPSIG3 | wc -l) nouveaux RPM (2018) ==" if rpmsign --define '_gpg_path /home/remi/.gnupg2018' --define "_gpg_name Remi's RPM repository" --addsign $(cat $TMPSIG3) then echo done. else exit 1 fi fi if [ -s $TMPSIG2 ]; then echo "== Signature des $(cat $TMPSIG2 | wc -l) nouveaux RPM (2017) ==" if rpmsign --define '_gpg_path /home/remi/.gnupg2017' --define "_gpg_name Remi's RPM repository" --addsign $(cat $TMPSIG2) then echo done. else exit 1 fi fi grep -v fc26 $TMPSIG | grep -v fc27 | grep -v fc28 | grep -v fc29 | grep -v src.rpm > $TMPSIG1 if [ -s $TMPSIG1 ]; then echo "== Signature des $(cat $TMPSIG1 | wc -l) nouveaux RPM (old) ==" if rpmsign --define '_gpg_path /home/remi/.gnupgrpm' --define "_gpg_name Remi Collet" --addsign $(cat $TMPSIG1) then echo done. else exit 1 fi fi else echo "Rien à signer." fi if [ -s $TMPLNK ] then echo "== Création des liens (noarch) ==" cat $TMPLNK | while read dest do srce=${dest/\/ppc64/\/x86_64} srce=${srce/\/ppc/\/x86_64} srce=${srce/\/i386/\/x86_64} srce=${srce/\/armhfp/\/x86_64} ln -f $srce $dest && echo $dest done else echo "Rien à lier." fi for dep in SRPMS fedora/{24,25,26,27,28,29}/*/{i386,x86_64} enterprise/{6,7}/*/{i386,x86_64,armhfp} do if [ -d $dep/repodata -a $dep -nt $dep/repodata -a ! -f $dep/.closed ] then echo "== Actualisation de $dep ==" pushd $dep mkrepo nocheck touch repodata popd #else echo "== $dep est à jour ==" fi done