notbugAs an Amazon Associate I earn from qualifying purchases.
Want a good read? Try FreeBSD Mastery: Jails (IT Mastery Book 15)
Want a good monitor light? See my photosAll times are UTC
Ukraine
This referral link gives you 10% off a Fastmail.com account and gives me a discount on my Fastmail account.

Get notified when packages are built

A new feature has been added. FreshPorts already tracks package built by the FreeBSD project. This information is displayed on each port page. You can now get an email when FreshPorts notices a new package is available for something on one of your watch lists. However, you must opt into that. Click on Report Subscriptions on the right, and New Package Notification box, and click on Update.

FInally, under Watch Lists, click on ABI Package Subscriptions to select your ABI (e.g. FreeBSD:14:amd64) & package set (latest/quarterly) combinatio for a given watch list. This is what FreshPorts will look for.

non port: ports-mgmt/portmaster/distinfo

Number of commits found: 53

Thursday, 30 Nov 2023
10:16 Stefan Eßer (se) search for other commits by this committer
ports-mgmt/portmaster: fix accidentially left in debug tracing

Remove "set -x" thathad been added to verify the previous fix.
commit hash: 6285a928cf5d051a3f2410eea6b06c4c4ed0eceb commit hash: 6285a928cf5d051a3f2410eea6b06c4c4ed0eceb commit hash: 6285a928cf5d051a3f2410eea6b06c4c4ed0eceb commit hash: 6285a928cf5d051a3f2410eea6b06c4c4ed0eceb 6285a92
Wednesday, 29 Nov 2023
19:36 Stefan Eßer (se) search for other commits by this committer
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:		275307
commit hash: 202ed6ce2a2eeb154080bfbabe5ce57a74d1d6ec commit hash: 202ed6ce2a2eeb154080bfbabe5ce57a74d1d6ec commit hash: 202ed6ce2a2eeb154080bfbabe5ce57a74d1d6ec commit hash: 202ed6ce2a2eeb154080bfbabe5ce57a74d1d6ec 202ed6c
Friday, 22 Sep 2023
17:58 Stefan Eßer (se) search for other commits by this committer
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)
commit hash: a7ed2d6d98970d9415bd5eafbfa7addf3f25277c commit hash: a7ed2d6d98970d9415bd5eafbfa7addf3f25277c commit hash: a7ed2d6d98970d9415bd5eafbfa7addf3f25277c commit hash: a7ed2d6d98970d9415bd5eafbfa7addf3f25277c a7ed2d6
Tuesday, 30 May 2023
08:49 Stefan Eßer (se) search for other commits by this committer
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.
commit hash: 98b39a93abb7a30809a3d9b42ae0f880fe921dad commit hash: 98b39a93abb7a30809a3d9b42ae0f880fe921dad commit hash: 98b39a93abb7a30809a3d9b42ae0f880fe921dad commit hash: 98b39a93abb7a30809a3d9b42ae0f880fe921dad 98b39a9
Sunday, 28 May 2023
11:20 Stefan Eßer (se) search for other commits by this committer
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>
commit hash: 8e53bb8846f369d2b79794a4ef07fe8e35ccc88e commit hash: 8e53bb8846f369d2b79794a4ef07fe8e35ccc88e commit hash: 8e53bb8846f369d2b79794a4ef07fe8e35ccc88e commit hash: 8e53bb8846f369d2b79794a4ef07fe8e35ccc88e 8e53bb8
Friday, 26 May 2023
13:22 Stefan Eßer (se) search for other commits by this committer
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 Rossberg
commit hash: fe5636636625e9ac19bd1b4fa75d78fe07bd4c61 commit hash: fe5636636625e9ac19bd1b4fa75d78fe07bd4c61 commit hash: fe5636636625e9ac19bd1b4fa75d78fe07bd4c61 commit hash: fe5636636625e9ac19bd1b4fa75d78fe07bd4c61 fe56366
Friday, 5 May 2023
07:14 Stefan Eßer (se) search for other commits by this committer
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 GitHub
commit hash: addff84030a1f41832f5a88061cc3a43e0ca1749 commit hash: addff84030a1f41832f5a88061cc3a43e0ca1749 commit hash: addff84030a1f41832f5a88061cc3a43e0ca1749 commit hash: addff84030a1f41832f5a88061cc3a43e0ca1749 addff84
Friday, 8 Jul 2022
11:38 Stefan Eßer (se) search for other commits by this committer
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.com
commit hash: f15fe3ba81d8235a209530b478507efd28fe29b4 commit hash: f15fe3ba81d8235a209530b478507efd28fe29b4 commit hash: f15fe3ba81d8235a209530b478507efd28fe29b4 commit hash: f15fe3ba81d8235a209530b478507efd28fe29b4 f15fe3b
Saturday, 23 Apr 2022
20:59 Stefan Eßer (se) search for other commits by this committer
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.
commit hash: 78d6eee9a2bdc7724c6a494ff125b7f8b876758f commit hash: 78d6eee9a2bdc7724c6a494ff125b7f8b876758f commit hash: 78d6eee9a2bdc7724c6a494ff125b7f8b876758f commit hash: 78d6eee9a2bdc7724c6a494ff125b7f8b876758f 78d6eee
Thursday, 30 Dec 2021
20:30 Stefan Eßer (se) search for other commits by this committer
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 Github
commit hash: 793d87945d69500ae167166722896d26aa073c03 commit hash: 793d87945d69500ae167166722896d26aa073c03 commit hash: 793d87945d69500ae167166722896d26aa073c03 commit hash: 793d87945d69500ae167166722896d26aa073c03 793d879
Sunday, 14 Jan 2018
22:11 se search for other commits by this committer
Update to version 3.19, which is identical to 3.18_12 with all port patches
applied.

