unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
* bug#62071: openjdk@9/10 sources not reproducible
@ 2023-03-09  9:48 Lars-Dominik Braun
  2023-03-11 23:06 ` Björn Höfling
                   ` (2 more replies)
  0 siblings, 3 replies; 10+ messages in thread
From: Lars-Dominik Braun @ 2023-03-09  9:48 UTC (permalink / raw)
  To: 62071; +Cc: bjoern.hoefling

Hi,

it looks like the (auto-generated) tarballs for openjdk@9 and openjdk@10
changed their hash, causing a hash mismatch via

    guix build -S openjdk@9 --no-substitutes --no-grafts

I’m not sure why it uses these tarballs in the first place, since we
have a hg-download.

Lars





^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#62071: openjdk@9/10 sources not reproducible
  2023-03-09  9:48 bug#62071: openjdk@9/10 sources not reproducible Lars-Dominik Braun
@ 2023-03-11 23:06 ` Björn Höfling
  2023-03-12 21:00 ` Björn Höfling
  2023-03-16 12:37 ` Jonathan Brielmaier
  2 siblings, 0 replies; 10+ messages in thread
From: Björn Höfling @ 2023-03-11 23:06 UTC (permalink / raw)
  To: Lars-Dominik Braun; +Cc: 62071

[-- Attachment #1: Type: text/plain, Size: 625 bytes --]

On Thu, 9 Mar 2023 10:48:53 +0100
Lars-Dominik Braun <lars@6xq.net> wrote:

> Hi,
> 
> it looks like the (auto-generated) tarballs for openjdk@9 and
> openjdk@10 changed their hash, causing a hash mismatch via
> 
>     guix build -S openjdk@9 --no-substitutes --no-grafts
 

I can confirm this.

I found the old versions of openjdk 9 and 10 on a server of mine. I
will compare old/new tomorrow (oh, better say: later today).

> I’m not sure why it uses these tarballs in the first place, since we
> have a hg-download.

I don't know. Maybe there was no hg-download yet when we added OpenJDK9?

Björn

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#62071: openjdk@9/10 sources not reproducible
  2023-03-09  9:48 bug#62071: openjdk@9/10 sources not reproducible Lars-Dominik Braun
  2023-03-11 23:06 ` Björn Höfling
@ 2023-03-12 21:00 ` Björn Höfling
  2023-03-13 13:50   ` Simon Tournier
                     ` (2 more replies)
  2023-03-16 12:37 ` Jonathan Brielmaier
  2 siblings, 3 replies; 10+ messages in thread
From: Björn Höfling @ 2023-03-12 21:00 UTC (permalink / raw)
  To: Lars-Dominik Braun; +Cc: 62071

