From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42617) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gE8Ac-0006wT-3k for guix-patches@gnu.org; Sun, 21 Oct 2018 03:29:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gE8AY-0002Wp-3p for guix-patches@gnu.org; Sun, 21 Oct 2018 03:29:06 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:57717) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gE8AX-0002Wd-W4 for guix-patches@gnu.org; Sun, 21 Oct 2018 03:29:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gE8AX-0001ve-OL for guix-patches@gnu.org; Sun, 21 Oct 2018 03:29:01 -0400 Subject: [bug#33066] [PATCHv3] gnu: rust: workaround rust 1.25-27 reproducibility issues Resent-Message-ID: From: Nikolai Merinov References: <877eihu5hx.fsf@member.fsf.org> <875zy1u5ec.fsf@member.fsf.org> <20181017131406.01c3b011@scratchpost.org> <87y3atsouq.fsf@member.fsf.org> <87sh11slfg.fsf_-_@member.fsf.org> Date: Sun, 21 Oct 2018 12:28:04 +0500 In-Reply-To: <87sh11slfg.fsf_-_@member.fsf.org> (Nikolai Merinov's message of "Sat, 20 Oct 2018 01:58:43 +0500") Message-ID: <87mur7sqrf.fsf@member.fsf.org> MIME-Version: 1.0 Content-Type: text/plain List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: Danny Milosavljevic Cc: 33066@debbugs.gnu.org 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= > 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 writes: > Hi, > > Sorry, ignore my previous mail. There was wrong patch > export. Re-attached patches. > > > > > Regards, > Nikolai > > Nikolai Merinov 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 writes: >> >>> Hi Nikolai, >>> >>> On Tue, 16 Oct 2018 02:32:11 +0500 >>> Nikolai Merinov 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 . >>> >>> 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.