alpine-mirror: new aport
Some checks failed
continuous-integration/drone/push Build is failing

This commit is contained in:
ptrcnull 2022-04-25 21:33:10 +02:00
parent 6105013f96
commit 8120c3fcfc
3 changed files with 71 additions and 0 deletions

26
alpine-mirror/APKBUILD Normal file
View file

@ -0,0 +1,26 @@
# Contributor: Patrycja Rosa <alpine@ptrcnull.me>
# Maintainer: Patrycja Rosa <alpine@ptrcnull.me>
pkgname=alpine-mirror
pkgver=1.0.0
pkgrel=0
pkgdesc="your own personal mirror of alpine"
url="https://git.ddd.rip/ptrcnull/aports"
arch="noarch"
license="BSD-2-Clause"
depends="rsync"
source="
alpine-mirror
alpine-mirror.conf
"
builddir="$srcdir"
options="!check" # wow nice tests
package() {
install -Dm755 alpine-mirror -t "$pkgdir"/etc/periodic/15min
install -Dm644 alpine-mirror.conf -t "$pkgdir"/etc
}
sha512sums="
60b46a766d0835dd8968b83b497eef520e555166cf6198189dce5231f321d22856339d0db5771ce63005e1e9e59d6ac8af5f6efa9ee2c027321a65e7e753b409 alpine-mirror
b7103fcd0411d64249f06c21a73fc87c290cbe60bb921515d319f6415b10e9c9d400d5a8b9b2816fc0f59f13f3df487fb88ec14fbaea2ff031c606b47540657b alpine-mirror.conf
"

39
alpine-mirror/alpine-mirror Executable file
View file

@ -0,0 +1,39 @@
#!/usr/bin/env sh
# make sure we never run 2 rsync at the same time
lockfile="/tmp/alpine-mirror.lock"
if [ -z "$flock" ] ; then
exec env flock=1 flock -n $lockfile "$0" "$@"
fi
# default config
src=rsync://rsync.alpinelinux.org/alpine/
dest=/var/lib/mirror/
versions="edge"
arches="x86_64"
. /etc/alpine-mirror.conf
mirror() {
mkdir -p "$dest$1"
echo "running rsync $1"
/usr/bin/rsync \
--archive \
--update \
--hard-links \
--delete \
--delete-after \
--delay-updates \
--timeout=600 \
"$src$1" "$dest$1"
exitcode=$?
[ $exitcode == 0 ] || echo "rsync $1 failed with exit code: $exitcode"
}
for version in $versions; do
for arch in $arches; do
mirror "$version/main/$arch/"
mirror "$version/community/$arch/"
[ "$version" = edge ] && mirror "$version/testing/$arch/"
done
done

View file

@ -0,0 +1,6 @@
# configuration for alpine-mirror
# replace these values to your liking
dest=/var/lib/mirror/
versions="edge"
arches="x86_64"