aurupdater

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.