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)

Stefan Eßer (se) · 3.19_3
Print different action list text for packages that are not going to be installed (e.g. for make targets "extract", "patch" or "stage" in build dependencies). Limit depth of search for empty directories to reduce the scan time if there are non-empty work directory sub-trees. Add package format parameters to rc.sample file.

Approved by:	antoine (implicit)
433569dcae
Stefan Eßer (se) · 3.19_2
Fix previous commit (r459202) which introduced dependencies that specify an optional make target. The patch file contained 2 typoes ("{$" instead of "${").

Add clean phase for dependencies that are not installed but required when
the dependent port is built (e.g. because of references to source files of
that port, or because of static linking against libraries in the stage area
of such a dependency).

Approved by:	antoine (implicit)
ba1f4c6e0b
Stefan Eßer (se) · 3.19_1
Add support for dependencies specified with a non-standard make target.

This is required for e.g. net/openntpd, which links against static libressl
libraries in that port's staging area.

In case of a port that is not fully installed, there is no clean phase for
the dependency's port directory. The dependency tracking does not maintain
the necessary state to perform this cleanup when the depending port is
finished.

PR:		213887
Reported by:	blackmore@pichove.org (Simeon Simeonov)
Approved by:	antoine (implicit)
06c8fff860
Stefan Eßer (se) · 3.19
Test privileges early and complain if privileges are insufficient.

The patch is based on ideas presented in the PR, but implemented
differently. Re-open the PR, if this solution has unexpected side-effects
or proves insufficient.

PR:		174729
Reported by:	ngie
Approved by:	antoine (implicit)
16ccc729a8
Stefan Eßer (se) · 3.19
Update to version 3.19, which is identical to 3.18_12 with all port patches applied.

Approved by:	antoine (implicit)
e98261f04c
Stefan Eßer (se) · 3.18_13
Fix display of license acceptance menu if build logs are hidden with -H.

PR:		206738
Reported by:	torsten.eichstaedt@web.de
Approved by:	antoine (implicit)
8aa3f3c610
Stefan Eßer (se) · 3.18_12
Fix problem with ports being converted from a non-flavored to a flavored version, if PYTHON3_DEFAULT is set to anything but 3.6. Since the MOVED file sets the new origin and flavor such that a Python-3.6 compatible package is built, the original Python version for this port is ignored.

Reported by:	lev
Approved by:	antoine (implicit)
0760c3485f
Stefan Eßer (se) · 3.18_11
Small fix for directory accesses in  find_dl_distfiles, which did not take the optional flavor part of the passed argument into consideration.

Approved by:    antoine (implicit)
1b59f47ce0
Stefan Eßer (se) · 3.18_10
Generally path FLAVOR via the environment, not the "make" command line, to circumvent a check for an empty FLAVOR parameter being passed to certain ports.

Reported by:	Walter Schwarzenfeld <w.schwarzenfeld@utanet.at>
Approved by:	antoine (implicit)
590891ba8e
Stefan Eßer (se) · 3.18_9
Fix version number ... I have to remember to manually fix-up this string before each commit and I'll whether I can create a pre-commit script that checks this for me.

Reported by:    Walter Schwarzenfeld <w.schwarzenfeld@utanet.at>
Approved by:    antoine (implicit)
d99781ac9c
Stefan Eßer (se) · 3.18_8
Remove spurious trace output left over from debugging.

Reported by:	Walter Schwarzenfeld <w.schwarzenfeld@utanet.at>
Approved by:	antoine (implicit)
8d0f0436f2
Stefan Eßer (se) · 3.18_7
Fix pm_islocked function, which could lead to a spurious error message if used for a port that is not found in the package database.

Reported by:	Tatsuki Makino <tatsuki_makino@hotmail.com>
Approved by:	antoine (implicit)
910a40dd86
Stefan Eßer (se) · 3.18_6
Add undocumented option --package-format=<fmt>. I'm not sure, that this is a useful feature, and the txz-format is currently hard-wired in a lot of places in portmaster, but there has been a request to allow creation of packages in a non-standard archive format.

Approved by:	antoine (implicit)
b47f5eb864
Stefan Eßer (se) · 3.18_5
Fix package name: the pattern that gets replaced with the actual version string at build time had been replaced by a version string from a test version.

Reported by:	herbert@gojira.at (Herbert J. Skuhra)
Approved by:	antoine (implicit)
dc24a9071d
Stefan Eßer (se) · 3.18_5
Increment PORTREVISION, forgotten in previous commit.

Approved by:	antoine (implicit)
e74eb8af18
Stefan Eßer (se) · 3.18_4
Add --backup-format=<fmt> option to allow faster creation of package backups with no or less compression than the default of "txz" provides.

Support for different archive format for packages in general could be
provided, but not added at this time, since I'm not convinced that this
would be a useful feature (please let me know, if you disagree ...).

Approved by:    antoine (implicit)
177c5fb794
Stefan Eßer (se) · 3.18_4
---------------------------------------------------------------------------- Fix spelling of OPTIONS_FILE.

