!LemuOOvbWqRXodtSsw:nixos.org

NixOS Reproducible Builds

481 Members
Report: https://reproducible.nixos.org Project progress: https://github.com/orgs/NixOS/projects/30106 Servers

Load older messages


SenderMessageTime
9 Mar 2024
@jucax:matrix.orgjucax joined the room.05:37:54
10 Mar 2024
@mozare:matrix.orgmozare joined the room.03:45:08
11 Mar 2024
@artemist:mildlyfunctional.gayartemist joined the room.22:55:31
13 Mar 2024
@sky1e:mildlyfunctional.gaysky1e joined the room.02:46:18
14 Mar 2024
@federicodschonborn:matrix.org@federicodschonborn:matrix.org left the room.02:03:34
@lotte:chir.rs@lotte:chir.rs changed their display name from Charlotte 🦝 (it/rac/racs/racself/🦝/plush) to Charlotte 🦝 (it/its).10:58:48
@mjolnir:nixos.orgNixOS Moderation Botchanged room power levels.18:44:40
@GLaDTheresCake:matrix.orgLillian (GLaDTheresCake She/Her) joined the room.22:56:57
15 Mar 2024
@davelester:matrix.orgDave Lester joined the room.23:34:23
@grahamc:nixos.org@grahamc:nixos.org joined the room.23:59:32
16 Mar 2024
@jee_mj:matrix.orgmj joined the room.14:00:22
@tomasajt:matrix.orgToma

I have previously done some work on making java builds reproducible (I posted some of it in this channel) and I tried my hand at it again.
I'm looking for some feedback about the following:

Should java .jar archives be made deterministic using existing methods inside the build tools, which differ tool-by-tool?
or
Should there be one generic setup-hook, which rewrites the archives timestamps after it was built?

I have done some progress on both ways (former, latter), but I don't know which should be the one I continue working on.

The latter solution seems a bit cheat-y for me, as almost all build systems for Java have a way for reproducibility, however this method doesn't use any of those ways, but works on all build systems.
One of my concerns about this is that rewriting files inside an archive is not too transparent, so we'd need to make sure no malicious code gets included in the tool.

The former solution has its own merits, however it requires more work to implement.

23:10:13
@tomasajt:matrix.orgToma *

I have previously done some work on making java builds reproducible (I posted some of it in this channel) and I tried my hand at it again.
I'm looking for some feedback about the following:

Should java .jar archives be made deterministic using existing methods inside the build tools, which differ tool-by-tool?
or
Should there be one generic setup-hook, which rewrites the .jar archives' timestamps after it was built?

I have done some progress on both ways (former, latter), but I don't know which should be the one I continue working on.

The latter solution seems a bit cheat-y for me, as almost all build systems for Java have a way for reproducibility, however this method doesn't use any of those ways, but works on all build systems.
One of my concerns about this is that rewriting files inside an archive is not too transparent, so we'd need to make sure no malicious code gets included in the tool.

The former solution has its own merits, however it requires more work to implement.

23:10:44
@rnhmjoj:maxwell.ydns.eurnhmjoj

Isn't a fixupPhase like this enough?

find "$out" -name '*.jar' | xargs strip-nondeterminism

I only ever packaged a single java application, but this worked all right in my case

23:18:57
@rnhmjoj:maxwell.ydns.eurnhmjojI don't think it's hack23:19:46
@atemu12:matrix.orgatemu12 Toma: I'd honestly say both. 23:21:14
@atemu12:matrix.orgatemu12Though I'd start with the "hack"23:21:22
@atemu12:matrix.orgatemu12The cleaner method is "better" but the hack is probably universal23:21:52
@tomasajt:matrix.orgToma
In reply to @rnhmjoj:maxwell.ydns.eu

Isn't a fixupPhase like this enough?

find "$out" -name '*.jar' | xargs strip-nondeterminism

I only ever packaged a single java application, but this worked all right in my case

Good to know that this exists... I'll test it out
23:29:05
@tomasajt:matrix.orgToma Holy... this is so much better than anything I could come up with, it even has .properties patching. I'm a bit sad that I didn't hear about this earlier... 23:39:49
@rnhmjoj:maxwell.ydns.eurnhmjojI don't remember where I found it, probably from reproducible-builds.org23:44:02
17 Mar 2024
@tomasajt:matrix.orgTomaI finally got a PR together for this: https://github.com/NixOS/nixpkgs/pull/29654901:18:25
@atemu12:matrix.orgatemu12 Toma: Probably needs to go to staging? 01:23:28
@tomasajt:matrix.orgTomaI don't actually know, but I'm pretty sure the rebuild count is <100, as almost all consumers were leaf packages01:25:29
18 Mar 2024
@darkwater4213:matrix.org@darkwater4213:matrix.org joined the room.00:31:57
19 Mar 2024
@mjolnir:nixos.orgNixOS Moderation Botchanged room power levels.00:30:08
@arcayr:rascals.net@arcayr:rascals.net joined the room.12:46:23
@admin:nixos.org@admin:nixos.org joined the room.15:55:05
@admin:nixos.org@admin:nixos.org set the room name to "NixOS Reproducible Builds".15:55:22
@admin:nixos.org@admin:nixos.org left the room.15:55:28

Show newer messages


Back to Room ListRoom Version: 6