worldofpeace changed the topic of #nixos-dev to: NixOS Development (#nixos for questions) | NixOS 20.09 Nightingale ✨ https://discourse.nixos.org/t/nixos-20-09-release/9668 | https://hydra.nixos.org/jobset/nixos/trunk-combined https://channels.nix.gsc.io/graph.html | https://r13y.com | 20.09 RMs: worldofpeace, jonringer | https://logs.nix.samueldr.com/nixos-dev
supersandro2000 has quit [Disconnected by services]
supersandro20006 has joined #nixos-dev
<rmcgibbo[m]> FYI: I am part-way through creating a github action that runs nixpkgs-hammering.
<cole-h> Promising so far... https://i.imgur.com/zLa9mK6.png on "new" PR, https://i.imgur.com/7aJmmTZ.png on "old" PR
<cole-h> gchristensen: ^
<gchristensen> nice!
<gchristensen> yay!
<puck> samueldr: i'd really like to somehow be able to configure the /bin/sh used inside a specific derivation, instead of having it be provided ambiently, tbh :p
<samueldr> I'd like it to be a property of the derivation itself
<puck> yeah
<samueldr> in a play thing I was doing I had to "root" all my derivations with a custom "mkDerivation" that initially looks at /bin/sh and fails if it exists
<samueldr> since that ambient impurity is not part of the hash
<puck> yeah
<samueldr> even though it can be disabled at the CLI!
<puck> it's a really interesting impurity
<puck> oh, wait, is it not privileged?
<samueldr> maybe my user is privileged
<puck> pretty sure sandbox paths is privileged to configure :p
<samueldr> trustedUsers contains @wheel
<samueldr> and I'm feeling wheely great
<samueldr> but still, the fact that a busybox bug could make reproducibility fail arbitrarily is not great
<samueldr> or of our packaging of busybox
<puck> yeah
<cole-h> gchristensen: https://i.imgur.com/v4EgupQ.png Works! Confirming boot deploy now :)
<gchristensen> woo!
<gchristensen> nice to make it clear that it is a community effort and not a one person team, thank you so much cole-h
<puck> samueldr: i'm unsure as to why the /bin/sh stuff would leak, but having control over it would be very nice; i'll provide my own shell where necessary, tyvm etc etc :p
<cole-h> And with that, ofborg redeploy is finished!
<puck> samueldr: "would leak" as in cause the wrong shell to happen (i guess busybox sh has different behavior execing into non-runnable shebang scripts?)
<cole-h> gchristensen++
<{^_^}> gchristensen's karma got increased to 432
<samueldr> puck: in my "just for fun" thing I was trying to see how hard it would be to start without any sh-like shell
<samueldr> ah, I see what you mean
<samueldr> I need the gnu libc exec man page stat!
<{^_^}> nix#4358 (by puckipedia, 11 weeks ago, closed): Change builder argv[0] to full path, instead of only basename
<samueldr> >> If the header of a file isn't recognized (the attempted execve(2) failed with the error ENOEXEC), these functions will execute the shell (/bin/sh) with the path of the file as its first argument. (If this attempt fails, no further searching is done.)
<puck> ahahah. and ENOEXEC is what responds if the shebang is of wrong arch
<samueldr> so if #!/.../armv7l-bash/bin/sh fails to exec
<samueldr> that'll /bin/sh !
<puck> hahahah
<samueldr> wicked, right?
<puck> that was basically what i guessed indeed :p
<samueldr> just like the time perl scripts were ran through /bin/sh because the kernel refused to read our shebangs
<rmcgibbo[m]> iiuc the kernel limits on shebang length are ridiculously short.
<puck> samueldr: so i actually have a small experiment where i compile a shell without /bin/sh
<samueldr> rmcgibbo[m]: no
<rmcgibbo[m]> 256 chars is not enough for everyone
<samueldr> :)
<samueldr> they are pretty accepting, but they broke userland accidentally
<gchristensen> luckily modern programming environments like Perl work around it
<samueldr> the issue is that instead of continuing on with a truncated shebang, it failed if it had to truncate
<puck> samueldr: i took a pre-generated mksh, looked at its build script, and wrote a small Nix script that builds a derivation that builds the entirety in a few commands, abusing builtins.placeholder to output the .o files into the store, and linking it into a binary
<samueldr> puck: my sh-free "fun" play thing starts with execline
<puck> samueldr: right, but how do you get execline into your env? :p
<samueldr> that was something to be solved, but I was actually thinking of doing it like you said
<rmcgibbo[m]> "128 bytes should be enough for everyone" i guess
<samueldr> I was setting my starting point as "to be solved: bootstrap this small binary seed"
<samueldr> which consists IIRC in only toybox+execline
<samueldr> oh, and tcc
<puck> tcc is tricky to bootstrap anything modern tbh
<samueldr> I wasn't actually trying to bootstrap a full linux, just playing around :)
<puck> i got a subset of musl to compile with it though, probably enough to get an older gcc up
<puck> but then just went and grabbed a compiler from musl.cc and patched its specfile to work under the nix env
<puck> still need lots of shell to be able to configure stuff though :(
<puck> sadly non-GNU make is basically impossible to build anything with that you need for a decent Linux system
<samueldr> yeah
<samueldr> similar method for heirloom-sh
<samueldr> again, I wasn't doing this with the intent of making it actually useful
<puck> oh i totally am lmao
<samueldr> it was interesting for the few days I played around, to see how hard some parts are
<samueldr> in the end I got a lua interpreter (without readline) building
bennofs_ has joined #nixos-dev
<puck> heh
jonringer has joined #nixos-dev
jonringer has quit [Remote host closed the connection]
jonringer has joined #nixos-dev
bennofs__ has quit [Ping timeout: 264 seconds]
XgF has joined #nixos-dev
jonringer has quit [Remote host closed the connection]
lopsided98 has quit [Quit: Disconnected]
janneke has quit [Quit: janneke quits Mes'sing]
janneke has joined #nixos-dev
lopsided98 has joined #nixos-dev
rajivr has joined #nixos-dev
<rmcgibbo[m]> Here's an example of nixpkgs-hammering run from a github actions reporting its results using the Checks API: https://github.com/rmcgibbo/nixpkgs-hammering-action-example/pull/2/files
<rmcgibbo[m]> And https://github.com/rmcgibbo/nixpkgs-hammering-action-example/runs/1996792971 is the other page that's visible.
<abathur> nice
<rmcgibbo[m]> I think I prefer the look of the "Reviews" feature on github to this, but I suppose this is better than the status quo.
orivej has quit [Ping timeout: 265 seconds]
BaughnLogBot has quit [Ping timeout: 276 seconds]
BaughnLogBot has joined #nixos-dev
jonringer has joined #nixos-dev
cole-h has quit [Ping timeout: 265 seconds]
<siraben> Is there nix-index with flakes support?
jonringer has quit [Ping timeout: 264 seconds]
supersandro20006 is now known as supersandro2000
orivej has joined #nixos-dev
<sterni> rmcgibbo[m]: can you hide thoes annotations if you are the person who opened the PR?
<sterni> rmcgibbo[m]: but I think it's nice that it's explicit that it's an action
__monty__ has joined #nixos-dev
srk has quit [Remote host closed the connection]
srk has joined #nixos-dev
<siraben> puck: tcc is being used to bootstrap gcc
sphalerite has quit [Quit: updates!]
<siraben> samueldr: I was wondering how to get the most minimal stdenv needed below stdenvNoCC
<puck> siraben: yeah, i know; i have some plans for something similar (but i also have urges to NIH everything)
sphalerite has joined #nixos-dev
<siraben> bash etc are unnecessary but I can't remove them
<puck> yes
<puck> i don't know if you can get less in nixpkgs specifically?
<siraben> also clutters the build graph making it harder to see
<{^_^}> onetrueawk/awk#74 (by Ypnose, 1 year ago, closed): New release
<siraben> what kind of response is "We don't do releases. Anyone wanting the code should simply clone the repo and run make. Preferably, they should also run the tests as described in the README.md file. Closing this issue."
* puck shrugs
<puck> the main branch should be functional always either way :p
<siraben> without releases we're left to guess when incompatible changes arise
<puck> it's an awk
<puck> and there is a new maintainer anyways since recently
<siraben> sure but so is GNU awk and they have releases
<siraben> we'll just do unstable-2021-02-15 then
<siraben> they don't even have CI
<sterni> siraben: luckily we have a checkPhase
<V> <rmcgibbo[m]> And https://github.com/rmcgibbo/nixpkgs-hammering-action-example/runs/1996792971 is the other page that's visible. ← wow, I really like this! does this add inline review annotations to code as well? or is it just on the other page
<V> oh, looks like it does add inline reviews
<V> this is cool
<siraben> sterni: so I should add tests?
<siraben> if only upstream were more cooperating
<sterni> siraben: well upstream has them right https://github.com/onetrueawk/awk/tree/master/testdir
endocrimes_ is now known as endocrimes
evils has quit [Ping timeout: 276 seconds]
orivej has quit [Ping timeout: 245 seconds]
tv has quit [Read error: Connection reset by peer]
tv has joined #nixos-dev
supersandro2000 has quit [Read error: Connection reset by peer]
supersandro2000 has joined #nixos-dev
cole-h has joined #nixos-dev
supersandro2000 has quit [Read error: Connection reset by peer]
supersandro2000 has joined #nixos-dev
supersandro2000 has quit [Read error: Connection reset by peer]
supersandro2000 has joined #nixos-dev
cole-h has quit [Ping timeout: 260 seconds]
BaughnLogBot has quit [Ping timeout: 264 seconds]
supersandro2000 has quit [Quit: The Lounge - https://thelounge.chat]
BaughnLogBot has joined #nixos-dev
supersandro2000 has joined #nixos-dev
BaughnLogBot has quit [Read error: Connection reset by peer]
BaughnLogBot has joined #nixos-dev
orivej has joined #nixos-dev
jonringer has joined #nixos-dev
<rmcgibbo[m]> V: It adds these inline "annotations", they're not exactly the same as reviews.
<V> seems preferable. less obnoxious
<rmcgibbo[m]> They do show up on the "Files changed" tab, but unlike a "Review" they don't show up in the main thread of comments and they can't be responded to, yeah.
<rmcgibbo[m]> V: Anyways, here's the integration issue I guess: https://github.com/NixOS/ofborg/issues/552. I'm not sure what the next steps would be, but at this point they seem more organizational that technical?
<{^_^}> ofborg#552 (by cole-h, 1 day ago, open): Investigate integration of nixpkgs-hammering
rmcgibbo has joined #nixos-dev
rmcgibbo has left #nixos-dev [#nixos-dev]
julm has joined #nixos-dev
<samueldr> siraben: you may need to do a nix derivation, as in a barebones derivation, and add wha you want in, but it will come with absolutely no bell nor any whistle
<samueldr> (maybe there is a more barebones derivation in Nixpkgs, but I don't know)
supersandro2000 has quit [Quit: The Lounge - https://thelounge.chat]
supersandro2000 has joined #nixos-dev
supersandro2000 has quit [Ping timeout: 245 seconds]
rajivr has quit [Quit: Connection closed for inactivity]
<siraben> samueldr: oof hmm
<siraben> time to read the definition of mkDerivation
<samueldr> maybe from mkDerivation to derivation you'll find some other more basic building blocks :) if you do, you can share your discoveries :)
supersandro2000 has joined #nixos-dev
orivej has quit [Ping timeout: 240 seconds]
BaughnLogBot has quit [Ping timeout: 240 seconds]
BaughnLogBot has joined #nixos-dev
supersandro2000 has quit [Ping timeout: 245 seconds]
supersandro2000 has joined #nixos-dev
Jackneill has quit [Read error: Connection reset by peer]
jpo_ is now known as jpo
<rmcgibbo[m]> Ugh. r-rmcgibbo is getting all kinds of junk from the github API. urllib.error.HTTPError: HTTP Error 502: Bad Gateway? c'mon.
mkaito has joined #nixos-dev
mkaito has quit [Changing host]
mkaito has joined #nixos-dev
mkaito has quit [Client Quit]
mkaito has joined #nixos-dev
mkaito has joined #nixos-dev
mkaito has quit [Changing host]
supersandro2000 has quit [Quit: The Lounge - https://thelounge.chat]
<Mic92> I am talking about: heroku-miraheze
<Mic92> he keeps trolling pull requests
<Mic92> ok. I blocked him from nix-community
<gchristensen> I agree we should block in the NixOS org, I've messaged some other people with that access to look for agreement
BaughnLogBot is now known as Baughn
orivej has joined #nixos-dev
cole-h has joined #nixos-dev
<sterni> imagine we could do a hydra eval for every build
<sterni> *pr
__monty__ has quit [Quit: leaving]
copumpkin has quit [Quit: Hmmm]
Baughn has quit [Ping timeout: 264 seconds]
BaughnLogBot has joined #nixos-dev
evils has joined #nixos-dev
copumpkin has joined #nixos-dev
BaughnLogBot has quit [Ping timeout: 264 seconds]
BaughnLogBot has joined #nixos-dev
<gchristensen> sterni: that was the origin story of ofborg