| 30 Jul 2022 |
@elvishjerricco:matrix.org | yea. that does mean that we can't use it for cross stuff like this though... Which, wait, doesn't make sense. Because we do use patchelf in fixup phase and whatnot when cross building | 18:52:07 |
K900 | I'm pretty sure it's a cross patchelf | 18:52:18 |
@elvishjerricco:matrix.org | let me check... | 18:52:25 |
K900 | Either that or no one actually cares about BE architectures | 18:52:32 |
K900 | Both are possible | 18:52:36 |
@janne.hess:helsinki-systems.de | In reply to @elvishjerricco:matrix.org It would surprise me if patchelf even had any cross-dependent behavior You can ask @Mic92 about that, he started maintaining that | 18:52:44 |
K900 | Oh actually wait | 18:53:16 |
K900 | It does have some endianness checks | 18:53:22 |
@elvishjerricco:matrix.org | $ nix build --no-link --json nixpkgs#patchelf
[{"drvPath":"/nix/store/kshhm1fpfdv5a1qkd7sf18plxh7ddlg4-patchelf-0.14.5.drv","outputs":{"out":"/nix/store/96q22iw1i2m960x9y3v6fsj55691pzdl-patchelf-0.14.5"}}]
$ nix build --no-link --json nixpkgs#pkgsCross.aarch64-multiplatform.buildPackages.patchelf
[{"drvPath":"/nix/store/kshhm1fpfdv5a1qkd7sf18plxh7ddlg4-patchelf-0.14.5.drv","outputs":{"out":"/nix/store/96q22iw1i2m960x9y3v6fsj55691pzdl-patchelf-0.14.5"}}]
| 18:53:27 |
@elvishjerricco:matrix.org | Looks the same to me | 18:53:33 |
K900 | Yeah OK it's doing very cursed things | 18:53:39 |
K900 | https://github.com/NixOS/patchelf/blob/master/src/patchelf.cc#L239 | 18:53:40 |
@linus:schreibt.jetzt | In reply to @janne.hess:helsinki-systems.de Who updates them? r-ryantm once we've added an update script that runs cargo update | 18:54:05 |
K900 | This is freaking scary | 18:55:14 |
K900 | It's basically just bytemucking all the values in-place at read time | 18:55:32 |
K900 | RIIR patchelf when | 18:55:47 |
@janne.hess:helsinki-systems.de | Mic92: do you have more insight on that? | 18:55:55 |
@elvishjerricco:matrix.org | In reply to @k900:0upti.me RIIR patchelf when If we did that we wouldn't need goblin :P | 18:56:46 |
K900 | I mean if I were to attempt it, goblin is what I'd build off of | 18:56:58 |
@elvishjerricco:matrix.org | Anyway, the point stands that we don't need to add deps if we're willing to use patchelf instead of ldd to detect dynamic libs | 18:58:06 |
@elvishjerricco:matrix.org | but that comes at the cost of it being... maybe a lil wonky. And we'd lose the justification for using json for the input | 18:58:26 |
K900 | Actually kinda hot take | 18:58:44 |
K900 | We might just want to extract make-initrd-ng into its own repo | 18:59:02 |
K900 | So we could have dependabot and CI and all the other good stuff | 18:59:12 |
K900 | Maybe not right now but in a few months when it's more mature | 18:59:29 |
@elvishjerricco:matrix.org | That's not crazy. I mean patchelf is another repo, right? | 18:59:31 |
@linus:schreibt.jetzt | yeah that take is lukewarm at best :p | 18:59:46 |
@elvishjerricco:matrix.org | Shoot I don't even see a reason not to do it immediately | 19:00:21 |
K900 | I actually don't think doing it now is a great idea because there will probably be one-liner fixes and having to do the whole release dance is awkard | 19:00:28 |
@linus:schreibt.jetzt | idk, having it in nixpkgs has its advantages too | 19:00:31 |