Manages a local copy of the HardenedBSD source tree
Find a file
0x1eef 8f79d6de57
Some checks are pending
sourcezap / shellcheck (push) Waiting to run
Fix shellcheck
2024-09-14 04:31:18 -03:00
.github/workflows Update .github/ 2024-05-11 20:29:04 -03:00
bin s|rev|commit|g, s|revfile|commitfile|g 2024-08-20 02:20:11 -03:00
libexec/sourcezap Fix shellcheck 2024-09-14 04:31:18 -03:00
man/man8 Update sourcezap.8 2024-08-17 16:34:28 -03:00
share/sourcezap Log when sourcezap rm completes successfully 2024-09-14 04:24:49 -03:00
.editorconfig Add editorconfig 2024-09-14 04:22:29 -03:00
.projectile First commit 2024-05-11 16:03:00 -03:00
Makefile Fix "make deinstall" 2024-08-18 23:05:52 -03:00
README.md Fix docs 2024-08-16 23:34:33 -03:00

About

sourcezap is a utility that manages a local copy of the HardenedBSD source tree. The copy of the source tree is maintained by members of the _sourcezap group, and the copy of the source tree can be installed into /usr/src/ by root.

CLI

CLI: setup

sourcezap setup should be run after installing sourcezap for the first time.
There is no harm in running sourcezap setup multiple times:

# Add the '_sourcezap' user, group and home directory
# This command requires root privileges
root@localhost# sourcezap setup

# Reverse the changes made by 'sourcezap setup'
# This command requires root privileges
root@localhost# sourcezap teardown

CLI: group

The following commands are delegated to the _sourcezap user and restricted to members of the _sourcezap group. The restrictions are enforced by sourcezap and to a lesser extent by doas(1):

  • sourcezap clone
    Clone the HardenedBSD source tree into /home/_sourcezap/src/

  • sourcezap pull
    Pull updates into /home/_sourcezap/src/

  • sourcezap checkout
    Checkout a branch other than the default: hardened/14-stable/master

  • sourcezap sh
    Run /bin/sh within /home/_sourcezap/src/

CLI: superuser

The following commands are restricted to root.
The restrictions are enforced by sourcezap:

  • sourcezap rm
    Remove the contents of /usr/src/ and /home/_sourcezap/src/

  • sourcezap install
    Install /home/_sourcezap/src/ into /usr/src/

Environment

Install

sourcezap is available from the HardenedBSD ports tree. pkg install sourcezap should work too but expect slower updates. The most recent version of sourcezap can be installed via git:

# Clone
user@localhost$ git clone https://git.hardenedbsd.org/0x1eef/sourcezap.git
user@localhost$ cd sourcezap

# Install
root@localhost# make install
root@localhost# sourcezap setup

# Add user to '_sourcezap' group
root@localhost# pw groupmod -n _sourcezap -m <user>

Requirements

Sources

License

BSD Zero Clause
See LICENSE