The ports collection has some serious issues

Thomas Mueller mueller6722 at
Sat Dec 17 08:51:49 UTC 2016

>From John Marino:

> At face value, this doesn't make sense because synth is a tool for building
> everything from source, so your development system is exactly where it should
> be installed.

> So you must be talking about build dependencies of synth (there are no run
> dependencies).  While I think the requirement of rebuilding synth from source
> is artificial, I've provided a very reasonable approach to solving this which
> I feel compelled to repeat for the readers of Kevin's post.  The solution:

> Starting with a clean system:
> 1) install synth from binary package from official freebsd builder (a single
> package)
> 2) Configure synth if necessary
> 3) command synth to build itself
> 4) pkg delete synth (system is once again clean)
> 5) pkg add -F /path/to/synth/packages/synth-*

> Now you have a system containing s/w built by itself.  On an modest system
> less than 4 years old, it might take 30 minutes at most.

> So the "synth has dependencies" detraction is extremely weak.  For people that
> trust FreeBSD to provide untainted binaries, it's not an issue at all and for
> the paranoid, it's easily worked around.  Saying that the use of Ada limits it
> to the platforms it can run on natively is a valid detraction, but it's BUILD
> dependencies really aren't due to the availability of binary packages, the
> PRIMARY product of the ports tree.

> RE: poudriere, it has no dependencies.  It's just as appropriate on the dev
> system and adding a jail and configuring it also takes less than 30 minutes.
> Either is very appropriate for a system that must build everything that is run
> on it.

I believe you could cd $PORTSDIR/ports-mgmt/synth and
make package-recursive |& tee build-12amd64.log (or whatever you want to name the log file; this example if for shell tcsh)?

For a system with pkgng, is there any difference in package format between "make install", portmaster and portupgrade?

If your system already has portmaster, you could portmaster ports-mgmt/synth |& tee synth-12amd64.log?

And then switch from portmaster to synth for all further ports builds/updates?

It would not be necessary to start with a clean system for FreeBSD, as opposed to NetBSD, or am I mistaken here?

First port-upgrading tool I used in FreeBSD was portupgrade.  Subsequently I switched to portmaster.


More information about the freebsd-ports mailing list