exit 1
fi
+now=`date +%s`
+# sign if newer than signage (86400=24 hrs)
+signage=8000
#check if root has rpm macros
confdir=`pwd`
architectures="i386 x86_64"
dirs_to_upd=""
-for vdist in centos/5.5 rhel/5.5; do
+for vdist in centos/5.5 rhel/5.5 centos/6 centos/7; do
dist=`basename $vdist`
vendor=`dirname $vdist`
ftpdir=/home/ftp/pub/yum/$vendor/$dist
for arch in $architectures; do
mkdir -p $d/${arch}/Packages
for f in $distdir/RPMS/${arch}/*.rpm $distdir/RPMS/noarch/*.rpm; do
+ b=`basename $f`
if test -f $f; then
- ln -sf $f $d/${arch}/Packages/
- if rpm -K $f|grep -q ' gpg' >/dev/null; then
- echo "Already signed $f"
- else
- expect << __EOF
- spawn rpm --addsign $f
+ mustsign=false
+ age=`stat --printf='%Y' $f`
+ if expr $now - $age \< $signage >/dev/null; then
+ mustsign=true
+ fi
+ if test ! -f $d/${arch}/Packages/$b; then
+ mustsign=true
+ fi
+ if $mustsign; then
+ ln -sf $f $d/${arch}/Packages/
+ if rpm -K $f|grep -q 'GPG' >/dev/null; then
+ echo "Already signed $f"
+ else
+ expect << __EOF
+ spawn rpm --addsign $f
expect -exact "Enter pass phrase: "
send -- "\r"
expect eof
__EOF
- chgrp staff $f
- chmod g+w $f
+ chgrp staff $f
+ chmod g+w $f
+ fi
fi
fi
done
for rdir in ${dirs_to_upd}; do
echo "Section ${rdir}"
if test -d $rdir && ls -A $rdir; then
- createrepo --update ${rdir}
+ # Get rid of createrepo warnings
+ # https://bugs.launchpad.net/ubuntu/+source/createrepo/+bug/530015
+ createrepo -q --update ${rdir} 2>&1 |
+ grep -v DeprecationWarning:|grep -v ' import'
if test -f ${rdir}/repodata/repomd.xml.asc; then
rm ${rdir}/repodata/repomd.xml.asc
fi