Update for version 1.6.20a7db3c93
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 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)
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 movedf24160d1b1
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
Update for version 1.40ec59745d5
Bump to 1.4 for new version07da5a0d49
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 anyway0d69d4d578
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 3b1c2ec1745
Bump the version number of the port for the new version of the scripte5abb647ca
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) call6e59fecc9c
Improve the description, and add a WWW link.3592c37af4
Add my portmaster utility. This is a shell script to manage ports that does not require external databases or languages.5c9a8c6104