Hello,
I noticed that some builds were missing dependencies in the Cuirass web interface. For instance, compare those two builds of python-git-review: https://ci.guix.gnu.org/build/89691/details https://ci.guix.gnu.org/build/1000035/details When looking closer to one dependency, python-pysocks for the build 100035, this command reports the corresponding derivation: --8<---------------cut here---------------start------------->8--- 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 --8<---------------cut here---------------end--------------->8--- On the other hand, in the Cuirass database, we have: --8<---------------cut here---------------start------------->8--- 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 --8<---------------cut here---------------end--------------->8--- 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: --8<---------------cut here---------------start------------->8--- guix time-machine --commit=79fbbe5e4a7cd79613d49c0dda51872f2492cc76 -C ~/.config/guix/channels-default.scm -- build --no-grafts python-pysocks /gnu/store/x76mk7rx4hyqk6hngflpx1rrrr82rvmb-python-pysocks-1.7.1 --8<---------------cut here---------------end--------------->8--- and --8<---------------cut here---------------start------------->8--- 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 --8<---------------cut here---------------end--------------->8--- 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
