diff --git a/build-packages.sh b/build-packages.sh new file mode 100755 index 0000000..4f54f52 --- /dev/null +++ b/build-packages.sh @@ -0,0 +1,48 @@ +#!/bin/bash +# SPDX-License-Identifier: MIT +# Author: Nils Freydank +PATH="/usr/bin:/bin:/usr/sbin:/sbin" +set -uxa + +mapfile -t EMERGE_CALL_PARAMETERS <<<"${@}" + +REGISTRY="git.holgersson.xyz/gentoo-related/gentoo-binpkg-builder" +VERSION="latest" +IMAGE_TAG="${REGISTRY}:${VERSION}" + +REPOS="${REPOS:-/var/db/repos}" +DISTFILES="${DISTFILES:-/var/cache/distfiles-podman-1}" +BINPKG="${BINPKG:-/var/cache/packages-podman-1}" +LOGDIR="${LOGDIR:-$(pwd)/logs}" +PACKAGE_USE="${PACKAGE_USE:-$(pwd)/package.use}" + +podman_build_args=( + # Remove the container after usage. + --rm + # Allow interactive questsions by portage + -ti + # Limit the memory to be used. + --memory=20G + --memory-swap=1G + --shm-size=2G + # Share the portage configuration. + -v "${PACKAGE_USE}:/etc/portage/package.use:ro" + # Share the gentoo repo, overlays etc. + -v "${REPOS}:/var/db/repos:ro" + # Share the distfiles, i.e. typically source archives. + -v "${DISTFILES}:/var/cache/distfiles:rw,U" + # Share the binpkgs r/w cache. + -v "${BINPKG}:/var/cache/packages:rw,U" + # Keep the logs out of the container. + -v "${LOGDIR}:/var/log:rw,U" +) + +mkdir -p "${REPOS}" +mkdir -p "${DISTFILES}" +mkdir -p "${BINPKG}" +mkdir -p "${LOGDIR}" + +podman run "${podman_build_args[@]}" "${REGISTRY}:${VERSION}" \ + emerge --oneshot --keep-going ${EMERGE_CALL_PARAMETERS[@]} + +# vim:fileencoding=utf-8:ts=4:syntax=bash:expandtab diff --git a/package.use/acct-user:git-dep:gitea b/package.use/acct-user:git-dep:gitea new file mode 100644 index 0000000..98bf306 --- /dev/null +++ b/package.use/acct-user:git-dep:gitea @@ -0,0 +1 @@ +acct-user/git gitea diff --git a/package.use/app-admin:sudo b/package.use/app-admin:sudo new file mode 100644 index 0000000..2852edd --- /dev/null +++ b/package.use/app-admin:sudo @@ -0,0 +1 @@ +app-admin/sudo -ssl diff --git a/package.use/net-misc:openssh b/package.use/net-misc:openssh new file mode 100644 index 0000000..9ecc961 --- /dev/null +++ b/package.use/net-misc:openssh @@ -0,0 +1 @@ +net-misc/openssh -scp security-key diff --git a/package.use/sys-devel:gcc b/package.use/sys-devel:gcc new file mode 100644 index 0000000..23ccce6 --- /dev/null +++ b/package.use/sys-devel:gcc @@ -0,0 +1 @@ +sys-devel/gcc -jit -nls default-stack-clash-protection default-znow lto zstd diff --git a/package.use/www-apps:gitea b/package.use/www-apps:gitea new file mode 100644 index 0000000..6840709 --- /dev/null +++ b/package.use/www-apps:gitea @@ -0,0 +1 @@ +www-apps/gitea -filecaps