all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Nikolai Merinov <nikolai.merinov@member.fsf.org>
To: Danny Milosavljevic <dannym@scratchpost.org>
Cc: 33066@debbugs.gnu.org
Subject: [bug#33066] [PATCHv3] gnu: rust: workaround rust 1.25-27 reproducibility issues
Date: Sun, 21 Oct 2018 12:28:04 +0500	[thread overview]
Message-ID: <87mur7sqrf.fsf@member.fsf.org> (raw)
In-Reply-To: <87sh11slfg.fsf_-_@member.fsf.org> (Nikolai Merinov's message of "Sat, 20 Oct 2018 01:58:43 +0500")

Hi,

Finally whole rust build chain 1.23-1.29 was built on my machine with next commands:
> guix pull --url=/path/to/guix-f9a8fce10/with/patches --commit=<commit-with-patches>
> for v in 1.2{3..9}; do echo guix build -K --rounds=2 rust@$v || break ; done
and all builds were reproducible.

Regards,
Nikolai

Nikolai Merinov <nikolai.merinov@member.fsf.org> writes:

> Hi,
>
> Sorry, ignore my previous mail. There was wrong patch
> export. Re-attached patches.
>
>
>
>
> Regards,
> Nikolai
>
> Nikolai Merinov <nikolai.merinov@member.fsf.org> writes:
>
>> Hi Danny,
>>
>> I fixed patches according to your comments. Also I updated rust 1.29.1
>> to 1.29.2 and fixed test issue in 1.27: as I mentioned before I tested
>> reproducibility of each package previously only in private my private
>> repo where I disabled `check` phase for 1.25 and 1.27. I have pretty
>> slow machine, but currently I already checked reproducibility with
>> suggested patches for 1.23-1.26 releases. 1.27-1.29 in progress.
>>
>> Both updated patches attached.
>>
>> Danny Milosavljevic <dannym@scratchpost.org> writes:
>>
>>> Hi Nikolai,
>>>
>>> On Tue, 16 Oct 2018 02:32:11 +0500
>>> Nikolai Merinov <nikolai.merinov@member.fsf.org> wrote:
>>>
>>>> * gnu/packages/patches/rust-mdbook-Support-reproducible-builds-by-forcing-window.search.patch:
>>>
>>> Nitpick: No big "S" (file names are easier to find if they are all lower case).
>>>
>> Fixed.
>>
>>>> patch that make "searchindex.js" reproducible in rust 1.27 and newer.
>>>
>>> "New file".
>> Fixed.
>>
>>>
>>>> * gnu/local.mk (dist_patch_DATA): Add new patch file.
>>>> * gnu/packages/rust.scm (rust-1.19): Use system libssh2 library
>>>
>>> Hmm, I'm not sure about doing this in the same commit.
>>> Is it also related to reproducibility?
>>
>> Looks like it should not, but still I started investigation with
>> non-reproducible "libssh2" and "libgit2" rust libraries I made libssh2
>> related changes at very beginning and never tested wihtout it. I not
>> sure that it's good idea to remove it now.
>>
>>>
>>>> during cargo build. Note: libgit2 still builded as part of cargo build,
>>>> because cargo tests assume specific libgit2 minor release.
>>>
>>> What does this mean?  Does it mean "bundled"?
>> Yes. Rust used bundled sources for "libgit2-sys" rust library (used by cargo).
>>
>>>
>>>> (rust-1.23): inherit native-inputs from previous package.
>>>
>>> Ok.
>>>
>>>> (rust-1.25): switch back to llvm 3.9.1 as workaround for
>>>> https://github.com/rust-lang/rust/issues/50556 issue.
>>>
>>> Please add the reasoning as a comment inside the source code instead.
>> Added comment for rust-1.25 package.
>>
>>>
>>>> (rust-1.27): apply patch to make "searchindex.js" files reproducible.
>>>
>>> Maybe add "[source]".
>> I repharase this comment and added source URL to patch file itself.
>>
>>>
>>>> -             (add-after 'configure 'enable-codegen-tests
>>>> -               (lambda _
>>>> -                 (substitute* "config.toml"
>>>> -                   (("codegen-tests = false") ""))
>>>> -                 #t))
>>>
>>> I think I had reproducibility problems when enabling codegen tests and
>>> parallel tests.  Is that not the case anymore?
>> Neither me nor Joe Hillenbrand in
>> https://lists.gnu.org/archive/html/guix-devel/2018-10/msg00292.html got
>> reproducibility issues with this tests.
>>>
>>>>               ;; FIXME: Re-enable this test if it's indeed supposed to work.
>>>>               ;; See <https://github.com/rust-lang/rust/issues/54178>.
>>>
>>> Note to myself: I think the issue comments indicate that the newer gdb output
>>> is better - so we should create a patch similar to
>>> rust-1.25-accept-more-detailed-gdb-lines.patch to accept the newer output.

  reply	other threads:[~2018-10-21  7:29 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-10-16 18:00 [bug#33066] [PATCH 0/2] Workaround rust reproducibility issues Nikolai Merinov
2018-10-15 21:32 ` [bug#33066] [PATCH 1/2] gnu: rust: workaround rust 1.25-27 " Nikolai Merinov
2018-10-17 11:14   ` Danny Milosavljevic
2018-10-19 19:44     ` Nikolai Merinov
2018-10-19 20:58       ` [bug#33066] [PATCHv3] " Nikolai Merinov
2018-10-21  7:28         ` Nikolai Merinov [this message]
2018-10-24 19:43           ` Danny Milosavljevic
2018-10-25  5:44           ` Danny Milosavljevic
2018-10-26 11:40             ` Nikolai Merinov
2018-10-26 16:12               ` Danny Milosavljevic
2021-02-05 15:00                 ` bug#33066: [PATCH 0/2] Workaround rust " Maxim Cournoyer
2018-10-15 21:37 ` [bug#33066] [PATCH 2/2] gnu: rust: add rust 1.28 and rust 1.29 packages Nikolai Merinov
2018-10-17 11:15   ` Danny Milosavljevic
2018-10-17 14:14   ` Joe Hillenbrand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87mur7sqrf.fsf@member.fsf.org \
    --to=nikolai.merinov@member.fsf.org \
    --cc=33066@debbugs.gnu.org \
    --cc=dannym@scratchpost.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.