Update to 3.17.8.
Changes:
- Fixes handling of PORTSDIR when /usr/ports is a symlink after head
r272363 and stable/10 r287334.
Reported by: dhwad40b192bbPort 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 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)
Use OPTIONS helpers, add a newline to quiet a half dozen portlint fatal messages, and make the installation commands more consistent.0f89153b96
I'm really not working on this. Please direct questions to ports@FreeBSD.org. If someone else would like to maintain this please discuss with me and I will get you access to the github account where the code lives.8b25d0a634
For the new USE_GITHUB with only GH_TAGNAME set default DISTNAME to include GH_PROJECT/GH_ACCOUNT/GH_TAGNAME. This prevents the distfile having the same name despite changing one of these values and causing a bad checksum. Differential Revision: https://reviews.freebsd.org/D2103 Reviewed by: mat With hat: bdrewery37a1520519
Convert my ports to the new USE_GITHUB511fe251f8
Update USE_GITHUB so it does not require GH_COMMIT. Using this new scheme allows only setting the _tag_ or _commit hash_ in GH_TAGNAME and not having to know the hash for a tag. This scheme will download a tarball that has a different checksum than before due to a changed directory name for extraction. The following MASTER_SITES are provided to retain the old checksum and directory structure (that require GH_COMMIT): GH -> GHL GITHUB -> GITHUB_LEGACY Differential Revision: https://reviews.freebsd.org/D748 Submitted by: amdmi3 Reviewed by: mat, swills, antoine, bdrewery With hat: portmgr5b5a90256d
cleanup plistc73851221a
- Update to 3.17.7 Changes: * Use PM_SU_CMD for pkg set -o1fdb4ed0a7
- Update to 3.17.6
Changes:
* Speedup --list-origins with pkg
* Use proper /usr/local/etc/portmaster.rc path in portmaster.8
* Fix running from deleted dirs.
* Fix losing control of building run-depends of staged ports
(thus breaking -g and counts). [1]
PR: 189398 [1]7b879fa85a- Update to 3.17.5 Changes: * Fix some issues with killing child processes * Use builtin kill(1)a8b719b6ab
- Update to 3.17.4 Changes: - Fix --check-depends with pkg [1] - Allow installing DEPRECATED ports PR: ports/186915 [1] Submitted by: kaltheat <kaltheat@gmail.com> [1] (based on)0d3e691cd0
- Update to 3.17.3 Changes: * Fix with pkg-devel which has broken pkg-info -O compatibility11e80ffd08
- Support STAGEDIRda8811d66a
- Add NO_STAGE until validated to be safe for upcoming staging support2324655f20
- Update to 3.17.2 Changes: - Fix detection of pkg-devel PR: ports/181813 [1] Reported by: Takanori Saneto <sanewo@ba2.so-net.ne.jp> [1], eadlere4ce57f02e
- Update to 3.17.1
Changes:
* Fix --check-port-dbdir support after ports r321785 changed
to /var/db/ports/category_port (OPTIONS_NAME) instead of
UNIQUENAME [1]
Reported by: many0c28ddccc8- Update to 3.17 Changes: - Fix completion scripts when ports are not checked out. PR: ports/179098 Reported by: Doug Barton <dougb@dougbarton.us>dc8f131329
- Remove temporary WRKSRC hack - Rename distfile and fix checksum errors. These errors were due to renaming the upstream account, which changed which directory the distfile untarred in. - Shuffle MASTER_SITES so that FreeBSD.org and other more reliable mirrors come before githubf579b30bcd
- Fix build with temporary fix Reported by: John Ko <john@johnko.ca>4484e1151b
Update MASTER_SITE to github.com/freebsd830c8be52b
- Update to 3.16 This fixes a regression with non-pkgng usage that would invoke the bootstrapper when upgrading ports. My testing did not cover systems with the bootstrapper that did not use pkgng, so this was missed. The impact of this was just a hung build during deinstall. Reported by: mandree Pointyhat to: bdreweryab2198cf03
Mark BROKEN as I fix a reported regression8dd2f7091d
- Update to 3.15 - Add extra mirror - Remove PKGNGPATCH option
Changes:
- The pkgng patch has been fully integrated upstream with its
history copied from the pkgng repo over to portmaster's repo
- Add extra messages before/after killing background processes so
that 'Terminated' messages look less unexpected
- Fix running from / trying to build the entire tree
- pkgng: Fix -s not respecting the automatic flag
- Fix "Argument list too long" errors
- Add PM_SU_CMD documentation to the sample config file [1]
- Fix -o not showing the specified origin [pkgng patch bug]
Submitted by: Oleg Pudeyev <oleg@bsdpower.com> [1]3b9dc59b3fRemove standard descriptions for BASH/ZSH Suggested by: danfe282a9890b6
- Enable pkgng support by default. This is safe for non-pkgng users as well.d8d3b88b2b
- Remove use of bsd.port.pre.mk - Reword pkg-message to try to be more clear8d9524b3b8
Make it clear that pkgng is optional Submitted by: wblock Approved by: bdrewery (maintainer)cc483cb5b0
- Fix all cases of 'No newline at end of file' in ports tree Approved by: portmgr (bapt)05a9235c98
- Don't force pkg as a RUN_DEPENDS. The patch should be safe for non-pkgng usage. I am in the process of testing this and will be fully integrating the patch upstream soon.39224de87d
- Add upstream patch for fixing bash completions with PKGNG and to respect env PORTSDIR/PKG_DBDIR Feature safe: yes8416505cff
- Fix PKGNG patch trying to call pkg(8) when not actually using pkgng due to improper short-circuit logic Submitted by: John Hein <jhein@symmetricom.com> Feature safe: yes4522cd5f2f
- Update ZSH completions to work on CURRENT with pkgng [1] - Don't depend on ports-mgmt/pkg on 7.x with PKGNGPATCH option Submitted by: ume [1] Feature safe: yesfc79661a53
- Fix WITH_PKGNG detection on CURRENT, as it may not be defined in /etc/make.conf. Submitted by: dim Feature safe: yes2e25939099
- Update ZSH completions with pkgng support [1] - Enable the PKGNG patch by default if WITH_PKGNG is defined. Submitted by: ume [1] Feature safe: yes138760a2b8
- Add ports-mgmt/pkg as a RUN_DEPENDS if enabling pkgng support - Add UPDATING entry and pkg-message to assist in converting Feature safe: yes395142568b
- Rename PKGNG option to PKGNGPATCH to fix this port confusing bsd.pkgng.mk into thinking that WITH_PKGNG is defined and pkg(8) shoul be used to register. Pointyhat to: bdrewery Feature safe: yesc3b5b180ed
- Add backup non-https mirror - Add PKGNG option to apply pkgng support patch. This will be fully integrated upstream in the next version. This functionality is only enabled when WITH_PKGNG is defined in make.conf (or a recent CURRENT by default, see UPDATING 20121010). Due to the compat OPTION handling, defining WITH_PKGNG will also apply the patch by default. The pkgng patch is contr Feature safe: yes300c0a9c56
- Move to new home, http://github.com/portmaster - Take maintainership - Convert to new options framework - Use USE_GITHUB for fetching - Add DISTNAME to avoid conflict with existing distfile as the checksum of the distfile has changed now that it is no longer modified for release. - Remove use of bsd.port.pre.mk7821cd7798
Add a temporary mirror5630f5f09c
Throw my ports back in the pool, and make my intentions clear for the various ports that I've created. I bid fond fare well A chapter closes for me What opens for you?deda664425
Fix the problem of background fetches hanging forever when the background process to read the distinfo files encounters a fatal error.6e5b73e7b1
Update to 3.13.13: Minor improvements: =================== * Improve messages for processing of dependent ports when -r * If there is an installed version, always print that message, not just when we're in the parent * Optimize determination of $new_port: - When first set, let it be global - Use a function to incorporate/optimize the various tests from the 2 different places that it was being set * Use a more robust method of determining portdir from $PWD. This also works for bare 'portmaster' with no arguments now, if you're in a port directory. * Various additional code cleanups Bug fix: ======== Do read_distinfos() in the background for multiport() too, oops22aca7c98c
Update to version 3.13.1
Minor fixes/improvements
========================
* Turns out there are a non-zero number of distinfo files that have SIZE
listed first, so in the code that parses them for the data to put into
/var/db/pkg/$port/distfiles, handle this situation gracefully.
* If we trap while working on a child port do not remove that child from
the PM_NEEDS_UPDATE list so that when it gets printed in the parent
that child is still on the list.
* Use the count of total ports as $num_of_deps for -Faf
* For -av, add num_{roots|trunks|branches|leaves} values to the headers
* In multiport(), decrement the number of ports to work on and print a -v
message if we have already seen a port in the worklist as a dependency
of another port in the list.
* Many other minor code cleanups
Performance enhancement
=======================
* In read_distinfos*() use while read instead of grep. Avoids the fork
and reduces the total time for building the list(s) of distfiles by 25%323e0ff2ebUpgrade to version 3.13
Major updates/fixes to the distfile handling code
=================================================
* Make all parts of the code SUBDIR-safe (most were already)
- Fix a few places where the relativity of the cwd was not respected,
most often resulting in files not being deleted that should be
* Move the storage of the distfile info back to /var/db/pkg where it
should have been all along. Mostly for correctness, but also to deal
with the problem of non-UNIQUENAMEs causing the wrong files to be
deleted with -d.
* Clean up the old /var/db/ports/*/distfiles files after reading them,
and delete the directory if it's empty. Since we are doing this
unconditionally now, there is no longer a need for delete_dist_list().
The new ones will live and die with the rest of the package directory.
* Update some of the messages printed out for distfile-related things
to make it more clear what's going on.
* Check DI_FILES to see if the distfile could be valid for another port
in more places, so add a function to deal with the common ones.
* When checking DI_FILES, anchor the grep pattern with a ^ to
avoid false positives
Other code changes
==================
* Make the whitespace more consistent
* Various minor improvements, mostly to avoid unnecessary forking
UI Change
=========
* When using -i and there is an +IGNOREME file, the default should be nof428599ca5Minor improvements ================== * Restore the line from -av that prints each port as we work on it. * Print more useful information about ports that don't have distfiles, or distfiles we're skipping due to duplicates when -F (especially with -a). Bug fixes ========= * Consolidate all writing to the IPC_SAVE file into safe_exit() so that it always gets called. Also, zero out the file after reading it so that a parent process doesn't inadvertently read stale data during a trap (unlikely, but not impossible).b3b3c80e67
Upgrade to 3.12.1, removes pgrep since it's not safe to use on older versions of FreeBSDf18b7d0bbb
New Features ============ Print the same progress update that goes to the term title in-line, and apply various improvements to that code. Move 'make clean' to the background. There is no point waiting around for it to finish. In the case of very large work directories this may cause some I/O contention during the unpacking of the next port to build, but in most cases this should be lost in the noise. Other Improvements ================== Speed up the determination of WRKDIRPREFIX, and do not bother looking for empty directories if we exited abnormally. Add code to detect dependency loops created by moving part of a port into another port, and CONFLICT'ing on previous versions of that port (ala textproc/p5-XML-SAX -> p5-XML-SAX-Base). When a loop is detected suggest that the user try pkg_updating. Bug Fixes ========= Improve error handling for mktemp Improve handling of abnormal exits (such as ^C, failed port, etc.), especially when the first exit happens in a child process. If the second argument to -o is something that is completely non-existent, report in the error message what the user typed on the command line. Reported by: avilla In clean_build_only_list() remove ports that are already installed when using --delete-build-only to prevent them from being spuriously removed. Reported by: avilla7fb2b1acb3
Fix plist for bash completion file. Bump PORTREVISION for it as well. Submitted by: sunpoetd8dcc077e7
Move the Bash completion file to ${PREFIX}/etc/bash_completion.d Bump PORTREVISION for the WITH_BASH case
While here, remove the license info7d6ad43b14New Features ============ 1. Add a feature to allow users to list files that should be preserved across upgrades. Various Improvements ==================== 1. Add a verbose message for cleaning WRKDIRPREFIX 2. Improve the handling of the -F option with packages, especially with --packages-only: * In update_port() do better at saying what we're launching a child to do * In post_first_pass() make clear that we are fetch'ing, not building, installing, etc. * In multiport() call check_fetch_only when we're done * In the main body add fetch'ed ports to the CUR_DEPS list so that they are only fetched once. 3. Various typo fixes for the man page. Bug Fixes ========= 1. If an update fails in a child port the parent needs to source the $IPC_SAVE file before it bails out to make sure that various lists are updated in the parent. This is particularly important for the list(s) of work already completed, and especially to update PM_NEEDS_UPDATE for the message of how to resume from the point of failure. 2. For multiple -r, don't add a port to the list of dependents to rebuild if it was itself specified as a -r port. 3. In parent_exit() run the code to kill background processes if we're called with a non-zero exit code. That will trigger it (for example) where the user answers no to the confirmation prompt and is either using -D, or the generation of the list of valid distfiles did not complete. 4. Until I can revamp the way dependencies are tracked, include all 3 forms of CONFLICTS to make sure we catch alternates.3e80fc4345