Re: We need to do something about build times

From: Bryan Drewery <bdrewery_at_FreeBSD.org>
Date: Fri, 02 Feb 2024 20:34:13 UTC
On 1/31/2024 12:16 PM, Bryan Drewery wrote:
> On 10/24/2023 12:12 PM, Robert Clausecker wrote:
>>   - rework Poudriere's rebuild detection to not rebuild every port for
>>     every random bullshit thing.  For example, I don't see why ports need
>>     to be rebuilt for transitive changes in build dependencies.  E.g. if
>>     port A has build depends on port B which build depends on port C, and
>>     C is updated, then A has to be rebuilt despite its direct 
>> dependencies
>>     being unchanged.  This does not appear to be reasonable.
> 
> I have this working in a private branch for a few years. Along with 
> allowing Rust to build OFF of tmpfs, and avoiding gcc*/llvm*/rust 
> building concurrently. It's been hard to find time to work on it and get 
> proper testing; there have been a lot of issues identified. I think it's 
> stable now, but the subpackages work that went into Poudriere recently 
> requires me to rebase my work. It's a few hundred commits in conflict. 
> It's so massive I have not figured out how to move forward yet. I need 
> to find time for it. If it were up to me I would strip out subpackages 
> support because it has no tests, isn't properly supported in Poudriere 
> (things needlessly rebuild), had its examples reverted, and has 
> community pushback about it. As is once I find time to get my changes 
> rebased in I need to add tests and proper support for subpackages.
> 

This sounds harsher to subpackages that I intended. It's actually a very 
simple change to Poudriere, it just touches a lot of places that cause 
me conflicts and slow me down. It's my fault for sleeping on 
reviewing/merging the feature for the past few years leading to the 
issues I have with it now.


-- 
Bryan Drewery