CVE and update status of the FreeBSD ports tree3,295 unaddressed CVEs in 670 portsAll times are CET
Port details

ports-mgmt/portmaster 3.35

Manage your ports without external databases or languages

Port info

Maintainer
se@FreeBSD.org
Packages
latest: 3.35
Upstream
up to date
Last update
to 3.35 · 8dbda5d791
Quarterly
2026Q4: 3.35
Formerly
sysutils/portmaster until 2007-02-05
WWW
https://portmaster.github.io/
Links
cgit · VuXML · Report wrong data

Install

Package
# pkg install portmaster
installs 3.35 from latest; from quarterly (2026Q4) 3.35
Port
# cd /usr/ports/ports-mgmt/portmaster && make install clean
# make -C /usr/ports/ports-mgmt/portmaster config  # change options first
Size
43 KiB download · 135 KiB installed
Depends on
nothing
License
BSD2CLAUSE
Options
2 of 2 on in the package: BASH ZSH

Packages by version and architecture

latest

FreeBSD versionamd64aarch64i386
FreeBSD 163.353.35–
FreeBSD 153.353.35–
FreeBSD 143.353.353.35

quarterly (2026Q4)

FreeBSD versionamd64aarch64i386
FreeBSD 153.353.35–
FreeBSD 143.353.353.35

version as in the ports tree (latest) or the most common one (quarterly) · different version · ✗ not built · – no packages for this platform. Package sets that have not been rebuilt for 60 days are left out.

Unaddressed and VuXML only (0)

No unaddressed CVE and nothing reported by pkg audit for the packaged version 3.35.

Fixed (0)

No VuXML entries for this package.

Problem reports (7) · open in Bugzilla, most recently changed first

PRSummaryStatusChanged
295355maintainer-feedback? ports-mgmt/portmaster terminates too early if installing multiple new ports on 15-STABLENew2026-05-17
281732maintainer-feedback? ports-mgmt/portmaster: fails to build ports with gmake error: : invalid option -- DNew2026-03-23
290829maintainer-feedback? ports-mgmt/portmaster: removes directories preventing pkg 2.4 fails to create its own packageIn Progress2026-03-01
269076maintainer-feedback? ports-mgmt/portmaster --delete-build-only leaves build only dependenciesNew2023-01-27
245840needs-qa maintainer-feedback? merge-quarterly? ports-mgmt/portmaster: -R is too agressive in removing PM_UPGRADE_DONE_FLAGIn Progress2021-04-20
Show all 7
PRSummaryStatusChanged
227276maintainer-feedback? ports-mgmt/portmaster --clean-packages ignore FLAVORNew2018-04-13
195304ports-mgmt/portmaster fails to auto delete deleted portsOpen2017-12-18

Commits (311)

Doug Barton (dougb) · 1.6
Update for version 1.6.
20a7db3c93
Doug Barton (dougb) · 1.5
New Features ============ 1. -L mode to list all installed ports, and search for updates. 2. Trap SIGINT, and use the opportunity to reap all the child processes we can find. 3. Warn the user during config mode if a port sets IS_INTERACTIVE 4. Support +IGNOREME files in /var/db/pkg/<portname>, ala portupgrade 5. Store the results of the user's choices for -i during config, so they don't have to en

Performance Optimizations
=========================
1. Skip dependency check prior to build if the 'make config' recursion
does not find any ports that need updating.
2. Cache the dependency list for the parent port.
3. -s mode is now recursive, so if a removed port has dependencies,
they are checked too. Remember what ports the user does not want to
delete so they don't have to keep saying "no."
4. Much better support for failed downloads in the background, and the
'make checksum' process is only run once for each port.
5. Switch to using variables and case rather then grep to maintain state
for current dependencies, answers for -i, etc.
6. Re-order some tests to micro-optimize do_update, etc.
7. Handle regular files in /var/db/pkg more efficiently
8. Track the pid of the parent process, and use that to manage state
more efficiently. Also makes for more readable code.
9. Don't clean dependencies, since we don't recurse through them using
the ports tree, we'll let each portmaster process handle it.
10. Cache information about dependencies that are already up to date
to avoid having to do this check when not necessary. This dramatically
improves performance for building/updating large ports (especially
meta-ports like gnome or kde) with a lot of dependencies.