Approved by:	antoine (implicit)
Original commitRevision:459007 
Thursday, 21 Dec 2017
09:11 se search for other commits by this committer
Update to version 3.18, which already contains all patches required for the
previous version.

Approved by:    antoine (implicit)
Original commitRevision:456898 
Thursday, 14 Dec 2017
20:32 se search for other commits by this committer
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)
Original commitRevision:456351 
Friday, 3 Feb 2017
22:12 bdrewery search for other commits by this committer
- 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 Zuhlsdorff <t.zuehlsdorff@anymotion.de> [2]
Original commitRevision:433268 
Friday, 5 Feb 2016
22:38 bdrewery search for other commits by this committer
Update to 3.17.9

Changes:
 - Update manpage for rebuilding ports with pkg.

PR:		191166
Submitted by:	wblock
Original commitRevision:408276 
Thursday, 3 Sep 2015
17:13 bdrewery search for other commits by this committer
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:	dhw
Original commitRevision:396022 
Friday, 20 Mar 2015
20:07 bdrewery search for other commits by this committer
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:	bdrewery
Original commitRevision:381777 
01:42 bdrewery search for other commits by this committer
Convert my ports to the new USE_GITHUB
Original commitRevision:381704 
Wednesday, 27 Aug 2014
16:33 bdrewery search for other commits by this committer
- Update to 3.17.7

Changes:
  * Use PM_SU_CMD for pkg set -o
Original commitRevision:366334 
Thursday, 19 Jun 2014
00:36 bdrewery search for other commits by this committer
- 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]
Original commitRevision:358332 
Saturday, 24 May 2014
19:04 bdrewery search for other commits by this committer
- Update to 3.17.5

Changes:
  * Fix some issues with killing child processes
  * Use builtin kill(1)
Original commitRevision:355073 
Saturday, 15 Mar 2014
18:29 bdrewery search for other commits by this committer
- 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)
Original commitRevision:348366 
Tuesday, 19 Nov 2013
15:05 bdrewery search for other commits by this committer
- Update to 3.17.3

Changes:
 * Fix with pkg-devel which has broken pkg-info -O compatibility
Original commitRevision:334323 
Saturday, 14 Sep 2013
12:32 bdrewery search for other commits by this committer
- 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], eadler
Original commitRevision:327279 
Monday, 22 Jul 2013
00:41 bdrewery search for other commits by this committer
- 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:	many
Original commitRevision:323426 
Saturday, 22 Jun 2013
16:38 bdrewery search for other commits by this committer
- Update to 3.17

Changes:
  - Fix completion scripts when ports are not checked out.

