Subject: Re: bug#27308: [PATCH] gnu: gnutls: Replace with 3.5.13.

From: [email-masked] (Ludovic Courtès)
Date: Sun, 11 Jun 2017 15:57:57 +0200

Marius Bakke <[email-masked]> skribis:

> Marius Bakke <[email-masked]> writes:
>
>> I tested this graft on my profile, but apparently the grafting code
>> checks the store item length and refuses since the .13 is one byte
>> longer than .9:

[...]

> index 16df169ec..2b3b99cb1 100644
> --- a/guix/build/graft.scm
> +++ b/guix/build/graft.scm
> @@ -263,9 +263,9 @@ file name pairs."
>               (((= hash+rest (origin-hash origin-string))
>                 .
>                 (= hash+rest (replacement-hash replacement-string)))
> -              (unless (= (string-length origin-string)
> -                         (string-length replacement-string))
> -                (error "replacement length differs from the original length"
> +              (unless (<= (string-length origin-string)
> +                          (string-length replacement-string))
> +                (error "replacement length is shorter than the original length"

That won’t work.

The workaround is to use a version string with the right length, say
“3.5.A”.  It’s enough to allow users to distinguish it from the affected
version, so that’s okay IMO.

Ludo’.