Commit 5840a481 authored by Jakub Jirutka's avatar Jakub Jirutka

travis: use only repositories at same or higher level than target repo

parent 170b830d
......@@ -31,6 +31,24 @@ changed_abuilds() {
ap builddirs -d "$(pwd)/$repo" $aports 2>/dev/null | xargs -I% basename %
}
# Replaces /etc/apk/repositories with repositories at $MIRROR_URI that are on
# the same or higher level than the given repo (main > community > testing)
# and after that runs `apk update`.
#
# $1: the target repository; main, community, or testing
set_repositories_for() {
local target_repo="$1"
local repos_file='/etc/apk/repositories'
printf '' > $repos_file
local repo; for repo in main community testing; do
printf '%s\n' "$MIRROR_URI/$repo" >> $repos_file
[ "$repo" = "$target_repo" ] && break
done
apk update
}
cd "$CLONE_DIR"
......@@ -53,6 +71,8 @@ echo 'Diffstat:'
git --no-pager diff --color --stat "$commit_range"
for repo in $(changed_repos "$commit_range"); do
set_repositories_for "$repo"
for pkgname in $(changed_abuilds "$repo" "$commit_range"); do
qname="$repo/$pkgname"
......
......@@ -3,6 +3,7 @@
readonly ALPINE_ROOT='/mnt/alpine'
readonly ALPINE_USER='alpine'
readonly CLONE_DIR="${CLONE_DIR:-$(pwd)}"
readonly MIRROR_URI='http://dl-cdn.alpinelinux.org/alpine/edge'
# Runs commands inside the Alpine chroot.
alpine_run() {
......
......@@ -21,8 +21,8 @@ title 'Installing Alpine Linux'
mkdir -p "$ALPINE_ROOT"/etc/apk
cd "$ALPINE_ROOT"
echo "$MIRROR_URI/main" > etc/apk/repositories
cp -R "$CLONE_DIR"/.travis/keys etc/apk/keys
cp "$CLONE_DIR"/.travis/repositories etc/apk/repositories
cp /etc/resolv.conf etc/resolv.conf
/tmp/sbin/apk.static \
......
http://dl-cdn.alpinelinux.org/alpine/edge/main
http://dl-cdn.alpinelinux.org/alpine/edge/community
http://dl-cdn.alpinelinux.org/alpine/edge/testing
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment