[cuirass] Missing dependencies.

  • Open
  • quality assurance status badge
Details
3 participants
  • Maxim Cournoyer
  • Maxime Devos
  • Mathieu Othacehe
Owner
unassigned
Submitted by
Mathieu Othacehe
Severity
normal
Merged with

Debbugs page

Mathieu Othacehe wrote 3 years ago
(address . bug-guix@gnu.org)
87sfxeedpb.fsf@gnu.org
Hello,

I noticed that some builds were missing dependencies in the Cuirass web
interface. For instance, compare those two builds of python-git-review:


When looking closer to one dependency, python-pysocks for the build
100035, this command reports the corresponding derivation:

Toggle snippet (4 lines)
guix time-machine --commit=79fbbe5e4a7cd79613d49c0dda51872f2492cc76 -C ~/.config/guix/channels-default.scm -- build --no-grafts python-pysocks -d
/gnu/store/49bprfjvzlfm893622fkmi4jb6msyg2j-python-pysocks-1.7.1.drv

On the other hand, in the Cuirass database, we have:

Toggle snippet (4 lines)
cuirass=# select derivation from jobs left join builds on jobs.build = builds.id where jobs.evaluation = 27768 and name = 'python-pysocks.x86_64-linux';
/gnu/store/pm576s0gi7b8n9bpllmj3kdin0r6dj22-python-pysocks-1.7.1.drv

There are two different derivations which explains why python-pysocks is
not listed as dependency of the build 100035.

While those derivations are different, they have the same output:

Toggle snippet (4 lines)
guix time-machine --commit=79fbbe5e4a7cd79613d49c0dda51872f2492cc76 -C ~/.config/guix/channels-default.scm -- build --no-grafts python-pysocks
/gnu/store/x76mk7rx4hyqk6hngflpx1rrrr82rvmb-python-pysocks-1.7.1

and

Toggle snippet (4 lines)
cuirass=# select path from jobs left join builds on jobs.build = builds.id left join outputs on builds.derivation = outputs.derivation where jobs.evaluation = 27768 and jobs.name = 'python-pysocks.x86_64-linux';
/gnu/store/x76mk7rx4hyqk6hngflpx1rrrr82rvmb-python-pysocks-1.7.1

So, when Cuirass tried to register the
/gnu/store/49bprfjvzlfm893622fkmi4jb6msyg2j-python-pysocks-1.7.1.drv, it
skipped it because another build with the same output already
existed.

Cuirass uses the derivation file names to determine the dependencies and
is thus tricked by this mismatch.

There are two things that are a bit unclear to me:

1. What causes those derivation differences while the output is identical?

2. How we could work-around this issue to have Cuirass list all
dependencies?

Thanks,

Mathieu
Maxime Devos wrote 3 years ago
35fddcc62ad65fb39b5fd54ba7f9ae9999d2db84.camel@telenet.be
Mathieu Othacehe schreef op wo 06-10-2021 om 08:53 [+0000]:
Toggle quote (8 lines)
> [...]
> Cuirass uses the derivation file names to determine the dependencies and
> is thus tricked by this mismatch.
>
> There are two things that are a bit unclear to me:
>
> 1. What causes those derivation differences while the output is identical?

I'd presume changing the source URL of some package (while keeping the hash intact).
That changes fixed-output derivations but keeps the output intact, IIUC.

This hypothesis can be tested by replacing %mirrors by '() in (guix download)
and comparing the derivation and output path of a package using a mirror:// url
before and after.

Greetings,
Maxime.
-----BEGIN PGP SIGNATURE-----

iI0EABYKADUWIQTB8z7iDFKP233XAR9J4+4iGRcl7gUCYV1uDBccbWF4aW1lZGV2
b3NAdGVsZW5ldC5iZQAKCRBJ4+4iGRcl7ipPAQDc9YDd67mRv4AV19xLmWjSMwfz
ajsWmyLsicU9acumhwD/YUCIwKCVgUHCciaoCUZXSiuHMBpCpzucDMvrOrhNGwk=
=umJ8
-----END PGP SIGNATURE-----


Maxim Cournoyer wrote 2 years ago
control message for bug #51055
(address . control@debbugs.gnu.org)
87r0nb5o1x.fsf@gmail.com
merge 51055 65505
quit
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 51055@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 51055
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help