mirror of
https://codeberg.org/privacy1st/arch
synced 2024-12-23 01:16:04 +01:00
update arch-repo
This commit is contained in:
parent
168ae92f8d
commit
43f0e2a461
@ -2,47 +2,52 @@
|
|||||||
|
|
||||||
source /etc/de-p1st-repo/arch-repo.cfg || exit
|
source /etc/de-p1st-repo/arch-repo.cfg || exit
|
||||||
|
|
||||||
|
function main() {
|
||||||
|
cd "${LOCAL_PKG_DIR}" || exit
|
||||||
|
|
||||||
|
# check if at least one matching file exists
|
||||||
|
match="0"
|
||||||
|
for PKG in ./*.pkg.tar.{xz,zst}; do
|
||||||
|
[ -f "$PKG" ] || { echo "There are no local packages for the pattern $PKG"; continue; }
|
||||||
|
|
||||||
|
# if we are here, then there is at least one match!
|
||||||
|
match="1"
|
||||||
|
break
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ "$match" = "0" ]; then
|
||||||
|
echo "There are no local packages"
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
||||||
cd "${LOCAL_PKG_DIR}" || exit
|
# Get list of new packages, one package per line.
|
||||||
|
# Enable nullglob for the case that e.g. just *.zst but not *.xz packages exist.
|
||||||
|
shopt -s nullglob
|
||||||
|
rsync --ignore-existing --out-format="%n" --dry-run \
|
||||||
|
./*.pkg.tar.{xz,zst} "${REMOTE_SSH_HOST}":"${REMOTE_PKG_DIR}" > new-pkg.txt || exit
|
||||||
|
|
||||||
# check if at least one matching file exists
|
# if there are no new packages to push/synchronize, then exit
|
||||||
match="0"
|
if [ ! -s new-pkg.txt ]; then
|
||||||
for PKG in ./*.pkg.tar.{xz,zst}; do
|
echo "No new packages.";
|
||||||
[ -f "$PKG" ] || { echo "There are no local packages for the pattern $PKG"; continue; }
|
exit 0;
|
||||||
|
fi
|
||||||
|
|
||||||
# if we are here, then there is at least one match!
|
|
||||||
match="1"
|
# transfer new packages using rsync
|
||||||
break
|
rsync --ignore-existing --progress --human-readable \
|
||||||
|
./*.pkg.tar.{xz,zst} "${REMOTE_SSH_HOST}":"${REMOTE_PKG_DIR}" || exit
|
||||||
|
|
||||||
|
# transfer new-pkg.txt
|
||||||
|
rsync --ignore-times --checksum --progress --human-readable \
|
||||||
|
new-pkg.txt "${REMOTE_SSH_HOST}":"${REMOTE_PKG_DIR}" || exit
|
||||||
|
|
||||||
|
|
||||||
|
# add each new package to database
|
||||||
|
ssh "${REMOTE_SSH_HOST}" "/usr/bin/arch-repo-receive-new" || exit
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
for LOCAL_PKG_DIR in "${LOCAL_PKG_DIRS[@]}"; do
|
||||||
|
main
|
||||||
done
|
done
|
||||||
|
|
||||||
if [ "$match" = "0" ]; then
|
|
||||||
echo "There are no local packages"
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# Get list of new packages, one package per line.
|
|
||||||
# Enable nullglob for the case that e.g. just *.zst but not *.xz packages exist.
|
|
||||||
shopt -s nullglob
|
|
||||||
rsync --ignore-existing --out-format="%n" --dry-run \
|
|
||||||
./*.pkg.tar.{xz,zst} "${REMOTE_SSH_HOST}":"${REMOTE_PKG_DIR}" > new-pkg.txt || exit
|
|
||||||
|
|
||||||
# if there are no new packages to push/synchronize, then exit
|
|
||||||
if [ ! -s new-pkg.txt ]; then
|
|
||||||
echo "No new packages.";
|
|
||||||
exit 0;
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
# transfer new packages using rsync
|
|
||||||
rsync --ignore-existing --progress --human-readable \
|
|
||||||
./*.pkg.tar.{xz,zst} "${REMOTE_SSH_HOST}":"${REMOTE_PKG_DIR}" || exit
|
|
||||||
|
|
||||||
# transfer new-pkg.txt
|
|
||||||
rsync --ignore-times --checksum --progress --human-readable \
|
|
||||||
new-pkg.txt "${REMOTE_SSH_HOST}":"${REMOTE_PKG_DIR}" || exit
|
|
||||||
|
|
||||||
|
|
||||||
# add each new package to database
|
|
||||||
ssh "${REMOTE_SSH_HOST}" "/usr/bin/arch-repo-receive-new" || exit
|
|
||||||
|
@ -3,7 +3,7 @@
|
|||||||
# REMOTE_PKG_DIR
|
# REMOTE_PKG_DIR
|
||||||
REMOTE_SSH_HOST=rootnas
|
REMOTE_SSH_HOST=rootnas
|
||||||
|
|
||||||
LOCAL_PKG_DIR=/home/custompkgs
|
LOCAL_PKG_DIRS=('/home/custompkgs' '/home/yoda/Downloads/git/arch/out')
|
||||||
REMOTE_PKG_DIR=/mnt/data/live/arch-repo
|
REMOTE_PKG_DIR=/mnt/data/live/arch-repo
|
||||||
REMOTE_DB_NAME=de-p1st
|
REMOTE_DB_NAME=de-p1st
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user