From 85163477df5fd84a38e052d022532b3f9a6236fd Mon Sep 17 00:00:00 2001 From: Daniel Langbein Date: Sun, 19 Sep 2021 18:59:43 +0200 Subject: [PATCH] updates and build process changes build process: - never run "pacman -Sy" as pacman does not support partial upgrades, instead use "pacman -Syu" - after each build-stage: run "docker build" with cache disabled to make sure the build step "pacman -Syu" is run --- .idea/vcs.xml | 1 + build-pkg/Dockerfile | 4 ++-- build-pkg/build-all | 8 ++++---- build-pkg/build-all-without-docker.sh | 7 +++++-- build-pkg/run.sh | 3 --- git-pull | 2 +- pkg/pycharm-professional | 2 +- pkg/signal-desktop-beta-bin | 2 +- pkg/ttf-unifont | 2 +- 9 files changed, 16 insertions(+), 15 deletions(-) diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 8641e63..e266c5e 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -13,6 +13,7 @@ + diff --git a/build-pkg/Dockerfile b/build-pkg/Dockerfile index f23295d..837dc30 100644 --- a/build-pkg/Dockerfile +++ b/build-pkg/Dockerfile @@ -23,8 +23,8 @@ RUN printf '\n[options]\nDisableDownloadTimeout\n' >> /etc/pacman.conf && \ printf '\n[multilib]\nInclude = /etc/pacman.d/mirrorlist\n' >> /etc/pacman.conf && \ \ pacman -Syu --noconfirm && \ - pacman -S --needed --noconfirm svn && \ - pacman -S --needed --noconfirm multilib-devel + pacman -S --needed --noconfirm svn \ + multilib-devel # 1. Set packager # 2. Store built packages in /out/ diff --git a/build-pkg/build-all b/build-pkg/build-all index f34a6b2..49993d8 100755 --- a/build-pkg/build-all +++ b/build-pkg/build-all @@ -27,7 +27,8 @@ function start-docker() { } function update-build-image() { - sudo docker-compose build --pull + # "--no-cache" to always run the "pacman -Syu" build step + sudo docker-compose build --pull --no-cache } function build-pkg() { @@ -91,9 +92,6 @@ before continuing with the next line."; is-installed "docker-compose" || return $? } - update-build-image || return $? - - # Read content of PKGLIST file to an array # For each line: build and push all space separated packages mapfile -t STAGES < "${PKGLIST}" @@ -102,6 +100,8 @@ before continuing with the next line."; # trim leading/tailing whitespaces line="$(echo "${line}" | xargs)" || return $? space_separated_to_array line pkgs + # Rebuild the docker image with refreshed mirrors => this fetches packages that were built in a previous build stage + update-build-image || return $? # shellcheck disable=SC2154 build-and-push "${pkgs[@]}" || exit $? done diff --git a/build-pkg/build-all-without-docker.sh b/build-pkg/build-all-without-docker.sh index 87e8f0a..57d8b5f 100755 --- a/build-pkg/build-all-without-docker.sh +++ b/build-pkg/build-all-without-docker.sh @@ -52,8 +52,11 @@ function build-pkg() { function push-pkg() { arch-repo-push-new || return $? # Push remote repository - echo "Running 'pacman -Sy' to update de-p1st mirror database ..." - sudo pacman -Sy || return $? + echo "Running 'pacman -Syu' to update de-p1st mirror database ..." + + # Theoretically "-Sy" would be enough to update the mirrors, + # but pacman does not support partial updates! + sudo pacman -Syu || return $? } function build-and-push() { diff --git a/build-pkg/run.sh b/build-pkg/run.sh index d68b1bf..103df89 100644 --- a/build-pkg/run.sh +++ b/build-pkg/run.sh @@ -9,9 +9,6 @@ function main(){ # Write-permission for user "build" sudo chown "build:wheel" /out - # Refresh mirrors, e.g. to fetch packages that were built in the previous build stage - sudo pacman -Sy - PKG=/pkg/"${1}" shift; # remove first arg echo "Looking for PKGBUILD in ${PKG} ..." diff --git a/git-pull b/git-pull index 6552e72..0c29407 100755 --- a/git-pull +++ b/git-pull @@ -1,5 +1,5 @@ #!/bin/bash git pull || exit $? -git submodule foreach 'git checkout master' || exit $? +git submodule foreach 'git checkout master || git checkout main' || exit $? git submodule foreach 'if git pull | grep '\''^Updating'\''; then printf " %s" "$(basename $sm_path)" >> $toplevel/build-pkg/pkglist.tmp; fi' diff --git a/pkg/pycharm-professional b/pkg/pycharm-professional index b717100..19310af 160000 --- a/pkg/pycharm-professional +++ b/pkg/pycharm-professional @@ -1 +1 @@ -Subproject commit b7171006c0752af066c64eb520c1c5b3eb62e486 +Subproject commit 19310af76b80fcdfce8087d0a0961491dac75118 diff --git a/pkg/signal-desktop-beta-bin b/pkg/signal-desktop-beta-bin index af7ac0e..c9aa41f 160000 --- a/pkg/signal-desktop-beta-bin +++ b/pkg/signal-desktop-beta-bin @@ -1 +1 @@ -Subproject commit af7ac0ec4eda146420677cb68098a43fdbaa2ec0 +Subproject commit c9aa41fc3a224e6466a96894efa9b4f94e0ac539 diff --git a/pkg/ttf-unifont b/pkg/ttf-unifont index 9b3b6c0..4e648a8 160000 --- a/pkg/ttf-unifont +++ b/pkg/ttf-unifont @@ -1 +1 @@ -Subproject commit 9b3b6c0b91ecbdd45aa5ebed89e1345097b42c8b +Subproject commit 4e648a8a3b118d4b9903a454615eb7e4d53dcbb9