#!/bin/bash # Setup YUM/DNF repository GPG_KEY=F77BB18D eval BASE_DIRS=~/www_static/dnf.bl0rg.net/*/* set -e for base_dir in $BASE_DIRS; do # Fix permissions chcon -t container_file_t -R $base_dir chmod -R a+r $base_dir for YUM in $base_dir/{SRPMS,i386,x86_64}; do if [ -d $YUM ]; then echo "== $YUM" cd $YUM # Sign unsigned RPMs unsigned=`rpm --checksig *.rpm | egrep -v ': .*(pgp|signatures OK)' | sed 's#:.*##'` || true if [ ${#unsigned} != 0 ]; then echo "Unsigned packages:" echo "$unsigned" rpmsign --addsign $unsigned fi # Create and sign repodata createrepo --update --checkts . if [ ! -e repodata/repomd.xml.asc \ -o repodata/repomd.xml.asc -ot repodata/repomd.xml ]; then rm -f repodata/repomd.xml.asc gpg2 -u $GPG_KEY --detach-sign --armor repodata/repomd.xml fi fi done done