mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-11 20:14:02 +01:00
fee[dB]ack has no AUR entry, so install_feedback.sh builds a local package from the PKGBUILD tracked beside it, the same way hypersomnia-appimage and jackify-bin are installed here. The script only builds and then prints the `sudo pacman -U` line to run, since interactive sudo prompts belong to the user rather than an agent. The built .pkg.tar.zst is ~640 MB, so it is gitignored along with the Bottles prefixes and the archwiki_rag vector index — all three are local runtime state that is regenerable and must never enter the history (see memories/binary-files.md). The PKGBUILD and the installer are the source and stay tracked. Exclude PKGBUILDs from shellcheck. A PKGBUILD is a makepkg manifest, not a standalone script: it has no shebang by design, pkgname/pkgver/ source/sha512sums are read by makepkg, and pkgdir/srcdir are injected by it, so shellcheck flags every one as unused or undefined. The same reasoning already excludes zsh — the dialect is outside what shellcheck can judge — and the alternative was a directive on nearly every line. Also drops three stray files: a saved search-results page, a 0-byte file from a mistyped redirect, and a June i3 config backup superseded by git. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01YQLwdquDCNmWtvgi3Lk72J
40 lines
3.1 KiB
JSON
40 lines
3.1 KiB
JSON
{
|
|
"intent": "Install fee[dB]ack (rhythm-gaming / music-education app) from a local-only pacman package, and stop local build artifacts from entering git history.",
|
|
"scope": [
|
|
"linux_configuration/scripts/single_use/install_feedback.sh (build driver)",
|
|
"linux_configuration/scripts/single_use/feedback-appimage/PKGBUILD (package source)",
|
|
".gitignore (build artifacts, Bottles prefixes, archwiki_rag vector index)",
|
|
".pre-commit-config.yaml (shellcheck PKGBUILD exclusion)",
|
|
"Non-goal: publishing to the AUR; this package is local-only",
|
|
"Non-goal: running the install itself — interactive sudo belongs to the user"
|
|
],
|
|
"changes": [
|
|
"Added install_feedback.sh, which builds the package with makepkg and then prints the `sudo pacman -U` command rather than running it, matching the existing hypersomnia-appimage / jackify-bin pattern on this machine.",
|
|
"Added the PKGBUILD it builds from. options=(!strip) is required: stripping corrupts the AppImage's embedded ELF/squashfs layout.",
|
|
"Gitignored linux_configuration/scripts/single_use/*/*.pkg.tar.{zst,xz} (the built artifact here is ~640 MB), bottles/ (Wine prefixes) and digital_wellbeing/data/ (archwiki_rag's regenerable vector index). The PKGBUILD and installer remain tracked as the actual source.",
|
|
"Excluded PKGBUILD from the shellcheck hook. A PKGBUILD is a makepkg manifest, not a standalone script: it has no shebang by design, pkgname/pkgver/source/sha512sums are consumed by makepkg, and pkgdir/srcdir are injected by it, so shellcheck reports SC2148/SC2034/SC2154 for all of them. Same rationale as the pre-existing zsh exclusion — the dialect is outside what shellcheck can judge — and it avoids littering the file with per-line directives.",
|
|
"Deleted stray files: f.html (a saved SearXNG results page), kcd2_dice_solver/9 (0-byte, a stray shell redirect) and an i3 config.bak from June."
|
|
],
|
|
"verification": [
|
|
{
|
|
"command": "git add -n linux_configuration/scripts/single_use/feedback-appimage/",
|
|
"result": "pass",
|
|
"evidence": "Only 'PKGBUILD' is added; git check-ignore confirms the 666 MB .pkg.tar.zst is matched by .gitignore:374. Total staged diff is 139 lines, no binaries."
|
|
},
|
|
{
|
|
"command": "pre-commit run --files <changed-files>",
|
|
"result": "pass",
|
|
"evidence": "Block binary/image files, check for added large files, and all remaining hooks pass; shellcheck no longer reports the PKGBUILD false positives."
|
|
}
|
|
],
|
|
"risks": [
|
|
"The shellcheck PKGBUILD exclusion is repo-wide, so a future PKGBUILD is also unchecked. That is intended — shellcheck cannot meaningfully lint the format — but a genuinely broken PKGBUILD would fail at makepkg time rather than at commit time.",
|
|
"The gitignore glob is scoped to linux_configuration/scripts/single_use/*/ so it cannot silently swallow packages built elsewhere in the repo."
|
|
],
|
|
"rollback": [
|
|
"git revert the commit; the installer and PKGBUILD disappear and the ignore rules lift.",
|
|
"The built artifact is untracked either way, so nothing in the working tree needs restoring.",
|
|
"Confirm with: pre-commit run --all-files"
|
|
]
|
|
}
|