# slackrepo_setup Builds a personal Slackware SlackBuilds repository for [slackrepo](https://github.com/aclemons/slackrepo) at `/var/lib/sbopkg/SBo-danix`, targeting slackware64-current. The upstream SBo tree (`Ponce/slackbuilds`, branch `current`) is cloned, then two personal overlays are added as squashed git subtrees: - `personal/` from [my-slackbuilds](https://github.com/danixland/my-slackbuilds) - `pentesting/` from [Slackware-Pentesting-Suite](https://github.com/danixland/Slackware-Pentesting-Suite) Any upstream package also carried in an overlay is *shadowed* (removed from the upstream tree), so the overlay version wins. ## Files - `slackrepo_setup_SBo-danix.sh`: full rebuild. Wipes the repo, clones upstream, adds the subtrees, then runs `sbshadow`. **Destructive**: `rm -rf`s the repo on every run. - `sbshadow`: reconciles shadowing both ways. Shadows upstream packages now carried in an overlay, and restores (unshadows) upstream packages no longer carried, from the pristine `current` branch. Asks once before changing anything, commits, then runs `mkhint -F` to regenerate phantom-dep hintfiles. - `sbpull.bash`: `sbpull {personal|pentesting}` shell function. Pulls one overlay subtree and runs `sbshadow`, to carry overlay changes without a full rebuild. Source it from root's `~/.bashrc`. ## Install ```bash install -m 755 slackrepo_setup_SBo-danix.sh sbshadow /usr/local/bin/ echo ". /path/to/sbpull.bash" >> ~/.bashrc ``` Optional: `mkhint` (mkhintfile repo) for phantom-dep hintfile regeneration. Without it, `sbshadow` prints a note and skips that step. ## Usage ```bash slackrepo_setup_SBo-danix.sh # weekly full rebuild sbpull personal # pull overlay changes in between ``` ## License GPLv2 only. See [LICENSE](LICENSE). ## Development Approach This project is developed using AI-assisted tools. Code is generated with the help of AI based on human-provided specifications, design decisions, and iterative feedback. All contributions are reviewed, tested, and curated by the maintainer before being included in the codebase. AI is used as a productivity and exploration tool, while human oversight remains central to all decisions. The goal is to combine the flexibility of AI-assisted development with standard open-source practices such as transparency, review, and accountability.