kyrofa | sgclark, there are a few here: https://github.com/kyrofa/qt-example-snaps | 00:34 |
---|---|---|
kyrofa | Sorry the room is a little quiet-- most of the team is in a team meeting this week | 00:34 |
sgclark | no worries, tyvm! | 00:35 |
kyrofa | sgclark, they're literally qt examples (from the sdk) | 00:35 |
elopio | asac: can you please create a PPA for me in ~snappy-dev called edge? or give me access to do that | 00:35 |
sgclark | kyrofa: excellent, looks to be exactly what I need. thank you again. | 00:39 |
kyrofa | sgclark, certainly! They aren't perfect-- I'm missing a few stage packages; menus don't work | 00:39 |
kyrofa | sgclark, but elopio will fix that soon | 00:39 |
sgclark | cool, I have the kde community at my disposal to bug as well :) | 00:41 |
kyrofa | sgclark, I think https://code.launchpad.net/~dpm/ubuntu-calculator-app/snap-all-things will make for a QML example | 00:41 |
kyrofa | sgclark, very receptive to pull requests if you're able to improve things | 00:41 |
sgclark | excellent, I look forward to some fun. been wanting to work with snappy for some time. | 00:42 |
kyrofa | sgclark, wonderful! This room will be hopping again next week :) | 00:57 |
=== Aria22 is now known as Aria22|away | ||
* sergiusens waves hello at sgclark | 01:36 | |
sergiusens | nice to see you! | 01:36 |
sgclark | hi sergiusens :) | 01:40 |
sergiusens | sgclark so there is some interesting stuff coming up soon wrt that library snap I mentioned a while back. It should be worked on soon and make getting the full kde stack in fairly easily. In the meantime, I guess I can suggest to create a snap with one app and then continue adding on to it. | 01:48 |
sergiusens | sgclark I am just implying you are doing kde stuff from what I read above :-) | 01:48 |
sergiusens | In any case I hope you find the fun in it. | 01:49 |
sergiusens | :D | 01:49 |
vzioss | hello | 01:57 |
kyrofa | vzioss, hi! Welcome | 01:58 |
vzioss | thanks kyrofa! | 01:58 |
vzioss | I am trying to build a snap package | 01:58 |
vzioss | having doubts in the parts plugin thing | 01:59 |
kyrofa | vzioss, how can I help? | 01:59 |
vzioss | If I understood from the your-first-snap help page | 01:59 |
vzioss | you can write python3 in the plugin section | 02:00 |
vzioss | and have python3 | 02:00 |
vzioss | and you can also use source to point to a python3 code | 02:00 |
kyrofa | vzioss, indeed, run `snapcraft list-plugins` to see all the options you could use there | 02:00 |
kyrofa | vzioss, if you want to see how to use the python3 plugin, try `snapcraft help python3` | 02:01 |
vzioss | but how does one tells that there is dependency on things like pyqt, numpy, and stuff like this ? | 02:01 |
vzioss | ah | 02:01 |
vzioss | ok | 02:01 |
kyrofa | vzioss, does that help a bit? | 02:01 |
vzioss | this help command tells me just that | 02:01 |
kyrofa | vzioss, very good :) | 02:01 |
vzioss | this is really useful | 02:01 |
vzioss | thanks | 02:01 |
kyrofa | vzioss, any time! | 02:03 |
kyrofa | vzioss, if you want some examples to refer to, take a look here: https://github.com/ubuntu-core/snapcraft/tree/master/examples | 02:06 |
vzioss | thanks kyrofa! | 02:10 |
vzioss | I'm am trying here, I think I can make this work... If it works, this is the most impressive thing I've seen. | 02:10 |
kyrofa | vzioss, then I hope it works! :) | 02:11 |
vzioss | kyrofa, have you used python3 plugin? | 02:21 |
kyrofa | vzioss, indeed | 02:21 |
vzioss | kyrofa, I understood that below the line plugin:python3, I should just place a line stating with python-packages: | 02:22 |
vzioss | the package names | 02:22 |
vzioss | how do I list them? | 02:22 |
vzioss | I wrote python-packages:pack1,pack2,pack3 and got "is not of type array" | 02:23 |
kyrofa | vzioss, yeah you need a YAML array | 02:23 |
kyrofa | vzioss, so you have two options: python-packages: [pack1, pack2] | 02:23 |
kyrofa | or | 02:23 |
kyrofa | python-packages: | 02:23 |
kyrofa | - pack1 | 02:24 |
kyrofa | - pack2 | 02:24 |
vzioss | ah, ok | 02:24 |
vzioss | This is really my first yaml file in my life | 02:24 |
vzioss | thanks, stage worked | 02:25 |
vzioss | damn pillow returns a error. | 02:27 |
vzioss | is there a plugin for apt ? | 02:27 |
kyrofa | vzioss, you mean you need debs in your snap as dependencies? | 02:27 |
vzioss | so I could just install python3-pillow from repo instead ? | 02:27 |
kyrofa | vzioss, you can (by using stage-packages), but you should be able to make it work from source as well | 02:28 |
vzioss | yeah, pip or whatever snapcraft stage call get's an error | 02:28 |
kyrofa | vzioss, is the pip package bad? | 02:29 |
vzioss | I don't know, let me try to install pillow from pip | 02:29 |
vzioss | I'm in a clean virtual bo | 02:29 |
vzioss | x | 02:29 |
kyrofa | vzioss, what error did you get? Maybe pastebin it? | 02:29 |
vzioss | just a moment | 02:30 |
vzioss | pastebin.com/EtY2ubiv | 02:33 |
kyrofa | vzioss, ah, looks like you need libjpeg | 02:34 |
kyrofa | vzioss, try adding build-packages: [libjpeg-dev] to your part | 02:34 |
vzioss | ok | 02:34 |
kyrofa | vzioss, do you see where I got that? | 02:35 |
vzioss | build packages is nested below my part? | 02:35 |
kyrofa | vzioss, example: https://github.com/ubuntu-core/snapcraft/blob/master/examples/py3-project/snapcraft.yaml | 02:36 |
vzioss | ok | 02:37 |
vzioss | it asked my sudo password | 02:37 |
vzioss | is this normal? | 02:37 |
vzioss | I gave it | 02:37 |
vzioss | just found unusual... | 02:37 |
kyrofa | vzioss, indeed, build-packages install on the host | 02:37 |
vzioss | ok, it build ok | 02:37 |
kyrofa | vzioss, so it just ran `apt install` for you | 02:37 |
vzioss | I will try adding pyqt4 | 02:38 |
vzioss | this will be a ride... | 02:38 |
vzioss | I was never able to install pyqt4 from pip, always used the ubuntu packages | 02:38 |
kyrofa | vzioss, you still can. It looks the same as the build packages, but it's called stage-packages | 02:39 |
kyrofa | vzioss, but oftentimes debs are hard-coded to work in a typical debian system, and snappy is a little different, which is why I typically recommend using source | 02:39 |
kyrofa | vzioss, but wouldn't hurt to try | 02:39 |
vzioss | if I just add in build-packages | 02:40 |
vzioss | it should work right? | 02:40 |
vzioss | ok, it appears it worked | 02:41 |
kyrofa | vzioss, read about the differences between stage- and build-packages: https://github.com/ubuntu-core/snapcraft/blob/master/docs/snapcraft-syntax.md | 02:41 |
kyrofa | build-packages install on the host (and don't make it into the snap), stage-packages are unpacked into the snap | 02:41 |
vzioss | thanks, I am saving this chat and favoriting those links. | 02:42 |
kyrofa | vzioss, we're working hard on better docs as well, but glad you're asking the questions! | 02:43 |
vzioss | yeah, I really pyqt, it's really easy to use, being able to hop in the gigantic library of things in python gives faster results | 02:46 |
vzioss | and the snappy system is really way less daunting than packaging something to be available in debian. | 02:46 |
vzioss | how do I clean after having made a mistake before stage? | 02:48 |
vzioss | it should be written here: https://developer.ubuntu.com/en/snappy/build-apps/snapcraft-usage/ | 02:48 |
kyrofa | vzioss, check out `snapcraft -h`. Specifically, you can run `snapcraft clean` to clean completely, or `snapcraft clean --step=stage` to clean only the stage step | 02:49 |
vzioss | Collecting pyqt4 " Could not find a version that satisfies the requirement pyqt4 (from versions: ) No Matching distribution found for pyqt4 " | 02:51 |
vzioss | this is a weird error, let me first google this... | 02:52 |
vzioss | ok, used stage-packages | 03:09 |
vzioss | does anyone have some docs on the filesets ? | 03:09 |
kyrofa | vzioss, https://github.com/ubuntu-core/snapcraft/blob/master/docs/snapcraft-parts.md | 03:10 |
vzioss | ok, reading here: https://developer.ubuntu.com/en/snappy/build-apps/your-first-snap/ | 03:12 |
vzioss | how does the source in the line: source: git://github.com/mikix/golang-static-http | 03:13 |
vzioss | goes to the right place ? | 03:13 |
vzioss | I understood filesets does that, but not exactly how | 03:13 |
vzioss | the source points to a single file, named main.go | 03:14 |
vzioss | in the filesets there is a entry named go-server | 03:15 |
vzioss | since this exact name isn't anywhere else I assume this name doesn't matter | 03:16 |
vzioss | and then there is the line bin/golang-* | 03:16 |
vzioss | how did it went to the bin folder ? | 03:16 |
kyrofa | vzioss, the go plugin puts it there | 03:17 |
vzioss | ok, the python plugin creates a folder named build | 03:18 |
vzioss | but then, I understand that unless I created a setup.py file | 03:18 |
vzioss | the program won't be in /opt or wherever I want | 03:19 |
vzioss | is this the correct understanding ? | 03:19 |
vzioss | I mean, what matters is what ends up in the folder "stage" | 03:20 |
kyrofa | vzioss, what REALLY matters is what ends up in the "snap" folder, but you have the right idea | 03:20 |
kyrofa | vzioss, indeed, the python plugin needs you to tell it somehow what to build, where stuff should go, etc. | 03:20 |
vzioss | yeah, I didn't get to the snap step yet | 03:21 |
vzioss | ok | 03:21 |
vzioss | thanks kyrofa | 03:21 |
vzioss | It seems I need to take some time with this, but it's very doable | 03:21 |
vzioss | I really liked | 03:21 |
vzioss | I am going to sleep because I have to work in 5 hours | 03:21 |
kyrofa | vzioss, just like the make plugin, or cmake-- you need install rules in order for snapcraft to know what is important to go into the snap. You don't want it to just copy everything (object files and whatnot) | 03:21 |
kyrofa | vzioss, alright, sleep well! | 03:22 |
vzioss | bye, thanks kyrofa! | 03:23 |
kyrofa | vzioss, any time! | 03:23 |
vzioss | company is CentOs, some day I need to findout how to run this there.. hahaha | 03:23 |
=== chihchun_afk is now known as chihchun | ||
=== chihchun is now known as chihchun_afk | ||
=== chihchun_afk is now known as chihchun | ||
=== chihchun is now known as chihchun_afk | ||
jdstrand | tyhicks: fyi, https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1576287/comments/7 | 13:09 |
ubottu | Launchpad bug 1576287 in snapd (Ubuntu) "unity7 plug needs to be updated to allow menus export" [Undecided,Fix released] | 13:09 |
ysionneau | http://paste.ubuntu.com/16388460/ | 13:10 |
ysionneau | any idea what's going on? | 13:10 |
jdstrand | tyhicks: you mentioned appmenu, do you know of a failing app? | 13:11 |
jdstrand | ysionneau: this seems wrong: devpts on /dev/ptmx type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) | 13:12 |
ysionneau | ah ? | 13:12 |
jdstrand | /dev/ptmx should be a file, not a filesystem | 13:13 |
ysionneau | hmm I wonder who's doing this mount then :o | 13:13 |
jdstrand | it can either be an actual file or a symlink to /dev/pts/ptmx | 13:13 |
jdstrand | aiui | 13:13 |
ysionneau | root@localhost:/etc/apparmor.d# ls -l /dev/ptmx | 13:14 |
ysionneau | c--------- 1 root root 5, 2 Jan 1 1970 /dev/ptmx | 13:14 |
jdstrand | ysionneau: is this on a classic system? | 13:14 |
ysionneau | this is on a Snappy system | 13:14 |
jdstrand | ysionneau: what type of snappy system? | 13:15 |
ysionneau | I took the rpi2 ubuntu-core (+ initrd) and modified it to run on my board | 13:15 |
jdstrand | amd64, rpi2, ... | 13:15 |
jdstrand | I see | 13:15 |
ysionneau | it's running on Tegra X1 | 13:15 |
ysionneau | but it's basically an rpi2 ubuntu-core | 13:15 |
jdstrand | oh, you did it | 13:16 |
jdstrand | root@localhost:/etc/apparmor.d# mount -o bind,rw /dev/pts/ptmx /dev/ptmx | 13:16 |
jdstrand | no that's right | 13:16 |
jdstrand | meh | 13:16 |
ysionneau | nop actually the first line was already there before my mounting try | 13:17 |
jdstrand | ysionneau: looking at the apparmor message, it seems that on your system /dev/ptmx is a directory and not a file | 13:17 |
jdstrand | ysionneau: I suggest rebooting and confirming that | 13:17 |
ysionneau | but ls -l shows a character device :o | 13:17 |
ysionneau | ok let's try that | 13:18 |
jdstrand | ysionneau: perhaps because of the bind mount you did | 13:18 |
jdstrand | (re the ls) | 13:18 |
ysionneau | ah yes | 13:18 |
jdstrand | ysionneau: http://manpages.ubuntu.com/manpages/xenial/en/man4/ptmx.4.html | 13:19 |
jdstrand | "The file /dev/ptmx is a character file..." | 13:20 |
jdstrand | if it comes up as a directory, that is the issue | 13:20 |
ysionneau | after a reboot: http://paste.ubuntu.com/16388554/ | 13:20 |
jdstrand | that all looks fine | 13:21 |
ysionneau | I think it's just apparmor refusing the mount ... but why | 13:22 |
ysionneau | since the apparmor profile looks fine to me | 13:22 |
jdstrand | ysionneau: notice in the denial it said '/dev/ptmx/ | 13:22 |
jdstrand | that trailing '/' indicates that apparmor interpreted the mount as on /dev/ptmx/ not /ev/ptmx | 13:23 |
jdstrand | the apparmor rules allow mounting on the file, not the dire | 13:23 |
jdstrand | ctory | 13:23 |
ysionneau | aaah ok | 13:23 |
jdstrand | why it was a directory at that time, I can't say | 13:24 |
ysionneau | weird because in ubuntu-core-launcher there is no trailing / : http://bazaar.launchpad.net/~snappy-dev/ubuntu-core-launcher/trunk/view/head:/src/main.c#L341 | 13:24 |
jdstrand | ysionneau: right, that all supports what I'm saying | 13:25 |
jdstrand | ysionneau: the launcher just tries to mount on /dev/ptmx | 13:25 |
jdstrand | but *if* /dev/ptmx is a directory at the time that happens, apparmor (the kernel) will interpret that as /dev/ptmx/ | 13:26 |
ysionneau | ah ok | 13:26 |
jdstrand | and the policy doesn't allow mounting on /dev/tpmx/ (a dir), it allows mounting on /dev/ptmx (a file) | 13:26 |
ysionneau | so something might remove the /dev/ptmx file when running ubuntu-core-launcher and replace it with a directory :o | 13:27 |
ysionneau | weird | 13:27 |
jdstrand | again, why it was a directory at the time of the mount is a mystery still. I suggest keeping on eye out for this and if you can find a reproducer, file a bug | 13:27 |
morphis | jdstrand: ping | 13:28 |
jdstrand | I'm not able to reproduce it here | 13:28 |
jdstrand | morphis: hey | 13:28 |
morphis | jdstrand: hey! | 13:28 |
morphis | jdstrand: did you saw my update on the network-manager PR? | 13:28 |
jdstrand | morphis: I just came on and haven't gotten through my email yet. I see the mails | 13:29 |
morphis | jdstrand: aye | 13:29 |
morphis | jdstrand: if you have a few min I have another quick thing and would like to see if you like it or not | 13:29 |
jdstrand | fire away | 13:30 |
morphis | we thought a bit how we could do just in-snap dbus communication | 13:30 |
morphis | like we put modem-manager into the same snap than network-manager | 13:30 |
morphis | which we require a very specific interface for this | 13:30 |
morphis | so instead of crafting a eventual vendor-specific interface here I have two new dbus interfaces: dbus-name and dbus-access | 13:31 |
morphis | dbus-name is provided by the OS snap and allows a snap to acquire a dbus name | 13:31 |
morphis | dbus-access is another interface to allow dbus communication between two apps on specified object paths | 13:31 |
morphis | which then summary allows soemthing like: https://pastebin.canonical.com/156418/ | 13:32 |
morphis | dbus-access creates just one slot-side apparmor rule so far: https://paste.ubuntu.com/16388712/ | 13:33 |
ysionneau | Isn't there any other possibility than /dev/ptmx being a directory ? | 13:34 |
ysionneau | 'cause I find this highly unlikely :/ | 13:34 |
jdstrand | morphis: the fact that it slots the service1 and service2 means it would be connectable between snaps (in the current implementation). also, what if I create a snap that does path: /org/freedesktop/NetworkManager ? | 13:34 |
morphis | however this introduces one problem: anyone could try to get access to anything if not prohibited in some way | 13:34 |
jdstrand | ysionneau: there could be a bug somewhere-- but I can't reproduce. if you can, please file | 13:34 |
morphis | jdstrand: yeah, I see the same problem | 13:35 |
ysionneau | well I can reproduce it but on a hardware I am the only one to possess :p | 13:35 |
ysionneau | I would try on my rpi2 but I guess it won't reproduce | 13:35 |
morphis | jdstrand: but I don't see another way so far how we can allow dbus communication between apps of the same snap | 13:36 |
morphis | we could limit the dbus-access rule to check for label=snap.<snap-name>.* | 13:36 |
ysionneau | let's try on the rpi2 anyway | 13:36 |
jdstrand | morphis: so internal snap communications should be allowed imo, but using dbus in this manner is using a public bus to do internal communication | 13:37 |
morphis | sure | 13:37 |
jdstrand | I wonder if you used a private bus? | 13:37 |
morphis | then we loose the capability for other snaps to communicate with us | 13:38 |
jdstrand | just spitballing here | 13:38 |
morphis | or would require us to proxy between two dbus-daemons | 13:38 |
jdstrand | morphis: but you said modemmanager was only for internla? | 13:38 |
morphis | yes | 13:38 |
jdstrand | oh so you are saying nm is external and mm insternal, that is an issue. I can see that | 13:39 |
morphis | if we just leave modem-manager running against its own dbus-daemon we introduce a set of complex problems in the interface from network-manager | 13:39 |
jdstrand | if both were internal, maybe a private bus could be used | 13:39 |
morphis | yes | 13:39 |
jdstrand | morphis: I'm not sure... I think this needs zyga and niemeyer | 13:40 |
morphis | jdstrand: yeah, just wanted to get your first feeling about this | 13:40 |
jdstrand | morphis: well, I think the use case is interesting. I think there are some issues to work through | 13:41 |
morphis | jdstrand: basically I would like to escape a bit from the need to write an interface in snappy core for everything | 13:41 |
morphis | that slows things terrible down | 13:41 |
jdstrand | I can understand that | 13:41 |
jdstrand | I can say that things should go much faster once we have some experience and have worked through the corner cases | 13:42 |
jdstrand | the thing is now, everything is new and needs to be thought through a lot | 13:42 |
jdstrand | I mean, they'll all need to be thought through a lot, but in the future we will have already thought through big parts | 13:43 |
morphis | yeah! | 13:43 |
jdstrand | man, why is my irc so laggy?! | 13:43 |
morphis | freenode :-) | 13:45 |
jdstrand | seb128: hi! do you know of something that uses appmenu that I can use for bug #1581191 ? | 13:48 |
ubottu | bug 1581191 in snapd (Ubuntu) "please add AppMenu to the unity7 interface" [Medium,Triaged] https://launchpad.net/bugs/1581191 | 13:48 |
jdstrand | it seem slibreoffice does | 13:53 |
jdstrand | I'll see if I can work with that | 13:53 |
seb128 | jdstrand, check with tedg I would say, I'm unsure when/when com.canonical.AppMenu is used | 14:12 |
jdstrand | codesearch indicated libreoffice does. I'll play with that | 14:13 |
jdstrand | seb128: thanks! | 14:13 |
seb128 | yw | 14:13 |
seb128 | k | 14:13 |
=== Aria22|away is now known as Aria | ||
=== Aria is now known as Aria22 | ||
ShR3K | Is there a solution to have snappy on tablet like Nexus 7 or Aquaris M10 | 14:27 |
ShR3K | ? | 14:27 |
ysionneau | hmmm I can't get the RPI2 to boot anymore with Snappy :o | 14:32 |
ysionneau | I've just generated a brand new rpi2 image using zyga's ubuntu-image | 14:33 |
ysionneau | it says "Starting kernel ..." and nothing more | 14:33 |
jdstrand | seb128: fyi, libreoffice in at least xenial does not use AppMenu | 15:01 |
ysionneau | is the rpi2 port broken as of today? | 15:01 |
jdstrand | tedg: hey, can you give me an example application that uses AppMenu (it could even be a test program) | 15:01 |
tedg | jdstrand: I believe that GTK apps do, it's the registration mechanism. | 15:14 |
tedg | jdstrand: It'll need to have the unity-menus module loaded | 15:15 |
tedg | jdstrand: Which might not be in your snap. | 15:15 |
jdstrand | tedg: so, I've seen some things with dbusmenu and a lot of things for gmenu. global menus seem to work | 15:17 |
jdstrand | tedg: it sounds like perhaps if I add unity-menus to stage-packages in a snap I might start to see AppMenu accesses? | 15:18 |
jdstrand | would it work for say, gnome-calculator-app? | 15:18 |
jdstrand | and ftr, I can't wait for unity8 | 15:18 |
tedg | jdstrand: I believe so, it depends on the app. Let me check that one. | 15:19 |
jdstrand | these dbus apis for menus are not very mediation-friendly | 15:19 |
tedg | jdstrand: No, they were designed in a simpler time :-) | 15:19 |
jdstrand | I wonder what we are going to do when someone finds a way to attack the menu system of another app... | 15:20 |
tedg | jdstrand: It really only tracks by window ID really. So we have no good way to verify either. | 15:21 |
tedg | jdstrand: Perhaps with X11 AppArmor stuff? | 15:21 |
jdstrand | nope | 15:22 |
jdstrand | that was ruled out | 15:22 |
jdstrand | (in the sprint this week) | 15:22 |
tedg | jdstrand: Ah, makes sense, but not up to date :-) | 15:22 |
jdstrand | if anything is done for X (subject to desktop team priorities) it will be a nested X | 15:22 |
tyhicks | jdstrand: sit tight on the global menu stuff - I'm gathering info | 15:38 |
tyhicks | jdstrand: it sounds like people may be mixing up the global menu and the indicators | 15:38 |
jdstrand | tyhicks: well, I'm still going to fix the things I know are broken. eg, I have a PR for the systray bug for notifications and then preparing another one that makes libreoffice work | 15:44 |
jdstrand | tyhicks: I talked with tedg about AppMenu. See the conclusion: https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1581191/comments/1 | 15:45 |
ubottu | Launchpad bug 1581191 in snapd (Ubuntu) "please add AppMenu to the unity7 interface" [Wishlist,Won't fix] | 15:45 |
jdstrand | tyhicks: I guess that counts as 'sit tight' | 15:45 |
Trevinho | jdstrand: asf far I cheked, the appmenu interface was supported by ubuntu-qt module... | 15:46 |
jdstrand | Trevinho: do you have a snap I could try this on? | 15:47 |
jdstrand | tedg: was that one you looked at? ^ | 15:47 |
tedg | jdstrand: No, I was looking at GTK apps, I thought they still used it. | 15:47 |
tedg | Didn't think of the Qt one. | 15:47 |
Trevinho | jdstrand: mh, no.. but you can do it with any simple electron app. They are using appmenus (sadly, so I'll probabably fix it upstream), but even the electron simple binary uses it | 15:48 |
Trevinho | tedg: yeah... as for qt btw I (or someone else) will probably move the things to menumodel... most of the pieces are already there | 15:48 |
jdstrand | Trevinho: I'm unfamiliar with electron apps. is there a simply one you can point me to? | 15:49 |
jdstrand | erf, it looks like they embed chromium | 15:49 |
jdstrand | sergiusens: don't you have an electron app? | 15:49 |
kyrofa | jdstrand, yes he does! | 15:50 |
kyrofa | jdstrand, vscode and atom in progress | 15:50 |
Trevinho | jdstrand: I guess snapcrafting https://github.com/electron/electron-quick-start is just enough | 15:51 |
zyga | good morning | 16:16 |
jdstrand | so, if it uses chromium, perhaps I can play with chromium to see if it needs the accesses | 16:22 |
jdstrand | chromium works fine with my two PRs | 16:25 |
elopio | ogra_: can you please change the daily os snap builds to use the new edge PPA, instead of the image one? | 16:34 |
ogra_ | elopio, where is that ? | 16:34 |
ogra_ | (you also need to let mvo know where to upload to then) | 16:35 |
elopio | ogra_: no, I've forbidden mvo to upload here. :) | 16:37 |
elopio | ogra_: https://launchpad.net/~snappy-dev/+archive/ubuntu/edge/+packages | 16:37 |
elopio | the rc snap will be generated from -proposed. And the stable from the xenial archive. But we can talk about that in a few mins. | 16:37 |
ogra_ | yeah, lets talk | 16:38 |
ogra_ | (there are a bunch of issues since we need the PPA for development) | 16:38 |
morphis | jdstrand: my current implementation is now at https://github.com/morphis/snappy/commit/7d4a725b6fa72ee80558fbb1ab19b4340acb8640 (dbus-name) and https://github.com/morphis/snappy/commit/38d60ce083d1684b20d7394ad5f6824a298efd9d (dbus-access) | 16:58 |
morphis | jdstrand: which actively prevents the interface connections from plugs/slots which are not part of the same snap: see https://github.com/morphis/snappy/commit/0489b6f23b190d817975247d460990f67e0c4d5c#diff-79bf2731f5c1893501e7731ecbcf7059R58 | 17:01 |
morphis | zyga: ^^ you might be interested in that as well, prototyped a quick idea today to enable in-snap dbus communication | 17:01 |
morphis | not ready yet for an MP and we should discuss that next week or so a bit more in detail | 17:02 |
morphis | jdstrand, zyga: see https://git.launchpad.net/~snappy-hwe-team/snappy-hwe-snaps/+git/examples/tree/ for two snaps which are using those two things | 17:04 |
jdstrand | morphis: interesting | 17:04 |
morphis | don't count on any names/patterns or so yet | 17:04 |
jdstrand | well, it is a starting point for discussion | 17:05 |
kyrofa | jdstrand, I tested out https://github.com/ubuntu-core/snappy/pull/1165 and had a question on the PR | 17:05 |
morphis | jdstrand: yeah | 17:05 |
morphis | so, weekend time :-) | 17:05 |
jdstrand | kyrofa: hmm I didn't play with the indicator bit (I missed it) | 17:06 |
jdstrand | kyrofa: let me look at that | 17:06 |
kyrofa | jdstrand, excellent, thank you! | 17:06 |
jdstrand | ok yes I can confirm | 17:07 |
kyrofa | jdstrand, ping me if/when you add something there and I can retest | 17:11 |
zyga | morphis: interesting, let me see | 17:16 |
zyga | morphis: that's really cool | 17:21 |
zyga | morphis: I think we should explore the attribute matching on slots and plugs | 17:21 |
zyga | morphis: so you'd have a slot 'bus-name' with an attribute 'com.example.App' | 17:22 |
zyga | morphis: and a slot with something similar | 17:22 |
zyga | s/slot/plug/ | 17:22 |
zyga | morphis: and only allow the connection to form when those match | 17:22 |
zyga | morphis: we need to get a callback for connection attempt | 17:22 |
zyga | morphis: by default it should just check the interface name on both ends | 17:23 |
jdstrand | zyga: one thing I'm concerned about is squatting a well-known name | 17:23 |
zyga | morphis: but this would need it to match attributes too | 17:23 |
zyga | jdstrand: that's a review process | 17:23 |
zyga | jdstrand: we'll let people do squatting in private | 17:23 |
zyga | jdstrand: then nail it in review | 17:23 |
zyga | jdstrand: (stateful review matters) | 17:23 |
zyga | brb | 17:23 |
jdstrand | zyga: I think we should discuss this with niemeyer next week | 17:24 |
jdstrand | zyga: (since morphis is eow) | 17:24 |
jdstrand | kyrofa: ok, pushed | 17:24 |
kyrofa | jdstrand, sweet, testing now | 17:25 |
jdstrand | kyrofa: https://github.com/ubuntu-core/snappy/pull/1165/commits/de024b32878e82d8b28e695a83641f2883d3f1f0 | 17:25 |
kyrofa | jdstrand, perfect | 17:28 |
kyrofa | Works great | 17:28 |
zyga | jdstrand: that's a plan | 17:29 |
zyga | jdstrand: note that we anticipated some of this with the $syntax | 17:29 |
zyga | jdstrand: where an attribute starting with the dollar sign was reserved | 17:29 |
jdstrand | kyrofa: \o/ | 17:29 |
jdstrand | zyga: interesting | 17:29 |
morphis | jdstrand: mostly eow | 18:11 |
morphis | zyga: thanks for a having a first look | 18:11 |
zyga | morphis: I'll have to talk to gustavo about the implication of getting the generic IPC interfaces in place | 18:11 |
morphis | zyga: thanks | 18:12 |
zyga | morphis: and we should open a pull request only after this is done | 18:12 |
morphis | zyga: the background for this is basically: | 18:12 |
zyga | morphis: one more thing, I think the connection "sanitization" method is needed in the interface | 18:12 |
zyga | morphis: so that we can reject right there without a hook | 18:12 |
zyga | morphis: and so that it is a natural place to enable hooks later | 18:12 |
morphis | we thought this morning about: what if we do a snap which privides modem-manager and network-manager but we only want it for a specific vendor and only want to provide an external interface for network-manager | 18:12 |
morphis | putting those bits into a network-manager interface doesn't sound right | 18:13 |
zyga | morphis: hmm, maybe | 18:13 |
morphis | and we should have a way to allow in-snap IPC communication | 18:13 |
zyga | morphis: yes, I agree about the 2nd part for sure | 18:13 |
zyga | morphis: still need to think about 1st | 18:13 |
sergiusens | jdstrand I have a vscode one to share with you if you want, give me a sec to upload to the store. Can you see unpublished snaps? | 18:14 |
morphis | zyga: for me it does, as we're cluttering a generic network-manager interface then with implementation specifics | 18:14 |
zyga | morphis: I need to think if n-m + mm is a special case | 18:14 |
morphis | zyga: sure, I am still playing with this, will folow up with you guys next week | 18:14 |
morphis | have to leave now! | 18:14 |
morphis | bye | 18:14 |
zyga | morphis: +1 | 18:14 |
sergiusens | elopio mind testin 2.8.8b when it comes into proposed? | 18:19 |
elopio | sergiusens: no problem. | 18:20 |
sergiusens | jdstrand putting the snap somewhere you can get, expect to look at PMs | 18:26 |
jdstrand | sergiusens: ack | 18:43 |
Trevinho | jdstrand: a basic electron app could be just https://code.launchpad.net/~3v1n0/+junk/electron-quick-start-snap | 19:07 |
Trevinho | jdstrand: however, I don't see the menus exported there, but it might be cause of many reasons (electron might think that is not running in unity, or missing some gtk stuff - although adding it didn't change much) | 19:08 |
jdstrand | ok. I'll take a look. tedg said maybe some library just needs to be present | 19:10 |
=== Aria22 is now known as Aria22|away | ||
Trevinho | jdstrand: yeah, in the past they were doing a check of the presency of libunity I think | 20:01 |
Trevinho | jdstrand: oh, it was just about including libdbusmenu-glib4 as stage package... http://i.imgur.com/RH6Jhgd.png | 20:17 |
jdstrand | nice! | 20:18 |
jdstrand | I'll take a look in a few minutes | 20:18 |
Trevinho | jdstrand: ah, I didn't check the unit7 rules, are the libunity apis already available for users (the ones that add badges and progress bars to the launcher)? | 20:18 |
jdstrand | Trevinho: some are, I'm sure there are some missing (I lacked an example) | 20:19 |
Trevinho | jdstrand: mh, hello-unity should be snappified in the examples, it's a good way to test things | 20:23 |
Trevinho | jdstrand: I mean this one http://bazaar.launchpad.net/~snappers/snappy-playpen/trunk/files/head:/hello-unity/ | 20:24 |
jdstrand | Trevinho: ok. I think I tried that before, but it was weeks ago | 20:25 |
* jdstrand tries again | 20:25 | |
jdstrand | Trevinho: did you commit your libdbusmenu-glib4 change to the junk branch? | 20:26 |
Trevinho | jdstrand: the wrapper has i386 arch, so I guess you want to change that | 20:26 |
jdstrand | oh maybe that is all it was | 20:26 |
Trevinho | jdstrand: speaking of which... do we plan to ship better "default" scripts for such cases? | 20:26 |
jdstrand | Trevinho: I think that is a sergiusens question | 20:27 |
Trevinho | and to to use the arch for the builder... | 20:27 |
Trevinho | jdstrand: ah, yeah... | 20:27 |
Trevinho | Also, it would be nice to be able to generate .cache files (such as the mime type or the libgdk pixbuf plugin liest....) from the files installed locally.. So chrooting where the fiels have been eextracted and running thr proper tools at build time | 20:27 |
Trevinho | same for compiling gsettings schemas... | 20:28 |
jdstrand | yeah, I think the desktop team maybe was looking into that | 20:28 |
jdstrand | I know I faced it and so did they | 20:28 |
Trevinho | I mean, a plugin that alows to run stuff on the staging dir | 20:28 |
jdstrand | sergiusens: ^ | 20:28 |
* Trevinho is part of that team too (although, looking at this out of my work scope right now) :) | 20:29 | |
Trevinho | So, what I'd like to know, sergiusens, is what would be the best way to do this with the current architecture... | 20:30 |
jdstrand | Trevinho: fyi, http://paste.ubuntu.com/16397996/ | 20:34 |
jdstrand | Trevinho: that is what I recall seeing now that I think of it | 20:34 |
=== Aria22|away is now known as Aria | ||
jdstrand | tedg: fyi, I can't seem to find anything related to 'unity-menus'. I'm going to try unity-gtk3-module | 20:45 |
Trevinho | jdstrand: what you need? | 20:45 |
tedg | jdstrand: Yes, that sounds right. | 20:45 |
Trevinho | jdstrand: the unity-gtk3-module is only used for gtk3 apps that export menus though libgmenumodel | 20:46 |
jdstrand | Trevinho: just mentioning that hello-unity doesn't work cause of that traceback. I know you're off so just fyi | 20:46 |
Trevinho | jdstrand: yeah, I've seen it... i was looking if I can find a solution | 20:46 |
jdstrand | oh you were asking about the unity thing | 20:46 |
jdstrand | the menu thing | 20:46 |
jdstrand | Trevinho: all you did for electron-quick-start was add libdbusmenu-glib4 to stage-packages? | 20:47 |
sergiusens | Trevinho ok, so you should be able to modify the staging dir, only consume from it | 20:48 |
Trevinho | jdstrand: yep | 20:48 |
sergiusens | Trevinho if you recompile this code patched that has fixed path expectations won't it be better? | 20:48 |
Trevinho | sergiusens: the problem is with file that are normally generated at post-install time... it's not about paths, since these are fixable even without recompiling | 20:49 |
* sergiusens really thinks that stage-packages are broken until people start making those stage-packages work wih PIC | 20:49 | |
Trevinho | sergiusens: things like gsettings schema | 20:49 |
Trevinho | we'd need something that, once the staging dir is full of the things, we go into that in a mode like chroot, and we generate the files we should... Like mime cache, pixbuf helpers chace, compiled gsettings schema | 20:50 |
sergiusens | Trevinho does gsettings schema work with relative paths? Can it use envvars? Those are the things that would need fixing | 20:51 |
Trevinho | sergiusens: you can generate it wherever you want... All you need is call glib-compile-schemas /path/where/they/are | 20:51 |
Trevinho | sergiusens: but we need to do this just before the snap is going to be packaged | 20:52 |
Trevinho | in its context | 20:52 |
ogra_ | why not from a startup wrapper (where you have the actual paths available) ? | 20:53 |
Trevinho | ogra_: since it's ro? | 20:53 |
ogra_ | a snap has rw areas | 20:53 |
ogra_ | at runtime | 20:53 |
Trevinho | well, sure... for something we could use it.. | 20:53 |
Trevinho | so it's just about defining a XDG_DATA_DIR (for the glib-2 case), or an env pointing to that writable space | 20:54 |
Trevinho | but.. Since in general these paths can be modified with env variables, it would be also nice to build the most we can at snappification tiem | 20:55 |
Trevinho | time* | 20:55 |
ogra_ | hmm, i think XDG_DATA_DIR is even being set by the ubuntu-app-launch bit | 20:55 |
Trevinho | we can redefine it.. it's a :-separated list | 20:55 |
Trevinho | and we already redefine it | 20:55 |
ogra_ | i dont think u-a-l will allow re-defining | 20:56 |
ogra_ | (though i'm not sure if it is less strict in the desktop/classic context) | 20:56 |
Trevinho | in the desktop snaps we've done so far we always redefine it... | 20:56 |
ogra_ | but inside the snap ... not outside of it | 20:56 |
ogra_ | i.e. if i set XDG_DATA_DIR=~/.foo ... that wont be handed to the app | 20:57 |
ogra_ | only if it is done inside the snap via a wrapper or some such | 20:57 |
Trevinho | yes, sure... | 20:58 |
jdstrand | Trevinho: fyi, I need to move on to something else, but fyi, running electron-quick-start doesn't display anything. the command just hangs. I'll circle back next week perhaps | 20:58 |
Trevinho | jdstrand: well.. it works fine here... but maybe because i'm running it in --devmode? | 20:59 |
Trevinho | installing* | 20:59 |
jdstrand | I didn't see any denials | 20:59 |
jdstrand | I guess I can try with that | 20:59 |
Trevinho | Ah, yeah...it doesn't run in non-devmode | 20:59 |
Trevinho | I need to check what's going on | 20:59 |
Trevinho | it was my next step :) | 21:00 |
jdstrand | I see. I can confirm it does work in devmode | 21:00 |
jdstrand | weird that there were no denials | 21:00 |
* jdstrand disables rate limiting | 21:01 | |
Trevinho | jdstrand: what shouuld I check to see what's wrong? I was thinking about strace, but... anything else? | 21:01 |
jdstrand | that is what I would start with | 21:01 |
jdstrand | well, after looking in syslog for denials | 21:01 |
jdstrand | (they're aren't any atm) | 21:02 |
jdstrand | it might be an explicit denial | 21:02 |
jdstrand | doesn't seem to be that | 21:03 |
jdstrand | sergiusens: erf, vscode is using gconf? | 21:04 |
jdstrand | this is going to be a lot to go through. I think I will do that next week :) | 21:04 |
sergiusens | jdstrand it uses a bunch of G stuff, yeAH | 21:39 |
Trevinho | jdstrand: you can test the launcher apis with https://code.launchpad.net/~3v1n0/+junk/unity-launcher-api-snap | 22:10 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!