Hello. On 2025/11/11 1:01, Andrea Cocito wrote:
On 10 Nov 2025, at 09:05, Tatsuki Makino <[email protected]> wrote: However, if the reason curl is being rebuilt is due to an upgrade of the it depends on, then rebuilding only ftp/curl can avoid rebuilding rust.
>
I am not completely sure this is correct if we are talking in terms of *reprducible* builds.
Hmm, it seems like those kinds of things can often be fitted into certain patterns. For example...
In principle an upgrade in libnghttp2 might trigger a change in the behavior of curl which (even if curl is only a build dependency of rust) might change the way rust is built.
In cases like this, it is expected that the PORTREVISION of all affected ports will be bumped :)
For this example it is merely theoretical but if you consider a build dependency on a compiler which on its turn depends on a lot of stuff I would not bet on it. IMHO the only way a port build might be “reproducible” is: 1. Make a clean and empty machine (from release, no ports, no packages). 2, Check out somehow the port tree at a stable state 3. cd /usr/ports/some/port ; make This has always been *the* way to build a “clean” port on FreeBSD.
These are, um... For instance, the preprocessor arguments have ended up in this kind of order. -I/usr -I/usr/local -I. -I.. There are settings where none of --enable-feature, --disable-feature, --with-feature and/or --without-feature are configured. However, the ports related to that feature were changed so that other ports would install them, causing them to be automatically detected. There is no include guard, or the way the guard is implemented overlaps with other guards, causing the contents to be abnormal. ... There are a few causes that I can immediately recall, but I think there are almost no other causes beyond these. ... Probably :)
Unfortunately, in the last months/years, this often does not even work; and it’s quite sad, when it happens, to see #notabug #wontfix #usepoudriere #usepkg
Hardware, architecture... The new programming language standard, especially C++... I think it's become impossible to keep up because too many things are constantly changing :) Regards.
