On 27/4/26 16:38, Gabriel Wicki wrote:
But to be a bit more on the issue: if a substitute* call fails for
either not finding a file or not being able to match the regex, the
solution is to delete that call.
The problem that this proposal is supposed to address, as I understand
it, is that the substitution would be necessary to use the package.
That is, consider this pipeline:
- Time 1:
Package xyz is packaged; it builds without any substitution. But does
not actually work properly because e.g. a path is wrong.
- Time 2:
Someone notices the package does not work properly, and adds a
substitution. Package xyz now builds and works properly.
- Time 3:
Someone refreshes packages xyz. The substitution does not apply
anymore, but no-one notices. Package xyz still builds, but does not
properly work anymore.
- Time 4:
Someone notices the package does not work, and fixes the substitute*.
The goal of making substitute* complain is to prevent the error creeping
in at Time 3. Simply deleting the substitution* would not help, because
that just re-introduces the problem that this proposal tries to solve.
The solution would be to investigate whether the now-failing
substitution is still necessary or not; that investigation is not
necessarily quick and easy.
Most of the time the substitution can probably be removed, but we should
not encourage that as the default assumption.
However, I would welcome some examples of such packages that are
silently broken by a null-substitution.