Re: We need to do something about build times

From: Tatsuki Makino <tatsuki_makino_at_hotmail.com>
Date: Sat, 28 Oct 2023 22:11:04 UTC
Moin Rahman wrote on 2023/10/28 23:10:
>> I believe you do not have the latest tree. I have removed the build time dependency to texlive-base.
>>
>> And there is not call to texlive-base itself.
> 
> In contrary to my previous comment I think that somehow poudriere detected the change that it no longer depends on print/texlive-base and hence rebuilt the pkg so that it's properly processed in the pkg and removes the dependency on print/texlive-base.
> 
> So in the previous pkg repo it had a BUILD time dependency on print/texlive-base but after the latest build it is no longer there. Maybe there are still some place of improvements in poudriere's change detection mechanism specially BUILD_DEPENDS. :P

I tried a command that intentionally rebuilds texlive-texmf.
For example
poudriere bulk -j ... -n -C print/texlive-base audio/libopenshot-audio

[00:00:48] [Dry Run] (-C) Will delete existing package: libopenshot-audio-0.3.2.pkg
[00:00:48] [Dry Run] (-C) Will delete existing package: texlive-base-20230313_3.pkg
[00:00:52] [Dry Run] Deleting tex-formats-20230313.pkg: missing dependency: texlive-base-20230313_3
[00:00:52] [Dry Run] Deleting texlive-texmf-20230313.pkg: missing dependency: texlive-base-20230313_3

These are still packages created by the old port tree and were targeted for removal.

[00:00:53] [Dry Run] Would build 2 packages using 2 builders
[00:00:53] [Dry Run] Ports to build: audio/libopenshot-audio print/texlive-base

However, they are not targeted for rebuilding because they do not have dependencies in the new tree.

If an old texlive-texmf package is still removed, all packages that depend on it may be removed.
By rebuilding only there, the dependency graph will be reconnected as if nothing had happened.

poudriere bulk -j ... -C print/texlive-texmf
poudriere bulk -j ... -C print/tex-formats

It seems that texlive-texmf has been separated from its frequently rebuilt dependencies.

Thank you very much.