/usr/ports/distfiles/go insanely oversized

From: Thor Ablestar <thor_at_irk.ru>
Date: Sun, 16 Jun 2024 09:15:52 UTC
Hello!

I have a habit to keep /usr/ports/distfiles on separate SSD in order to 
build packages on many different computers and OSes (12, 13 and now 
14.2). Usually i do the following:

# cd /usr/ports/sometheme/somepackage

# make checksum

# make install

so that I supervise the download of source files and then have some rest 
while the port compiles.

SSD became full, and I decided to copy data to the different HDD. Then I 
have found that the /usr/ports/distfiles/go has an insane number of 
subdirectories (some hundreds of thousands). I spent a full day in 
attempts to copy them (successfully at last) and only some minutes to 
copy the rest.

Then I decided to find a total size of the distfiles with du. Now du 
spent 5 minutes of machine time (top listing) and has shown 288 GB in go 
subdir and 469 GB total.

Then I have tried to compare some subdirectories in go directory, and it 
seems that each subdirectory contains subdirectories of all their 
dependencies (I am not sure). For instance,

go/archivers_nfpm/pkg/mod/cache/download/github.com/!masterminds/goutils/@v

contains the same files (name and size) as

go/audio_gonic/pkg/mod/cache/download/github.com/!masterminds/goutils/@v

What to do? How to manage it? If the problem cannot be solved I am going 
just to ban the /usr/ports/distfiles/go dependent ports completely and 
try to live without them.

I had the same problem 2 years ago but it was not so severe as now.

Sincerely yours,

Anatoly