Hi Ludo,

>> Unfortunately, when there are several packages with identical name and
>> version number in two channels, Guix silently chooses one of them.
>> It would probably be more useful to emit a warning.
>
> I believe that’s already the case.

We already had some discussion, the conclusion being that there are
indeed tests for equal and for "higher" version, but that these tests do
not always correspond to the intention of "choosing the newest version".

In particular, Guix uses version *strings* rather than version
*numbers*, with alphabetical ordering for the non-numerical parts of
these strings. In the common case of version strings containing git
commit hashes, alphabetical order does not correspond to "newest
version". So you can consider yourself safe when working on the most
recent commit of a package, and yet end up building a older but
alphabetically higher version from another channel.

Andreas pointed out that this is the reason for adding a manually
curated revision number before such hashes. But there is no coordination
mechanism for such revision number across channels.

Vagrant suggested deriving a version number from the commit history
using "git describe". That sounds like a good solution, but it's not
used in Guix as far as I can tell.

Cheers,
  Konrad.

Reply via email to