PR:		ports/179098
Reported by:	Doug Barton <dougb@dougbarton.us>
Original commitRevision:321581 
Saturday, 8 Jun 2013
11:28 bdrewery search for other commits by this committer
- 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 github
Original commitRevision:320240 
Monday, 3 Jun 2013
10:49 bdrewery search for other commits by this committer
Update MASTER_SITE to github.com/freebsd
Original commitRevision:319768 
Friday, 29 Mar 2013
23:48 bdrewery search for other commits by this committer
- 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:	bdrewery
Original commitRevision:315585 
20:43 bdrewery search for other commits by this committer
- 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]
Original commitRevision:315570 
Monday, 15 Oct 2012
06:10 bdrewery search for other commits by this committer
- 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 contributed by avilla@

Feature safe:	yes
Original commitRevision:305904 
Wednesday, 10 Oct 2012
13:03 bdrewery search for other commits by this committer
- 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.mk
Original commitRevision:305653 
Monday, 1 Oct 2012
08:40 dougb search for other commits by this committer
Fix the problem of background fetches hanging forever when the background
process to read the distinfo files encounters a fatal error.
Original commitRevision:305098 
Tuesday, 24 Jul 2012
20:48 dougb search for other commits by this committer
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, oops
Original commit
Tuesday, 17 Jul 2012
07:38 dougb search for other commits by this committer
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%
Original commit
Saturday, 7 Jul 2012
12:16 dougb search for other commits by this committer
Upgrade 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 no
Original commit
Tuesday, 26 Jun 2012
01:51 dougb search for other commits by this committer
Minor 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).
Original commit
Friday, 15 Jun 2012
06:10 dougb search for other commits by this committer
Upgrade to 3.12.1, removes pgrep since it's not safe to use on older
versions of FreeBSD
Original commit
Wednesday, 13 Jun 2012
11:39 dougb search for other commits by this committer
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:    avilla
Original commit
Tuesday, 13 Dec 2011
07:47 dougb search for other commits by this committer
New 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.
Original commit
Monday, 12 Sep 2011
06:19 dougb search for other commits by this committer
New Features
============
1. Add the ability to retry package creation. This is mostly useful for
   PM_SU_CMD after a build that took so long that your sudo ticket has
   expired.

2. Add support for multiple -r options on the same command line. [1]

Various Internal Cleanups and Improvements
==========================================
1. s/printf/echo -e/ for consistency, and use it to full advantage

2. In the code that derives the proper value of PACKAGESITE remove 6.x
   and add 9.x. Also add a 10-current entry.

3. Add a more-or-less painless test to deal with the issue of the current
   working directory no longer existing. This problem usually manifests as
   a "The value of DISTDIR cannot be empty" error because 'make -f' does
   not handle this condition gracefully.

4. In find_and_delete_distfiles() (run after a successful install) change
   the default pattern to be foo-[0-9]* instead of foo* [2]

   When the new pattern doesn't match any existing distfiles, fall back to
   the old one.

5. Also in find_and_delete_distfiles(), cache matches to $DI_FILES so that
   we don't have to re-test that same file again.

6. Change the method used to print the prompt in get_answer_g() to echo -e
   so that I can be more flexible in formatting prompt messages.

7. For --clean-packages if a package is up to date but not installed
   it should still be deleted if -y is in use.

8. Avoid duplicate word in a composite sentence [3]

9. If a user has non-standard FETCH_ARGS it could circumvent the intent
   of --always-fetch, so forcibly unlink the file before proceeding to
   the fetch routine.

Sponsored by:   Henk van Oers [1]

Suggested by:   Lapo Luchini <lapo@lapo.it> [2]

Submitted by:   Dan Allen <danallen46@airwired.net> [3]
Original commit
Wednesday, 8 Jun 2011
06:08 dougb search for other commits by this committer
Update to 3.9.1, a minor bugfix version:

In shuffling around the updating of +REQUIRED_BY I forgot to delete
empty grep_deps files. [1]

While I'm looking at unlink'ing files, bring some sanity to the various
places that it's done which haven't been reviewed in a while:
* Fix the pm_unlink* functions to use the builtin test
* Only/always call the function when we're not sure if the file exists
* Just use /bin/unlink when we're sure it does
* In parent_exit the glob pattern in the for loop will return 'pattern-*'
  if there are no matches, so test for that specifically rather than
  returning to the conditional version.

The mere presence of IS_INTERACTIVE in the Makefile is not enough, the
condition needs to be verified in case it is conditional [2]

