[00:25] bitpushr: Hi there. I was just investigating a question you had earlier about ssh access. [00:25] bitpushr: afaict, once the first-boot script completes successfully, it's not possible to re-trigger the ssh import. [00:26] bitpushr: Re-flashing so you can re-run the first-boot process is the only option I'm aware of, sorry :/ ( mwhudson may know more, but he's on leave atm). [00:39] Bug #1572038 opened: snap find doesn't find partial names [00:39] Bug #1606539 opened: handler errors from `snap create-user` gracefully [00:42] Bug #1572038 changed: snap find doesn't find partial names [00:42] Bug #1593989 opened: snap installed .desktops collide with .deb installed .desktops in unity7 [00:48] hey all, ran into an issue installing lxd on core-16. I can't create the lxd group that it needs [00:48] any way to do that? [00:51] PR snapcraft#941 opened: Support symlinks within deb sources [01:51] PR snapcraft#930 closed: parser: support remote dependencies [02:06] PR snapcraft#932 closed: cli: implement `enable-ci travis --refresh` command [02:15] PR snapcraft#939 closed: Replace coveralls with codecov [03:03] PR snapcraft#942 opened: store: return specific error when already owned [03:54] PR snapd#2397 opened: interfaces: add iio [07:05] bonjello [07:37] hey hey [07:39] hey dholbach! [07:39] hey seb128 [07:39] dholbach, happy friday! [07:40] and the same to you :) [07:40] happy Friday dholbach :) [07:40] hey guys :) [08:03] tvoss: hey [08:03] tvoss: just finishing something on the arg parsing side and then going back to feedback from reviews [08:03] zyga: good morning :) sounds good to me [08:08] fgimenez, morning, did you look into the autopkgtest failure of snapd on zesty/ppc64el? http://people.canonical.com/~ubuntu-archive/proposed-migration/update_excuses.html#snapd [08:10] hi jibel, nope, i think that mvo has been tackling it [08:12] fgimenez, and is he looking into the failures in xenial too? [08:13] fgimenez, we'd need 2.18 in proposed if there is a release of 2.19 next week [08:13] jibel, not sure but i think so, he can confirm [08:39] PR snapcraft#943 opened: Replace subTests with TestScenarios [09:33] hello, My app is in gnome software but today I log on there and there are two versions of my app on there is it something I have done wrong? [09:34] gerry_: can you look at /var/lib/snapd/desktop/applications/ [09:34] gerry_: are there multiple desktop files for your app there? [09:37] zyga: no just one but it has the icon of the one that appeared in gnome-software today [09:38] gerry_: I suspect that what you see then is a glitch in the gnome-software then [09:38] gerry_: can you report that and attach some screenshots perhaps [09:38] gerry_: maybe you see your app in the store and your app locally installed [09:38] gerry_: and those are separate for some reason (no idea really, not my area of expertise) [09:39] morphis__: hey [09:39] morphis__: how's projects? [09:39] * zyga fixed some tests and runs spread to verify [09:40] gerry_: for gnome-software you want to find robert ancel AFAIK [09:42] zyga: hey! [09:42] zyga: you mean any specific ones :-) [09:42] zyga: ok thank you very much for your help [09:43] morphis__: in general, are things going OK? [09:43] gerry_: his IRC nickname is robert_ancell [09:44] (double l, sorry for getting that wrong earlier) [09:44] gerry_: you may have better luck finding him earlier though as he is from new zeland [09:45] zyga: yeah, so far everything is fine :-) [09:45] zyga: you got the problem with the content itnerface fixed already? [09:46] morphis__: do you mean the multiple entries or something else? [09:46] morphis__: the content interface is not broken AFAIK but needs new features to support some interesting use cases [09:47] morphis__: that bug you spoke about at a call a while ago is fixed [09:47] morphis__: (and the other one as well, I updated LP bugs) [09:47] zyga: just one thing the one that has appeared today has "*3rd party" on it where as the my entry does not have that? [09:48] zyga: ah good, yeah especially the use case to share a local socket was of interest for us [09:48] zyga: which snapd/snap-confine do we need to get that working? [09:48] gerry_: that's a gnome-software tag, I would recommend that you file bugs on snappy / gnome-software for each of those that feels wrong to you; some are missing features, some are OK but need to be explained (bugs can be converted to questions that can show up in a FAQ on launchpad) [09:49] morphis__: that should work, I didn't try it myself but the code looks fine [09:49] morphis__: I think .44 [09:49] morphis__: maybe earlier but I'd have to check tags [09:50] zyga: ok, so nothing which is in stable yet, right? [09:50] morphis__: actually [09:51] morphis__: it's a snapd fix and it might be out now [09:51] * zyga looks [09:51] because that side was in snapd [09:53] morphis__: can you just try, use $SNAP_DATA as described there: https://github.com/snapcore/snapd/wiki/Content-Interface [09:53] zyga: ah ok, let me try that then [09:57] morphis__: and feel free to edit that wiki [09:58] morphis__: really, it is very useful if you do [09:58] zyga: oh I see, I can do that [09:58] zyga: can everyone? [10:00] morphis__: yes [10:00] :) [10:00] it's a wiki! [10:00] good :-) [10:00] morphis__: I should link it to the interfaces page [10:00] morphis__: I'll do that shortly [10:00] ok [10:00] zyga: btw. you saw my replies on https://bugs.launchpad.net/snappy/+bug/1646415 ? [10:00] Bug #1646415: cannot run configure hook [10:02] * zyga looks [10:02] no, not yet [10:02] hmm, odd [10:02] I looked at the code and we parse hooks in meta/snap.yaml [10:02] I bet you really need that hook to be defined there [10:02] maybe something is out of sync [10:03] I'll check with gustavo [10:03] or maybe [10:03] pstolowski: ^^ do you know?] [10:03] the person who is on the hook about hooks :) [10:04] :) [10:04] looking [10:07] hum [10:07] are launchpad snap builds on yakkety know to be buggy? [10:07] "W:GPG error: http://ppa.launchpad.net/snappy-dev/tools/ubuntu yakkety InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F1831DDAFC42E99D, E:The repository 'http://ppa.launchpad.net/snappy-dev/tools/ubuntu yakkety InRelease' is not signed." [10:08] cjwatson, ^ you might know? [10:08] seb128, at the start of the build ? thats normal iirc [10:09] (the build finishes properly, right ? ) [10:09] ogra_, no, the build errors out on that after trying to install the build-packages [10:09] https://launchpadlibrarian.net/295822697/buildlog_snap_ubuntu_yakkety_amd64_ghex-udt_BUILDING.txt.gz [10:09] ogra_, ^ [10:11] well, if you look at the top of the log you see the exact same which passes [10:11] that same branch was building fine on xenial [10:11] morphis, zyga the hook-example looks good. having meta/hooks/configure is enough. we have similar spread tests [10:11] I just tried to change to yakkety and now got that [10:12] ogra_, do you know if I'm doing something wrong there and what? [10:12] i guess because not all packages are in the PPA for yakkety [10:12] but I'm not building using a ppa [10:12] I selected to build from the archive [10:12] so I guess it's a launchpad setup issue? [10:14] yeah, i wonder what it tries to pull from there [10:24] morphis, zyga I can look at this later today [10:26] pstolowski: thank you, if you are right then snap.Info may lie sometimes :/ [10:27] zyga, i think we would see these spread tests fail. so not sure what's wrong [10:36] pstolowski: spread test may not fail even if what I said is true [10:38] zyga, hmm why not? [10:39] PR snapcraft#942 closed: store: return specific error when already owned [10:40] pstolowski: if the hook manager is not using hook info from snap info, for example [10:43] ralsina: hey, when do you think this commit https://github.com/snapcore/snapcraft/commit/6c012194bde will hit the snapcraft server (or, can it backported now ;-))? [10:44] Trevinho: I don't work on snapcraft :-) [10:44] Trevinho: so, I hope soon, if you need it! [10:45] ralsina: yeah, but.... Didn't you manage that server or what (IIRC some days ago you got pinged to restart the job)? [10:45] and I don't know how the server-side is managed (if it's just using zeisty or a snapcraft ppa) [10:58] * zyga hugs dholbach [11:05] Trevinho: not really [11:06] oh, ok... so sorry. [11:06] Trevinho: but I can ping the right people. What's the change server side? That link points to snapcraft code [11:06] ralsina: that commit should be included [11:07] Trevinho: you showed a link to a PR in snapcraft, that's client-side code, not server-side [11:07] ralsina: no, it's not... [11:07] ralsina: it's all shared code [11:08] Trevinho: the store is lp:software-center-agent, it's a whole different project [11:09] * ralsina -> school run bbl [11:10] ralsina: oh, wait... I meant a different thing then... this: https://parts.snapcraft.io/v1/parts.yaml [11:10] (the generator of that) [11:19] seb128: https://bugs.launchpad.net/launchpad/+bug/1626739 [11:19] Bug #1626739: Snapcraft build failing in Yakkety for unauthenticated stage-packages [11:21] * dholbach hugs zyga back [11:24] dholbach: visit spain sometimes, great places to see, great food, great weather, sun and no snow :) [11:25] :-) [11:27] PR snapcraft#938 closed: store: return specific error when already owned [11:29] Trevinho: ahhhhh parts, no idea about that, never touched it [11:30] ralsina: sorry for bothering you then... :-) [11:30] Trevinho: np [11:37] Trevinho that was roadmr [11:39] sergiusens: yeah, I figured just two seconds after... :-D [11:39] hahaha [11:40] I remembered the nickanme started with "r"... :-P [11:40] and since I know ralsina does serverside stuff.... :-P [11:40] * Trevinho is terrible with names... Sorry :-) [11:41] Trevinho: it happens :-) [11:41] mv roadmr r-server-side-stuff [11:41] mv ralsina r-server-side-stuff [11:41] aww, clash [11:41] lol [11:41] no, we're in a snappy world... That can't happen! [11:41] Hell, I do touch some server-side-stuff so I just assumed I had forgotten about it [11:41] maybe you want a round-robin queue? [11:42] I get pinged every time someone mentions round-robin [11:42] I didn't even know what it was to start with [11:42] :D [11:42] as you were [12:50] snapcraft's failing for me with an error about held broken packages when it tries to fetch the stage packages; is there any way to get it be more verbose and tell me which packages are causing the issue? running with -d didn't help [12:50] Elleo: while this is totally different from what you may expect try opening a second terminal and run forkstat there [12:51] the output should tell you what apt is doing and may give you a hint of what is going wrong [12:51] cjwatson, thanks, am I reading correctly that there is no workaround suggestion atm? [12:51] zyga: okay, thanks [12:54] seb128: I don't think I have anything at the moment, unfortunately, short of not using stage-packages [12:55] (which is not really a workaround!) [12:55] cjwatson, right, I was going to say that I kind of need those... [12:55] PR snapd#2398 opened: cmd/snap: change terms accept URL following UX review [12:55] well, back on using xenial for now I guess, I might try to backport things to a ppa on top to workaround [12:56] I forget quite why it only affected yakkety [12:56] or post-xenial I guess [12:56] zyga: nothing obvious there, it does a bunch of stuff with apt-key presumably checking signatures when updating, starts a few apt/method/http threads and then stops [12:57] well, it was a long shot [12:57] zyga: I don't get any errors installing other packages on the host system normally, but it looks like oxide is being held for some reason === hikiko is now known as hikiko|ln [12:58] seb128: it's definitely fixable, just a bit complicated because we need to bite the bullet and finally start sending public key material to builders; chances of me getting to it this year are low :-/ [12:59] cjwatson, don't worry, it would be nice if it worked but it's not really blocking anything that needs to land from our side, we just wanted to try to provide gtk apps based on the yakkety gtk version to xenial users, but we can backport the new gtk to xenial in a ppa for that [13:01] cjwatson, why is that PPA enabled at all ? there is nothing relevant in it [13:01] (neither for xenial nor for yakkety) [13:02] imho we could just completely drop it and be done [13:05] ogra_: until the next time we need it [13:05] hmm [13:05] it was definitely needed pre-xenial [13:05] seems the last time was in 2015 [13:06] (looking at the packages in there) [13:06] and it's very useful to have that kind of facility available [13:06] true indeed [13:06] right, it was absolutely necessary pre-xenial because the archive didn't have snapcraft [13:06] in the future y'all might well decide that you want a newer version of snapcraft used by LP regardless of what's in the distribution [13:06] this is how we do that kind of thing [13:07] yeah, understood [13:19] PR snapd#2399 opened: Add /dev/uhid to bluetooth-control interface [13:28] morphis__: hey, remember that configure bug, can you tell me whicih version of snap-exec you have in you core [13:28] which* [13:28] morphis__: is that in a core or classic system? [13:29] morphis__: gustavo just made me realise that without sufficiently up-to-date core snap and snap-exec you won't get it to work [13:33] jdstrand, could you approve camera-app package? https://myapps.developer.ubuntu.com/dev/click-apps/5990 vr 7 and 8 [13:36] PR snapcraft#926 closed: sources: add current dir to ignore list if we're iterating on parent [13:38] jdstrand: hey [13:38] jdstrand: we will deny --jailmode or --devmode when --classic is passed [13:38] jdstrand: I'll make the patch after lunch [13:38] jdstrand: classic confinement seems to work for me locally :) [13:39] jdstrand: I could use a few reviews, I think it can all land toda === DanielLlewellyn[ is now known as diddledan__ === hikiko|ln is now known as hikiko [14:01] zyga: I am using 2.18 here from the core snap from candidate [14:01] its a classic system with SNAP_REEXEC [14:01] morphis__: in a core system or on classic? [14:01] zyga: however lorn was trying it with 2.17.1 from the ubuntu image ppa on classic [14:01] morphis__: ah, snap-exec doesn't use reexec [14:02] that's one of the things we'll fix later [14:02] zyga: but for me with SNAP_REEXEC and 2.18 the configure hook is working well [14:03] zyga: just for lorn it is 2.17.1 from the ppa without SNAP_REXEC and there it isn't working [14:12] roadmr: hi! fyi, r807 supports classic. I've got another unrelated bug I'd like to fix, but feel free to pull 807 if that works for you timing-wise [14:13] jdstrand: we have a streak of holidays and release next week, could you have a look at one essential part of snap-confine that's there for classic quickly [14:13] tedg, renato__: fyi, that ^ also has the unity8 workaround you asked for [14:14] jdstrand: Great! [14:14] jdstrand: essentially this: https://github.com/snapcore/snap-confine/commit/43f5041deb8ed061f8a38f4342a5c3065b8ec3cf [14:14] zyga: are those what you asked for earlier today? [14:14] Is anyone else able to build snaps on LP? [14:14] Seems I'm getting parts update errors. [14:14] jdstrand: it's piled up there, I didn't open PRs since github makes those uber long when stacking branches [14:14] tedg, I built camera some minutes ago [14:14] jdstrand: but this is the essence, regardless of argument parsing changes (if we do the cheap way or if we do the full way) [14:15] tedg, try again. I got that in one of the builds but worked nice on the second try [14:15] zyga: can you give me a prioritized list of what must be reviewed today? [14:15] jdstrand, thanks. I am happy to not disturb you with reviews :D [14:15] jdstrand: this is the essential patch, everything else is optional [14:15] ok [14:16] jdstrand, btw. My eds/unity8-pim is ready for review :D [14:16] jdstrand: if you +1 I'll land it without the intermediate argument parsing and error improvements [14:16] renato__: ack (I have it on my list already, might be today but maybe early next week) [14:16] jdstrand, thanks, [14:16] renato__: approved [14:19] zyga: fyi, the commit message is not quite right. I think you mean "to essentially switch the sandbox off entirely" [14:20] jdstrand: yes, good catch [14:20] jdstrand: I'll correct that before it lands [14:23] jdstrand: oh awesome! sure, I'll put that in the pipeline (but not smoke it) (pretty sure I've used this joke before) [14:25] roadmr: hehe [14:26] zyga: this is totally unimportant and unrelated to this PR, but in snap-confine.c you have [14:26] #ifdef HAVE_SECCOMP [14:26] sc_load_seccomp_context(seccomp_ctx); [14:26] #endif [14:26] zyga: but for apparmor you have: [14:26] sc_maybe_aa_change_onexec(&apparmor, security_tag); [14:27] zyga: and the ifdef for HAVE_APPARMOR is in sc_maybe_aa_change_onexec() [14:27] zyga: why not just: [14:27] zyga: why not just in snap-confine.c: [14:27] #ifdef HAVE_APPARMOR [14:27] sc_aa_change_onexec(...) [14:27] #endif [14:27] ? [14:28] zyga: basically, the 'maybe' caught me eye while doing the review :) [14:28] my* [14:30] PR snapd#2400 opened: snap: support for parsing and exposing on snap.Info aliases [14:33] PR snapcraft#943 closed: Replace subTests with TestScenarios [14:37] jdstrand: because that gets rid of the extra ifdef [14:38] jdstrand: and maybe apparmor is not enabled on boot [14:38] zyga: I'm not saying get rid of the ifdef. I'm asking why it isn't in hte same place as the seccomp one [14:39] zyga: or, why not put the seccomp one in sc_maybe_load_seccomp_context(...) [14:39] ? [14:40] jdstrand: because seccomp leaks the types around, I may return to it and to the same though [14:40] jdstrand: I wasn't touching seccomp lately :) [14:40] jdstrand: I plan to unify the code when we have more review time [14:40] zyga: it isn't important. I just thought it odd that the ifdef was in one place for seccomp and in another for apparmor [14:40] * zyga -> quick break for lunch [14:40] * zyga nods [14:40] zyga: what is important is I reviewed the patch you asked me to :) [14:41] zyga: just a request for a comment. also thanks for the --devmode/--jailmode update :) [14:48] PR snapd#2401 opened: snap: abort install with ctrl+c [14:49] cjwatson: sergiusens: Seeing some build errors that looks like snapcraft can't update its parts. Happening on other snaps too, but here's an example: https://code.launchpad.net/~ted/+snap/unity8-session-xmir-preload [14:50] I can update parts locally, so I don't think that's an issue. [14:50] Not sure what else to try to debug it. [14:54] Hm, I wonder why that would have changed. [14:55] Actually, I'm not sure that has anything to do with parts. [14:55] tedg: The actual error is from apt. I think it's just that a parts update happened to be right before it. [14:56] My guess would be that the set of packages pulled by the unity8 part is in fact not coinstallable when pulled from that PPA. [14:57] It's a little hard to tell, but hopefully cleanbuild would reproduce the same thing if you gave it an appropriate set of apt sources. [14:57] Oh, I figured it was a generic error message left over from converting things over to snap building :-) [14:58] Hmm, okay. I'm not sure what could have happened there, but a lot of people pushing into that PPA. [14:58] Thanks cjwatson ! [14:58] jdstrand: thank you, checking now [14:58] jdstrand: wooooot [14:58] jdstrand: thanks :) [14:58] quick question, are the XDG_* environment variables already set based upon SNAP_USER_DATA, or do I have to make sure I do that myself? [14:59] easy answer: .... it depends [14:59] :) [14:59] I'll just set it myself, then :P [14:59] there are desktop launcher parts you can use ... [14:59] if you use them, they set these vars [15:00] if you dont, you need to set them yourself ... [15:00] you can check whats set by installing hello-world [15:00] and then running hello-world.env [15:00] it will print the default environment the hello-world binary sees [15:01] your snap would see something similar [15:01] right [15:04] bartbes: you don't have to do anything, we set $HOME and software correctly derives the rest [15:04] well, if XDG_DATA_HOME is unset, yes [15:05] zyga, well, we dont explicitly set XDG_ vars, do we ? [15:05] zyga: fyi, all the 'pc' gadget uploads you did are approved and just need you to press the publish button [15:05] only the desktop launchers do [15:05] zyga: I also fixed the issue in the review tools that made it get hung up (requested a store pull, but that probably won't happen til next week) [15:06] ogra_: the spec says it's derived from HOME if it isn't set [15:07] well, all i know is that the launchers set it based on $HOME, i wasnt aware it is set by something else now [15:07] (if it actually is) [15:07] bartbes: that's right. as such you don't need to set them. HOME is set to ~/snap/$SNAP_NAME/$REVISION and so your snap will use ~/snap/$SNAP_NAME/$REVISION/.config, ~/snap/$SNAP_NAME/$REVISION/.cache, etc [15:08] ogra_: no, applications need to default to $HOME/.local/share themselves if $XDG_DATA_HOME isn't set [15:08] jdstrand, how if the XDG_ vards arent filled at all and the app looks for them [15:08] we will start setting XDG_RUNTIME_DIR in snapd [15:08] ah [15:08] ogra_: because the toolkits follow the spec [15:08] jdstrand: you know, if they weren't set to begin with, anyway, I want it to be $SNAP_DATA_COMMON, since the information isn't version-specific [15:09] so it doesn't matter, I need to write a wrapper anyway [15:11] bartbes: well, perhaps, but we wouldn't want to diverge from the spec I don't think (that was a conscious decision). we could arguably set HOME to SNAP_USER_COMMON, but that feels a little weird. you are always free to set XDG_... to SNAP_USER_COMMON if that is appropriate for your snap [15:11] that's perfectly sensible [15:12] I'm doing something weird anyway [15:20] ogra_: we don't but software should not set it either as libraries typically do that [15:20] jdstrand: the store issue that affected the pc gadget snap? [15:21] aha [15:21] (and i thought desktop envs usually set it on startup :) ) [15:22] elopio: hey, could you take a look at why the clone is failing on this integration test on github c-i? https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-zesty-snappy-dev-snapcraft-daily/zesty/amd64/s/snapcraft/20161201_214708_59c43@/log.gz [15:22] hi all. is there documentation on snap recipes in launchpad? i'm having a hard time finding it on help.launchpad.net or snapcraft.io [15:26] jdstrand: this is something I mentioned before a few times; the CE team would love if this landed for their devmode testing snaps. Can you eyeball it quickly (the function has like five syscalls inside) and give me some feedback. I didn't tweak the apparmor profile yet. https://github.com/snapcore/snap-confine/commit/b36fe6c334ca70166a7def06ba4418a764af492e [15:27] cwayne: ^^ [15:27] zyga: <3 [15:28] zyga: jdstrand: this is actually pretty critical to testing our projects [15:28] cwayne: sorry for starving it for so long [15:29] zyga: no worries, totally understand how swamped you guys are :) === chihchun_afk is now known as chihchun === chihchun is now known as chihchun_afk [15:32] zyga: I don't know what store issue you are referring to. I saw that the pc gadget snap was stuck in manual review. I approved it and fixed the review tools trunk so that won't happen again, but that hasn't landed in the store just yet [15:33] jdstrand: yes, that's what I was thinking about with the pc gadget snap [15:33] jdstrand: thank you for fixing that! [15:33] jdstrand: (those are auto built now as you probably know :) [15:38] jdstrand: the store issue was that the gadget snap required to have i386 elf binaries for i386 and I believe this is what you fixed [15:38] PR snapd#2402 opened: debian: disable autopkgtests on ppc64el [15:40] the question i am trying to find documentation on is whether we can target zesty as the primary archive for automatic launchpad builds. i am building ubuntu-image, but i remember reading somewhere (that i can't find now) that only xenial is supported, but that won't work for us because we need e2fsprogs from >=yakkety [15:41] sergiusens, would be nice if the "apps" section of the snapcraft file we could set environment variables to each app. Something like environment:"OXIDE_NO_SANDBOX=1;MY_APP_VAR=True" [15:41] this will avoid create a wrapper file just to export vars [15:42] renato__: I believe you already can [15:42] renato__: we spent lots of time connecting the docs to make that owrk [15:42] renato__: may be disabled but we technically can now [15:42] I don't remember, sorry [15:44] zyga, \o/ this is great, just need to figure out which syntax I should try [15:47] renato__: disclaimer, it may not be enabled at some layer yet but we definitely planned this for a long time so ask sergiusens [15:48] zyga, thanks [15:48] jdstrand: hmmm, snap confine oopses the kernel [15:48] jdstrand: I guess we're pushing the boundaries [15:48] jdstrand: https://pastebin.canonical.com/172640/ [15:49] jjohansen: ^ [15:51] zyga: that's a bad strlen call so just a plain ol' bug (not pushing any limits) [15:51] zyga: can you file a bug with reproducer instructions? [15:52] tyhicks: against the kernel package? [15:52] zyga: yes, the linux source package [15:52] ay, will do [15:53] should there be a direct mapping between implicitClassicSlots and what is marked transitional on the interfaces page? as there is not and I cannot grok the criteria [15:54] * zyga doesn't kow [15:54] know* [15:55] tyhicks: hey, is that something that is known? ^ [15:55] jdstrand: I've not seen it before - does it look familiar to you? [15:55] no [15:59] jamiebennett, any idea on my interfaces query above [16:00] Bug #1646881 opened: Enable pre-caching of snaps in a classic chroot [16:00] jdstrand: how can I discard any profile I may currently have? [16:00] perhaps its that the interfaces will be provided by other snaps in all snaps world so its not transitional [16:00] jdstrand: I think that oops above is related to the fact that snap-confine is invoked from snap-confine [16:00] Dec 02 16:51:13 xenial-server audit[78188]: AVC apparmor="ALLOWED" operation="capable" profile="snap.snapd-hacker-toolbelt.busybox//null-/usr/bin/snap//null-/usr/lib/snapd/snap-confine//null-mount-namespace-capture-helper" pid=78188 comm="snap-confine" capability=19 capname="sys_ptrace" [16:01] this shows up just before the oops [16:01] the "null"s there seem wrong [16:01] hi all, I uploaded a screenshot to " my apps" but it does not appear in gnome software ? [16:02] gerry_: I believe there's a bug about that already [16:02] I installed a snap in devmode, but it still can't connect to either my x session or to opengl, do I need to do anything special, except list the plugs? [16:03] bartbes: no, you should be fine, what is the error you are seeing and how are you launching your app? [16:03] zyga: oh ok sorry to bother you all [16:04] it's an error by the application itself, from sdl: "No available video device" [16:04] gerry_: no worries [16:04] and it happens both when using snap run, or launching it using the /snap/bin file [16:05] though it doesn't without any sandboxing, because if I run it directly it does work [16:05] it doesn't need to contain a libGL does it? [16:06] bartbes: are you using nvidia propietary drivers? [16:06] can I attach a debugger, or get a shell, maybe? [16:06] yes [16:06] bartbes: interesting [16:06] bartbes: can you look at: snap run --shell snap.app (replace with the right stuff) [16:06] on arch, I should probably mention [16:06] bartbes: and look at /var/lib/snapd/lib/gl [16:06] bartbes: do you see libGL there? [16:06] ah [16:06] on arch... hmm hmm [16:07] I think that's a known issue for arch and certain version of the driver [16:07] can you look at that directory [16:07] and report which driver version you have [16:07] yeah, it's empty [16:07] in any case, report a bug on snap-confine on launchpad [16:07] and the shell is kind of hard to use if I don't even have ls :P [16:08] it's version 375.20-3 [16:08] bartbes: exit that shell and look at /sys/module/nvidia/version [16:08] bartbes: is it there? what does it contain? [16:08] that contains 375.20, unsurprisingly [16:09] bartbes: when it runs outside of a snap, where is libGL.so [16:09] bartbes: unfortunately distros differ on how they package nvidia drivers and there's some code that has to be maintained for each distro [16:10] bartbes: the arch code is different from ubuntu entirely [16:10] bartbes: perhaps something changed since and it needs updating [16:10] bartbes: if oyu want to hack I can help you get started, maybe it's better now and something has been unified [16:10] bartbes: maybe it's just a path that needs updating [16:10] bartbes: nvidia support code is not under CI [16:10] /usr/lib/libGL.so is a symlink to /usr/lib/libGL.so.1 is a symlink to /usr/lib/nvidia/libGL.so.1 is a symlink to libGL.so.1.0.0 [16:10] bartbes: (on any distro) [16:11] ah [16:11] interesting [16:11] that's different and indeed that would explain why it fails [16:11] can you grab snap-confine source [16:11] and patch one line [16:11] sure [16:11] go to mount-support-nvidia.c [16:11] and jump to line 49 [16:11] oh, [16:12] and mabe as a second idea, compile snap-confine with --enable-nvidia-ubuntu [16:12] just as a quick test [16:12] as for recompiling with the same options as in current arch packaging please look at adding some globs there on line 49 [16:12] :/ [16:13] I'm sorry for this, my nvidia box is not usable lately and I don't test this actively on arch as a side effect [16:13] Quick question: I know that work is/was done for xdg-open on yakkety. I've installed the snapd-xdg-open deb, but how do I call xdg-open from my snap? I get that it is not found (in the PATH). [16:13] doesn't it follow the symlink? [16:13] ZenHarbinger: you should just call xdg-open, I believe the shim xdg-open is in the core snap [16:14] or does it copy the symlink but not its target? [16:14] ah, it seems not to be the case [16:14] what's going on with ubuntu store? anyone knows? last few days it's super unresponsive. I constanly get 504 timouts when trying to publish new revision [16:14] bartbes: can you report a bug on snapd for this please [16:16] * zyga needs a break or a beer [16:16] long day [16:16] oh, so it isn't snap-confine? [16:18] zyga: discard a profile you already have? you don't want to do that [16:19] zyga: I'm going to refer you to tyhicks on why the nulls are in that ALLOWED log entry. iirc, there were some bugs jj was looking at in this area, but I'm not up on the issue [16:20] zyga: and I'm going to refer you to jjohansen - I'm not sure why they'd be there [16:21] jjohansen: if you are too swamped to triage it today, let me know and I can dig through the code [16:21] zyga: I think the most important thing we need from you is a reproducer [16:23] zyga: so what should I mention in my report, that I'm running arch with nvidia and /var/lib/snapd/lib/gl/ is empty? [16:27] tyhicks: this is not urgent for today [16:27] tyhicks: we can have a call to discuss this next week, perhaps faster than irc [16:27] bartbes: yes, and the driver version and the location of the GL files in the tree [16:28] bartbes: sorry I meant to reply to ZenHarbinger earlier [16:28] alright [16:28] ZenHarbinger: can you report a bug on missing xdg-open in the core snap please [16:28] tyhicks: the reproducer will take some time to create, I don't quite know what I did to make this happen (yet) [16:29] I see two different versions of s-c being invoked (one from my tree, one from the core snap) [16:30] zyga: ok, the stacktrace might be sufficient since I suspect that it is most likely strlen() being called on a bad address or an unterminated string [16:31] zyga: in other words, don't spend personal time working on it [16:31] ok :) [16:34] tyhicks: looking there everything seems to be testing for non-NULL values but maybe it's just garbage, not null [16:34] zyga: oh, I just noticed /usr/lib/nvidia/libGL* is in libglvnd, which the snap-confine source claims is unsupported, so this is a known issue? [16:34] bartbes: yes :-( [16:34] bartbes: I failed to find a way to support that [16:34] bartbes: if you can spend some cycles on this then this would be really appreciated [16:35] why doesn't it work? [16:35] isn't the libGL.so.1 that's pointed to just a valid libGL? [16:36] bartbes: the lib-gl-vendor library is a shim that does dlopen on the real library based on some condition [16:36] bartbes: you'd have to see what it does internally and what it takes to make the sandbox work with this [16:38] bartbes: the glvendor thing feels like a good idea but just is more complicated to support [16:38] I hadn't heard of it before today [16:38] so I don't know how it got installed :P [16:38] welcome to linux plumbing :) [16:38] bartbes: it's a part of the nvidia driver stack now [16:41] bartbes: and thank you for using snappy ::) [16:42] can't you just.. copy the entire thing? [16:42] bartbes: you can do a few things but you have to make libglvndr find what it expects in the right spot [16:42] bartbes: TBH nvidia support is one of the more hairy part of snap-confine [16:44] tyhicks: yeah, looks like it explodes because of strlen [16:44] tyhicks: but that implies the non-null pointer is garbage somehow [16:44] * zyga is tempted to build a kernel with an extra printk [16:45] it's friday and I could have my first kernel patch; [16:45] it looks like it just dlopens libGLX_.so [16:45] bartbes: the key question is -- where from [16:45] bartbes: look at what the symlinks do [16:46] bartbes: maybe what we need is to symlink the right /usr/lib/nvidia content, not sure [16:46] from the standard path, I managed to get it to load from somewhere else using LD_LIBRARY_PATH [16:46] bartbes: remember that snaps don't run in the typical environment [16:46] bartbes: snap-confine does lots of magic [16:46] oh, the "normal" one is in /usr/lib/libGLX_nvidia.so.0 [16:46] bartbes: one of thoe is pivot_root [16:46] those* [16:46] and / is different (it is the core snap or the ubuntu-core snap) [16:47] well, technically what it points to, which is the versioned one, but it loads the .0 using dlopen [16:47] and your old / is in /var/lib/snapd/hostfs [16:47] so the nvidia support code for arch puts a tmpfs in /var/lib/snapd/lib/gl [16:47] and drops a bag of symlinks from there to /var/lib/snapd/hosfs/usr/lib/nvidia* [16:47] the globs control those [16:47] does that make sense? [16:48] at runtime snapcraft-made wrapper file adds SNAP_LIBRARY_PATH to LD_LIBRARY_PATH [16:48] and SNAP_LIBRARY_PATH contains /var/lib/snapd/lib/gl [16:48] (and that's end of the magic) [16:50] I see [16:51] I've been poking about some more and I'm even more confused now [16:51] bartbes: I'll gladly help if you have a question [16:51] so it turns out "both" "vendors" point to the same libGLX in the end [16:52] * bartbes sighs [16:52] that said, it does look like it uses dlopen without a fixed path [16:52] yeah, there's hope [16:52] its just requires someone to follow the trail of calls to the end [16:52] strace helps [16:53] aha, I figured out why it doesn't load [16:53] I tried to force it with LD_PRELOAD: [16:53] /bin/sh: error while loading shared libraries: libnvidia-tls.so.375.20: cannot open shared object file: No such file or directory [16:53] ah [16:53] no wait, that may be because the preload is before library path [16:53] "/usr/lib/libnvidia-tls.so*", [16:53] that's probably handled [16:53] anyway, it's time to eat dinner, I'll look into it some more afterwards [16:54] thanks! stay in touch please === JanC is now known as Guest2425 === JanC_ is now known as JanC [17:20] zyga: Still there? [17:21] I added rules for my fake /usr/bin as we talked about earlier this week, and it's mounted - but I can't execute anything from it [17:21] Was wondering if you'd have some hint, I feel like I'm missing something [17:22] /etc/apparmor.d/usr.lib.snapd.snap-confine: mount options=(ro bind exec) /snap/*/** -> /usr/**, /usr/bin/** ixr, [17:22] /var/lib/snapd/mount/snap.ubuntu-sdk-ide.ubuntu-sdk-ide.fstab: /snap/ubuntu-sdk-ide/x14/bin /usr/bin none bind,ro,exec 0 0 [17:23] kalikiana: yes [17:24] kalikiana: when you say you cannot execute anything, can you be more specific please [17:24] In "snap run --shell" I can see my fake /usr/bin, but I get "bash: /usr/bin/pkexec: Permission denied" [17:24] kalikiana: ah, right, that would be the base confinement not letting you run that specific executable [17:24] kalikiana: some are allowed, some are not [17:24] ls /usr/bin confirms that the files are there [17:24] kalikiana: you won't get out of the sandbox with pkexec btw [17:25] kalikiana: if you tell me more what you need to do I may be able to help you better [17:25] kalikiana: yes but the process is confined and the confinement doesn't allow to run that particular binary [17:25] kalikiana: you can look at dmesg | grep DENIED to confirm this [17:25] zyga: That is fine, I just need to deal with the app "expecting" /usr/bin/pkexec but I don't actually need the functionality to be equivalent [17:25] kalikiana: unfortunately you won't be able to do it this way but maybe there's a way [17:26] kalikiana: put a symlink over /usr/bin/pkexec [17:26] and make that symlink point to something benine that is allowed by the policy, e.g. /bin/true or maybe /snap/yoursnapname/current/fake-pkexec [17:26] symlinks are "transparent" to apparmor, apparmor really only cares about the final path [17:26] give that a try [17:27] zyga: I don't get DENIED for pkexec [17:27] kalikiana: maybe it's silent then, interesting [17:27] kalikiana: give that a try though [17:27] Hmmm not sure if I follow [17:27] * zyga should rest a littlet [17:27] little [17:27] zyga: The pkexec is a shell script in my snap [17:27] I'll be back in a few hours to check if my kernel built, if you leave me a message I'll respond [17:28] kalikiana: right, the point is that your overlaid /usr/bin/pkexec _must_ be a symlink to something in $SNAP === devil is now known as Guest90793 [17:28] kalikiana: or something that is already allowed to execute [17:29] zyga: How could I create that? I can't snap a symlink before I know the real path with its version.. [17:30] kalikiana: you can use current [17:30] kalikiana: the symlink can be "/snap/$SNAP_NAME/current/fake-usr-bin/fake-pkexec" [17:30] kalikiana: just put the snap name for real [17:31] Bug #1642581 opened: Livepatch checkState: check-failed [17:31] kalikiana: then adjust the fstab file to bind mount fake-usr-bin over /usr/bin [17:33] Okay, that makes sense. Will try that [17:33] Thanks [17:39] so that was fun, I figured out I was missing some X libraries [17:39] copied them over.. "*** stack smashing detected ***" [17:40] bartbes: interesting, might be incompatiblity between libc in arch and the one in the core snap [17:40] bartbes: would be good to check if the version are compatible and if there are any funny patches [17:40] and the system I built the binaries on, debian oldstable [17:41] the way the userspace library that that is the "driver" sharing works is always at risk that this would happen [17:41] ideally libc is stable and compatible but ... well [17:41] it's all FOSS and patches [17:41] right, I presume this would be the arch nvidia driver, linked against the arch libc, and the libc available in the snap, which is the ubuntu core one [17:41] I wonder.. if I copy the new libc in.. [17:42] no but ... you can bind mount the arch libc [17:42] as a quick test [17:42] sudo mount --bind /lib/glibc-something-something /snap/ubuntu-core/current/lib/glibc-something-something [17:42] replace ubuntu-core with core if you have that, or do both to be safe === Guest90793 is now known as devil_ [17:44] same result [17:44] oh well, at least I tried [17:45] * zyga hugs bartbes [17:45] thank you! [17:49] it's good to see you took the hard problem of portable binaries [17:49] and added confinement to it :P [17:52] Bug #1646912 opened: Snaps after an update disappear from the launcher [17:56] bartbes: well, confinement is actually not a factor in this prolem [17:56] not in this particular problem [17:56] bartbes: (of only nvidia didn't need a proprietary driver) [17:56] bartbes: you were joking perhaps but I just wanted to clarify that [17:56] bartbes: it's perectly possible to make this work but we'd have to put the driver into a snap [17:57] bartbes: and assuming the kernel is OK, id all work [17:57] bartbes: I was thinking about prototyping this but didn't have the time [17:57] I don't think you can put the driver in a snap, since they are tied to the kernel module versions [17:57] bartbes: are they? [17:57] bartbes: AFAIK the module is but not the userspace lib [17:58] bartbes: the userspace lib is not something we rebuild and that's the problematic part [17:58] not sure, but when I update the drivers (both sides) and try to run something using gl after I tend to get version mismatch errors [17:58] bartbes: interesting, maybe they share some cookie [17:58] bartbes: it'd be good to have someone from nvidia to work with us on this [17:59] * zyga gets back to resting, not looking at irc [18:26] elopio: did you ever get a chance to check whether the firewall fix from https://portal.admin.canonical.com/97657 improved matters for you? [18:33] Hrm. I guess the symlink isn't possible, absolute or relative (../usr/bin): './parts/stubs/build/pkexec' is a broken symlink pointing outside the snap [18:48] PR snapd#2402 closed: debian: disable autopkgtests on ppc64el [19:07] i'm attempting to use X from the lxd snap, but doing so generally requires bind-mounting /tmp/.X11-unix from the host to the container [19:07] however there is no /tmp/.X11-unix in my snap's fs [19:08] is something mounting over /tmp so an unconfined snap can't access? is there any way around this? [19:26] to the former: yes [19:38] zyga: have you opened a bug for your strlen oops yet? [19:43] bartbes, thanks for the confirmation. so there's no way to access anything in /tmp on the system from a snap? [19:43] I'm not sure, I only found this out during debugging earlier [19:58] i have a question [19:59] if you make a snap containing a web app, how do you use it on a vhost? [20:01] for example wordpress [20:03] you'd probably want something like nginx in front of it acting as a proxy [20:03] so that is not automated? [20:04] it depends on the packager what they include [20:04] you could include a copy of nginx or use the distro version [20:05] or a separate snap of nginx that points to your wp snap :) [20:05] including a copy of nginx doesn't help [20:05] suppose i have bought three domain names, foo.com, bar.com, baz.com [20:05] i want to run separate wordpress instances on foo.com and bar.com, and rocket chat on baz.com [20:05] and i only have one dedicated server [20:06] how do i do that, using snaps? [20:06] see for example how nextcloud does it: https://github.com/nextcloud/nextcloud-snap/blob/master/snapcraft.yaml [20:07] they include apache and everything needed to run nc on its own [20:07] ali1234: snaps are very different in this regard, IMO [20:07] you could on top of that have something like nginx proxying requests to that apache instance [20:08] and you'd probably need something like that, to handle the port issues you run into with having multiple webservers running (potentially) [20:08] *that being what ssweeny is describing [20:08] yes [20:08] so i would end up needing multiple apache installs [20:08] well, each app would have its own [20:08] then i would have to manually configure nginx to proxy them all? [20:08] that's one way to do it [20:09] easy enough if not terribly efficient [20:09] is there a way to do it where all i have to do is install things and then it just works? [20:09] you could also roll your own snap with wp, rocket.chat, and apache with the apache config set [20:10] that doesn't seem like it would have any benefit over just installing it the old way [20:10] confined apache alone seems worth it :) [20:10] not really, not if it is the only thing running on the server [20:10] ali1234: i think you misunderstand what confinement gets you, potentially [20:11] ali1234: it doesn't matter that there are or aren't other things running on the server, really [20:12] confinement isn't the problem i am trying to solve though [20:12] the problem i am trying to solve is that every web app has different weird requirements that conflict with each other [20:12] which snaps help solve :) [20:12] but only if you put each thing into a different snap [20:12] right [20:13] ali1234: not sure what you're arguing is the alternative? [20:13] it's not the alternative. what i do now is instal things from source in /usr/local [20:13] it ends up a huge mess [20:14] right so snaps will still help there since you only have to build each piece once and they won't interfere with each other [20:15] yeah [20:15] there's just a bit of configuration on top to get them to cooperate, which can't be harder than what you're doing now [20:15] so what i would like to do is install web app snaps and then use "snap connect" to connect them all to my web proxy snap (which might be nginx, or might be something else) [20:16] through a standard interface [20:16] rather than manually writing an nginx config file [20:17] this kind of crosses over with juju at this point [20:17] but this is something juju never really seemed to be able to do either [20:17] ali1234: well, your web proxy snap would then have that config file, basically, or understand how to handle `snap connects` to it sslots? [20:17] yes [20:17] the web proxy snap would have a config file which lists all the domains/vhosts [20:18] then from that it would auto generate a list of interfaces [20:18] a "web-proxy" slot would be interesting I think but I don't know if there's anything close to that implemented now [20:18] and i'd connect the web apps to them [20:18] close to that conceptually I mean [20:18] yeah that's it [20:18] mostly what interfaces do now is mediate access to files and dbus communication [20:19] you'd also have to give that connection more information [20:19] like what port to proxy to what port, etc [20:19] no [20:19] it would proxy whatever you connect it to [20:19] ok, that could be the plug you defined [20:19] the only information you would give it on the nginx side is what domain name and port to listen on [20:19] yes [20:20] ali1234: i think you took me too literally, i mean you'd have to define that as part of the connect-interface [20:20] the port that the web app internally runs on should be dynamically chosen to avoid conflicts [20:20] i see, yes [20:20] ali1234: aiui, everything you're saying doesn't exist yet, but I've not tried recently [20:23] can you connect multiple snaps to the same mysql snap? [20:23] that seems like a similar problem, if the mysql snap has a configurable port [20:24] ali1234: again, i don't think that's how connect works currently [20:25] ali1234: e.g., nextcloud bundles its own mysql in the snap [20:25] ali1234: also, putting those connections between snaps, i wonder, if it runs a bit contrary to avoiding dependency hell. What happens when the mysql snap gets updated? How do you know your app is compatible? [20:26] (just thinking out loud0 [20:26] um... because its mysql [20:26] can you install two copies of the same snap at the same time, with different configuration? [20:26] right, currently if your app is tightly coupled to another piece of software you're better off including it [20:27] mysql has a well defined interface, it is not tightly coupled [20:27] ali1234: you can't install 'two copies' of a snap on the same system [20:27] afaik [20:27] there is some effort going on now with "framework" snaps like Qt, but it's still early days [20:27] ssweeny: cmiiw, please! [20:28] right, one snap one version [20:28] ali1234: so it feels like maybe you thought snaps were solving a different problem than they are? [20:29] i thought they were solving all problems :) [20:29] eventually :) [20:30] but this is one problem i have now [20:30] and it's really annoying [20:30] i'd like to try out rocket chat [20:30] right, so for now you can get some benefit from snapping but there is still some manual config needed [20:30] but i can't install it on my server [20:30] the rocket chat snap works pretty well [20:30] and many other web apps [20:31] but my server already has a horrible mess of vhost configs [20:31] also it is running 14.04 [20:33] ali1234: yes, sorry -- i should have 'had solved a different problem than they have' :) [20:33] at the moment it is running about 6 wordpress instances, some wiki software, a bug reporting app, a couple of joomlas [20:33] i think there's a gitlab install as well [20:34] multiple wordpress instances is going to be the big hurdle [20:34] they are the easiest to deal with currently because they don't need any funny dependencies like ruby on rails or node [20:34] maybe leaving them alone is the way to go then [20:34] just unzip it in the htdocs and that is it [20:35] since you still need a central nginx then you could still install the rocket snap [20:35] but i don't need a central nginx currently? [20:35] i just use apache vhosts [20:36] same difference :) [20:36] apache has a mod_proxy that'll let you do the same thing [20:36] hmmmmm [20:36] I just thought all the kids were using nginx these days [20:37] only because they are using five separate virtual machines to run one copy of wordpress [20:37] says the guy who set up a webserver like 6 years ago and is afraid to change it [20:38] running lighttpd no less because at the time the VPS had very limited RAM [20:38] this server moved off a VPS because of stupid ram limits [20:39] the provider placed a limit of like 8MB of non-swappable kernel memory [20:39] so we had like 1GB of RAM, but things were getting OOM killed because they opened too many files [20:40] took us ages to figure it out as well [20:41] bartbes, fyi after installing in devmode i found some of my /tmp folders in `source=/var/lib/snapd/hostfs/tmp/` in the container [20:42] when I tried to open that it was empty [20:42] and that's in devmode [20:50] hmm weird... mine only show up when i ask for the specific directory i'm looking for [21:09] renato__: if you click 'manual review' I'll approve https://myapps.developer.ubuntu.com/dev/click-apps/4632/rev/17/ === ahoneybun_ is now known as ahoneybun [21:29] Bug #1644058 changed: Different behaviour in MPRIS interface with local install vs store install [21:56] Bug #1646415 opened: cannot run configure hook [23:24] PR snapcraft#937 closed: Incorporate all part properties into state tracking [23:51] PR snapcraft#944 opened: Release changelog for 2.23