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.