The ports collection has some serious issues

scrat baho-utot at
Sun Dec 18 14:15:19 UTC 2016

On 12/18/16 02:24, John Marino wrote:

> The whole "see, it's not a replacement, you lose" tactic is weak and
> transparent.  Nobody ever said that.  what was said:
> 1) portmaster is not maintained (true)
> 2) portmaster's dirty build method is inferior to clean environment
> builds (true)
> 3) There is better and official alternative (true)
> 4) There's a second, even more effective alternative for x86 platforms
> (true)
> 5) portmaster should come with a big fat warning (subjective)
> So poudriere doesn't have this "weakness" and synth only has it because
> these 2nd tier platforms are popular enough to warrant bringing the Ada
> compiler over to them.  Is it possible to port the ada frontend to
> armv6/v7?  Of course, I've already done it, see lang/gnatdroid*.
> However, it's questionable to try to build huge packages natively on
> armv6/7.
> You can't claim portmaster is the only and therefore best option for
> second tier platforms.  It's untrue.  Saying it runs where synth isn't
> available doesn't justify keeping portmaster at an exulted status.  You
> cannot dismiss poudriere like that.
> John

Jumping into the frying pan ( I like it hot ).....

I like synth and I use it for all my AMD64 boxen.  The only thing that I 
have an issue with is when there are only a few packages that are being 
updated and it wants to build 100+.  Example:

These are the ports that would be built ([N]ew, [R]ebuild, [U]pgrade):
   U => x11/libXpm (3.5.11_4 => 3.5.12)
   U => audio/soundtouch (1.9.2_1 => 1.9.2_2)
   N => ports-mgmt/dialog4ports
   U => editors/vim-lite (8.0.0130 => 8.0.0134)
   R => mail/thunderbird
   R => x11/kde4
   R => x11/lumina
   R => x11/xorg
Total packages that would be built: 221

Yes I cut some of the ones to be rebuilt.  I don't know enough about the 
how, when and why that synth needs to rebuild all of those... I just 
except it and move on.   Synth has never left me with a broken system as 
some of the other package managers.

I have synth configured to use /usr/home/synth:

$ ls /usr/home/synth
build           logs            pkg.list        ports
distfiles       packages

so everything is in /usr/home/synth.

Here is how I use it ( I have two scripts )


#!/bin/sh -

source="${stable} ${releng} ${release} ${ports} ${branches} ${doc}"
for i in ${source} ; do
         if [ -d "${prefix}/${i}" ]; then
                 svnlite update "${prefix}/${i}"
                 mkdir -vp "${prefix}/${i}"
                 svnlite co "${i}" "${prefix}/${i}"
#mkdir -vp "${prefix}/quarterly/2016Q4"
#svnlite checkout " 
rsync --verbose --archive --recursive --delete ${prefix}/${ports}/ 


#!/bin/sh -
synth just-build /usr/home/synth/pkg.list
synth rebuild-repository

A simple

#  cd /usr/home/synth && ./ && ./;poweroff

works for me.

Synth is good and I highly recommend it.

More information about the freebsd-ports mailing list