fix buildchain

This commit is contained in:
Tobias Powalowski 2022-02-18 23:15:10 +01:00
parent b1988e1d93
commit 49e3c5a971
4 changed files with 36 additions and 15 deletions

View file

@ -11,7 +11,7 @@ _config
echo "Starting ISO creation ..."
_prepare_kernel_initramfs_files || exit 1
_prepare_fedora_shim_bootloaders_x86_64 || exit 1
_download_uefi_shell_tianocore || exit 1
_prepare_uefi_shell_tianocore || exit 1
_prepare_efitools_uefi || exit 1
_prepare_uefi_X64_GRUB_USB_files || exit 1
_prepare_uefi_IA32_GRUB_USB_files || exit 1

View file

@ -98,7 +98,7 @@ _prepare_efitools_uefi () {
cp "/usr/share/efitools/efi/KeyTool.efi" "${_ISODIR}/EFI/tools/KeyTool.efi"
}
_download_uefi_shell_tianocore() {
_prepare_uefi_shell_tianocore() {
echo "Prepare uefi shells ..."
## Install Tianocore UDK/EDK2 ShellBinPkg UEFI X64 "Full Shell" - For UEFI Spec. >=2.3 systems
cp /usr/share/edk2-shell/x64/Shell.efi "${_ISODIR}/EFI/tools/shellx64_v2.efi"
@ -152,16 +152,16 @@ _grub_mkrescue() {
#set date for reproducibility
# --set_all_file_dates for all files
# --modification-date= for boot.catalog
grub-mkrescue --set_all_file_dates 'Jan 1 00:00:00 UTC 1970' --modification-date=1970010100000000 --compress=xz --fonts="unicode" --locales="" --themes="" -o "${_IMAGENAME}.iso" "${_ISODIR}"/ "boot/grub/grub.cfg=${_GRUB_CONFIG}" &> "${_IMAGENAME}.log"
grub-mkrescue --set_all_file_dates 'Jan 1 00:00:00 UTC 1970' --modification-date=1970010100000000 --compress=xz --fonts="unicode" --locales="" --themes="" -o "${_IMAGENAME}.iso" "${_ISODIR}"/ "boot/grub/grub.cfg=${_GRUB_CONFIG}" &> "${_IMAGENAME}.log"
}
_reproducibility_iso() {
echo "Create reproducable UUIDs on ${_IMAGENAME}.iso GPT ..."
sgdisk -u 1:1 "${_IMAGENAME}.iso"
sgdisk -u 2:2 "${_IMAGENAME}.iso"
sgdisk -u 3:3 "${_IMAGENAME}.iso"
sgdisk -u 4:4 "${_IMAGENAME}.iso"
sgdisk -U 1 "${_IMAGENAME}.iso"
sgdisk -u 1:1 "${_IMAGENAME}.iso" >/dev/null 2>&1
sgdisk -u 2:2 "${_IMAGENAME}.iso" >/dev/null 2>&1
sgdisk -u 3:3 "${_IMAGENAME}.iso" >/dev/null 2>&1
sgdisk -u 4:4 "${_IMAGENAME}.iso" >/dev/null 2>&1
sgdisk -U 1 "${_IMAGENAME}.iso" >/dev/null 2>&1
}
_create_cksum() {

View file

@ -15,14 +15,27 @@ _cachedir_check() {
fi
}
_download_packages() {
echo "Downloading packages base linux ${_LINUX_FIRMWARE} and ${_ARCHBOOT} to ${1} ..."
pacman --root "${1}" -Syw base linux "${_LINUX_FIRMWARE}" "${_ARCHBOOT}" --ignore systemd-resolvconf --noconfirm --cachedir "${_CACHEDIR}" >/dev/null 2>&1
}
_aarch64_download_packages() {
echo "Downloading packages base linux ${_LINUX_FIRMWARE} and ${_ARCHBOOT} to ${1} ..."
systemd-nspawn -q -D "${1}" /bin/bash -c "pacman -Syw base linux ${_LINUX_FIRMWARE} ${_ARCHBOOT} --ignore systemd-resolvconf --noconfirm" >/dev/null 2>&1
}
_move_packages() {
echo "Mpving packages to ${2} ..."
mv "${1}"/var/cache/pacman/pkg/./* "${2}"
}
_cleanup_repodir() {
echo "Remove ${1} ..."
rm -r "${1}"
}
_create_archboot_db() {
repo-add "${1}"/archboot.db.tar.gz "${1}"/./*.{zst,xz}
echo "Creating archboot repository db ..."
repo-add "${1}"/archboot.db.tar.gz "${1}"/./*.{zst,xz} >/dev/null 2>&1
}

View file

@ -7,6 +7,7 @@ _BUILDDIR="$(mktemp -d "${_ISOHOME}"/server-release.XXX)"
_SERVER="pkgbuild.com"
_SERVER_HOME="/home/tpowa/"
_SERVER_DIR="/home/tpowa/public_html/archboot-images"
_SOURCE_DIR="/home/tpowa/public_html/archboot-sources"
_USER="tobias"
_GROUP="users"
_GPG="--detach-sign --no-armor --batch --passphrase-file /etc/archboot/gpg.passphrase --pinentry-mode loopback -u 7EDF681F"
@ -17,6 +18,7 @@ _PACMAN_AARCH64_CHROOT_SERVER="https://pkgbuild.com/~tpowa/archboot-helper/pacma
_PACMAN_AARCH64_CHROOT="pacman-aarch64-chroot-latest.tar.zst"
_ARCHBOOT_SOURCE="https://pkgbuild.com/~tpowa/archboot-sources"
_update_aarch64_pacman_chroot() {
# update aarch64 pacman chroot
cd "${_PACMAN_AARCH_BUILDDIR}" || exit 1
@ -55,14 +57,20 @@ _update_aarch64_pacman_chroot() {
}
_update_source() {
[[ -d "${_SOURCEHOME}" ]] || mkdir -p "${_SOURCEHOME}"
if [[ -d "${_SOURCEHOME}" ]];then
rm -r "${_SOURCEHOME}"
mkdir -p "${_SOURCEHOME}"
else
mkdir -p "${_SOURCEHOME}"
fi
echo "Creating ${_ARCH} archboot repository ..."
"archboot-${_ARCH}-create-repository.sh" "${_SOURCEHOME}" || exit 1
sudo -u "${_USER}" scp -r "${_SOURCEHOME}" "${_SERVER}":"${_SERVER_HOME}" || exit 1
sudo -u "${_USER}" ssh "${_SERVER}" <<EOF
rm -r "${_ARCHBOOT_SOURCE}/${_ARCH}/${_DIRECTORY}"
rm -r "${_ARCHBOOT_SOURCE}/${_ARCH}/$(date -d "$(date +) - 3 month" +%Y.%m)"
mv "${_DIRECTORY}" "${_ARCHBOOT_SOURCE}/${_ARCH}"
cd "${_ARCHBOOT_SOURCE}/${_ARCH}"
rm -r "${_SOURCE_DIR}/${_ARCH}/${_DIRECTORY}"
rm -r "${_SOURCE_DIR}/${_ARCH}/$(date -d "$(date +) - 3 month" +%Y.%m)"
mv "${_DIRECTORY}" "${_SOURCE_DIR}/${_ARCH}"
cd "${_SOURCE_DIR}/${_ARCH}"
rm latest
ln -s "${_DIRECTORY}" latest
EOF
@ -71,7 +79,7 @@ EOF
_server_release() {
# create release in "${_ISOHOME}"
cd "${_ISOHOME}" || exit 1
"archboot-${_ARCH}-release.sh" "${_BUILDDIR}" "${_ARCHBOOT_SOURCE}" || rm -r "${_BUILDDIR}"
"archboot-${_ARCH}-release.sh" "${_BUILDDIR}" "${_ARCHBOOT_SOURCE}/${_ARCH}/${_DIRECTORY}" || rm -r "${_BUILDDIR}"
# set user rights on files
[[ -d "${_BUILDDIR}" ]] || exit 1
chmod 755 "${_BUILDDIR}"