From ddbe2d042e13d5f2a5968c87ef79552465185876 Mon Sep 17 00:00:00 2001 From: Cory Sanin Date: Tue, 14 Jan 2025 19:16:50 -0500 Subject: [PATCH] Support all build parameters in build images --- docker/Dockerfile.arch | 2 +- docker/Dockerfile.artix | 2 +- docker/scripts/entrypoint.sh | 32 +++++++++-- .../pacman.conf.arch/pacman.staging.conf | 45 ++++++++++++++++ .../pacman.conf.arch/pacman.testing.conf | 40 ++++++++++++++ .../pacman.conf.artix/pacman.staging.conf | 53 +++++++++++++++++++ .../pacman.conf.artix/pacman.testing.conf | 44 +++++++++++++++ docker/scripts/testing.arch.sh | 13 ----- docker/scripts/testing.artix.sh | 0 9 files changed, 211 insertions(+), 20 deletions(-) create mode 100644 docker/scripts/pacman.conf.arch/pacman.staging.conf create mode 100644 docker/scripts/pacman.conf.arch/pacman.testing.conf create mode 100644 docker/scripts/pacman.conf.artix/pacman.staging.conf create mode 100644 docker/scripts/pacman.conf.artix/pacman.testing.conf delete mode 100755 docker/scripts/testing.arch.sh delete mode 100755 docker/scripts/testing.artix.sh diff --git a/docker/Dockerfile.arch b/docker/Dockerfile.arch index 4853139..a0954a1 100644 --- a/docker/Dockerfile.arch +++ b/docker/Dockerfile.arch @@ -1,7 +1,7 @@ FROM archlinux/archlinux:base-devel COPY scripts/entrypoint.sh /scripts/entrypoint.sh -COPY scripts/testing.arch.sh /scripts/testing.sh +COPY scripts/pacman.conf.arch/* /scripts/pacman.conf/ ARG MIRROR=https://mirror.sanin.dev/arch-linux/\$repo/os/\$arch diff --git a/docker/Dockerfile.artix b/docker/Dockerfile.artix index 9d88c5c..33925fa 100644 --- a/docker/Dockerfile.artix +++ b/docker/Dockerfile.artix @@ -1,7 +1,7 @@ FROM artixlinux/artixlinux:base-devel COPY scripts/entrypoint.sh /scripts/entrypoint.sh -COPY scripts/testing.artix.sh /scripts/testing.sh +COPY scripts/pacman.conf.artix/* /scripts/pacman.conf/ ARG MIRROR=https://mirror.sanin.dev/artix-linux/\$repo/os/\$arch diff --git a/docker/scripts/entrypoint.sh b/docker/scripts/entrypoint.sh index 3f1c2cb..dfe92e8 100755 --- a/docker/scripts/entrypoint.sh +++ b/docker/scripts/entrypoint.sh @@ -1,11 +1,9 @@ #!/bin/sh -if [ -n "$DEP" ] +if [ -n "$DEP" ] && [ "$DEP" != "stable" ] then - if [ "$DEP" = "testing" ] - then - /scripts/testing.sh - fi + sudo cp "/scripts/pacman.conf/pacman.$DEP.conf" "/etc/pacman.conf" && \ + sudo pacman -Syu --noconfirm --noprogressbar fi if [ -z "$REPO" ] @@ -14,9 +12,33 @@ then exit $?; fi +checkoutCommit() { + if [ -n "$COMMIT" ] + then + git checkout "$COMMIT" + fi +} + +applyPatch() { + if [ -n "$PATCH" ] + then + printf "$PATCH" > ../build.patch && \ + patch --strip=1 --input=../build.patch + fi +} + +changeDir() { + if [ -n "$CD" ] + then + cd "$CD" + fi +} + # Clone the git repo git clone "$REPO" /home/user/pkg && \ cd /home/user/pkg && \ +checkoutCommit && \ +applyPatch && \ sudo pacman -Syu --noconfirm --noprogressbar &&\ makepkg -smf --noconfirm --noprogressbar --skippgpcheck --noarchive exit $?; diff --git a/docker/scripts/pacman.conf.arch/pacman.staging.conf b/docker/scripts/pacman.conf.arch/pacman.staging.conf new file mode 100644 index 0000000..3ca9fde --- /dev/null +++ b/docker/scripts/pacman.conf.arch/pacman.staging.conf @@ -0,0 +1,45 @@ +# +# /etc/pacman.conf +# + +[options] +HoldPkg = pacman glibc +Architecture = auto +NoProgressBar +VerbosePkgLists +ParallelDownloads = 5 +DownloadUser = alpm +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional + +[core-staging] +Include = /etc/pacman.d/mirrorlist + +[core-testing] +Include = /etc/pacman.d/mirrorlist + +[core] +Include = /etc/pacman.d/mirrorlist + +[extra-staging] +Include = /etc/pacman.d/mirrorlist + +[extra-testing] +Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +[options] +NoExtract = usr/share/help/* !usr/share/help/en* !usr/share/help/C/* +NoExtract = usr/share/gtk-doc/html/* usr/share/doc/* +NoExtract = usr/share/locale/* usr/share/X11/locale/* usr/share/i18n/* +NoExtract = !*locale*/en*/* !usr/share/i18n/charmaps/UTF-8.gz !usr/share/*locale*/locale.* +NoExtract = !usr/share/*locales/en_?? !usr/share/*locales/i18n* !usr/share/*locales/iso* +NoExtract = !usr/share/*locales/trans* +NoExtract = !usr/share/X11/locale/C/* +NoExtract = !usr/share/X11/locale/compose.dir !usr/share/X11/locale/iso8859-1/* +NoExtract = !usr/share/*locales/C !usr/share/*locales/POSIX !usr/share/i18n/charmaps/ANSI_X3.4-1968.gz +NoExtract = usr/share/man/* usr/share/info/* +NoExtract = usr/share/vim/vim*/lang/* +NoExtract = etc/pacman.conf etc/pacman.d/mirrorlist \ No newline at end of file diff --git a/docker/scripts/pacman.conf.arch/pacman.testing.conf b/docker/scripts/pacman.conf.arch/pacman.testing.conf new file mode 100644 index 0000000..2b87d37 --- /dev/null +++ b/docker/scripts/pacman.conf.arch/pacman.testing.conf @@ -0,0 +1,40 @@ +# +# /etc/pacman.conf +# + +[options] +HoldPkg = pacman glibc +Architecture = auto +NoProgressBar +VerbosePkgLists +ParallelDownloads = 5 +DownloadUser = alpm +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional + + +[core-testing] +Include = /etc/pacman.d/mirrorlist + +[core] +Include = /etc/pacman.d/mirrorlist + +[extra-testing] +Include = /etc/pacman.d/mirrorlist + +[extra] +Include = /etc/pacman.d/mirrorlist + +[options] +NoExtract = usr/share/help/* !usr/share/help/en* !usr/share/help/C/* +NoExtract = usr/share/gtk-doc/html/* usr/share/doc/* +NoExtract = usr/share/locale/* usr/share/X11/locale/* usr/share/i18n/* +NoExtract = !*locale*/en*/* !usr/share/i18n/charmaps/UTF-8.gz !usr/share/*locale*/locale.* +NoExtract = !usr/share/*locales/en_?? !usr/share/*locales/i18n* !usr/share/*locales/iso* +NoExtract = !usr/share/*locales/trans* +NoExtract = !usr/share/X11/locale/C/* +NoExtract = !usr/share/X11/locale/compose.dir !usr/share/X11/locale/iso8859-1/* +NoExtract = !usr/share/*locales/C !usr/share/*locales/POSIX !usr/share/i18n/charmaps/ANSI_X3.4-1968.gz +NoExtract = usr/share/man/* usr/share/info/* +NoExtract = usr/share/vim/vim*/lang/* +NoExtract = etc/pacman.conf etc/pacman.d/mirrorlist \ No newline at end of file diff --git a/docker/scripts/pacman.conf.artix/pacman.staging.conf b/docker/scripts/pacman.conf.artix/pacman.staging.conf new file mode 100644 index 0000000..1aff53a --- /dev/null +++ b/docker/scripts/pacman.conf.artix/pacman.staging.conf @@ -0,0 +1,53 @@ +# +# /etc/pacman.conf +# + +[options] +HoldPkg = pacman glibc +Architecture = auto +NoProgressBar +VerbosePkgLists +ParallelDownloads = 5 +DownloadUser = alpm +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional + +[system-goblins] +Include = /etc/pacman.d/mirrorlist + +[system-gremlins] +Include = /etc/pacman.d/mirrorlist + +[system] +Include = /etc/pacman.d/mirrorlist + +[world-goblins] +Include = /etc/pacman.d/mirrorlist + +[world-gremlins] +Include = /etc/pacman.d/mirrorlist + +[world] +Include = /etc/pacman.d/mirrorlist + +[galaxy-goblins] +Include = /etc/pacman.d/mirrorlist + +[galaxy-gremlins] +Include = /etc/pacman.d/mirrorlist + +[galaxy] +Include = /etc/pacman.d/mirrorlist + +[options] +NoExtract = usr/share/help/* !usr/share/help/en* !usr/share/help/C/* +NoExtract = usr/share/gtk-doc/html/* usr/share/doc/* +NoExtract = usr/share/locale/* usr/share/X11/locale/* usr/share/i18n/* +NoExtract = !*locale*/en*/* !usr/share/i18n/charmaps/UTF-8.gz !usr/share/*locale*/locale.* +NoExtract = !usr/share/*locales/en_?? !usr/share/*locales/i18n* !usr/share/*locales/iso* +NoExtract = !usr/share/*locales/trans* +NoExtract = !usr/share/X11/locale/C/* +NoExtract = !usr/share/X11/locale/compose.dir !usr/share/X11/locale/iso8859-1/* +NoExtract = !usr/share/*locales/C !usr/share/*locales/POSIX !usr/share/i18n/charmaps/ANSI_X3.4-1968.gz +NoExtract = usr/share/man/* usr/share/info/* +NoExtract = usr/share/vim/vim*/lang/* \ No newline at end of file diff --git a/docker/scripts/pacman.conf.artix/pacman.testing.conf b/docker/scripts/pacman.conf.artix/pacman.testing.conf new file mode 100644 index 0000000..48bab04 --- /dev/null +++ b/docker/scripts/pacman.conf.artix/pacman.testing.conf @@ -0,0 +1,44 @@ +# +# /etc/pacman.conf +# + +[options] +HoldPkg = pacman glibc +Architecture = auto +NoProgressBar +VerbosePkgLists +ParallelDownloads = 5 +DownloadUser = alpm +SigLevel = Required DatabaseOptional +LocalFileSigLevel = Optional + +[system-gremlins] +Include = /etc/pacman.d/mirrorlist + +[system] +Include = /etc/pacman.d/mirrorlist + +[world-gremlins] +Include = /etc/pacman.d/mirrorlist + +[world] +Include = /etc/pacman.d/mirrorlist + +[galaxy-gremlins] +Include = /etc/pacman.d/mirrorlist + +[galaxy] +Include = /etc/pacman.d/mirrorlist + +[options] +NoExtract = usr/share/help/* !usr/share/help/en* !usr/share/help/C/* +NoExtract = usr/share/gtk-doc/html/* usr/share/doc/* +NoExtract = usr/share/locale/* usr/share/X11/locale/* usr/share/i18n/* +NoExtract = !*locale*/en*/* !usr/share/i18n/charmaps/UTF-8.gz !usr/share/*locale*/locale.* +NoExtract = !usr/share/*locales/en_?? !usr/share/*locales/i18n* !usr/share/*locales/iso* +NoExtract = !usr/share/*locales/trans* +NoExtract = !usr/share/X11/locale/C/* +NoExtract = !usr/share/X11/locale/compose.dir !usr/share/X11/locale/iso8859-1/* +NoExtract = !usr/share/*locales/C !usr/share/*locales/POSIX !usr/share/i18n/charmaps/ANSI_X3.4-1968.gz +NoExtract = usr/share/man/* usr/share/info/* +NoExtract = usr/share/vim/vim*/lang/* \ No newline at end of file diff --git a/docker/scripts/testing.arch.sh b/docker/scripts/testing.arch.sh deleted file mode 100755 index 15f9b13..0000000 --- a/docker/scripts/testing.arch.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/bash - -# Enable the [core-testing] repository by uncommenting the relevant lines in the configuration file -sudo sed -i 's/^#\[core-testing\]/\[core-testing\]/' /etc/pacman.conf - -# Enable the [extra-testing] repository by uncommenting the relevant lines in the configuration file -sudo sed -i 's/^#\[extra-testing\]/\[extra-testing\]/' /etc/pacman.conf - -# Uncomment the 'Include = /etc/pacman.d/mirrorlist' line in the configuration file if necessary -sudo sed -i '/testing\]/{n;s/^#//}' /etc/pacman.conf - -# Update the package list and upgrade the system -sudo pacman -Syu diff --git a/docker/scripts/testing.artix.sh b/docker/scripts/testing.artix.sh deleted file mode 100755 index e69de29..0000000