What is the preferred method for updating ports now?

Matthew Seaman matthew at freebsd.org
Wed Jun 11 17:02:04 UTC 2014


On 06/11/14 17:20, Paul Schmehl wrote:
> I used to use cvsup.  Then I switched to portsnap.  Do I now need to
> switch to svn?  If so, is there a way to use svn to only update those
> ports that have changed since the last update?  I've been using svn for
> a while to work on port updates.  I know how to fetch the entire port
> infrastructure but not how to only update those ports that have
> changed.  Portsnap can be automated to keep ports up to date.  Is there
> a similar utility that uses svn instead?

To maintain a copy of the ports tree, portsnap is probably least effort,
unless you're maintaining ports or want to make local customizations, in
which case use svn.

> Is portmaster going away any time soon?  Or is that now the preferred
> method for updating ports?  Is portupgrade going away?  (I no longer use
> it - just wondering.)

No. portmaster and portupgrade are here for the foreseeable future.
There's no reason to stop using them if they are your tools of choice.
Neither of those are specifically preferred for updating ports -- in
fact, there isn't any one method that is "preferred": ports supports
installing from source, with or without using tools like portmaster or
portupgrade, and it now also supports installing using binary packages
either from the FreeBSD official repositories or other repositories;
either your own, or run by (hopefully reputable) third parties like
PC-BSD for instance.

> As a port maintainer, what tools do I use now that I've converted to
> pkgng? Do we still use portlint?  Or is there a new way to do that?
> 
> So many questions......

Yes, portlint is still important.  However as a developer, you should add

DEVELOPER=YES

to your /etc/make.conf -- this will enable a number of sanity tests now
built into the ports Makefiles.  This, plus the adoption of staging
means that you should be able to do unit tests on an updated port as
simply as:

     % make stage
     % make check-orphans
     % make package PACKAGES=/tmp

which you can run as an ordinary user, rather than needing root level
access (assuming you've installed all the dependencies already.)

If your port passes all those, then it's in good shape, although I'd
recommend further testing via Redports or the like before committing to
the tree.

	Cheers,

	Matthew

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 1014 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20140611/597b685a/attachment.sig>


More information about the freebsd-ports mailing list