1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
# 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.
|