mirror of
https://github.com/rocky-linux/rocky-tools.git
synced 2024-11-24 22:21:24 +00:00
41 lines
1.6 KiB
Bash
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
|