gchristensen changed the topic of #nixos-dev to: NixOS Development (#nixos for questions) | https://hydra.nixos.org/jobset/nixos/trunk-combined https://channels.nix.gsc.io/graph.html | 18.09 release managers: vcunat and samueldr | https://logs.nix.samueldr.com/nixos-dev
jtojnar has quit [Quit: jtojnar]
jtojnar has joined #nixos-dev
drakonis has quit [Quit: WeeChat 2.3]
drakonis has joined #nixos-dev
phreedom_ has joined #nixos-dev
phreedom has quit [Remote host closed the connection]
jtojnar has quit [Quit: jtojnar]
phreedom has joined #nixos-dev
phreedom_ has quit [Ping timeout: 256 seconds]
<gchristensen> ominous:
<gchristensen> $ ./setup-pxe-node.sh
<gchristensen> You must set YES_I_KNOW_THIS_IS_EXPENSIVE=15 before
<gchristensen> running this script, because this script creates a server
<gchristensen> in the spot market for $ 15/hr.
<gchristensen> I like that safety
<simpson> Honest!
Synthetica has quit [Quit: Connection closed for inactivity]
orivej has quit [Ping timeout: 244 seconds]
layus has quit [Remote host closed the connection]
layus has joined #nixos-dev
drakonis has quit [Quit: WeeChat 2.3]
drakonis has joined #nixos-dev
pie___ has joined #nixos-dev
pie___ has quit [Remote host closed the connection]
pie___ has joined #nixos-dev
lassulus_ has joined #nixos-dev
lassulus has quit [Ping timeout: 250 seconds]
lassulus_ is now known as lassulus
pie__ has joined #nixos-dev
pie___ has quit [Remote host closed the connection]
jtojnar has joined #nixos-dev
sir_guy_carleton has quit [Quit: WeeChat 2.2]
init_6 has joined #nixos-dev
<aszlig> gchristensen: review done
init_6 has quit [Ping timeout: 250 seconds]
jtojnar has quit [Quit: jtojnar]
ckauhaus has joined #nixos-dev
<clever> gchristensen: any chance its based on netboot-server.nix? lol
init_6 has joined #nixos-dev
orivej has joined #nixos-dev
<gchristensen> clever: no, I didn't need anything close to that much -- I just needed to make a webserver
<clever> ah
<clever> guessing packet.net handles the dhcp and ipxe for you
<gchristensen> yea
<gchristensen> clever: https://gist.github.com/grahamc/1edaa922e87a930dbe85d5e6c1d5c933/revisions look at the most recent revision, they take care of DNS too
ixxie has joined #nixos-dev
<clever> gchristensen: does uuid.packethost.net work for all machines universally?
<gchristensen> its the "short" uuid: `uuidgen | cut -d- -f1` but yeah
<clever> ah, then youll want to keep the uuid of a machine a secret, if the ip should be a secret
<gchristensen> yeah
drakonis_ has joined #nixos-dev
drakonis has quit [Ping timeout: 250 seconds]
init_6 has quit []
drakonis_ has quit [Read error: Connection reset by peer]
ixxie has quit [Ping timeout: 240 seconds]
<LnL> niksnut: would you be ok with supporting delete for binary caches, given that liveness can't really be checked there?
<gchristensen> he's mentioned GCing the binary cache, so I think that would probably be okay
<LnL> I don't want to tackle full gc, but just deleting specific paths
<gchristensen> yeah, sure, but I think it is sort of an extension of deleting specific paths, yeah?
<gchristensen> actually: deleting specific paths is okay as long as anything which depends on that path is also deleted
<LnL> is it?
<gchristensen> it is considered an invariant that a given store (including a binary cache) contains the entire closure for everything in it
<LnL> for a local store sure, but a cache not necessarily
<gchristensen> I think Nix gets really unhappy if a cache is missing some of a closure
<LnL> don't think so
<LnL> if there's a narinfo but no nar with the content it freaks out
ixxie has joined #nixos-dev
<LnL> one usecase outside of what I'm doing is eg. resigning a nar
<LnL> that condition would 1. require a global lock 2. potentially remove half of my cache
<domenkozar> the problem is that builds can have non-binary determinstic output
<domenkozar> so if you'd reupload part of closure, things would mismatch
<domenkozar> but if you just delete parts, that should work
<LnL> I know, but how does that influence other nars in the cache?
<LnL> substituting from multiple caches would have the same problem if that was the case
<domenkozar> well it does have the problem :)
<domenkozar> as long as whole closure is there, it's fine
<LnL> hmm
<LnL> can you explain the problem?
<domenkozar> sure :)
<domenkozar> so narinfo signature contains closure hash list
<domenkozar> of all nars
<domenkozar> so if you build nar twice, you get different hash/size
<domenkozar> so if you delete it, you might get nar from another cache
<LnL> oh, that's not just the nar it points to?
<domenkozar> nah
<domenkozar> see references
<domenkozar> now I'm not sure when nix checks this, probably it doesn't do it locally and it's fine
<LnL> referances are store paths, that doesn't change if you reupload
<domenkozar> hmm actually nevermind, that should work
<domenkozar> references only contains hashes yeah :)
<LnL> atleast that's what I thought
<LnL> so references are: store path -> narinfo -> [store path]
<LnL> messing with the narinfo/nar in between might mess up caching, but the rest should be fine
<domenkozar> yes you're right :)
<LnL> also deleting part of a path will break nix-store -r <path> substitution since there's no way to rebuild what's missing, but that's not unreasonable
<domenkozar> if you only delete nars, in theory it could work
<domenkozar> but I've never tested that
<LnL> it falls back to building locally just fine, the narinfo cache just doesn't invalidate
pie__ has quit [Ping timeout: 250 seconds]
ixxie has quit [Ping timeout: 246 seconds]
ixxie has joined #nixos-dev
orivej has quit [Ping timeout: 240 seconds]
orivej has joined #nixos-dev
ixxie has quit [Ping timeout: 250 seconds]
phreedom has quit [Quit: No Ping reply in 180 seconds.]
phreedom has joined #nixos-dev
pie__ has joined #nixos-dev
<domenkozar> I'm a bit confused now
<domenkozar> platforms.linux does include aarch64-linux?
<LnL> why wouldn't it?
<domenkozar> kodi should be on this list
<domenkozar> could be there's evaluation error
<domenkozar> in job ‘nixpkgs.kodiPlain.aarch64-linux’:
<domenkozar> Package ‘oraclejre-8u191’ in /nix/store/3mnnncadb1p8nl4jj6yzdql2hza8wc6x-source/pkgs/development/compilers/oraclejdk/jdk-linux-base.nix:71 has an unfree license (‘unfree’), refusing to evaluate.
<domenkozar> ugh
<domenkozar> jre8 = if stdenv.isAarch32 || stdenv.isAarch64 then oraclejre8 else lib.setName "openjre-${lib.getVersion pkgs.openjdk8.jre}"
<domenkozar> meh
<gchristensen> no openjre for aarch64
<domenkozar> so kodi uses java to generate some code
<domenkozar> I wonder how they get around that for arm
phreedom_ has joined #nixos-dev
<domenkozar> hmm
phreedom has quit [Remote host closed the connection]
<samueldr> domenkozar: looks like it was andi- that tried to bootstrap the build in the past https://logs.nix.samueldr.com/nixos-aarch64/search?q=openjdk
<domenkozar> andi-: feel free to add stuff to https://github.com/NixOS/nixpkgs/issues/52263
<{^_^}> #52263 (by domenkozar, 16 seconds ago, open): Kodi: support aarch64
<andi-> domenkozar: I never escaped the attempts of bootstrapping a openjdk from sources of some kind.. I avoided binary bootstrap sources but even with those openjdk wouldn't easily compile
<domenkozar> it seems to be that we just use binary artifacts for linux anyway
<clever> ive noticed that the gcc bootstrap in nixpkgs, was itself made by nix
<clever> but the ghc bootstrap, isnt
<clever> and some of the ghc versions, are built by other ghc's, that are build by the bootstrap
<clever> so you have to build 2 or even 3 ghc's to get the one you want, starting from a blob that came from ousdide nix