qports/.forgejo/patches/build.patch
Antoine Martin 8ab85bddec
Some checks failed
/ lint (pull_request) Successful in 26s
/ deploy-edge (pull_request) Has been skipped
/ build-edge (pull_request) Failing after 30s
try other way
2024-08-16 00:39:56 -04:00

124 lines
4 KiB
Diff

diff --git a/usr/local/bin/build.sh.orig b/usr/local/bin/build.sh
old mode 100644
new mode 100755
index c3b8f7a..94df4e8
--- a/usr/local/bin/build.sh.orig
+++ b/usr/local/bin/build.sh
@@ -7,13 +7,14 @@
set -eu -o pipefail
readonly APORTSDIR=$CI_PROJECT_DIR
-readonly REPOS="main community testing non-free"
+readonly REPOS="main community testing"
readonly ARCH=$(apk --print-arch)
# gitlab variables
readonly BASEBRANCH=$CI_MERGE_REQUEST_TARGET_BRANCH_NAME
: "${REPODEST:=$HOME/packages}"
-: "${MIRROR:=https://dl-cdn.alpinelinux.org/alpine}"
+: "${MIRROR:=https://ayakael.net/api/packages/forge/alpine}"
+: "${ALPINE_MIRROR:=http://dl-cdn.alpinelinux.org/alpine}"
: "${MAX_ARTIFACT_SIZE:=300000000}" #300M
: "${CI_DEBUG_BUILD:=}"
@@ -67,10 +68,14 @@ report() {
}
get_release() {
+ echo $(grep PRETTY_NAME /etc/os-release | awk '{print $3}' | tr -d '"')
+}
+
+
+get_qubes_release() {
case $BASEBRANCH in
- *-stable) echo v"${BASEBRANCH%-*}";;
- master) echo edge;;
- *) die "Branch \"$BASEBRANCH\" not supported!"
+ r*) echo $BASEBRANCH;;
+ main) echo r4.3;;
esac
}
@@ -99,14 +104,14 @@ set_repositories_for() {
local release
release=$(get_release)
- for repo in $REPOS; do
+ for repo in qubes-$(get_qubes_release); do
[ "$repo" = "non-free" ] && continue
- [ "$release" != "edge" ] && [ "$repo" == "testing" ] && continue
+ [ "$release" == "edge" ] && [ "$repo" == "backports" ] && continue
repos="$repos $MIRROR/$release/$repo $REPODEST/$repo"
[ "$repo" = "$target_repo" ] && break
done
- doas sh -c "printf '%s\n' $repos > /etc/apk/repositories"
- doas apk update
+ doas sh -c "printf '%s\n' $repos >> /etc/apk/repositories"
+ doas apk update || true
}
apply_offset_limit() {
@@ -118,7 +123,15 @@ apply_offset_limit() {
}
setup_system() {
- doas sh -c "echo $MIRROR/$(get_release)/main > /etc/apk/repositories"
+ local repos='' repo=''
+ local release
+
+ release=$(get_release)
+ for repo in $REPOS; do
+ [ "$release" != "edge" ] && [ "$repo" == "testing" ] && continue
+ repos="$repos $ALPINE_MIRROR/$release/$repo"
+ done
+ doas sh -c "printf '%s\n' $repos > /etc/apk/repositories"
doas apk -U upgrade -a || apk fix || die "Failed to up/downgrade system"
abuild-keygen -ain
doas sed -i -E 's/export JOBS=[0-9]+$/export JOBS=$(nproc)/' /etc/abuild.conf
@@ -192,32 +205,22 @@ section_end setup
build_start=$CI_ALPINE_BUILD_OFFSET
build_limit=$CI_ALPINE_BUILD_LIMIT
-for repo in $(changed_repos); do
- set_repositories_for "$repo"
- built_aports=0
- changed_aports_in_repo=$(changed_aports "$repo")
- changed_aports_in_repo_count=$(echo "$changed_aports_in_repo" | wc -l)
- changed_aports_to_build=$(echo "$changed_aports_in_repo" | apply_offset_limit "$build_start" "$build_limit")
+set_repositories_for $(get_qubes_release)
+built_aports=0
+changed_aports_in_repo=$(changed_aports $BASEBRANCH)
+changed_aports_in_repo_count=$(echo "$changed_aports_in_repo" | wc -l)
+changed_aports_to_build=$(echo "$changed_aports_in_repo" | apply_offset_limit "$build_start" "$build_limit")
- msg "Changed aports in $repo:"
- # shellcheck disable=SC2086 # Splitting is expected here
- printf " - %s\n" $changed_aports_to_build
- for pkgname in $changed_aports_to_build; do
- section_start "build_$pkgname" "Building package $pkgname"
- built_aports=$((built_aports+1))
- if check_aport "$repo" "$pkgname"; then
- build_aport "$repo" "$pkgname"
- fi
- section_end "build_$pkgname"
- done
-
- build_start=$((build_start-(changed_aports_in_repo_count-built_aports)))
- build_limit=$((build_limit-built_aports))
-
- if [ $build_limit -le 0 ]; then
- msg "Limit reached, breaking"
- break
+msg "Changed aports:"
+# shellcheck disable=SC2086 # Splitting is expected here
+printf " - %s\n" $changed_aports_to_build
+for pkgname in $changed_aports_to_build; do
+ section_start "build_$pkgname" "Building package $pkgname"
+ built_aports=$((built_aports+1))
+ if check_aport qports "$pkgname"; then
+ build_aport qports "$pkgname"
fi
+ section_end "build_$pkgname"
done
section_start artifacts "Handeling artifacts" collapse