Collision between 2 LICENSE.txt from 2 different packages

I would like to install both multimarkdown and dotnet-sdk_6 but there is a collision:

error: collision between `/nix/store/...-multimarkdown-6.6.0/LICENSE.txt' and `/nix/store/...-dotnet-sdk-6.0.300/LICENSE.txt'

Is there a bug in these packages?

This is a sign of bad packaging, there definitely should not be any file there, especially not one with a name that common.

Should be reported in nixpkgs as two individual issues pinging respective maintainers.

2 Likes

This probably most often happens because a package doesn’t really require building and someone copied the source to $out without removing the unnecessary files.

Regardless of how it happened, neither of those packages should have such files in their output. Go ahead and file a nixpkgs bug.

1 Like

It might be the case thst the license/copyright stipulate thst a copy should still be distributed with the software though, yeah? Is there a more-correct place for it? I think I’ve seen at least one in $out/share before.

I think $out/share/doc/<programname>/LICENSE.txt is the correct place.

3 Likes

done:

1 Like

I’ve encountered same issue with OrcaSlicer (not in nixpkgs yet) and GraalVM17 CE:

error: collision between `/nix/store/kgd571ap8x0d62ihiqfyrbssk9b7xs24-graalvm17-ce-22.3.1/LICENSE.txt'
and `/nix/store/g0zb3h9hg8zb1fndsnl9mjnmsiiniahh-orca-slicer-1.6.6/LICENSE.txt'

Should I open PR’s for them as well?

1 Like

Sure, feel free to do that.

Turned out, I’ve got another error while I was building graalvm17-ce:

error: graalvm17-ce has been removed because upstream dropped support to different JDK versions for each GraalVM release. Please use graalvm-ce instead

Turns out, that this package is not supported anymore. I think nix should check this first, because this looks more like an actual problem. Still going to do a PR for OrcaSlicer though

Ok, this is still an error:

error: collision between `/nix/store/vbr0f8nnzbcbmb22vp599lvycxcznlm9-graalvm11-ce-22.3.1/LICENSE.txt'
and `/nix/store/g0zb3h9hg8zb1fndsnl9mjnmsiiniahh-orca-slicer-1.6.6/LICENSE.txt'

From building graalvm-ce, I’ve got this output:

~/test2
❯ nix build github:NixOS/nixpkgs#graalvm-ce

~/test2 took 7m46s
❯ l result
Permissions Size User Date Modified Name
dr-xr-xr-x     - root  1 Jan  1970   bin
dr-xr-xr-x     - root  1 Jan  1970   conf
dr-xr-xr-x     - root  1 Jan  1970   include
dr-xr-xr-x     - root  1 Jan  1970   jmods
dr-xr-xr-x     - root  1 Jan  1970   legal
dr-xr-xr-x     - root  1 Jan  1970   lib
dr-xr-xr-x     - root  1 Jan  1970   nix-support
lrwxrwxrwx   21k root  1 Jan  1970   LICENSE_NATIVEIMAGE.txt -> lib/svm/LICENSE_NATIVEIMAGE.txt
.r--r--r--  3.2k root  1 Jan  1970   release

Which files should I move and where? I’m confused by release being a file. Also, all build directories are here…