[07:00] <pstolowski> Mornings
[07:56] <zyga> hey ho
[07:57] <Chipaca> let's go
[08:06] <zyga> morning :-)
[08:06] <zyga> overcast but warm today
[08:07] <zyga> Chipaca: I wrote down my thoughts on daemon-notify: https://forum.snapcraft.io/t/its-a-little-bit-hard-to-use-daemon-notify-for-sd-notify/6366
[08:07] <zyga> also did a tweet storm on twitter :)
[08:07] <Chipaca> zyga: I saw your tweets
[08:07] <Chipaca> zyga: also yesterday's
[08:07] <Chipaca> zyga: keep it up :-)
[08:07] <zyga> thank you for the encouragement :)
[08:07] <zyga> I was wondering if those are useful
[08:08] <zyga> and how long I will keep it up
[08:12] <zyga> uh, Guido resigned from Python
[08:12] <zyga> that's a biggie
[08:13] <Chipaca> zyga: he got his calendar wrong, it's not april 1
[08:13] <Chipaca> maybe it's some crazy dutch version of april fool's
[08:13] <zyga> I envision he will pick up gardening now
[08:13] <zyga> or sheep
[08:13] <Chipaca> like april fool's but more racist
[08:14] <zyga> so, the bottom line is
[08:14] <zyga> if you do something for fun and love
[08:14] <zyga> don't let others tell you how
[08:14] <zyga> I cannot imagine how he must feel
[08:16] <Chipaca> zyga: and now you know why snapd team doesn't have a line manager
[08:42] <popey> zyga: is there any particular reason you're doing long tweet threads rather than blog posts recently?
[08:43] <zyga> popey: experimenting with the format mainly
[08:43] <popey> If you collated those tweets together, they'd probably make great blog posts for snapcraft.io/blog
[08:43] <zyga> popey: I may do both actually, since the text can live in two places
[08:43] <zyga> mmm, I can do that
[08:43] <popey> we'd love to have more content there which is technical and approachable
[08:43] <zyga> I'll do a hybrid twitter/blog post today and we can see how that can show up on snapcraft.io
[08:44] <popey> we make quite a bit of effort to get the blog posts out there. your tweets will die overnight, "nobody" will see them
[08:44] <popey> the blogs will live on, and can be re-shared (if they're evergreen)
[08:44] <zyga> evergreen?
[08:44] <popey> timeless
[08:45] <zyga> ah
[08:45] <pedronis> well afaiu zyga's is tweeting about work in  progress work
[08:45] <zyga> yes, it's not the kind of post to return in 3 weeks
[08:45] <popey> right, some are, some aren't
[08:45] <zyga> but yeah, it's easier to read on a blog so I will aggregate as posts as well
[08:45] <pedronis> all code will be written and deleted and then rewritten (maybe)
[08:45] <popey> but putting it on twitter from an account nearly nobody follows means nobody sees it
[08:46] <popey> if the goal is just braindump fair enogh :)
[08:46] <zyga> I refreshed https://github.com/snapcore/snapd/pull/5307
[08:46] <popey> but if you want the content out there, I'd encourage blogging and working with us to promote them :)
[08:46] <mup> PR #5307: cmd/snap-confine: allow hard-coded mounts to be optional <Created by zyga> <https://github.com/snapcore/snapd/pull/5307>
[08:46] <zyga> it should go green soon
[08:46] <zyga> popey: I want it out there, it was just me experimenting with the format really
[08:47] <zyga> and as evening memory save for tomorrow (but a blog does that too)
[08:47] <popey> :) gotcha
[08:48] <zyga> and thank you for noticing, this is important to me
[08:48] <popey> <3
[09:37] <zyga> pstolowski: hey
[09:37] <zyga> do you need https://github.com/snapcore/snapd/pull/5433 ?
[09:37] <mup> PR #5433: interfaces/repo: added AllHotplugInterfaces helper <Created by stolowski> <https://github.com/snapcore/snapd/pull/5433>
[09:37] <zyga> or has that changed since we discussed last?
[09:38] <zyga> Chipaca: last chance to see https://github.com/snapcore/snapd/pull/5446 in case you want before I merge it
[09:38] <mup> PR #5446: coreconfig: add support for `snap set core network.disable-ipv6` <Created by mvo5> <https://github.com/snapcore/snapd/pull/5446>
[09:38] <zyga> it's green and has +2
[09:39] <Chipaca> zyga: that should be 'system' though, right
[09:39] <Chipaca> in any case, go for it
[09:39] <zyga> should it?
[09:39] <zyga> I can chance it to system
[09:39] <Chipaca> zyga: I mean, in user-facing docs
[09:39] <zyga> ahh
[09:39] <zyga> I see what you mean now
[09:40] <pstolowski> zyga: yes i need it, it's independent of udev bits we discussed
[09:40] <zyga> I misunderstood that as "snap set core system.disable-ivp6"
[09:40] <Chipaca> zyga: internally right now it's core, but system is what we should talk about because system is core now but coreXYZ later
[09:40] <zyga> Chipaca: totally agreed
[09:40] <zyga> Chipaca: I will tweak the spread test
[09:41] <zyga> in a world of iot customers ask for an off switch for ipv6
[09:44] <zyga> in some distant future the core snap version 1664 will be easy to confuse with 16-64 but perhaps nobody will use embedded 64bit address space anymore
[10:10] <zyga> Chipaca: I added a test for system snap for the ipv6 config now, thank you!
[10:10] <zyga> I will merge when green
[10:11] <Chipaca> zyga: 🆗
[10:12] <Chipaca> zyga: or should I say 🆗👌💯
[10:25] <zyga> I feel emoji deficient now
[10:28]  * zyga is enjoying fresh coffee
[10:29] <zyga> pressure must be low today, I'm more sleepy than usual
[10:53] <mup> PR snapd#5505 opened: interfaces/hotplug: udevadm output parser <Created by stolowski> <https://github.com/snapcore/snapd/pull/5505>
[10:55] <mup> PR snapd#5506 opened: cmd/snap: add a green check mark to verified publishers <Created by chipaca> <https://github.com/snapcore/snapd/pull/5506>
[10:57] <Chipaca> ^^^ look maw, it's terminfo's stupid inbred cousin!
[11:43]  * zyga forgot to eat breakfast today
[12:04] <zyga> Break
[12:21] <zyga> Mmmm, I feel tired somehow
[12:21] <zyga> pedronis: what do think about the branch?
[12:21] <pedronis> zyga: what branch?
[12:22] <zyga> The remapping one
[12:22] <pedronis> zyga: I added comments there
[12:22] <pedronis> a while ago
[12:22] <zyga> Oh, super. Let me look
[12:22] <zyga> Thank you!
[12:25] <zyga> Replied just now
[12:27] <zyga> I will deal with the coffee and add mapper that returns system in the API layer. We may need to differentiate the state and API mappers though, to keep rollback around (so that state is always mapping “snapd” to “core” on disk)
[12:28] <zyga> This is also a chance to rename the incoming outgoing words
[12:28] <zyga> To do explicitly talk about state loading/saving and API requests/responses
[12:29] <Chipaca> in test-snapd-tools.publisher expected 'canonical', got 'Canonicalâœ“'
[12:29] <Chipaca> I�Unicode
[12:29] <zyga> Woah?
[12:29] <zyga> Hehehe
[12:29] <zyga> But ... why?
[12:29] <Chipaca> zyga: why what?
[12:29] <zyga> Is the real value ascii
[12:29] <zyga> Why did it get corrupted
[12:30] <Chipaca> zyga: answering that requires investigation
[12:30] <Chipaca> zyga: did the python checker get it wrong? did the log print it wrong? is the browser using the wrong encoding? etc etc
[12:31] <zyga> Because software sucks and we’ll all pick up gardening instead ;-)
[12:31] <zyga> I vote for python
[12:31] <Chipaca> zyga: I name myself BGFL
[12:32] <zyga> Since Guido left python started throwing Unicode errors on all 7 bit ascii values
[12:32] <Chipaca> zyga: for _this_ one, my money is on the browser
[12:32] <zyga> Dead hand system (aka dead snake)
[12:32] <Chipaca> zyga: confirmed, it's the browser; log file is fine
[12:32] <Chipaca> in test-snapd-tools.publisher expected 'canonical', got 'Canonical✓'
[12:34] <Chipaca> HAH! suse's default locale is not UTF-8ish
[12:34] <Chipaca> for suse: in test-snapd-tools.publisher expected 'canonical', got 'Canonical*'
[12:39] <mup> PR snapd#5498 closed: snap: support hook environment <Created by kyrofa> <Merged by stolowski> <https://github.com/snapcore/snapd/pull/5498>
[12:39] <King_InuYasha> obs-build defaults to POSIX / C, even though openSUSE itself defaults to C.UTF-8
[12:39] <King_InuYasha> zyga, Chipaca ^
[12:40] <Chipaca> King_InuYasha: I wonder why our spread box isn't getting that one
[12:40]  * Chipaca spins it up to check
[12:42] <cjwatson> one of the reasons very recent python has the automatic UTF-8 upgrade stuff
[12:49] <zyga> hmm
[12:49] <zyga> bad restore codE? https://www.irccloud.com/pastebin/d59S4fs6/
[12:51] <mup> PR snapd#5504 closed: interfaces/pulseaudio: be clear that the interface allows playback and record <Simple> <Created by jdstrand> <Merged by stolowski> <https://github.com/snapcore/snapd/pull/5504>
[12:51] <Chipaca> King_InuYasha: in opensuse 42 that we run spread on in GCE, LANG=POSIX, with just LC_CTYPE=en_US.UTF-8
[12:51] <Chipaca> what even is LANG=POSIX
[12:52] <Chipaca> 'in the lang of posix where the standards lie [through their teeth]'
[12:57] <ogra_> that definitely needs to be POSIX.UTF-8 :P
[12:57] <ogra_> how else would you get standardized umlauts
[12:57] <mup> PR snapd#5494 closed: snap/squashfs, tests: pass -n[o-progress] to {mk,un}squashfs <Created by chipaca> <Merged by stolowski> <https://github.com/snapcore/snapd/pull/5494>
[13:06] <King_InuYasha> Chipaca: POSIX is an alias for C
[13:57] <jdstrand> niemeyer: can you add https://forum.snapcraft.io/t/tio-request-for-classic-confinement/6209 to your list of considerations for classic?
[13:58] <niemeyer> jdstrand: Of course, thanks
[13:58] <jdstrand> thanks
[13:58] <smoser> hi. is it possible to change the mode (jailmode/devmode/classic) of an installed snap ?
[14:00] <Chipaca> smoser: it is not
[14:00] <Chipaca> smoser: well
[14:00] <Chipaca> smoser: 'snap refresh' can do it
[14:00] <Chipaca> smoser: but 'snap switch' cannot
[14:00] <Chipaca> smoser: why?
[14:01] <smoser> jsut curious mostly.
[14:01] <smoser>  https://github.com/smoser/pdftk/issues/1
[14:01] <smoser> one solution to that is to instlal with --devmode (i think)
[14:02] <Chipaca> smoser: devmode stops you from getting updates though
[14:02] <jdstrand> smoser: that won't work cause devmode also uses the mount namespace and snap-specific /tmp
[14:02] <Chipaca> heh, and what jdstrand said
[14:02] <smoser> right.
[14:03] <Chipaca> smoser: what i've done when I had things in tmp is use bash's <()'s
[14:03] <smoser> thanks jdstrand . so the only solution there is "don't  use /tmp"
[14:04] <Chipaca> smoser: so instead of pdftk infile outfile, pdftk <(cat infile) >(cat > outfile)
[14:05] <smoser> well the snap should be able to write to its stdin and stdout anyway
[14:05] <smoser> so you shouldnt need the (cat)
[14:05] <Chipaca> smoser: ah, if pdftk handles stdin/stdout, sure
[14:05] <smoser> just snap-program </tmp/my-input >/tmp/my-output
[14:06] <cjwatson> you might want to double-check that, since apparmor revalidates access to open fds
[14:06] <smoser> i yeah.. i hit that somewhere. it works sometimes.
[14:06] <cjwatson> so it's at least potentially the sort of thing that might not work even though it feels like it should
[14:06] <pstolowski> zyga: can you take a look at #5451?
[14:06] <smoser> i went looking for where i found it. thought i reported it, cbut coudnt find it.
[14:06] <mup> PR #5451: interfaces: honor static attributes when reloading conns <Blocked> <Created by stolowski> <https://github.com/snapcore/snapd/pull/5451>
[14:09] <smoser> https://bugs.launchpad.net/snappy/+bug/1766667
[14:09] <mup> Bug #1766667: commands in a container cannot write to inherited filehandles such as stdout <Snappy:New> <https://launchpad.net/bugs/1766667>
[14:09] <smoser> is that in the worng place ?
[14:11] <Chipaca> smoser: i'll move it to snapd, but no
[14:11] <Chipaca> smoser: (snappy is the catchall for snapd + snapcraft + etc etc, in lp)
[14:13] <Chipaca> I'll leave it to jdstrand to figure out if it's actually snapd or lxd-in-a-snap or what :-)
[14:14] <mup> Bug #1766667 changed: commands in a container cannot write to inherited filehandles such as stdout <snapd:New> <https://launchpad.net/bugs/1766667>
[14:49] <zyga> pstolowski: yes
[14:51]  * Chipaca afk for a bit
[15:03] <zyga> pedronis: hey, I updated https://github.com/snapcore/snapd/pull/5491
[15:03] <mup> PR #5491: overlord,daemon: re-map interface plugs and slots around the edges of snapd <Core18> <Created by zyga> <https://github.com/snapcore/snapd/pull/5491>
[15:03] <zyga> I swiched the helpers to be functional now
[15:03] <zyga> switched*
[15:03] <zyga> I'm looking if we can cheaply translate differently inside and outside to get  "core" in state, "snapd" in memory and "system" in the API
[15:03] <zyga> I think so, just making the changes now
[15:04] <pedronis> zyga: ok, thank you
[15:10] <zyga> pedronis: question on api naming:
[15:10] <zyga> https://www.irccloud.com/pastebin/0wawqbLN/
[15:11] <zyga> I tried to come up with useful names for the state vs api remappers
[15:11] <zyga> what do you think?
[15:12] <zyga> pedronis: basically I'm open to suggestions as I'm making that change anyway
[15:13] <pedronis> the names seem reasonable
[15:15] <zyga> great, I'll run with those, thank you
[15:24] <scientes> How do I list all files in all snaps in the database?
[15:24] <scientes> is there a database I can download?
[15:25] <scientes> (like apt-file/apt's Contents.gz)
[15:31] <noise][> scientes: there is not currently a manifest such as that
[15:32] <Chipaca> scientes: what for?
[15:33] <scientes> command-not-found
[15:33] <ogra_> there is definitely nothing client side like Packages.gz (or the apt list files which are the local equivalents), this is all handled store side
[15:33] <Chipaca> scientes: what about command-not-found?
[15:34] <Chipaca> scientes: (we already have commant-not-found integration)
[15:34] <scientes> when I rewrote it ( https://github.com/shawnl/command-not-found/ ), there was comments that it should support snap
[15:34] <scientes> I re-wrote it to avoid the python dependency
[15:34] <Chipaca> scientes: oh! hi :-)
[15:36] <Chipaca> scientes: the person that did the majority of the integration with cnf is away this week
[15:36] <scientes> i'll look at the source
[15:36] <Chipaca> scientes: but, not command-not-found itself has grown support for being extended
[15:36] <Chipaca> scientes: and snap uses that extension point
[15:36] <scientes> oh i c
[15:36] <Chipaca> I say "has grown", but we were instrumental to that growth
[15:37] <scientes> does it increase the latency, given that it has to make a network request for every command_not_found hook?
[15:37] <Chipaca> scientes: it does not have to make a network request
[15:37] <Chipaca> scientes: the list of all commands _is_ available
[15:37] <Chipaca> scientes: the list of all files is not
[15:37] <scientes> oh i c that is better
[15:38] <Chipaca> scientes: if you have snapd on your system, you can look at the database, /var/cache/snapd/commands.db
[15:38] <Chipaca> scientes: snapd refreshes that periodically
[15:39] <Chipaca> scientes: all command-not-found does is then call (via an extension mechanism that I don't know offhand), e.g., “snap advise-snap --command tmnationsforever”
[15:39] <scientes> do you know what format that is?
[15:39] <Chipaca> scientes: boltdb
[15:40] <Chipaca> scientes: the integration made it into 18.04, but has not been backported, fwiw
[15:40] <scientes> yeah im' running 18.04
[15:40] <Chipaca> cool
[15:40] <scientes> looks like boltdb is deprecated
[15:41] <Chipaca> so 'command_not_found_handle tmnationsforever' should show you
[15:41] <Chipaca> scientes: whatever the new thing is called, it's the same
[15:42] <Chipaca> scientes: bbolt
[15:43] <Chipaca> scientes: before you start looking into that database, keep in mind that the cnf extension mechanism was at least in principle built to also support flatpak
[15:44] <Chipaca> anyhow, back to work for me
[15:44] <scientes> thanks
[15:47] <mup> PR snapd#5507 opened: Changes to network-control interface <Created by kubiko> <https://github.com/snapcore/snapd/pull/5507>
[15:51] <pedronis> zyga: I will re-review on Monday morning if you push there
[15:51] <zyga> yes, I will, just getting dinner now
[15:51] <zyga> thank you!
[15:51] <pedronis> pstolowski: I will also look at the patch PR next week
[15:54] <pedronis> pstolowski: 5502 it's maybe something you could look at when you have time
[16:32]  * Chipaca encourages spread to finish so he can EOW
[16:38] <pstolowski> pedronis: yes i started looking at it
[17:01]  * zyga is "lucky"
[17:01] <zyga> every time I go out for a walk it rains
[18:06] <mup> PR snapcraft#2179 closed: cli: SNAPCRAFT_BUILD_ENVIRONMENT isn't deprecated <Created by kyrofa> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/2179>
[18:53] <roadmr> what's the cross-section between snapd-control interface and classic?
[18:53] <roadmr> if a snap uses classic, can it do snapd-control stuff? or is snapd-control isolated even from a classic snap?
[18:55] <pedronis> roadmr: if it has bits that run as root, yes
[18:55] <roadmr> ohh I see pedronis
[18:56] <roadmr> pedronis: and we have no way of knowing whether it does stuff as root, right?
[18:56] <roadmr> pedronis: so to ask another way: if a snap asks "I need either classic or snapd-control", we would prefer to grant snapd-control as it's less powerful than classic? (but I understand it's still quite powerful and dangerous)
[18:57] <pedronis> roadmr: yes, but it depends, there are factors of trust at play, also snapd-control is not useful for something like a compiler or an ide
[18:57] <noise][> and snapd-control gives you those powers in fully confined (core) systems as well
[18:58] <roadmr> pedronis: right, I'm thinking about the case of a snap that wants classic to be able to interact with snapd
[18:58] <pedronis> yes, no classic on core
[18:58] <roadmr> ahh interesting, noise][
[18:58] <pedronis> roadmr: it probably should instead make a case to get snapd-control
[18:59] <pedronis> talk to snapd is a case for snapd-control, not for classic
[18:59] <pedronis> (taken by itself)
[18:59] <roadmr> pedronis: right. OK, so that's guidance we can provide to developers in this case
[18:59] <pedronis> roadmr: I mean we shouldn't give classic to something we wouldn't give snapd-control, if the situation is talk to snapd
[19:00] <noise][> that said we are very reluctant to grant snapd-control for anything in the global store
[19:00] <roadmr> totally
[19:01] <pedronis> noise][: yes, but in general we have been reluctant with any manage the system kind of thing so far
[19:01] <pedronis> in the global store
[19:01] <pedronis> (afaiu)
[19:01] <pedronis> I don't see classic vs snapd-control changing that equation
[19:01] <roadmr> noise][: yep, I remember that... so  without guarantees that snapd-control will be granted, if someone wants classic and when asked why, says "so my snap can manage/add/remove/update snaps", we can say "the right thing to use is snapd-control" - but to reiterate, snapd-control use is evaluated on its own merits
[19:02] <roadmr> terrific, well this is enough info for what I wanted to know :) thanks both
[19:08] <zyga> pedronis: I got the state<=>memory<=>api mapper working, playing with more tests but it looks very good
[23:37]  * zyga wraps up for the week