Manages a local copy of the HardenedBSD ports tree
Find a file
0x1eef bd84f7f134 Honor umask
This change is a revert of previous commits that worked around
the umask not being honored. This commit runs git with the correct
umask, and avoids any need to run chmod manually. The number of
doas.conf rules has been reduced to 2.
2024-04-20 05:24:14 -03:00
.github/workflows Add shellcheck target 2024-04-02 13:40:16 -03:00
bin Rephrase another error message 2024-04-19 07:43:38 -03:00
libexec/portzap Honor umask 2024-04-20 05:24:14 -03:00
man/man8 Alter default umask / mode 2024-04-20 02:23:20 -03:00
share/portzap Honor umask 2024-04-20 05:24:14 -03:00
.projectile Add HardenedBSD source 2023-01-29 07:48:09 -03:00
LICENSE License = 0BSD 2023-03-11 22:15:49 -03:00
Makefile Fix 'make deinstall' 2024-04-19 06:24:05 -03:00
README.md Alter default umask / mode 2024-04-20 02:23:20 -03:00

About

portzap is a utility that manages a local copy of the hardenedbsd ports tree. The copy of the ports tree is maintained by members of the _portzap group, and the copy of the ports tree can be installed to /usr/ports by root.

Examples

CLI: setup-portzap

This command should be run after installing portzap for the first time.

# Add the portzap user, group and home directory.
# This command requires root privileges.
# setup-portzap

CLI: portzap

# Clone the hardenedbsd ports tree into /home/_portzap/ports/.
# This command is delegated to the '_portzap' user.
$ portzap clone

# Pull updates into /home/_portzap/ports/.
# This command is delegated to the '_portzap' user.
$ portzap pull

# Install /home/_portzap/ports/ into /usr/ports/.
# This command requires root privileges.
# portzap install

# Start over: erase /usr/ports/ and /home/_portzap/ports/.
# This command requires root privileges.
$ portzap erase

ENVIRONMENT

  • $PORTZAP_GITURL
    The URL to a git repository.
    Default: https://git.hardenedbsd.org/hardenedbsd/ports.git.

  • $PORTZAP_BRANCH
    The git branch to clone and pull updates from.
    Default: hardenedbsd/main.

  • $PORTZAP_INSTALLDIR
    The directory where the ports collection will be installed.
    Default: /usr/ports/.

Install

Port

portzap is available as a hardenedbsd port.
pkg install portzap should work too but expect slower updates.

Source

The most recent version of portzap can be installed directly via git:

$ git clone https://github.com/0x1eef/portzap.git
$ cd portzap
# make install
# portzap setup
# pw groupmod -n _portzap -m <user>

Requirements

  • doas (pkg install doas)
  • git (pkg install git)

Sources

License

BSD Zero Clause.
See LICENSE.