Bug Fixes
=========
1. Add -f to pkg_delete in -s case
2. Reverse the "is required by" statements to make more sense for -r
3. Add PATCHFILES to the list of distfiles to delete when looking for
stale distfiles
4. Minor cleanups, and better code consistency
5. usage() already exits, so clean up h) getopt
6. Add a catchall getopt so user will get usage() for an invalid option
7. Update some messages to make them more meaningful and simplify code
8. Fix specifying second option to -o in <category/portname> format
9. Properly handle the case where the second argument to -o is a port
that is already installed
10. Don't mention the 'make config' step if -G

Security Enhancement
====================
1. Be more careful to only delete temp files if they haven't already been
deleted or moved
f24160d1b1
Doug Barton (dougb) · 1.5
Upgrade to 1.5, which fixes a small braino in the new code to delete distfiles for old ports with the -o option, or that have been moved.
9237917d34
Doug Barton (dougb) · 1.4
Update for version 1.4
0ec59745d5
Doug Barton (dougb) · 1.4
Bump to 1.4 for new version
07da5a0d49
Doug Barton (dougb) · 1.3
New features: ============= 1. Add -b option to make a backup package of the installed port 2. Add -g option to make a package of the new port 3. Add -o option to replace an installed port with a new port from a different location (e.g., portmaster -o emulators/linux_base-fc4 linux_base) The second argument can also be specified as the name of the installed port (e.g., linux_base-8-8.0_15) 4. Add 

General improvements:
=====================
1. Update usage() to reflect reality, and organize it better
2. Switch to using DEPORIGIN to detect missing dependency tracking, which
provides dramatically fewer false positives, and more useful tools to fix
actual problems
3. Factor out more common code into functions
4. Only pay attention to +REQUIRED_BY files for dependency tracking if they
are > 0 bytes
5. Simplify option parsing
6. Make whitespace more consistent in -a message
7. Only grep for dependencies if we're upgrading an installed port
8. If using -o, or a port moved, try to find the names of the old distfiles,
and offer the user the choice to remove all of the, or prune the stale ones.

Bug fixes:
==========
1. Fix the PATH if a user is using ccache
2. Handle the case where there is no ORIGIN in a +CONTENTS file
3. Ignore errors in the tail of fetchlog, since if the file is gone we'll
exit the loop anyway
0d69d4d578
Doug Barton (dougb) · 1.3
Vastly improve handling of moved ports: 1. Update DEPORIGIN in addition to @pkgdep entries in +CONTENTS 2. Give more details about why a port moved 3. grep for the old port name in existing +CONTENTS files, since the new name will not appear at all

Also, stretch the window to wait for a background 'make checksum' to
complete to 5 seconds instead of 3
b1c2ec1745
Doug Barton (dougb) · 1.2
Bump the version number of the port for the new version of the script
e5abb647ca
Doug Barton (dougb) · 1.1
1. Implemented recursive 'make config' at the beginning of the run, so it's easier to leave it running unattended for large updates. (This can be toggled off.) 2. Implemented a completely unattended mode which accepts the defaults for all portmaster dialogues. (Note, this does not help with ports that have interaction other than 'make config', such as ghostscript, etc.) 3. Added -u to sort(1) call
6e59fecc9c
Doug Barton (dougb) · 1.1
Improve the description, and add a WWW link.
3592c37af4
Doug Barton (dougb) · 1.1
Add my portmaster utility. This is a shell script to manage ports that does not require external databases or languages.
5c9a8c6104