aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2026-07-14test-build: auto-pull the image from the LAN registry when missingDanilo M.1-10/+16
require_image now docker-pulls ACTIVE_IMAGE (a fully-qualified registry ref) if it is not already local, instead of erroring out and telling the user to pull by hand. Only errors if the pull itself fails. Pull-if-missing only: a stale local tag is not refreshed (noted for a future --pull flag). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14test-build: fix container stdin and move lint in-containerDanilo M.1-23/+23
Two bugs surfaced by the first real end-to-end run: 1. docker run lacked -i, so bash -s got no stdin and the heredoc build script was silently discarded (0s BUILD-FAILED, empty log). Add -i. 2. sbopkglint ran host-side, where it shells out to sudo to installpkg the package for inspection; Slackware has no configured sudo, so lint errored (lxsudo not found / password required). Move the lint into the build container (target only, gated on IS_TARGET), where it runs as root with the baked-in tool and needs no sudo. The host now just reads the LINT-CLEAN / LINT-FINDINGS marker from the log for its summary. Drop the dead host-side lint_pkg function. Verified: feroxbuster builds and lints clean end-to-end against sbo-testbuild:current in 72s. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14test-build: make drop: satisfy a dep at resolution timeDanilo M.3-2/+21
Previously drop: only filtered the resolved build order, so an external dep with no dir in the tree (a 15.0-only SBo package like rust-opt) was flagged UNMET before the order filter ran, and drop: could never rescue it. Move the OV_DROP check into _resolve_visit: a dropped token is now skipped entirely (no recurse, no UNMET, no order entry), satisfying 15.0-only deps that the -current base already provides. Still inert on 15.0. Add self-check coverage and clarify overrides.example. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-14test-build: implement installed_in_base from image package dbDanilo M.2-7/+41
Replace the stub with a lazy load of the active image's /var/log/packages: strip each entry's -<ver>-<arch>-<build> tail to the bare package name and match REQUIRES tokens against that set, so a dep the full-install image already provides resolves as met instead of UNMET. Loaded once per run via docker run --rm; TB_BASE_PKGS/TB_BASE_LOADED are test-seedable to bypass docker. Add logic-check coverage. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13image-builder: feed full build from LAN NFS mirror over HTTP, fix GPG verifyDanilo M.3-2/+38
The full-image build pulled the entire Slackware tree from slackware.nl over WAN: slow (40+ min), flaky (truncated .asc downloads), and it wedged the legacy builder. The identical tree is on LAN NFS, so serve it to the build container instead. - config: add HTTP_MIRROR_HOST/PORT (docker0 bridge gateway + ephemeral port). - bootstrap.sh: bake the LAN HTTP mirror URL into the base image instead of slackware.nl, so the full build inherits it. - build-full-image.sh: start an ephemeral python3 http.server rooted at the variant NFS tree on the bridge for the build duration, killed via the EXIT trap; require_mount so an unmounted NAS fails loud; wait for the server before building. Also fix a silent-failure bug: without importing the Slackware GPG key against the mirror first, slackpkg cannot verify CHECKSUMS.md5 and installs almost nothing (94 packages instead of ~1788). Add "slackpkg update gpg" as the first Dockerfile step; verified the package count jumps 94 -> 1788 with it. Fetch is incremental (slackpkg downloads only installed packages), unlike the buildkit --build-context path which eagerly copies the whole multi-GB tree. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13image-builder: fix false GPG-update warning from SIGPIPE on yes pipeDanilo M.1-1/+9
bootstrap fed slackpkg update gpg with "yes YES |". When slackpkg exits first (key already valid), yes takes SIGPIPE and, under set -e/pipefail, the pipeline reports non-zero even though the key import succeeded, firing a bogus "slackpkg GPG update failed" warning on every run. Read slackpkg own status via PIPESTATUS[1] instead of the pipeline status, inside an if so set -e/pipefail does not abort on the SIGPIPE; capture PIPESTATUS as the first command in each branch so no intervening command resets it. Verified: warning gone on re-run, key still imports. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13image-builder: accept any Slackware pkg extension (*.t?z) not just .txzDanilo M.2-10/+11
Upstream sbopkg ships as .tgz, not .txz. The require_pkgs guard, txz_hash find, cp staging, and Dockerfile COPY all hard-coded *.txz, so a .tgz package failed the presence check and was excluded from the rebuild hash. Widen every glob to *.t?z (matches .txz/.tgz/.tbz/.tlz); stage the whole pkgs dir into the image and installpkg the lot, dropping the in-image extension coupling entirely. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13image-builder: require_mount in changelog gate so unmounted NAS fails loudDanilo M.1-0/+1
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13image-builder: mark scripts executableDanilo M.4-0/+0
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13image-builder: README with VM setup checklistDanilo M.1-0/+58
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13image-builder: per-variant isolation, non-zero exit on failureDanilo M.3-3/+18
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13image-builder: guard FULL_DIGEST recompute against set -e abortDanilo M.1-1/+1
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13image-builder: build-sbo-testbuild.shDanilo M.1-0/+117
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13image-builder: build-full-image.shDanilo M.1-0/+184
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13image-builder: bootstrap.sh cleanup trap on EXIT not RETURNDanilo M.1-1/+1
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13image-builder: bootstrap.sh base image from NASDanilo M.1-0/+525
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13image-builder: lib.sh self-checkDanilo M.1-0/+68
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13image-builder: curl -sS in fetch for http error diagnosticsDanilo M.2-2/+2
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13image-builder: config + lib.sh helpersDanilo M.2-0/+79
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13image-builder: add implementation planDanilo M.1-0/+790
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13image-builder: add design specDanilo M.1-0/+216
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13test-build: document installed_in_base deferralDanilo M.1-3/+7
2026-07-13test-build: fix empty-order corruption when all deps droppedDanilo M.2-1/+15
2026-07-13test-build: wire main, image-presence check, target lookupDanilo M.1-0/+37
2026-07-13test-build: run_target orchestration + summary + confirmDanilo M.1-0/+147
2026-07-13test-build: container build step (build_one via docker)Danilo M.1-0/+171
2026-07-13test-build: port BLOCKED-BY-DEP propagationDanilo M.2-0/+32
2026-07-13test-build: port dep cache, namespaced by image digestDanilo M.2-0/+112
2026-07-13test-build: current-vs-stable override engineDanilo M.3-0/+110
2026-07-13test-build: port SBo lookup + dependency resolverDanilo M.2-0/+122
2026-07-13test-build: config, arg parsing, version selectionDanilo M.3-1/+134
2026-07-13test-build: scaffold script + self-checkDanilo M.2-0/+76
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13docs: test-build implementation planDanilo M.1-0/+1579
2026-07-13docs: test-build design spec; refine CLAUDE.md purpose and docker workflowDanilo M.2-12/+340
2026-07-11Add TODO: migrate moved packages to cat-based stagingDanilo M.1-0/+17
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11Track moved pentesting packages; document their build strategiesDanilo M.2-0/+131
Add nvchecker stanzas for the seven packages moved from pentesting-suite (SecLists, ffuf, gobuster, exploitdb, nuclei, feroxbuster, metasploit-framework-bin) and a Build Strategies section covering Go/Rust source builds, .deb repacks, and data packages, plus the metasploit msfvenom-completion and man-page regeneration procedures. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11Move metasploit-framework-bin from pentesting-suiteDanilo M.8-0/+480
Accepted on SBo, danix-maintained. Deduplicate like the other six. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-11Move SecLists, exploitdb, feroxbuster, ffuf, gobuster, nuclei from ↵Danilo M.30-0/+1061
pentesting-suite Deduplicate: these six are danix-maintained on SBo. ffuf and gobuster synced to current SBo (arch-independent .info). Others carry local versions ahead of SBo for later update submission. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-10Initial import: r8125, UrbanTerrorDanilo M.30-0/+4226
SBo-official packages maintained by danix, split out of my-slackbuilds. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>