rocky-tools/gcoarchive/gcoarchive_rpms.sh

41 lines
1.6 KiB
Bash

#!/bin/bash
#set -x
# Give it a git server as the first argument
# Give it a file path for the list as the second argument
GITSERVER=${1}
LIST=${2}
TMPDIR=/var/tmp
for x in $(cat ${LIST}); do
pkgname="${x}"
echo "!!! ${pkgname}"
git clone --mirror "https://git.centos.org/rpms/${pkgname}.git" "${TMPDIR}/${pkgname}.git"
git_ret_val=$?
if [ $git_ret_val -ne 0 ]; then echo "${pkgname}" >> /tmp/failures ; fi
pushd "${TMPDIR}/${pkgname}.git" || { echo "error"; exit 1; }
if git branch | grep -Eq '^ (c8|c9)'; then
for tag in $(git tag | grep -E 'imports/c(4|5|6|7)'); do git tag -d "${tag}" ; done
for tag in $(git tag | grep -E 'imports/c(8|9|8s|9s)-sig'); do git tag -d "${tag}" ; done
for branch in $(git branch | grep -E 'c(4|5|6|7)'); do git branch -D "${branch}" ; done
for branch in $(git branch | grep -E 'c(8|9|8s|9s)-sig'); do git branch -D "${branch}" ; done
git remote set-url origin "ssh://git@${GITSERVER}/rpms/${pkgname}.git"
git push --mirror
ret_val=$?
if [ $ret_val -ne 0 ]; then echo "${pkgname}" >> /tmp/failures ; fi
pushd /var/www/html/sources || { echo "error"; exit 1; }
echo "${pkgname}: Pulling sources"
wget -q --accept-regex="/sources/${pkgname}/(c8|c9)" -r "https://git.centos.org/sources/${pkgname}/" -np --cut-dirs 2 -R "*.html*"
mv git.centos.org "${pkgname}"
popd || { echo "error"; exit 1; }
fi
unset branch
popd || { echo "error"; exit 1; }
if [[ -d "${TMPDIR}/${pkgname}.git" ]]; then
rm -rf "${TMPDIR}/${pkgname}.git"
fi
echo "sleeping..."
sleep 10
unset pkgname
done