We want to make sure that $TMPDIR exists before trying to use it. The
cheapest way to do this is to just call mkdir -p. Move the umask call
before this to be safe.

Split the test for the existence of /usr/X11R6 and whether or not it's
a link for one more micro-optimization.

Submitted by:   olgeni [1]

PR:             ports/157481 [2]
Submitted by:   Carl <k0802647@telus.net> [2]
Original commit
Monday, 2 May 2011
07:33 dougb search for other commits by this committer
New Features:
=============

* The -F option now works with --packages and --packages-only
  o If -F --packages-only and there is no package to fetch,
    give the user a menu of options
  o If -F and --packages lack of a package is a soft fail

* Revamp the code in check_fetch_only() and where we wait for b/g
  distfile fetching to complete to be a lot smarter:
  o In check_fetch_only() simplify the code to count fetch processes which
    both makes it faster by avoiding ps, and also makes it smarter because
    it will find fewer false positives.
  o In both, poll every 2 seconds, but only output to the console every 6.
    This way we'll be able to exit a lot sooner, but still avoid spamming
    the user with lots of messages.

* In the event that an invalid combination of configuration options causes
  a port to be BROKEN, etc. allow the user to run --force-config and try
  again

* Add the ability to specify the -t option to -L and --index-only to
  check every installed port instead of using the shortcut. This is
  slow, but useful on an old system where there is no ports tree and
  one or more of the ports is so old that it no longer exists in INDEX.

Bug Fixes:
==========

Fix an unfortunately long-standing bug in the --package code, we need to
update the +REQUIRED_BY files for ports that the installed port depends on.
When I tested pkg_add originally I confirmed that it did this, but I
neglected to re-test when adding the --no-deps option, which suppresses
this behavior. Mea culpa.

So take this opportunity to fix the bug, and improve some other things in
the process:
* Add code to the section that updates dependencies for the newly installed
  package to walk the +CONTENTS file and runs the +REQUIRED_BY update for
  every port that the newly installed depends on.
* Various non-user-visible optimizations to the dependency udpating code

* When called from gen_dep_list, which also uses temp_list as a local
  variable, uniquify_list() needs its own set of local variables otherwise
  temp_list ends up being duplicated by uniquify_list

Minor Optimizations:
====================

* Micro-optimize a few more cases where we can avoid going out to disk
  to test stuff by separating the test for a variable first.

* Continue the campaign to unset things to keep the environment small

* Various other micro-optimizations
Original commit
Friday, 15 Apr 2011
22:56 dougb search for other commits by this committer
Release version 3.8:

* Fix a long-standing bug with EUID detection. If the UID was > 4 digits
  the code would fail. Fix this by using a more efficient ps command.

  While I'm at it, use the same more efficient method for determining
  the process group id for the trap cleanup routine.

* Fix a buglet in the new --update-if-newer code, exit if all listed
  ports are actually up to date.
Original commit
Monday, 11 Apr 2011
06:19 dougb search for other commits by this committer
New Features:
* Add --update-if-newer which will operate on a list of ports given
  on the command line. If a port list is already up to date, it
  will be skipped.
* Tweak the way INDEX files are downloaded and installed to only
  require root privileges for the minimum possible number of actions,
  and do things in a more secure way:
  1. If necessary to download the new INDEX.bz2, as a non-root user, do
     it in a temporary directory created with mktemp
  2. If necessary to update the actual INDEX file unzip it in that same
     temporary directory
  3. Only use $PM_SU_CMD to install the file if necessary
  4. Unlink both INDEX and INDEX.bz2 in their real locations before
     installing the new versions
* Add the ability to store the portmaster.rc file in the same directory
  as the script itself.

Many improvements to the --index-only/--packages-only code, particularly
in the absence of a ports tree.
* Make the --index* options more friendly to being duplicated in the rc
  file and command line. Mixing different options will still trigger an
  error, however having the same option both places will not.
* Don't do the work of handling the INDEX file if we won't need it
  (-l, --list-origins, -e, -s)
* Reorganize the final check of $pd (PORTSDIR) to properly handle the
  various combinations
* For multiple ports and -o, only test for the origin directory if
  we are not using the INDEX. If we are, check it there instead.
