samueldr changed the topic of #nixos-dev to: #nixos-dev NixOS Development (#nixos for questions) | NixOS 19.09 is released! https://discourse.nixos.org/t/nixos-19-09-release/4306 | https://hydra.nixos.org/jobset/nixos/trunk-combined https://channels.nix.gsc.io/graph.html | https://r13y.com | 19.09 RMs: disasm, sphalerite | https://logs.nix.samueldr.com/nixos-dev
drakonis_ has joined #nixos-dev
drakonis has joined #nixos-dev
drakonis1 has joined #nixos-dev
drakonis_ has quit [Ping timeout: 252 seconds]
drakonis has quit [Ping timeout: 276 seconds]
ris has quit [Ping timeout: 245 seconds]
<worldofpeace> Jan Tojnar: So I've been thinking about how I could wrap switchboard and wingpanel better without hardcode patches or a messy wrapper. I was thinking that maybe wrapGAppsHook could write the arguments it was going to give to makeWrapper in a json format in nix-support. Then in the wrapper for switchboard I could load this somehow and collect all the arguments it was going to give to makeWrapper for each indicator. So
<worldofpeace> basically it takes those json files as inputs and converts it to bash somehow and produces one proper wrapper.
orivej has joined #nixos-dev
<samueldr> are pkgsCross'd clang-based stdenv supposed to work?
<samueldr> went back to the first channel bump introducing pkgsCross, and basically the same error as on current unstable
eraserhd has quit [Quit: WeeChat 2.6]
eraserhd has joined #nixos-dev
<samueldr> hmm, adding a hack to make compiler-rt pass (dummy file in $out), the compiler is for the native platform
<clever> adisbladis: i think 1733a6f94156b849a8b8b567607cd693615ff6b1 broke the build of qt59.qtbase, i can look into it more in about 8-ish hours if you havent by then
tilpner_ has joined #nixos-dev
tilpner has quit [Ping timeout: 252 seconds]
FRidh has joined #nixos-dev
<andi-> das_j: why should it be?
<das_j> andi-: I though this was generally the case for src = [any derivation]
<andi-> no, `src = fetchFromGitHub` qualifies for that as well. `fetchFromGitHub` is a fixed output derivation.
<andi-> ,ifd das_j
<{^_^}> das_j: import-from-derivation (IFD) is when you evaluate nix from a derivation result, for example `import (pkgs.writeText "n" "1 + 1")` will evaluate to 2. This is sometimes problematic because it requires evaluating some, building some, and then evaluating the build result. It has been described as "such a nice footgun."
<das_j> thanks!
<das_j> hmm, but doesn't evaluating brotli also evaluate the src?
<andi-> das_j: the actual result of `gitsrc` doesn't change the build script nix is going to run. The build might fail but nix doesn't eval any nix code from `gitsrc`.
<das_j> but src is an input for the derivation, so the hash of it should matter. it's not a fixed output derivation because it's a runCommand
<Taneb> Fun fact: Hydra will insert each mandatory system feature of a machine into its list of supported features twice
<andi-> das_j: all our packages are (mostly) not fixed output derivations but they depend on inputs that are fixed output derivations. IFD is not really about where the sources come from but where the nix expressions come from. e.g. what nix code is being executed and usually also requires an `import` statement to be present. In your example there is no input that might change over time. If you would
<andi-> use `import` on some downloaded files then those could be using e.g. `builtins.currentTime` and that could change the execution in the future.
<das_j> andi-: Thanks, that makes sense now
<andi-> as far as I can see that is used by `nixos/tests/os-prober.nix` but that isn't run on hydra as far as I can tell... Mine tried to execut it even tho I didn't lift the restric eval thing..
<das_j> ah I saw that somewhere in the kernel build as well
<adisbladis> clever: We're removing it in https://github.com/NixOS/nixpkgs/pull/74023 anyway, I wouldn't waste time on it.
<{^_^}> #74023 (by FRidh, 2 days ago, open): Staging next
drakonis has joined #nixos-dev
drakonis1 has quit [Ping timeout: 240 seconds]
<domenkozar[m]> would someone be up for paid gig to go through all nix error messages and improve them?
<lassulus> "infinite recursion encountered at unknown position"
<adisbladis> lassulus: I wanna have a t-shirt with that
<lassulus> I will try to come up with a design
<adisbladis> <3
<domenkozar[m]> if someone feels like that's fun and useful work, let me know at domen@hercules-ci.com
kreisys has quit [Read error: No route to host]
<ckauhaus> adisbladis: lol
<ckauhaus> me too ;-)
<gchristensen> btw domenkozar[m], lassulus, adisbladis... zimbatm found "noPos" is the secret token to removing unknown position errors.
<domenkozar[m]> nice
<domenkozar[m]> zimbatm is our C++ hero
<gchristensen> zimbatm and I had specced out a project called "death to noPos" for a clientonce but they didn't bite :(
<domenkozar[m]> who would do the work?
<gchristensen> he and I was going to
<zimbatm> it's weird to see my nick and "C++ hero" in the same sentence
<domenkozar[m]> I'm willing to organize crowdfunding
<domenkozar[m]> if you share the spec :)
<gchristensen> not sure howmuch of a spec we wrote :x
drakonis_ has joined #nixos-dev
psyanticy has joined #nixos-dev
drakonis has quit [Ping timeout: 276 seconds]
<LnL> has anybody here ever tried to build clang from git before?
<clever> adisbladis: youll need to fix plex-media-player to not use 5.9 then
<jtojnar> worldofpeace yeah, that would work (it is similar to propagatedUserEnvPkgs, but with more limited scope), though I would still consider patches less messy
__monty__ has joined #nixos-dev
<clever> adisbladis: i'll see what happens if i bump the qt in plex...
<worldofpeace> Jan Tojnar: I created a POC, but I still felt like it was a little "for this". Eventually having something like that mixed with https://discourse.nixos.org/t/wrappers-and-hooks-do-not-invoke-wrapprogram-directly/3551 would make wrapping much better. I went for this https://github.com/NixOS/nixpkgs/pull/74243/commits/0d05eb39647c5a79ec48289676eb853200fd64ec.
<clever> adisbladis: seems to build just fine
<worldofpeace> Jan Tojnar: Wishing there was function in glib that allows you to add to the directories schemas sources are loaded (in main()) . then instead of wrapping it could be a substitution on the source code for every directory in GSETTINGS_SCHEMAS_PATH.
<clever> adisbladis: https://github.com/NixOS/nixpkgs/pull/74268 is ready for review!
<{^_^}> #74268 (by cleverca22, 38 seconds ago, open): plex-media-player: fix build by upgrading QT 5.9 -> 5.12
<adisbladis> clever: That's fixed in staging next
<clever> adisbladis: ah, ive just been fighting 3 or 4 different problems with plex on master, for the last month
<clever> first qtwebengine, then lua, now qtbase
<clever> every time somebody fixes it, another thing breaks
<jtojnar> worldofpeace I would like settings_from_dircetory, that would allow us to just change a function name and add argument
<jtojnar> we might get rid of libcroco soon
<adisbladis> clever: Still worth merging your fix in the mean time :)
<adisbladis> I'll do it as soon as ofborg passes
<clever> :)
<adisbladis> clever: Btw, binary Qt apps are pretty much always safe to bump versions on
<adisbladis> QT has an ABI stability guarantee
<clever> adisbladis: the plex frontend is surprisingly open source
<clever> adisbladis: and its using regular mpv (from nixpkgs) as the video player backend
<adisbladis> Cool :)
<clever> and one benefit of that open-source-ness, on my media center, it wasnt able to disable power saving
FRidh has quit [Quit: Konversation terminated!]
<clever> but checking the source, the default mode for linux, is to try and use dbus to talk to xscreensaver, which i didnt have running
<clever> but it has a second mode, where it just uses the x11 api directly, to manage power savings itself
<clever> adisbladis: only needs a 1 line fix to change the mode
<worldofpeace> Jan Tojnar: Right, I believe the next release of librsvg won't use libcroco as well. Very close to being gone 🎊
drakonis has joined #nixos-dev
drakonis_ has quit [Ping timeout: 240 seconds]
drakonis has quit [Ping timeout: 276 seconds]
Synthetica has joined #nixos-dev
drakonis1 has joined #nixos-dev
ixxie has joined #nixos-dev
drakonis has joined #nixos-dev
drakonis1 has quit [Ping timeout: 265 seconds]
ckauhaus has quit [Quit: WeeChat 2.6]
tilpner_ is now known as tilpner
justanotheruser has quit [Ping timeout: 252 seconds]
Jackneill has quit [Remote host closed the connection]
drakonis_ has joined #nixos-dev
<{^_^}> firing: ChannelUpdateStuck: https://status.nixos.org/prometheus/alerts
drakonis1 has joined #nixos-dev
drakonis_ has quit [Ping timeout: 245 seconds]
ris has joined #nixos-dev
<gchristensen> arianvp, I'm going to be meeting with Packet people soon
<gchristensen> hopefully today
<gchristensen> did you ever get a chance to get on the console and test out a machine / try to debug the ARP from the console??
<arianvp> Nope. Didn't really look at the bonding issue anymore.
<gchristensen> dang
<arianvp> :(
<arianvp> There was someone on here who did though
<gchristensen> I am super blocked, and 100% the wrong person to be having this call with Packet:P
<arianvp> And said they made some progress.
<arianvp> Ping flokli
<gchristensen> flokli: pin
<gchristensen> g
* gchristensen can't even ping properly
<arianvp> Does #nixos-dev have an IRC log?
<flokli> gchristensen: arianvp: don't pin me
<gchristensen> :)
<gchristensen> I can't stress enough how incompetent I will be if I am the one who ends up debugging this problem
<samueldr> (and here I had hopes someone was answering my cross-compilation question from yesterday)
<arianvp> srhb: was the one I think
<gchristensen> srhb: ping :)
<arianvp> im so happy my memory is indexed by somebody else
<gchristensen> hrm, so maybe watch dmesg as it goes?
<arianvp> > samueldr++
<{^_^}> error: syntax error, unexpected ')', at (string):272:1
<gchristensen> did we make changes to mac address privacy?
<arianvp> or how do I give reputation again
<samueldr> same, but not as a nix eval command
<arianvp> samueldr++
<{^_^}> samueldr's karma got increased to 139
<andi-> whats broken about ARP on Packet?
<gchristensen> for the first several minutes (30?) after boot on 19.09 with the bond setup, the network is busted
<andi-> O.O
<arianvp> On 19.09 the bonded network does not get ARP packets out
<andi-> That sounds like they are doing some kind of fallback in case the host doesn't bring up bonding.
<samueldr> the cross issue I have is that pkgsCross clangStdenv (or even plain pkgsCross clang) doesn't build, and with the obvious issue worked-around, isn't built for the target platform (for context: https://logs.nix.samueldr.com/nixos-dev/2019-11-26#1574738952-1574744506; )
<{^_^}> #69360 (by arianvp, 9 weeks ago, open): Bonded network not working on Packet.net
<gchristensen> andi-: the problem is on our side
<andi-> I'll have a look...
<gchristensen> andi-: want to do a screen share? :)
<gchristensen> and a video call
<andi-> I'd prefer having a look at the issue first before jumping all in :D
<gchristensen> I can get you on the IPMI console
<andi-> I'd have spun up a small instance now but that also works.
<gchristensen> it needs to be sufficiently large to have the bond configured
<gchristensen> c2.medium.x86 for example
<andi-> and that only happens with networkd, not if you `ip link add link foo type bond …` all the way manually?
<gchristensen> no, this happens with scripted networking too
<arianvp> no it happens on both
<arianvp> or at least, i dont know if it happens on networkd :P
<arianvp> it happens on scripted for sure
<gchristensen> ehhhh
<arianvp> gchristensen: bingo
<gchristensen> so if the problem is actually the MAC address, I can set networking.interfaces.bond0.macAddress = "..."
<arianvp> that sounds like it is the culprit?
<gchristensen> let's give it a go ....
<arianvp> what was the old behaviour for bonds?
<gchristensen> no idea
<gchristensen> seems like maybe systemd/udev just didn't meddle so much with bonds
<andi-> That is why I initially stated the fallback thing on packets side. That would mean after ~30min they "learn" new macs for the bond interfaces.
<gchristensen> andi-: aaaaah
* gchristensen kicks over the server for a reprovision test
<gchristensen> these poor SSDS.
<andi-> Can we reproduce this on e.g. Ubuntu with networkd? if that is the case I believe they should check their configuration or document the expectations.
<gchristensen> (a) does ubuntu use such a recent version of systemd? (b) Packet hasn't been able to reproduce it on anything they install out of the box
<arianvp> ubuntu is on 237
<arianvp> (18.04 that is)
<arianvp> and 19.04 is on 240
<gchristensen> heh
<arianvp> Do they have coreos images??
<gchristensen> they do, but coreos might use dhcp and not properly bond
<andi-> fedora has a 244-rc1 package...
<arianvp> ahh they're on 241 haha
<arianvp> i still dont understand what the macAddress has to do with setting up the bond
<gchristensen> these nics have two interfaces, with macs 00:11:22:33:44:55 and 00:11:22:33:44:56. usually bonding them makes them both 00:11:22:33:44:55
<andi-> the systemd change now derives that 3rd mac address from the name that you give the interface if I got it right.
<arianvp> correct. addr = hash(name)
<gchristensen> that is a nightmare
<gchristensen> since everybody and their mother uses "bond0"
<arianvp> why would that be a problem though? (I know not much about bonding)
<arianvp> oh jeesh
<gchristensen> the switch is expecting certain MACs
<arianvp> yes that is gonna be horrible
<arianvp> lmao
<andi-> I am not sure it is that easy...
* andi- starts reading source
<gchristensen> I believe you, andi-
<arianvp> hash(iface1|iface2|name) makes more sense to me
<arianvp> brb getting some dinner
<gchristensen> well maybe not because you very likely will end up adding more interfaces
<gchristensen> andi-: I'm booting in to the install environment now fwiw
<arianvp> hash(iface1..n|name) then :P
<gchristensen> yeah but you wouldn't want your MAC changing when you add new backup interfaces
<arianvp> so you think the problem is that multiple devices on the network have that MAC address and that's why it's not connecting?
<gchristensen> no, I think it is probably that the switch is expecting the MAC the hardware is assigned
<andi-> information from /proc/net/bonding/* might be good to have.
<gchristensen> andi-: want to hop on a session? :) :) :)
<andi-> gchristensen: sure
psyanticy has quit [Quit: Connection closed for inactivity]
<andi-> it is using the /etc/machine-id as "random" source
<gchristensen> arianvp: want to join?
<andi-> arianvp: gchristensen: `Let's hash the machine ID plus the device name.`
<gchristensen> andi-: ^ want to join the call?
<andi-> gchristensen: I am
<gchristensen> the video call?
<andi-> I shows only me. I don't have a camera on this desktop but it should have audio working just fine.
<gchristensen> wat
<andi-> I can talk to myself :D
<gchristensen> I'm in it too but it is also just me
<andi-> There is two of me now (firefox, chromium)
<andi-> I got picture!
<{^_^}> resolved: ChannelUpdateStuck: https://status.nixos.org/prometheus/alerts
<worldofpeace> eek https://github.com/NixOS/nixpkgs/issues/74273, good thing there's a report :D
<{^_^}> #74273 (by vaibhavsagar, 3 hours ago, open): zoom-us broken on 19.09
<srhb> gchristensen: sup? The scripted Mac shenanigans?
<samueldr> MAC as in networking
<srhb> I can help tomorrow but the short story is that 19.09 scripted networking has an issue where it misbehaves with bonded networking. I think I submitted an issue.
<srhb> We didn't find the root cause.
<srhb> But basically don't expect it to work with static DHCP leases.
<srhb> If you want it to work *now* the easiest way is to use networkd and set the mac explicitly.
<srhb> I didn't get it to work with scripted networking.
<srhb> (set it to that of the first interface in the bond, that is.)
<srhb> Back to the concert. o/
<gchristensen> andi-: "test2 is having connectivity issues"
<gchristensen> networking.interfaces.bond0.macAddress works :o
<gchristensen> aoeuntsahoeuscad,snhaoeunsthoaeunsoeha
<worldofpeace> hmm, patterns look like dvorak
<elvishjerricco> Trying out a dead simple (kinda silly) way to use systemd for the initrd. Just having `default.target` basically launch our usual stage-1-init.sh as a systemd unit that calls `systemctl switch-root` instead of `switch_root`.
<elvishjerricco> But for some reason `copy_bin_and_libs` isn't working for the `systemd` binary
<adisbladis> Does gchristensen have a cat :O
<gchristensen> I am just super miffed by this systemd change
<elvishjerricco> `libcap.so.2 => not found`, even that's certainly in the `extra-utils` dir.
<arianvp> gchristensen: I can understand
<arianvp> but does it even make sense that systemd sets a new mac address for the bond? Or is that actually bad design
<arianvp> e.g. does it not break bonding by default for networkd too?
<gchristensen> well
<arianvp> or does that depend on your switch
<gchristensen> that depends on your switch configuration
<gchristensen> in this case, Packet is probably requiring certain MACs from the NIC for customer isolation
<gchristensen> as part of customer isolation*
<gchristensen> it is sorta weird that they're doing this since Linux has been (since basically forever) setting the mac of the bond to the lower mac of the bond
<gchristensen> but I don't want to be a grumpy systemd person :P
<arianvp> it's at least worth opening an issue for
<arianvp> people are gonna run into this a lot once redhat and ubuntu move to 242 :P
<srhb> Lower? First, right?
<gchristensen> first I guess, yeah
<gchristensen> arianvp: definitely a good idea
<srhb> What we saw was some kind of ex nihilo macs.
<srhb> Which breaks errything. :p
<gchristensen> yuuup
<gchristensen> we're getting mac 06:eb:e5:f0:53:2d, when it should be 50:6b:4b:44:00:ea
<srhb> Yeah. Tons of fun. :p
<srhb> Did you find any docs that say it's intentional?
<Ox4A6F> Nice work.
<gchristensen> I think it is this commit but only because it is the only commit that turned up with "bond0" and "MACPolicy"
<srhb> Ah... Like, that's a good idea. But not well advertised.
<gchristensen> is it, though :)
<srhb> Well advertised?
<gchristensen> a good idea
<gchristensen> it doesn't seem like it is a good idea to do this for bonds. for virtual networks, it seems like a brilliant idea
<andi-> I still think it kind of makes sense for hardware based bonds as well as you might remove an interface and use it otherwise at any given point in time. Having the bond then keep the mac address of that interface sounds like a bug to me.
drakonis has quit [Ping timeout: 252 seconds]
<gchristensen> srhb: I owe you so many thank-yous over the digging you did
<gchristensen> and same to you, andi-, and arianvp
<gchristensen> (and thanks to mmlb who told me secrets)
<srhb> Not at all! Glad you're not exploding (anymore) :D
<mmlb> np, seems like I owe some peeps some beers on behalf of packet
<arianvp> beers are always welcome
<mmlb> yeah lets keep gchristensen in one piece
<arianvp> Also write this one down in a jira ticket somewhere for when 242 drops on your other distros :P
<arianvp> you'll thank me later
<arianvp> (Add a note: When you read this, buy arian a bier)
<gchristensen> I literally _just_ PM'd the person who would do that
<andi-> so, nixcon2020 beer sponsored by packet? ;)
<gchristensen> +1
* mmlb fires off email, Subject: nixcon2020
<andi-> mmlb: we can get that sponsorhip secured right away ;)
<mmlb> I thought we did a bit this year?
<andi-> I think that never got anywhere.. We bounced a few mails back and forth
<andi-> (no worries tho)
<Profpatsch> packet doesn’t even know how much CPU we can use!
<Profpatsch> packet doesn’t even know how much beer we can drink!
<arianvp> interestingly I don't think this is fixable on ubuntu 19.10
<arianvp> Netplan (Ubuntu's network definition language) doesn't allow control over the mac addresses of bonds
<arianvp> (At least not fixable without hacky workarounds :) )
<gchristensen> nightmare
<arianvp> yes
<gchristensen> cc flokli
<mmlb> uggh netplan
<arianvp> because we needed more yaml in our lives
<andi-> idea is okay, i wouldn't want the implementation while I have NixOS at my fingertips.
<andi-> maybe if someone forced me to use ubuntu..
<arianvp> still haven't been able to convince work we need to switch to nixos so I'll probably be on an ubuntu with netplan soon :P
<andi-> great, i packaged netplan for nixos so you can practice :P
<arianvp> \o/
phreedom has quit [Remote host closed the connection]
phreedom has joined #nixos-dev
ixxie has quit [Ping timeout: 240 seconds]
drakonis has joined #nixos-dev
Jackneill has joined #nixos-dev
justanotheruser has joined #nixos-dev
Jackneill has quit [Remote host closed the connection]
__monty__ has quit [Quit: leaving]
justanotheruser has quit [Ping timeout: 245 seconds]
Synthetica has quit [Quit: Connection closed for inactivity]
orivej has quit [Ping timeout: 265 seconds]