On Fri, 02 Aug 2024 at 18:17:52 +0200, Niels Thykier wrote:
> Simon McVittie:
> > In the design that I prototyped, it's declarative, loosely inspired by
> > the equivalent Gitlab-CI feature:
> > 
> > - the maintainer can write patterns into debian/build-artifacts for
> >    package-specific quirks like GTK's reftests
> >    (#-prefixed comments are allowed)
> 
> I am a bit tempted to keep this one out of the spec and leave it to the
> build-helper to define it. I find that files in `debian/` are not very
> discoverable and they are harder to support properly in tooling like
> `debputy lsp server`. Each file format requires extra setup and there is not
> a good way to announce they exist unlike fields in `debian/control`.  For
> `debputy` based packages, I would prefer to have this in the
> `debian/debputy.manifest`, since that will enable me to guide the packager
> to its existence and provide on-line documentation for it.

That's fine, debputy could read a list of patterns out of its own input
file and "register" them via whatever mechanism exists
(debian/extra-build-artifacts in my prototype, or writing them into an
"artifacts patterns" directory in your suggestion).

I wanted there to be a straightforward way for a maintainer to opt-in
to this, even if they are not yet living in the debputy future, because
I'd prefer to be able to adopt useful features one at a time, rather
than having to rewrite key packages' build systems in debputy syntax
as a blocker for finding out why their tests fail. But in an imperative
(dh-style) build system, that could be something more like:

    ifneq ($(PUT_ARTIFACT_PATTERNS_HERE),)
    execute_before_dh_auto_configure:
            cp debian/build-artifacts $(PUT_ARTIFACT_PATTERNS_HERE)/
    endif

and that's not so bad.

Or, is it possible to have a debputy manifest exist, and get the
information in it about artifacts copied out appropriately, without
needing to make debputy drive the entire build?

> Mattia's wiki page does list "A reproducible
> compiler error (ICE) produces a /tmp/cc*.out containing the preprocessed
> source.", which might need some tweaking compared to the "the
> -artifacts.tar.gz is always a subset of the build tree".

Hmm, yes, that's unfortunate. This wouldn't be compatible with the
Gitlab-CI feature that I was inspired by, either.

    smcv

Reply via email to