Status of portupgrade and portmaster?
vlad-fbsd at acheronmedia.com
Mon Oct 2 10:28:06 UTC 2017
On 2017-10-02 12:05, Marco Beishuizen wrote:
> I agree, imho poudriere is designed to maintain ports and testing
> them, or if you have to build ports for lots of systems. And it works
> very well for that too. But portupgrade and portmaster are imho far
> better in just tracking newer versions of installed ports. I'm also
> not sure if poudriere is able to track ports on a STABLE system (as in
> my case).
It may've been the original design idea, but Poudriere is the de facto
pkg building tool on FreeBSD for the official pkg repository, so its
application is far from just testing.
Also, Poudriere is building a repository, comparing it to any other tool
for tracking _installed_ ports is simply wrong, pkg does that. Even with
portmaster, pkg does that as portmaster builds a pkg and registers it
with the pkg database.
It will perfectly detect changes and upgrade newer versions of packages
for the repos it is maintaining, and `pkg upgrade` will handle the
tracking of installed packages.
There is also huge advantage in building a repo FIRST, then using pkg
LATER. I've had a ton of issues upgrading ports that were in use, where
a dependency would be upgraded first and the program in use would fail
because its port is not yet updated for that change.
So if we want to compare apples to apples, then the difference is
between "simple" tools that directly manage files on the system, versus
tools that prepare a pkg repo first, and you manage the files on the
system with pkg (some-tool build-and-install vs some-tool build &&
pkg install). It may be someone's PREFERENCE to do the former, but there
is no objective benefit of that over preparing pkgs first, in an
(automatically managed) isolated environment.
That said, Poudriere is perfectly capable to manage software on a single
machine. It works out of the box with a few simple steps needed to set
it up for that task (poudriere jail + poudriere ports).
More information about the freebsd-ports