54 lines
1.6 KiB
Bash
Executable File
54 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
VERSION=30
|
|
ARCH="x86_64"
|
|
REPO_DIR=/rpmfusion
|
|
|
|
MIRROR=(
|
|
"rsync://download1.rpmfusion.org/rpmfusion/"
|
|
)
|
|
|
|
|
|
for ((i=0; i<${#MIRROR[@]}; i++)); do
|
|
rsync --progress -amH --numeric-ids --delete --delete-delay --delay-updates \
|
|
--exclude='*/drpms' \
|
|
--exclude='*/images' \
|
|
--exclude='*/Docker' \
|
|
--exclude='*/CloudImages' \
|
|
--exclude='*/debug' \
|
|
--exclude='*/iso' \
|
|
--exclude='*/development'\
|
|
--exclude='*/testing'\
|
|
--exclude='*/tainted'\
|
|
--exclude='*/rpi'\
|
|
--exclude='*/steam'\
|
|
--exclude='*/nvidia-driver'\
|
|
--include="**/${VERSION}/**${ARCH}/***" \
|
|
--include='*/' --exclude='*' \
|
|
"${MIRROR[i]}" "${REPO_DIR}"
|
|
done
|
|
|
|
find "${REPO_DIR}" -name "*comps-*.xml" -exec sh -c 'cp -av {} "$(dirname {})/../comps.xml"' \;
|
|
|
|
|
|
for i in $(find "${REPO_DIR}" -type d -name 'repodata' -exec dirname '{}' \;); do
|
|
createrepo --update --database --deltas -c /cache/rpmfusion -g comps.xml "$i"
|
|
done
|
|
|
|
|
|
echo 'Cleaning up Claque...'
|
|
|
|
cd /data/Packages
|
|
FILES="$(rpm -qp --queryformat '%{NAME}\n' *.rpm 2> /dev/null | uniq)"
|
|
ARCH=('x86_64' 'i686' 'noarch' 'i386')
|
|
|
|
for i in $FILES; do
|
|
for a in "${ARCH[@]}"; do
|
|
ls $i*$a.rpm -rv 2> /dev/null | awk 'NR>1' | xargs -d '\n' -r rm -v --
|
|
done
|
|
done
|
|
|
|
dnf download --refresh --best --destdir /data/Packages/ $PACKAGES
|
|
|
|
createrepo /data --update --verbose --database --deltas -c /cache/claque
|