Approved by:	antoine (implicit)
05fc103eac
Stefan Eßer (se) · 3.18_3
Bump PORT_REVISION, forgotten in previous commit.

Approved by:	antoine (implicit)
1525eb96a8
Stefan Eßer (se) · 3.18_2
Fix regression in kill_bad_children: add  missing $ before progcmd ...

Approved by:	antoine (implicit)
81e1fde0e0
Stefan Eßer (se) · 3.18_2
Fix installation from local or remote package including the --packages-build case. Partially based on patches supplied by Alexander Leidinger.

Reported by:	phk, netchild
Approved by:	antoine (implicit)
2327d5967a
Stefan Eßer (se) · 3.18_1
Add PKG_DEPENDS, EXTRACT_DEPENDS, PATCH_DEPENDS and FETCH_DEPENDS to the make_dep_list function when called with parameter build-depends-list or all-depends-list.

Reported by:	phk
Approved by:	antoine (implicit)
1e72c927a7
Baptiste Daroussin (bapt) · 3.18
Remove useless MASTER_SITES entries
b1b7d0d33d
Stefan Eßer (se) · 3.18
Update to version 3.18, which already contains all patches required for the previous version.

Approved by:    antoine (implicit)
5d83816bc6
Stefan Eßer (se) · 3.17.11_12
Patch package version into the port and install man-page with patched path for non-standard LOCALBASE. The port used to patch the man-page, but then installed the unpatched version.

Approved by:	antoine (implicit)
aa82bf23b9
Stefan Eßer (se) · 3.17.11_11
Fix execution of portmaster in a port directory without any port or package parameters.

Reported by:	lenzi.sergio@gmail.com
Approved by:	antoine (implicit)
d0a5a6f380
Stefan Eßer (se) · 3.17.11_10
Add flavor support to routines that convert port origins to shell variable names. The character '@' is illegal in such names and must be converted to a legal character same as [-+./]. remobve post processing of "pkg check -dn" output, which was a left-over from pre-PKG_NG times.

