Subject: Re: bug#29255: "Profile contains conflicting entries" could be more helpful
From: [email-masked] (Ludovic Courtès)
To: Ricardo Wurmus <[email-masked]>
Cc: [email-masked], Ben Sturmfels <[email-masked]>
Date: Sun, 10 Dec 2017 23:47:09 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello!

[email-masked] (Ludovic Courtès) skribis:

> Ricardo Wurmus <[email-masked]> skribis:
>
>> In this case it is not entirely clear that the existing python-requests
>> package in the profile is “old”.  The version looks the same and the
>> hash is opaque.
>>
>> Would it be possible to record something about the Guix version that was
>> used to install a package?  Then we could say:
>>
>>   An older variant of python-requests is installed in this profile
>>   (propagated from package “foo-bar”) and conflicts with a newer variant
>>   (propagated from package “python-twine”).
>
> When the version numbers are the same, we cannot tell whether a variant
> is “older”, we can just tell that it’s different.  Also, I find it
> useful to see the propagation stack as is currently the case.
>
> With the patch below, I get:
>
> $ ./pre-inst-env guix package -p foo -i python@2 python
> The following packages will be installed:
>    python	2.7.13	/gnu/store/vysfxizaddh1q8s5qjgbdkzxx0585dzi-python-2.7.13
>    python	3.5.3	/gnu/store/m4rdgmvdqcxs2zhv42idnz1s1w391i8j-python-3.5.3
>
> guix package: error: profile contains conflicting entries for python:out
> guix package: error:   first entry: [email-masked] /gnu/store/vysfxizaddh1q8s5qjgbdkzxx0585dzi-python-2.7.13
> guix package: error:   second entry: [email-masked] /gnu/store/m4rdgmvdqcxs2zhv42idnz1s1w391i8j-python-3.5.3
> hint: You cannot have two different versions or variants of `python' in the same profile.
>
>
> and:
>
> $ ./pre-inst-env guix package -i guile-cairo -p foo --no-grafts
> The following package will be installed:
>    guile-cairo	1.4.1	/gnu/store/dsdbp9sqla6zz2skljlcr5zfjyzvargf-guile-cairo-1.4.1
>
> guix package: error: profile contains conflicting entries for cairo:out
> guix package: error:   first entry: [email-masked] /gnu/store/c4vl4hw5jccg0b23sfvs0kdnfdbxdlgm-cairo-1.14.10
> guix package: error:    ... propagated from [email-masked]
> guix package: error:   second entry: [email-masked] /gnu/store/nwxv9s2q8pi0m6gn6fyidpj8442dwp6f-cairo-1.14.10
> guix package: error:    ... propagated from [email-masked]
> hint: Try upgrading both `guile-cairo' and `cairomm', or remove one of them from the profile.

I’ve pushed the patch as commit
3b80b81358b3861ca3794105c8eb4395df97846b.  Hopefully these hints help
users get on the right track, and we can always adjust them.

Thanks,
Ludo’.