ports-mgmt/portmaster: update to version 3.35 Fix condition in a pkg query commend. Reported by: olegStreejak@github.com8dbda5d791
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
Install
- Package
# pkg install portmasterinstalls 3.35 fromlatest; fromquarterly(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 version | amd64 | aarch64 | i386 |
|---|---|---|---|
| FreeBSD 16 | 3.35 | 3.35 | – |
| FreeBSD 15 | 3.35 | 3.35 | – |
| FreeBSD 14 | 3.35 | 3.35 | 3.35 |
quarterly (2026Q4)
| FreeBSD version | amd64 | aarch64 | i386 |
|---|---|---|---|
| FreeBSD 15 | 3.35 | 3.35 | – |
| FreeBSD 14 | 3.35 | 3.35 | 3.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
| PR | Summary | Status | Changed |
|---|---|---|---|
| 295355 | maintainer-feedback? ports-mgmt/portmaster terminates too early if installing multiple new ports on 15-STABLE | New | 2026-05-17 |
| 281732 | maintainer-feedback? ports-mgmt/portmaster: fails to build ports with gmake error: : invalid option -- D | New | 2026-03-23 |
| 290829 | maintainer-feedback? ports-mgmt/portmaster: removes directories preventing pkg 2.4 fails to create its own package | In Progress | 2026-03-01 |
| 269076 | maintainer-feedback? ports-mgmt/portmaster --delete-build-only leaves build only dependencies | New | 2023-01-27 |
| 245840 | needs-qa maintainer-feedback? merge-quarterly? ports-mgmt/portmaster: -R is too agressive in removing PM_UPGRADE_DONE_FLAG | In Progress | 2021-04-20 |
Commits (311)
ports-mgmt/portmaster: update to version 3.34 This update adds support for FreeBSD pkgbase systems. Packages with names that start with FreeBSD-* should be ignored by all operations. Additional changes: * Deal with removed port directories when updating all installed ports. * Deal with ports that are installed with a flavour but where the port is no longer flavoured.9a75833223
ports-mgmt/portmaster: update to version 3.33 Merge pull request #73 from delphij/patch-1: Fix link for homepage Fix bug 268397: Stop deleting the empty $LOCALBASE_COMPAT directory. The patch suggested by Herbertz J. Skuhra (herbert@gojira.at) has been applied to the source repository. PR: 268397777f936830
ports-mgmt/portmaster: update to version 3.32 Changes in version 3.31: Avoid use of -D due to an incompatbility with GNU make Ports commit 755d190db121 by tijl (Tijl Coosemans) added a patch that changed all uses of -DMACRO to MACRO=1 on make command lines, since the MAKEFLAGS environment variable is passed to both BSD make and GNU make (where selected) and the latter does not accept the -D option. Changes in version 3.32: Add -q option to --clean-distfiles Fix small issues in the man page.21fd81899f
ports-mgmt/portmaster: allow unprivileged users to fetch distfiles Allow portmaster -F to be run without requesting root privileges. Keep the testing of the user id as a separate test in order to not execute $PM_SU_CMD if $NO_ACTION" or $FETCH_ONLY is set. The distfiles directory must be writeable to take advantage of this change. PR: 226506 Reported by: David Wolfskillee6d1b3625
ports-mgmt/portmaster: Avoid make -D flag Both FreeBSD make and GNU make pass command line flags to sub-makes through the MAKEFLAGS environment variable, but the flags aren't compatible and GNU make 4.4 exits with an error when it encounters flags it doesn't understand, e.g. -D. Avoid using the flag for now until ports run gmake with SETENVI. PR: 272216, 277492755d190db1
MAN?PREFIX: eleminate its usage and move man to share/mane4610fcb8b
ports-mgmt/portmaster: fix accidentially left in debug tracing Remove "set -x" thathad been added to verify the previous fix.6285a928cf
ports-mgmt/portmaster: upgrade to version 3.28 This version supports TRYBROKEN passed in the process environment or in a Makefile (or, e.g., in /etc/make.conf as a per port setting) and treats it as equivalent to the --try-broken option. PR: 275307202ed6ce2a
ports-mgmt/portmaster: Fix issue when updating from packages only When using the -P or --package option to portmaster and all updates can be performed without building at least one port, the $DI_FILES variable may be unset. In this situation portmaster stops after the installation of each port. Entering a CR makes it continue. This was reported by Vlad Markov with a suggested fix that has been applied (with a white-space change). PR: 273660 Reported by: dvoich@aim.com (Vlad Markov)a7ed2d6d98
ports-mgmt/portmaster: Make --clean-packages consider port flavors This commit fixes GutHub issue #55 which affected the cleaning of stale package files for flavored ports. Some ports have package names that are prefixed by e.g. an interpreter version (or where the interpreter version follows the name), but do not support flavors. Such packages are not dealt with by this update, since there is no generic way to do so. The fix does not apply to --clean-packages used with --index or --index-only, since the INDEX file does not record port flavors.98b39a93ab
ports-mgmt/portmaster: update to version 3.25 The previous update attempted to fix the deletion of stale distfiles that have names with blank characters or shell glob characters. It introduced a regression that affected the deletion of some files, and it has been found to be incomplete. Testing revealed that the stale distfile check could start before the full list of relevant distfiles had been read in the background. This could have lead to distfiles being removed that are still relevant for other ports. This update should contain fixes for all these issues. Reported by: Dan Allen <danallen46@gmail.com>8e53bb8846
ports-mgmt/portmaster: fix 2 issues in --clean-distfiles There was no need to deal with distfile names that contained embedded blanks or characters with special meaning in file glob patterns, but this has changed with file names derived from repository URIs or other naming systems. This update fixes 2 issues reported by Daniel Rossberg on GitHub: - issue #75: --clean-distfiles cannot handle paths with spaces - issue #76: --clean-distfiles with paths containing square brackets Reported by: Daniel Rossbergfe56366366
ports-mgmt/portmaster: fix GitHub issue #38 (clean stale ports) Version 1.19.1 of the pkg command removed a previously working feature (combinations of "-e" with other options of "pkg query"), causing the use of "pkg query -ae" to fail in "portmaster -Ds". Reported by: JulienDlq at GitHubaddff84030
Remove WWW entries moved into port Makefiles Commit b7f05445c00f has added WWW entries to port Makefiles based on WWW: lines in pkg-descr files. This commit removes the WWW: lines of moved-over URLs from these pkg-descr files. Approved by: portmgr (tcberner)fb16dfecae
Add WWW entries to port Makefiles It has been common practice to have one or more URLs at the end of the ports' pkg-descr files, one per line and prefixed with "WWW:". These URLs should point at a project website or other relevant resources. Access to these URLs required processing of the pkg-descr files, and they have often become stale over time. If more than one such URL was present in a pkg-descr file, only the first one was tarnsfered into the port INDEX, but for many ports only the last line did contain the port specific URL to further information. There have been several proposals to make a project URL available as a macro in the ports' Makefiles, over time. This commit implements such a proposal and moves one of the WWW: entries of each pkg-descr file into the respective port's Makefile. A heuristic attempts to identify the most relevant URL in case there is more than one WWW: entry in some pkg-descr file. URLs that are not moved into the Makefile are prefixed with "See also:" instead of "WWW:" in the pkg-descr files in order to preserve them. There are 1256 ports that had no WWW: entries in pkg-descr files. These ports will not be touched in this commit. The portlint port has been adjusted to expect a WWW entry in each port Makefile, and to flag any remaining "WWW:" lines in pkg-descr files as deprecated. Approved by: portmgr (tcberner)b7f05445c0
ports-mgmt/portmaster: Fix an issue with flavored dependencies Flavored run dependencies of an unflavored port could cause the installation of the port to fail after it had been successfully built. This issue should be fixed by this update, which executes a previously commented out function call to update the FLAVOR in the environment of the make command used to install the port. I do not remember why I had commented out that function call, a long time ago - but I do not expect it to cause any regressions, since the same FLAVOR is now set enforced during "make install" as had been used to build the port. PR: 265084 Reported by: alt2600 at icloud.comf15fe3ba81
ports-mgmt/portmaster: update to version 3.21 Merge pull request #47 by Oleg Pudeyev: Do not delete distfiles by default. Merge pull request #59 by Babak Farrokhi: Add -U alias for --update-if-newer Merge pull request #71 by Kubilay Kocak: Update IRC Channel Link (libera chat) Fix issue #68 opened by Helmut1972 Make --no-confirm affect display of package messages Any package messages of updated ports are displayed at the end of the port updates, normally through a pager requiring conformation of each page displayed. This update makes --cno-confirm remove the need to confirm the display of package messages.78d6eee9a2
ports-mgmt/portmaster: update to version 3.20 Add "I" to the getopt pattern to enable use of the already present functionality. Reported as https://github.com/freebsd/portmaster/issues/67. Reported by: Michael Schmiedgen via Github793d87945d
ports-mgmt/portmaster: Make compatible with pkg-1.17.0 The new pkg command uses the ".pkg" extension for all files, independently of the archive format chosen. This update adapts portmaster to that convention and removes all support for other extensions. (This might be considered premature, but supporting multiple extensions would require logic changes and I expect all users to quickly convert their local repositories to comply with the new naming.) The package format can still be selected as before. If you have package files in /usr/packages/* that you want to be visible to portmaster, then rename them, e.g. from "*.txz" to "*.pkg". (The "mmv" command (misc/mmv port) performs this renaming with the following command in /usr/packages/All: mmv "*.txz" =1.pkg4812894fc1
ports-mgmt/portmaster: Fix syntax error introduced in last commit A last minute change from "case" to "if" caused a syntax error since I had forgotten to remove a now stray ";;" ... Reported by: bsd@dino.sk22b261986a
ports-mgmt/portmaster: make --no-confirm omit the PAGER As requested in Github issue #64 the pager should not be used if portmaster is executed within a script. In order to not introduce a new option, --no-conform will now imply that output will not be halted waiting for user input to proceed when displaying the package messages. Reported by: Michael Osipov (michael-o on Github)94eb8d09b1
ports-mgmt/portmaster: make CONFLICTS change catch more cases As a performance optimization the list of conflicting ports was only fetched if the port's Makefile contained a CONFLICTS* entry. There are ports that only set some option defaults and then include the Makefile of some generic port. No conflicts change was performed in that case. Fix the behavior by always checking all CONFLICTS definitions that apply, even for ports that do not have such a line in their direct Makefile. This removes a performance optimization, but is required to correctly build and install ports that have dependencies that can be satisfied by an alternative (e.g. ImageMagick6 is installed and the port being built has a dependency on ImageMagick6-nox11, which does not contain a CONFLICTS definition it its Makefile).a18733148a
One more small cleanup, forgotten yesterday. Reported by: lwhsucf118ccf87
Remove # $FreeBSD$ from Makefiles.305f148f48
Enable updating of locked ports It was already possible to override the locked status of a package, but the deinstallation of the old version failed and made the update fail. After this change the package is temporarily unlocked during the upgrade. Reported by: rkoberman@gmail.com (Kevin Oberman)d262ce88bc
Correctly report package locks that prevent an upgrade Reported by: rkoberman@gmail.com (Kevin Oberman)9d5f5c6780
Fix regression that has been introduced in r524227 Revert part of the patch that introduced the --try-broken option, it caused problems in combination with -m. Submitted by: Rudolf Cejka (cejkar at fit.vutbr.cz) Approved by: antoine (implicit)e1260a7ab8
Save the file with instructions how to restart portmaster after a failure to non-world-writable directory. Save this file in the user's home directory instead of in /tmp to prevent a possible sym-link attack against the user. PR: 233378 Submitted by: Robert Schulze Approved by: antoine (implicit)a141fedd06
Make the pre-build "make clean" use SU_CMD if appropriate. Additionally document that PORTSDIR can be passed in the environment. PR: 228439 Approved by: antoine (implicit)aed8c82ed5
Make portmaster fall back to other locations if invoked in, e.g., /sys/conf. PR: 237061 Approved by: antoine (implicit)09a6aa76b7
Add option --try-broken This option makes portmaster try to build ports that are marked as BROKEN or IGNORE. Passing this option implies the "-m -DTRYBROKEN" option. The change is inspired by (but not based on) the patch suggested by Walter Schwarzenfeld. PR: 235793 Reported by: Yasuhiro KIMURA Approved by: antoine (implicit)fdbfc11b4d
Do not re-build ports unneccessarily The previous patch has not completely fixed the issue, according to some reports (it did on my system and for my set of installed ports). This version contains a further change suggested by Walter Schwarzenfeld. Submitted by: Walter Schwarzenfeld Approved by: antoine (implicit)ab17e00297
Attempt to fix a problem that leads to repeated building of some ports There are build dependencies, that were compiled again and again even though the latest version was already installed. This fix is based on a patch suggested by Tatsuki Makino, with a small change to better comply with the existing style used in this program. An extended patch has been provided by Walter Schwarzenfeld, but in my tests it did not make a difference. If further testing shows a need for the additional commands suggested by Walter, I'll add them (or a variation) in a follow-up commit. PR: 241227, 242086, 243432 Submitted by: Tatsuki Makino Approved by: antoine (implicit)2dcb7d8bc2
- Update WWW Approved by: portmgr blanket690d3a7fac
Remove reference to obsolete INDEX files for FreeBSD7-9 and report build time for successful builds, as suggested by Walter Schwarzenfeld. Approved by: antoine (implicit)1ac413f57a
Fix upgrades of moved ports.ebbcf94e7e
Make portmaster use "pkg-static" instead of "pkg". This prevents problems with inconsistent shared library references that may occur when openssl in base is upgraded to version 1.1.1 with 1.0.x installed from a port. Approved by: antoine (implicit)cdc0f1d2c3
Fix quoting of optional FLAVOR argument in some make invocations, which were uncovered by fixed quoting in the pm_make* functions. Reported by: tatsuki_makino at hotmail.com (Tatsuki Makino) Approved by: antoine (implicit)672a731a16
Make some sub-routines use "$@" instead of $* to correctly pass arguments with blanks to invoked commands. This fixes clean-up of shared library backups, where only one file was removed due to a parameter list being terminated by the first blank within one parameter. Reported by: tatsuki_makino at hotmail.com (Tatsuki Makino) Approved by: antoine (implicit)b390554d5f
Fix building of specific qt4 ports after qt5 has become the default flavor. The ports infrastructure does not consistently deal with FLAVOR environment variables set to an empty string. This caused the dependency check in portmaster to fail for multimedia/phonon. With FLAVOR="" in the environment, "make -V FLAVOR" returns "qt4", but the dependency list produced by "make build-depends-list" assumes "qt5", even though no user preferences for qt5 have been set. Reported by: Walter Schwarzenfeld <w.schwarzenfeld at utanet.at> Approved by: antoine (implicit)6f1399c349
Document --package-format=<fmt> option. I had implemented that option some time ago, but decided to not expose it in the man-page, since portmaster will not necessarily install the latest version if installing from local Jpackages is requested and there exist multiple package files that only differ in archive format. But since a non-standard package format allows to choose between an optimization Approved by: antoine (implicit)7e4c59fc9e
Fix recursive building of ports (-r option). The match_flavor function was called before being defined. The issue and cause has been reported by Herbert J. Skuhra. (Thanks!) PR: 227882 Reported by: Herbert J. Skuhra <herbert@gojira.at> Approved by: antoine (implicit)955455de8e
Fix previous attempt to cache some parameters in environment variables. The quoting was messed up by use of "eval" and the cached values did not match what the ports system expected. Submitted by: tijl Reported by: tijl Approved by: antoine (implicit)be3e7a0e58
Cache some build parameters in the environment that were recalculated over and over for individual ports. This significantly reduces the time to scan for updates if many ports with USES=compiler are present. Based on a suggestion and code fragment provided by Tijl Coosemans. While here commit a few changes present in my local version that should not cause any functional change. Submitted by: tijl Approved by: antoine (implicit)5782487054
Make the -n option work better for non-root users. Approved by: antoine (implicit)d8101cdd54
Fix problem with debug output from export-flavor garbling the gen_dep_list result. The solution is different from the patch suggested in the PR, since the debug message was only meant to be used during early development of flavors support. In my local development version of portmaster, all output from pm_v is redirected to STDERR, but that change seemed to disruptive to apply to the "published" ve Unrelated changes: make pm_isdir_pd more robust and fix variable name of BACKUP_FORMAT option in sample file. PR: 225843 Reported by: John Hein Approved by: antoine (implicit)9cf2f48781
Fix typo (missing dash in find argument list). Reported by: Martin Birgmeier Approved by: antoine (implicit)a1927b5d83
Fix build for ports that have a LICENSE if DISABLE_LICENSES is defined. The behavior of the ask-license target should be to silently succeed instead of returning an error, IMHO, but I can test for this condition and skip the ask-license phase in portmaster, too. While here, I'm slightly simplifying the fix implemented in r460294. PR: 225699 Submitted by: dewayne@heuristicsystems.com.au Approved by: antoine (implicit)35cca48cbe
Fix a problem that could result in de-installation of a port that shares a prefix of the package name with a new port to be installed. The cause of this bug was that a pattern was applied without anchor at the end. Testing revealed that "pkg info -x" ignores an anchor at the end of the pattern (which might be a bug in pkg), therefore the output of the query is now additionally filtered with egrep to obtain the desired result. PR: 225496 Reported by: Martin Birgmeier Approved by: antoine (implicit)3452afb3c6