[00:00] Anyway, here's my understanding: [00:01] The @click.version_option() command should be like @click.version_option(message.format(snapcraft.__version__)) [00:01] This get the version number and plugs it in the variable string [00:01] The same goes in the version module. click.echo(message.format(snapcraft.__version__)) [00:02] kyrofa, is this correct so far? [00:03] Essentially. The question is: where does `message` come from? [00:04] Yes [00:07] how do you ensure that the Mp3 or whatever you are sending is seen in servicesID ? [00:08] Hmm. Anyone run into this before? https://forum.snapcraft.io/t/raspberry-pi-2-edge-core-snap-seems-broken/3061/2 [00:09] Yes, that is essentially the question, kyrofa [00:09] gsilvapt, you've been right so far, can you continue? [00:09] I tried adding in version module, before click statement and didn't work. Tried adding to group section, not worked either [00:10] kyrofa, not really. The question is where should I define that variable [00:10] gsilvapt, take a look at snapcraft/cli/store.py [00:11] gsilvapt, notice the `_MESSAGE_REGISTER_PRIVATE` definition [00:11] kyrofa, yes, I'm trying to follow the example [00:12] gsilvapt, the module-level definitions (like the variable) are accessible from __init__ because we have an "import versioncli" there, right? [00:12] Which means you can access stuff via `versioncli.` [00:12] Uh, no sorry [00:12] Haha [00:13] Rather, the module-level definitions are available in the `.version` import [00:13] Note how in __init__.py we're using `from .version import versioncli` [00:13] All we need to do is also import the variable you define in there [00:13] It works the same way [00:15] kyrofa, so I added from .version import _MESSAGE_SNAPCRAFT_VERSION and I am able to use the command again without any errors [00:16] now I have to properly define the string to get prog name and version number [00:16] Right now the version command is always retrieving ($prog) and ($version) [00:16] There you go. Although since you've created it for use for other modules I wouldn't use an underscore at the beginning (that indicates that it's mean to be private) [00:17] Oh right, this is different in Python. A global variable does not take any underscore, right? [00:17] Well, it can, it depends on its usage [00:18] kyrofa, how about this case? [00:18] Python has very little rules, but lots of conventions [00:18] I would call it `SNAPCRAFT_VERSION_TEMPLATE` [00:18] I'm more used to work in Java and this stuff is specific anyway :P [00:20] Well, it's late again and I need to sleep. I hope we can work on this together some time soon. I think it is working now but the string is poorly defined. I need to tell Python where to get the variable values ($prog) and ($version) [00:20] %(prog) and %(version) instead of what I wrote before, lol [00:23] Yeah that's not too hard, happy to work on it later with ya [00:23] Thank you! Have a good night folks o/ [00:23] o/ [00:24] Night gsilvapt [00:35] PR snapcraft#1728 closed: beta [02:42] elopio kyrofa snapcraft#1781 is updated [02:42] PR snapcraft#1781: many: set rpath for elf files for classic === chihchun_afk is now known as chihchun === chihchun is now known as chihchun_afk [07:26] morning [07:27] sorry i'm later than usual, had to drive the kids to school & kindergarten [07:27] hey mborzecki, good morning! [07:27] mborzecki: no worries [07:28] mvo: thanks for the review & suggestions btw [07:29] mborzecki: your welcome, but I may have been to simplistic, I think there are more cyclic case [07:30] mborzecki: something like "a: after-b, b: after-c, c: before-a [07:30] mborzecki: which I guess (I need to look again) your code addressed but mine did not [07:30] zyga suggested trying to do topo sorting on a graph, so i tried to play with this yesterday, but the naiive approach that i did over the weekend beat the 'smart' in all the cases i tried [07:31] mborzecki: heh :) yeah, our inputs are pretty small [07:31] mborzecki: I will look at this again with a fresh mind today [07:33] the benchmarks would suggest that we're loosing on doing extra allocations when creating the 'extra' data structures either dfs or khan may need [07:34] mvo: one thing that bugs me, is that if you add 'after' does that imply 'Requires=' in the service file? [07:37] mborzecki: I think it does not imply this, one is about ordering, the other about dependencies, they are often used together but orthogonal. i.e. you can express "if this thing.service is installed I want to start before. without the requires it also says: but I don't care if it is there or not" [07:38] this post mentions 'with' https://forum.snapcraft.io/t/snap-service-start-ordering/1470/13 this might map to Requires [07:38] mborzecki: yeah, I think there is language in there (as a next step) to express these dependeices as well [07:40] let's land this one first and we'll know if there's need for more ways to express dependencies [07:58] good morning folks [07:59] kalikiana: morning [08:06] PR snapd#4361 opened: devicestate: fix misbehaving test when using systemd-resolved [08:36] mvo: I uploaded a new version of the test-snapd-gnome-online-accounts snap (the original wouldn't run due to library incompatibility), which seems to have been held up by the automatic review process. Are you able to do anything about that? [08:41] jamesh: probably, let me check [08:43] jamesh: did you request a manual review? [08:43] jamesh: if not, please do [08:44] mvo: I've done that now [08:45] jamesh: approved [08:45] thanks [08:45] jamesh: yw, shall I pushlish it as well? [08:46] mvo: I think I've got it published right now [08:47] thanks for the help [08:47] great, your welcome [09:04] mvo: is edge building still broken? afaict current edge doesn't contain yet the configure-snapd fix [09:06] pedronis: let me check, I though I triggered a manual build the other day. auto-building is broken [09:06] pedronis: let me trigger it now [09:19] o/ [09:20] man, I overslept [09:25] I ended up poking at spread in qemu until way too late :-) [09:26] but, now i'm off to physio gym thing, so it evens out [09:26] Chipaca: what did you find? [09:26] o/ [09:26] ah, ttyl [09:26] zyga-ubuntu: i found that it's weird :-) [09:26] pfff, we all knew that [09:26] ;-) [09:26] enjoy; let's talk soon [09:26] zyga-ubuntu: i've got two straces, one that dies and one that doesn't [09:27] zyga-ubuntu: I don't see the difference [09:27] pastebin thenm [09:27] them* [09:27] +1 [09:27] o/ mvo [09:27] I have a pastebin I'm chewing through since yesterday, today I need to do some practical experiments on non-test machines [09:27] cachio_: fwiw, trying to reproduce the install-cache test failure you mentioned on ubuntu-core-16-64 seems to be ok for [09:27] well, on non-spread test machines running core [09:28] cachio_: I try harder [09:28] hey zyga-ubuntu [09:28] we are doing some very weird things on core [09:28] (lots of red lights in my mind) [09:28] the failure of those tests I mentioned yesterday, with the stale core detection, is deeper [09:28] even if we reboot the system is really broken IMO [09:28] zyga-ubuntu: oh [09:29] http://paste.ubuntu.com/26123959/ and http://paste.ubuntu.com/26123957/ [09:29] zyga-ubuntu: tell me more? [09:29] zyga-ubuntu: please [09:29] mvo: the pastebin I sent you pics of yesterday was from the console of a core system [09:29] mvo: it seems that we mount / twice [09:29] mvo: with a load of things in between [09:30] mvo: my understanding of how this works means that _all_ of the things we mounted before 2nd / are just wasted memory and hidden entries [09:30] mvo: I don't yet know why we do that [09:30] zyga-ubuntu: could it be a pivot root thing going on? [09:30] mvo: it might be but pivot root would leave / mounted elsewhere [09:30] you cannot pivot root / / [09:30] (no op) [09:30] zyga-ubuntu: well, we need to work on this for base-18 anyway, so a good time to cleanup [09:30] http://pastebin.ubuntu.com/26118789/ [09:30] mvo: good to hear [09:31] mvo: I'll poke at a real pi3 device and see if this is consistent [09:31] zyga-ubuntu: have you looked at the initramfs code? the writable path things makes it messy, I'm all for a cleanup [09:31] (and historic baggage) [09:32] ok, i'm off for real now. I'll leave you guys to ponder which one of those two traces is the one that kills the whole session. [09:33] to me they look identical [09:33] Chipaca: ha, good plan :) [09:33] (but yes, i know which is which) [09:34] it's as if one of them closed stdout, or stderr, or stdin, or whatever it is [09:34] hmm [09:34] * zyga-ubuntu hates pastebein with moronic need to auth [09:34] no wget [09:34] zyga-ubuntu: I'm looking at the pictures you pasted, I see core_ mounted twice on / is that what you are concerend about? [09:34] mvo: yes [09:34] mvo: IMO that is wrong [09:34] zyga-ubuntu: blame spammers [09:34] PR snapd#4362 opened: interfaces: update fixme comments [09:35] * Chipaca runs off before he gets sucked in again [09:35] zyga-ubuntu, ^ hey, one of the changes you requested - just an update of comments, no code change [09:35] zyga-ubuntu: yeah, let me wander into initramfs land again /me puts on asbestos cloth [09:35] mvo: yeah [09:35] zyga-ubuntu: did i ever tell you about debugging docker on arm64 where cloneflags was ignored so pivot_root was called in the default namespace [09:35] mvo: I'll gladly work on fixing this [09:35] zyga-ubuntu: that was quite confusing :) [09:36] mwhudson: haha, that must have been quite the alice in wonderland moment [09:36] especially as the host system didn't have an awful lot on it to distinguish it from the docker image i was testing with [09:36] zyga-ubuntu: we need to be careful this sh code is undertested [09:36] mwhudson: woah :) [09:36] i run docker run foo ... and docker itself disappears? [09:38] mvo: I'm acutely aware of that :/ [09:39] zyga-ubuntu: I know :) [09:40] zyga-ubuntu: I may have found the bug already and its amazingly stupid [09:40] zyga-ubuntu: my conservative self is not wanting me to say this, but: I really want to write the initramfs stuff in something sane that is not sh [09:40] !!! [09:41] that was quick [09:41] mvo: skunkworks project to rewrite that +1 [09:41] mvo: just not in go (we cannot) [09:41] zyga-ubuntu: no go because of the setns issues? [09:41] mvo: so, this is interesting: on bare metal I don't see that problem: http://pastebin.ubuntu.com/26123995/ [09:42] with threading and all that [09:42] mvo: not only setns but yes [09:42] mvo: 1thread requirement [09:43] mvo: the fact that / is mounted from initramfs and then core is mounted again from userspace is also a bit annoying but I don't know if it's worth fixing [09:43] http://pastebin.ubuntu.com/26123999/ <- core snap mounted twice [09:43] zyga-ubuntu: yes [09:44] pedronis: new core snap in edge should have the configure-snapd fix now, I did a bit of manual handholding [09:45] mvo: also interesting: http://pastebin.ubuntu.com/26124012/ the two snaps we mount from initramfs are mounted as _writable_ and not as auto-clear [09:45] mvo: the auto clear is probably irrelevant but the writable bit should have never been set [09:45] mvo: this allows an attacker to write to loop0 and change the squashfs bits [09:47] zyga-ubuntu: aha, that should be an easy fix, one minute [09:48] zyga-ubuntu: http://paste.ubuntu.com/26124029/ [09:49] mvo: +1 [09:50] mvo: every time I look at that pile if shell I feel bad [09:51] zyga-ubuntu: yeah, makes me want to scrub myself [09:51] mvo: can you fix inconsistent tabs/spaces [09:51] zyga-ubuntu: anyway, lets see what we can do to fix things [09:51] mvo: if you are going to make changes there [09:51] mvo: thank you, refresh to it now worked [09:51] mvo: I'll check other systems, I don't understand if the brokenness I saw is specific to spread [09:52] pedronis: yay [09:52] Issue snapcraft#1702 closed: Apply guidelines from design to error messages with reasons for errors [09:52] PR snapcraft#1640 closed: cli: add what, why, and how to fix to the common errors [09:52] pedronis, hey, can you take a look and weight on #4301? I've addressed the last bit from Gustavo (AttrGetter -> Attrer renaming), but aparently he didn't manage to re-review yesterday, would be good to land it as it's a prerequisite for others [09:52] PR #4301: interfaces: PlugInfo/SlotInfo/ConnectedPlug/ConnectedSlot attribute helpers [09:52] mvo: and btw, I don't see any use of pivot_root [09:52] mvo: is it hidden somewhere or are we just missing it? [09:53] zyga-ubuntu: I think I may misrember actually [09:53] zyga-ubuntu: now that I look at the code its less clear to me what is going on [09:53] pstolowski: will look in a bit [09:53] mvo: I'll check dragon and I'll get an amd64 image for qemu [09:54] PR core-build#24 opened: ubuntu-core-rootfs: mount os/kernel snaps RO [09:55] Issue snapcraft#1663 closed: patchelf with common rpath (not runpath) [09:55] PR snapcraft#1781 closed: many: set rpath for elf files for classic [09:55] mvo: can you test your PR in practice and see that losetup --json shows it's correct then? [09:55] mvo: a manual test if you can do that [09:56] mvo: I approved the PR already [09:57] mvo: we really have to rewrite mount units [09:57] mvo: on dragon I see three generation of mount files we write [09:58] mvo: a simple rewrite that fixes things for next boot would be good [10:05] mvo: uh, my mistake, I was blinded by odd double-sided print [10:05] mvo: stop looking for double / :) [10:05] mvo: so now I'm back to square one, what is wrong there :/ [10:06] zyga-ubuntu: rewrite fix is still needed? or should I also scratch that? [10:06] PR snapd#4363 opened: cmd/snap-mgmt: add more directories for cleanup and refactor purge() code [10:07] zyga-ubuntu: rewriting with the before=snapd.servie? [10:07] mvo: no, that is still needed [10:07] mvo: that should have been there forever [10:08] zyga-ubuntu: ok, but "just" that - or do we need more rewrite? [10:08] mvo: not sure I understand the difference; we need to be able to rewrite mount units and and we ought to rewrite mount units in the field to correct for past mistakes [10:10] zyga-ubuntu: we are in agreement, I was wondering if there is a new bug that requires us to rewrite them [10:10] aha, sorry for being confusing then [10:10] zyga-ubuntu: I will have a look. no worries, communication is hard :) [10:10] (it always is!) [10:10] mvo: the pastebin I sent you, I was holding it wrong, litteraly :) [10:10] I looked at head of both inside and outside parts [10:11] zyga-ubuntu: heh [10:11] zyga-ubuntu: we have 256 files in etc and var in my base-18 WIP snap :/ there is quite some work to get rid of those if we want to get rid of the writable-path magic [10:12] * mvo gets to work [10:12] mvo: where do you do this work? [10:12] mvo: I'd love a new repo for base-18 [10:13] zyga-ubuntu: lp:snap-base-18 [10:13] zyga-ubuntu: so far very minimal/experimental/WIP but its a start [10:14] bzr or git? [10:14] zyga-ubuntu: git [10:14] zyga-ubuntu: what is bzr? [10:14] hhaha [10:14] * zyga-ubuntu checks how to clone from launchpad [10:14] zyga-ubuntu: https://github.com/snapcore/base-18 :P [10:15] * mvo is afk for some minutes [10:15] mvo: so is it on launchpad or github? [10:21] mvo: I've started sending PRs [10:36] Hi guys, does anyone know how can I enable the driver from bluetooth on the Raspberry Pi with Ubuntu snappy core? [10:40] brunosfer: it should already be enabled, [10:40] zyga-ubuntu: github [10:40] ok [10:40] mvo: I send one trivial PR [10:40] mvo: how do you test/use this? [10:41] mvo: one more [10:42] zyga-ubuntu: well, I build a snap :) thats all there is for tests so far [10:43] zyga-ubuntu: good stuff, thank you! [10:43] mvo: ha, well, I didn't think of that :) [10:43] zyga-ubuntu: but yeah, its a good question, we need more automation and travis and all that here [10:43] mvo: snapcraft fails, did you run it via fakeroot? [10:44] zyga-ubuntu: yes, it needs to run as root currently, I think fakeroot will work [10:44] zyga-ubuntu: the LP builder runs it as real root [10:44] * zyga-ubuntu tries fakeroot snapcraft [10:45] zyga-ubuntu: what is annoying is that in order to get to an empty /etc we need to undo the alternatives system i.e. awk which is provided via an alternative [10:45] (and more, w, pager) [10:46] hmm, we need real real root [10:46] zyga-ubuntu: ok, I need to look into why, iirc because of chroot, right? [10:46] zyga-ubuntu: *maybe* fakechroot works [10:47] mvo: no, because of chroot [10:47] mvo: anyway, that's fine, [10:47] zyga-ubuntu: fakechroot may work [10:47] mvo: just trying to see where this is going and what's in the snap [10:48] zyga-ubuntu: I hope it goes into a minimal base that can boot and that works with an empty /etc/ /var so that we can do factory reset easily and don't need the writable-path hacks [10:48] why dont you just grab an ubuntu-base tarball from cdimage and modify it as needed ... [10:48] ogra_: that would also be an option, right now it is using debootstrap to get that [10:48] (with a bit of fiddling oyu can even do that completely without chroot calls) [10:49] mvo, yeah i was guessing that ... [10:49] ubuntu-base is pretty much a minbase debootstrap though [10:51] mvo: there's some things that should be easy to kill [10:51] ogra_: indeed, interessting [10:51] mvo: etc/selinux [10:51] zyga-ubuntu: yeah /etc/{apt,dpkg} [10:51] mvo: /etc/apt [10:51] yeah [10:52] mvo: /etc/kernel/install.d [10:52] zyga-ubuntu: and some stuff we need to look at and upstream, i.e. if adduser.conf has different defaults than adduser itself we should ensure that gets fixed [10:52] just dont kill /usr/share/doc//copyrights.gz ... [10:52] ogra_: make that a fuse https FS [10:52] ;-) [10:52] ogra_: yeah, no worries :) [10:52] :) [10:53] ogra_: its mostly based on the current livecd-rootfs scripts [10:53] ogra_: the new skeleton [10:53] ogra_: but using a different "base" [10:53] yeah .. many of these scripts can also be dropped [10:53] we (I) didnt do a good job of throwing away old stuff thats not needed anymore [10:54] and some bits that live in ubuntu-core-config should rather move to the build scripts ... and vice versa ... someone should do an audit of all this [10:55] ogra_: yeah, the work on this is (slowly) starting with base-18. unfortuantely quite a bit of work but at the same time exciting because of the cleanup potential [10:55] yep [10:56] /etc/bindresvport.blacklist <- why do i have this file in /etc :( [10:56] i'm still curious how it will work out ... but looking massively forward to have bases for commercial projects ... they will massively solve issues i'm running into since i started in the new team [10:56] anyway, [10:57] ogra_: fingers crossed, but I'm excited aboutt the opportunities, all sorts of crazy bases [10:57] yeah [11:02] mvo: some more stuff in 3 [11:13] https://github.com/snapcore/base-18/pull/3 [11:13] PR base-18#3: Document how to build the project locally, trim /etc, ignore build artefacts [11:14] mvo: do we need /etc/init.d? [11:15] mvo: /etc/ld.so.conf.d/libc.conf also looks like something to remove [11:16] mvo: /etc/logrotate.d/{alternatives,dpkg} [11:16] mvo: /etc/profile.d [11:16] mvo: /etc/rc[0-6S].d [11:17] mvo: anyway, I think it would be fantastic if we had a way to kvm-boot this for testing [11:17] mvo: take a kernel snap, base-18 and gadget and boot it some way for very fast iteration [11:25] * kalikiana coffee break [11:36] okay, that was a lie, I ended up making tea [11:38] * zyga-ubuntu wonders when we will see snaps on windows 3.11 http://assets.metacade.com/emulators/win311vr.html [11:38] mvo, hey [11:40] mvo, The changelog for 2.30 rc2 doesn't contain the 2.29.4.2 changes [11:40] mvo, is it ok? are those changes included? [11:48] cachio_: thanks for catching that, I will double check [11:49] mvo, apart of that I have seen some issues during the execution [11:49] zyga-ubuntu: thanks! yeah, I think that must be the goal, right now the initramfs stuff cannot boot bases - just core [11:49] cachio_: tell me more, you mentioned yesterday that the install-cache test fails ? [11:50] mvo, yes [11:50] and the error seems to be genuine [11:51] mvo, similar issue for catalog-update [11:52] mvo, https://paste.ubuntu.com/26120827/ [11:52] this is a reexec in pi3 for all the errors that I saw [11:53] some of them are test errors, I am working on fixing them [11:55] cachio_: for the cache-install failure, does that happen just on arm or on any core device? [11:55] mvo, it was in any core device [11:55] both tests failed in any core device [11:55] the install-cache and the catalog-update [11:56] mvo, I have to go to the doc now [11:56] I'll be back for the standup [11:56] cachio_: thanks, I need to dig into this then, I was not able to reproduce it from a release/2.30 git checkout and running spread from there, sounds like I need to create an image first [11:56] cachio_: sure, see you. and thanks for the update [11:56] mvo, np [11:57] hello everyone [11:59] hey sergiusens [11:59] sergiusens: what's the weather like where you live? [11:59] i bet it's better than here [11:59] zyga-ubuntu: why do you ask? [12:00] mvo: ? [12:00] just curious [12:00] zyga-ubuntu: I was wondering if you want to fly there ;) [12:00] zyga-ubuntu non deterministic [12:02] zyga-ubuntu, definitely better than yours :) [12:03] zyga-ubuntu https://www.facebook.com/photo.php?fbid=10159702028205367&set=a.10154038137770367.1073741826.844960366&type=3&theater [12:04] it might rain, it might not; it might get cooler (like 18), it is 25 now, and it might also go up to 39 [12:04] what did you do to your knee ? [12:04] depends on if i decides to rain [12:04] ogra_ https://en.wikipedia.org/wiki/Chondromalacia_patellae [12:05] ouch [12:09] sergiusens: nene, eso no se hace! :-( [12:15] hmm tarvis jobs mostly timing out today? [12:18] mborzecki: sad travis day [12:18] I'm working entirely locally [12:21] btw sergiusens I tried out the slot feature in the calendar. Can you see any difference on your end? I'm not sure if it handles regular appointments correctly. You should see at least one 'unavailable' slot tomorrow. [12:25] PR snapd#4362 closed: interfaces: update fixme comments [12:28] PR snapd#4301 closed: interfaces: PlugInfo/SlotInfo/ConnectedPlug/ConnectedSlot attribute helpers [12:30] #4354 needs a 2nd review [12:30] PR #4354: tests/lib: introduce helpers for setting up /dev/random using /dev/urandom in project prepare [12:58] hi. does the automated github build service only build from the master branch, or do all branches get built? [12:59] mcphail: hey, do you mean on build.snapcraft.io? [13:02] yes, zyga-ubuntu [13:02] lunch time [13:04] mcphail: ah, I don't know what's the state of that, sorry [13:04] zyga-ubuntu: ok, thanks [13:10] ogra_ is there an amd64 Ubuntu Core image for download? [13:10] sure [13:10] sergiusens: yes [13:10] sergiusens, http://cdimage.ubuntu.com/ubuntu-core/16/ [13:10] pick your channel [13:11] sergiusens: http://paste.ubuntu.com/26125012/ [13:11] kalikiana slots are interesting new concept in the calendar, but I think it is more of a thing for another person to click to get a slice of your time [13:11] note that this is zero padded for better use with kvm though (unlike the other arches) [13:11] sergiusens: make boot; make login [13:11] kind of like a doctor's appointment thing [13:12] ogra_ zyga-ubuntu thanks, I won't be needing any of the automation, it is for a potential demo at the IoT meetup I am presenting at today [13:13] sergiusens: this is not much automation, just remembers the URL and the long command [13:16] mvo: btw, why are you using >100 hook numbers? [13:18] mvo: sad [13:18] zyga@kaedwen:~/snap-base-18$ grep -R bindresvport.blacklist . [13:18] Binary file ./prime/lib/x86_64-linux-gnu/libc-2.26.so matches [13:18] Binary file ./prime/lib/x86_64-linux-gnu/libc.so.6 matches [13:26] zyga-ubuntu: well, we can patch that [13:26] mvo: yes but I find it just sad [13:26] zyga-ubuntu: +100 [13:26] mvo: /etc/letmecallthisfilethatIreallylikeanduseitfromlibc [13:26] zyga-ubuntu I just noticed it is a makefile, it does look useful! [13:26] :) [13:27] ogra_ zyga-ubuntu does stable have subiquitty and all that or should I go and get something like candidate or edge? [13:28] sergiusens: it has all that stsuff [13:28] *stuff [13:28] all of them have subiquity [13:31] mvo: http://paste.ubuntu.com/26123959/ and http://paste.ubuntu.com/26123957/ [13:32] mvo: https://github.com/snapcore/base-18/pull/5 [13:32] PR base-18#5: More etc cleanups and reporting [13:32] ls [13:33] mvo: do we need to keep empty things for later bind mounts or can this be added at a later stage [13:33] mvo: I'd like to make it so that we know we're done with /etc cleanups [13:33] mvo: and that the rest is actually desired [13:37] zyga-ubuntu: lets kill the empty ones too [13:37] zyga-ubuntu: if we are successful there will be no bind mounts [13:42] mvo: I'll tweak things so that we can boot-test this [13:42] PR snapd#4359 closed: interfaces/many: misc updates for default, browser-support, opengl, desktop, unity7, x11 [13:43] PR snapd#4350 closed: debian: make "gnupg" a recommends [13:44] zyga-ubuntu: sounds good, maybe its enough to make it "type: os" to be able to test install it [13:44] zyga-ubuntu: it will not properly run because it lacks snapd but its might be enough to get to the console [13:44] zyga-ubuntu: but probably some initrd hacking is required, hopefully not much [13:44] mvo: yes [13:44] mvo: fingers crossed [13:44] mvo: actually may be even easier [13:49] elopio already around? [13:55] mvo: some progress, getting over last initrd hurdle [13:55] sergiusens: Yeah, I might just go back to using regular events. It looked like slots would help with scheduling meetings, but it doesn't seem to be meant for that [13:55] * kalikiana back from lunch [14:17] jdstrand, hey, the test security-device-cgroups-serial-port is failing in the pi2 and 3 [14:17] jdstrand, I am researching a bit to understand why [14:19] jdstrand, hey, the test security-device-cgroups-serial-port is failing in the pi2 and 3 [14:19] jdstrand, https://paste.ubuntu.com/26125367/ [14:20] jdstrand, any idea what I can't get info from /dev/ttyS4? [14:27] PR core#66 opened: 500-create-xdg.binary: use "set -o pipefail" [14:30] PR snapd#4364 opened: interfaces: added Ref() helpers, restored more detailed error message on spi iface [14:31] cachio_: maybe there is no device behind /dev/ttyS4, even though the node is there [14:31] zyga-ubuntu, ^ this is the other follow-up that addresses your comment from previous PR [14:31] pstolowski: thanks; looking [14:32] pstolowski: why not pass the slot directly? [14:32] pstolowski: not a big deal, just curiou [14:32] zyga-ubuntu, because the function is used for both SlotInfo and ConnectedSlot [14:32] ahh [14:32] ok [14:32] +1 [14:32] thx [14:37] grmbl! [14:38] cachio_: there seem to be only 2 serial ports listed in rpi3 dts files, these should map to /dev/ttyS0 and S1 and udev should list those, 2 and above have no real devices so even if the node is there it won't work and udev will now know about it [14:38] s/now/not/ [14:38] Chipaca: hmm? [14:38] * zyga-ubuntu moves an inch foward [14:39] zyga-ubuntu: I just lost the output of half an hour of debugging this because for some reason the fiddling around that spread does results in the thing not letting you ssh in [14:39] nor log in at all actually [14:41] Chipaca: is that locally or over linode? [14:41] locally [14:41] qemu [14:41] hmm [14:41] on core? [14:42] zyga-ubuntu: classic [14:42] and you don't have qemu console, do you? [14:42] zyga-ubuntu: yes i do [14:42] you can telnet to it [14:42] e.g. 2017-12-06 14:38:43 Serial and monitor for qemu:ubuntu-14.04-64 available at ports 59479 and 59579. [14:43] * mvo added those [14:43] (the serial has a getty, but that didn't let me log in once spread had started) [14:43] i need to ssh in before the 'preparing' phase is done [14:43] Chipaca: hmm [14:44] sorry :/ [14:44] I was thinking about saving a snapshot [14:45] and extracting stuff from that image [14:46] zyga-ubuntu: tried that, but apparently snapshot_blkdev doesn't work well together with -snapshot [14:46] Could not open '/var/tmp/vl.MGVYHB': No such file or directory [14:47] Chipaca: you can save that snapshot [14:47] Chipaca: it is documented in the qemu manual somewhere [14:47] Chipaca: it talks about running qemu with -snapshot and then giving it a real name in the monitor [14:48] ah, buh [14:48] i'll try that if i get stuck like this again [14:48] mborzecki, well the test is creating this device in case there is not one [14:49] mborzecki, perhaps for the pi3 we shuould create it in a different way [14:49] cachio_: it's creating a node, that does not mean yet there's a device, and udev knows about devices only [14:49] can you try ttyS1 on rpi? [14:49] Chipaca: did you try to login via test:ubuntu? [14:50] mvo: ubuntu:ubuntu [14:50] mborzecki, in my pi3 there is not a /dev/ttyS1 [14:51] Chipaca: you said the getty wouldn't let you login after spread has started, iirc we change the setup and add test:ubuntu as a user. I was wondering if that might work to login in the getty [14:51] I created a node for /dev/ttyS1 [14:51] mvo: i'll try [14:51] mborzecki, and I have the same problem when I do "udevadm info --path=/dev/ttyS1" [14:51] I get syspath not found [14:52] mvo: ubuntu:ubuntu logs in and is immediately logged out again [14:52] mvo: test:ubuntu gets login incorrect [14:55] Chipaca: :( ok [14:56] but thanks to zyga mentioning auditd, i now have logs that are different \o/ [14:56] http://pastebin.ubuntu.com/26125591/ [14:56] woot! [14:56] jdstrand: hiya. I have some rather messed up shenanigans going on in 14.04 that i'd like to understand if possible [14:56] mborzecki, which pi do you have? [14:56] cachio_: you can try dumping udev db and checking if there's anything suitable [14:57] mborzecki, sure [14:57] cachio_: i fried the last one i had :) [14:58] jdstrand: i now have an audit log :-) in both the "everything dies" case, and the less interesting "everything abstains from dying"; the difference is the existence of a file, and the thing that triggers the dying is doing ls on the directory that contains the file, as a user that shouldn't be able to list that directory [14:58] mborzecki, https://paste.ubuntu.com/26125620/ [15:00] cachio_: where can i find the dtb that you use? [15:01] mborzecki, dtb? [15:01] cachio_: what image do you have installed there and can i get it somewhere? [15:01] device tree? [15:02] mborzecki, you need to build it [15:02] mborzecki, download https://github.com/sergiocazzolato/validator [15:03] and then you do "./create.sh beta pi3" [15:03] it is gonna create the beta image [15:04] if you have pi2, "./create.sh beta pi2" [15:04] mborzecki, then you can use that image that is the same we use for beta validation [15:06] cachio_: it is pi2 or pi3 you're using now? [15:11] pi3 [15:11] mborzecki, I am gonna lunch now, I'll be back [15:12] mborzecki, export SPREAD_EXTERNAL_ADDRESS= [15:13] spread -v -debug external:ubuntu-core-16-arm-32:tests/main/security-device-cgroups-serial-port [15:13] this is to reproduce the issue [15:14] Issue snapcraft#1733 closed: Apply guidelines from design to error messages with commands that fix [15:14] PR snapcraft#1790 closed: cli: include consistent commands to fix error conditions [15:15] zyga-ubuntu: review for https://github.com/snapcore/core/pull/66 would be great [15:15] PR core#66: 500-create-xdg.binary: use "set -o pipefail" [15:16] mvo: sure [15:18] done [15:18] also restarted tests [15:20] zyga-ubuntu: ta [15:20] cachio_: so, you are do a mknod, but that isn't sufficient to make the device show up to udev and be exposed in sysfs [15:21] jdstrand, sorry for not replying to your apparmor comments there the other day - just letting you know i saw em, cheers :] [15:21] cachio_: there is no hardware behind that device file, so the kernel didn't do a uevent for udev to do its thing [15:21] ikey: cool! I also mentioned it to jj, so if he didn't followup, feel free to ping him directly [15:22] aye :] [15:22] had a mild rebase to do today with 4.14.4 due to some audit.h changes [15:22] nothing too difficult tho [15:22] cachio_: and therefore nothing works [15:23] ikey: cool [15:23] PR snapcraft#1796 opened: Changelog for release 2.37 [15:25] Chipaca: hey. I understood what you communicated, but don't feel like I have enough context to effectually respond [15:26] Chipaca: do you have a snap and instructions that demonstrates the issue? [15:36] mvo: what is going on here: https://travis-ci.org/snapcore/core/builds/312446771?utm_source=github_status [15:37] cachio_: iirc both 2 and 3 have 2 uarts, i tried to download the kernel you might use (4.4.0-1009-raspi2?), then dtb for rpi2 lists the 2nd uart as disabled, the one for rpi3 lists both uarts as ok, IMO it's best if you check dmesg and look in /sys/devices/platform to see if the devices are there [15:37] jdstrand: I haven't been able to reproduce it outside of a in-progress branch (it's up as a PR, but fails) [15:37] zyga-ubuntu: I don't know :/ [15:38] what is /var/lib/snapd/environment? [15:42] zyga-ubuntu: a directory (?) [15:43] sure but what is it for? [15:43] zyga-ubuntu: I hope it's something we no longer use, as opposed to a random directory [15:43] i'm seeing it in the packaging but have no idea [15:43] yeah [15:43] I'm seeing it in booted images [15:50] PR snapcraft#1797 opened: tests: update the snap name already registered for store tests [15:56] PR snapd#4365 opened: interfaces/mir: allow Wayland socket and non-root sockets [15:59] jdstrand, ok, so we should skeep the test execution in that case [16:00] I mean, in case "udevadm info /dev/ttyS4" failes [16:00] jdstrand, then we exit [16:00] jdstrand, is it ok if I make that change? [16:01] Hey guys, Is anyone aware of any issues with the node part? Have our rocketchat-server snap setup to build on launchpad, but keeps failing after downloading node part. Only thing that has changed between last version and this the location we download our rocket.chat bundle - https://launchpadlibrarian.net/347779291/buildlog_snap_ubuntu_xenial_amd64_stable_BUILDING.txt.gz Any ideas? [16:04] Looks like its failing right as it finishes downloading the part [16:04] ``` [16:05] Downloading '' 0% Traceback (most recent call last): File "/usr/bin/snapcraft", line 9, in [16:06] geekgonecrazy: the error is “IsADirectoryError: [Errno 21] Is a directory: '/build/stable/parts/rocketchat-server/src/'” [16:07] geekgonecrazy: looks like it expects a file but it's a directory [16:07] Chipaca: yeah I see that, but seems to happen after the initial exception. [16:07] Has something changed in snapcraft? Here is my changeset between versions. Why would this start now? https://git.launchpad.net/rocket.chat/commit/?h=stable&id=6682e7d79762d4cd1f0957845f35932fea563a92 [16:07] geekgonecrazy: that's the last line of the initial exception, ie the bit that triggered it (the rest is the stack) [16:08] it goes up, not down [16:08] i'm used to js stacks hehe. My python experience is probably enough to be dangerous :D [16:09] if that's the diff between your thing not working and your thing working, i think you're right to suspect snapcraft itself [16:10] sergiusens, ^ [16:11] Chipaca: Yeah that's why I wondered if the part was messed up mainly because it stops right there. But if the workers are using newer versions of snapcraft that change could be the fault as well [16:14] PR snapd#4366 opened: interfaces/removable-media: also allow 'k' (lock) [16:19] PR snapd#4367 opened: interfaces/removable-media: also allow 'k' (lock) for 2.30 [16:20] spinning up a clean VM, i'll see if I can hack past it locally. We cut release a few days back and hadn't had time to debug it. Hoped it was a launchpad issue that would resolve its self :P [16:25] kyrofa: would you be up for a hangout? to talk about the unmet dependencies [16:25] kalikiana, yep, perfect timing [16:26] cachio_: sounds reasonable to me [16:26] geekgonecrazy, to be clear, you only see that in LP? Not locally? [16:26] jdstrand, ok, I'll create a PR for that [16:26] kalikiana, want to just use the weekly? [16:26] kyrofa: sure [16:29] kyrofa: i'm double checking to see if that's the case now. Gotten spoiled by launchpad and our ci just working. :) [16:36] kyrofa: ok I suppose good news is it happens locally. :) [16:37] PR snapd#4368 opened: tests: fix security-device-cgroups-serial-port test for rpi and db [16:37] kyrofa: might it have something to do with there being a redirect involved in the file download? [16:38] woot [16:43] fafasafafsaj [16:43] my keyboard has gone crazy [16:43] mvo: we ccccccccccccc [16:43] anc now test ocre rsnaps [16:43] faak [16:44] * zyga-ubuntu reboots [16:52] PR snapd#4369 opened: add write permission to optical-drive interface [16:52] aww, and here I was thinking someone wanted me :-p [16:53] diddledan: +1 [16:53] thankyou :-) [16:53] * diddledan feels clever now that I've looked at snapd code [16:54] geekgonecrazy, sorry, was in a meeting there for a few minutes [16:55] Yes, the fact that you get it locally is good indeed! Troubleshooting on LP is no fun :D [16:55] and then I feel less clever now I spot I wrote BluRay differently each time I said it [16:55] mvo: I can now boot our base-18 snaps [16:55] mvo: it says "welcome to ubuntu core 18" :-) [16:56] geekgonecrazy, being due to a redirect seems odd [16:56] mvo: I think we need to drop a rule that gives us a getty on tty2 [16:56] That would surprise me [16:56] mvo: anyway, let me clean this up and send a PR [16:58] geekgonecrazy, I suspect now that you're able to reproduce locally you'll be able to figure out the cause, but do let me know if you want some help [17:00] diddledan: clearly you need to open lots more snapd PRs and feel the love of snapd's attention :-D [17:01] :-) [17:01] kyrofa yup seems due to redirect. :( wonder if it only follows certain redirects? I now have a very ugly looking prepare statement [17:01] geekgonecrazy, any chance you could share the URL? [17:01] `prepare: curl -SLf "https://releases.rocket.chat/0.59.6/download/" -o rocket.chat.tgz; tar xvf rocket.chat.tgz --strip 1; cd programs/server; npm install; cd npm/node_modules/meteor/rocketchat_google-vision; npm install grpc` is what my prepare now looks like o.O [17:02] geekgonecrazy, also, I assume this is something that's changed recently? [17:02] Yikes [17:02] * kalikiana preparing to wrap up for the day [17:02] geekgonecrazy, so to be clear: you're saying using source: https://releases.rocket.chat/0.59.6/download is what breaks? [17:03] kyrofa: we've had a redirect of some sort in place for a good while I think... i'll have to look back and verify [17:03] kyrofa: yes fails fast and hard with that as source and source-type: tar [17:04] geekgonecrazy, huh. This works for me: http://paste.ubuntu.com/26126334/ [17:05] Although I'm on snapcraft master. What are you using locally? [17:08] kyrofa: snapcraft, version 2.35 [17:08] mvo, the snapd.refresh.timer does not exist on pi3, https://paste.ubuntu.com/26126388/ [17:08] geekgonecrazy, and does that YAML I pasted break for you? [17:08] it is making the test ubuntu-core-services fail [17:11] kyrofa: it downloads, throws exception at the end i'm guessing because it doesn't know source type is a tar [17:11] here is what our snapcraft yaml looked like before my hack around: https://git.launchpad.net/rocket.chat/tree/snapcraft.yaml?h=stable&id=945e4f912f0d5d9dc7416e2998f710da46f1755c [17:11] might be related to the prepare there? [17:12] geekgonecrazy, huh, interesting. No exception for me. I'll try 2.35 [17:13] geekgonecrazy, prepare effects the build step, not pull [17:15] I still get no issues with 2.35 [17:16] kyrofa: thats what I thought. :D [17:16] mvo: https://github.com/snapcore/base-18/pull/8 [17:16] PR base-18#8: Add rudimentary testing infrastructure [17:17] zyga-ubuntu: base-18 sounds like weird counting to me.. base-16 works well with computers :-p [17:17] diddledan: wait till base-20 [17:17] :-o [17:17] kyrofa: interesting.. Some how I get same error as launchpad and launchpad I assume is building in lxd for clean builds [17:17] so with base-16 we count 0 thru F. what are we gonna do with base-20?! [17:19] diddledan: base-85 is a thing [17:19] jus' sayin' [17:19] drak me [17:19] frak* [17:20] that's crazy numbers [17:20] diddledan: also called Ascii85, it's in python and go's stdlibs [17:20] ee gads [17:21] avoid it like the plague! [17:21] I'm guessing it's used for crypto symbolism [17:21] similarly to base64 [17:21] diddledan: PDFs use it [17:21] diddledan: as does Postscript [17:22] oh, well when Adobe are involved all bets are off :-p [17:22] diddledan: also ZeroMQ and ZMODEM [17:23] there's also an ascii85 representation of ipv6 addresses [17:23] (just, what, no) [17:23] if 0mq uses it then I guess htey've ported it to many programming languages [17:24] so [17:24] when you see “4)+k&C#VzJ4br>0wv%Y” on your terminal your first thought is "oh crap something bought it", not "ah, good old 1080:0:0:0:8:800:200C:417A" [17:24] I need a hand [17:24] how do add a simple root shell systemd unit? [17:24] no login, just # [17:24] on tty2 ideally [17:24] zyga-ubuntu: don't you want the emergency shell? [17:24] Chipaca: I want _a_ shell [17:24] zyga-ubuntu: get it to run getty? [17:24] whatever you do :) [17:25] zyga-ubuntu: that gives you a root shell on tty9 (iirc), from early boot [17:25] I need an answer in terms on systemd units [17:25] zyga-ubuntu: systemd.debug-shell=1 on the kernel commandline [17:25] ahh [17:26] perfect [17:26] zyga-ubuntu: or systemctl enable debug-shell.service if you'd rather that [17:27] now [17:27] how do I move ttys in qemu? [17:27] zyga-ubuntu: ctrl-alt-left or -right [17:27] is the easiest way imo [17:27] nope [17:27] doesn't work [17:27] do I need some fancy option for GUI? [17:28] Chipaca: I clicked on the qemu window [17:28] zyga-ubuntu: you're in the gui, yes? [17:28] (so that it woud catch my input) [17:28] then tried the combo [17:28] maybe it uses it to release [17:28] zyga-ubuntu: does it say your keyboard is captured? [17:28] the title changes [17:28] ah [17:28] says use alt-ctrl to escape [17:28] 1 sec [17:28] (ctrl-alt) [17:29] zyga-ubuntu: i had to bring a qemu up to remember [17:29] it's in muscle memory [17:29] zyga-ubuntu: just alt-left or -right [17:29] no ctrl [17:29] if you do need to build one yourself, the exec= line would be `getty -n tty2` [17:29] Chipaca: no change [17:29] Chipaca: I don't get anything [17:29] zyga-ubuntu: lies [17:29] :-) [17:29] Chipaca: wanna see? [17:30] zyga-ubuntu: yes [17:30] I'll gladly hangout it [17:30] one sec [17:31] Chipaca: in standup [17:31] omw [17:36] reasons wayland is not "there" yet #(++n) [17:37] zyga-ubuntu: that's from https://freedesktop.org/wiki/Software/systemd/Debugging/#earlydebugshell FWIW [17:38] Chipaca: thanks [17:38] if anyone wonders what was wrong, wayland and qemu still don't work well [17:38] zyga-ubuntu: reasons wayland is not "there" yet #(++n) [17:39] (from just before you logged back on) [17:39] n-- [17:39] :-) [17:40] hehe [17:45] mvo: teaser https://twitter.com/zygoon/status/938464408610754562 [17:56] geekgonecrazy are you behind a proxy? kyrofa I assume you are not [17:56] Indeed I am not [17:56] But LP is, of course [17:58] kyrofa yeah, that might be the commonality [17:58] Yeah interesting idea [18:13] kyrofa: when does a make plugin detect that it is out of date [18:13] kyrofa: I have a make-based project [18:13] kyrofa: I keep changing things and snapcraft thinks it's all up-to-date [18:14] zyga-ubuntu, only when something in the yaml changes [18:14] kyrofa: and then re-squahses stuff [18:14] kyrofa: why? you can ask make [18:14] kyrofa: you have all the part lifecycle stuff [18:14] kyrofa: make -n [18:14] or perhaps -q [18:14] (yes -q) [18:14] given that this is a network-heavy part I just keep wasting time because it's too silly to make again [18:15] zyga-ubuntu, a few different reasons. First of all, snapcraft doesn't build the source you hand it directly. During the pull step it copies it into the area it controls. So make doesn't see any changes [18:15] pedronis, we have a test failing in rpi [18:15] pedronis, it fails doing > snap ack "$TESTSLIB/assertions/testrootorg-store.account-key" [18:16] error: cannot assert: assert failed: cannot find account (testrootorg) [18:16] it's probably missing a skip [18:16] we cannot run some tests if it's a real snapd [18:16] any idea why it could fail just on rpi and dragonboards? [18:16] (no test keys) [18:16] it's telling you this a real snapd, not a test build one [18:16] kyrofa elopio I haven't seen any comment on https://github.com/snapcore/snapcraft/pull/1796 [18:16] PR snapcraft#1796: Changelog for release 2.37 [18:16] s/real/prod/ [18:16] zyga-ubuntu, also, while make supports discovering changes, not all build systems are as nice, as we haven't developed a generic method that works for all plugins [18:17] pedronis, ah, ok [18:17] what should I check to skip it? [18:17] zyga-ubuntu, that's not to say we don't want to get there, but it's a good chunk of work [18:17] cachio_: well we have TRUST_TEST_KEYS or something like that? [18:17] maybe you are not setting it properly? [18:17] Also, snapcraft is a packaging tool. It isn't best-suited to being so tightly in the development loop [18:17] or the test doesn't have the check yet [18:17] TRUST_TEST_KEYS are true [18:18] cachio_: you cannot set it to true if you are using a prod snapd [18:18] it doesn't have the keys [18:18] kyrofa: this makes sense, thank you for explaining [18:18] pedronis, mmm, well something else is setting that var to true [18:18] pedronis, I am not setting it [18:19] Of course [18:19] sergiusens, oh man, I missed it go up! [18:19] cachio_: true is the default [18:19] you need to set to false yourself [18:19] if I understand [18:19] kyrofa: is there some way to ask snapcraft to use fast compression? [18:19] SPREAD_TRUST_TEST_KEYS=false [18:19] kyrofa: especially for test snaps [18:20] kyrofa: that are not sent anywhere [18:20] pedronis, ok, I'll take a look to that [18:20] zyga-ubuntu, honestly I'm not sure what that means :P [18:20] zyga-ubuntu, you mean for the squashfs image? [18:20] kyrofa: call mksquashfs without compression [18:20] pedronis, in the spread.yaml it is using TRUST_TEST_KEYS: "false" [18:20] zyga-ubuntu, no, it's hard-coded to xz etc. to make the store happy [18:21] but just for ubuntu-core-16-64 and ubuntu-core-16-32 [18:21] zyga-ubuntu, but you could hack it pretty easily if you wan [18:21] pedronis, in this case, for pi3 we use system: ubuntu-core-16-arm-32 [18:21] cachio_: ah [18:21] pedronis, so, should I change it? [18:21] they all need to be the same [18:21] zyga-ubuntu, snapcraft/internal/lifecycle/_packer.py for your reference [18:21] sergiusens: nope not behind proxy (though I know launchpad is) [18:22] cachio_: this is the external backends ? [18:22] kyrofa: thank you! [18:22] pedronis, yes [18:22] pedronis, external [18:22] cachio_: yes, they all need the same config [18:22] not sure why some have the false and some not [18:22] pedronis, ok, makes sense [18:22] thanks, I'll check that [18:22] I wasn't really paying attention to that part of spread.yaml [18:22] kyrofa: https://launchpadlibrarian.net/348314093/buildlog_snap_ubuntu_xenial_amd64_stable_BUILDING.txt.gz got one successful doing the curl in the prepare step. o.O Not pretty but gets the release where I can push it out to the impatient users :D [18:23] pedronis, I do :) [18:23] pedronis, I use it a lot [18:29] Hey jdstrand, I'm playing with another joystick lib, and finding our joystick interface lacking a bit. I'd like to be able to access /dev/input/event* for the joystick... but it's entirely unclear to me how we can determine which events are tied to the joystick [18:29] jdstrand, https://pastebin.ubuntu.com/26126996/ [18:30] jdstrand, note how js0 and event17 are pretty clearly provided by the same device [18:30] jdstrand, think that's possible? [18:33] kyrofa: can you paste 'udevadm info /dev/input/event17'? [18:34] jdstrand, here's both event17 as well as js0: https://pastebin.ubuntu.com/26127016/ [18:35] I don't know much about this-- they both seem to be an interface to the same data. Is one just a newer/different API? [18:36] I think so, yes [18:37] kyrofa: so, I do think this is possible. what you would need to do is interrogate udev to map the thing you know (/dev/input/js0) to the thing you don't (/dev/input/event17) then add the device access for event17 [18:37] Quick research leads me to believe js is old, event is newer [18:37] jdstrand, can we do things like that in an interface? [18:37] kyrofa: that is accurate [18:38] So far I've just been adding static ones [18:38] kyrofa: well, it is something I always hoped we could do for all sysfs entries. Ie, we assign js0 and then allow the precise sysfs entries for that device [18:38] kyrofa: this isn't that different [18:39] kyrofa: the problem is this is related to hotplug [18:39] Say no more... [18:40] jdstrand, would I be correct to assume that whitelisting /dev/input/event* in joystick is a bad idea? [18:41] kyrofa: so we could come up with a way to look at udev (or possibly more simply, various symlinks), but interfacec connections happen at specific points in time, but reboots, plug/unplug, etc would change the paths [18:41] kyrofa: oh gosh yes. that would grant anything that plugged the interface the ability to spy and spoof input events [18:42] *all* input events [18:42] Heh [18:42] Yeah and profile generation only happens at install/upgrade time, right? [18:43] connect/disconnect (obviously) [18:43] Right, that's more specific. And THAT is what causes them to happen at install/upgrade time I suppose [18:43] interestingly, also on reboot if the policy is different on disk from what snapd generates [18:44] Oh, hmm [18:44] I mention that last point cause you could get there crudely on reboot if snapd did its interrogating to come up with different policy [18:44] Exactly my thought [18:44] so js0 -> event17 might be js0 -> event16 [18:45] snapd would detect that [18:45] but snapd would have to tie into the uevent kernel framework to get notifications on hotplug/unplug [18:46] Right, and then in order to get new devices into the profile, one would need to reboot, or disconnect/connect the interface [18:46] Meh [18:47] there is another way to deal with this: static file labels with apparmor. the idea is that you create a udev rule that statically labels the device based on the snap's label [18:47] but apparmor doesn't support that yet [18:47] (that incidentally would get rid of the need for device cgroups, which would be great) [18:48] kyrofa: exactly (hence the 'crudely' and why this is tied to hotplug) [18:49] all of this is doable, but as you know, hotplug is on the roadmap but not prioritized for the short term [18:49] Indeed. Okay, I'll hold off further investigation into this, and look for a python lib that uses the older interface. Very educational, thank you! [18:49] Indeed [18:49] np [18:57] PR snapcraft#1796 closed: Changelog for release 2.37 [18:57] kyrofa elopio don't merge anything until further notice please [18:57] ack [18:58] ok [19:14] PR snapd#4370 opened: tests: set TRUST_TEST_KEYS=false for all the external backends [19:51] Hey cjwatson, I'm curious: why, if LP supports all these architectures in the builders, does build.snapcraft.io only support a few of them? [19:59] kyrofa: mainly because we want to have the facility to select specific architectures in snapcraft.yaml or similar (as we talked about at the rally, if you remember) before we enable more architectures by default that many developers won't care about without offering them a way to shut up the build failures [20:00] kyrofa: also, s390x needs to have the new scalingstack region finished off before we can offer it in BSI [20:02] PR snapd#4364 closed: interfaces: added Ref() helpers, restored more detailed error message on spi iface [20:15] Ah, makes sense thank you :) === mcphail_ is now known as mcphail [20:55] cjwatson seems something hit kyrofa on the head, we were just discussing this on Monday ;-) [20:55] sergiusens, we didn't discuss that it was preventing more arch support in build.snapcraft.io [20:56] kyrofa oh, I am talking about the flashback to the rally conversation :-)