Subject: bug#47230: Build phase to graft during build for better grafts QA

From: Ludovic Courtès <[email-masked]>
Date: Thu, 18 Mar 2021 21:41:29 +0100

Hi,

Léo Le Bouter <[email-masked]> skribis:

> I am having an hard time testing grafts in GNU Guix while I think we
> could have better tooling around this.
>
> For example, we could have a package transformation that can add a
> phase before 'check (or others) to graft any intermediate build binary
> and all dependencies (if not done already) to run the test suite WITH
> the graft. This could be turned on by GNU Guix contributors after
> trying to graft some package to ensure it does not break things.
>
> What do you think?

I think it’s more of a discussion for guix-devel than a bug report.  :-)

What you describe, AIUI, is not possible: there are no phases or
anything like that happening on grafted packages.  Quoth the manual
(info "(guix) Security Updates"):

  Other restrictions may apply: for instance, when adding a graft to a
  package providing a shared library, the original shared library and its
  replacement must have the same ‘SONAME’ and be binary-compatible.

As I wrote earlier today, these things have to be checked by packagers;
they’re not easily automated because that usually involves knowing the
intent of upstream developers, for example whether they intend the new
version to be ABI-compatible with the version we have at hand, etc.

HTH!

Ludo’.