FS#79560 - [ostree] Missing --with-builtin-grub2-mkconfig

Attached to Project: Arch Linux
Opened by GrabbenD (GrabbenD) - Monday, 04 September 2023, 10:24 GMT
Last edited by Toolybird (Toolybird) - Monday, 04 September 2023, 19:54 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To No-one
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

# Description:
OSTree requires --with-builtin-grub2-mkconfig build flag to determinate if current system is EFI.

Without this flag it incorrectly sets GRUB2_SUFFIX = 16 as seen here:
https://github.com/ostreedev/ostree/blob/5fe050f51a660d60cebe401de42c829f3247a955/src/libostree/ostree-bootloader-grub2.c#L36

This generates linux16/initrd16 (BIOS) boot entries on a EFI system which breaks this supplementary script for GRUB2:
https://raw.githubusercontent.com/ostreedev/ostree/v2023.6/src/boot/grub2/grub2-15_ostree

For reference, this build flag is already automatically added in Gentoo's EBuild of OSTree.

# Workaround:
Add --with-builtin-grub2-mkconfig to PKGBUILD as seen here:
- $ pacman --noconfirm -S sudo git
- $ git clone https://gitlab.archlinux.org/archlinux/packaging/packages/ostree.git /home/build/ostree
- $ cd /home/build/ostree && chown -R nobody $(pwd)
- $ source PKGBUILD && pacman -S --noconfirm --needed --asdeps base-devel "${makedepends[@]}" "${depends[@]}"
- $ sed -i '/--with-builtin-grub2-mkconfig/a \ \ \ \ --with-modern-grub' PKGBUILD
- $ sudo -u nobody makepkg -Cf --nocheck
- $ pacman --noconfirm -U *.pkg.tar.zst

# Additional info:
* package version(s): 2023.6-2
* config and/or log files etc.: N/A
* link to upstream bug report, if any: N/A

# Steps to reproduce:
- Boot with UEFI
- $ ostree admin deploy
- $ less /boot/loader/entries/ostree-*-*.conf
linux16 /boot/ostree/archlinux-fcad05e9f4bbe2a8e94763dda2542a4bf53ee9af812afb02de6d28f6051e9d1b/vmlinuz-6.4.12-zen1-1-zen
initrd16 /boot/ostree/archlinux-fcad05e9f4bbe2a8e94763dda2542a4bf53ee9af812afb02de6d28f6051e9d1b/initramfs-6.4.12-zen1-1-zen.img
This task depends upon

Closed by  Toolybird (Toolybird)
Monday, 04 September 2023, 19:54 GMT
Reason for closing:  Fixed
Additional comments about closing:  ostree 2023.6-3
Comment by David Runge (dvzrv) - Monday, 04 September 2023, 10:54 GMT
@GrabbenD: Thanks for the ticket.

Please check if ostree 2023.6-3 does what it should.
Comment by GrabbenD (GrabbenD) - Monday, 04 September 2023, 11:24 GMT
Just upgraded and tried it again and it works as intended now!
Thanks a ton

# pacman -Qi ostree
Name : ostree
Version : 2023.6-3
Description : Operating system and container binary deployment and upgrades
Architecture : x86_64
URL : https://ostreedev.github.io/ostree/
Licenses : LGPL-2.0-or-later
Groups : None
Provides : libostree-1.so=1-64
Depends On : bash fuse3 gcc-libs glibc libgpg-error libsodium sh util-linux zlib avahi libavahi-client.so=3-64 libavahi-common.so=3-64 libavahi-glib.so=1-64 curl libcurl.so=4-64 glib2 libgio-2.0.so=0-64
libglib-2.0.so=0-64 libgobject-2.0.so=0-64 gpgme libgpgme.so=11-64 libarchive libarchive.so=13-64 libsoup openssl libcrypto.so=3-64 systemd-libs libsystemd.so=0-64 xz liblzma.so=5-64
Optional Deps : None
Required By : None
Optional For : None
Conflicts With : None
Replaces : None
Installed Size : 4.36 MiB
Packager : David Runge <dvzrv@archlinux.org>
Build Date : Mon Sep 4 12:48:49 2023
Install Date : Mon Sep 4 13:20:23 2023
Install Reason : Explicitly installed
Install Script : No
Validated By : Signature

Loading...