/srv/irclogs.ubuntu.com/2016/06/21/#snappy.txt

wililupyI 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.img00:01
qenghowililupy: 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:01
qenghowililupy: compare $PATH from two environments.00:02
wililupyThanks 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
qenghoIt? snapd?00:02
wililupythe snap has a service that runs for console redirection and ASIC driver communication with kernel drivers.00:03
wililupyWhen 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 Refused00:05
wililupyIf 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
wililupy...Gremlins....00:06
qenghowililupy: what file?00:10
fusion809My 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.png00:12
qenghofusion809: installing from same machine as where you built it?00:14
fusion809Installing it isn't the problem, it's getting the package available from the official snap repository.00:14
fusion809I am installing it just fine, and I'm working on Arch Linux so that's a feet in itself.00:15
fusion809feat^00:15
qenghofusion809: yep. Are you installing on the same machine as where you built?00:16
fusion809I 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
qenghofusion809: is that the same architecture? Not amd64 vs i486?00:17
fusion809AMD64, I'm pretty sure Docker doesn't even run on 32-bit platforms, nor does it provide containers for 32-bit systems00:18
qenghofusion809: what's the name?00:18
qengho"atom-fusion"00:19
qengho?00:19
fusion809Exact snap package name is atom-fusion_1.8.0_amd64.snap. So yeah atom-fusion is the package's name00:19
qenghofusion809: it can take a few minutes to publish, but there could be something wrong. At bottom, file a bug report.00:24
fusion809It's been 16 hours, so yeah probably need a bug report.00:24
wililupyqengho: /usr/sbin/console.fp00:35
fusion809Done reporting the bug https://bugs.launchpad.net/snapcraft/+bug/159462200:37
ubottuLaunchpad bug 1594622 in Snapcraft "Package Uploaded via web browser not being added to public repository" [Undecided,New]00:37
wililupyqengho: I'm going to try rebuilding my snap with confinement: devmode to see if I can get more logs.00:37
wililupyqengho: Thank you so much!00:38
qenghowililupy: Are you acessing $SNAP/usr/bin/console.fp?00:40
qenghowililupy: I think that's your problem. /something instead of $SNAP/something .00:49
johnselhey01:15
johnselanyone around?01:15
tsimonq2o/01:16
tsimonq2!help | johnsel01:16
ubottujohnsel: 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 !patience01:16
tsimonq2:)01:16
johnselalright, fair enough01:16
johnsel./openvpn: error while loading shared libraries: libpkcs11-helper.so.1: cannot open shared object file: No such file or directory, any clues?01:17
johnselit's in the snap itself01:17
johnselat ./usr/lib/x86_64-linux-gnu/libpkcs11-helper.so.101:17
tsimonq2hmm weird01:18
tsimonq2johnsel: stick around, maybe someone else has a better answer :)01:18
johnselI will, meanwhile I'm going to try and compile it from source01:18
johnselSee if that helps01:18
sergiusenselopio hey, what is the easiest way to debug the fake servers? Seeing this https://github.com/ubuntu-core/snapcraft/pull/58402:20
=== zeroedout_ is now known as zeroedout
elopiosergiusens: could you paste the error?02:31
tsimonq2elopio: could you look at my PR again?02:38
elopiotsimonq2: I can review it tomorrow.02:54
tsimonq2elopio: thank you :)02:57
qenghotsimonq2: are you running the tests locally, for your subversion patch?03:47
tsimonq2qengho: yeah, but I can't figure it out03:50
tsimonq2qengho: see anything I'm missing?03:52
=== cpaelzer_ is now known as cpaelzer
=== chihchun_afk is now known as chihchun
seb128hey there06:42
seb128does anyone know if it's possible to tell snapcraft to stage some packages from a ppa or a local dir?06:43
qenghoseb128: not possible, last time I checked.06:48
seb128qengho, thanks, I'm going to file a bug against snapcraft I guess06:49
qenghoseb128: 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
didrockshum, if I remember some discussion, snapcraft was supposed to take your source.list06:54
didrocksand so, yours ppa06:54
didrocksinstead of rewriting it06:54
didrocksthat was in february06:54
didrocks(however, that ofc, won't work in cleanbuild or launchpad, which is an issue)06:54
qenghoIt does, didrocks, but that only works for your machine. the yaml isn't very portable.06:54
didrocksright!06:55
seb128good enough for today, I'm going to play with that, but first coffee06:56
zygao/07:12
=== chihchun is now known as chihchun_afk
=== chihchun_afk is now known as chihchun
dholbachhey hey07:22
tsimonq2hey it's dholbach! o/07:23
tsimonq2dholbach: how are you?07:23
dholbachhey hey - doing well - how about you? :-)07:24
tsimonq2qengho: do we have a Chromium snap?07:24
tsimonq2dholbach: awesome :)07:24
qenghotsimonq2: Yes. Its security policies are almost available, and it works pretty well in devmode.07:26
tsimonq2qengho: do you have code somewhere that I could take a peek at?07:28
seb128hey dholbach07:32
dholbachsalut seb12807:32
qenghotsimonq2: 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-packaging07:36
tsimonq2oh cool, thanks qengho :)07:44
ogra_hmm, whern i use the mak plugin, shouldnt snapcfat clean call make clean ?09:14
ogra_*snapcraft09:14
zygaogra_: make clean make :)09:15
zygamy faviourite solution to WTF issues09:15
ogra_zyga, well, i want snapcraft to clean up when i call clean09:15
zygayeah09:16
=== iahmad is now known as iahmad_
=== iahmad_ is now known as iahmad
qenghohmm, is discarding the build dir enough?09:24
tsimonq2!info python-magic09:41
ubottupython-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 kB09:41
tsimonq2\o/09:41
matteohiall10:00
tsimonq2hello matteo :)10:01
tsimonq2!info gplugin10:10
ubottuPackage gplugin does not exist in xenial10:10
tsimonq2!info gplugin-dev10:11
ubottuPackage gplugin-dev does not exist in xenial10:11
tsimonq2:(10:11
tsimonq2!info help2man10:26
ubottuhelp2man (source: help2man): Automatic manpage generator. In component universe, is optional. Version 1.47.3 (xenial), package size 108 kB, installed size 420 kB10:26
tsimonq2\o/10:26
tsimonq2!info gobject-introspection-1.010:32
ubottuPackage gobject-introspection-1.0 does not exist in xenial10:32
tsimonq2!info gobject-introspection'10:32
ubottugobject-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 kB10:32
tsimonq2!info default-mta10:47
ubottuPackage default-mta does not exist in xenial10:47
tsimonq2!info mail-transport-agent10:47
ubottuPackage mail-transport-agent does not exist in xenial10:47
tsimonq2grr10:47
tsimonq2!info urlview10:47
ubottuurlview (source: urlview): Extracts URLs from text. In component universe, is optional. Version 0.9-20 (xenial), package size 19 kB, installed size 65 kB10:47
tsimonq2!info aspell10:47
ubottuaspell (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 kB10:47
=== hikiko is now known as hikiko|ln
tsimonq2mvo: 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/9811:28
=== chihchun is now known as chihchun_afk
mvotsimonq2: mutt!11:45
mvotsimonq2: \o/11:45
ogra_heh11:46
tsimonq2mvo: I'm going to bed, weird sleep schedules, so if you have any suggestions, comment on the PR11:47
tsimonq2but yes, mutt! \o/11:47
tsimonq2:P XD11:47
tsimonq2o/11:47
mvotsimonq2: will do. mutt! I'm excited :) I love my mutt11:47
seb128is that known that a "cp -a" triggers an invalid syscall under restricted snaps?11:47
=== hikiko|ln is now known as hikiko
kyrofaseb128, yeah, chown I think11:54
seb128kyrofa, is that a bug or a feature?11:55
kyrofaseb128, I assumed a feature, but jdstrand would know more11:55
seb128k11:55
seb128kyrofa, thanks for your replies on the channel btw ;-)11:57
kyrofaseb128, haha, of course!11:58
ogra_kyrofa, do you have an idea why snapcraft clean doesnt trigger a make clean call when using the make plugin ?11:59
kyrofaWho's stealing all the armhf and arm64 launchpad builders!?11:59
ogra_i kind of expected it would11:59
ogra_kyrofa, doko most likely11:59
kyrofaogra_, because it's not the smart :(11:59
kyrofaogra_, remember make isn't the only build system it supports11:59
ogra_ah11:59
kyrofaogra_, its version of cleaning the source is to blow it away12:00
kyrofaogra_, since that was the shortest path to success12:00
ogra_right ... my makefile copies something to ../src12:00
kyrofaogra_, I full intend on making that better12:00
kyrofafully*12:00
ogra_which i would like to clean along12:00
kyrofaAgreed. It would also be awesome if it actually noticed changes to the source12:00
kyrofaAnd just ran make again12:00
ogra_yeah12:00
kyrofaBut I need to come up with a generic way to do that for all build systems12:01
kyrofaSomething that can be extending via local plugins12:01
seb128is there a way to do the pull/build again on some parts and not others?12:01
kyrofaseb128, yeah, but the inconsistency would be confusing12:01
seb128like to not redo a full source build everytime just because you changed the wrapper or the stage packages12:01
matteoanyone here with a 32 bit distro?12:01
ogra_stop building that giant stuff :P12:01
seb128matteo, _o/12:02
matteoseb128: http://pastebin.ubuntu.com/17638846/12:02
matteocan you run this?12:02
kyrofaseb128, 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 think12:02
kyrofaseb128, 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 plugin12:03
seb128kyrofa, 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:03
kyrofaseb128, yeah it's not that fine-grained. The stage packages are pulled during the pull step12:04
kyrofaAlong with the source code12:04
seb128can I pull only one part?12:04
kyrofaseb128, so you might want to have them in separate parts12:04
kyrofaseb128, oh certainly!12:04
kyrofaseb128, `snapcraft pull <part>`12:04
kyrofaseb128, that applies to all steps: `snapcraft build <part>`12:04
kyrofaseb128, `snapcraft clean <part> --step=build`12:04
seb128ah12:05
kyrofaseb128, note that "snap" is not a valid step though, since it's what creates the image. i.e. `snapcraft snap <part>` is not a valid command12:05
seb128kyrofa, thanks, seems obvious now the mention it, I sort of got lost between the steps and parts for some reason12:06
kyrofaseb128, heh, no problem. Our `help` could probably use a little love12:07
seb128matteo, is there anything specific you are looking for/any error you hit? that's just on a normal system or under snappy? xenial?12:08
matteoseb128: does it download the whole file?12:10
matteonormal system12:10
matteoseb128: I get this: http://pastebin.ubuntu.com/17639303/12:12
killua99snappy on arc isn't full supported yet, right ?12:30
ogra_killua99, zyga should be able to tell you12:31
killua99I mean the arc aur package did install. I did just install krita over snap, but I can't find the app :D12:32
ogra_you might need to re-login after installing snapd ... it ships an /etc/profile.d snippet to enhance your PATH12:33
ogra_though krita also has a .desktop file, if you use some desktop with menu, it should show up there too12:33
kyrofakillua99, indeed, as ogra mentioned /snap/bin needs to be in your PATH12:33
ogra_ogra@styx:~$ which krita12:34
ogra_/snap/bin/krita12:34
ogra_thats what i get on ubuntu12:34
ogra_i would assume arch does something like that too12:34
ogra_unless zyga didnt finish up that part yet12:34
killua99aha, re-login might be the missing part. Thanks ogra_ I'll try that later ;D12:34
jdstrandayan (and Chipaca): re seccomp syscall-- yes, in 2.0.912:35
* Chipaca hugs jdstrand 12:35
Chipacawb dude12:35
sergiusensgood morning12:37
jdstrandtedg: 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 imminent12:37
Chipacahey sergiusens, 'sup12:37
seb128matteo, seems to always return 64823296 here compiled or not12:38
jdstrandseb128, kyrofa: chown is bug #1581310. will be fixed with seccomp arg filtering12:38
ubottubug 1581310 in snapd (Ubuntu) "ubuntu-core doesn't allow sed -i (fchown syscall)" [Medium,Triaged] https://launchpad.net/bugs/158131012:38
jdstrandwell, fixed for many apps12:39
kyrofajdstrand, excellent, thank you :) . How far out is argument filtering, by the way? That will solve many issues12:39
sergiusensdidrocks qengho seb128 launchpad builders allow you to setup PPAs for the build12:39
seb128jdstrand, ah ok, thanks12:39
sergiusensand yes, ppa support for cleanbuild is the only thing really missing12:39
=== dpm_ is now known as dpm
kyrofaMorning sergiusens!12:39
seb128sergiusens, k, good to know, I didn't even know that snapcraft was using the system config12:40
seb128sergiusens, is there any way to give it a specific apt config?12:40
jdstrandkyrofa: waiting for (hopefully) final review from tyhicks. things got pushed back due to holidays and sprint12:43
Chipacamatteo: can you also print err in that program? ie the last line, make it fmt.Printf("%d copied; %v\n", n, err)12:43
kyrofajdstrand, awesome :)12:43
sergiusensseb128 not today; I went back and forwars with Colin on this some time ago and we agreed to make it an out of snapcraft thing12:43
sergiusensalthough for cleanbuild it would need to be supported12:44
jdstrandseb128: there is a workaround. snappy-debug tells you to do: cp -r --preserve=mode12:44
* jdstrand hugs Chipaca back :)12:46
sergiusenskyrofa how is it going?12:46
kyrofasergiusens, not bad, how was the extended weekend?12:47
ogra_have you been fathering a lot ?12:49
seb128jdstrand, thanks, I don't know about snappy-debug, I should give it a try :-)12:49
jdstrandsudo snap install snappy-debug12:49
jdstrandsudo /snap/bin/snappy-debug.security scanlog12:50
jdstrandthat will tail /var/log/syslog, dereference syscalls and make suggestions12:50
seb128k12:50
jdstrand(and first run will tell you the proper snap connect command to run12:50
jdstrand)12:50
=== chihchun_afk is now known as chihchun
sergiusenskyrofa turns out I had the flu for 2 weeks and did not notice until the weekend when some dry coughing kicked in :-P12:54
kyrofasergiusens, blech, so a lovely extended weekend then12:55
sergiusensit was good still ;-)12:55
ayanjdstrand: sorry -- what do you mean by 'yes'?12:59
jdstrandayan: yesterday someone asked if the seccomp syscall is allowed. the answer is 'yes' in 2.0.913:00
ayanjdstrand: ah, okay.  is 2.0.9 available now?13:00
jdstrandayan: it is released, yes. If you are using Ubuntu, it is in xenial-proposed13:01
jdstrandhttps://launchpad.net/ubuntu/+source/snapd/2.0.913:01
matteoChipaca: it's nil13:02
matteoChipaca: sorry13:03
matteo34651558 copied, err: unexpected EOF13:03
Chipacamatiasb: there you go13:04
matteobut, why EOF?13:07
seb128jdstrand, mvo, do you know if anyone gave some consideration on letting snaps claiming mimetypes and how that could work?13:26
joc_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:27
jdstrandseb128 (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-dispatcher13:28
seb128jdstrand, 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 better13:30
jdstrandseb128: 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 that13:32
jdstrandthat gets back to design13:32
zygajoc_: hi13:33
jdstrandthe design should involve discussion regarding how to transition to the new system13:33
zygajoc_: yes, they end up in /etc/udev/rules.d13:33
seb128jdstrand, the mailing list would be the right place to start that discussion I guess?13:33
jdstrandseb128: 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 bug13:34
seb128k, thanks13:34
jdstrandseb128: you might want to wait for mvo to respond though13:34
seb128I'm getting close from a working evince13:35
jdstrandI'm not necessarily up on all the latest decisions13:35
seb128like I've it opening pdf even in restricted mode13:35
jdstrandnice13:35
seb128but it's a bit less useful if you can't double click on documents13:35
seb128like if you need to start evince from the dash and then browse to the file you want13:35
Chipacaseb128: well, there is the xdg-open thing13:37
Chipacaseb128: which is a toe in the water13:37
seb128Chipaca, the xdg-open things is the other way around though, right?13:38
Chipacaseb128: ah!13:38
seb128having code from inside the snap calling e.g your system browser13:38
Chipacaseb128: that's what happens when i skim the backlog and try to be helpful :-)13:38
seb128lol13:38
seb128thanks for the reply though ;-)13:38
joc_zyga: the system /etc/udev/rules.d i.e. not just from the confined app's perspective?13:39
zygajoc_: yep, the real one13:40
zygajoc_: if we put udev rules in place we reload udev and re-trigger the rules13:40
zygajoc_: so you should see stuff happening13:41
joc_hmm, not sure why i'm not seeing anything13:44
=== chihchun is now known as chihchun_afk
seb128jdstrand, 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
mvoseb128: sounds ok14:05
jdstrandseb128: 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:07
jdstrandseb128: '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
jdstrandmaybe it is a snapcraft thing14:08
seb128jdstrand, I can figure 3 out but we also need access to the system XDG_RUNTIME_DIR14:08
* jdstrand isn't sure14:08
seb128jdstrand, which is where I'm blocking14:09
seb128I don't even know if it's ok from a security point of view14:09
jdstrandare you saying the sandbox is blocking access to the XDG_RUNTIME_DIR? is there a bug for the system XDG_RUNTIME_DIR?14:09
jdstrandwhat is that dir?14:09
seb128jdstrand, XDG_RUNTIME_DIR=/run/user/100014:11
seb128jdstrand, I get a permission denied when I try to access /run in a confined snap14:11
jdstrandseb128: what is the apparmor denial?14:11
seb128l[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=100014:11
jdstrandwell, that is for 'ls'14:12
jdstrandbut what is the denial when you use gsettings?14:12
jdstrandbecuase we allow access to /{,var/}run/user/*/dconf/user already in the gsettings plug14:13
didrocksjdstrand: 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:13
didrocksso it means it needs to be fast to execute (as autocomplete on temporary file in the IDEs) and work on snapcraft.yaml source14:14
seb128jdstrand, ok, I think I just got confused and assumed that if I couldn't ls to it it was not available, I see no deny14:14
seb128jdstrand, I'm going to try to figure out 3) then, sorry for the nois14:14
seb128jdstrand, and thanks for the replies!14:14
jdstrandseb128: np14:14
didrocksI 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 then14:14
didrockshaving some experience on linter written in python integrated in IDE and their speed… wdyt?14:15
jdstranddidrocks: I think the tools could be extended to read a specific snapcraft.yaml on the fs and run fast enough14:16
didrocksjdstrand: so you would probably be in favor of us going that road instead of trying to get something in go?14:16
jdstranddidrocks: the thing that can be slow now is unpacking the snap, going through all the files, etc. just parsing snapcraft.yaml would be fast14:17
jdstranddidrocks: yes-- otherwise the test will diverge and maintenance would be a problem14:17
jdstrandtests*14:17
didrocksjdstrand: yeah, but it means for every character typed in the IDE, the python interpretor would be executed by the IDE plugin14:17
didrocks(for autocomplete for instance)14:17
jdstrandit is already hard enough keeping snapcraft and the tools in sync. adding another thing would be hard14:17
didrocksyeah, that's why I prefer talking about it to you beforehand :)14:18
jdstranddidrocks: 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 slow14:18
didrocksjdstrand: I'm afraid that out extending most of IDEs are working though14:19
didrocksthat's* how14:19
didrocksbut in theory, you have nothing against us extending the click-reviewer-tool for those functionality? (parsing snapcraft.yaml + introducing autocomplete)14:19
didrocksfunctionalities*14:20
jdstrandI do not-- it has a ton of lint tests already14:20
didrocksjdstrand: great! the LP project is still the main branch, right ? (nothing on github?)14:21
jdstrandhow to integrate would be the interesting bit14:21
jdstrandall LP14:21
didrocksyeah, 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
jdstrandyou'd need to extend that part. we don't track line number-- we track by key/value14:22
didrocksyeah, but I think it's another binary anyway14:23
jdstrand(not that line number would be difficult to add)14:23
didrocksas it's not meta.yaml14:23
didrocksby another file, with other rules (some are commons)14:23
jdstrandyou 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:23
didrocksindeed14:24
didrocksI'll have a look in the next days and keep you posted!14:24
didrocksthanks for your feedback :)14:24
jdstrandnp14:24
matteozyga: maybe I have found the download issue14:37
zygamatteo: yes? what is it?14:40
matteothe connection is resetted when the network is faster than the disk14:41
swartzrI'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:48
zygare14:55
zygaswartzr: re14:55
zygaswartzr: so can you tell me more about your issue14:56
swartzrzyga: 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:57
swartzrI looked in jenkin's home directory and i see a snap directory so I assume it is created successfully14:58
=== ratliff_ is now known as ratliff
joc_abeato: i take it you tested that the udev rules were definitely be created for modem-manager?15:03
abeatojoc_, yep15:03
zygaswartzr: can you tell me what the error is in more detail15:06
zygaswartzr: what is the host? (where does snapd run)15:06
joc_abeato: do you have an amd64 snap i can install? looks like your recent builds failed15:08
abeatohmm, weird15:09
swartzrzyga: 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 more15:10
swartzrzyga: the snap is also installed in devmode15:11
abeatojoc_, http://people.canonical.com/~abeato/snappy/modem-manager_1.4.0-1_amd64.snap15:11
kyrofaswartzr, do you have an encrypted home directory?15:13
joc_abeato: boo, yours works here too :p15:15
abeatojoc_, lol15:15
swartzrkyrofa: no although it is in a different spot than normal /var/lib/jenkins15:15
kyrofaswartzr, interesting. Any chance $HOME/snap is owned by root?15:16
swartzrzyga: Actually I forgot to look at syslog. I have a apparmor deny does this help? http://paste.ubuntu.com/17646112/15:16
swartzrkyrofa: no it is owned by the user jenkins15:17
kyrofaswartzr, yep, that'll do it15:17
swartzrkyrofa should it be owned by root?15:17
kyrofaswartzr, it's the denial. The profile under which u-c-l runs won't let it create $HOME/snap if $HOME is in /var15:17
kyrofaAt least, that's what it looks like15:17
kyrofajdstrand, can you take a look at that? ^^15:18
jdstrandwhich that?15:18
jdstrandthe /var/ denial is likely from zyga's recent changes15:18
jdstrandand so it would need to be allowed15:18
kyrofajdstrand, $HOME is /var/lib/jenkins, getting http://paste.ubuntu.com/17646112/ and permission denied when creating user data directory15:18
kyrofaAh15:18
kyrofaswartzr, ^^15:19
zygahmm15:19
zygahmm15:19
* jdstrand is assuming the flipped mounts work is causing that ^15:19
zygaswartzr: home has to be in /home/$foo, or apparmor will have a few issues15:20
zygajdstrand: which changes are you referring to?15:20
swartzrzyga: ok I might have to change the way I'm deploying this then15:20
zygajdstrand: ubuntu still ships the old ubuntu-core-launcher15:20
zygaswartzr: quick idea15:20
zygaswartzr: vm /var/lib/jenkins /home/jenkins15:20
zygaer15:21
zygamv15:21
zygathen ln -s it back15:21
zygaand try15:21
zygaso the real home is /home/jenkins15:21
zygaand /varlib/jenkins is a symlink to /home/jenkins15:21
jdstrandzyga: 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/lib15:22
zygajdstrand: my memory is hazy15:25
zygajdstrand: AFAIR the per-user thing is created by the launcher15:25
zygajdstrand: and the /var/snap/$SNAP_NAME thing is created on install by snapd15:25
swartzrzyga let me look at that. I have to make sure that it won't mess anything else up first.15:27
swartzrzyga: Thank you15:27
jdstrandzyga: 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:30
zygajdstrand: I think the launcher was doing the $HOME-derived (SNAP_USER_DATA) one15:32
jdstrandzyga: but they said that home was /var/lib/jenkins. I think I' confused now15:33
jdstrandhow was HOME set to /var/lib/jenkins?15:33
jdstrandthat isn't right in any scheme15:33
zygajdstrand: I suspect jenkins package does that15:33
zygajdstrand: it's not a snap, jenkins is just a regular package15:33
jdstrandI'm really confused now. why is the launcher getting denials for launching something that isn't a snap?15:34
zygajdstrand: jenkins runs a snap15:34
zygajdstrand: and the snap has a non-default HOME15:34
zygajdstrand: and that falls out of the policy15:34
zygajdstrand: that's how I understand it15:34
jdstrandhow does the snap have a non-default HOME?15:34
* zyga wonders if "falls out of sth" means anything15:35
jdstrandhow is that even possible?15:35
zygajdstrand: I mean the user running the snap doesn't have a normal home15:35
zygajdstrand: that particular user happens to be jenkins15:35
zygajdstrand: cat /etc/passwd and look for home directories15:35
jdstrandI see what you're saying now15:35
jdstrandthis seems like a failing of the jenkins job that runs the snap15:36
jdstrandit should set HOME to something else15:36
zygajdstrand: like?15:37
ogra_hmm, how can i tell snap find to show me snaps from beta15:39
ogra_seems it doesnt accept a --channel arch15:40
ogra_*arg15:40
jdstrandzyga: the user it is running the snap as15:42
zygajdstrand: it is running as the jenkins user15:42
zygajdstrand: not as anyone else, jenkis isn't root15:42
jdstrandI'm saying that isn't a valid test15:43
* zyga is confused15:43
jdstrandcause no one is the jenkins user15:43
zygawhy do you say that? jenkins runs as jenkins :)15:43
jdstrandthis is for the testsuite, right? it should run the tests as a user that is not special15:43
zygano, this is for whatever someone is using jenkins for15:43
zygait runs some jobs (arbitrary)15:43
zygathat run commands15:44
zygasome of which come from snaps15:44
jdstrandthis seems too arbitrary15:44
zygawhat is?15:44
jdstrandof course we could just allow the launcher to create any directory on the system15:44
zygaI know this isn't great15:44
zygabut this is the reality :)15:44
jdstrandit isn't though15:45
jdstrandit may be the reality of jenkins15:45
jdstrandbut jenkins is a test runner15:45
jdstrandor script runner15:45
jdstrandor whatever15:45
zygayes15:45
zygaI know15:45
jdstrandthat isn't a normal user15:45
zygaI wonder if we should make the launcher ...15:45
zygawell15:45
zygano :/15:45
zygait'd have to use a policy that understands $HOME15:46
MichaelTunnellso 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
jdstrandand for the test to be valid, the test should reflect how things are actually run15:46
zygais that doable in apparmor?15:46
zygaMichaelTunnell: please report it on launchpad.net/snappy15:46
jdstrandthe policy cannot interrogate the env for adjust policy no. that would allow trivial escapes15:46
MichaelTunnellthat makes sense . . . assumed it would be more specific than that :) thanks15:46
zygajdstrand: right15:47
jdstrandzyga: you also need to consider that if we allowed this access, what is the next step?15:47
zygajdstrand: we could make a trusted helper :), that runs as the user (not setuid) that just mkdir's the right thing15:47
zygajdstrand: and that would not be confined15:47
jdstrandzyga: ie, we get snap denial because @{HOME} doesn't match /var/lib/jenkins15:47
zygaright15:47
zyga(I get that)15:47
jdstrandas it happens, there are ways around that with apparmor, by dropping a file into /etc/apparmor.d/tunables/home.d15:48
jdstrandbut I think the underlying assumption that we should change policy is wrong. we should change the test env to reflect what real users are doing15:48
jdstrandlooking 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 needed15:50
zygajdstrand: can you tell me more about tunables?15:50
jdstrandbut I maintain jenkins should have a proper home and not a special home15:51
zygajdstrand: I agree that we can solve jenkins easily by allowing /var/lib in addition to home15:51
zygajdstrand: /var/lib is debian policy15:51
jdstrandzyga: there is no Debian policy for running snaps :)15:51
jdstrandwe have daemons and commands15:51
zygajdstrand: look at your /etc/password15:52
jdstranddaemons run as root. commands as the user. the user in snappy has been defined as a login user15:52
zygajdstrand: most of those are not /home15:52
zygajdstrand: I mean for jenkins15:52
zygajdstrand: jenkins is a valid thing15:52
jdstrandzyga: I know what is in /etc/passwd15:52
jdstrandwe're talking past each other15:52
zygajdstrand: remember that jenkins is not a snap here, anything can be running snaps15:52
jdstrandI know what jenkins does15:52
zygajdstrand: I'm sorry, I didn't mean that15:52
jdstrandI know Debian policy15:52
zygamy point was that I think this is normal and we should find a solution that works in general15:53
jdstrandI'm talking about how to properly run tests15:53
croephaare you supposed to run snapcraft clean between each revision of snapcraft.yaml ?15:53
jdstrandwhat is another example of a deb running a snap?15:53
zygajdstrand: cron15:53
zygajdstrand: anything really15:53
jdstrandzyga: and cron sets HOME to the user's HOME15:53
jdstrandcron is about running stuff as a specific user15:54
jdstrandzyga: as for tunables, see /etc/apparmor.d/tunables/home and /etc/apparmor.d/tunables/home.d/ubuntu15:54
* zyga looks15:55
zygaah, so it is a compile-time mechanism15:55
jdstrandI'm not sure why it is so contentious to run snaps as a login user since that is what we defined cli commands for15:56
jdstrandand that is the best way to ensure the tests are testing real-world scenarios15:56
jdstrandchanging the policy for jenkins just makes sure it runs for jenkins15:56
zygammm15:57
zygayep15:57
zygaI agree15:57
zygaswartzr: 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?15:57
ehbellohello! 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
ehbellos/hoy/how/16:01
zygaehbello: can you share the URL of the guide you read?16:02
zygaehbello: gadget snaps are not finalized and are prone to change16:02
ehbellozyga: https://developer.ubuntu.com/en/snappy/guides/gadget/16:02
zygaehbello: in fact, they are changing very much right now16:02
zygaoh16:02
zygamhall119, dholbach: ^^16:02
dholbachzyga, ok... maybe file a bug on https://bugs.launchpad.net/developer-ubuntu-com/+filebug for anything more specific?16:05
dholbachI'm not quite sure what to do now16:06
zygadholbach: we should not have a guide for gadgets16:06
zygadholbach: gadgets don't exist yet16:06
zygadholbach: anyone following that is wasting their time working on moving base16:06
dholbachok16:06
dholbachcan you file a bug and we'll remove it?16:06
zygayep16:06
dholbachthanks16:06
dholbachit'd be good to have a paper trail for this16:07
dholbachso I know what to respond when people ask me why we deleted it :-)16:07
zygaehbello: we can work with you but you have to understand that image building and gadget semantis is not finalized yet16:07
dholbachthanks zyga16:07
dholbachok, need to run now16:07
dholbachsee you tomorrow!16:07
ehbellozyga: 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:15
zygaehbello: so depending on what your gadget snap is doing you may or may not be affected by those changes16:17
zygaehbello: we're iterating on ubuntu-image, the tool to make images, and the responsibilities of gadget snaps are changing in result16:18
zygaehbello: also some things will be added to support assertions16:18
zygaehbello: for now it's best to stick around and ask around on IRC/mailing list to know where things are heading16:18
zygaehbello: you will find that some things are not perfectly documented16:18
zygaehbello: but we're friendly so we'll gladly help you out :)16:18
ehbellozyga: thank you ^^16:21
dusty_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:29
zygadusty_: hmm16:32
zygadusty_: can you rephrase that?16:32
kyrofadusty_, yeah I'm not quite sure what you're asking there either16:32
zygadusty_: you have a python (say python 3) binary built from source16:32
zygadusty_: and some python projects (say like those you can find on pypi)16:32
zygadusty_: and you want them to see each other?16:32
dusty_okay, from kyrofa's integration tests - https://github.com/ubuntu-core/snapcraft/blob/master/integration_tests/snaps/pip-requirements-list/snapcraft.yaml16:36
dusty_is there a way to have a python binary (say 2.6) include those packages as part of its path?16:37
dusty_I hope that made more sense :\16:37
dusty_not sure if that would have to do with environment variables?16:39
kyrofadusty_, probably using PYTHONPATH16:40
zygadusty_: set PYTHONPATH and16:40
zyga;:)16:40
ehbellozyga: 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:40
zygaehbello: no, snapcraft doesn't support gadget snaps much16:41
zygaehbello: for those are hand-made16:41
zygaehbello: we're working on tooling around that and stock gaget snaps in source form to fork as a base16:41
zygaehbello: 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 built16:42
dusty_kyrofa, zyga: alright thanks16:46
zygaslangasek: snap-confine synced to yakkety from debian16:49
zygaslangasek: and now we get upgrade bugs because it somehow conflicts with ubuntu-core-launcher16:49
zygaslangasek: can you please release snap-confine 1.0.33 to debian16:49
zygaslangasek: and use the rules as they are spelled out in the package today16:49
zygaslangasek: (!legacy mode)16:49
zygaslangasek: please ping mvo to ack this16:50
zygaslangasek: If you want I can make the package but I need a sponsor16:50
swartzrzyga: 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 share16:54
zygaswartzr: thanks16:54
zygajdstrand: ^^16:54
zygajdstrand: so it's not about testing the snap16:54
zygaswartzr: make sure this is reported on launchpad.net/snappy and we'll get it fixed16:54
kyrofajdstrand, 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
zygakyrofa: seccomp filters are loaded each time16:55
kyrofazyga, alright, I'll just check for file presence then16:55
kyrofazyga, thanks :)16:56
zygakyrofa: there might be something in /proc but I'm not sure (in the particular pid)16:56
ehbellozyga: ouch... so, snapcraft lost support for gadgets since snappy tool?17:03
zygaehbello: officially it never really had support17:03
zygaehbello: I'm sure snapcraft will support gadgets17:04
zygaehbello: it's just that right now that's not being used so it might not work in practice17:04
zygaehbello: there are a few things that are unique to gadget snaps17:04
ehbellozyga: ok, I understand17:05
swartzrzyga: Bug is reported at https://bugs.launchpad.net/snappy/+bug/159490417:08
ubottuLaunchpad bug 1594904 in Snappy "Snaps fail to run when user's home directory is not under /home" [Undecided,New]17:08
zygathanks!17:08
zygaswartzr: I'll see if we can get it fixed for 2.0.1017:08
sgclarkhi all, I am having a terrible time getting sound to work, any tricks I need to be aware of?17:08
jdstrandkyrofa: re seccomp> no. the launcher loads them into the kernel and there is nothing to introspect that afaik17:10
kyrofajdstrand, alrighty, I'll just check for the file then. Thanks!17:10
jdstrandkyrofa: as was mentioned, use the files in /var/lib/snapd/seccomp/profiles17:11
jdstrandright, yes :)17:11
swartzrzyga: 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:11
zygaswartzr: I think that will work17:12
zygatry it17:12
swartzrzyga: Will do thank you so much.17:12
ehbellozyga: do you know where are the sources of beagleblack and canonical-* gadget snaps?17:21
zygaehbello: I think so17:22
* zyga checks17:22
zygahttp://bazaar.launchpad.net/~snappy-dev/snappy-hub/snappy-systems/files17:23
ehbellozyga: thanks! =D17:24
slangasekzyga: 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 off17:29
zygaslangasek: oh, good point17:29
zygaslangasek: what should we do then?17:29
zygaslangasek: I mean, we can . /etc/os-release17:29
zygaslangasek: and then do it conditionally17:30
zygaslangasek: would that be sensible?17:30
zygaslangasek: (then it could sync okay)17:30
slangasekzyga: I assumed that the team would continue uploading directly to Ubuntu and that I would pick them up from there for merging back to Debian17:30
slangasekzyga: however, if we do want it in sync, the way to do it is using dpkg-vendor in debian/rules to manipulate the build17:30
zygaslangasek: 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 upgrade17:31
slangasekzyga: that's version 1.0.30 in yakkety-proposed?17:31
slangasekor which version?17:32
zygaslangasek: hmm, I see upgrade bugs that cite the +2 version17:32
zygaand +2 AFAIK only went into debian17:32
zygamaybe I'm mis-iterpreting things and that is not true17:32
slangasekzyga: ok. +2 made it into yakkety-proposed; then I removed it knowing that it would be a problem17:32
slangasekso it's no longer in Ubuntu17:32
slangasekand I've blacklisted it from syncing because of the confinement issue17:33
zygaah, that's good17:33
zygathanks for explaining that17:33
slangasekbut if we decide to get it into sync, we can drop the blacklist17:33
zygaslangasek: I'll discuss with mvo, ideally using the vendor thing might mean we have less maintenance to do17:34
zygaslangasek: as snap-confine is gaining new essential features quickly17:34
zygaslangasek: thanks :)17:36
slangasekzyga: 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 failures17:36
slangasekif 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
zygaslangasek: 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 closes17:37
zygas/closes/approaches/17:37
zygaslangasek: I think it will stabilize over time17:37
zygaslangasek: there's a finite set of features we want there17:38
wililupyIs there a quick reference to snap environment variables?17:38
zygawililupy: some, I can also guide you :)17:38
* zyga looks17:38
wililupyLike $SNAP_DATA?17:38
zygawililupy: that's writable data that's not specific to a user17:39
wililupyI'm thinking my snap may be using old snap environment variables that no longer being used.17:39
wililupySorry, not my snap, my code.17:39
zyga(this is not documented)17:40
wililupyI 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/fastpath17:41
slangasekzyga: 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 Debian17:41
zygaslangasek: do you think we should de-couple packaging?17:41
zygaslangasek: and do upstream releases17:41
zyga(as we started to for the past 5-or-so)17:42
zygaslangasek: then release to debian (and optionally ubuntu if required urgently) and other distros17:42
slangasekzyga: 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 consider17:43
zygaslangasek: note that this is how fedora/arch/gentoo packaging is done today17:44
slangasekwhich way?17:45
zygaslangasek: as a typical package with decoupled upstream tarabll and downstream packaging17:45
slangasekok17:45
zygaslangasek: eg. https://github.com/snapcore/snap-confine/releases/download/1.0.33/snap-confine-1.0.33.tar.gz17:45
zygathat's an autotools "make dist" tarball17:46
slangasekzyga: 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 me17:47
zygaslangasek: release tarballs don't ship debian/17:47
zygaslangasek: so I guess I could make a branch that makes packaging separate17:47
zygaslangasek: do you want to keep it in the repository?17:47
slangasekzyga: it should be kept in the repository, and I already have a separate branch that's authoritative for the Debian packaging17:48
zygaslangasek: do you want me to propose a pull request that switches to non-native packaging then?17:48
zygaslangasek: and I'll let you do the rest?17:48
slangasekzyga: I can work through that today along with the other packaging changes needed to have it syncable17:49
zygaslangasek: thank you17:49
zygaslangasek: so I'll do nothing and I'll keep doing upstream releases and downstream releases in other distros17:50
slangasekzyga: 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:50
zygaslangasek: 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
zygaslangasek: when that happens snap-confine won't have any executables in bin17:51
=== JanC is now known as Guest79667
=== JanC_ is now known as JanC
kyrofazyga, 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
zygakyrofa: mmm, network manager17:53
zygakyrofa: try it, it should have a policy17:53
kyrofazyga, ah very good, checking now17:54
kyrofazyga, wait, you mean the interface network manager?17:54
zygakyrofa: yes17:54
zygakyrofa: the network-manager interface17:54
zygakyrofa: you can stick it on a dummy snap17:54
kyrofazyga, no, it seems that's only for a slot17:54
zygakyrofa: just to show that it is used17:54
zygakyrofa: ahh17:55
zygakyrofa: no wait17:55
zygakyrofa: for plugs too17:55
zygakyrofa: you just have to connect it17:55
kyrofazyga, perhaps I'm misunderstanding, but both `*PlugSnippet` functions return nil,nil for dbus17:55
zygahmm17:55
* zyga looks17:55
zyga(that's odd btw)17:56
kyrofazyga, indeed, I wonder if that's broken :P17:56
kyrofaOr perhaps unfinished?17:56
zygaah17:56
zygasorry17:56
zygano17:56
zygaplug side is handled with apparmor17:57
zygabecause that's how we can see and use the apparmor labels17:57
zygaplug side won't be used by dbus much I think17:57
kyrofaAhh, oay17:57
kyrofaokay*17:57
zygaif you really want a test, you'd have to create a dummy interface17:57
kyrofaI guess I don't want a test that bad ;)17:57
kyrofaIt's already unit tested with dummies17:58
zygayep17:58
kyrofaHey 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-6791704517:59
slangasekzyga: fyi https://github.com/vorlonofportland/snap-confine/tree/debian (will move soon to alioth.debian.org)18:00
zygaslangasek: thank you18:00
slangasekzyga: do you think we need mvo to weigh in on the native v. non-native packaging question, or should I JFDI from here?18:02
kyrofajdstrand, 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
JohnAgostaHi, 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:03
ehbellozyga: how can I build this beagleblack snap and others?18:04
jdstrandkyrofa: I can imagine it being used. I don't have something otoh18:06
kyrofajdstrand, 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
kyrofajdstrand, but if we have no use-cases, there's a case to be made for dropping it all together18:07
kyrofajdstrand, your thoughts would be appreciated here if you have a minute: https://github.com/snapcore/snapd/pull/1373#discussion-diff-6791704518:08
jdstrandkyrofa: 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 personal18:11
jdstrandkyrofa: but may not get to that review today (trying to get the mpris interface in order)18:11
kyrofajdstrand, alright, thank you18:12
sergiusenselopio why are all our tests broken/18:26
sergiusens?18:26
swartzrzyga: 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:33
kyrofajdstrand, how is APP_NAME used on touch?18:41
jdstrandkyrofa: 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 how18:45
kyrofajdstrand, interesting... they aren't separate files as they are on snappy?18:46
kyrofaniemeyer1, FYI ^^18:47
kyrofaniemeyer, is niemeyer1 also you? :P18:48
niemeyerkyrofa: Yeah, we're a family18:48
jdstrandkyrofa: 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 theft18:48
niemeyerjdstrand: We already differentiate interfaces based on app, right?18:48
jdstrandyes18:48
jdstrandthat isn't what I'm talking about18:48
* niemeyer misses the "Typing..." note :)18:49
jdstrandI'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 snappy18:50
niemeyerjdstrand: Well, how's that not what I just said?18:50
jdstrandI thought you were talking about the file name18:50
jdstrandwhich was kyrofa's previous question18:50
jdstrandwe are talking about template_vars.go, right?18:51
kyrofajdstrand, indeed18:51
niemeyerjdstrand: I'm talking about your point that we may want to use the app name in policy to differentiate apps in the same package18:51
niemeyerjdstrand: We already do that for several interfaces18:51
niemeyerjdstrand: Practical example:18:51
niemeyer   peer=(label=###SLOT_SECURITY_TAGS###),18:52
jdstrandin the various existing interfaces code we don't rely on template_vars.go for @{APP_NAME}18:52
jdstrandyes18:52
niemeyerThis is binding to a particular name18:52
niemeyerSo my theory about why we're not seeing the application name is because we have something better18:52
jdstrandbut that doesn't mean we won't *ever* use @{APP_NAME} in the apparmor policy18:52
jdstrandmaybe18:52
jdstrandlike I said. we haven't designed the touch migration18:52
jdstrandand I can't predict we will *never* need it since all the touch policy needs to be converted to interfaces for personal18:53
niemeyerjdstrand: Well, I also can't say we won't *ever* use something :)18:53
kyrofaCan we add them when we need them?18:53
jdstrandso I'm just playing it safe18:53
jdstrandit sounds like you want to use it for hook name18:53
jdstrandwhich is not the app name18:54
kyrofajdstrand, I don't care one way or the other-- we could also add HOOK_NAME18:54
niemeyerCan we please drop it?  We have the whole context inside the interface to cook whatever we want when we need to18:54
jdstrandso removing it now to add it to be used by hook name to possibly add it later sounds weird to me18:54
niemeyerWe are already using security tags on interfaces, which is effectiely *exactly* the app name18:54
niemeyersnap.<snap>.<APP NAME>18:55
niemeyerExcept it's properly namespaced, which means better18:55
jdstrandsure, but app name might be used for other things, like file paths18:55
niemeyerjdstrand: WE have the app name too..18:55
niemeyerjdstrand: We have both the plug and the slot18:55
niemeyerjdstrand: and in fact.. I suspect APP_NAME will likely not work as we want it to18:56
jdstrandlook, 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 it18:56
niemeyerjdstrand: Because it doesn't consider the problem of aggregating the several app names18:56
jdstrandI wasn't suggesting we use APP_NAME in security labels. we do that fine in interfaces18:57
jdstrandI'm talking about other policy in the filesystem18:57
jdstrandwhere 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 yet18:58
swartzrzyga: 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:58
zygaswartzr: hmm18:59
zygaswartzr: no, I don't have any ideas18:59
zygaswartzr: did you restart jenkins?18:59
zygaswartzr: and perhaps also change the home in /etc/passwd18:59
zygaswartzr: then restart jenkins18:59
zygaswartzr: (set it to /home/jenkins for example018:59
niemeyerjdstrand: Okay, thank you.. the context is indeed appreciated19:00
jdstrandzyga: 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
kyrofaIndeed, thank you jdstrand19:00
niemeyerjdstrand: 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 case19:00
niemeyerjdstrand: 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 app19:01
niemeyerjdstrand: So, on that basis, let's remove and re-add when we know more19:01
jdstrandif 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 though19:01
zygajdstrand: 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 object19:01
niemeyerjdstrand: Removing is dropping one line, and that variable cannot be used without also changing the code, so no real damage19:02
zygajdstrand: for the former you have to use DeepContains, for the latter you can use Contains19:02
zygajdstrand: maps, slices and pointers want you to use DeepContains AFAIR19:02
niemeyerjdstrand: Right, precisely.. the names are not conflated, except for that one case19:02
niemeyerjdstrand: They have different security tags, different paths in the FS, different entries in snap.yaml19:02
niemeyerjdstrand: On this case we don't know what to do because there's no use case for that variable19:03
jdstrandzyga: interesting. what is also interesting is that it seems to correspond to os supplied interfaces and slot-providing snaps19:03
zygajdstrand: thats just accidental today19:03
jdstrandok19:03
jdstrandzyga: thanks!19:03
zygajust depends on what the type has inside19:03
zygajdstrand: deep contains works always19:04
jdstrand:w19:04
jdstrandmeh19:04
zygajdstrand: 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 interfaces19:07
jdstrandzyga: cool. I'm working on mpris19:09
swartzrzyga: I'll try that thanks19:09
swartzrzyga: and yes I did restart jenkins19:09
jdstrandso far it seems it closer to a slot side and plug side thing. working through those details19:10
zygajdstrand: I thought that mpris coudl be a new interface19:10
jdstrandyes19:10
zygajdstrand: e.g. a front-panel device that does mpris slot19:10
jdstrandthat is what I am thinking19:11
zygajdstrand: classic exposing mpris19:11
zygaetc19:11
zygaand apps would do auto-connectable plugs19:11
jdstrandthe is the player side (slot) and the controller side (plugs)19:11
zygajdstrand: note that we have a nice way to change auto-connect candidates19:11
zygajdstrand: hmm19:11
zygajdstrand: actually I was thinking the reverse19:11
zygajdstrand: but to be hones, this feels that it can be any19:12
zygahonest*19:12
* zyga cannot type19:12
jdstrandwell, let me continue my investigation and we can discuss in the PR19:12
zygajdstrand: anyway, the point about auto-connect is for later :)19:12
zygajdstrand: but we could even auto-connect to any viable target if there's no slot (or plug) on the core snap19:12
elopiosergiusens: I don't really know what else to do with the microphone, it worked this morning. Want to talk about registration here?19:13
sergiusenselopio so about jenkins, can you take over making sure trunk passes?19:14
sergiusenselopio about registration, just wondering what you meant by simple19:14
sergiusenskyrofa a review of this would be nice https://github.com/ubuntu-core/snapcraft/pull/588/files (aside from josepht)19:15
jdstrandzyga: I think you had a patch for this, but fyi: this still doesn't work: sudo /tmp/snap connect vlc:mount-observe :mount-observe19:17
jdstrandzyga: I mention it cause this works: sudo /tmp/snap connect vlc:mount-observe ubuntu-core:mount-observe19:18
elopiosergiusens: 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
jdstrandzyga: and 'ubuntu-core' is not cross-distro-friendly. perhaps that becomes core:mount-observe? anyway-- not blocked. fyi19:18
swartzrzyga: That worked! Thank you so much! I can now scrap this "Yeah this isn't going to work" email to my boss.19:21
sergiusenselopio oh, that's fine, we can create wishlist bugs for those19:23
zygaswartzr: sweet, thank you for your patience!19:28
zygajdstrand: yep, I know19:29
zygajdstrand: it will be just core and :19:29
zyga(name not required)19:29
ehbellozyga: before you disconnected, I asked you.... what tool or version of snapcraft I need to build this beagleblack snap and others?19:36
zygaehbello: I think those are not built with snapcraft19:51
zygaehbello: just look at the source, they are built with the raw lower level tools19:51
mhall119sergiusens: are you still around?19:52
sergiusensmhall119 yes19:56
mhall119sergiusens: I'm stuck on pkg-config stuff with https://github.com/ubuntu/snappy-playpen/tree/pantheon-mail/pantheon-mail19:56
mhall119tl;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't19:57
zygamhall119: pantheon mail snap?! :)19:59
mhall119zyga: well that depends on whether or not sergiusens can help me :)19:59
mhall119zyga: if he can, I'll be proposing a new interface for snapd later19:59
sergiusensmhall119 can't you build pkg-config from source?20:00
mhall119sergiusens: build pkg-config itself?20:00
sergiusensas a part that gets staged20:00
sergiusensyeah20:00
mhall119sergiusens: 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" part20:00
mhall119so ./configure on the "mail" part fails saying it needs libgranite20:01
zygamhall119: ignore pkg-config, you don't need any newer verion, you need granite itself20:01
mhall119yes20:02
sergiusensmhall119 oh, ic, I thought you needed a newer pkg-config20:02
mhall119I need the version of granite built by the part20:02
mhall119sergiusens: no, well I hope not anyway, I just need it to look in the right places20:02
mhall119sergiusens: run that snapcraft.yaml in a cleanbuild and you'll see20:02
mhall119granite appears to build fine and get installed into ./stage/20:02
mhall119then when it moves on to the "mail" part it fails saying pkg-config can't find the granite dependency20:03
zygamhall119: how is granite configured20:04
mhall119if 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 version20:04
zygamhall119: is --prefix=/usr20:04
zygamhall119: if not you won't find pkg-config information file in the right spot20:04
mhall119zyga: -DCMAKE_BUILD_TYPE=Release, -DCMAKE_INSTALL_PREFIX=/usr, -DCMAKE_INSTALL_LIBDIR=/usr/lib20:04
zygamhall119: oh, cmake (/me barfs)20:04
zygamhall119: anyway, look where the .pc file is20:05
sergiusenszyga yeah -DCMAKE_INSTALL_PREFIX=/usr20:05
zygamhall119: and check where snapcraft sets PKG_CONFIG_SYSROOT_DIR20:05
sergiusensmhall119 is that required btw ^?20:05
mhall119zyga: PKG_CONFIG_SYSROOT_DIR was /root/stage/ I believe20:05
mhall119sergiusens: is what required?20:05
sergiusenszyga no need, mhall119 run ./parts/<part-name>/bin/pkg-config <options> <module-name>20:06
sergiusensmhall119 if setting the install prefix is required20:06
mhall119sergiusens: I don't know if it is or isn't20:06
sergiusensmhall119 you know that once in the snap it won't be at that prefix, right?20:06
mhall119yes20:06
mhall119let me re-run so I can see where the files are20:06
mhall119sergiusens: but if you run it you will be able to see it faster20:07
mhall119sergiusens: ./stage/usr/lib/pkgconfig/granite.pc20:10
sergiusensmhall119 you have high expectations of me working in "convergence" mode on the tablet ;-)20:13
sergiusenssure, I'll look20:13
sergiusensalso, my bandwith is 3Mbps ;-)20:13
zygasergiusens: \o/20:13
sergiusensmhall119 the build just fails for me20:26
sergiusenshttp://pastebin.ubuntu.com/17661758/20:26
mhall119huh, doesn't do that for me....20:33
mhall119sergiusens: try a cleanbuild?20:33
sergiusenselopio so how long do we wait for the jenkins bring up?20:35
mhall119sergiusens: http://paste.ubuntu.com/17662567/ is the error I get, btw20:42
mhall119sergiusens: I've also pushed a new version of the yaml to github, it removes some package dependencies that weren't really needed20:43
mhall119http://paste.ubuntu.com/17662693/ is the .pc file in ./stage/20:44
mhall119sergiusens: I assume that it's something wrong in my snapcraft.yaml but for the life of me I can't figure out what20:46
sergiusensmhall119 maybe not, pkg-config isn't the best thing when it comes to multiple sysroots20:48
croephawhat do you put for "Project contact" in the contributor agreement?20:48
elopiosergiusens: it is up. I'm monitoring the first run.20:50
mhall119croepha: which project are you contributing to?20:51
croephasnapcraft20:52
mhall119croepha: put Jamie Bennett then20:53
mhall119jamiebennett: ^^ is that correct?20:53
* mhall119 notes it's 10pm his local time, so he's probably not going to respond20:53
jamiebennettmhall119, Sure20:53
* mhall119 notes his surprise that he's still online20:53
jamiebennett(I'm in a different TZ this week)20:53
mhall119oh, are you in Boston?20:54
jamiebennettyes20:54
* mhall119 waves from down south20:54
croephacool, thanks20:54
mhall119croepha: thank you for contributing :)20:54
croephano prob :)20:54
croephais there a requirements.txt for dev?20:56
croephanvm, its in the travis file20:57
sergiusenscroepha is this snapcraft? We are waiting to discover why it kills our packaging (to add a install_requires entry)21:03
croephayes for snapcraft21:04
sergiusenscroepha great, can't wait to see what you propose21:05
croephait 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 running21:06
sergiusenscroepha I just do `sudo mk-build-deps -i`21:06
sergiusenswhich creates a fake deb with all the deps21:07
croephaahh, nice trick21:07
sergiusensmhall119 ok, my cleanbuild is stuck pulling granite21:08
mhall119stuck?21:08
sergiusensmhall119 yes, bzr ftw ;-)21:09
sergiusensgoing to leave it there for a bit21:09
sergiusensmhall119 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 sysroot21:09
mhall119oh, really?21:10
sergiusensmhall119 as I said, pkg-config is sort of dumb in this aspect and cannot handle multiple sysroots21:10
mhall119so, um, how do I accomplish that with separate parts?21:10
sergiusensmhall119 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:11
sergiusensso 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:12
mhall119sergiusens: make the -dev packages stage-packages in which, the granite or the mail part?21:13
tedgsergiusens: If I want to use an organize rule for my desktop file in the snap should it go in setup or meta?21:13
sergiusensmhall119 the one that provides the .pc files as it probably needs them for building anyways21:13
sergiusenstedg `organize` cannot touch meta nor setup21:13
mhall119sergiusens: the granite part provides the granite.pc, the rest were being pulled in the mail part's build-packages21:14
tedgsergiusens: Hmm, so how do I get the snap to use the desktop file after translations have been merged?21:14
sergiusenstedg 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 declarative21:14
sergiusenstedg you cannot do that today21:15
sergiusenstedg unless your snapcraft.yaml lives in the root of the sources, therefore you could link to setup21:15
sergiusensmhall119 can I see granite.pc?21:15
mhall119sergiusens: http://paste.ubuntu.com/17662693/21:17
sergiusensmhall119 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 part21:18
mhall119sergiusens: those packages, or their -dev equiv?21:18
sergiusensmhall119 the -dev's21:19
tedgsergiusens: 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
sergiusenstedg is the desktop file generation a build time thing?21:19
tedgI'd also agree that snapd shouldn't copy them to a random directory, but that's another story :-)21:19
sergiusensor is it already there comitted to source?21:19
tedgsergiusens: Yes, merges with the po files. Starts as desktop.in21:19
sergiusensoh, then my subtle suggestion won't work21:20
mhall119tedg: https://bugs.launchpad.net/snapcraft/+bug/1588359 mark it as affecting you :)21:20
ubottuLaunchpad bug 1588359 in Snapcraft "No way to add setup files at build time" [Undecided,New]21:20
tedgsergiusens: FWIW, I think everyone with a desktop file merges it at build time with translations.21:20
sergiusenstedg what is a translation?21:21
sergiusens:-)21:21
* sergiusens jokes21:21
tedgsergiusens: It's how we make people in Texas use the phone.21:21
tedg;-)21:21
tedgmhall119: Done and added a comment about the desktop file.21:22
sergiusenstedg by declaration I hope ;-)21:23
tedgGun point, like everything in Texas.21:23
mhall119sergiusens: ok, I've a whole mess of .pc files in ./stage/usr/share/pkgconfig/ now, but still getting the same error21:42
mhall119including a .pc file for everything listed in the Requires line of the granite.pc21:44
mhall119sergiusens: http://paste.ubuntu.com/17665800/21:46
sergiusenselopio want tp update https://github.com/ubuntu-core/snapcraft/pull/586 ?23:37

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