grub-legacy
Category: local-install, but not a plain unmodified AUR rebuild — this
checkout carries real local edits on top of upstream’s PKGBUILD
(aur.archlinux.org/grub-legacy.git, in /data/INSTALL/grub-legacy). Upstream
only ships arch=('i686' 'x86_64'); the local edit expands that to
arch=('i686' 'x86_64' 'pentium4' 'i486') for Archlinux32/archlinuxaba
coverage. This edit does not survive a fresh re-clone — same caveat as any
other local-install edit per [[feedback_local_install_rebuilds]]; re-apply
the arch=() expansion and the two depends_x86_64 lines below by hand if this
dir is ever rm’d and re-cloned.
Never published before 2026-08-26 (checkout existed since 2025-09-16 with a stale, never-finished pentium4-only build attempt sitting in the dir — leftover logs/pkg files cleaned up before this session’s build).
x86_64-only build dependencies (the whole point of this package being fiddly)
Upstream’s depends=(... lib32-glibc) is only meaningful on x86_64 — GRUB
legacy’s userspace tools build as 32-bit ELF binaries even on a 64-bit host
(gcc -m32), so multilib runtime libs are needed there, but lib32-* packages
don’t exist/apply for a native 32-bit build (pentium4/i486/i686). The local
edit therefore moved this out of the unconditional depends=() into
depends_x86_64=():
depends=('ncurses' 'diffutils' 'sed')
depends_x86_64=('lib32-glibc' 'lib32-gcc-libs')
makedepends=('autoconf' 'gcc')
makedepends_x86_64=('gcc-multilib')
lib32-gcc-libs was missing even after lib32-glibc was restored
(2026-08-27) — x86_64 build failed at configure’s most basic sanity check (“C
compiler cannot create executables”) with
ld: cannot find libgcc_s.so.1: No such file or directory during the
gcc -m32 conftest.c link. /usr/lib32/libgcc_s.so.1 is owned by
lib32-gcc-libs, not lib32-glibc — needed at both build time (the -m32
conftest link) and presumably runtime (installed usr/bin/grub, usr/bin/mbchk
are 32-bit ELF on x86_64 too). Root-caused via the chroot’s leftover
config.log at
/var/lib/archbuild/archlinuxaba-x86_64/build/build/grub-legacy/src/grub-0.97/config.log
(archbuild leaves the failed build dir in place — useful for this kind of
postmortem, no need to rebuild with extra verbosity to see it).
If a future rebuild fails with a similar -m32/multilib linking error on
x86_64, check depends_x86_64/makedepends_x86_64 for other missing lib32-*
runtime pieces before assuming a source-level issue.
2026-08-27 build
First real publish: x86_64, i686, pentium4, i486 all built and published
(0.97-30, matching AUR’s current version — no pkgver change, this was purely a
from-scratch build + the dependency fixes above). Hit two unrelated transient
remote-connectivity failures mid-run (SSH Connection reset by peer during
chroot pacman sync for x86_64/pentium4/i486, and again during the i686 publish’s
mkdir check) that silently dropped x86_64 build + main (non-debug) i686 package
from the run despite the overall script exiting 0 — see
[[feedback_verify_publish_full_log]]. Recovered by re-running
repo_publish.sh directly against the still-present local .pkg.tar.zst files
once connectivity to euroweb.lan stabilized, then
REPO_BUILD_ONLY_ARCH=x86_64 repo_release.sh to redo just the arch that never
got a chance to build.