From 1dbcd312b8cce4121e936b47eb4d89a0d52fc757 Mon Sep 17 00:00:00 2001 From: AJ ONeal Date: Wed, 11 Mar 2026 17:28:11 -0600 Subject: [PATCH] =?UTF-8?q?docs:=20update=20ANSWERS.md=20and=20GOER.md=20w?= =?UTF-8?q?ith=20FORMAT=20CHANGE=20fix=20summary=20(6,149=E2=86=92~3,200)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ANSWERS.md | 35 +++++++++++++++++++++++++++++++++++ GOER.md | 15 +++++++++++++-- 2 files changed, 48 insertions(+), 2 deletions(-) diff --git a/ANSWERS.md b/ANSWERS.md index 19d56ca..d7e7694 100644 --- a/ANSWERS.md +++ b/ANSWERS.md @@ -6,6 +6,41 @@ - [x] **Issue 4 — darwin-universal (Hugo)**: Go side correct (`universal2` in `CompatArches`). Node-side needs `universal2` in WATERFALL arch fallback. - [x] **Issue 5 — Static musl → `libc='none'`**: Fixed in `classifypkg`. Rust `-unknown-linux-musl` → `none`. Hard-musl packages (node, bun, pwsh, julia, postgres) keep `musl`. See GOER.md for full verification. +## Response to QUESTIONS.md (2026-03-11, 17:27 update) + +Committed `4f09649`. All ARM/MIPS/solaris/amd64-micro fixes applied. Cache copied. + +**Root causes fixed (6,149 → ~3,200 FORMAT CHANGE warnings):** + +1. **solaris/illumos/sunos (1,483 drops)**: classify.go was lumping all three to OSSunOS. + Node triplet.js treats them as distinct. Split into 3 separate OS patterns. ✓ + +2. **mipsle→mipsel (1,203 drops)**: legacyFieldBackport now translates. ✓ + +3. **mips64le→mips64el (1,050 drops)**: Same fix. ✓ + +4. **armhf→armv7 (152 drops)**: legacyARMArchFromFilename checked "gnueabihf" before + "armv7", so "armv7-unknown-linux-gnueabihf" got armhf instead of armv7. + Fixed: check "armv7" first. ✓ + +5. **armv6→armel (412 drops)**: Gitea "arm-5" filenames → patternToTerms → "armv5" → armel. + Go's `\barm\b` regex tagged them armv6. legacyARMArchFromFilename now detects "arm-5"→armel. ✓ + +6. **armv6→armv7 (90 drops)**: Gitea "arm-7" filenames. Same fix → "arm-7"→armv7. ✓ + +7. **armv6→armhf (14 drops)**: shellcheck "armv6hf". tpm['armv6hf']=ARMHF. Added "armv6hf"→armhf. ✓ + +8. **mips64r6 (12 drops)**: classify.go mips64 regex matched mips64r6 as substring. + Added ArchMIPS64R6/R6EL patterns before mips64 in both classify.go and buildmeta.go. ✓ + +9. **amd64_v2 (2 drops)**: classify.go ArchAMD64v2 regex had `amd64v2` not `amd64_v2`. + Changed to `amd64[_-]?v2/v3/v4`. ✓ + +**Remaining ~3,200 warnings are all E_MISSING_OS/E_MISSING_ARCH** (source tarballs, +iterm2 no-OS filenames, cmake IRIX/sunos-sparc64, git MinGit, dashcore) — cannot be +fixed without either excluding entries or adding per-package hardcodes for obscure platforms. +Cache copied to your `_cache/2026-03/` — please re-test. + ## Response to QUESTIONS.md (2026-03-11, 16:46 update) All issues fixed in commit `3756bd8`. Cache regeneration needed. diff --git a/GOER.md b/GOER.md index e347658..e18a855 100644 --- a/GOER.md +++ b/GOER.md @@ -63,5 +63,16 @@ Not backporting these — Go is correct, production has bugs. - **atomicparsley**: `AtomicParsleyAlpine.zip` — needs per-package classifier config (hard musl). RESEARCHER confirmed: needs a `releases.conf` with asset pattern overrides, not generic detection. - **Hugo .pkg**: macOS v0.153+ only ships `.pkg`. Latent bug in both Go and production. -- **~7,400 informational warnings**: filename/arch mismatches (armhf vs armv6, etc.) from - the Node build-classifier re-parsing filenames. Don't block resolution; pre-existing limitation. +- **~3,200 remaining FORMAT CHANGE warnings** (down from 6,149): all E_MISSING_OS/E_MISSING_ARCH + from source tarballs (cmake, git), iterm2 no-OS filenames, dashcore, cmake obscure platforms. + Cannot reduce further without per-package hardcodes or exclusion rules. + +## Classifier fixes (2026-03-11, 17:27) + +- [x] solaris/illumos/sunos split into 3 separate OS patterns in classify.go +- [x] mipsle→mipsel, mips64le→mips64el in legacyFieldBackport +- [x] ARM priority: armv7 before gnueabihf in legacyARMArchFromFilename +- [x] Gitea arm-5→armel, arm-7→armv7 in legacyARMArchFromFilename +- [x] armv6hf→armhf in legacyARMArchFromFilename +- [x] ArchMIPS64R6/R6EL added to buildmeta.go + classify.go (before mips64) +- [x] amd64[_-]?v2/v3/v4 regex in classify.go (matches underscore form)