/srv/irclogs.ubuntu.com/2018/07/10/#snappy.txt

=== dkessel_ is now known as dkessel
=== chihchun is now known as chihchun_afk
=== chihchun_afk is now known as chihchun
=== chihchun is now known as chihchun_afk
=== chihchun_afk is now known as chihchun
=== pstolowski|afk is now known as pstolowski|
pstolowski|mornings07:03
=== pstolowski| is now known as pstolowski
zygagood morning!07:10
zygaI'll start later as today is the market day so we need to go and buy groceries07:10
zygaand my wife should not carry and heavy things anymore so I need to help07:11
zygahey Pawel :)07:11
zygaok, I did most of the heavy lifting now08:02
pstolowskizyga: enumerating existing device as udev knows them is... problematic. now i understand why all the go udev implementations are cgo wrappers around libudev08:15
pstolowskizyga: and go-udev might be the only native go, except it doesn't really use udev stuff :/08:16
pstolowskizyga: parsing the output of `udevadm info -e` (exports udev database in a simple key=value format) might be one of the better options08:18
zygapstolowski: can you tell me more please?08:18
zygapstolowski: specifically what is problematic?08:18
zygapstolowski: what is the format natively used by udev?08:21
pstolowskizyga: /var/run/udev/* has simple flat text files - one for every device/node it seems, and it's very bare. it doesn't have all devices it seems, e.g. when i plug a serial adapter it doesn't appear there, it seems udev keeps it in-memory only. to enumerate existing devices via udevadm you either query specific ones by names/paths, or just dump everything with `udevadm -e` and there is tons of logic in libudev when it08:36
pstolowskienumerates08:36
zygapstolowski: and when you subscribed to the other netlink group and started to parse events, what kind of data was broadcast there?08:40
pstolowskizyga: only the devices that get plugged since i subscribed08:42
zygaaha, I see08:42
pstolowskizyga: so it's two worlds to deal with08:42
zygaso the problem is how to enumerate existing data set,08:42
pstolowskizyga: yes08:42
zygaI see08:42
pstolowskizyga: the way i see it for the moment:08:42
pstolowskizyga: we either subscribe to netlink for hotplug events, and parse udevadm to enumerate existing devices; or we just parse udevadm output for both cases (bonus is it's the same output format to parse then, then we don't actually need go-udev anymore); or we switch to some other go-udev implementation based on cgo+libudev08:45
zygaI think cgo+libudev is strongly undesired08:45
zygabecause libudev has unstable protocol08:45
zygaand this would complicate re-exec seriously08:45
zygawe need to think how to approach the problem08:46
zygacan you look into what libudev C code does?08:46
zygaso that we understand the on-disk data format08:46
zygaand the current on the wire format08:46
zygait seems that we could indeed run udevadm --monitor and just feed of that pipe08:48
zygabut not sure08:48
zygathis is something to discuss with gustavo IMO08:48
pstolowskizyga: yep, i'll look into libudev more. also, the parsing of netlink data from udev is questionable and might have potential to break. they have a custom header (a bunch of ints, one of them tells you the offset where actual data starts). this header is *private* to the libudev/udevdaemon, it means it's a contract between libudev/udev basically and can change at any time (they don't even care about endianess there). so08:55
pstolowskieven monitoring via netlink has a risk of breaking08:55
zygapstolowski: I think we need to (realistically) support every wire format used by udev since Ubuntu 14.04-era onwards08:55
zygapstolowski: it is either that or parsing of (potentially equally fragile) text representation from udevadm08:56
zygapstolowski: or writing our own udev and shoving it into early boot08:56
zyga(initrd)08:56
pstolowskioh noes08:59
Chipacapstolowski: ?09:00
pstolowskiChipaca: that's in response to what zyga suggested re own udev09:01
Chipacapstolowski: we'll write our own udev, with blackjack and hooks09:04
pstolowskizyga: fwtw the text repr of udevadm looks quite stable due to its simplicity. but yes, it's all fragile09:10
zygapstolowski: yeah, all --porcelain09:18
zygaChipaca: lol09:18
zygaChipaca: on the other hand I'm very much happy to write one if we choose to09:18
zygaChipaca: if we choose to do this we must mask it as something entirely non-udev like so that phoronix won't notice ;-)09:24
pstolowski:)09:25
Chipacacall it µdev09:26
zygaChipaca: ooooh, I love it!09:27
zygaChipaca: can I can I can I? :D09:27
Chipacait looks like I'll never have time to do µubuntu, so, sure09:27
zygamoobuntu for livestock09:29
zygabut it would have to use apt for packaging, it is so apt09:29
niemeyerMornings09:33
zygahey hey09:33
pstolowskimorning niemeyer !09:34
niemeyerpstolowski: Heya09:34
pstolowskiniemeyer: some interesting findings re udev, go-udev etc., we will need to meet and take some decisions09:38
niemeyerpstolowski: Sounds good, let's try after the standup today09:39
zyganiemeyer: we have the core 18 meeting then09:39
niemeyerpstolowski: I'm hoping for a slightly shorter meeting as we have less people09:45
zygaah, indeed09:45
zygawe should have plenty of time in between09:45
pstolowskisure09:45
mupPR snapd#5490 opened: store: make snap blobs be 0600 <Created by chipaca> <https://github.com/snapcore/snapd/pull/5490>10:27
Chipaca^ should be an easy one to review10:30
zygadone10:33
pstolowskiChipaca: +1, with a suggestion10:41
Chipacapstolowski: your suggeestion wouldn't catch seeds though10:41
pstolowskiChipaca: right, i didn't know it was supposed to; $(find /var/lib/snapd/{cache,snaps,seed/snaps} then; but, nvm10:44
* zyga is happy now10:48
zygaall the remapping is tested and can be proposed now10:48
niemeyerpstolowski: Have you seen the note on #5488?10:48
mupPR #5488: tests/interfaces-contacts-service: use random XDG dir via mktemp <Created by stolowski> <https://github.com/snapcore/snapd/pull/5488>10:48
pstolowskiniemeyer: yes, thanks, will respond10:50
pstolowskireplied and closed10:58
mupPR snapd#5488 closed: tests/interfaces-contacts-service: use random XDG dir via mktemp <Created by stolowski> <Closed by stolowski> <https://github.com/snapcore/snapd/pull/5488>10:58
niemeyerpstolowski: What's the status of #4940?11:03
mupPR #4940: RFC: added UDevMonitor for future hotplug support <Created by stolowski> <https://github.com/snapcore/snapd/pull/4940>11:03
=== chihchun is now known as chihchun_afk
pstolowskiniemeyer: i'm hitting various issues with it on existing spread tests; no clear pattern, various failures inluding kill timeouts. no idea why, there is no clear indication in the logs pointing at my changes (but oviously they are the suspect), and just re-runiing a failing test locally doesn't reproduce the failure11:09
pstolowskiniemeyer: in any case, in the light of what i'd like to discuss today i might need to make changes11:10
niemeyerpstolowski: Are we seeing the same errors on master?11:12
pstolowskiniemeyer: no, except ocasionally with flaky tests11:14
niemeyerpstolowski: We've seen kill timeouts on master before, but my understanding is that those were related to core and were fixed11:14
pstolowskiniemeyer: yes. but not at the rate i see on my PR11:15
pstolowskiniemeyer: i basically didn't have a succesful run on this PR yet11:15
niemeyerpstolowski: If you're wondering about whether it's your PR's fault, I suggest breaking it down into smaller chunks, and pushing it so we can review and merge until we hit something suspicious11:15
niemeyerpstolowski: In fact, given how long that's been up for review and the long history of merges, that might be a good idea either way11:16
niemeyerpstolowski: It feels like that's been blocked for months now11:16
Chipacacp: not writing through dangling symlink 'squashfs-root/usr/bin/snapctl'11:16
Chipaca^ anybody seen those before now?11:17
niemeyerChipaca: No, but that's pretty nice actually11:17
niemeyerChipaca: In terms of cp not doing that, I mean11:18
pstolowskiniemeyer: the biggest suspect is plugging go-udev in.. which is the meat of this PR. I can probably split it into two PRs - some scaffolding, and then actually plugging it in11:18
niemeyerChipaca: We've recently merged a PR from mvo that changed the way this worked..11:18
niemeyerChipaca: It wasn't a symlink before11:18
niemeyerChipaca: by recently I mean yesterday :)11:18
niemeyerpstolowski: I don't see go-udev in that RP11:18
niemeyerPR11:18
niemeyerpstolowski: Maybe that's why it's failing? :)11:19
pstolowskiniemeyer: and it was blocked for long time by go-udev dependency.. which got resolved ~2 weeks ago by incorporating go-udev11:19
pstolowskiniemeyer: no, go-udev package landed11:19
niemeyerpstolowski: Ah, ok11:19
pstolowskithis PR actually makes use of it11:19
niemeyerpstolowski: Ok.. how about this.. can we close it and get smaller PRs in, oriented after whatever we discuss today?11:19
niemeyerpstolowski: We need to start flowing bits in11:20
pstolowskiniemeyer: okay. fwtw a few small bits landed already11:20
pstolowskiniemeyer: anyway.. the topic to discuss today might be a tough nut to crack for this entire story11:21
=== chihchun_afk is now known as chihchun
Chipacaniemeyer: hmm. I wonder if master is broken because of this, then. Pretty consistent anything-but-ubuntu-16+ broke in the same way with my pr (but maybe it's my pr)11:22
* Chipaca running spread from master now11:22
niemeyerpstolowski: Cool11:24
niemeyerChipaca: I received mixed broken/not-broken messages from Travis yesterday.. wouldn't be entirely surprising if something that got landed isn't entirely right given prior merges11:24
niemeyerChipaca: This is the relevant PR: #537511:26
mupPR #5375: packaging: put snapctl into /usr/lib/snapd and symlink in usr/bin <Core18> <Created by mvo5> <Merged by niemeyer> <https://github.com/snapcore/snapd/pull/5375>11:26
niemeyerjdstrand: Gentle ping about #4951.. no rush, just want to make sure it's featured somewhere in your list still11:27
mupPR #4951: interfaces/screenshot: allow access to gnome-shell screenshot/screencast <Created by jdstrand> <https://github.com/snapcore/snapd/pull/4951>11:27
mupPR snapd#5491 opened: overlord,daemon: re-map interface plugs and slots around the edges of snapd <Blocked> <Created by zyga> <https://github.com/snapcore/snapd/pull/5491>11:33
Chipacaniemeyer: yep, master broken11:35
niemeyerChipaca: Well, at least it's a well known cause for once11:36
mupPR snapd#5492 opened: overlord/ifacestate: add re-mapping function for plugs and slots <Core18> <Created by zyga> <https://github.com/snapcore/snapd/pull/5492>11:36
Chipacaniemeyer: grmbl grmbl grmbl11:36
niemeyerChipaca: Any ideas given what you've seen?11:36
Chipacaniemeyer: replace «cp -a /usr/bin/snap /usr/bin/snapctl squashfs-root/usr/bin/» with something that's mindful of the symlink11:37
=== chihchun is now known as chihchun_afk
niemeyerChipaca: Hmm11:38
* zyga proposed the interface re-mapping integration PR and the first of the tree patches :)11:38
niemeyerChipaca: The error is likely that we're doing that twice11:38
niemeyerChipaca: I mean, that command, if done twice, will fail on /usr/bin/snapctl11:38
* niemeyer tests the theory11:39
zyganiemeyer: didn't we change the base snap by now?11:39
Chipacaniemeyer: I don't think so, I think it's that core already has a symlink there11:39
zygaso maybe base and the test support is doing the same thing now11:39
zygaI can now start looking at existing PRs11:40
niemeyerChipaca: Yeah, but there's something that doesn't smell right there11:40
* zyga catches up with IRC11:40
* Chipaca takes a shower11:40
niemeyerChipaca: "cp -a" works on symlink over symlink11:41
Chipacaniemeyer: *dangling* symlink is key i think11:41
niemeyerChipaca: This is copying a file over a symlink11:41
zygapedronis: would you have time to review 5492, you did an earlier iteration of the idea11:42
zygapedronis: I have it fully fleshed out now11:42
pedronisI'll look at it later today  (it's a couple of nights that I'm not sleeping well and it makes me a bit slow)11:43
Chipacaniemeyer: ok, so new hypothesis: coreutils change the behaviour of cp over dangling symlink, which is why it fails in 14.04 but not 16+, and presuambly fedora and opensuse have the old one11:43
Chipacahmm, that sounds wrong, fedora usuallly ship bleeding edge coreutils11:43
* Chipaca runs the test on fedora to check11:43
pedronisChipaca: anyway , it's probably more complicated than that becausee if we have snapd and core18, we want to change snapd, not the symlink in core1811:44
pedronisI'm not quite sure how far we are in that11:44
Chipacaniemeyer: actually, in 16.04, cp -a refuses to copy over a dangling symlink11:44
zygapedronis: thank you and take care, sleep is like credit, you have to pay back eventually11:44
niemeyerChipaca: I don't get what changes in the last few days for this logic to be broken now, but the logic does look broken indeed11:45
=== chihchun_afk is now known as chihchun
Chipacaniemeyer: /usr/bin/snapctl became a symlink11:45
Chipacaniemeyer: you yourself told me :-D11:46
niemeyerChipaca: I mean, the rm right above it removes snapctl from /usr/lib/snapd.. the follow up command then copies it into a different place11:46
zyganiemeyer: new core snap was built?11:46
mupPR snapd#4940 closed: RFC: added UDevMonitor for future hotplug support <Created by stolowski> <Closed by stolowski> <https://github.com/snapcore/snapd/pull/4940>11:46
niemeyerChipaca: It's just inconsistent... I suggest fixing it by removing *both* /usr/bin/snapctl and /usr/lib/snapd/snapctl, and copying *both* back11:46
niemeyerChipaca: The rm will likely have to be -f11:46
Chipacaniemeyer: I'll give you a clearer picture of the failure in a bit (test spinning up)11:47
niemeyerChipaca: It's a bit uncertain because we're dealing with an external core11:47
niemeyerChipaca: Actually, that's likely where the failure comes from11:48
niemeyerChipaca: The passing code expected a previous core from edge.. once the PR was merged, the logic in the test became incompatible with the logic that was merged, somewhat ironically11:48
Chipacaniemeyer: so, snapctl needs to be in libexec, and the one in bin a symlink to it, right?11:53
Chipacaas per #537511:53
mupPR #5375: packaging: put snapctl into /usr/lib/snapd and symlink in usr/bin <Core18> <Created by mvo5> <Merged by niemeyer> <https://github.com/snapcore/snapd/pull/5375>11:54
Chipacalynch! launch! lunch!12:01
niemeyerChipaca: Not libexec, lib/snapd12:06
Chipacaniemeyer: http://paste.ubuntu.com/p/jq8nw6H8q2/12:07
niemeyerAh, nevermind.. we put that in libexec in some distros12:07
niemeyerChipaca: Typo in usrs12:08
Chipacadammit12:08
Chipacaniemeyer: ta12:08
niemeyerChipaca: No need for the -f I think.. I missed the fact it was a * when reading the output12:08
=== pstolowski is now known as pstolowski|lunch
niemeyerChipaca: Looks good12:10
mupPR snapd#5493 opened: tests: prepare needs to handle bin/snapctl being a symlink <Created by chipaca> <https://github.com/snapcore/snapd/pull/5493>12:25
jdstrandniemeyer: thanks for the reminder. I had it as blocked in the list so I fixed that12:41
* zyga focuses on core18-tests3 for now12:42
=== pstolowski|lunch is now known as pstolowski
zygahey jdstrand12:55
zygahow are you doing?12:56
zygajamesh: hey12:58
zygaI saw some tweets from the conference12:58
zygahow are you doing?12:58
zygajamesh: anything interesting to share?12:58
Chipacaa curse on google:ubuntu-16.04-64:tests/main/interfaces-accounts-service12:58
Chipacawas anybody looking into that one?12:59
jameshzyga: hi.  I had a chat with the flatpak/xdg-desktop-portal guys this morning during a BoF about improving support for snaps12:59
zygaChipaca: mmmm, perhaps pstolowski but I don't remember for sure12:59
Chipacajamesh: zyga: so much paella13:00
jameshzyga: we want to provide more info about a snap to xdg-desktop-portal, but don't want to add a new dependency, so the current plan is to add a new "snap" sub-command that returns the info in a machine readable format (probably keyfile or yaml), and have xdg-desktop-portal call that13:01
jameshzyga: probably passing the AppArmor security label as an argument, and maybe also process ID13:01
jameshzyga: the extra info I want is the desktop file ID for the confined app, and whether it has the network interface plugged13:02
jameshthere might be more in future13:02
Chipacazyga: https://github.com/tremby/imgur.sh13:02
zygathank you!13:03
jameshChipaca: we did have paella at the beach party, yeah.13:03
Son_Gokujamesh, why would the AppArmor sec label matter?13:03
zygajamesh: neat13:03
Son_Gokuand that wouldn't be particularly useful when that isn't available (e.g. Fedora, CentOS)13:04
Son_GokuI'd also suggest using either keyfile or json13:04
Son_Gokuthose are a lot less brittle13:04
jameshSon_Goku: at the moment, xdg-desktop-portal won't detect a snap as confined without the security label13:05
Son_Gokujamesh, could you do it in a more generic fashion?13:05
Son_GokuI don't understand why the AppArmor label is required specifically for this13:06
Son_Gokuthat defeats the abstraction between AppArmor and the sandboxing control13:06
jdstrandhey zyga. pretty good, how are you?13:07
zygajdstrand: I'm good, enjoying the time with my family in the woods,13:08
zygaI'll be in Montreal next week, are you going?13:08
jdstrandnice! yes, I'll be there13:08
zygajamesh: I'd love to know what your plans are after the event, let me know if you think it would be useful to sync _during_ the event so that you can still discuss ideas with the flatpak team13:09
jameshSon_Goku: the AppArmor label was the most obvious way to detect that the application really was a confined snap (rather than a flatpak, or an unconfined app).  What would you suggest for systems without strict confinement?13:10
Son_Gokujamesh, snap-confine has "grades" of confinement, which could be passed to xdg-desktop-portal13:11
zygajamesh: we could look at the root filesystem of the mount namespace13:11
zygajamesh: and see if it is /var/lib/snapd/snap/* or /snap/*13:12
zygajamesh: this could be used as a fallback in case the apparmor label is problematic in any way13:12
jameshSon_Goku: for reference, this is the information dbus-daemon gives us to make the decision: https://dbus.freedesktop.org/doc/dbus-specification.html#bus-messages-get-connection-credentials13:12
jameshSon_Goku: I meant strict confinement as in what "snap debug confinement" prints13:13
jameshSon_Goku: that will say "strict" on systems where we have MAC controlling file system access and mediated D-Bus communication13:14
Son_Gokuthat means it'll fail in partial confinement situations13:14
Son_Gokuwhich is basically everyone except Ubuntu13:14
Son_Goku(and Solus)13:14
jameshzyga: so I guess the solution to ever problem ends up being "parse the mountinfo file" :)13:15
zygajamesh: no, you can really just read one symlink in proc13:15
zygait's nicer than mountinfo :)13:15
zygajamesh: AFAIR /proc/$PID/root13:16
jameshoh13:16
zygaand then match against two patterns13:16
zygathigh AFAIR the symlink value is dynamic depends on the POV of the beholder, so if you are "inside" it will always have a value of /snap/* (needs checking)13:17
jdstrandfyi, that's overstated-- there are quite a few distros that have it where snapd is supported. @popey provided me with a list recently13:17
jameshzyga: hmm.  readlink() on that returns "/"13:17
zygajamesh: ah, that's not useful then :/13:17
* jdstrand is referring go "< Son_Goku> which is basically everyone except Ubuntu (and Solus)"13:18
zygafrom the outside it would be different but it makes sense to be / on the inside13:18
jdstrandto*13:18
Son_Gokujdstrand, dbus mediation isn't upstream13:18
jameshzyga: it is a magic proc symlink, so doing open() on it would give a dir fd for the confined root.  I'm not sure how to convert that to the root file system though13:18
jdstrandSon_Goku: dbus mediation *is* upstream in dbus. the kernel feature not yet, but is super close13:18
zygajamesh: I see, well, I'm offering to help if you need to discuss something and think I could be useful13:19
jdstrandSon_Goku: I'm not arguing against your point of having to deal with partial confinement like Debian/OpenSUSE or devmode like Fedora, I was just clarifying your specific comment on 'only Ubuntu (and Solus)'13:20
Son_Gokufor full confinement, that's it, though13:20
jdstrandSon_Goku: no, it isn't. that is my point. popey showed me a list recently13:21
Son_Gokuand that list is?!13:21
jdstrandI'll let popey comment since I would have to dig around for it. if he doesn't have it at hand, I will do that13:22
popeyIt's just a list of distros I've booted in a vm and run hello-world.evil to see if confinement works13:22
popeyi replied citing them in a thread on the forum13:23
jameshzyga: if there's anything more you'd like me to bring up, there's still another day of the conf.  Getting the in-principle support for the "call snap as a subprocess" solution was a good start13:24
=== robert_ancell_ is now known as robert_ancell
jamesh(and is probably the first step towards something that will work better on Fedora, etc too)13:24
jameshgiven what's currently in xdg-desktop-portal relies exclusively on AppArmor security labels13:25
zygajamesh: one thing that we can do that's simple13:25
zygajamesh: snapctl13:25
popeyjdstrand / Son_Goku https://forum.snapcraft.io/t/joystick-connection-request-for-xonotic/6244/7 the post in question13:25
zygajamesh: snapctl uses a cookie to talk to snapd as a given snap13:25
Son_Gokupopey, you proved my point13:25
zygajamesh: so it could be there, regardless of confinement we would be able to present meta-data about the snap being executed13:25
popeySon_Goku: I don't know what point I proved :)13:25
jameshzyga: where is the cookie?13:25
zygajamesh: I think it is in the environment13:25
Son_Gokujdstrand, popey's list boils down to Ubuntu and Solus13:26
zygajamesh: so running snapctl from inside a snap "authorizes" it as the snap13:26
Son_Gokuall the various Ubuntu flavors are a distinction without a difference13:26
popeyelementary, KDE Neon and Linux Mint are not flavours.13:26
Son_Gokubut they are derived from Ubuntu and do not change anything about Ubuntu in that manner13:27
Son_Goku(Mint and Neon's irresponsibility about sec updates aside)13:27
ogra_mint also installs its own kernel by default13:27
popey(oh, and Zorin, which isn't in that list because that list if systems which do _not_ have GNOME Software by default).13:27
popeyogra_: uh, you may be on outdated info13:27
ogra_(which might or might not cause issues with snaps)13:28
Son_Gokuogra_, you're wrong13:28
ogra_oh, really ?13:28
Son_GokuMint uses Ubuntu kernel13:28
popeyyes, please check before claiming that again13:28
Son_Gokuthey've done that for at least a few years13:28
ogra_i know you can install the ubuntu kernel manually but their main reason for existance was always their own kernel13:28
Son_Gokuno13:28
popeyNo13:28
Son_Gokutheir existence is for Cinnamon Desktop13:28
Son_Gokujust like elementary's is Pantheon Desktop13:28
ogra_it used to be the kernel too13:29
ogra_good that this changed then13:29
popeyLets talk about today rather than the past13:29
Son_Gokuanyway, point is, anything using Ubuntu AppArmor (aka Ubuntu or Solus kernel) has it13:29
Son_Gokuno one else does13:29
Son_Gokuone day, that situation will change (and I can stop calling it Ubuntu AppArmor then), but that day is quite a ways out13:30
jameshzyga: if we resort to parsing /proc/$pid/env, we may as well just look for SNAP_NAME13:32
jamesh(as an indicator that it might be a snap app: the snap command could do a more rigorous check)13:33
zygajamesh: yes, though that's easier to spoof13:38
roadmrjdstrand: hey! sorry for not announcing it earlier, reviewer-tools r1093 is live in the store (as of Friday I believe)13:38
jameshzyga: right, but false positives are okay here.  It'd just mean we unnecessarily call the snap command, and get back an error saying it isn't really a snap confined app13:40
zygajamesh: sure but if we are looking for anything and calling snap we could look at SNAP_COOKIE and run snapctl with some command, as a protocol it feels nice13:40
jdstrandroadmr: thanks! fyi, I may ask you to turn on resquash enforcement this week when the squashfs-tools make it through SRU13:41
roadmrjdstrand: great! sure, let me know. Remember we'll be in sprint mode next week, maybe to keep in mind.13:41
roadmrjdstrand: but of course I'm available that week if we need to flip it back quickly (and we'll mostly be in the same room so that might be a plus hehe)13:42
jdstrandroadmr: once they hit -updates, remind me, can we depend on -updates being applied immediately?13:42
jdstrandroadmr: yes, it would be nice to say at the sprint "we just turned on enforcement again and are keeping an eye on it"13:42
roadmrjdstrand: uhh great question. The safest bet would be to do an explicit upgrade, which I can do via an IS ticket request13:42
roadmrjdstrand: so when it hits -updates, it should be in the store units in the next 24 working hours13:47
jdstrandroadmr: ok, I'll keep that in mind13:47
niemeyerzyga: You coming?14:03
zygayes14:03
threshis it only me or the color picker in the snapped gimp select the one and only blue color? 007ffd?14:27
=== chihchun is now known as chihchun_afk
Chipacathresh: wayland?14:37
zygare, sorry I had to feed my dog14:39
Chipacazyga: in soviet russia, something something something14:45
zygaChipaca: so we dogfood our stuff, right?14:46
Chipacazyga: isso14:46
popeyI prefer "Drink our own champagne" :)14:46
Chipacawe've got enough verified developers i think i should work on the snap cli bit of that14:47
* Chipaca looks14:47
cwaynepopey: what you don't like dogfood?!14:47
popeyonly on wednesdays14:47
cwaynemakes sense14:48
zygapopey: that is grose ;-)14:48
zygamy dog is grateful and returned for a hug14:49
threshChipaca, nope14:50
threshi'm not that hip14:50
zygaChipaca: tests are not happy today, are they?15:00
zygaChipaca: that's a nice one15:10
zygaChipaca: MATCH errors, opensuse download errors, mount errors15:10
zygabonus combo15:10
zygahttps://api.travis-ci.org/v3/job/402187098/log.txt15:12
Chipacazyga: plz restart it15:12
zygaack15:12
zygadone15:13
Chipacataw15:13
ChipacaI'm going to have to reimplement tabwriter for this thing15:13
Chipacafun :-)15:13
zygawhich thing?15:13
zygapedronis: replied on your comment15:23
zygaas for the incoming/outgoing terminology I'm open for changes but this is actually factually accurate representation of what happens15:23
zygapedronis: to stop changeing snap.Info we need to patch the interfac API layer heavily (ish)15:24
zyga*changing15:24
zygapedronis: on the up side those are not really full snap.Infos, those are just re-mapped on the outgoing path and are no longer linked to anything else in snapd15:24
pstolowskiniemeyer: re talking to udev: no generic udev->dbus bridge (only udisks2 for storage devices). the most appealing to me is a proxy executable that both enumerates and monitors the devices, and links with libudev. for the prototype I could just wrap udevadm info & monitor in a script (or have a script that just outputs predefined events) and focus on business logic of snapd, once that works have a proper udev helper binary.15:27
mupPR snapcraft#2178 opened: lifecycle: pass commands to containerbuild, not steps <Created by kyrofa> <https://github.com/snapcore/snapcraft/pull/2178>15:28
zygapstolowski: I think the answer to your main comment is that those are not _really_ snap.Infos, we just use the type for that because certain things about it are the same15:30
zygaer15:30
zygapedronis: ^15:30
zygapedronis: if you want I can look at separating those types out completely15:30
pedroniszyga: I need to look a bit at code, but I'm close to eod15:34
zygapedronis: ok, I'll prepare a small PR that shows what this would look like15:34
zygapedronis: essentially interfaces.Info type needs to grow some counterparts for snap.{Plug,Slot}Info15:35
zygapedronis: and then we need to copy the data out of snap.{Plug,Slot}Info into the new interfaces.{Plug,Slot}PartialInfo15:35
zygaso that there is no need to ever modify snap.{Plug,Slot}Info15:35
zygathe new interfaces.{Plug,Slot}Info would only be used in the response to /v2/interfaces (and perhaps partially to connections later)15:36
zygabut this doens't change the essence of the re-mapping, I think that is still correct15:36
Chipacazyga: I shal name thee 'hitter of restart job'15:42
Chipacazyga: (it just became green i think)15:42
zygaChipaca: oooh15:42
zygamerge it pretty please15:42
Chipacait's only got one  +1 :-)15:42
zygaChipaca: I'm the serverless api server  that makes things work ;015:43
Chipacabut, yeah, niemeyer reviewed it on irc :-)15:43
zygapstolowski: we need a +1, can you spare a sec?15:43
Chipacamerged15:43
Chipacadone15:43
mupPR snapd#5493 closed: tests: prepare needs to handle bin/snapctl being a symlink <Critical> <Simple> <Created by chipaca> <Merged by chipaca> <https://github.com/snapcore/snapd/pull/5493>15:44
zygathanks!15:44
pstolowski#4767 needs a second review... (for the brave only)15:49
mupPR #4767: interfaces: disconnect hooks <Complex> <Squash-merge> <Created by stolowski> <https://github.com/snapcore/snapd/pull/4767>15:49
Saviqhi all I've been getting store release / upload failures (500) from Launchpad, is that known? anything I can help with? https://launchpad.net/~saviq/+snap/subsurface-edge/+build/274030 is the failed release15:51
jdstrandroadmr: hey, can you pull in r1095 of the review tools (adds 2.34 interfaces and an override)15:51
roadmrjdstrand: sure!15:51
jdstrandthanks!15:51
Chipacacprov: ^ see Saviq's q15:53
roadmrmhh Saviq it looks like it was an error releasing only, for the arm64 upload15:58
* roadmr dives into logs15:58
zygapedronis: still here?15:59
mupPR snapd#5494 opened: snap/squashfs, tests: pass -n[o-progress] to {mk,un}squashfs <Created by chipaca> <https://github.com/snapcore/snapd/pull/5494>15:59
Saviqroadmr: I've been getting those in ~20% of the builds since the weekend, some of them upload failures, some release16:00
roadmrSaviq: let's see what log diving says :)16:00
zygapedronis: this is roughly the kind of change we'd have to apply to stop sending snap.PlugInfo in api responses: http://paste.ubuntu.com/p/5YqMTm3j9P/16:00
Saviqroadmr: https://launchpad.net/~saviq/+snap/subsurface-edge/+build/27371916:00
zygathis is _just_ the patch to the interface repository16:00
zygaa small change along this vein is needed in api.go and in the mapper (to stop changing PlugInfo)(16:01
zygaI can polish this all the way and propose16:01
Saviqroadmr: 0324, 0701, 1016, 1037, 1544 today (all UTC)16:02
Saviqand ok, it's only been today, not since the weekend16:02
roadmrSaviq: nice, thanks!16:02
zygapedronis: let me know what you think16:03
zygaI need to break to take the dog out while it is not raining16:03
roadmrSaviq: I think it's because of a problem we identified yesterday and a rollout is in progress to fix it (hopefully)16:08
roadmrSaviq: I'll let you know when done and after that please let me know if it happens again16:08
Saviqroadmr: ack, will do16:10
=== pstolowski is now known as pstolowski|afk
niemeyerpstolowski|afk: If udevadm is enough, why not just calling it?16:29
niemeyerpstolowski|afk: Send some notes on that forum message.. that should probably be an open thread, btw16:36
niemeyer(sounds generally interesting and worth archiving)16:36
* zyga returns home wet16:52
zygaso the week of rain starts now16:52
zygaI also saved the home camera by wrapping it in one of the bags for dog poo, I was glad to have a few extras16:53
* zyga -> hot shower16:53
niemeyerpstolowski|afk: Sorry, s/Send/Sent/ (but that was probably obvious)17:13
* Chipaca eods17:16
niemeyerHave fun Chipaca17:20
niemeyerI'll step out to run some errands as well.. back later17:20
jdstrandroadmr: hey, what does this mean: "Store upload failed: The request is missing an Authorization header field containing a valid macaroon" - https://launchpad.net/~jdstrand/+snap/snappy-debug/+build/27462019:49
jdstrandroadmr: a better question is, how do I fix that?19:49
roadmrjdstrand: macaroons have a hard expiration date of (I think) a year, is it possible this project has been pushing builds for a year or so?19:50
jdstrandroadmr: yes19:50
jdstrandroadmr: how do I regenerate the macaroon?19:50
roadmrjdstrand: does this use build.snapcraft.io? or just launchpad?19:51
jdstrandroadmr: just launchpad19:51
jdstrandroadmr: I wonder if 'Update snap package' would do it, if I change nothing else19:52
jdstrand(under 'Edit snap package')19:52
roadmrhmm maybe but let me check19:52
roadmrjdstrand: ok, so that should work, yes20:03
roadmrjdstrand: ideally you'd get sent to SSO for authentication, that would strongly suggest it's getting a new macaroon20:04
roadmrjdstrand: if not try changing some bogus value (and then back, like the channel for publishing)20:04
jdstrandok20:09
jdstrandroadmr: chaning nothing didn't work. trying changing something now20:10
roadmr\o/20:11
jdstrandroadmr: chaning something, updating, changing back, updating didn't work for an existing build. will now try a new build20:12
jdstrandit'll be a few minutes20:12
roadmrO;/ sorry about that20:13
jdstrandroadmr: oh, I was sent an email to go to https://launchpad.net/~jdstrand/+snap/snappy-debug/+authorize20:16
roadmrinteresting20:16
roadmrjdstrand: Colin would be the expert here, this explains my amazed face at most everything you're encountering20:17
jdstrandheh20:17
jdstrandI'm going to wait to see what happens with the build before clicking the url20:17
roadmrjdstrand: if you click on authorize you'll get a page "Authorize store uploads of fongo"20:20
roadmrjdstrand: after clicking the button and going through the flow, I see "Uploads of fongo to the store are now authorized."20:20
roadmrfongo is my snap :D20:20
roadmrjdstrand: if your build still doesn't upload, it seems very likely hitting /+authorize will work20:21
jdstrandroadmr: it didn't upload. hitting authorize20:21
roadmrfwiw I saw the same flow to authorize the uploads, because I was just creating the snap20:22
roadmrwhich is why I sent you on the wild goose chase :( sorry20:22
jdstrandroadmr: that took me through SSO20:22
roadmr\o/20:22
jdstrandroadmr: and I can upload again. thanks!20:23
roadmrwhee20:24
roadmrjdstrand: TIL about +authorize by the way :)20:24
mupPR snapd#5495 opened: interfaces/builtin: initial version of the anbox-support interface <Created by morphis> <https://github.com/snapcore/snapd/pull/5495>20:43

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!