You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

38 lines
927 B
Bash

#!/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