jrmarino / synth

Next D/Ports build tool for live systems (Alternative for Portmaster and Portupgrade tools)
ISC License
251 stars 16 forks source link

"Scanning entire ports tree" - why? #211

Open rwv37 opened 1 year ago

rwv37 commented 1 year ago

This is not really an "issue", but a question:

When you do a synth status, it says "Scanning entire ports tree". This step takes a long time (at least for me). So I can't help but wonder: Why does it need to scan the entire ports tree? Why can't it instead just scan the subset implied by the packages in question?

jrmarino commented 1 year ago

Yes it's necessary to do the entire tree -- this requirement came after flavors was introduced. The FreebSD ports projects needs to provide a suitable index for every change of the ports tree, but they do not. This is a major failure in my opinion.

The absurd length of time is because of 1) limitations of the makefile system and 2) unchecked abuse of the makefile system with regard to file inclusion and real-time evaluation of command output. Since I left the project, nobody checks for these things.

If the index were generated externally, all users could use it instead of having to generate one themselves.

rwv37 commented 1 year ago

Thanks. If it's not a hassle, could you please point me to a source where I can learn more detail about this situation, if you know of one?