summaryrefslogtreecommitdiff
path: root/configs/baseline/build.sh
diff options
context:
space:
mode:
Diffstat (limited to 'configs/baseline/build.sh')
-rwxr-xr-xconfigs/baseline/build.sh113
1 files changed, 3 insertions, 110 deletions
diff --git a/configs/baseline/build.sh b/configs/baseline/build.sh
index fce82fb..9a9f654 100755
--- a/configs/baseline/build.sh
+++ b/configs/baseline/build.sh
@@ -2,113 +2,6 @@
#
# SPDX-License-Identifier: GPL-3.0-or-later
-set -e -u
-
-iso_name=parabola
-iso_label="PARA_$(date +%Y%m)"
-iso_version=$(date +%Y.%m.%d)
-install_dir=parabola
-arch=$(uname -m)
-work_dir=work
-out_dir=out
-
-script_path="$( cd -P "$( dirname "$(readlink -f "$0")" )" && pwd )"
-
-umask 0022
-
-# Helper function to run make_*() only one time per architecture.
-run_once() {
- if [[ ! -e "${work_dir}/build.${1}_${arch}" ]]; then
- "$1"
- touch "${work_dir}/build.${1}_${arch}"
- fi
-}
-
-# Setup custom pacman.conf with current cache directories.
-make_pacman_conf() {
- local _cache_dirs
- _cache_dirs=("$(pacman -v 2>&1 | grep '^Cache Dirs:' | sed 's/Cache Dirs:\s*//g')")
- sed -r "s|^#?\\s*CacheDir.+|CacheDir = $(echo -n "${_cache_dirs[@]}")|g" \
- "${script_path}/pacman.conf" > "${work_dir}/pacman.conf"
-}
-
-# Prepare working directory and copy custom airootfs files (airootfs)
-make_custom_airootfs() {
- local _airootfs="${work_dir}/airootfs"
- mkdir -p -- "${_airootfs}"
-
- if [[ -d "${script_path}/airootfs" ]]; then
- cp -af --no-preserve=ownership -- "${script_path}/airootfs/." "${_airootfs}"
- [[ -e "${_airootfs}/etc/shadow" ]] && chmod -f 0400 -- "${_airootfs}/etc/shadow"
- [[ -e "${_airootfs}/etc/gshadow" ]] && chmod -f 0400 -- "${_airootfs}/etc/gshadow"
-
- # Set up user home directories and permissions
- if [[ -e "${_airootfs}/etc/passwd" ]]; then
- while IFS=':' read -a passwd -r; do
- [[ "${passwd[5]}" == '/' ]] && continue
-
- if [[ -d "${_airootfs}${passwd[5]}" ]]; then
- chown -hR -- "${passwd[2]}:${passwd[3]}" "${_airootfs}${passwd[5]}"
- chmod -f 0750 -- "${_airootfs}${passwd[5]}"
- else
- install -d -m 0750 -o "${passwd[2]}" -g "${passwd[3]}" -- "${_airootfs}${passwd[5]}"
- fi
- done < "${_airootfs}/etc/passwd"
- fi
- fi
-}
-
-# Packages (airootfs)
-make_packages() {
- mkparabolaiso -v -w "${work_dir}" -C "${work_dir}/pacman.conf" -D "${install_dir}" \
- -p "$(grep -h -v '^#' "${script_path}/packages.both"| sed ':a;N;$!ba;s/\n/ /g')" install
-}
-
-# Prepare ${install_dir}/boot/
-make_boot() {
- mkdir -p "${work_dir}/iso/${install_dir}/boot/${arch}"
- cp "${work_dir}/airootfs/boot/parabolaiso.img" "${work_dir}/iso/${install_dir}/boot/${arch}/parabolaiso.img"
- cp "${work_dir}/airootfs/boot/vmlinuz-linux-libre" "${work_dir}/iso/${install_dir}/boot/${arch}/"
-}
-
-# Prepare /${install_dir}/boot/syslinux
-make_syslinux() {
- mkdir -p "${work_dir}/iso/${install_dir}/boot/syslinux"
- sed "s|%PARABOLAISO_LABEL%|${iso_label}|g;
- s|%INSTALL_DIR%|${install_dir}|g;
- s|%ARCH%|${arch}|g" "${script_path}/syslinux/syslinux.cfg" > \
- "${work_dir}/iso/${install_dir}/boot/syslinux/syslinux.cfg"
- cp "${work_dir}/airootfs/usr/lib/syslinux/bios/ldlinux.c32" "${work_dir}/iso/${install_dir}/boot/syslinux/"
- cp "${work_dir}/airootfs/usr/lib/syslinux/bios/menu.c32" "${work_dir}/iso/${install_dir}/boot/syslinux/"
- cp "${work_dir}/airootfs/usr/lib/syslinux/bios/libutil.c32" "${work_dir}/iso/${install_dir}/boot/syslinux/"
-}
-
-# Prepare /isolinux
-make_isolinux() {
- mkdir -p "${work_dir}/iso/isolinux"
- sed "s|%INSTALL_DIR%|${install_dir}|g" "${script_path}/isolinux/isolinux.cfg" > \
- "${work_dir}/iso/isolinux/isolinux.cfg"
- cp "${work_dir}/airootfs/usr/lib/syslinux/bios/isolinux.bin" "${work_dir}/iso/isolinux/"
- cp "${work_dir}/airootfs/usr/lib/syslinux/bios/isohdpfx.bin" "${work_dir}/iso/isolinux/"
- cp "${work_dir}/airootfs/usr/lib/syslinux/bios/ldlinux.c32" "${work_dir}/iso/isolinux/"
-}
-
-# Build airootfs filesystem image
-make_prepare() {
- mkparabolaiso -v -w "${work_dir}" -D "${install_dir}" prepare
-}
-
-# Build ISO
-make_iso() {
- mkparabolaiso -v -w "${work_dir}" -D "${install_dir}" -L "${iso_label}" -o "${out_dir}" iso \
- "${iso_name}-${iso_version}-${arch}.iso"
-}
-
-run_once make_custom_airootfs
-run_once make_pacman_conf
-run_once make_packages
-run_once make_boot
-run_once make_syslinux
-run_once make_isolinux
-run_once make_prepare
-run_once make_iso
+printf '\n[%s] WARNING: %s\n\n' "mkparabolaiso" "build.sh scripts are deprecated! Please use mkparabolaiso directly." >&2
+_buildsh_path="$(realpath -- "$0")"
+exec mkparabolaiso "$@" -B "${_buildsh_path%/*}" build_profile