From 72ad84dfbc2593a5c143df6a3976ac5359167483 Mon Sep 17 00:00:00 2001 From: David P Date: Wed, 19 Aug 2020 17:14:30 -0400 Subject: sync with archiso, add timeout for i686 syslinux menus imported the following changes: 13b8c7d (HEAD -> master, origin/master, origin/HEAD) archiso/mkarchiso: correct the path of airootfs/etc/machine-id 41d3d7d Add Joliet file system to the ISO e6455b8 archiso/mkarchiso: create an empty /etc/machine-id ba3e834 scripts/run_archiso.sh: support booting the image as a hard disk or an optical disc 55d9d1f scripts/run_archiso.sh: disable PXE ROM 1e0ffd0 scripts/run_archiso.sh: don't duplicate qemu commands for each boot mode e9f209e Deprecate build.sh scripts and old mkarchiso commands 31b1dfd archiso/mkarchiso: delete all files in /boot not just the kernel and initramfs 7c2247f archiso/mkarchiso: allow choosing boot modes from profiledef.sh 41b9b89 archiso/mkarchiso: copy make_* functions from configs/releng/build.sh 1cc7375 archiso/mkarchiso: start preparing a build_profile command 0387b25 archiso/mkarchiso: general bash improvements --- configs/baseline/build.sh | 113 ++-------------------------------------------- 1 file changed, 3 insertions(+), 110 deletions(-) (limited to 'configs/baseline/build.sh') 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 -- cgit v1.2.2