Chapter 16. Keeping Up
Table of Contents
The FreeBSD Ports Collection is constantly changing. Here is some information on how to keep up.
One of the easiest ways to learn about updates that have already been committed is by subscribing to FreshPorts. Multiple ports can be monitored. Maintainers are strongly encouraged to subscribe, because they will receive notification of not only their own changes, but also any changes that any other FreeBSD committer has made. (These are often necessary to keep up with changes in the underlying ports framework-although it would be most polite to receive an advance heads-up from those committing such changes, sometimes this is overlooked or impractical. Also, in some cases, the changes are very minor in nature. We expect everyone to use their best judgement in these cases.)
To use FreshPorts, an account is required.
Those with registered email addresses at
@FreeBSD.org will see the opt-in link on the right-hand side of the web pages.
Those who already have a FreshPorts account but are not using a
@FreeBSD.org email address can change the email to
@FreeBSD.org, subscribe, then change it back again.
FreshPorts also has a sanity test feature which automatically tests each commit to the FreeBSD ports tree. If subscribed to this service, a committer will receive notifications of any errors which FreshPorts detects during sanity testing of their commits.
16.2. The Web Interface to the Source Repository
It is possible to browse the files in the source repository by using a web interface. Changes that affect the entire port system are now documented in the CHANGES file. Changes that affect individual ports are now documented in the UPDATING file. However, the definitive answer to any question is undoubtedly to read the source code of bsd.port.mk, and associated files.
16.3. The FreeBSD Ports Mailing List
As a ports maintainer, consider subscribing to FreeBSD ports mailing list. Important changes to the way ports work will be announced there, and then committed to CHANGES.
If the volume of messages on this mailing list is too high, consider following FreeBSD ports announce mailing list which contains only announcements.
16.4. The FreeBSD Port Building Cluster
One of the least-publicized strengths of FreeBSD is that an entire cluster of machines is dedicated to continually building the Ports Collection, for each of the major OS releases and for each Tier-1 architecture.
Individual ports are built unless they are specifically marked with
Ports that are marked with
BROKEN will still be attempted, to see if the underlying problem has been resolved.
(This is done by passing
TRYBROKEN to the port’s Makefile.)
16.5. Portscout: the FreeBSD Ports Distfile Scanner
The build cluster is dedicated to building the latest release of each port with distfiles that have already been fetched. However, as the Internet continually changes, distfiles can quickly go missing. Portscout, the FreeBSD Ports distfile scanner, attempts to query every download site for every port to find out if each distfile is still available. Portscout can generate HTML reports and send emails about newly available ports to those who request them. Unless not otherwise subscribed, maintainers are asked to check periodically for changes, either by hand or using the RSS feed.
Portscout’s first page gives the email address of the port maintainer, the number of ports the maintainer is responsible for, the number of those ports with new distfiles, and the percentage of those ports that are out-of-date. The search function allows for searching by email address for a specific maintainer, and for selecting whether only out-of-date ports are shown.
Upon clicking on a maintainer’s email address, a list of all of their ports is displayed, along with port category, current version number, whether or not there is a new version, when the port was last updated, and finally when it was last checked. A search function on this page allows the user to search for a specific port.
Clicking on a port name in the list displays the FreshPorts port information.
Additional documentation is available in the Portscout repository.
Last modified on: September 7, 2022 by Stefan Eßer