|
 |
 |
 |
 |
Portmaster
I am grateful to all the members of the community who have participated
in the funding of my work on portmaster. Please see
the Portmaster Funding Proposal page
for more details. Thanks.
Does the world really need one more port management tool? Well I'm
not sure about the world, but I do know that none of the existing
options worked for me, for a variety of reasons. The two biggest
being that I do not want to have to install yet another language,
and I do not want the overhead of a database to manage the information
about what ports I have installed, etc.
The goals I started with for this project were to use /bin/sh
so that nothing else would have to be installed for it to work, and to
make use of the existing data in /var/db/pkg. I now have
something that meets those goals, and does everything I want it to do,
so I'm interested in sharing it with the community.
In addition to the above, the script has the following features:
- User can specify the port to upgrade (or install) either by
directory in /usr/ports (whether the port is already
installed or not), or by directory in /var/db/pkg
- Updates and repairs (as needed) entries for dependencies
in both +CONTENTS and +REQUIRED_BY files for
both the port that is being updated, and any ports that depend on it
- Runs make config recursively before starting build
- Recursively checks and upgrades (or installs) all dependencies
- User can force upgrades of all dependent ports
- Runs make clean before starting the build (can be disabled)
- Offers the user the opportunity to delete stale distfiles
- Supports /usr/ports/MOVED
- Reads /usr/local/etc/portmaster.rc and $HOME/.portmasterrc
for global and per-user defaults. These can be overridden by
the command line
New features added based on user feedback:
- Supports non-default settings of PORTSDIR and
PKG_DBDIR
- Update all installed ports that are out of date (or add the
"force" option to update everything)
- Interactive update mode (prompts for each update)
- File glob'ing for ports in /var/db/pkg
- Option to rebuild port, and ports that depend on it
- Downloads port distfiles in the background
- Support for using the /usr/ports/INDEX file
to speed up determination of ports that need updating,
or exclusively (I.e., without a ports tree at all).
- Support for downloading and installing package files with various
levels of requirement from "if available" all the way up to
"exclusively."
The combination of the last 2 features above make portmaster a suitable tool
for custom upgrades of a cluster of machines using locally built packages
and a custom INDEX file. Feel free to contact me if you are interested
in consulting help to develop such a solution.
There are many other features that are detailed in the manual page.
The logs of updates to the "official" version of the script
(the one that is present in the ports tree) can be found in
the FreeBSD CVS Repository. If you are interested in the logs of changes
made to the "development" version of the script and/or trying out this
"bleeding edge" version they can be viewed (at no charge of course)
in the FreeBSD
SVN repository which is linked to from the funding page mentioned above.
If you are interested in this script, have suggestions for
features, or other feedback, please drop me a line.
The script is in the ports collection at ports/ports-mgmt/portmaster
|
 |
|
 |
 |
 |
|