GNU bug report logs -
#44327
`guix install` doesn't warn about collison in profile
Previous Next
Reported by: Zhu Zihao <all_but_last <at> 163.com>
Date: Fri, 30 Oct 2020 11:19:03 UTC
Severity: normal
Tags: notabug
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 44327 in the body.
You can then email your comments to 44327 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guix <at> gnu.org
:
bug#44327
; Package
guix
.
(Fri, 30 Oct 2020 11:19:03 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Zhu Zihao <all_but_last <at> 163.com>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Fri, 30 Oct 2020 11:19:03 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
In commit ba60bbd4370570ff03a16c63af051be06f22658e. Try command
guix install emacs && guix install emacs-xwidgets
These two packages are conflict with each other, but I can't see any
warning message emitted(It should emit some because profile-derivation
use union-build).
I also suggest to raise an error when conflict detected during building
profile to force user to resolve it.
--
Retrieve my PGP public key: https://meta.sr.ht/~citreu.pgp
Zihao
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#44327
; Package
guix
.
(Fri, 30 Oct 2020 16:16:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 44327 <at> debbugs.gnu.org (full text, mbox):
Dear,
Thank you for the report.
On Fri, 30 Oct 2020 at 19:17, Zhu Zihao <all_but_last <at> 163.com> wrote:
> In commit ba60bbd4370570ff03a16c63af051be06f22658e. Try command
>
> guix install emacs && guix install emacs-xwidgets
I do not know if this is really a collision since it is sequential.
Well, I agree that a warning message should be displayed.
However, note that,
$ guix time-machine --commit=ba60bbd4 \
-- install emacs emacs-xwidgets -p /tmp/foo
$ guix time-machine --commit=ba60bbd4 \
-- install emacs-xwidgets emacs -p /tmp/bar
readlink -f /tmp/{foo,bar}/bin/emacs
/gnu/store/xy38cgnr21j2jsb5mnn9cf91d6q67as2-emacs-xwidgets-27.1/bin/emacs-27.1
/gnu/store/1zwmmfy1d213mrqixl36ckbzghkpqdmf-emacs-27.1/bin/emacs
which is a bug. AFAIU. Same with “guix package -i”.
> I also suggest to raise an error when conflict detected during building
> profile to force user to resolve it.
It should be already the case. :-)
All the best,
simon
Information forwarded
to
bug-guix <at> gnu.org
:
bug#44327
; Package
guix
.
(Fri, 30 Oct 2020 16:20:02 GMT)
Full text and
rfc822 format available.
Message #11 received at 44327 <at> debbugs.gnu.org (full text, mbox):
Hi,
Zhu Zihao <all_but_last <at> 163.com> skribis:
> In commit ba60bbd4370570ff03a16c63af051be06f22658e. Try command
>
> guix install emacs && guix install emacs-xwidgets
>
> These two packages are conflict with each other, but I can't see any
> warning message emitted(It should emit some because profile-derivation
> use union-build).
‘union-build’ emits a warning, but it’s only visible in build logs.
> I also suggest to raise an error when conflict detected during building
> profile to force user to resolve it.
Currently, ‘guix install’ errors out if you try to install two
same-named packages with a different version number or a different store
file name (typically via propagated inputs).
Here, ‘emacs’ and ‘emacs-xwidgets’ have different names, so it doesn’t
complain.
Perhaps we should offer a way to annotate packages as conflicting with
one another?
Thanks,
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#44327
; Package
guix
.
(Fri, 30 Oct 2020 16:31:01 GMT)
Full text and
rfc822 format available.
Message #14 received at 44327 <at> debbugs.gnu.org (full text, mbox):
On Fri, 30 Oct 2020 at 17:20, Ludovic Courtès <ludo <at> gnu.org> wrote:
> Currently, ‘guix install’ errors out if you try to install two
> same-named packages with a different version number or a different store
> file name (typically via propagated inputs).
>
> Here, ‘emacs’ and ‘emacs-xwidgets’ have different names, so it doesn’t
> complain.
>
> Perhaps we should offer a way to annotate packages as conflicting with
> one another?
Why? The solution seems to check the path names. Here, the 2
packages provide 'bin/emacs'; which is the conflict. However, this
could be implemented with care otherwise it will slow down.
I have not check 'union-build' but maybe it is already the case. :-)
All the best,
simon
Information forwarded
to
bug-guix <at> gnu.org
:
bug#44327
; Package
guix
.
(Sat, 31 Oct 2020 10:32:02 GMT)
Full text and
rfc822 format available.
Message #17 received at 44327 <at> debbugs.gnu.org (full text, mbox):
zimoun <zimon.toutoune <at> gmail.com> skribis:
> On Fri, 30 Oct 2020 at 17:20, Ludovic Courtès <ludo <at> gnu.org> wrote:
>
>> Currently, ‘guix install’ errors out if you try to install two
>> same-named packages with a different version number or a different store
>> file name (typically via propagated inputs).
>>
>> Here, ‘emacs’ and ‘emacs-xwidgets’ have different names, so it doesn’t
>> complain.
>>
>> Perhaps we should offer a way to annotate packages as conflicting with
>> one another?
>
> Why? The solution seems to check the path names. Here, the 2
> packages provide 'bin/emacs'; which is the conflict. However, this
> could be implemented with care otherwise it will slow down.
> I have not check 'union-build' but maybe it is already the case. :-)
Yes, ‘union-build’ already makes that check, but it happens too late: at
build time.
This is why back in the day we devised a specific collision detection
mechanism that looks at package names/version/store file names, and
which can run before anything has been built:
https://issues.guix.gnu.org/27271
Ludo’.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#44327
; Package
guix
.
(Wed, 04 Nov 2020 01:48:01 GMT)
Full text and
rfc822 format available.
Message #20 received at 44327 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
> > I also suggest to raise an error when conflict detected during building
> > profile to force user to resolve it.
> It should be already the case. :-)
IIRC the deafult collision handler of union-build is
warn-about-collision which doesn't terminate the build when collision
occured.
BTW, There's something called "priority" in Nix. The package with higher
priority in manifest will be able to override the package with lower one.
--
Retrieve my PGP public key: https://meta.sr.ht/~citreu.pgp
Zihao
[signature.asc (application/pgp-signature, inline)]
Information forwarded
to
bug-guix <at> gnu.org
:
bug#44327
; Package
guix
.
(Wed, 04 Nov 2020 17:16:03 GMT)
Full text and
rfc822 format available.
Message #23 received at 44327 <at> debbugs.gnu.org (full text, mbox):
Zhu Zihao <all_but_last <at> 163.com> skribis:
>> > I also suggest to raise an error when conflict detected during building
>> > profile to force user to resolve it.
>
>> It should be already the case. :-)
>
> IIRC the deafult collision handler of union-build is
> warn-about-collision which doesn't terminate the build when collision
> occured.
We’re talking about different things. Whatever happens during
‘union-build’ happens too late and won’t lead to user-friendly errors.
I was referring to the mechanism implemented a while back and submitted
here:
https://issues.guix.gnu.org/27271
> BTW, There's something called "priority" in Nix. The package with higher
> priority in manifest will be able to override the package with lower one.
My experience with it (from 8+ years ago, though) is that it was
inconvenient and not natural—as a user you don’t want to ask yourself
which package should have the highest priority, you just want to have
these things installed.
The approach we took is to error out, with a clear diagnostic, when Guix
knows beforehand that two packages cannot coexist in the same profile.
Thanks,
Ludo’.
Added tag(s) notabug.
Request was from
Ludovic Courtès <ludo <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Thu, 03 Dec 2020 17:14:02 GMT)
Full text and
rfc822 format available.
bug closed, send any further explanations to
44327 <at> debbugs.gnu.org and Zhu Zihao <all_but_last <at> 163.com>
Request was from
Ludovic Courtès <ludo <at> gnu.org>
to
control <at> debbugs.gnu.org
.
(Thu, 03 Dec 2020 17:14:02 GMT)
Full text and
rfc822 format available.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Fri, 01 Jan 2021 12:24:07 GMT)
Full text and
rfc822 format available.
This bug report was last modified 4 years and 173 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.