* Add some code to --check-depends to explicitly handle --index-only.
  It worked before by ignoring the origin test if there was no ports
  directory, but failed if --index-only was also used.
  This is better both because it doesn't fail with --index-only, but
  also because it now uses the index to validate $origin.
* Since --check-depends now works with --index-only, update usage()

Also:
* Add some whitespace to the "Installing new +CONTENTS" message
* In --clean-packages show the path in the delete prompt for stale
  packages that are not installed like we do for ones that are
* Various internal cleanups and micro-optimizations
Original commit
Saturday, 15 Jan 2011
20:49 dougb search for other commits by this committer
Update to version 3.6.1, a bugfix to the formatting for user input
messages covered by the -[y|n] support added in the last version.

Feature safe:   yes
Original commit
Monday, 3 Jan 2011
09:31 dougb search for other commits by this committer
Update to verion 3.6

New Features
============
1. The PT_NO_INSTALL_PACKAGE make variable will cause a port to always
   be compiled, instead of being installed from a package. It cannot
   be used in combination with the -PP/--packages-only option. [1]
2. All user input is now wrapped in a verification routine to make
   sure that yes means yes, etc.
3. The -e, -s, --clean-distfiles, --clean-packages, --check-depends
   and --check-port-dbdir features can now take -y and -n options to
   answer "yes" or "no" respectively to all user dialogs. This also
   allows me to deprecate the horribly hacky --clean-distfiles-all and
   --clean-packages-all in favor of -y.
4. If using a separate WRKDIRPREFIX, when the run is over use find to
   clean out the empty directories that are left behind by the ports
   infrastructure.
5. If PM_PACKAGES is set, don't bother with build depends [2]

Small Fixes And Improvements
============================
1. Update usage() in the script and the man page for the new features,
   and improve the consistency between the two.
2. When we enter -PRERELEASE phase the package-finding code should
   still be looking at -stable. [3]
3. Fix some bugs with -r:
        * In certain situations dependent ports that were otherwise
          up to date would be missed.
        * For the purpose of not rebuilding the parent port when -R
          is used we only care about the dependencies of the parent
          port being up to date.
4. Error handling for INDEX fetch
5. The -e, -s, -l, -L, --list-origins, and --check-depends features
   all work fine without a ports tree
        * In -e and -s, delete_dist_list() requires the ports tree, so
          if the user didn't use -D imply it when the ports tree is
          missing, and hide delete_dist_list() behind that test
6. pdb and port_dbdir need default values for usage()

Inspired by:    Marco van Lienen <marco+freebsd-ports@lordsith.net> [1]
                Matthew Seaman <m.seaman@infracaninophile.co.uk> [1]

Reminded by:    ale [2]

Reported by:    Jakub Lach <jakub_lach@mailplus.pl> [3]
Original commit
Tuesday, 7 Dec 2010
18:18 dougb search for other commits by this committer
Fix a minor bug:
When specifying 'portmaster port-1.23 dependency-of-port-2.34'
the dependency would be built twice because the PM_NEEDS_UPDATE
list is kept by ORIGIN. So use the same technique to validate
the port in the build phase that we are using in the first pass.

Also, update the documentation on full version upgrades to encourage
users to back up any vital file in /usr/local before "making sure that
it is empty."
Original commit
Wednesday, 10 Nov 2010
03:30 dougb search for other commits by this committer
Bug Fixes
=========
1. Since $build_l is no longer being incremented prior to the user's
+IGNOREME decision it's no longer necessary to decrement it if the
user chooses not to update that port.
2. While I was reading the trace to find this bug I noticed that we are
running update_build_l() (which in turn updates PM_NEEDS_UPDATE) prior
to running check_state() (FORBIDDEN|DEPRECATED|BROKEN|IGNORE), so move
that check up; and move the "currently installed" and "port directory"
messages up as well to give context to any messages from check_state().
3. Only print the fast-resume message if we're building. Otherwise we
might not know all the ports that need updating.
4. Fix the zsh completion file for --clean-packages[-all]

