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
pie___ has joined #nixos-dev
pie__ has quit [Remote host closed the connection]
aszlig has quit [Quit: Kerneling down for reboot NOW.]
aszlig has joined #nixos-dev
ottidmes has quit [Quit: WeeChat 2.2]
Synthetica has quit [Quit: Connection closed for inactivity]
jtojnar has quit [Quit: jtojnar]
pie__ has joined #nixos-dev
pie___ has quit [Remote host closed the connection]
orivej has quit [Ping timeout: 244 seconds]
Taneb has quit [Quit: I seem to have stopped.]
lassulus_ has joined #nixos-dev
lassulus has quit [Ping timeout: 240 seconds]
lassulus_ is now known as lassulus
worldofpeace has joined #nixos-dev
worldofpeace has quit [Ping timeout: 250 seconds]
worldofpeace has joined #nixos-dev
worldofpeace has quit [Remote host closed the connection]
sir_guy_carleton has quit [Ping timeout: 268 seconds]
orivej has joined #nixos-dev
__Sander__ has joined #nixos-dev
<domenkozar> does --builders work with ssh password prompts?
<domenkozar> I'm getting unexpected end-of-file
<domenkozar> while ping-store works
<domenkozar> $ nix build --builders ssh-ng://hercules-builder
<domenkozar> cannot build on 'ssh-ng://hercules-builder': cannot open connection to remote store 'ssh-ng://hercules-builder': unexpected end-of-file
orivej has quit [Ping timeout: 245 seconds]
orivej has joined #nixos-dev
orivej has quit [Ping timeout: 268 seconds]
orivej has joined #nixos-dev
orivej has quit [Ping timeout: 246 seconds]
<Mic92> Ericson2314: you were working on meson's cross-compiling support?
orivej has joined #nixos-dev
<gchristensen> domenkozar: no, because there is no way for the daemon to pass the prompt to the user
<LnL> domenkozar: builders go through the daemon so they can't be interactive
<LnL> nix build --store ssh-ng://builder does work I think
<LnL> but with that the results stay on the remote side
<domenkozar> ah ok :)
<domenkozar> maybe we could say so on unexpected end of input?
<domenkozar> hmm even with passwordless ssh login it fails the same way
<domenkozar> and host is accepted
<domenkozar> ssh-ng should work with ~/ssh/config right?
<srhb> domenkozar: if ~ = ~root if you're going through the daemon, I assume
<domenkozar> ha
<domenkozar> yeah that works, thanks :)
<domenkozar> literally multi user :P
<srhb> Remote building + daemon is very confusing :)
<edef> gchristensen: any particular reason for that?
<domenkozar> I've opted just to substitute via ssh
<edef> gchristensen: i just noticed it when looking at the result of a check
<domenkozar> but now I get warnings for untrusted store
<domenkozar> untrusted signatures*
<domenkozar> I probably need to sign them first
<domenkozar> oh man this is why I wrote cachix, I forget sometimes :)
<gchristensen> edef I want result_to_check to be a pure function and haven't done the work to have builders report the completion date, and I guess didn't consider passing the date in to result_to_check :P
<gchristensen> edef: want to send a PR doing that second option?
<edef> yeah
<gchristensen> great!
<gchristensen> also #nixos-borg
pie___ has joined #nixos-dev
pie__ has quit [Remote host closed the connection]
<{^_^}> nixos-weekly#72 (by domenkozar, 5 days ago, open): Call for Content: 2018/14
<domenkozar> weekly reminder that it's time to publish those blog posts :)
<gchristensen> <3 domenkozar for doing the good work
<qyliss^work> domenkozar++
<{^_^}> domenkozar's karma got increased to 13
<ekleog> zimbatm: given niksnut gave his +1 on IRC I guess the FCP has technically started and should be announced in weekly… or maybe we should wait for an official comment on the PR so that the fact the RFC process has been followed is explicit and shown as example?
<domenkozar> :)
<domenkozar> I wonder how to improve call for content
<domenkozar> right now I make sure there's a PR always open
<domenkozar> and do a weekly ping
<zimbatm> ekleog: +1 for adding it to nixos-weekly
qyliss has quit [Quit: bye]
qyliss has joined #nixos-dev
v0|d has quit [Remote host closed the connection]
Cale has joined #nixos-dev
<vdemeester> Mic92: I'm guessing you may already be on it, but https://www.irccloud.com/pastebin/xVPVVjiw/ there is a problem with this commit for several packages (rebasing https://github.com/NixOS/nixpkgs/pull/51627 on top of master breaks it)
<{^_^}> #51627 (by vdemeester, 3 days ago, open): podman: init at 0.11.1.1
<Mic92> vdemeester: I cannot really fix packages not yet in master that override buildPhase
<vdemeester> Mic92: hum, right :) so there is something additionnal to do in `buildPhase` for it to work ? (in this PR case)
<Ericson2314> Mic92 yeah
<Ericson2314> Deduplicating a bunch of stuff for consistency
<Ericson2314> And then trying to add "phase shifted" subprojects and multiple host and target
<Ericson2314> To make a demo with GCC
<Mic92> vdemeester: In the best case don't use their makefile. The alternative is to move the binaries from this subdirectory: https://github.com/NixOS/nixpkgs/blob/master/pkgs/development/go-modules/generic/default.nix#L175
<vdemeester> Mic92: ok, I'll take a look a bit later, thanks :)
<Mic92> vdemeester: but looking at this again. Are you sure the build break because of cross-compiling?
<vdemeester> Mic92: I just know that my git bisect told me this commit is the one making that package fail.. not yet sure why (the error I'm getting it `cgo.a: permission denied`)
<Mic92> vdemeester: do you try to build without cgo?
<Mic92> i.e. static binaries?
<Mic92> *fully static
<vdemeester> Mic92: nop, pretty sure it's required for that package (gpgme, …), I don't think there is a possibility to build it static
<Mic92> vdemeester: it is the -i in your makefile: https://github.com/golang/go/issues/24674#issuecomment-379143645
<vdemeester> Mic92: ahah you might be right…
<Mic92> vdemeester: ask the maintainer of your project to remove it.
<vdemeester> I remember removing that one from `docker/docker` because it was breaking me too
<vdemeester> yeah I'll check and open a PR upstream :P
<vdemeester> Mic92: thanks for the help :)
__Sander__ has quit [Quit: Konversation terminated!]
jtojnar has joined #nixos-dev
<gchristensen> w00t, FYI: mac{2,3,4,5,6,7,8} are now running macOS inside a VM on top of NixOS and are now monitored by Prometheus at
<gchristensen> ce=mac8-guest&var-instance=mac8-host&var-instance=mac9-guest&var-instance=mac9-host&var-machine=All mac1 is migrated too, but can't boot macos for some reason, and mac9 seems to have some broken hardware.
<globin> gchristensen++
<{^_^}> gchristensen's karma got increased to 55
<LnL> !m gchristensen
<LnL> this is great :D
alp has quit [Ping timeout: 245 seconds]
alp has joined #nixos-dev
<gchristensen> it would be very nice if I could have an instance drop-down option for "mac.-guest" and "mac.-host" so you don't have to tick a zillion boxes -- is there a way to do anything like this, LnL?
<LnL> I think so, do they have labels?
<gchristensen> what kind of labels would you like? (I don't know)
<LnL> mac-host and mac-guest
<gchristensen> no, they don't have that sort of label. I imagine I could do that at the importer? or can node-exporter do it?
<LnL> yeah, I can look for an example in abit
asymmetric has joined #nixos-dev
orivej has quit [Ping timeout: 244 seconds]
<LnL> gchristensen: prometheus.scrapeConfigs.*.labels.mac = "host";
<LnL> gchristensen: and then configure the dashboard variables, but I could help with that if you want
<LnL> or maybe something more generic like distro = "mac-host"; if you want to include other types
<gchristensen> ok deploying the change
<gchristensen> LnL: ok I added some labels: https://status.nixos.org/prometheus/targets
<gchristensen> I think each of those makes for pretty useful options
<LnL> yeah perfect, so now you can either add more variables or group the values by a label
<gchristensen> you should probably just have access to edit it
<LnL> I don't have an account, unless it's the same instance as ofborg
<gchristensen> it isn't
<LnL> oh, neat :)
<gchristensen> ok, you should be able to edit dashboards now
<LnL> updated
<gchristensen> hmm so I selected the "builder" role but it still includes "All"
<LnL> hmm yeah, it's not actually filtering
drakonis has joined #nixos-dev
<gchristensen> LnL: I think I sorted it
<LnL> I can only seem to make it work partially
<gchristensen> I'm adding ,role=~"^($role)$" to each query
<gchristensen> is that wrong? :)
<LnL> not sure what I'm missing
<gchristensen> LnL: mind if I save? I don't want to trample your workx
<LnL> nah go ahead
<gchristensen> it isn't real nice because all the queries had to be edited, and thinking now it'd be nice to be able to add more, like architecture ... but also wouldn't relish going back to edit all the queries again
<LnL> oh, I see what you did now
<gchristensen> what did I do? :P
<LnL> was the instance= there before?
<gchristensen> yeah
<gchristensen> is there a nicer way?
<LnL> I thought you could filter stuff in the variables section, but it didn't entirely work as I expected
<gchristensen> oh looks like I could edit the JSON directly, much more quickly than via the gui
<LnL> with a query like label_values(node_boot_time_seconds{role=~"$role"}, instance) for instance instead of label_values(instance)
<gchristensen> oh cool
<gchristensen> it is kinda weird grafana doesn't support "global" filters
<gchristensen> but I suppose that makes sense with more complicated queries
<LnL> yeah, also dashboards can show different metrics in which case a bunch of the filters wouldn't make sense anyway
<gchristensen> nix2grafana
<LnL> hehe
<simpson> I had had some Grafana config in Nix, but it did not work reliably and I gave up on that.
orivej has joined #nixos-dev
drakonis_ has joined #nixos-dev
drakonis has quit [Ping timeout: 252 seconds]
<gchristensen> seems a bit annoying, anyway
<LnL> being able to edit interactively is also really important for this IMHO
<simpson> Yeah, but I wish that it could all be saved to portable JSON always.
<gchristensen> it can
<simpson> I guess one could manually import and export everything. That *is* an option.
drakonis has joined #nixos-dev
drakonis_ has quit [Read error: Connection reset by peer]
<simpson> Yeah, that definitely works for backups.
<LnL> we periodically export everything, but most changes are applied using the ui
drakonis_ has joined #nixos-dev
drakonis has quit [Ping timeout: 252 seconds]
drakonis_ has quit [Ping timeout: 264 seconds]
Lisanna has quit [Remote host closed the connection]
Lisanna has joined #nixos-dev
<LnL> niksnut: I was looking at the s3 implementation in download.cc and was wondering why substituters and copy go through a different codepath
<LnL> nix copy --from works fine with --substituters only works partially, while they basically do the same thing
Lisanna has quit [Quit: Leaving]
<niksnut> I don't think they go through a different codepath
<niksnut> the s3 stuff in download.cc is used for fetching tarballs
<Mic92> Ericson2314: should we set AR by default?
<LnL> it uses the s3 client directly instead of the store api
<Ericson2314> Mic92: don't see why not
<LnL> isn't AR already set?
<Mic92> LnL: right, I have seen many buildsystems using AR, while they actually want AR_FOR_TARGET.
<Ericson2314> Mic92: you mean they use AR_FOR_BUILD when they want AR
<Ericson2314> because they hard-code `ar`
<Ericson2314> because in most situations using the wrong AR is fine
<Ericson2314> (but not all situations!)
<Ericson2314> Mic92: the first advantages of getting the compiler from the previous stage is then build<->build, host<->host, target<->target always
<Ericson2314> you don't have to think about the mapping
<Mic92> Ericson2314: Ok. The problem is actually different. $AR == ar, which does not exists
<Ericson2314> 2nd advantage is one can cross compile the cross compiler for free
<Mic92> Ericson2314: I am not sure how this would look like for rust though.
<Ericson2314> Mic92: for rustc?
<Ericson2314> which derivation?
<Mic92> Ericson2314: no the AR problem is in openldap
<Ericson2314> oh
<Ericson2314> this is just a library
<Ericson2314> there should be no mention of target anywhere
<Mic92> Ericson2314: regarding taking the compiler from the previous stage, whould the pre-compiled rustc binary just end up in stdenv.
<Ericson2314> for cross compilation, AR != "ar"
<Ericson2314> what do you mean? probably would need to bind a rustcBootstrap
<Ericson2314> so that rustBoostrap can depend on buildPackages.rustcBootstrap
<Ericson2314> and rust depend on buildPackages.rustc
<Ericson2314> my line notes were too deep in the weeds and me reading things wrong, my comment at the bottom of the PR thread on the big picture is better
<LnL> niksnut: oh my bad, substituters goes through the daemon so I didn't have credentials configured
<Mic92> Ericson2314: this is how I currently break the cycle: https://github.com/NixOS/nixpkgs/pull/50866/files#diff-3393dd3c32a503652ddafc69925abddeR38 In stdenv I saw null checks from the previous stage. So would I check for isNull buildPackages.rustc and return the binary package otherwise?
<LnL> what I was looking at is builtins.fetchTarball?
<Mic92> nevermind. not openldap was using the wrong AR but postfix.
<Ericson2314> Mic92: yeah I think most of that stuff would be shaken up a bit by binding the compilers separate than the platform
<Ericson2314> the platform is sort of like stdenv in that it contains tools from the previous stage
<Ericson2314> but to build something, you use the platform from the same stage
<Ericson2314> pkgs/top-level/haskell-packages.nix is sort of the guide here
<Ericson2314> but it takes some mental contorsions since there is no package set for rust, since we don't vendor in all of crates.io with Carnix
<Ericson2314> I could maybe sometime later today to a PR against your PR
<Ericson2314> I tried to make the Rust stuff more like Haskell a long long time ago anticipating some of these things, but it got refactored since
<LnL> does anybody know how to hunt down a dlopen?
<Mic92> LnL: on Linux?
<Mic92> export LD_DEBUG=all
<LnL> darwin, but might not matter
<Mic92> it does matter
<LnL> I tracked down a problem to dlopen using the equivalent of that
<LnL> but I'm not sure how to figure out what library it came from now
<Mic92> Ericson2314: soon we will need an expert database on datatype sizes: https://github.com/NixOS/nixpkgs/pull/51848/files#diff-88cc677ee912012864930c7b905b2e96R67
<Mic92> Ericson2314: here is one: https://github.com/rust-lang/libc
<Ericson2314> Mic92: libc is one what?
<Mic92> Ericson2314: I mean the rust crate libc carries information about all common libc
<Ericson2314> hmm?
<Ericson2314> still confused, sorry
<Mic92> Ericson2314: for some configure test one has to provide default values: https://github.com/NixOS/nixpkgs/pull/51848/files#diff-88cc677ee912012864930c7b905b2e96R63
<Ericson2314> Mic92: and reviewed your PR. Nice!
<Ericson2314> that epoll line looks fine to me, does it relate to Rust's libc somehow?
<Mic92> Ericson2314: well rust's libc crate also knows which platforms have epool
<Mic92> *epool
<Mic92> *epool
<Mic92> damn it
<Ericson2314> hehe :) I know those typos that just won't go away
<Ericson2314> do you mean you want to factor it out somehow?