[00:01] I usually do that latter with sudo ./ubuntu-device-flash core 16 --channel=edge --gadget=canonical-pc --kernel=canonical-pc-linux --os=ubuntu-core -o ubuntu-core-16.img [00:01] wililupy: It sounds like your "su" method to become root is not running as a login shell, and so not reading /etc/profile to set PATH to find snaps. [00:02] wililupy: compare $PATH from two environments. [00:02] Thanks qengho. I started digging into it some more and I have some other issues with the snap as well. Upstart seems to not like it either and it's not loading the services properly. [00:02] It? snapd? [00:03] the snap has a service that runs for console redirection and ASIC driver communication with kernel drivers. [00:05] When I run the console command to get into the ASIC programming console, I get an error Unable to connect to Upstart: Failed to connect to socket com/ubuntu/upstart: Connection Refused [00:06] If I try to run sudo snap.console it says command not found, but if I run it from /snap/bin I get the above error about Upstart and a missing file that I have never heard of. [00:06] ...Gremlins.... [00:10] wililupy: what file? [00:12] My atom-fusion package still doesn't seem to be publicly available for download. I uploaded it to the store 16 hours ago. Anyone have any ideas how I can make it available? I took a screenshot of its publish history if that helps http://i.imgur.com/gYJWbap.png [00:14] fusion809: installing from same machine as where you built it? [00:14] Installing it isn't the problem, it's getting the package available from the official snap repository. [00:15] I am installing it just fine, and I'm working on Arch Linux so that's a feet in itself. [00:15] feat^ [00:16] fusion809: yep. Are you installing on the same machine as where you built? [00:17] I built it in a Docker container (for Ubuntu 16.04) that I'm running on the same machine as where I installed it. [00:17] fusion809: is that the same architecture? Not amd64 vs i486? [00:18] AMD64, I'm pretty sure Docker doesn't even run on 32-bit platforms, nor does it provide containers for 32-bit systems [00:18] fusion809: what's the name? [00:19] "atom-fusion" [00:19] ? [00:19] Exact snap package name is atom-fusion_1.8.0_amd64.snap. So yeah atom-fusion is the package's name [00:24] fusion809: it can take a few minutes to publish, but there could be something wrong. At bottom, file a bug report. [00:24] It's been 16 hours, so yeah probably need a bug report. [00:35] qengho: /usr/sbin/console.fp [00:37] Done reporting the bug https://bugs.launchpad.net/snapcraft/+bug/1594622 [00:37] Launchpad bug 1594622 in Snapcraft "Package Uploaded via web browser not being added to public repository" [Undecided,New] [00:37] qengho: I'm going to try rebuilding my snap with confinement: devmode to see if I can get more logs. [00:38] qengho: Thank you so much! [00:40] wililupy: Are you acessing $SNAP/usr/bin/console.fp? [00:49] wililupy: I think that's your problem. /something instead of $SNAP/something . [01:15] hey [01:15] anyone around? [01:16] o/ [01:16] !help | johnsel [01:16] johnsel: Please don't ask to ask a question, simply ask the question (all on ONE line and in the channel, so that others can read and follow it easily). If anyone knows the answer they will most likely reply. :-) See also !patience [01:16] :) [01:16] alright, fair enough [01:17] ./openvpn: error while loading shared libraries: libpkcs11-helper.so.1: cannot open shared object file: No such file or directory, any clues? [01:17] it's in the snap itself [01:17] at ./usr/lib/x86_64-linux-gnu/libpkcs11-helper.so.1 [01:18] hmm weird [01:18] johnsel: stick around, maybe someone else has a better answer :) [01:18] I will, meanwhile I'm going to try and compile it from source [01:18] See if that helps [02:20] elopio hey, what is the easiest way to debug the fake servers? Seeing this https://github.com/ubuntu-core/snapcraft/pull/584 === zeroedout_ is now known as zeroedout [02:31] sergiusens: could you paste the error? [02:38] elopio: could you look at my PR again? [02:54] tsimonq2: I can review it tomorrow. [02:57] elopio: thank you :) [03:47] tsimonq2: are you running the tests locally, for your subversion patch? [03:50] qengho: yeah, but I can't figure it out [03:52] qengho: see anything I'm missing? === cpaelzer_ is now known as cpaelzer === chihchun_afk is now known as chihchun [06:42] hey there [06:43] does anyone know if it's possible to tell snapcraft to stage some packages from a ppa or a local dir? [06:48] seb128: not possible, last time I checked. [06:49] qengho, thanks, I'm going to file a bug against snapcraft I guess [06:54] seb128: while you're at it, please ask for APT-like source semantics. foo=version, foo/release, with whatever you think is best for PPA and whatnot. Maybe "foo@ppadescription" [06:54] hum, if I remember some discussion, snapcraft was supposed to take your source.list [06:54] and so, yours ppa [06:54] instead of rewriting it [06:54] that was in february [06:54] (however, that ofc, won't work in cleanbuild or launchpad, which is an issue) [06:54] It does, didrocks, but that only works for your machine. the yaml isn't very portable. [06:55] right! [06:56] good enough for today, I'm going to play with that, but first coffee [07:12] o/ === chihchun is now known as chihchun_afk === chihchun_afk is now known as chihchun [07:22] hey hey [07:23] hey it's dholbach! o/ [07:23] dholbach: how are you? [07:24] hey hey - doing well - how about you? :-) [07:24] qengho: do we have a Chromium snap? [07:24] dholbach: awesome :) [07:26] tsimonq2: Yes. Its security policies are almost available, and it works pretty well in devmode. [07:28] qengho: do you have code somewhere that I could take a peek at? [07:32] hey dholbach [07:32] salut seb128 [07:36] tsimonq2: Well, the recent parts will be in snapd, but the snapcraft that uses it will be something like https://code.launchpad.net/~chromium-team/chromium-browser/snappy-packaging [07:44] oh cool, thanks qengho :) [09:14] hmm, whern i use the mak plugin, shouldnt snapcfat clean call make clean ? [09:14] *snapcraft [09:15] ogra_: make clean make :) [09:15] my faviourite solution to WTF issues [09:15] zyga, well, i want snapcraft to clean up when i call clean [09:16] yeah === iahmad is now known as iahmad_ === iahmad_ is now known as iahmad [09:24] hmm, is discarding the build dir enough? [09:41] !info python-magic [09:41] python-magic (source: file): File type determination library using "magic" numbers (Python bindings). In component universe, is extra. Version 1:5.25-2ubuntu1 (xenial), package size 5 kB, installed size 53 kB [09:41] \o/ [10:00] hiall [10:01] hello matteo :) [10:10] !info gplugin [10:10] Package gplugin does not exist in xenial [10:11] !info gplugin-dev [10:11] Package gplugin-dev does not exist in xenial [10:11] :( [10:26] !info help2man [10:26] help2man (source: help2man): Automatic manpage generator. In component universe, is optional. Version 1.47.3 (xenial), package size 108 kB, installed size 420 kB [10:26] \o/ [10:32] !info gobject-introspection-1.0 [10:32] Package gobject-introspection-1.0 does not exist in xenial [10:32] !info gobject-introspection' [10:32] gobject-introspection (source: gobject-introspection): Generate interface introspection data for GObject libraries. In component main, is optional. Version 1.46.0-3ubuntu1 (xenial), package size 261 kB, installed size 1412 kB [10:47] !info default-mta [10:47] Package default-mta does not exist in xenial [10:47] !info mail-transport-agent [10:47] Package mail-transport-agent does not exist in xenial [10:47] grr [10:47] !info urlview [10:47] urlview (source: urlview): Extracts URLs from text. In component universe, is optional. Version 0.9-20 (xenial), package size 19 kB, installed size 65 kB [10:47] !info aspell [10:47] aspell (source: aspell): GNU Aspell spell-checker. In component main, is optional. Version 0.60.7~20110707-3build1 (xenial), package size 77 kB, installed size 360 kB === hikiko is now known as hikiko|ln [11:28] mvo: hey, I'm trying to make a mutt snap and I'm getting thrown a build error, would you be able to test if my snap works locally? dholbach says that you use mutt. https://github.com/ubuntu/snappy-playpen/pull/98 === chihchun is now known as chihchun_afk [11:45] tsimonq2: mutt! [11:45] tsimonq2: \o/ [11:46] heh [11:47] mvo: I'm going to bed, weird sleep schedules, so if you have any suggestions, comment on the PR [11:47] but yes, mutt! \o/ [11:47] :P XD [11:47] o/ [11:47] tsimonq2: will do. mutt! I'm excited :) I love my mutt [11:47] is that known that a "cp -a" triggers an invalid syscall under restricted snaps? === hikiko|ln is now known as hikiko [11:54] seb128, yeah, chown I think [11:55] kyrofa, is that a bug or a feature? [11:55] seb128, I assumed a feature, but jdstrand would know more [11:55] k [11:57] kyrofa, thanks for your replies on the channel btw ;-) [11:58] seb128, haha, of course! [11:59] kyrofa, do you have an idea why snapcraft clean doesnt trigger a make clean call when using the make plugin ? [11:59] Who's stealing all the armhf and arm64 launchpad builders!? [11:59] i kind of expected it would [11:59] kyrofa, doko most likely [11:59] ogra_, because it's not the smart :( [11:59] ogra_, remember make isn't the only build system it supports [11:59] ah [12:00] ogra_, its version of cleaning the source is to blow it away [12:00] ogra_, since that was the shortest path to success [12:00] right ... my makefile copies something to ../src [12:00] ogra_, I full intend on making that better [12:00] fully* [12:00] which i would like to clean along [12:00] Agreed. It would also be awesome if it actually noticed changes to the source [12:00] And just ran make again [12:00] yeah [12:01] But I need to come up with a generic way to do that for all build systems [12:01] Something that can be extending via local plugins [12:01] is there a way to do the pull/build again on some parts and not others? [12:01] seb128, yeah, but the inconsistency would be confusing [12:01] like to not redo a full source build everytime just because you changed the wrapper or the stage packages [12:01] anyone here with a 32 bit distro? [12:01] stop building that giant stuff :P [12:02] matteo, _o/ [12:02] seb128: http://pastebin.ubuntu.com/17638846/ [12:02] can you run this? [12:02] seb128, yeah that should be possible. You have to rebuild the part on which you changed the stage packages though... no way around that I don't think [12:03] seb128, if you have stage packages on a part that's building something, and it doesn't actually need or use the stage packages, you might be better off putting those stage packages in their own part, even if using the nil plugin [12:03] kyrofa, right, that's fine, it's "deb" part ... how do I do that? how do I tell it to repull the debs part only? [12:04] seb128, yeah it's not that fine-grained. The stage packages are pulled during the pull step [12:04] Along with the source code [12:04] can I pull only one part? [12:04] seb128, so you might want to have them in separate parts [12:04] seb128, oh certainly! [12:04] seb128, `snapcraft pull ` [12:04] seb128, that applies to all steps: `snapcraft build ` [12:04] seb128, `snapcraft clean --step=build` [12:05] ah [12:05] seb128, note that "snap" is not a valid step though, since it's what creates the image. i.e. `snapcraft snap ` is not a valid command [12:06] kyrofa, thanks, seems obvious now the mention it, I sort of got lost between the steps and parts for some reason [12:07] seb128, heh, no problem. Our `help` could probably use a little love [12:08] matteo, is there anything specific you are looking for/any error you hit? that's just on a normal system or under snappy? xenial? [12:10] seb128: does it download the whole file? [12:10] normal system [12:12] seb128: I get this: http://pastebin.ubuntu.com/17639303/ [12:30] snappy on arc isn't full supported yet, right ? [12:31] killua99, zyga should be able to tell you [12:32] I mean the arc aur package did install. I did just install krita over snap, but I can't find the app :D [12:33] you might need to re-login after installing snapd ... it ships an /etc/profile.d snippet to enhance your PATH [12:33] though krita also has a .desktop file, if you use some desktop with menu, it should show up there too [12:33] killua99, indeed, as ogra mentioned /snap/bin needs to be in your PATH [12:34] ogra@styx:~$ which krita [12:34] /snap/bin/krita [12:34] thats what i get on ubuntu [12:34] i would assume arch does something like that too [12:34] unless zyga didnt finish up that part yet [12:34] aha, re-login might be the missing part. Thanks ogra_ I'll try that later ;D [12:35] ayan (and Chipaca): re seccomp syscall-- yes, in 2.0.9 [12:35] * Chipaca hugs jdstrand [12:35] wb dude [12:37] good morning [12:37] tedg: snap-confine-- that is precisely it. 1.0.30 in yakkety will have all the fixes. xenial will once zyga/mvo transitions to snap-confine. I think that is imminent [12:37] hey sergiusens, 'sup [12:38] matteo, seems to always return 64823296 here compiled or not [12:38] seb128, kyrofa: chown is bug #1581310. will be fixed with seccomp arg filtering [12:38] bug 1581310 in snapd (Ubuntu) "ubuntu-core doesn't allow sed -i (fchown syscall)" [Medium,Triaged] https://launchpad.net/bugs/1581310 [12:39] well, fixed for many apps [12:39] jdstrand, excellent, thank you :) . How far out is argument filtering, by the way? That will solve many issues [12:39] didrocks qengho seb128 launchpad builders allow you to setup PPAs for the build [12:39] jdstrand, ah ok, thanks [12:39] and yes, ppa support for cleanbuild is the only thing really missing === dpm_ is now known as dpm [12:39] Morning sergiusens! [12:40] sergiusens, k, good to know, I didn't even know that snapcraft was using the system config [12:40] sergiusens, is there any way to give it a specific apt config? [12:43] kyrofa: waiting for (hopefully) final review from tyhicks. things got pushed back due to holidays and sprint [12:43] matteo: can you also print err in that program? ie the last line, make it fmt.Printf("%d copied; %v\n", n, err) [12:43] jdstrand, awesome :) [12:43] seb128 not today; I went back and forwars with Colin on this some time ago and we agreed to make it an out of snapcraft thing [12:44] although for cleanbuild it would need to be supported [12:44] seb128: there is a workaround. snappy-debug tells you to do: cp -r --preserve=mode [12:46] * jdstrand hugs Chipaca back :) [12:46] kyrofa how is it going? [12:47] sergiusens, not bad, how was the extended weekend? [12:49] have you been fathering a lot ? [12:49] jdstrand, thanks, I don't know about snappy-debug, I should give it a try :-) [12:49] sudo snap install snappy-debug [12:50] sudo /snap/bin/snappy-debug.security scanlog [12:50] that will tail /var/log/syslog, dereference syscalls and make suggestions [12:50] k [12:50] (and first run will tell you the proper snap connect command to run [12:50] ) === chihchun_afk is now known as chihchun [12:54] kyrofa turns out I had the flu for 2 weeks and did not notice until the weekend when some dry coughing kicked in :-P [12:55] sergiusens, blech, so a lovely extended weekend then [12:55] it was good still ;-) [12:59] jdstrand: sorry -- what do you mean by 'yes'? [13:00] ayan: yesterday someone asked if the seccomp syscall is allowed. the answer is 'yes' in 2.0.9 [13:00] jdstrand: ah, okay. is 2.0.9 available now? [13:01] ayan: it is released, yes. If you are using Ubuntu, it is in xenial-proposed [13:01] https://launchpad.net/ubuntu/+source/snapd/2.0.9 [13:02] Chipaca: it's nil [13:03] Chipaca: sorry [13:03] 34651558 copied, err: unexpected EOF [13:04] matiasb: there you go [13:07] but, why EOF? [13:26] jdstrand, mvo, do you know if anyone gave some consideration on letting snaps claiming mimetypes and how that could work? [13:27] zyga: hi, can you provide any advice for debugging an interface which includes udev snippets? are the snippets stored in a file somewhere when they are registered? [13:28] seb128 (and mvo): I think someone mentioned it at some point as something we'd want to support in the future. I think that needs proper design. I can sort of see it as an extension to interfaces, but we'd likely need to coordinate with tvoss or others from personal since they have something similar in url-dispatcher [13:30] jdstrand, mvo, would you see an objection on running update-desktop-database on /var/lib/snapd/desktop/applications so applications show as handler in e.g nautilus on unity7? maybe as a temporary thing until we figure out something better [13:32] seb128: otoh, I would, yes. that is too automagical since the snaps could take over mime handling and that should be an explicit choice. I suspect I'll be overruled on that [13:32] that gets back to design [13:33] joc_: hi [13:33] the design should involve discussion regarding how to transition to the new system [13:33] joc_: yes, they end up in /etc/udev/rules.d [13:33] jdstrand, the mailing list would be the right place to start that discussion I guess? [13:34] seb128: I'm not sure. I guess. it depends on if people feel it should be an interface. I guess the mailing list and then someone might ask to file a bug [13:34] k, thanks [13:34] seb128: you might want to wait for mvo to respond though [13:35] I'm getting close from a working evince [13:35] I'm not necessarily up on all the latest decisions [13:35] like I've it opening pdf even in restricted mode [13:35] nice [13:35] but it's a bit less useful if you can't double click on documents [13:35] like if you need to start evince from the dash and then browse to the file you want [13:37] seb128: well, there is the xdg-open thing [13:37] seb128: which is a toe in the water [13:38] Chipaca, the xdg-open things is the other way around though, right? [13:38] seb128: ah! [13:38] having code from inside the snap calling e.g your system browser [13:38] seb128: that's what happens when i skim the backlog and try to be helpful :-) [13:38] lol [13:38] thanks for the reply though ;-) [13:39] zyga: the system /etc/udev/rules.d i.e. not just from the confined app's perspective? [13:40] joc_: yep, the real one [13:40] joc_: if we put udev rules in place we reload udev and re-trigger the rules [13:41] joc_: so you should see stuff happening [13:44] hmm, not sure why i'm not seeing anything === chihchun is now known as chihchun_afk [14:05] jdstrand, so mime handling would be nice, but my real blocker is dconf atm I think ... do you still have that one on your todolist? [14:05] seb128: sounds ok [14:07] seb128: I am not actively working on that. there are 3 parts: 1) create a global gsettings interface that allows access to the global db by the sandbox (assigned to me, I did that) 2) gsettings apparmor backend-- multiple teams, in progress, behind a couple other things wrt security team) 3) making a snap find and use gsettings at all (ie, the HOME issue) [14:08] seb128: '3' is what you need. that seems to me to be a snappy team and/or desktop team thing (ie, it has nothing to do with the sandbox and I have no insight as to the proper fix) [14:08] maybe it is a snapcraft thing [14:08] jdstrand, I can figure 3 out but we also need access to the system XDG_RUNTIME_DIR [14:08] * jdstrand isn't sure [14:09] jdstrand, which is where I'm blocking [14:09] I don't even know if it's ok from a security point of view [14:09] are you saying the sandbox is blocking access to the XDG_RUNTIME_DIR? is there a bug for the system XDG_RUNTIME_DIR? [14:09] what is that dir? [14:11] jdstrand, XDG_RUNTIME_DIR=/run/user/1000 [14:11] jdstrand, I get a permission denied when I try to access /run in a confined snap [14:11] seb128: what is the apparmor denial? [14:11] l[30316.913854] audit: type=1400 audit(1466518291.070:296): apparmor="DENIED" operation="open" profile="snap.gnome-logs-udt.gnome-logs-udt" name="/run/user/1000/" pid=9158 comm="ls" requested_mask="r" denied_mask="r" fsuid=1000 ouid=1000 [14:12] well, that is for 'ls' [14:12] but what is the denial when you use gsettings? [14:13] becuase we allow access to /{,var/}run/user/*/dconf/user already in the gsettings plug [14:13] jdstrand: hey! Small question/remark/needs your brain. We are thinking about introducing best practices for shaping snapcraft.yaml for our developers via some rules set (order of stenzas, and so on). This tool would be a linter which may be extended as an helper for IDE for autocomplete as well. [14:14] so it means it needs to be fast to execute (as autocomplete on temporary file in the IDEs) and work on snapcraft.yaml source [14:14] jdstrand, ok, I think I just got confused and assumed that if I couldn't ls to it it was not available, I see no deny [14:14] jdstrand, I'm going to try to figure out 3) then, sorry for the nois [14:14] jdstrand, and thanks for the replies! [14:14] seb128: np [14:14] I was first thinking about about the click-reviewer-tools (that we will integrate on package built from the ide ofc), but I'm a little bit more vary on using/extending it for snapcraft.yaml + introducing our best practice rule then [14:15] having some experience on linter written in python integrated in IDE and their speed… wdyt? [14:16] didrocks: I think the tools could be extended to read a specific snapcraft.yaml on the fs and run fast enough [14:16] jdstrand: so you would probably be in favor of us going that road instead of trying to get something in go? [14:17] didrocks: the thing that can be slow now is unpacking the snap, going through all the files, etc. just parsing snapcraft.yaml would be fast [14:17] didrocks: yes-- otherwise the test will diverge and maintenance would be a problem [14:17] tests* [14:17] jdstrand: yeah, but it means for every character typed in the IDE, the python interpretor would be executed by the IDE plugin [14:17] (for autocomplete for instance) [14:17] it is already hard enough keeping snapcraft and the tools in sync. adding another thing would be hard [14:18] yeah, that's why I prefer talking about it to you beforehand :) [14:18] didrocks: hmmm, for every character? that sounds slow now matter how you do it. I mean, if you could keep the interpreter running, then it would be fast, but invoking the interpreter over and over will likely be too slow [14:19] jdstrand: I'm afraid that out extending most of IDEs are working though [14:19] that's* how [14:19] but in theory, you have nothing against us extending the click-reviewer-tool for those functionality? (parsing snapcraft.yaml + introducing autocomplete) [14:20] functionalities* [14:20] I do not-- it has a ton of lint tests already [14:21] jdstrand: great! the LP project is still the main branch, right ? (nothing on github?) [14:21] how to integrate would be the interesting bit [14:21] all LP [14:22] yeah, I'll have a look on some ides and how this works, but from a quick look, it's similar to what you do with the tool already: returning some json (where you have the line number…) [14:22] you'd need to extend that part. we don't track line number-- we track by key/value [14:23] yeah, but I think it's another binary anyway [14:23] (not that line number would be difficult to add) [14:23] as it's not meta.yaml [14:23] by another file, with other rules (some are commons) [14:23] you might want to create a 4th category-- 'bestproactice' or something. error, warn and info are likely not enough for what you need (something between info and warn) [14:24] indeed [14:24] I'll have a look in the next days and keep you posted! [14:24] thanks for your feedback :) [14:24] np [14:37] zyga: maybe I have found the download issue [14:40] matteo: yes? what is it? [14:41] the connection is resetted when the network is faster than the disk [14:48] I'm trying to run a snappy app as a service account but get the following message: failed to create user data directory. errmsg: Permission denied. Anybody have a workaround? [14:55] re [14:55] swartzr: re [14:56] swartzr: so can you tell me more about your issue [14:57] zyga: installed a snap that I built on one of our servers although the service account that will run it (jenkins) throws that error message when it tries to run it. [14:58] I looked in jenkin's home directory and i see a snap directory so I assume it is created successfully === ratliff_ is now known as ratliff [15:03] abeato: i take it you tested that the udev rules were definitely be created for modem-manager? [15:03] joc_, yep [15:06] swartzr: can you tell me what the error is in more detail [15:06] swartzr: what is the host? (where does snapd run) [15:08] abeato: do you have an amd64 snap i can install? looks like your recent builds failed [15:09] hmm, weird [15:10] zyga: The host is an ubuntu server 16.04 x86_64 when i run the snap via /snap/bin/ftptransfer I get the message: "failed to create user data directory. errmsg: Permission denied" nothing more [15:11] zyga: the snap is also installed in devmode [15:11] joc_, http://people.canonical.com/~abeato/snappy/modem-manager_1.4.0-1_amd64.snap [15:13] swartzr, do you have an encrypted home directory? [15:15] abeato: boo, yours works here too :p [15:15] joc_, lol [15:15] kyrofa: no although it is in a different spot than normal /var/lib/jenkins [15:16] swartzr, interesting. Any chance $HOME/snap is owned by root? [15:16] zyga: Actually I forgot to look at syslog. I have a apparmor deny does this help? http://paste.ubuntu.com/17646112/ [15:17] kyrofa: no it is owned by the user jenkins [15:17] swartzr, yep, that'll do it [15:17] kyrofa should it be owned by root? [15:17] swartzr, it's the denial. The profile under which u-c-l runs won't let it create $HOME/snap if $HOME is in /var [15:17] At least, that's what it looks like [15:18] jdstrand, can you take a look at that? ^^ [15:18] which that? [15:18] the /var/ denial is likely from zyga's recent changes [15:18] and so it would need to be allowed [15:18] jdstrand, $HOME is /var/lib/jenkins, getting http://paste.ubuntu.com/17646112/ and permission denied when creating user data directory [15:18] Ah [15:19] swartzr, ^^ [15:19] hmm [15:19] hmm [15:19] * jdstrand is assuming the flipped mounts work is causing that ^ [15:20] swartzr: home has to be in /home/$foo, or apparmor will have a few issues [15:20] jdstrand: which changes are you referring to? [15:20] zyga: ok I might have to change the way I'm deploying this then [15:20] jdstrand: ubuntu still ships the old ubuntu-core-launcher [15:20] swartzr: quick idea [15:20] swartzr: vm /var/lib/jenkins /home/jenkins [15:21] er [15:21] mv [15:21] then ln -s it back [15:21] and try [15:21] so the real home is /home/jenkins [15:21] and /varlib/jenkins is a symlink to /home/jenkins [15:22] zyga: if this is in the old code, then the profile is lacking the rules to create HOME dir for daemons. That said, I thought something else was creating that directory in /var/lib [15:25] jdstrand: my memory is hazy [15:25] jdstrand: AFAIR the per-user thing is created by the launcher [15:25] jdstrand: and the /var/snap/$SNAP_NAME thing is created on install by snapd [15:27] zyga let me look at that. I have to make sure that it won't mess anything else up first. [15:27] zyga: Thank you [15:30] zyga: if /var/snap/$SNAP_NAME is created on install, then the launcher arguably shouldn't be creating dirs in there even if HOME is set to /var/snap/... [15:32] jdstrand: I think the launcher was doing the $HOME-derived (SNAP_USER_DATA) one [15:33] zyga: but they said that home was /var/lib/jenkins. I think I' confused now [15:33] how was HOME set to /var/lib/jenkins? [15:33] that isn't right in any scheme [15:33] jdstrand: I suspect jenkins package does that [15:33] jdstrand: it's not a snap, jenkins is just a regular package [15:34] I'm really confused now. why is the launcher getting denials for launching something that isn't a snap? [15:34] jdstrand: jenkins runs a snap [15:34] jdstrand: and the snap has a non-default HOME [15:34] jdstrand: and that falls out of the policy [15:34] jdstrand: that's how I understand it [15:34] how does the snap have a non-default HOME? [15:35] * zyga wonders if "falls out of sth" means anything [15:35] how is that even possible? [15:35] jdstrand: I mean the user running the snap doesn't have a normal home [15:35] jdstrand: that particular user happens to be jenkins [15:35] jdstrand: cat /etc/passwd and look for home directories [15:35] I see what you're saying now [15:36] this seems like a failing of the jenkins job that runs the snap [15:36] it should set HOME to something else [15:37] jdstrand: like? [15:39] hmm, how can i tell snap find to show me snaps from beta [15:40] seems it doesnt accept a --channel arch [15:40] *arg [15:42] zyga: the user it is running the snap as [15:42] jdstrand: it is running as the jenkins user [15:42] jdstrand: not as anyone else, jenkis isn't root [15:43] I'm saying that isn't a valid test [15:43] * zyga is confused [15:43] cause no one is the jenkins user [15:43] why do you say that? jenkins runs as jenkins :) [15:43] this is for the testsuite, right? it should run the tests as a user that is not special [15:43] no, this is for whatever someone is using jenkins for [15:43] it runs some jobs (arbitrary) [15:44] that run commands [15:44] some of which come from snaps [15:44] this seems too arbitrary [15:44] what is? [15:44] of course we could just allow the launcher to create any directory on the system [15:44] I know this isn't great [15:44] but this is the reality :) [15:45] it isn't though [15:45] it may be the reality of jenkins [15:45] but jenkins is a test runner [15:45] or script runner [15:45] or whatever [15:45] yes [15:45] I know [15:45] that isn't a normal user [15:45] I wonder if we should make the launcher ... [15:45] well [15:45] no :/ [15:46] it'd have to use a policy that understands $HOME [15:46] so snapcore doesnt accept issues on github. What is the best branch in launchpad to submit a bug for issues with Snappy's CLI actions and responses? [15:46] and for the test to be valid, the test should reflect how things are actually run [15:46] is that doable in apparmor? [15:46] MichaelTunnell: please report it on launchpad.net/snappy [15:46] the policy cannot interrogate the env for adjust policy no. that would allow trivial escapes [15:46] that makes sense . . . assumed it would be more specific than that :) thanks [15:47] jdstrand: right [15:47] zyga: you also need to consider that if we allowed this access, what is the next step? [15:47] jdstrand: we could make a trusted helper :), that runs as the user (not setuid) that just mkdir's the right thing [15:47] jdstrand: and that would not be confined [15:47] zyga: ie, we get snap denial because @{HOME} doesn't match /var/lib/jenkins [15:47] right [15:47] (I get that) [15:48] as it happens, there are ways around that with apparmor, by dropping a file into /etc/apparmor.d/tunables/home.d [15:48] but I think the underlying assumption that we should change policy is wrong. we should change the test env to reflect what real users are doing [15:50] looking at the policy, to make jenkins work we probably only need: '/var/ r, /var/lib/ r,' then I think the jenkins specific stuff isn't needed [15:50] jdstrand: can you tell me more about tunables? [15:51] but I maintain jenkins should have a proper home and not a special home [15:51] jdstrand: I agree that we can solve jenkins easily by allowing /var/lib in addition to home [15:51] jdstrand: /var/lib is debian policy [15:51] zyga: there is no Debian policy for running snaps :) [15:51] we have daemons and commands [15:52] jdstrand: look at your /etc/password [15:52] daemons run as root. commands as the user. the user in snappy has been defined as a login user [15:52] jdstrand: most of those are not /home [15:52] jdstrand: I mean for jenkins [15:52] jdstrand: jenkins is a valid thing [15:52] zyga: I know what is in /etc/passwd [15:52] we're talking past each other [15:52] jdstrand: remember that jenkins is not a snap here, anything can be running snaps [15:52] I know what jenkins does [15:52] jdstrand: I'm sorry, I didn't mean that [15:52] I know Debian policy [15:53] my point was that I think this is normal and we should find a solution that works in general [15:53] I'm talking about how to properly run tests [15:53] are you supposed to run snapcraft clean between each revision of snapcraft.yaml ? [15:53] what is another example of a deb running a snap? [15:53] jdstrand: cron [15:53] jdstrand: anything really [15:53] zyga: and cron sets HOME to the user's HOME [15:54] cron is about running stuff as a specific user [15:54] zyga: as for tunables, see /etc/apparmor.d/tunables/home and /etc/apparmor.d/tunables/home.d/ubuntu [15:55] * zyga looks [15:55] ah, so it is a compile-time mechanism [15:56] I'm not sure why it is so contentious to run snaps as a login user since that is what we defined cli commands for [15:56] and that is the best way to ensure the tests are testing real-world scenarios [15:56] changing the policy for jenkins just makes sure it runs for jenkins [15:57] mmm [15:57] yep [15:57] I agree [15:57] swartzr: what is your use case? were you using jenkins to test your snap or were you using the snap as a part of some jenkins flow? [16:01] hello! I have a question... hoy can I build a gadget snap? I followed the 'Gadget snappy package' guide but after run snapcraft 2.11 I get an error because I does not recognize the gadget type :-/ [16:01] s/hoy/how/ [16:02] ehbello: can you share the URL of the guide you read? [16:02] ehbello: gadget snaps are not finalized and are prone to change [16:02] zyga: https://developer.ubuntu.com/en/snappy/guides/gadget/ [16:02] ehbello: in fact, they are changing very much right now [16:02] oh [16:02] mhall119, dholbach: ^^ [16:05] zyga, ok... maybe file a bug on https://bugs.launchpad.net/developer-ubuntu-com/+filebug for anything more specific? [16:06] I'm not quite sure what to do now [16:06] dholbach: we should not have a guide for gadgets [16:06] dholbach: gadgets don't exist yet [16:06] dholbach: anyone following that is wasting their time working on moving base [16:06] ok [16:06] can you file a bug and we'll remove it? [16:06] yep [16:06] thanks [16:07] it'd be good to have a paper trail for this [16:07] so I know what to respond when people ask me why we deleted it :-) [16:07] ehbello: we can work with you but you have to understand that image building and gadget semantis is not finalized yet [16:07] thanks zyga [16:07] ok, need to run now [16:07] see you tomorrow! [16:15] zyga: I understand. I just want to develop applications and gadgets for "snapd" and that my work is useful for the future. So I'm working on ubuntu-core 16 all-snap images and reading the latest documentation possible. [16:17] ehbello: so depending on what your gadget snap is doing you may or may not be affected by those changes [16:18] ehbello: we're iterating on ubuntu-image, the tool to make images, and the responsibilities of gadget snaps are changing in result [16:18] ehbello: also some things will be added to support assertions [16:18] ehbello: for now it's best to stick around and ask around on IRC/mailing list to know where things are heading [16:18] ehbello: you will find that some things are not perfectly documented [16:18] ehbello: but we're friendly so we'll gladly help you out :) [16:21] zyga: thank you ^^ [16:29] Hi :) is there a way to point python interpreter (made from autotools) to include a list of python-packages brought in from python3 plugin? [16:32] dusty_: hmm [16:32] dusty_: can you rephrase that? [16:32] dusty_, yeah I'm not quite sure what you're asking there either [16:32] dusty_: you have a python (say python 3) binary built from source [16:32] dusty_: and some python projects (say like those you can find on pypi) [16:32] dusty_: and you want them to see each other? [16:36] okay, from kyrofa's integration tests - https://github.com/ubuntu-core/snapcraft/blob/master/integration_tests/snaps/pip-requirements-list/snapcraft.yaml [16:37] is there a way to have a python binary (say 2.6) include those packages as part of its path? [16:37] I hope that made more sense :\ [16:39] not sure if that would have to do with environment variables? [16:40] dusty_, probably using PYTHONPATH [16:40] dusty_: set PYTHONPATH and [16:40] ;:) [16:40] zyga: I guess of your words I should download the latest version of snapcraft from github to work with the development version of ubuntu-core, right? [16:41] ehbello: no, snapcraft doesn't support gadget snaps much [16:41] ehbello: for those are hand-made [16:41] ehbello: we're working on tooling around that and stock gaget snaps in source form to fork as a base [16:42] ehbello: the thing you will run into is that soon ubuntu-image will replace ubuntu-device-flash and the gadget will have to have additional data to be built [16:46] kyrofa, zyga: alright thanks [16:49] slangasek: snap-confine synced to yakkety from debian [16:49] slangasek: and now we get upgrade bugs because it somehow conflicts with ubuntu-core-launcher [16:49] slangasek: can you please release snap-confine 1.0.33 to debian [16:49] slangasek: and use the rules as they are spelled out in the package today [16:49] slangasek: (!legacy mode) [16:50] slangasek: please ping mvo to ack this [16:50] slangasek: If you want I can make the package but I need a sponsor [16:54] zyga: Sorry was out to lunch. My use case is that the jenkins job is running the snap as part of a workflow. More specifically the snap is downloading files over SFTP (with some custom logic) which then the rest of the job will load the files onto a file share [16:54] swartzr: thanks [16:54] jdstrand: ^^ [16:54] jdstrand: so it's not about testing the snap [16:54] swartzr: make sure this is reported on launchpad.net/snappy and we'll get it fixed [16:55] jdstrand, it's easy to validate that an apparmor profile was loaded correctly by checking /sys/kernel/security/apparmor/profiles. Is there anything similar for seccomp filters? [16:55] kyrofa: seccomp filters are loaded each time [16:55] zyga, alright, I'll just check for file presence then [16:56] zyga, thanks :) [16:56] kyrofa: there might be something in /proc but I'm not sure (in the particular pid) [17:03] zyga: ouch... so, snapcraft lost support for gadgets since snappy tool? [17:03] ehbello: officially it never really had support [17:04] ehbello: I'm sure snapcraft will support gadgets [17:04] ehbello: it's just that right now that's not being used so it might not work in practice [17:04] ehbello: there are a few things that are unique to gadget snaps [17:05] zyga: ok, I understand [17:08] zyga: Bug is reported at https://bugs.launchpad.net/snappy/+bug/1594904 [17:08] Launchpad bug 1594904 in Snappy "Snaps fail to run when user's home directory is not under /home" [Undecided,New] [17:08] thanks! [17:08] swartzr: I'll see if we can get it fixed for 2.0.10 [17:08] hi all, I am having a terrible time getting sound to work, any tricks I need to be aware of? [17:10] kyrofa: re seccomp> no. the launcher loads them into the kernel and there is nothing to introspect that afaik [17:10] jdstrand, alrighty, I'll just check for the file then. Thanks! [17:11] kyrofa: as was mentioned, use the files in /var/lib/snapd/seccomp/profiles [17:11] right, yes :) [17:11] zyga: in the meantime is the best workaround to mv the directory to /home and then symlink it? Or is there a better workaround that you found in my absense? [17:12] swartzr: I think that will work [17:12] try it [17:12] zyga: Will do thank you so much. [17:21] zyga: do you know where are the sources of beagleblack and canonical-* gadget snaps? [17:22] ehbello: I think so [17:22] * zyga checks [17:23] http://bazaar.launchpad.net/~snappy-dev/snappy-hub/snappy-systems/files [17:24] zyga: thanks! =D [17:29] zyga: snap-confine 1.0.33> this package can't be in sync between Debian and Ubuntu because of the changes to the build for confinement being on or off [17:29] slangasek: oh, good point [17:29] slangasek: what should we do then? [17:29] slangasek: I mean, we can . /etc/os-release [17:30] slangasek: and then do it conditionally [17:30] slangasek: would that be sensible? [17:30] slangasek: (then it could sync okay) [17:30] zyga: I assumed that the team would continue uploading directly to Ubuntu and that I would pick them up from there for merging back to Debian [17:30] zyga: however, if we do want it in sync, the way to do it is using dpkg-vendor in debian/rules to manipulate the build [17:31] slangasek: right now we have a problem, I don't know what the solution is, the problem is that the version we have in yakkety apparently synced from debian and fails to upgrade [17:31] zyga: that's version 1.0.30 in yakkety-proposed? [17:32] or which version? [17:32] slangasek: hmm, I see upgrade bugs that cite the +2 version [17:32] and +2 AFAIK only went into debian [17:32] maybe I'm mis-iterpreting things and that is not true [17:32] zyga: ok. +2 made it into yakkety-proposed; then I removed it knowing that it would be a problem [17:32] so it's no longer in Ubuntu [17:33] and I've blacklisted it from syncing because of the confinement issue [17:33] ah, that's good [17:33] thanks for explaining that [17:33] but if we decide to get it into sync, we can drop the blacklist [17:34] slangasek: I'll discuss with mvo, ideally using the vendor thing might mean we have less maintenance to do [17:34] slangasek: as snap-confine is gaining new essential features quickly [17:36] slangasek: thanks :) [17:36] zyga: well, how much do we care about having up-to-date snapd+snap-confine in yakkety, currently? Because to date, we haven't had a version of snapd since 2.0.2 clear proposed-migration due to test failures [17:37] if that's a temporary blip and we want current snapd in yakkety, then we might also not want the delays of uploading to Debian + syncing to Ubuntu (which is always at least a 6 hour delay because of the Debian publisher cycle) [17:37] slangasek: ideally we'd be able to release it easily to all the various distributions as cheaply as possible, yakkety is not special here, I think that right now it is not critical but we should be keeping it in sync as the release date closes [17:37] s/closes/approaches/ [17:37] slangasek: I think it will stabilize over time [17:38] slangasek: there's a finite set of features we want there [17:38] Is there a quick reference to snap environment variables? [17:38] wililupy: some, I can also guide you :) [17:38] * zyga looks [17:38] Like $SNAP_DATA? [17:39] wililupy: that's writable data that's not specific to a user [17:39] I'm thinking my snap may be using old snap environment variables that no longer being used. [17:39] Sorry, not my snap, my code. [17:40] (this is not documented) [17:41] I have a script that runs as a daemon, if it doesn't find the correct directory structure, it creates it by mkdir -p ${SNAP_DATA}/mnt/fastpath [17:41] zyga: ok; so we certainly need to settle on a version scheme for the packages in all of this, if we're going to be possibly syncing from Debian [17:41] slangasek: do you think we should de-couple packaging? [17:41] slangasek: and do upstream releases [17:42] (as we started to for the past 5-or-so) [17:42] slangasek: then release to debian (and optionally ubuntu if required urgently) and other distros [17:43] zyga: having an upstream tarball separate from the Debian packaging makes the Debian packaging part easier, but I'm not sure if there are other factors to consider [17:44] slangasek: note that this is how fedora/arch/gentoo packaging is done today [17:45] which way? [17:45] slangasek: as a typical package with decoupled upstream tarabll and downstream packaging [17:45] ok [17:45] slangasek: eg. https://github.com/snapcore/snap-confine/releases/download/1.0.33/snap-confine-1.0.33.tar.gz [17:46] that's an autotools "make dist" tarball [17:47] zyga: so, if we were to exclude debian/ from the 'make dist' target, and change debian/source/format to 3.0 (quilt), that should all work just fine for me [17:47] slangasek: release tarballs don't ship debian/ [17:47] slangasek: so I guess I could make a branch that makes packaging separate [17:47] slangasek: do you want to keep it in the repository? [17:48] zyga: it should be kept in the repository, and I already have a separate branch that's authoritative for the Debian packaging [17:48] slangasek: do you want me to propose a pull request that switches to non-native packaging then? [17:48] slangasek: and I'll let you do the rest? [17:49] zyga: I can work through that today along with the other packaging changes needed to have it syncable [17:49] slangasek: thank you [17:50] slangasek: so I'll do nothing and I'll keep doing upstream releases and downstream releases in other distros [17:50] zyga: zyga and that tarball is now called 'snap-confine' instead of 'ubuntu-core-launcher' - previously there was a rename of the binary package but not the source package? [17:51] slangasek: we backed that out from debian/{changelog,control} because it would be easier to ship at the time, the package should be called snap-confine upstream as ubuntu-core-launcher is going to be removed entirely soon (likely next week, pull requests for this are pending) [17:51] slangasek: when that happens snap-confine won't have any executables in bin === JanC is now known as Guest79667 === JanC_ is now known as JanC [17:53] zyga, jdstrand I want to write a test verifying that dbus .conf files are placed correctly for plugs, but it seems the only interface that would do such a thing is location-control/observe. Do either of you know of any snaps that provide those slots? [17:53] kyrofa: mmm, network manager [17:53] kyrofa: try it, it should have a policy [17:54] zyga, ah very good, checking now [17:54] zyga, wait, you mean the interface network manager? [17:54] kyrofa: yes [17:54] kyrofa: the network-manager interface [17:54] kyrofa: you can stick it on a dummy snap [17:54] zyga, no, it seems that's only for a slot [17:54] kyrofa: just to show that it is used [17:55] kyrofa: ahh [17:55] kyrofa: no wait [17:55] kyrofa: for plugs too [17:55] kyrofa: you just have to connect it [17:55] zyga, perhaps I'm misunderstanding, but both `*PlugSnippet` functions return nil,nil for dbus [17:55] hmm [17:55] * zyga looks [17:56] (that's odd btw) [17:56] zyga, indeed, I wonder if that's broken :P [17:56] Or perhaps unfinished? [17:56] ah [17:56] sorry [17:56] no [17:57] plug side is handled with apparmor [17:57] because that's how we can see and use the apparmor labels [17:57] plug side won't be used by dbus much I think [17:57] Ahh, oay [17:57] okay* [17:57] if you really want a test, you'd have to create a dummy interface [17:57] I guess I don't want a test that bad ;) [17:58] It's already unit tested with dummies [17:58] yep [17:59] Hey zyga, would you mind adding your thoughts here? It's regarding the APP_NAME variable question I asked you last week https://github.com/snapcore/snapd/pull/1373#discussion-diff-67917045 [18:00] zyga: fyi https://github.com/vorlonofportland/snap-confine/tree/debian (will move soon to alioth.debian.org) [18:00] slangasek: thank you [18:02] zyga: do you think we need mvo to weigh in on the native v. non-native packaging question, or should I JFDI from here? [18:03] jdstrand, it doesn't seem that APP_NAME is being used in any of the interfaces today. Do you envision a use-case for it? [18:03] Hi, i have a newbee question... I have a bzr branch that I can successfully 'snapcraft build' into a part. There is a script in the part's /src that I would like to expose as an app in the snap. How do I do that? I can't seen to get the snapcraft to copy it to the /install tree. [18:04] zyga: how can I build this beagleblack snap and others? [18:06] kyrofa: I can imagine it being used. I don't have something otoh [18:07] jdstrand, so if the hooks being developed also have apparmor profiles, would you suggest having a HOOK_NAME variable as well? Or perhaps we should generalize to EXECUTABLE_NAME (just throwing ideas out there)? [18:07] jdstrand, but if we have no use-cases, there's a case to be made for dropping it all together [18:08] jdstrand, your thoughts would be appreciated here if you have a minute: https://github.com/snapcore/snapd/pull/1373#discussion-diff-67917045 [18:11] kyrofa: I'll add it to my list of things to look at. I can say we used APP_NAME extensively on touch and may with personal. I'd prefer not to drop it until we know we don't need it, and I can't say we won't for personal [18:11] kyrofa: but may not get to that review today (trying to get the mpris interface in order) [18:12] jdstrand, alright, thank you [18:26] elopio why are all our tests broken/ [18:26] ? [18:33] zyga: moving the home directory still results in the same behavior and the same error in syslog. I'm going to try reconfiguring jenkins to look to the home directory. Unless you have any other ideas? [18:41] jdstrand, how is APP_NAME used on touch? [18:45] kyrofa: to differentiate between apps in the same package so they may have different policy. this is all changing for snappy but I can't predict how [18:46] jdstrand, interesting... they aren't separate files as they are on snappy? [18:47] niemeyer1, FYI ^^ [18:48] niemeyer, is niemeyer1 also you? :P [18:48] kyrofa: Yeah, we're a family [18:48] kyrofa: they are separate files. but for example scopes and gui apps aren't supposed to share data. this is because network scopes aren't supposed to have access to the filesystem since the scopes infrastructure can't prevent data theft [18:48] jdstrand: We already differentiate interfaces based on app, right? [18:48] yes [18:48] that isn't what I'm talking about [18:49] * niemeyer misses the "Typing..." note :) [18:50] I'm talking about using @{APP_NAME} in the policy. we don't (yet) in snappy. we do in click. without designing the migration of click to snaps and what policy would look like now, I can't predict that we will never use @{APP_NAME} in snappy [18:50] jdstrand: Well, how's that not what I just said? [18:50] I thought you were talking about the file name [18:50] which was kyrofa's previous question [18:51] we are talking about template_vars.go, right? [18:51] jdstrand, indeed [18:51] jdstrand: I'm talking about your point that we may want to use the app name in policy to differentiate apps in the same package [18:51] jdstrand: We already do that for several interfaces [18:51] jdstrand: Practical example: [18:52] peer=(label=###SLOT_SECURITY_TAGS###), [18:52] in the various existing interfaces code we don't rely on template_vars.go for @{APP_NAME} [18:52] yes [18:52] This is binding to a particular name [18:52] So my theory about why we're not seeing the application name is because we have something better [18:52] but that doesn't mean we won't *ever* use @{APP_NAME} in the apparmor policy [18:52] maybe [18:52] like I said. we haven't designed the touch migration [18:53] and I can't predict we will *never* need it since all the touch policy needs to be converted to interfaces for personal [18:53] jdstrand: Well, I also can't say we won't *ever* use something :) [18:53] Can we add them when we need them? [18:53] so I'm just playing it safe [18:53] it sounds like you want to use it for hook name [18:54] which is not the app name [18:54] jdstrand, I don't care one way or the other-- we could also add HOOK_NAME [18:54] Can we please drop it? We have the whole context inside the interface to cook whatever we want when we need to [18:54] so removing it now to add it to be used by hook name to possibly add it later sounds weird to me [18:54] We are already using security tags on interfaces, which is effectiely *exactly* the app name [18:55] snap.. [18:55] Except it's properly namespaced, which means better [18:55] sure, but app name might be used for other things, like file paths [18:55] jdstrand: WE have the app name too.. [18:55] jdstrand: We have both the plug and the slot [18:56] jdstrand: and in fact.. I suspect APP_NAME will likely not work as we want it to [18:56] look, it can be removed. people asked my opinion. I would prefer to not remove it cause I don't know the migration path since we aren't anywhere near migrating to personal. it seems harmless to leave it [18:56] jdstrand: Because it doesn't consider the problem of aggregating the several app names [18:57] I wasn't suggesting we use APP_NAME in security labels. we do that fine in interfaces [18:57] I'm talking about other policy in the filesystem [18:58] where perhaps we want to differentiate between apps. we had a need for that on touch. I don't know if that need (or others) goes away yet [18:58] zyga: moving the home directory still results in the same behavior and the same error in syslog. I'm going to try reconfiguring jenkins to look to the home directory. Unless you have any other ideas? [18:59] swartzr: hmm [18:59] swartzr: no, I don't have any ideas [18:59] swartzr: did you restart jenkins? [18:59] swartzr: and perhaps also change the home in /etc/passwd [18:59] swartzr: then restart jenkins [18:59] swartzr: (set it to /home/jenkins for example0 [19:00] jdstrand: Okay, thank you.. the context is indeed appreciated [19:00] zyga: can you enlighten me on something. I'm looking at all.go and all_test.go. Why do some interfaces have New with DeepContains and others lack New, use &builtin and use Contains? [19:00] Indeed, thank you jdstrand [19:00] jdstrand: I'd prefer to remove it though, based exactly on security concerns.. we have hooks and apps, and we don't know the right thing to put there because we don't have a use case [19:01] jdstrand: This may easily be a serious bug, with a string that should be filled ending up empty, or having a name that conflicts with a real app [19:01] jdstrand: So, on that basis, let's remove and re-add when we know more [19:01] if it is better to remove-- that's fine. it seems clear that so far on snappy we haven't needed it. I'd prefer that we not conflate hook name with the app name though [19:01] jdstrand: that's just a go thing, some of those use a NewFoo method to create an instance while others have no state at all and are just a simple object [19:02] jdstrand: Removing is dropping one line, and that variable cannot be used without also changing the code, so no real damage [19:02] jdstrand: for the former you have to use DeepContains, for the latter you can use Contains [19:02] jdstrand: maps, slices and pointers want you to use DeepContains AFAIR [19:02] jdstrand: Right, precisely.. the names are not conflated, except for that one case [19:02] jdstrand: They have different security tags, different paths in the FS, different entries in snap.yaml [19:03] jdstrand: On this case we don't know what to do because there's no use case for that variable [19:03] zyga: interesting. what is also interesting is that it seems to correspond to os supplied interfaces and slot-providing snaps [19:03] jdstrand: thats just accidental today [19:03] ok [19:03] zyga: thanks! [19:03] just depends on what the type has inside [19:04] jdstrand: deep contains works always [19:04] :w [19:04] meh [19:07] jdstrand: I saw your comments on the interfaces, I'm currently taking my evening slack but I'll go around and update and merge the two new interfaces [19:09] zyga: cool. I'm working on mpris [19:09] zyga: I'll try that thanks [19:09] zyga: and yes I did restart jenkins [19:10] so far it seems it closer to a slot side and plug side thing. working through those details [19:10] jdstrand: I thought that mpris coudl be a new interface [19:10] yes [19:10] jdstrand: e.g. a front-panel device that does mpris slot [19:11] that is what I am thinking [19:11] jdstrand: classic exposing mpris [19:11] etc [19:11] and apps would do auto-connectable plugs [19:11] the is the player side (slot) and the controller side (plugs) [19:11] jdstrand: note that we have a nice way to change auto-connect candidates [19:11] jdstrand: hmm [19:11] jdstrand: actually I was thinking the reverse [19:12] jdstrand: but to be hones, this feels that it can be any [19:12] honest* [19:12] * zyga cannot type [19:12] well, let me continue my investigation and we can discuss in the PR [19:12] jdstrand: anyway, the point about auto-connect is for later :) [19:12] jdstrand: but we could even auto-connect to any viable target if there's no slot (or plug) on the core snap [19:13] sergiusens: I don't really know what else to do with the microphone, it worked this morning. Want to talk about registration here? [19:14] elopio so about jenkins, can you take over making sure trunk passes? [19:14] elopio about registration, just wondering what you meant by simple [19:15] kyrofa a review of this would be nice https://github.com/ubuntu-core/snapcraft/pull/588/files (aside from josepht) [19:17] zyga: I think you had a patch for this, but fyi: this still doesn't work: sudo /tmp/snap connect vlc:mount-observe :mount-observe [19:18] zyga: I mention it cause this works: sudo /tmp/snap connect vlc:mount-observe ubuntu-core:mount-observe [19:18] sergiusens: yes, I'm updating the parts and waiting for the last two jobs to restart. And about simple, I mean that the branch only registers or fails. The full workflow involves to error when trying to upload an unregistered snap, to provide nice feedback when the name is reserved, and the private flag which I don't yet know what is for. [19:18] zyga: and 'ubuntu-core' is not cross-distro-friendly. perhaps that becomes core:mount-observe? anyway-- not blocked. fyi [19:21] zyga: That worked! Thank you so much! I can now scrap this "Yeah this isn't going to work" email to my boss. [19:23] elopio oh, that's fine, we can create wishlist bugs for those [19:28] swartzr: sweet, thank you for your patience! [19:29] jdstrand: yep, I know [19:29] jdstrand: it will be just core and : [19:29] (name not required) [19:36] zyga: before you disconnected, I asked you.... what tool or version of snapcraft I need to build this beagleblack snap and others? [19:51] ehbello: I think those are not built with snapcraft [19:51] ehbello: just look at the source, they are built with the raw lower level tools [19:52] sergiusens: are you still around? [19:56] mhall119 yes [19:56] sergiusens: I'm stuck on pkg-config stuff with https://github.com/ubuntu/snappy-playpen/tree/pantheon-mail/pantheon-mail [19:57] tl;dr, the latest Pantheon Mail client needs Granite 0.4, but the archives only have 0.3, so I build 0.4 from upstream source and need the "mail" part to find it, but it doesn't [19:59] mhall119: pantheon mail snap?! :) [19:59] zyga: well that depends on whether or not sergiusens can help me :) [19:59] zyga: if he can, I'll be proposing a new interface for snapd later [20:00] mhall119 can't you build pkg-config from source? [20:00] sergiusens: build pkg-config itself? [20:00] as a part that gets staged [20:00] yeah [20:00] sergiusens: it's not that I'm missing pkg-config, it's that when pkg-config runs on the "mail" part it doesn't find libgranite 0.4 what is built in the "granite" part [20:01] so ./configure on the "mail" part fails saying it needs libgranite [20:01] mhall119: ignore pkg-config, you don't need any newer verion, you need granite itself [20:02] yes [20:02] mhall119 oh, ic, I thought you needed a newer pkg-config [20:02] I need the version of granite built by the part [20:02] sergiusens: no, well I hope not anyway, I just need it to look in the right places [20:02] sergiusens: run that snapcraft.yaml in a cleanbuild and you'll see [20:02] granite appears to build fine and get installed into ./stage/ [20:03] then when it moves on to the "mail" part it fails saying pkg-config can't find the granite dependency [20:04] mhall119: how is granite configured [20:04] if I add the 0.3 granite into build-packages instead of building 0.4 in a part, everything builds fine but panteon-mail crashes when run because it needs the newer version [20:04] mhall119: is --prefix=/usr [20:04] mhall119: if not you won't find pkg-config information file in the right spot [20:04] zyga: -DCMAKE_BUILD_TYPE=Release, -DCMAKE_INSTALL_PREFIX=/usr, -DCMAKE_INSTALL_LIBDIR=/usr/lib [20:04] mhall119: oh, cmake (/me barfs) [20:05] mhall119: anyway, look where the .pc file is [20:05] zyga yeah -DCMAKE_INSTALL_PREFIX=/usr [20:05] mhall119: and check where snapcraft sets PKG_CONFIG_SYSROOT_DIR [20:05] mhall119 is that required btw ^? [20:05] zyga: PKG_CONFIG_SYSROOT_DIR was /root/stage/ I believe [20:05] sergiusens: is what required? [20:06] zyga no need, mhall119 run ./parts//bin/pkg-config [20:06] mhall119 if setting the install prefix is required [20:06] sergiusens: I don't know if it is or isn't [20:06] mhall119 you know that once in the snap it won't be at that prefix, right? [20:06] yes [20:06] let me re-run so I can see where the files are [20:07] sergiusens: but if you run it you will be able to see it faster [20:10] sergiusens: ./stage/usr/lib/pkgconfig/granite.pc [20:13] mhall119 you have high expectations of me working in "convergence" mode on the tablet ;-) [20:13] sure, I'll look [20:13] also, my bandwith is 3Mbps ;-) [20:13] sergiusens: \o/ [20:26] mhall119 the build just fails for me [20:26] http://pastebin.ubuntu.com/17661758/ [20:33] huh, doesn't do that for me.... [20:33] sergiusens: try a cleanbuild? [20:35] elopio so how long do we wait for the jenkins bring up? [20:42] sergiusens: http://paste.ubuntu.com/17662567/ is the error I get, btw [20:43] sergiusens: I've also pushed a new version of the yaml to github, it removes some package dependencies that weren't really needed [20:44] http://paste.ubuntu.com/17662693/ is the .pc file in ./stage/ [20:46] sergiusens: I assume that it's something wrong in my snapcraft.yaml but for the life of me I can't figure out what [20:48] mhall119 maybe not, pkg-config isn't the best thing when it comes to multiple sysroots [20:48] what do you put for "Project contact" in the contributor agreement? [20:50] sergiusens: it is up. I'm monitoring the first run. [20:51] croepha: which project are you contributing to? [20:52] snapcraft [20:53] croepha: put Jamie Bennett then [20:53] jamiebennett: ^^ is that correct? [20:53] * mhall119 notes it's 10pm his local time, so he's probably not going to respond [20:53] mhall119, Sure [20:53] * mhall119 notes his surprise that he's still online [20:53] (I'm in a different TZ this week) [20:54] oh, are you in Boston? [20:54] yes [20:54] * mhall119 waves from down south [20:54] cool, thanks [20:54] croepha: thank you for contributing :) [20:54] no prob :) [20:56] is there a requirements.txt for dev? [20:57] nvm, its in the travis file [21:03] croepha is this snapcraft? We are waiting to discover why it kills our packaging (to add a install_requires entry) [21:04] yes for snapcraft [21:05] croepha great, can't wait to see what you propose [21:06] it looks like there already is install_requires in setup.py, but thats the run time deps, I was hoping there was a quickstart guide for development, but the travis.yaml file looks like its got all the info on how to get tests running [21:06] croepha I just do `sudo mk-build-deps -i` [21:07] which creates a fake deb with all the deps [21:07] ahh, nice trick [21:08] mhall119 ok, my cleanbuild is stuck pulling granite [21:08] stuck? [21:09] mhall119 yes, bzr ftw ;-) [21:09] going to leave it there for a bit [21:09] mhall119 in the meantime here is a thought; if this .pc file for granite depends on other .pc files they need to all live under the same sysroot [21:10] oh, really? [21:10] mhall119 as I said, pkg-config is sort of dumb in this aspect and cannot handle multiple sysroots [21:10] so, um, how do I accomplish that with separate parts? [21:11] mhall119 if it is all in parts it is mostly fine, the problem comes more so when those .pc files come from the main installation (build-packages) [21:12] so if you are keen on using ubuntu, a start would be to transform those to either proper parts built from source or to change them to stage-packages (the `-dev` ones and use filesets so your snap doesn't get huge) [21:13] sergiusens: make the -dev packages stage-packages in which, the granite or the mail part? [21:13] sergiusens: If I want to use an organize rule for my desktop file in the snap should it go in setup or meta? [21:13] mhall119 the one that provides the .pc files as it probably needs them for building anyways [21:13] tedg `organize` cannot touch meta nor setup [21:14] sergiusens: the granite part provides the granite.pc, the rest were being pulled in the mail part's build-packages [21:14] sergiusens: Hmm, so how do I get the snap to use the desktop file after translations have been merged? [21:14] tedg I am inclined to remove all the "by convention" stuff in snapcraft (which was to follow a snap/d trend) and just go and make it all declarative [21:15] tedg you cannot do that today [21:15] tedg unless your snapcraft.yaml lives in the root of the sources, therefore you could link to setup [21:15] mhall119 can I see granite.pc? [21:17] sergiusens: http://paste.ubuntu.com/17662693/ [21:18] mhall119 try stage-packaging all of these cairo gee-0.8 glib-2.0 gio-unix-2.0 gobject-2.0 gthread-2.0 gdk-3.0 gdk-pixbuf-2.0 gtk+-3.0 in the granite part [21:18] sergiusens: those packages, or their -dev equiv? [21:19] mhall119 the -dev's [21:19] sergiusens: Reread that twice, and I'm confused :-) I agree that it shouldn't be by convention. While I do have my snapcraft.yaml in the root of the source, I don't know how that changes things. [21:19] tedg is the desktop file generation a build time thing? [21:19] I'd also agree that snapd shouldn't copy them to a random directory, but that's another story :-) [21:19] or is it already there comitted to source? [21:19] sergiusens: Yes, merges with the po files. Starts as desktop.in [21:20] oh, then my subtle suggestion won't work [21:20] tedg: https://bugs.launchpad.net/snapcraft/+bug/1588359 mark it as affecting you :) [21:20] Launchpad bug 1588359 in Snapcraft "No way to add setup files at build time" [Undecided,New] [21:20] sergiusens: FWIW, I think everyone with a desktop file merges it at build time with translations. [21:21] tedg what is a translation? [21:21] :-) [21:21] * sergiusens jokes [21:21] sergiusens: It's how we make people in Texas use the phone. [21:21] ;-) [21:22] mhall119: Done and added a comment about the desktop file. [21:23] tedg by declaration I hope ;-) [21:23] Gun point, like everything in Texas. [21:42] sergiusens: ok, I've a whole mess of .pc files in ./stage/usr/share/pkgconfig/ now, but still getting the same error [21:44] including a .pc file for everything listed in the Requires line of the granite.pc [21:46] sergiusens: http://paste.ubuntu.com/17665800/ [23:37] elopio want tp update https://github.com/ubuntu-core/snapcraft/pull/586 ?