Reported by:	koobs (invalid @), tatsuki_makino@hotmail.com (pkg check)
Approved by:	antoine (implicit)
6d8a3ed3c9
Stefan Eßer (se) · 3.17.11_9
Add back local package installation support, which was disabled for PKG_NG. The patch attached to PR 181450 did no longer apply cleanly, therefore I edited portmaster to follow the intent and in part the letter of the patch. This patch should not affect port building in any way. I have no use for the feature (and I'm still considering to completely remove support for the installation of packages i

PR:		181450
Submitted by:	rozhuk.im@gmail.com
Approved by:	antoine (implicit)
9d15f65803
Stefan Eßer (se) · 3.17.11_8
Add all-depends-list case required for portmaster -t.

Approved by:	antoine (implicit)
f3376fc92a
Stefan Eßer (se) · 3.17.11_7
Remove stray double-quote character left from an incomplete edit of that line (result of directly editing the patch for a trivial change ...)

Approved by:	antoine (implicit)
3a223ed53d
Stefan Eßer (se) · 3.17.11_6
Add LIB_DEPENDS to dependencies relevant for installation of a package.

Approved by:	antoine (implicit)
134638cb8f
Stefan Eßer (se) · 3.17.11_5
Add support for ports that have been upgraded with a change of both origin and package name (sans version), as was the case for e.g. the lang/cython3 port, which was moved to lang/cython@py36 with a package name change from cython3-$version to py36-cython-$version.

Approved by:	antoine (implicit)
0020f526a7
Stefan Eßer (se) · 3.17.11_5
Fix query for package to be replaced: This could lead to a wrong package being identified and replaced when the new package is installed.

Add library dependencies to the list of build dependencies to consider.

Reported by:	Robert Huff
Approved by:	antoine (implicit)
29314a7c31
Stefan Eßer (se) · 3.17.11_4
USe correct origin in multiport case (several packages specified on the command line, which is different from passing "-a").

Reported by:	Robert Huff
Approved by:	antoine (implicit)
f87a111e76
Stefan Eßer (se) · 3.17.11_3
Add another check for a flavor passed attached to the port directory. Without this fix, the default flavor was built in specific situations.

Approved by:    antoine (implicit)
c934c7e3e4
Stefan Eßer (se) · 3.17.11_2
Fix patch: The patch had been created from the version used to debug the previous version's problem and I forgot to Fix shbang: Remove the -x that had been added for debugging.

Reported by:    (Walter Schwarzenfeld) w.schwarzenfeld@utanet.at
Approved by:	antoine (implicit)
df010168c9
Stefan Eßer (se) · 3.17.11_1
Fix regression:	The find_new_port function is now invoked from an earlier place than before flavor	support	was added. Move	its definition to an appropriate place.

Silence	one pkq	query command that may be called for a non-existing
package	name.

Approved by:    antoine	(implicit)
Reported by:	Milan Obuch, Paul Beard
912a5ef5ef
Stefan Eßer (se) · 3.17.11
Add flavor support to portmaster. This version has been lightly tested and supports upgrades from non-flavored port versions based on the information in the MOVED file.

For initial installations of flavored ports, the flavor must be specified
as part of the port origin, e.g. "devel/py-py@py36" for the Python-3.6
version of that port. Dependent ports will automatically be installed with
the correct flavor passed via the dependency mechanism.

It is planned to add a --flavor option to ease flavor selection for ports
that are initially installed with portmaster.

Approved by:	antoine (implicit)
606a3cac9d
Torsten Zuehlsdorff (tz) · 3.17.10
ports-mgmt/portmaster: Pass maintainer-ship to se@

Stefan will continue to maintain portmaster.
b27126764f
Bryan Drewery (bdrewery) · 3.17.10
- Update to 3.17.10   Fixes --clean-distfiles trying to read in base/ [1]   Saves port failures to TMPDIR/portmasterfail.txt [2]

PR:		212376 [1]
Reported by:	wblock [1]
Tested by:	wblock [1]
Submitted by:	Torsten Zühlsdorff <t.zuehlsdorff@anymotion.de> [2]
99b5ee1ef7
Stefan Eßer (se) · 3.17.9_4
Fix "portmaster --check-port-dbdir" broken by the previous commit. While the variable $unique_list was created with identical content, its value was only set within the implicit sub-shell (2nd command in a pipe) and lost on exit from the while loop.

Reported by:	Jakub Laach
4af2489d71
Stefan Eßer (se) · 3.17.9_3
Bump PORTREVISION to have portmaster be re-installed with the fix commited as SVN rev. 418619.

Reported by:	Herbert J. Skuhra (herbert at mailbox.org)
2571fabfb8
Stefan Eßer (se) · 3.17.9_2
A read lock on the sqlite file used by pkg can lock out writers for indefinite amounts of time, preventing installation or upgrade of ports with portmaster.  Instead of using a pipe to read pkg query input to be consumed by a shell loop, buffer the query result in a shell variable and let the loop iterate over the contents of this variable.

While here, use a call to all_pkgs_by_origin() instead of an inline
versin of equivalent code.

Reviewed by:	tz
Approved by:	tz
2ef23fbf21
Torsten Zuehlsdorff (tz) · 3.17.9_2
Change MAINTAINER from ports@toco-domains.de to tz@FreeBSD.org

Approved by:	junovitch (mentor)
fa23faa40b
Adam Weinberger (adamw) · 3.17.9_2
Enable BASH and ZSH options (install their completions) by default. Also, add NO_ARCH. PORTREVISION bump for pkg change.

PR:		207075
Submitted by:	maintainer
591a0e0dea
Mathieu Arnold (mat) · 3.17.9_1
Remove unneeded dependencies on bash and zsh.

With hat:	portmgr
Sponsored by:	Absolight
7176f4d377
John Marino (marino) · 3.17.9
ports-mgmt/portmaster: Assign maintainership to Torsten Z.

Torsten has accepted the challenge of whipping portmaster back into
shape.  In addition to changing MAINTAINER, he's starting with fixing
both non-default options by providing their necessary RUN_DEPENDS.

PR:	207075
182f4324d8
Bryan Drewery (bdrewery) · 3.17.9
Update to 3.17.9

Changes:
 - Update manpage for rebuilding ports with pkg.

PR:		191166
Submitted by:	wblock
57212eed10
John Marino (marino) · 3.17.8_1
Under strong objection and mandate by portmgr, remove DEPRECATION

I've been ordered by portmgr to remove DEPRECATION designation because
others have indicated they believe people should not be so directly
informed of its poor state.  Despite the fact that there was no expiration
date set and that functionality was not affected in any way (leaving now
informed people free to use this unmaintained port), it was considered a
disruptive change.

Let the record show that I strongly object to this decision and that I
firmly believe that portmaster is a port that *must* have a competent
maintainer that can *develop* it.  It should *not* be allowed to be
unmaintained and still maintain a presence in FreeBSD documentation.
aab1d74bf2
John Marino (marino) · 3.17.8_1
ports-mgmt/portmaster: DEPRECATE without expiration date

The portmaster script hasn't had an official maintainer in 9 months and 2
years before that it was only patched in reaction to changes in the ports
framework.  There are many unclaimed PRs in the bugzilla database, many
known bugs, and several areas where portmaster no longer aligns with how
ports work today.  The problem isn't simply getting a maintainer; that
person has to be a ports framework expert and it appears that the people
with these qualifications don't want anything to do with this port.

Moreover, there are better options available.  All FreeBSD platforms
support ports-mgmt/poudriere (although some many struggle under the load)
and the most common amd64 and i386 platform users have the additional
option of ports-mgmt/synth which is user-friendly, lightweight, and aimed
at users of portmaster, portupgrade, and even poudriere.

Unless something drastic regarding portmaster occurs, it's nearing its
natural EOL, so it's users should evaluate alternatives and try to
migrate off of it.
f701ed6ee3
Baptiste Daroussin (bapt) · 3.17.8_1
Remove obsolete pkg-message
1bd2cfa7b7