The ports collection has some serious issues

Warren Block wblock at
Thu Dec 15 14:22:30 UTC 2016

On Thu, 8 Dec 2016, Daniil Berendeev wrote:

> 5) svn repository.
> I don't want to spark a holy war and I don't belong to those type of
> people who are always obsessed that something isn't done in their way.
> But guys, svn is not a good tool for ports. Just for one reason,
> actually (as for me, I could tolerate anything else, but not this one)
> -- size. The size of repository is 20G+ and growing. I don't want to
> pull 20G+ in /usr/ports just because I need to use ports. It's just
> sick. The repository is so big because, as all ya know, svn is expensive
> in branch operations. Since you've began to do those 2xxxQx branches the
> size of the repository began to grow rapidly. It's inefficient and
> uncomfortable. For such a work something like git or mercurial should be
> used, they'd fit in 3-4G.

Here, it doesn't look like that. Don't forget that /usr/ports/distfiles 
accumulates old versions and must be manually cleaned out from time to 
time.  portmaster has a couple of options to remove distfiles that are 
not needed.

% du -hd0 /usr/ports
8.1G	/usr/ports
% du -hd0 /usr/ports/distfiles
6.5G	/usr/ports/distfiles

After copying that to /tmp and deleting distfiles entirely:

% du -hd0 /tmp/usr/ports
1.4G	/tmp/usr/ports

Deleting /usr/ports/distfiles entirely is something I avoid because it 
seems that just when an urgent rebuild is needed, a distfile will be 
unfetchable. The portmaster options can keep distfiles only for 
currently installed ports, or current distfiles for any port, whether 
installed or not.

More information about the freebsd-ports mailing list