mirror of
https://codeberg.org/privacy1st/arch
synced 2024-12-23 01:16:04 +01:00
76 lines
2.2 KiB
Bash
Executable File
76 lines
2.2 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
function is-installed() {
|
|
type "${1}"
|
|
}
|
|
|
|
function start-docker() {
|
|
is-installed "systemctl" || return $?
|
|
is-installed "docker" || return $?
|
|
|
|
res="$(systemctl show --property ActiveState docker)" || return $?
|
|
case "${res}" in
|
|
"ActiveState=active")
|
|
# Docker service is active
|
|
true
|
|
;;
|
|
"ActiveState=inactive")
|
|
# Docker service is inactive -> Let's start it
|
|
echo "Starting docker service ..."
|
|
sudo systemctl start docker || return $?
|
|
sleep 5s
|
|
;;
|
|
*)
|
|
echo "Unknown state or error!"
|
|
return 1
|
|
esac
|
|
}
|
|
|
|
function build-pkg() {
|
|
# --rm: Remove container after run.
|
|
COMPOSE_ARGS=('run' '--rm' 'makepkg')
|
|
if [ "${INTERACTIVE}" = "true" ]; then
|
|
COMPOSE_ARGS+=('interactive')
|
|
fi
|
|
COMPOSE_ARGS+=("${1}")
|
|
|
|
sudo docker-compose "${COMPOSE_ARGS[@]}"
|
|
}
|
|
|
|
function push-pkg() {
|
|
arch-repo-push-new || return $? # Push remote repository
|
|
}
|
|
|
|
function build-and-push() {
|
|
for PKG in "$@"; do
|
|
build-pkg "${PKG}" || return $?
|
|
done
|
|
push-pkg || return $?
|
|
}
|
|
|
|
function main() {
|
|
start-docker || return $?
|
|
is-installed "docker-compose" || return $?
|
|
|
|
if [ "${1}" = "interactive" ]; then
|
|
echo "Interactive mode enabled"
|
|
INTERACTIVE=true
|
|
shift; # remove first argument
|
|
fi
|
|
|
|
# Stage1
|
|
build-and-push xorg-meta de-p1st-locale de-p1st-systemd de-p1st-sudo de-p1st-screen de-p1st-htop de-p1st-pacman de-p1st-pacman-mirrorlist de-p1st-networkmanager de-p1st-ucode-placeholder de-p1st-ucode-intel de-p1st-ucode-amd de-p1st-nano de-p1st-mkinitcpio de-p1st-makepkg de-p1st-grub de-p1st-font de-p1st-keyboard-de de-p1st-keyboard-x11-de de-p1st-gnupg de-p1st-redshift de-p1st-theme de-p1st-sddm-autologin-placeholder de-p1st-sddm-autologin-yoda de-p1st-sddm-theme-default de-p1st-sddm-theme-nordic de-p1st-gpu-generic de-p1st-gpu-amdgpu de-p1st-installer de-p1st-repo de-p1st-ssh-key-placeholder de-p1st-ssh-key-yoda || return $?
|
|
# Stage2
|
|
build-and-push de-p1st-smartcard de-p1st-kernel-default de-p1st-kernel-lts de-p1st-dns de-p1st-ssh || return $?
|
|
# Stage3
|
|
build-and-push de-p1st-base || return $?
|
|
# Stage4
|
|
build-and-push de-p1st-xfce4 || return $?
|
|
# Stage5
|
|
build-and-push de-p1st-xfce4-hidpi || return $?
|
|
|
|
echo "Successfully built all packages!"
|
|
}
|
|
|
|
main "$@"
|