diff --git a/alpine-mirror/APKBUILD b/alpine-mirror/APKBUILD new file mode 100644 index 0000000..972e54f --- /dev/null +++ b/alpine-mirror/APKBUILD @@ -0,0 +1,26 @@ +# Contributor: Patrycja Rosa +# Maintainer: Patrycja Rosa +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 +" diff --git a/alpine-mirror/alpine-mirror b/alpine-mirror/alpine-mirror new file mode 100755 index 0000000..4ea8a9c --- /dev/null +++ b/alpine-mirror/alpine-mirror @@ -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 diff --git a/alpine-mirror/alpine-mirror.conf b/alpine-mirror/alpine-mirror.conf new file mode 100644 index 0000000..36173e6 --- /dev/null +++ b/alpine-mirror/alpine-mirror.conf @@ -0,0 +1,6 @@ +# configuration for alpine-mirror +# replace these values to your liking + +dest=/var/lib/mirror/ +versions="edge" +arches="x86_64"