Minor Fixes
===========
1. In read_distinfos_all() a missing DISTINFO_FILE doesn't need to be fatal
like it does in read_distinfos() since it could be caused by something
uninteresting like a MASTERDIR that exists in part of the tree that has
not been downloaded (e.g., a c[v]sup refuse file). Add some whitespace
around the message in case make also emits an error.
2. For --clean-distfiles* add a line after the "Checking" message to
make the spacing consistent
3. In usage() fill in $pd if it's empty (which it will be for -h|--help)
4. Give a more helpful error message for -o when the port to be replaced
isn't installed or listed as a dependency
Original commit
Wednesday, 3 Nov 2010
01:22 dougb search for other commits by this committer
Use PM_NEEDS_UPDATE to fix the problem introduced in 3.1 of ports being built
in -a as dependencies, then built again because they were pre-scheduled for
update.

Use the same method to handle the same problem in multiport(), which allows
me to remove one more list.
Original commit
Monday, 1 Nov 2010
00:03 dougb search for other commits by this committer
Upgrade to version 3.2

Bug Fixes
=========
1. Properly handle +IGNOREME files again
2. In safe_exit() only print the restart hint if -n PM_NEEDS_UPDATE

Enhancements
============
1. For -F, a better message for spawned children, and continue the campaign
to do less irrelevant stuff.
2. Add some whitespace to the "All ports are up to date" message for -a
3. Make it clear in the docs that -e only handles single ports, and
   use the enhanced features of find_glob_dirs() to return better error
   messages if a glob doesn't match one and only one port. (Problem
   mentioned in PR.)

PR:             ports/151824
Submitted by:   Ben Grimm <freebsd-pr@bengrimm.net>
Original commit
Saturday, 30 Oct 2010
04:43 dougb search for other commits by this committer
Update to version 3.1. In addition to the features listed below there are
numerous internal reorganizations of various sections of code; and several
informative messages have been updated to be more informative. :)

If you're interested in all the details you can review the svn logs at
http://svn.freebsd.org/viewvc/base/user/dougb/portmaster/

Catch Up With Ports Infrastructure
==================================
1. Switch to using DISTINFO_FILE instead of MD5_FILE
2. Use the SHA256 line from distinfo instead of MD5
3. The BEFOREPORTMK trick no longer works to list MASTER_SITES for all ports
so switch to the slightly slower but more reliable pm_make without it. This
will solve the problem of portmaster not fetching all distfiles in the
background.
4. In the case statement to select the appropriate release for package
fetching glob 9.0-CURRENT to handle snapshots as well.

Various Improvements
====================
1. If we fail, offer a suggestion for a shortcut to restart
2. In messages that refer to the INDEX file, use the variable to make it
clear what we're working with.
3. In dependency_check() be clear when we're using the INDEX
4. Dramatic (9-10 times) speedup in iport_from_origin() by making an
intelligent guess about what director{y|ies] to search in based on
the origin directory name which means we're almost always
looking in either exactly the right directory the first time, or
at worst (such as the py-* ports) a dramatically smaller subset.
5. If using --index-only and neither INDEXDIR nor PORTSDIR are set, set
INDEXDIR to $TMPDIR so that we can proceed. That makes PACKAGES the
only variable the user has to set to use --index-only and --packages-only
with no $PORTSDIR and no ports directory.

Bug Fixes
=========
1. For the determination of LOCALBASE:
        a. Don't try to use INDEX if PM_INDEX is not set
        b. Give a more meaningful error message
2. Be more careful to check that there is a line for the port in the INDEX
when working --index-only.
3. In the package fetch routine use a better string match to see if we have
already downloaded the directory listing. The previous one worked but would
match too many files for net* and x11*, especially when installing a lot of
ports. So add a '.' to differentiate these.
4. The --clean-packages and --clean-packages-all features were added just
a little too hastily, so overhaul them.
Original commit
Saturday, 7 Aug 2010
23:04 dougb search for other commits by this committer
Update to version 3.0

New Features
============
1. Add an option to log actions after the run is complete. To enable
   it define PM_LOG in your rc file as the path of the file you want
   to log to. If using PM_SU_CMD make sure that the directory or file
   is writable by the unprivileged user.

2. Add the --clean-packages[-all] feature

   This works similarly to --clean-distfiles[-all] in that it searches
   the $PACKAGES directory for out of date packages, and either offers
   to delete them, or with -all deletes them without prompting. It
   also cleans out stale symlinks and empty directories.
(Only the first 15 lines of the commit message are shown above View all of this commit message)
Original commit

Number of commits found: 53