[-- Attachment #1: Type: text/plain, Size: 873 bytes --]

On Thu, 9 Mar 2023 10:48:53 +0100
Lars-Dominik Braun <lars@6xq.net> wrote:

> Hi,
> 
> it looks like the (auto-generated) tarballs for openjdk@9 and
> openjdk@10 changed their hash, causing a hash mismatch via
> 
>     guix build -S openjdk@9 --no-substitutes --no-grafts
> 
> I’m not sure why it uses these tarballs in the first place, since we
> have a hg-download.

I compared for JDK9 the two tarballs (old and new hash) and there is no
difference in the content (according to diffoscope). Also, if I
hg-clone the repository/tag (and add the .hg_archival.txt file), all
three directory trees have the same hash value according to guix hash
-rx

Thus, it seams like their artifacts are not stable, as we saw it
for autogenerated artifacts on github.

I will check the same for JDK10 and will prepare a patch within the
next two days.

Björn

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#62071: openjdk@9/10 sources not reproducible
  2023-03-12 21:00 ` Björn Höfling
@ 2023-03-13 13:50   ` Simon Tournier
  2023-03-16  9:12   ` Björn Höfling
  2023-03-16 11:48   ` Ludovic Courtès
  2 siblings, 0 replies; 10+ messages in thread
From: Simon Tournier @ 2023-03-13 13:50 UTC (permalink / raw)
  To: Björn Höfling, Lars-Dominik Braun; +Cc: 62071

Hi,

On dim., 12 mars 2023 at 22:00, Björn Höfling <bjoern.hoefling@bjoernhoefling.de> wrote:

> I compared for JDK9 the two tarballs (old and new hash) and there is no
> difference in the content (according to diffoscope). Also, if I
> hg-clone the repository/tag (and add the .hg_archival.txt file), all
> three directory trees have the same hash value according to guix hash
> -rx

So maybe it comes from some parameters of the compressor; maybe they
changed their level.  Well, I do not know how to check that.

Maybe the best is to switch from url-fetch to hg-fetch.  WDYT?

Cheers,
simon






^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#62071: openjdk@9/10 sources not reproducible
  2023-03-12 21:00 ` Björn Höfling
  2023-03-13 13:50   ` Simon Tournier
@ 2023-03-16  9:12   ` Björn Höfling
  2023-03-16 11:48   ` Ludovic Courtès
  2 siblings, 0 replies; 10+ messages in thread
From: Björn Höfling @ 2023-03-16  9:12 UTC (permalink / raw)
  To: Lars-Dominik Braun; +Cc: 62071-done

[-- Attachment #1: Type: text/plain, Size: 633 bytes --]

On Sun, 12 Mar 2023 22:00:21 +0100
Björn Höfling <bjoern.hoefling@bjoernhoefling.de> wrote:

> On Thu, 9 Mar 2023 10:48:53 +0100
> Lars-Dominik Braun <lars@6xq.net> wrote:
> 
> > Hi,
> > 
> > it looks like the (auto-generated) tarballs for openjdk@9 and
> > openjdk@10 changed their hash, causing a hash mismatch via
> > 
> >     guix build -S openjdk@9 --no-substitutes --no-grafts
> > 
> > I’m not sure why it uses these tarballs in the first place, since we
> > have a hg-download.  

Changed to hg-download in commit(s):

7636c49b45adb9870cf416c64bde032ec858a820

Thanks for pointing this out.

Björn

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#62071: openjdk@9/10 sources not reproducible
  2023-03-12 21:00 ` Björn Höfling
  2023-03-13 13:50   ` Simon Tournier
  2023-03-16  9:12   ` Björn Höfling
@ 2023-03-16 11:48   ` Ludovic Courtès
  2023-03-17 22:10     ` Björn Höfling
  2 siblings, 1 reply; 10+ messages in thread
From: Ludovic Courtès @ 2023-03-16 11:48 UTC (permalink / raw)
  To: Björn Höfling; +Cc: 62071, Lars-Dominik Braun

Hi Björn,

Björn Höfling <bjoern.hoefling@bjoernhoefling.de> skribis:

> I will check the same for JDK10 and will prepare a patch within the
> next two days.

Thanks for 7636c49b45adb9870cf416c64bde032ec858a820 and its parent
commit!

For the record, there are two remaining issues:

  1. Reproducibility of past revisions.  If we lose copies of the
     auto-generated tarballs, then OpenJDK in past revisions of Guix is
     irreparably lost.  We should check whether/how to get them in
     Disarchive + SWH.

  2. Mercurial/SWH bridge.  While SWH has a one-to-one mapping with Git
     (you can ask it for a specific Git commit ID), that’s not true for
     hg.  This is a more general problem, but as things are today,
     there’s no automatic SWH fallback if the upstream hg server
     vanishes.

Thanks,
Ludo’.




^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#62071: openjdk@9/10 sources not reproducible
  2023-03-09  9:48 bug#62071: openjdk@9/10 sources not reproducible Lars-Dominik Braun
  2023-03-11 23:06 ` Björn Höfling
  2023-03-12 21:00 ` Björn Höfling
@ 2023-03-16 12:37 ` Jonathan Brielmaier
  2 siblings, 0 replies; 10+ messages in thread
From: Jonathan Brielmaier @ 2023-03-16 12:37 UTC (permalink / raw)
  To: 62071

I’m not sure why it uses these tarballs in the first place, since we
have a hg-download.

-> I guess a reason could be that downloading via hg is quite slow.
Thats at least my impression when fetching the "comm" repository for
Thunderbird with mecurial. Tarballs and git checkout tend to be way
faster...




^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#62071: openjdk@9/10 sources not reproducible
  2023-03-16 11:48   ` Ludovic Courtès
@ 2023-03-17 22:10     ` Björn Höfling
  2023-03-20  9:08       ` Ludovic Courtès
  0 siblings, 1 reply; 10+ messages in thread
From: Björn Höfling @ 2023-03-17 22:10 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 62071, Lars-Dominik Braun

[-- Attachment #1: Type: text/plain, Size: 1721 bytes --]

On Thu, 16 Mar 2023 12:48:19 +0100
Ludovic Courtès <ludovic.courtes@inria.fr> wrote:

> Hi Björn,
> 
> Björn Höfling <bjoern.hoefling@bjoernhoefling.de> skribis:
> 
> > I will check the same for JDK10 and will prepare a patch within the
> > next two days.  
> 
> Thanks for 7636c49b45adb9870cf416c64bde032ec858a820 and its parent
> commit!
> 
> For the record, there are two remaining issues:
> 
>   1. Reproducibility of past revisions.  If we lose copies of the
>      auto-generated tarballs, then OpenJDK in past revisions of Guix
> is irreparably lost.  We should check whether/how to get them in
>      Disarchive + SWH.

How do we do that? Adding git repos to SWH is something I can achieve,
but adding tarballs to SWH was always opaque to me.

I find no reference in the manual about Disarchive. Ideally, is there a
linter for just adding a package to the disarchive database?

 
>   2. Mercurial/SWH bridge.  While SWH has a one-to-one mapping with
> Git (you can ask it for a specific Git commit ID), that’s not true for
>      hg.  This is a more general problem, but as things are today,
>      there’s no automatic SWH fallback if the upstream hg server
>      vanishes.

For git, I know and appreciate that the linter can directly add a
missing repo to SWH. During linting, I recogniced this is missing for
hg.

I was thinking a second time about it and found that not only the newer
development of OpenJDK is on GitHub, but also the older versions are
available. So I could add another patch like this: 

+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/openjdk/jdk9")

WDYT?

Björn

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#62071: openjdk@9/10 sources not reproducible
  2023-03-17 22:10     ` Björn Höfling
@ 2023-03-20  9:08       ` Ludovic Courtès
  2023-04-03 21:52         ` Simon Tournier
  0 siblings, 1 reply; 10+ messages in thread
From: Ludovic Courtès @ 2023-03-20  9:08 UTC (permalink / raw)
  To: Björn Höfling; +Cc: 62071, Lars-Dominik Braun

Hello,

Björn Höfling <bjoern.hoefling@bjoernhoefling.de> skribis:

> On Thu, 16 Mar 2023 12:48:19 +0100
> Ludovic Courtès <ludovic.courtes@inria.fr> wrote:
>
>> Hi Björn,
>> 
>> Björn Höfling <bjoern.hoefling@bjoernhoefling.de> skribis:
>> 
>> > I will check the same for JDK10 and will prepare a patch within the
>> > next two days.  
>> 
>> Thanks for 7636c49b45adb9870cf416c64bde032ec858a820 and its parent
>> commit!
>> 
>> For the record, there are two remaining issues:
>> 
>>   1. Reproducibility of past revisions.  If we lose copies of the
>>      auto-generated tarballs, then OpenJDK in past revisions of Guix
>> is irreparably lost.  We should check whether/how to get them in
>>      Disarchive + SWH.
>
> How do we do that? Adding git repos to SWH is something I can achieve,
> but adding tarballs to SWH was always opaque to me.
>
> I find no reference in the manual about Disarchive. Ideally, is there a
> linter for just adding a package to the disarchive database?

SWH periodically ingests the contents of tarballs (not tarballs
themselves) that appear in <https://guix.gnu.org/sources.json>.  We’d
need to check whether it has the contents of those tarballs.

Then <https://disarchive.guix.gnu.org> is populated by the CI job at
<https://ci.guix.gnu.org/jobset/disarchive>.

Are the openjdk 9 and 10 tarballs archived?

Let’s look at their origins as of commit
1e6ddceb8318d413745ca1c9d91fde01b1e0364b.  We can construct their
Disarchive URL by first converting their SHA256 to hex:

--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> ,use(guix base32)
scheme@(guile-user)> ,use(guix base16)
scheme@(guile-user)> (bytevector->base16-string (nix-base32-string->bytevector "01ihmyf7k5z17wbr7xig7y40l9f01d5zjgkcmawn1102hw5kchpq"))
$5 = "f842360b87028460b9aa6c3ef94b0bc0250a883f2ff693173fe197799caf3006"
--8<---------------cut here---------------end--------------->8---

That gives us:

  https://disarchive.guix.gnu.org/sha256/f842360b87028460b9aa6c3ef94b0bc0250a883f2ff693173fe197799caf3006
  https://disarchive.guix.gnu.org/sha256/249fd462bdd32571c6d0a45f3cb698a305c9e4e66b275d25e990ac0184c0dc7f

Both are 404.  But like I wrote, this is expected: they are bzip2
tarballs and Disarchive doesn’t support bzip2 (yet).

>>   2. Mercurial/SWH bridge.  While SWH has a one-to-one mapping with
>> Git (you can ask it for a specific Git commit ID), that’s not true for
>>      hg.  This is a more general problem, but as things are today,
>>      there’s no automatic SWH fallback if the upstream hg server
>>      vanishes.
>
> For git, I know and appreciate that the linter can directly add a
> missing repo to SWH. During linting, I recogniced this is missing for
> hg.
>
> I was thinking a second time about it and found that not only the newer
> development of OpenJDK is on GitHub, but also the older versions are
> available. So I could add another patch like this: 
>
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/openjdk/jdk9")
>
> WDYT?

That’s a good idea.  It shouldn’t change the SHA256 (if it does,
something’s wrong) so it looks like an no-brainer.

Thanks!

Ludo’.




^ permalink raw reply	[flat|nested] 10+ messages in thread

* bug#62071: openjdk@9/10 sources not reproducible
  2023-03-20  9:08       ` Ludovic Courtès
@ 2023-04-03 21:52         ` Simon Tournier
  0 siblings, 0 replies; 10+ messages in thread
From: Simon Tournier @ 2023-04-03 21:52 UTC (permalink / raw)
  To: Ludovic Courtès, Björn Höfling; +Cc: 62071, Lars-Dominik Braun

Hi,

On Mon, 20 Mar 2023 at 10:08, Ludovic Courtès <ludovic.courtes@inria.fr> wrote:

>> I was thinking a second time about it and found that not only the newer
>> development of OpenJDK is on GitHub, but also the older versions are
>> available. So I could add another patch like this: 
>>
>> +              (method git-fetch)
>> +              (uri (git-reference
>> +                    (url "https://github.com/openjdk/jdk9")
>
> That’s a good idea.  It shouldn’t change the SHA256 (if it does,
> something’s wrong) so it looks like an no-brainer.

Well, by experience, it is rare that the released tarball contain the
exact same content as the tagged commit.  If it is the case (same SHA256
for both tarball and GitHub tagged release), indeed no-brainer. :-)

Else, some work still remain for the complete preservation of Guix. ;-)

Björn, what is the status of this SHA256?

Cheers,
simon




^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2023-04-04 11:53 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-09  9:48 bug#62071: openjdk@9/10 sources not reproducible Lars-Dominik Braun
2023-03-11 23:06 ` Björn Höfling
2023-03-12 21:00 ` Björn Höfling
2023-03-13 13:50   ` Simon Tournier
2023-03-16  9:12   ` Björn Höfling
2023-03-16 11:48   ` Ludovic Courtès
2023-03-17 22:10     ` Björn Höfling
2023-03-20  9:08       ` Ludovic Courtès
2023-04-03 21:52         ` Simon Tournier
2023-03-16 12:37 ` Jonathan Brielmaier

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).