Sender | Message | Time |
---|---|---|
27 Mar 2025 | ||
* with the 25.05 release coming up, I'm fairly optimistic that we can have a reproducible minimal installation iso again: there's one fix in flight on staging (https://github.com/NixOS/nixpkgs/pull/384987) and one fix PRed to staging (https://github.com/NixOS/nixpkgs/pull/393724) | 13:48:42 | |
28 Mar 2025 | ||
Hello, good day everyone. Please am a new contributor and this is my first time on OpenSource. I am investigating arandr package and need guidance. For context: After running diffoscope for "arandr" non deterministic build, I noticed the issues is coming from 3 files. All related to manpage generation. The first files holds a record of arandr dist-info and the issue stem from the generation of different hash for two files: ../share/man/man1/arandr.1.gz and ../share/man/man1/unxarandr.1.gz. This two files also made up the remaining two files that's causing non deterministic build and the issues for both are the generation of different timestamp. For instance: original file => Thu Mar 27 04:19:55 2025 .check file => Wed Mar 19 12:48:04 2025 The goal here is to generate the .1.gz file without timestamp. While working on kitty (which by the way I didn't succeed as the package was bigger than me), about 50 files was having same manpage timestamp issue which after using SOURCE_DATA_EPOCH led to the generation of .html documentation files which cause non-deterministic build. So it won't work here. Since kitty package had similar issue and this arandr too, I believe resolving this might here reduce files after with non-deterministic build in the packages having issues (my opinion though). So my research online shows that when compressing file using Gzip, it stores timestamp and other metadata which causes it to generate different hash for the compressed files. Which the RECORD file is facing. I also noticed the use of docutils for document generation which can store timestamp and other metadata during compression. We need a way to tell the gzip to omit the timestamp. I also read about filename as part of it too. something about mtime=0 and the use of gzip -n. While researching the repo, I found the compression file and this line below supposed to append -n to ensure timestamp is omitted: '' wrapProgram $out/bin/gzip --add-flags "''${GZIP_NO_TIMESTAMPS:+-n}" ''; However, I don't know why it's still generating different timestamp during manpage generation. Please I need guidance because when I tried to do it on my own, I learnt a great lesson. Thanks everyone | 03:16:25 | |
Thanks for sharing your learnings so far! Have you identified yet where in the build process the manpages are gzipped? | 05:58:11 | |
I see in https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/ar/arandr/package.nix that it's building from a tarball. Do you get the same result when building from the gitlab sources? (I'm not at a pc right now so haven't looked inside yet) | 06:10:02 | |
Also it might be nice to add a comment on https://github.com/NixOS/nixpkgs/issues/383869 to announce you want to work on this | 06:24:49 | |
Hello everyone, I'm Emmanuel, an Outreachy participant interested in contributing to NixOS reproducible builds. I've gone through the contribution guidelines and have already made some initial contributions, which you can find here: https://github.com/ngi-nix/ngipkgs/issues?q=is:pr+author:3pleX-dev Now, I'm ready to start working on issues related to NixOS reproducible builds. However, I’m a bit confused. I noticed that all projects on the Outreachy page have similar contribution guides, and the initial contribution instructions led me to ngi-nixpkgs. Since all the "good first issue" contributions are under that repository, I’m not sure if those contributions will count towards this project. Could someone clarify this for me? Thanks! | 08:06:51 | |
In reply to @raboof:matrix.org Hello, thanks for your response! I have not built it from the gitlab source. I only built it following the recommended steps on the issue page. I will try and build from gitlab when I get home in the evening. I will go ahead and indicate my interest on the issue page. Thanks 🙏 | 08:50:04 | |
I don't know anything about Outreachy-specifics (is probably a question for Fernando Rodrigues) but I'd expect nixpkgs to be in scope :) | 12:39:45 | |
In reply to @raboof:matrix.orgOkay no worries, thank you. I’ve found the issues related to this project | 13:27:47 | |
In reply to @3plexdev:matrix.orgHi Emmanuel. It seems you have chosen the NGI project, which is different from the reproducible builds project. Please take a look at the reproducible builds project for specific instructions as to where to begin. | 13:35:20 | |
In reply to @3plexdev:matrix.org* | 13:35:33 | |
Yes I have seen this now, the docs in the outreachy site had me confused for a bit, I was initially trying to follow through step-by-step. The ngipkgs repo was also referenced for good first contributions under reproducible build section thank you so much for clarifying this Fernando Rodrigues | 14:04:45 | |
30 Mar 2025 | ||
15:35:55 | ||
31 Mar 2025 | ||
17:29:10 | ||
How do you deal with packages that are not reproducible on mac? Context: https://github.com/NixOS/nixpkgs/pull/394620 | 19:35:30 | |
Redacted or Malformed Event | 19:37:01 | |
1 Apr 2025 | ||
Hi Pol thank you for the feedback, I’ll look into this | 07:14:38 | |
Cool, let me know if I can help | 07:14:53 | |
13:56:49 | ||
13:57:31 | ||
13:59:03 |