/srv/irclogs.ubuntu.com/2016/08/22/#snappy.txt

=== JanC is now known as Guest98943
=== JanC_ is now known as JanC
=== chihchun_afk is now known as chihchun
frodowiz1new here.. gotta sleep at midnight.. anyone understand how to set a tcl library path inside a snap?  if it is by using export, i am working on that. probably need to launch a script to export  the path then run tclsh. am i anywhere  near right?04:07
pittisabdfl: there's plenty of interfaces; journald logs syslog, dmesg, services's stdout/err, so any of those; a direct interface is logger --journald (if you need to fine-tune the property fields), or the C library API; http://0pointer.de/blog/projects/journal-submit.html describes those04:48
=== ant_ is now known as Guest67209
mupPR snapd#1713 closed: tests: start teaching the fakestore about assertions <Created by pedronis> <Merged by pedronis> <https://github.com/snapcore/snapd/pull/1713>08:33
zygagood morning09:23
zygamhall119: hello09:24
zygamhall119: I heard you ran into an issue with the content interface on Firday09:24
zygamhall119: could you please report the issue if you didn't already09:25
zygamhall119: I talked to mvo and I believe I know what this issue is about, I will fix it no09:25
zyganow*09:25
JamieBennettzyga, there is a bug already I believe09:34
morphis_ogra: could you put the firmware for pi3 wifi already into the kernel snap?09:36
zygaJamieBennett: do you have a link for that09:38
JamieBennetthttps://bugs.launchpad.net/bugs/161511309:40
mupBug #1615113: snap-confine prevented from mounting base directory through the "content" interface <Snappy Launcher:New> <https://launchpad.net/bugs/1615113>09:40
JamieBennettzyga, ^09:40
mupPR snapcraft#747 opened: kernel plugin: vmlinuz -> kernel.img hard link <Created by piso77> <https://github.com/snapcore/snapcraft/pull/747>09:41
zygaJamieBennett: thanks, the bug is fixed now09:47
ogramvo, mind merging my classic-snap PR ? (then i can move the snap to the beta channel)09:47
zygahey ogra, how are you :)09:48
JamieBennettzyga, great, and great investigation work from mhall11909:48
ograzyga, a bit worn out (busy weekend) but fine beyond that :)09:48
=== tvoss is now known as tvoss|lunch
morphis_<morphis_> ogra: could you put the firmware for pi3 wifi already into the kernel snap?09:53
mupBug #1615566 opened: snapcraft SDK <Snappy:New> <https://launchpad.net/bugs/1615566>09:53
ograChipaca, so when my system does a secret auto update over night then "snap list" shows the newly installed ubuntu-core despite me not having rebooted yet (so that version isnt in use at all yet) ... isnt that a bug ?09:54
ogramorphis_, well, we need it to go to the archive09:54
morphis_ogra: sure, but what is the state of that work?09:55
ograi'll try o get it added to the package via the PPA, but it needs to go in ASAP09:55
morphis_aye09:55
ogramorphis_, no idea, ppisati_ are you working on getting the Pi3 FW into xenial  ?09:55
=== hikiko is now known as hikiko|ln
=== vrruiz_ is now known as rvr
ogramvo, can you approve https://myapps.developer.ubuntu.com/dev/click-apps/5573/rev/6/ ? that should amke morphis_ happy10:45
morphis_ogra: yeah!!10:45
ogra*make10:45
ogra(i hope at least )10:46
mupPR snapd#1709 closed: many: teach prepare-image to copy the model assertion (and prereqs) into the seed area of the image <Created by pedronis> <Merged by pedronis> <https://github.com/snapcore/snapd/pull/1709>10:48
mvoogra: done10:55
ograthx !10:55
mvoogra: you need to publish it still though10:55
ogramorphis_, tell me if it works for you, then i'll push it to the beta channel too10:55
ogramvo, yeah10:55
morphis_ogra: will do10:56
morphis_matteo: ^^10:56
matteook10:56
matteoby publish you mean in the snap store?10:57
ogramvo, FYI, i dropped the "raspi2" from the pi2-kernel version string ... (was inconsistent vs the other kernels)10:57
ogramatteo, yes, it is n the edge channel now10:57
morphis_matteo: yes, in the edge channel10:57
=== tvoss|lunch is now known as tvoss
ogramatteo, if you have a running image on the pi3, just "sudo snap refesh pi2-kernel --edge" and reboot ... then check /proc/net/dev if you have a wlan interface10:58
matteook10:58
=== hikiko|ln is now known as hikiko
ogra(i'll have to do another rebuild though, forgot to ship the license file for the FW)10:59
matteois the firmware like the DHD one?10:59
ograit is from ppisati_'s package11:00
ograraspberrypi-wireless-firmware  from https://launchpad.net/~p-pisati/+archive/ubuntu/embedded11:00
matteook11:01
zygamatteo: o/11:08
matteohi11:08
ograubuntu@pi2:~$ ifconfig | grep "^[a-z].*Ethernet"11:10
ograenxb827eb04db1c Link encap:Ethernet  HWaddr b8:27:eb:04:db:1c11:10
ogragotta love the new NIC naming ...11:10
morphis_ogra: doesn't work here11:16
ograhmm, any errors in dmesg/syslog/journald ?11:16
morphis_pi2-kernel 4.4.0-1019-2 is what I have11:16
ograyeah, thats the right oone11:16
morphis_I am seeing brcmfmac loaded11:16
ogradid it load before ?11:17
morphis_ogra: https://paste.ubuntu.com/23078108/11:17
morphis_no11:17
morphis_[   18.743469] brcmfmac_sdio mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.bin failed with error -211:17
ograbrcmfmac_sdio mmc1:0001:1: Direct firmware load for brcm/brcmfmac43430-sdio.bin failed with error -211:17
ograheh11:17
ogra*snap*11:17
morphis_hm11:17
morphis_ /lib/firmware/brcm80211/brcm/brcmfmac43430-sdio.bin is present11:18
ograyes, i guess wrong dir11:18
ograshoudl go to /lib/firmware/brcm i guess11:19
morphis_ogra: yeah, looks so11:19
ograbah, that needs some hackery :(11:19
jgdxwhen snapping a .deb, what's the best strategy when it comes to hard coded cmake variables passed as -D to a target?11:21
jgdxogra, maybe you know? ^11:22
jgdxlooks like you can do it at runtime using getenv, or somehow at build time. Or maybe via some magic in snapcraft.yml11:24
ograjgdx, well, i usuallly snap binaries when snapping debs :)11:26
ograjgdx, that said ... i have one package that uses the make plugin https://github.com/ogra1/packageproxy11:26
ogra(thats approx, built from latest git)11:27
jgdxogra, please excuse my lack of proper terminology :p11:27
ograbut usually i just download the deb and run dpkg -x . and then use the copy (now dump) plugin to copy the binaries around11:28
ograhttps://github.com/ogra1/laidout is one where i re-use upstreams .deb11:29
jgdxogra, actually, the binary I snapped works fine, but the binary tries to read from a absolute path based on CMAKE_BINARY_DIR, which doesn't exist.11:29
ograah, thats bad11:30
ograif it douesnt provide a way to overrdie that at runtime i fear you have to patch ...11:30
* ogra would make it use getenv() and add an env var from a wrapper script 11:31
jgdxogra, right, and then the best way would be a configflags: -DSNAPPY=1?11:31
ograhmm, no idea11:31
ograthats a kyrofa or sergiusens question ... (or one for the snappy-playpen on gittter)11:32
jgdxogra, okay, thanks11:32
sergiusensogra jgdx I think that is an upstream call ;-) RUNTIME_RELOCATION?11:34
sergiusensor even just check for the existence of env vars and use those if defined11:35
jgdxsergiusens, I forgot to mention we're the upstream /cc ogra  :)11:35
ograhah11:35
ograwell, just get the path from an env var then11:35
ogra(as override option)11:35
jgdxokay then :) Thanks sergiusens, og11:35
morphis_ogra: are you pushing a fixed kernel snap to the store?11:46
* zyga released snap-confine 1.0.40 just now11:55
tvosszyga, o/12:15
ogramorphis_, already there but mvo needs to approve it again (https://myapps.developer.ubuntu.com/dev/click-apps/5573/rev/7/)12:20
morphis_ogra: aye!12:20
mvoogra: done12:23
ogramvo, whom do i have to poke to get approval righty myself ... i really dont want to drag you away from your work all the time12:24
ogra*rights12:24
jgdxsergiusens, any way to quickly do a make build, then have those newly built files into prime?12:26
morphis_ogra, mvo: hm, a snap refresh --edge pi2-kernel does give me any updates12:27
morphis_ah!12:28
ograit does here12:28
morphis_that took a bit to go through12:28
ograyeah, thats my fault ... forgot to press the publish button immediately12:28
morphis_:-)12:33
morphis_ogra: ah, there we go, a wlan0 is present now12:34
ograyay12:34
morphis_matteo: ^^12:35
bullhi everyone :)12:45
bullwhy our snap cant read files inside it :D12:46
ograwhere is "it" in that question ? :)12:48
bullogra, why my snap cant read $SNAP/etc/xdg/Trolltech.conf12:55
bullogra,  am writing gui for snapcraft plz join and guide me where am wrong :P12:56
ograbull, what makes you think it cant read the file, do you have any DENIED messages in syslog ?12:56
bullyes12:56
ogracan you put them into paste.ubuntu.com ?12:57
bullogra,  that is the same issue i faced yesterday . i was packaging supercalc and it says DENIED12:58
bullit should able to read $SNAP/etc/xdg/Trolltech.conf , i checked the xdg vars not set or hardcoded in my qt app12:58
ograwasnt that trying to read another file ?12:59
ogra(i.e. without $SNAP)12:59
bulli copied that file to other location inside $SNAP and it saying denied again12:59
bullyou mean outside $SNAP ?12:59
ograand you fixed your binaty to actually read the file or accept the XDG location ?13:00
ogra*binary13:00
ograthis isnt really a snap problem ...13:00
bullbro why developer will mess with xdg path to pack their apps with snap13:00
ograif your app does not respect the XDG_CONFIG_DIRS variable then there is a bug in your app (or in whatever loads the file)13:00
bulli mean they will excepting everything okay , cause this is unusual no packaging systems messs with what app looking for ?13:01
ograthese variables have been designed in the freedesktop standard to exactly allow re-location of binaries13:01
ograso that you can run two versions of the same app alongside from different paths for example13:01
ograif the app doesnt follow that standard you might need to fix it13:02
=== nessita_ is now known as nessita
bullogra, my app works fine on ubuntu 12.04 to 16.0413:02
* ogra wonders why there are so many QT apps that do not have such probs13:02
bullwith debian packaging13:02
ogra(we obviously have a good bunch in the store)13:02
bullqt4?13:03
ograyes, debian packaging has full root access to the whole system ...13:03
ogra(and the according security issues too)13:03
bullogra it is clear that my app want read $SNAP/etc/xdg/Trolltech.conf13:03
jdstrandsabdfl: hi! re 1615262> yes, I'll take care of it13:03
bullso my question -  why snap cant read its ownstructure13:03
ograbull, i dont understand13:04
ogracan you show the exact DENIED messages please13:04
bull why snap cant read its own structure  ( $SNAP/etc/xdg/Trolltech.conf )13:04
bullwait13:04
ogra(since you start giving contradicting info)13:05
bullhttp://paste.ubuntu.com/23078316/13:06
bullits not snappy-debug13:06
bullit comes out directly when i run app13:06
ograthats not a DENIED message13:06
ograand doesnt talk about Trolltech.conf at all !13:06
bullokay wait13:06
bulllet me debug13:06
bullogra, /snap/supercalc/x2/usr/bin/wrapper: /snap/supercalc/x2/trollconf: Permission denied13:08
mupPR snapcraft#747 closed: kernel plugin: vmlinuz -> kernel.img hard link <Created by piso77> <Closed by piso77> <https://github.com/snapcore/snapcraft/pull/747>13:08
ysionneauHi, webdm does not work anymore on my target, some xmlhttprequest answers a 500 error code when querying /api/v2/packages/?installed_only=true13:08
ysionneauany idea?13:08
ysionneauI only see a rotating Ubuntu logo13:08
ograbull, please giv the DENIED messages from syslog ...13:08
bullit not logging anything13:09
ograbull, when you try to run the app after you installed the snap13:09
bullsudo /snap/bin/snappy-debug.security scanlog | grep supercalc13:09
ysionneauno error in the journalctl -u snap.webdm.snappyd.service13:09
ograysionneau, there is a bug in the systemd unit, it doesnt wait for networking13:10
jdstrandbull: fyi, you probably simply want: sudo /snap/bin/snappy-debug.security scanlog supercalc13:10
ysionneauogra: hmmm but I can browse the page though :o13:10
ograysionneau, oh, and it isnt called webdm anymore ;) it is snapweb now13:10
bullysionneau, okay13:10
ysionneauogra: well, when I do "snap find webdm" it finds it13:10
ograoh, we need to unpublish it i guess13:10
ysionneau(and snap find snapweb does not find anything :o am I outdated somehow ?)13:10
bullogra, i got it13:11
ysionneauI have ubuntu-core 16.04+20160531.12-0113:11
bullogra, http://paste.ubuntu.com/23078334/13:11
mupPR snapcraft#748 opened: kernel plugin: vmlinuz -> kernel.img hard link <Created by piso77> <https://github.com/snapcore/snapcraft/pull/748>13:11
ograubuntu@pi2:~$ snap list snapweb13:11
ograName     Version  Rev  Developer  Notes13:11
ograsnapweb  0.20     4    canonical  -13:11
ograubuntu@pi2:~$13:11
ograhmm, weird13:11
ograsnap find does indeed not find it13:12
ysionneaumy version of webdm is 0.20 also :o13:12
zygajdstrand: hey, how are you doing13:12
ograysionneau, thats super ancient13:12
zygajdstrand: I would like to implement the setns feature13:12
ysionneauI just unsquashfs'ed it and resquashed' it, to fix the wrapper script to run the correct binary13:12
zygajdstrand: I would appreciate any hints you have, I didn't fully read the converstation around that but I talked with stgraber at the sprint about it so I have an idea13:12
ograysionneau, is this on an all-snap image or oon classic ?13:13
ysionneauogra: hmmm weird, that's on 16 series13:13
ysionneauhttp://pastebin.com/MXQXxchN <= I'm using this to generate my image13:13
ograbull, so like i said, your app is broken, fix it to folow general standars for XDG dirs and it will work13:13
ograthere is no way around that13:13
bulldaem13:14
bullogra,  should it work normal with debian install ??13:14
ograysionneau, sudo snap install ubuntu-device-flash --devmode --edge13:14
bulli tested it on  more then 5 PC13:14
bullof my friends and mine13:14
ograbull, yes, because debian packages are not running in a sandbox and have full insecure root access13:14
ograysionneau, see mvo's mail to the mailing list about new images and how to build them, we now publish updates for u-d-f via a snap package13:15
jdstrandzyga: are you talking about for the shared mount namespace per snap bug?13:15
ysionneauah nice ogra13:15
ysionneaudo you think it's because of my old udf ? :o13:15
mupBug #1595993 changed: go binaries use bind on startup, requiring network-bind <snapd-interface> <Snappy:Fix Released> <https://launchpad.net/bugs/1595993>13:16
ograysionneau, well, mainly because of your old ubuntu-core13:16
bullogra,  why you guys don't want app to read data ??13:16
ograbut i dont think you can build any working images with the old udf13:16
ysionneaumy old udf does not fetch a recent ubuntu-core ? :(13:16
ysionneauhmmm my image kinda work though13:16
ysionneaumaybe everything is in the "kinda"13:16
ograbull, there are plenty apps in the store that read data from various places13:16
ograbull, they simply follow established standards13:16
ograyours does not seem to13:17
ograysionneau, definitely :)13:17
ysionneauerror: unknown flag `edge' <=13:17
ysionneau(I'm on debian testing)13:17
bullits not like that , it simply cant read /snap/supercalc/x1/trollconf13:17
ograysionneau, is your snapd up to date ?13:17
ysionneauI just installed it13:17
ograogra@anubis:~$ snap --version13:17
ograsnap    2.12+ppa203-113:17
ograsnapd   2.12+ppa203-113:17
ograseries  1613:17
ograubuntu  16.0413:17
ysionneauGet:5 http://debian.univ-lorraine.fr/debian unstable/main amd64 snapd amd64 2.0.8+1 [4,352 kB]13:17
ograi think you need at least 2.1113:17
ysionneauyann@imperium:~/dev/workspace2$ snap --version13:18
ysionneausnap13:18
ysionneausnapd unknown (series 16)13:18
ograoh13:18
bullogra ty13:18
ograbull, that is not what the DENIED message says13:18
ograit does not try to reat /snap/supercalc/x1/trollconf there13:18
ograso what makes you think it cant ?13:18
bullthen?13:18
bullogra,  okay i will dig it ,13:19
bullogra,  my app can read anything inside $SNAP right >?13:19
ograbull, yes13:19
ysionneaueven in debian unstable it seems to be snapd 2.0.8+1 :/13:19
bulli have few more question - i have an app which writes data to user's home directory , do snap allow that ?13:20
ograand it can write to $SNAP_DATA (for daemons/services) and to SNAP_USER_DATA (for user apps)13:20
ograbull, you can either write to SNAP_USER_DATA or you can use the home interface in your snapcraft.yaml13:20
bulloh $SNAP_DATA  ?13:21
ogranote that this does not allow access to "dot" dirs unside home13:21
bull:)13:21
ogra*inside13:21
zygajdstrand: yes13:21
bulldamn13:21
bullwhat :D13:21
ograsince that would be a security hole13:21
ogra(apps could spy on other apps etc)13:21
bullqt writes app data inside .local/data/yourapp.com/13:21
bullthat mean snap will break qt ??13:22
ograso set the right XDG variable to make it write to SNAP__USER_DATA instead13:22
ograagain, there are tons of Qt apps in the store that work fine13:22
jdstrandzyga: I think it would be helpful to read through that bug before we talk about it. I can say, at the highest level you simply give setns the pid and CLONE_NEWNS for the mount you want to go into13:23
bullthis is not easy for everyone , so why don't you guys make set these paths since you know snap will write data there only13:23
bullogra,  there should be better documentation in site13:23
ograthe desktop-launcher sets these paths usually13:23
jdstrandzyga: so, 'just' need enter the mount namespace of another command if it is running, otherwise create a new one13:24
ograbut if your app does not respect the XDG variables you have to fiix the app13:24
bullwhat snap allow and what not !! where user have to fix their apps and everything13:24
bullokay thanks13:24
ograbull, btw, the guys that do app packaging are in https://gitter.im/ubuntu/snappy-playpen ... perhaps they have some ideas13:24
zygajdstrand: yes, this is obviously a race, I wanted to think about how to solve this13:24
jdstrandzyga: 'just' is the hard part. I can think of a robust implementation using security labels. I don't yet for cross-distro13:24
ograbull, i told you what snap allows and obviously other packagers do not have big problems with that13:25
zygajdstrand: I was thinking that snap-confi e could fork a per-$SNAP_NAME process that just hangs around forever13:25
zygajdstrand: that sets up a separate mount  namespace13:25
bullogra, what you think of making snapcraft gui ?? will it be a task that can be attained or what ?13:25
zygajdstrand: but doensn't hold any files open and chdirs to /13:25
zygajdstrand: with the sole goal of being easy to find13:25
zygajdstrand: I could use prctl to tweak the process name so that I can find it13:25
zygajdstrand: and I could use /proc/$pid/exe to find the executable as a confirmation check13:26
jdstranddon't do that13:26
jdstrandnot the prctl part anyway13:26
ograbull, well, why not ... (not that i'd use it ... after all you have to manually edit files, create wrappers etc so in the end you use an editor anyway)13:26
jdstrandsince applications can change their command name13:26
bulli mean it will make easy pack snaps and we can help users showing more info , scanlog etc13:26
zygajdstrand: snap-confine --zygote $SNAP_NAME would not run any apps13:26
zygajdstrand: it would just sleep forever having unshared the mount namespace13:27
bullogra,  we will having simple buttons to create files , check errors in yaml file13:27
bull:D13:27
zygajdstrand: each snap-confine that actually wnats to start an app would wait for the zygote or launch one13:27
ograbull, sure, i wont hold you back ...13:27
zygajdstrand: (with the usual trickiness on how to make this race-free and reliable)13:28
ograbut for me packaging is mostly a commandline task anyway ... and all the tools i need there are existing already13:28
bulli initiated a github repo plz keep me updated with features and stuffs we can add to it13:28
jdstrandzyga: the security label approach was-- fork, note its PID, create a sumlink from /var/lib/snapd/mountpids/snap.hello-world -> /proc/<pid>/ns (or whatever). then enter that namespace, then verify the security label of that process, if different, die()13:28
ograso you shoudl try to find someone who wants to use such a tool and have him/her give you feedback13:28
jdstrandzyga: you could do your technique with the symlink approach13:28
ograhttps://gitter.im/ubuntu/snappy-playpen is probably the best place for this13:28
bullogra, you are in deep bro , you know everything so its easy for you , i seen people and myself find it hard to figure things out :D13:29
ograyes, thats why i'm saying i'm the wrong target audience13:29
ograi know that bzoltan's team aslo wroks on integration snapcraft into the ubuntu SDK13:29
jdstrandzyga: but don't have --zygote13:29
ograprobably you can help there or give them your tool for integration ot for ideas at least13:30
ogra*integration of13:30
bullall i want from you to guide me like you doing here , if i go wrong with the concept anywhere in the gui version of snapcraft , i need you to guide me13:30
bulli will be asking few more people relating to project for sure13:31
ograno, you dont13:31
bull:D13:31
ograthere are 282 people in this channel, do you think i'm the only one with knowledge ?13:31
jdstrandzyga: ie, run the app, fork this process that will hang around, note its pid, create the symlink, go into it. on the next app launch the symlink exists, so go into it. on systems with a security label, also verify it13:31
bullno, i mean you are one of them , chill13:31
zygajdstrand: mmmm13:31
ograbull, also, the packaging specialists are realy at https://gitter.im/ubuntu/snappy-playpen ... as i said a few times already13:32
zygajdstrand: and the forked one should just sit around forever?13:32
bullzyga, ty13:32
jdstrandzyga: with this idea, yes13:32
zygajdstrand: I'll finish my current call and wrap my head around this and get back to you, thank you for the idea13:32
jdstrandzyga: note, niemeyer specifically requested reviewing the design, and I know tyhicks (and maybe ratliff) would as well as me13:33
mhall119zyga: quick work there, thanks :)13:33
bullmhall119, hi :)13:33
mhall119hi bull13:33
zygamhall119: my pleasure, I'm sorry I didn't finish the article on content sharing13:34
bulli snapped supercalc but it running only with devmode for now there is a bug in my app which wont allow it to run , http://paste.ubuntu.com/23078334/13:35
bullmhall119,  https://github.com/keshavbhatt/supercalc13:35
ograbull, soo ... if you fix the broken line in your wrapper the error will go away ...13:36
bullogra, and whats that >??13:36
ogra(you could have poinnted me to that before ... )13:37
ograshell vearibles do not allow spaces ... fix your line 313:37
bullpopey, already checked that13:37
bullogra, wait13:37
bullogra,  you mean this-  XDG_CONFIG_DIRS= $SNAP/trollconf   to ---- XDG_CONFIG_DIRS=$SNAP/trollconf13:38
bull?13:38
ograyes13:38
bulldaem13:38
ogra(not sure if that will help when your app doesnt respect the freedesktop standards though ... but it will fix your error)13:38
bullokay :D let me check13:39
ysionneauhmm doesn't seem it works nicely to run snapd and stuff in docker13:39
ograi think there is a bug open for that13:40
bullanyone interested in packing a awesome qml music player https://github.com/keshavbhatt/kmusicplay13:40
bullogra, will the changes will added to stage area automatically when i will run snapcraft after making chnages to wrapper script ?13:41
ograno. you need to clean13:41
ogra(at least the stage and prime steps i think)13:41
bullthis is not good feature snapcraft offering :D13:41
bullcleaning stage will download dependencies again right ??13:42
ograno. thats pull13:43
bullokay ty13:43
ogra(as described in detail in "snapcraft --help" )13:45
bullty13:45
mupPR snapd#1686 closed: boot: add support for "devmode: {true,false}" in seed.yaml <Created by mvo5> <Merged by niemeyer> <https://github.com/snapcore/snapd/pull/1686>13:53
mhall119well, now I've submitted fixes to snapcraft and snap-confine, I guess snapd is next13:55
mhall119zyga: are you still going to do a blog post?13:56
ysionneauogra: on Ubuntu Xenial, I can install webdm but not snapweb is found (on amd64), normal?13:57
ysionneauno*13:57
bullogra,  am not compiling my app from source using snapcraft , am just copying the binary using snapcraft , so do you think compiling with snapcraft qmake plugin will make the difference ??13:57
zygamhall119: yes, just swamped with more important things now14:03
ograysionneau, yeah, try "sudo snap install snapweb --edge"14:19
ogra(it seems to only be in the edge channel)14:20
ograbull, no idea, most of the time you dont need to change the apps ...14:21
ograbut yours seems special14:21
eldarkgHello guys. What about the state of this bug https://bugs.launchpad.net/snappy/+bug/1580740 (xdg-open)14:21
mupBug #1580740: [SRU] Cannot open a browser link from a snap that provides a link <snap-desktop-issue> <verification-needed> <Snappy:Triaged> <snapd-xdg-open (Ubuntu):Confirmed> <snapd-xdg-open (Ubuntu Xenial):Fix Committed> <https://launchpad.net/bugs/1580740>14:21
ograeldarkg, i know that the needed bits in the ubuntu-core package landed last week, not sure which bits of snap-confine are needed additionally for it though, seb128 and zyga might know14:25
eldarkgogra: thx14:26
mhall119zyga: I recall you mentioned working on allowing content sharing slots to support multiple plugs (though I assume now that it should be the other way around), is that implemented?14:26
eldarkgzyga: hello. Are u there?14:26
eldarkgseb128: hi. Are u here?14:27
zygaeldarkg: hey14:27
zygamhall119: no, thre's no bug report either, if you report it please give me a link14:28
eldarkgzyga: what u say about bug https://bugs.launchpad.net/snappy/+bug/158074014:28
mupBug #1580740: [SRU] Cannot open a browser link from a snap that provides a link <snap-desktop-issue> <verification-needed> <Snappy:Triaged> <snapd-xdg-open (Ubuntu):Confirmed> <snapd-xdg-open (Ubuntu Xenial):Fix Committed> <https://launchpad.net/bugs/1580740>14:28
zygamhall119: it the way I imagine it is that the current interface will start to refuse connecting more than one item14:28
zygamhall119: and there will be an attribute a slot can set, like "multi: yes" or similar14:28
zygamhall119: where the target will be a directory that will now instead contain individual bind mounts14:29
zygamhall119: e.g. plugins.d/plug-1 plugins.d/plug-214:29
zygamhall119: where plug-1, 2, 3, etc would be maintained by snapd (the actual snap would just contain the empty directory)14:29
zygamhall119: there's a little feature work to support that but it is well understood14:29
eldarkgzyga: how I can to give permission to snap app to open file with system viewer (like browser or evince)?14:30
mhall119zyga: cool, though I assume you mean that the plug will have this attribute, since it is the consuming end of the interface14:30
zygamhall119: er, yeah, the consuming side14:31
zygaeldarkg: that depends, what would the URL look like?14:31
zygaeldarkg: this falls into content hub territory14:31
zygaeldarkg: I agree this should be supported but I'm unsure how14:31
ograzyga, well, didnt we have some basic xdg-open integration ? i definitely landed a fix from the desktop team in ubuntu-core last week14:32
mhall119zyga: thre was the snap-xdg-open ->(dbus)->xdg-open bridge that was being worked on14:32
zygaogra: we do but it is whitelist based14:32
ograright14:32
zygamhall119: I'm well aware of it14:32
seb128eldarkg, hey14:32
* zyga has to package that for al the distros next14:32
ograi thought that was part fo the snap-confine package (i could be wrong indeed)14:32
zygathough probably along with snapd itself14:32
eldarkgzyga: url like the system path14:32
zygaogra: nope14:32
zygaogra: snap-confine will merge with snapd this week14:32
ograah14:32
ograneat14:32
mhall119zyga: is the whitelist a list of apps, or url schemas?14:33
eldarkgseb128:  how I can to give permission to snap app to open file with system viewer (like browser or evince)?14:33
seb128zyga, ogra, eldarkg, xdg-open is to open urls, it's not going to let you open content, that's content-hub material14:33
zygaeldarkg: system path is not an URL as it lacks he scheme, a file:// url might be something but those may be confusing (due to how snap-confine works)14:33
seb128eldarkg, browser or evince? those are different usecases14:33
zygamhall119: schemas14:33
zygaseb128: I agree, hence my earlier comment14:33
ograseb128, bug 1580740 only talks about browser links14:33
mupBug #1580740: [SRU] Cannot open a browser link from a snap that provides a link <snap-desktop-issue> <verification-needed> <Snappy:Triaged> <snapd-xdg-open (Ubuntu):Confirmed> <snapd-xdg-open (Ubuntu Xenial):Fix Committed> <https://launchpad.net/bugs/1580740>14:33
seb128ogra, right, but eldarkg seems to ask about evince14:33
ograand i know we landed the ubuntu-core side of it14:33
seb128which we don't have addressed yet14:34
seb128haven't*14:34
ograright14:34
eldarkgseb128: open pdf with system viewer for example14:34
ograit also needs the new ubuntu-core promoted to the stable channel14:34
seb128eldarkg, that needs work, you can't do that today14:35
ogra(i'm running --edge on my desktop machine since last week, seems pretty stable )14:35
eldarkgseb128: ok. Is it in process?14:35
seb128eldarkg, not that I know of14:35
eldarkgseb128: what about open url with browser?14:35
seb128that's being worked on14:36
seb128it should be working on the edge channel14:36
ogradoesnt14:36
ograsince the desktop side is still missing14:36
seb128you just need an updated ubuntu-core and snapd-xdg-open installed14:36
ograright, that latter part isnt automatic14:36
seb128ogra, install https://launchpad.net/ubuntu/+source/snapd-xdg-open14:36
ograyeah14:36
ogradoing so now14:36
eldarkgseb128: sudo snap refresh --edge ubuntu-core?14:37
seb128I guess?14:38
seb128ogra, ^ that refresh command is right?14:38
ograyeah14:38
ogra(i always put --edge last ... not sure that mmatters though)14:38
ograhmm, nope14:39
ogravirtual bool QGenericUnixServices::openUrl(const QUrl&): Unable to detect a web browser to launch 'https://krita.org/'14:39
eldarkgseb128: another snapcraft things?14:40
lazyPowergreetings o/ it appears the rpi2 images for snappy-core are in a really inconsistent state. Is this known or should I start crafting a bug?14:40
ogralazyPower, since they are experimental thats not a surprise ... though last weeks images should be fine now14:41
lazyPowerogra - well, not really. i flashed a couple boards this weekend. I'm unable to install snaps, and if i apt-get upgrade it bricks the board's modules (no networking, et-al)14:41
ogralazyPower, apt ???14:42
lazyPoweryeah, thats what i said14:42
lazyPowerits like it boots in classic mode14:42
seb128ogra, :-/14:42
seb128ogra, does xdg-open https://krita.org works?14:42
ogralazyPower, where did you get the images ?14:42
seb128ogra, from hello.bash or something14:42
lazyPowerogra - http://cdimage.ubuntu.com/ubuntu-core/xenial/daily-preinstalled/current/14:42
ograseb128, works, yes14:43
ogralazyPower, eeek ... no ...14:43
seb128ogra, do you have any gtk app snap?14:43
ogralazyPower, http://people.canonical.com/~mvo/all-snaps/16/14:43
seb128ogra, if so can you try from a about dialog if you can open their website?14:43
mupPR snapd#1699 closed: introduce the "lxd" interface <Blocked> <Created by tych0> <Closed by niemeyer> <https://github.com/snapcore/snapd/pull/1699>14:44
lazyPowerogra - ack will give this a go and let you know how i make out with it.  can i suggest we get some update lovin on the developer portal? its linking aginst the images i posted above, and the rpi2 image is terribly broken rn14:44
ogratrying in my gitter app:14:44
ograLaunchProcess: failed to execvp:14:44
ograxdg-open14:44
ograseb128, ^^14:44
ogra(thats using electron and is installed in --devmode)14:44
ograi wonder if snap refresh ubuntu-core doesnt really apply without reboot or restart of snapd14:45
ysionneauogra: I've installed snapweb --edge in an Ubuntu Xenial. Listing installed snaps does work this time. However, when I click on "Browse store", I get an error 50014:45
seb128ogra, :-/14:45
ysionneauon the /api/v2/packages14:45
ograysionneau, yeah, its still buggy14:45
ogralazyPower, gimme a few, i'll wipe the dir on cdimage14:45
ysionneauis someone actively working on fixing it?14:46
ograleftyfb, http://cdimage.ubuntu.com/ubuntu-core/xenial/daily-preinstalled/ ... :)14:47
leftyfbogra: ?14:48
ograback to the "please use classic" text now ... that they were there was an accident ... we currently dont use cdimage for them14:48
ograthe experimental images are good enough to get an alpha release though ... i guess we can put them there by end of the week14:49
ograniemeyer, do you happen to have the final kernel.yaml spec handy somehow ? i'm trying to figure out where/how to add daemons and binaries that are required for drivers14:54
ogra(trying to get the rpi graphics driver working, but that needs a bunch of config binaries shipped along)14:55
elopio export BYOBU_CHARMAP=x ; . ~/.bashrc14:59
niemeyerogra: Daemons and binaries are not part of the kernel spec so far15:10
niemeyerogra: A daemon would be just like any other snap15:11
ograniemeyer, well, i have a workitem to get all-snap images ready for graphics for RTM15:11
ograand these binaryies need to go together with the drivers15:11
ograinside the kernel snap15:11
ograand also with udev rules and the like15:12
ograi was told in heidelberg that the kernel spac was done and would cover evereything :(15:12
ograniemeyer, many arm drivers actually need daemons to even init the drivers i.e. PVR/SXG ships the whole binary blob inside a userspace daemon, the kernel driver only provides some stubs that attaches to15:13
niemeyerogra: As I just said, there's nothing special about that15:14
ograand we cant realyl ship these separated from the kernel module15:14
niemeyerogra: Just add a daemon to the snap15:14
ograsince they are 100% bound to each others version15:14
niemeyerogra: the kernel snap is still a snap15:14
ograniemeyer, right, but if i put something in /usr/bin in the kernel snap it will be ignored15:15
niemeyermvo: Can you think of any reasons why a daemon wouldn't work in the kernel snap?15:15
niemeyerogra: You won't put something in /usr/bin.. it's still a snap15:15
ograif the binary blob in the kernel expects its daemon to be at /usr/bin/foobar and the kernel snap doesnt bind mount it there the driver will not work15:15
niemeyerogra: Add a daemon just like any other snap15:15
ograand since it is a binary blob i cant change the path15:16
* ogra curses that he had a conflicting meeting in heidelberg when the kernel snap was discussed ... 15:16
niemeyerogra: THat's not usually how such daemons work15:16
ograniemeyer, tell that to the vendors :)15:17
niemeyerogra: Where can I see the code?15:17
ograyou cant ... i.e. the pvr daemon is a binary blob15:17
ograi can probably get along with your suggestion for the pi for now though15:18
ograthere the daemons just need the device nodes afaik15:18
loolhi all15:18
loolelopio: hey, how is it going?15:18
ograbut i think long term the kernel snap needs some special handling for this ... especially once we go for more exotic arm devices15:19
niemeyerogra: Where can I find the code for that driver?  The binary blob is necessarily not alone or it'd not like against the kernel15:19
loolelopio: before I left for a week you had built a snapweb with a hotfix for the store search issue http://people.ubuntu.com/~elopio/snaps/15:19
niemeyerogra: In general it is the deamon that talks to the module, not the other way around15:19
loolelopio: did you end up pushing it in the source code / in the store? is there an armhf build of it?15:19
niemeyerogra: The module doesn't go looking for daemon paths in the filesystem15:20
elopiolool: no, nothing much other than that. I have the PR here, I will propose it for you to +1.15:20
elopiolool: I worked a little on multiarch with launchpad, but there's a problem in there that makes the import fail: https://bugs.launchpad.net/launchpad/+bug/108440315:21
mupBug #1084403: no support for gpgsig tags <amd64> <apport-bug> <patch> <raring> <running-unity> <Bazaar Git Plugin:Triaged> <One Hundred Papercuts:Invalid> <Launchpad itself:Triaged> <pyMOR:Invalid> <bzr-git (Ubuntu):Triaged> <https://launchpad.net/bugs/1084403>15:21
loolelopio: awesome thanks15:21
ograniemeyer, i'm pretty sure pvr does that (at lest it used to on the pandaboard and on the maguro phone we had), the pi stuff is on https://launchpad.net/~p-pisati/+archive/ubuntu/embedded/+packages ... raspberrypi-vc - 1.20150502.d280099-115:21
elopioin the meantime, we can have auto uploads from travis to amd64.15:22
loolelopio: I actually need a fixed armhf15:22
looland I dont think we can build go under qemu-arm15:22
niemeyerogra: Do you have a link for the source code repository of the driver?15:23
loolI could build it by hand15:23
ograniemeyer, sadly not15:23
ograniemeyer, only the deb src in that PPA15:23
niemeyerogra: Ok, so I cannot look at that right now, but I suggest investigating more carefully15:23
ograniemeyer, will do15:23
niemeyerogra: WIlling to bet the kernel module doesn't fire a daemon in user space15:23
ograiirc in pvr it was re-execing it with other options15:25
ogra(pvr is the worst here though)15:25
ograthe shiniest hardware you can imagine with the worst driver you can imagine :)15:26
niemeyerogra: Even there, willing to bet the kernel module doesn't start the daemon in user space15:27
bullogra, you know ogre ?15:27
ograbull, you know bill ?15:27
bullhaha :D no15:28
ograsame here15:28
ali1234how do you guys deal with constantly downloading the same deb files over and over?15:28
ograali1234, sudo snap install packageproxy ... pint my sources.list to localhost:9999 and be done15:28
ogra*point15:28
ali1234does that work for foreign repos?15:29
ograneeds config fiddling, but indeed it does ... (packagproxy just uses approx inside)15:29
ali1234and what about if i do cleanbuild?15:29
ograthats different15:29
ali1234how do i get the right sources.list inside it?15:29
ali1234or multistrap? cdebootstrap?15:29
ograbut there you could create an lxc container that doesnt get wiped15:30
bullogra, ogre is tekken character ,15:30
niemeyerogra:15:30
niemeyersudo cp /opt/pvr/pvr /etc/rcS.d/S60pvr.sh15:30
niemeyersudo chmod +x /etc/rcS.d/S60pvr.sh15:30
niemeyerhttp://elinux.org/BeagleBoardUbuntuKarmic15:31
elopiolool: I can build it in scalingstack. Do you need it right now?15:32
loolelopio: the sooner the better, but can wait a bit15:32
loolelopio: sharing details in query15:33
niemeyerogra: I need to be able to trust you to investigate those details carefully, otherwise we'll end up with a kernel snap that makes no sense15:33
ograniemeyer, yeah, i'm just starting digging here, still we will need GL libs in /lib abnd such ... there need to be bind mounts15:34
ograniemeyer, where are these described15:34
niemeyerogra: Have a look at the gl interface in snapd15:35
ograok15:35
niemeyerogra: We may need to evolve it, but we're most of the way there already I think15:35
niemeyerogra: mvo has more insight than I do there15:35
ograright, i just need to know what the kenrel snap needs as a first step ... i.e. where and how do i ship them so they end up in the right places ... but i'll dig my way around15:36
niemeyer👍15:36
* niemeyer => lunch15:36
bull👍15:36
bull:D15:37
ograbtw, that beagle page only copies the start script around, there are a few MB in /opt/pvr it doesnt even mention :)15:37
ograniemeyer, enjoy your free afternoon :)15:37
bullhow to change name here ???15:37
ogrageez ,... testing the new pi3 image here ... even the pi3 needs 10+ minutes for the first cloud-init run ... so depressing :/15:38
bullhurrey15:38
=== bull is now known as bulldog
qenghoogra: What's taking the time?15:41
bulldogbull is known as bulldog now :D15:41
ograqengho, hard to tell ... but i gues python :P15:41
ograpython and arm have never been good friends15:41
ograyay15:43
ograpi3 with wlan0 ...15:43
* ogra can finally get rid of the wires on his desk15:44
ali1234ogra: do you have a touchscreen display on your pi?15:44
ogranope15:44
ali1234well, touchscreen is broken in ubuntu...15:45
ograsend me one and i'll make it work :P15:45
ali1234i assume you have hdmi connected then, if you're testing graphics?15:46
ogranot atm, no15:46
lazyPowerare there any snaps using the dump plugin i can reference? i searched and did not find any in the snappy-playpen15:46
ogracurrently i'm rolling kernel snaps15:46
ogra*testing* is far out15:46
ografirst of all i'll need to *ship* all bits :)15:47
ali1234ogra: how do i configure the packageproxy snap then?15:48
ograali1234, https://github.com/ogra1/packageproxy15:49
lazyPowernvm found it in the snapcraft repository15:49
ali1234yes i've seen that15:49
ali1234config.yaml, how do i change it? do i have to rebuidl the snap?15:49
ograsudo vi /var/snap/packageproxy/current/config.yaml15:49
ograedit the repos list15:50
ograthen:  sudo systemctl restart snap.packageproxy.approx.service15:50
bulldogwe can build daily snap on launchpad too wow15:50
ali1234okay. and what if i need to mirror two repos that have the same suite name?15:50
ali1234er, distro name sorry15:50
ograali1234, you give them different aliases15:50
ograyou just need to reflect that in your sources.list then15:51
ali1234okay. and by default this server is accessible on my lan, correct?15:52
ograif you find it to compilcated you can also just use apt-cacher or a squd based packageproxy15:52
ograyes, sure ... it listens on 9999 on the machine you install it on15:52
ograon all interfaces the machine has15:52
ali1234the main issue for me is that i am trying to make a reproducible build script, but other people aren't going to have a package proxy15:53
ali1234actually two build scripts, one using multistrap and the other one using debirf15:53
ograwell, but other people probably have gigabit fiber lines ... who knows :)15:53
ali1234yes but it means i have to maintain two versions of the script... one for me and one for everyone else15:53
ali1234unless there is an entirely transparent way to do it15:54
ograi dont thin there is15:54
ogra+k15:54
xaviHi all!, even though I guess this is not the best channel, any one can point me to some doc in order to mount encrypted partitions with snappy ?15:55
xavior mailing list15:55
ali1234the other issue is that since i am doing a bootstrap then the apt config ends up inside the resulting image which i don't want15:56
ali1234ah i know15:58
ali1234i can put the hostnames in /etc/hosts15:58
ali1234to redirect them to my local cache15:58
ali1234then my config doesn't change15:58
ali1234does snap see the hosts's /etc/hosts?15:59
mvoogra: just reading backlog, maybe we should have a call later today (after dinner) or tomorrow morning to catchup on this? and do a strawman proposal16:00
ogramvo, tomorrow rather ...16:00
* ogra feels monadyish and wants to drop out early today16:01
ograand i'd also like to collect more info about the pi and dragonboard setups first16:01
ograone thing that bothers me a bit are namesapces ... if i ship daemons or such in the kernel snap, they won't be callable with their names but only via pi2-kernel.$dameon-name16:02
=== chihchun is now known as chihchun_afk
mvoogra: ok16:03
qengho16:08
eldarkgI don't know it is a right place or not. But how to create automatic builds in LP one repo (with snapcraft.yaml) when changed another repo (with build app source)?16:13
mhall119zyga: am I correct to assume that code shared via the content-hub will run under the confinement profile of the consuming snap?16:14
ali1234there's a snap in the store that looks fishy, what do?16:15
bulldogali1234, which one ? :D16:16
eldarkgseb128: I don't know it is a right place or not. But how to create automatic builds in LP one repo (with snapcraft.yaml) when changed another repo (with build app source)?16:18
seb128eldarkg, no idea about that, try asking on #launchpad?16:19
eldarkgseb128: thx16:19
seb128yw!16:19
zygamhall119: content hub or the content interface?16:20
ali1234http://askubuntu.com/q/815431/1243516:24
elopiolool: here's the pr: https://github.com/snapcore/snapweb/pull/5016:25
mupPR snapweb#50: Patch getting all the snaps <Created by elopio> <https://github.com/snapcore/snapweb/pull/50>16:25
elopiolool: but now it is failing to build: http://paste.ubuntu.com/23078669/ Do you know grunt?16:25
mhall119zyga: content interface16:26
mhall119sorry, not sure why I typed content-hub16:26
mhall119muscle memory16:26
looltyhicks, jdstrand: Hi! are abstract sockets connections allowed by default when one has network interface (and connect() etc. are allowed)?16:26
loolelopio: ah crap, I had that myself at some point16:26
jdstrandlool: no. https://bugs.launchpad.net/snappy/+bug/160496716:27
mupBug #1604967: Apparmor denies bind to abstract unix sockets such as @/var/lib/juju/mutex-/store-lock <conjure> <snapd-interface> <Snappy:Triaged by jdstrand> <https://launchpad.net/bugs/1604967>16:27
mhall119seb128: was it you who said the generic dbus name interface was being worked on?16:27
loolelopio: there are super specific installation instructions, perhaps try in a clean chroot?16:27
loolelopio: the deps are a bit ouf of date and hardcoded16:27
jdstrandcc tyhicks ^16:27
looljdstrand: ok, I was just told otherwise by someone who had an unconfined daemon but confined client16:27
loolysionneau: ^16:27
jdstrandlool: we will, but not for a little while yet (other higher priority items are in front of that)16:27
seb128mhall119, talk to jdstrand16:27
seb128mhall119, bug #159067916:28
mupBug #1590679: Apps can't own session bus names (unity7 interface) <snap-desktop-issue> <snapd-interface> <Snappy:In Progress by jdstrand> <snapd (Ubuntu):Confirmed> <https://launchpad.net/bugs/1590679>16:28
looljdstrand: that's fine, I was actually surprized they *could* connect when I was expecting not16:28
jdstrandlool: so, we want snaps to be able to connect to themselves16:28
mhall119thanks seb12816:28
seb128yw16:28
looljdstrand: these would be 2 separate snaps according to ysionneau16:28
jdstrandI'd be interested in seeing those snaps16:29
loolysionneau: if that's indeed possible, it sounds like a bug we should plug16:29
ysionneauplease don't plug this before 9 september16:29
elopiolool: we are now building with snapcraft, it worked last time I tried.16:29
elopioI'm playing with cleanbuild now.16:29
loolelopio: +1-ed the pull request16:30
jdstrandysionneau: can you provide the snaps you are using?16:30
ysionneaujdstrand: the unix listener is devmode, the one connecting is not devmode16:30
loolelopio: it's super sensitive to local node modules16:30
ysionneaujdstrand: I'll send it to you in pm, but keep it to yourself please16:31
jdstrandmhall119: there is a PR for that. it needs work. It has gotten deprioritized behind other requests, but we'll get there. if you need to up the priority, please escalate with your manager to talk to ratliff about getting it prioritized over other things16:31
mhall119ratliff: ^^ we need this dbus interface to support gnome/elementary/kde applications16:36
mhall119now that the content interface is available, it's the only other blocker that I currently know of16:36
jdstrandmhall119: note, ratliff knows that information. we have a card for it with that in it. the question is if it should be escalated beyond other cards. your manager should use the stakeholder process if you want it prioritized over other items16:38
ratliffack, mhall119 as jdstrand said, I have that information available, jdstrand has a lot of high priority work on his plate16:44
ratliffif there is a business reason to reprioritize, then please let me know16:45
mhall119ratliff: winning DE's over to snap is the business reason16:46
mhall119I can have dpm take it though the stakeholder process16:46
jdstrandmhall119: please escalate with your manager16:46
ratliffyes, please do16:46
jdstrandmhall119, dpm: note that it is high prioirity already, it is just behind several others things. I added you to the card16:47
mhall119thanks jdstrand16:48
bulldogsnapcraft said you missing a file , so i added it now . when i run snapcraft it still cant find file16:50
bulldoghow to deal with this16:50
bulldogwithout cleaning everything ,16:50
zygamhall119: correct,16:52
zygamhall119: confinement is process-based16:53
mhall119bulldog: what is the actual error message?16:53
bulldogmhall119, i forgot to copy a file which i mentioned in wrapper script , and ran snapcraft , , i added file now , but snapcraft is not aware16:54
bulldogit is showing same error [Errno 2] No such file or directory16:55
ograyou need to clean16:56
mhall119bulldog: was the missing file in one of your source parts?16:57
bulldogmhall119, no not in source . it is in the same directory where yaml file is16:57
ogra(either stage or prime if you dont want ti to download everything again)16:58
ogra*it16:58
bulldogogra, i dont wana download 58 mb again my neetwork is not so fast its 300kbp:(16:58
bulldogokay16:58
bulldog:D16:58
ograthats why i said that16:58
bulldogi was lil late to get that \16:58
mhall119bulldog: snapcraft clean -s stage16:59
mhall119then snapcraft snap again16:59
ograit is the same thing as the other few times today or the few times over the weekend ... use clean with the right stage16:59
bulldogmhall119, i will try16:59
mhall119-s is your friend :)17:00
elopiolool: https://github.com/snapcore/snapweb/pull/5117:00
mupPR snapweb#51: Add missing dependencies to snapcraft. Build the snap in travis <Created by elopio> <https://github.com/snapcore/snapweb/pull/51>17:00
elopiothe grunt thing seems to happen only here. But let's land this first so we notice early if the build is broken.17:01
bulldog:)17:01
bulldogogra,  i wont repeat that :D17:01
* ogra will quote you on that :)17:01
bulldogogra, mhall119 i cleaned both prime and stage still it says file not in - /home/bull/snap/uweather/parts/glue/build/Trolltech.conf'17:04
bulldogglue is name of part ,17:04
bulldogi already cleaned build step too17:04
mhall119bulldog: Trolltech.conf was the missing file?17:04
bulldogyeah , am having this in my wrapper script17:05
mupPR snapd#1717 opened: daemon,overlord: add subcommand handling to snapctl <Created by kyrofa> <https://github.com/snapcore/snapd/pull/1717>17:05
mhall119hold up, is it failing to build the "glue" part because it's missing the Trolltech.conf?17:05
bulldogyeah17:05
mhall119then you need to clean that part17:05
mhall119to at least the build stage17:06
bulldogsnapcraft clean glue ??17:06
mhall119yeah17:06
bulldogit iwill delete downloaded stuffs :D17:06
ograno, thats "pull"17:06
ograbuild comes after pull17:06
bulldogi cleaned build already\17:06
ogra"snapcraft --help" has a very nice description17:07
bulldogi cleaned all three build , stage and prime17:07
mhall119bulldog: is the file in parts/glue/src/?17:07
bulldogmhall119, wait let me put it on github17:07
mhall119yes please17:07
bulldoghttps://github.com/keshavbhatt/uweather-snap17:09
bulldogmhall119, https://github.com/keshavbhatt/uweather-snap17:09
bulldogmhall119, i know this will build in your case , but what am facing is a condition other users can face !17:10
bulldogif you want emulate the condition , remove trolltech.conf from base dir , then run snapcraft17:11
mhall119bulldog: in this case you have to clean all the way down to "pull17:11
mhall119"17:11
bulldogit will end with no such file directory error , then copy trolltech.conf to the place back17:12
mhall119because Trolltech.conf is in your "glue" part's source, it won't find it until you re-pull that part17:12
bulldogthen run snapcraft again17:12
=== chihchun_afk is now known as chihchun
bulldogmhall119, i pulled it with snapcraft pull glue17:12
=== chihchun is now known as chihchun_afk
bulldogbut it again do same17:12
mhall119you need to clean the pull stage before it will re-run it17:13
mhall119otherwise it sees that it's already been pulled, and won't pull again17:13
bulldogso thats a confirm bug i faced it so many times before thats why ogra noticed me asking same again aand agian17:13
mhall119bulldog: snapcraft clean -s pull glue17:13
mhall119then snapcraft snap17:13
bulldog:D17:13
mhall119but that will, unfortunately, re-pull all of your stage-packages as well17:13
bulldogit will delete downloded stuffs17:14
mhall119yup17:14
bulldoghaha17:14
bulldogdaem17:14
mhall119but you probably don't need all of them, the desktop-qt5 part should pull them into your snap17:14
ograand thats by design ... not a bug17:14
bulldogso its not logical to add a single file or single change , we need download stuffs which we deleted :D17:15
mhall119bulldog: only if you are doing both from the same part17:15
bulldogwhat if our dependencies are sized 1gb ??17:16
bulldog:D17:16
mhall119put them in a separate part17:16
bulldogand let we learning snapcraft :D17:16
bulldogmhall119, okay i will try17:17
mhall119I believe your dependencies are mostly all in desktop/qt5 already, so having them in your "glue" part is redundant17:17
ograyeah, would just download them twice17:17
bulldoghaha , am stupid :D17:17
bulldogi thought you added only some paths in that qt5 launcher17:18
bulldogso dependencies are in there too :D , it was downloading stuffs but i was gone for  dineer17:18
bulldogmhall119, i have these dependencies , http://paste.ubuntu.com/23079032/17:20
bulldogqt5-launcher comes with whole qt dependencies  ??17:21
mhall119desktop-launch is what you want to use17:24
mhall119bulldog: look at https://github.com/ubuntu/snappy-playpen/tree/master/qcomicbook for an example17:25
bulldogokay ty17:26
bulldogi cleaned glue :D17:26
bulldogi have not been able to snap anything yet :D , but snappy will be simple one day, and i will be able to make snaps for my applications  :D17:28
mupPR snapd#1717 closed: daemon,overlord: add subcommand handling to snapctl <Created by kyrofa> <Closed by kyrofa> <https://github.com/snapcore/snapd/pull/1717>17:30
bulldogmhall119, i removed dependencies in yaml file , and ran snapcraft clean glue , and then snapcraft -  bu it still downloading dependencies wth is this17:30
bulldogdownloaded 57mb again :(17:31
bulldogand still the same message17:31
bulldogi should clean it all :317:31
bulldogmodifications in snapcraft.yaml atleast should be recognosed by snapcraft.17:32
ograwhat would "snapcraft clean glue" be or do ?17:32
bulldogi dont understand what is the holy reason behind making this so much complex damn17:33
ogra(i guess since snapcraft doesnt know what you mean it simply ignores the "glue" )17:33
bulldogogra,  it cleaned it and downloaded , staged and primed glue again17:34
ograkhow would it do that17:34
ograit doesnt know what glue means ... thats neither a command nor an option17:34
bulldogas i can see it didnt said (skip already done)17:34
ogra(again ... see snapcraft --help)17:34
bulldogglue is part17:34
ograyes17:34
bulldogso why it downloaded stuffs again if it was useless command and was not recognized17:35
bulldogby snapcraft17:36
mhall119bulldog: what does your snapcraft.yaml look like now17:36
ograbecause you tiold it "after: [desktop/qt5]17:36
mhall119ah, yes, desktop/qt5 is the part that will download the dependencies now17:36
ograthat cleans desktop/qt5 along i think17:36
bulldogit is getting more then rocket science now :D17:36
bulldogwill a normal user able to use snapcraft ??17:37
bulldoghaha :P17:37
ali1234"snapcraft clean" really doesn't make any sense at all17:37
ali1234pretty much the only way to use it is to clean everything every time17:37
mhall119bulldog: a normal user wouldn't have gotten into the situation you're in now, they would start with having desktop/qt5 from the beginning and not have to worry about backtracking17:38
bulldogmhall119, wait17:38
mhall119ali1234: you can clean by part, by step, or both17:38
ali1234which makes no sense17:39
mhall119ali1234: what would you assume it does?17:39
bulldogmhall119, plz plz fix my yaml file   - this is old  one https://github.com/keshavbhatt/uweather-snap17:39
ali1234i would assume it cleans by step only17:39
ograali1234, i never clean everything17:39
bulldogit clean all i think17:40
ogra(well, i sometimes do, but thats really really rare)17:40
bulldogall steps of all parts17:40
ograali1234, "snapcraft clean -s stage" is what i use most17:40
ali1234how do you clean the built files?17:40
ograwell, then i use -s build ...17:41
ali1234how do you force to redownload a part?17:41
ograthe majority of my snaps doesnt build anything from source17:41
mhall119bulldog: where is your new snapcraft?17:41
bulldogokay if am not a normal users then can you  make a snap of my qt5 app - https://github.com/keshavbhatt/deskie17:41
ograali1234, snapcraft clean <partname> -s pull17:42
bulldogmhall119, http://paste.ubuntu.com/23079116/17:42
mhall119ali1234: snapcraft clean -s pull ${part}, then snapcraft pull ${part}, will re-download everything for it17:42
* ogra wonders if anyone ever reads "snapcraft --help" ... thi sis all in there 17:42
ali1234yeah that syntax is terrible17:42
mhall119bulldog: and that one doesn't work?17:42
ali1234it should be snapcraft clean pull -p <partname>17:42
bulldogogra, i been reading that from two or three days :D17:42
ograali1234, file a bug and convince sergiusens that this is better ;)17:43
ali123499% of snaps only have one part17:43
ograbut after all it is still logical17:43
bulldogogra,  help is really cool but does not do what a user will except17:43
mhall119ali1234: -p to specify a partname? that's already assumed17:43
ograit surely does what i expect17:43
bulldoghaha17:43
mhall119I'd recommend -f to mean "force", or -c to mean "clean first"17:43
ali1234mhall119: "snapcraft clean foo" "foo" should be assmed as a step, not a part17:44
ograand it isnt like i had any of my fingers in snapcraft development, i'm just a user like anyone else17:44
sergiusensbulldog that's an interesting contradiction, the help cannot be really good and at the same time not do what you expect17:44
ograjust working my way along based on what snapcraft --help tells me17:44
ograsergiusens, i have that if i switch my terminal to a chinese locale though17:44
bulldogsergiusens, it looks like other help manuals but , when i use those steps it create situations like i mentioned above17:45
mhall119sergiusens: would you consider a -c/--clean flag on step commands, that would perform a call to clean on that step (and for a part if specified) before running the step?17:45
sergiusensmhall119 that would break expectations, we cannot do that until snapcraft 3.0 comes along17:46
mhall119who's expectations?17:46
bulldogsergiusens, i can emulate the conditions which will make that help manual do what you don't expect17:46
bulldogseriously :D17:47
ali1234ogra: snapcraft --help doesn't tell you anything useful about clean subcommand17:47
ograali1234, huh ?17:47
ograsnapcraft [options] clean [<part> ...] [--step <step>]17:47
ogra...17:47
ograOptions specific to cleaning:17:47
ogra  -s <step>, --step <step>              only clean the specified step and those17:47
ogra                                        that depend upon it. <step> can be one17:47
ogra                                        of: pull, build, stage or prime.17:47
bulldogogra, yeah that part is cool17:47
ogra...17:47
ograThe available lifecycle commands are:17:48
ogra...17:48
ogra  pull         Download or retrieve artifacts defined for a part.17:48
ogra  build        Build artifacts defined for a part. Build systems capable of17:48
ogra               running parallel build jobs will do so unless17:48
ogra               "--no-parallel-build" is specified.17:48
ogra  stage        Stage the part's built artifacts into the common staging area.17:48
ogra  prime        Final copy and preparation for the snap.17:48
ogra  snap         Create a snap.17:48
bulldogwe having a copy haha17:48
ograthats not clear ?17:48
ali1234no17:48
bulldoghaha17:48
ali1234wtf is a "lifecycle command"?17:48
ali1234or an "ecosystem command" for that matter?17:48
bulldogyeah :D17:48
ali1234these are just nonsense words17:49
bulldogsnapcraft lifecycle command17:49
ograobviously a lifecycle command is one of the steps in the lifecycle towards getting a snap out of a source tree17:49
ali1234obviously17:49
ograi'm not natively english speaking, perhaps thats why i understaood it with the first reading, not sure17:49
ali1234it's written in engineer speak17:50
ograindeed17:50
naccali1234: no, it's written in snap knowledge speak, i would argue17:50
ograbecause it is for engineers17:50
naccali1234: it assumes (for better or worse) that you know about snaps ahead of time, somewhat17:50
ograi wouldnt expect non engineers to use snapcraft17:50
bulldogthats why i planned to make a gui and add my own sense to make normal users feel like home, but am kinda not able to snap anything yet17:50
nacconce you do, the 'lifecycle' terminology makes a lot more sense17:51
bulldogogra, am 19 , and a biology student17:51
ograbeyond perhaps being told by an enginneer to pull that source tree and call "snapcraft" inside17:51
ali1234here is an example of how the help isn't very helpful. suppose i have a snap that points to a git repository and i push a commit to the repository17:51
ali1234now i need to somehow make snapcraft download my new commit17:51
ograthen ou hopefully have an LP autobuuild set up :)17:51
ali1234it isn't clear how i should do this17:51
naccali1234: the snap doesn't really point at the git repository in my mind, the yaml does17:51
ali1234should i snapcraft pull?17:51
naccali1234: in which case, just build it again17:52
ali1234or maybe i should snapcraft clean -p pull?17:52
ogra(which magically will just build your snap if your branch changes)17:52
ali1234nacc: no, that specifically does not work17:52
naccali1234: or set up the autobuild as ogra says17:52
ogra(and even auto-upload it for you)17:52
ali1234snapcraft says "oh, already pulled that, let's not pull it again"17:52
ograso let the buildds do it for you17:52
ograand stop caring ;)17:52
naccali1234: or use 'cleanbuild' or a fresh env or whatever17:53
ograyeah17:53
nacci've yet to actually run `snapcraft build` on my host system, as it seems ... less than ideal :)17:53
ali1234nacc: so yeah we are back to "vlean the whole thing every time you make a change"17:53
ali1234how do you write snapcraft.yaml then?17:53
bulldogogra, plz do an experiment with my app deskie , its a qt5 app and i was able to pack it and run it on 14.04 to 16.04 of ubuntu https://github.com/keshavbhatt/deskie17:53
mupPR snapd#1718 opened: daemon,overlord: add subcommand handling to snapctl <Created by kyrofa> <https://github.com/snapcore/snapd/pull/1718>17:53
ograali1234, because on a bildd that costs you nothing17:53
ali1234do you just bang it out and then upload it to loaunchpad and see if it works?17:53
bulldogogra, snap it plz17:53
ograbulldog, well, you explain my team why i dont work on images then :P17:54
naccali1234: well i mean i don't want to pollute my host system with random build deps for things anyways17:54
naccali1234: so i always use cleanbuild locally17:54
naccali1234: or the lp builders17:54
ali1234nacc: so you never use clean17:54
ograali1234, bzr push ... or git push ... the rest is magic17:54
ali1234bzr push what?17:54
naccali1234: no, not had to at all, as i dont' have anything to clean locally17:55
ograyour tree that you have set up an autobuild for on lp17:55
naccogra: is there a wiki page or blog post on setting up the autobuild, by any chance? might be a good reference17:55
bulldogogra, i like new things comin , snapcraft is one of them but its really pain in @ , i got unexpected error and messages which i never seen in my life after making sanp for https://github.com/keshavbhatt/deskie17:55
ali1234btw cleanbuild doesn't work for me17:56
bulldogali1234, bzr push your local bzr repo17:56
ogranacc, not sure ... i guess i should blog about that ... once i find some time :)17:56
bulldogogra, after snapping deskie , and running it - it says svg errors lol qml qrc errors i mean what the hack is going on , do qt need to change its coding style if a developer wana pack a snap later for his app ??17:58
ograali1234, so is your branch on LP in giit or bzr ?17:58
naccbulldog: are you sure you have all the deps in the snap?17:58
ali1234branch containing what?17:58
naccali1234: your snapcraft.yaml and all the parts it refers to (probably)17:58
ograali1234, your snapcraft.yaml17:58
ali1234no17:58
naccif there are any local ones17:58
ali1234it's on my harddisk17:58
bulldognacc , yes i was having em all , even i added qtsvg lib17:58
bulldogyeah its all in it17:59
ograwell, then you cant use LP obviously :)17:59
ali1234i can push the snapcraft.yaml17:59
naccali1234: cleanbuild requires a working lxd setup fwiw (other than i have not see any issues with it)17:59
bulldogogra i have lp , i know how to push branch :D17:59
ograyou can push it to LP ... the go to the website, click "create snap package" fill the form and have it auto-build for every commit17:59
ali1234nacc: i have that, apt throws 500 server errors17:59
naccbulldog: hrm, i'd help but i need to go afk for a bit -- i'll try and ping later and see if i can help out17:59
ali1234ogra: so if my snapcraft.yaml hasnt changed, how do i make it rebuild?18:00
bulldognacc, thanks bro :*18:00
ali1234push an empty commit?18:00
ograali1234, you click the "request build" button in the UI or use launchpad-lib to trigger a manual build18:00
bulldogbzr will do it for you18:00
ogralaunchpad-lib script18:00
naccogra: i think in this case, ali1234 is asking if the autobuild will autobuild rebuild if the underlying part changes? no, that wouldn't make sense, as you'd want it to be controlled by the app owner18:01
bulldogogra, is very helpful in nature :) he is on all the time :*18:01
ogranacc, ah, right18:01
naccali1234: so in your case, you'd push to your git tree (if you can), and have a git hook that causes a rebuild of the snap, possibly18:01
ali1234i don't want it to do anything automatically18:01
naccali1234: then it's trivial to do manually :)18:01
ali1234my snapcraft.yaml doesn't even work yet18:01
naccok, afk for real now :/18:01
bulldogbye nacc18:02
ali1234anyway, i don't think any of this excuses the poor documentation of clean18:02
bulldognacc, wait , you can find Mut module for deskie in other branch named snap_package_recipe18:03
bulldogclean is really confusing from day one :D18:03
bulldogfor a normal user :P18:04
bulldogit would be better if debian team figured out these security , isolating user data , interfaces, and other goals of snap :D  in their .deb packaging format18:06
ali1234oh no please18:06
ali1234deb packaging is terrible18:06
bulldoghaha18:06
bulldogwhy ??18:06
bulldogwhats wrong there ?18:07
ali1234because there is literally no correct way to do it18:07
bulldogwhat do you mean - no correct way to do it18:07
bulldogi simply do dpkg-buildpackage -uc -us18:07
ali1234i mean that, given any piece of software you can imagine, there is no way to package it in a deb file that matches any of the documentation about how to create a deb file18:08
ali1234literally everything is a corner case18:08
bulldoghmmm thats true and this seems to happening with snapcraft too18:08
ali1234at least snapcraft has a clean command18:08
bulldoghaha18:08
ali1234dpkg has a clean command, but it is totally reliant on the packager writing a clean rule that works18:09
bulldogsmapcraft is awesome , but what if both powers into one18:09
ali1234and 99.9% of packagers don't bother18:09
bulldogam fine with debian packaging if you ever need help call me , keshavnrj@gmail.com18:09
ali1234please fix the Qt package to make dpkg-buildpackage work if you run it twice in the same unpacked source18:10
bulldogdebian packaging backed with lp is super cool , just keep the branch updated and it will make sure everything will work18:10
bulldogi dont build from source with dpkg :D18:11
bulldogmy way of doing is different18:11
bulldogi have lots of apps in software center , and am not wrong  with my style of packaging with dpkg-buildpackage18:12
ali1234my experience of debian packaging is as follows: apt-get source <package>, enter the directory, make changes, dpkg-commit them, write changelog entry, attempt to build package, doesn't work, delete the source dir and start over18:13
bulldogi mean i dont left out any dependency so my apps works well on 12.04 to 16.0418:13
bulldogthats official way if you packing for debian :D18:13
ali1234when building on launchpad it is pretty much the same except there's a half hour upload step and a 4 hour wait for it to build18:14
bulldogyeah , if you want daily build then the way you explained is right18:14
ali1234i dont want daily build18:14
ali1234i want to test the change i made18:14
bulldogi mean you can do manual too18:14
bulldogwhere r u from ?18:15
ali1234why does it matter?18:15
bulldogjust asking :)18:16
bulldogam from India , i don't feel insecure :D revealing this truth :P18:18
ssweenyjdstrand, I wonder if you have some advice on how to make my udisks mounts visible outside of the snap? I talked briefly with zyga about it and he said I could create "specially designed bind mounts" to do it. I tried bind-mounting /run/media/ onto itself and making that shared from a wrapper script in the snap but that doesn't seem to work, and when I try to add the bind-mount in the interface (interfaces.SecurityMount) I get denials for snap-con18:18
ssweenyfine trying to make the mount18:18
jdstrandssweeny: I'm not sure. udisks2 is running in its own private mount namespace. I think the intent of the udisks2 interface would be to make those mounts in the global mount namespace18:24
ssweenyjdstrand, I agree, but I'm not sure how to go about that18:24
jdstrandyou can't at the moment cause once your in the namespace you can't get out18:24
jdstrandotoh the only way I could see doing that is somehow having snap-confine not do a private mount18:25
jdstrandfor that interface18:25
ograhotel california namespace ?18:26
ssweenyyou can check out any time you like, but you can never leave :)18:27
ogra;)18:28
ssweenyjdstrand, would that be a quirk to add to s-c?18:28
ssweenylooks like there's already some custom stuff for lxc in the quirks source file18:28
ssweenyjdstrand, alternatively this could be an argument for udisks being part of the core snap :)18:29
jdstrandheh, yeah18:29
jdstrandhmm18:31
jdstrandthis darn mount namespace18:31
jdstrandits causing several problems18:31
ali1234ogra: so it turns out you can do export http_proxy=http://localhost:9999/" and now packageproxy will cache any repo that you fetch with apt18:33
ali1234with no config changes18:34
bulldogogra, i missed something in snapcraft file i added it now what should i do now to make snap out with the new changes18:34
jdstrandssweeny: I can't really think of anything that would work beyond telling snap-confine to not do it or add an out of process helper for udisks to request it do the mounts on its behalf18:36
ssweenyjdstrand, OK I'll look at quirking snap-confine then. If we're adding a mount helper to core then I'd rather just propose udisks itself go in18:36
jdstrandtyhicks: hey, sorry to interrupt you. so, the udisks2 PR has a problem. basically, it runs as a snap, it mounts things, but those mounts are in its private mount namespace but they should be made in the glabl namespace18:37
tyhickshey18:37
jdstrandtyhicks: so that something using the pluggable-storage interface has access to the mounts (eg, in /media)18:37
jdstrandtyhicks: I can only think of two ways to deal with this-- snap-confine doesn't do the private mount namespace or an out of process helper that udisks could ask to do the mounts18:38
jdstrandtyhicks: can you think of another option?18:40
tyhicksjdstrand: by "snap-confine doesn't do the private mount namespace" do you mean that it wouldn't set up the private mount namespace for the udisks2 snap but would continue to do so for all the others?18:40
jdstrandtyhicks: that is what I meant18:40
tyhicksok18:40
* tyhicks thinks18:40
jdstrandsomehow, if you say you 'slots: [ udisks2 ]', then you don't get a private mount namespace18:40
kyrofaelopio, any chance you're still setup to test nextcloud?18:40
jdstrandotherwise, you continue to do so18:40
kyrofaelopio, I pushed an update to --beta that changes the HTTPS stuff (more info in the PR description here: https://github.com/nextcloud/nextcloud-snap/pull/23)18:41
mupPR nextcloud/nextcloud-snap#23: Add support for HTTPS <Created by kyrofa> <https://github.com/nextcloud/nextcloud-snap/pull/23>18:41
ssweenyjdstrand, tyhicks, even if I could get ONE shared mount point that would help since mounts under that could also be shared18:42
mupBug #1615773 opened: Allow for seccomp blacklist rather than whitelisting <lxd> <Snappy:New> <https://launchpad.net/bugs/1615773>18:42
tyhicksjdstrand: in theory, I guess another option would be for udisks2 to use setns() to rejoin the global mount namespace before peforming a mount but that doesn't seem to be an improvement over the other options18:43
=== tsimonq2alt is now known as tsimonq2
tyhicks(there's also the problem of getting the global mount namespace fd to udisks2)18:44
jdstrandtyhicks: that doesn't seem possible. you get EPERM18:46
jdstrandtyhicks: once you ushare you don't seem to be able to go back18:46
tyhicks"Changing the mount namespace requires that the caller possess both CAP_SYS_CHROOT and CAP_SYS_ADMIN capabilities in its own user namespace and CAP_SYS_ADMIN in the target mount namespace."18:47
ograali1234, just dont build go projects ;)18:47
tyhicksjdstrand: ^ (from the setns man page)18:47
ali1234ogra: why? it passes through requests it doesn't understand18:48
ali1234turns out it only caches repos that you defined in the config18:48
ogrago builds fall over when proxies are involved afaik18:48
ogra(if you export, that will apply to everything in that shell)18:49
jdstrandtyhicks: I tried doing nsenter on pid 1 with those capabilities and it didn't work18:49
jdstrandtyhicks: I had the same thought over the weekend for the 'ip netns exec' issue18:49
ali1234so in my shellscript i should do "env http_proxy=... multistrap" ?18:50
jdstrandtyhicks: granted, I wasn't able to exhaustively test it. if you'd like, I can, but I kinda thought the EPERM made sense since the point of this is that that the process is contained18:50
tyhicksjdstrand: EPERM does make sense but I'm confused in that the man pages suggest that it should be possible18:52
tyhicksjdstrand: does the setns() option make for a cleaner design?18:53
jdstrandI'm not sure18:53
tyhicksif it does, I can read through the code to figure out what is going on18:54
jdstrandit might be because I was using nsenter from within the mount namespace18:54
jdstrandand that was why I got an eperm18:54
jdstrandwhereas if the fd was passed in, I wouldn't18:54
tyhicksthat's possible18:55
jdstrandI guess snap-confine could open() /proc/self/ns/mnt and not close it, then udisks2 could setns on it?18:57
jdstrandtyhicks: is that what you were thinking?18:57
ali1234ogra: why can't i use bulleted list in config.yaml?18:57
tyhicksjdstrand: that's what I think would have to happen18:58
jdstrandtyhicks: I'm also interested in this re 'ip netns exec'18:58
tyhicksjdstrand: but if snap-confine and udisks2 is going to all of that trouble, why put it into a new namespace to begin with?18:58
jdstrandright. udisks2 could easily deal with not having a mount namespace18:59
jdstrandbut, we keep hitting complications with this...18:59
tyhickswith the mount namespace?19:00
jdstrandtyhicks: yes. so, all the really hard stuff about snap-confine and udisks2 is not around avoiding the private mount setup. it is about the interaction between the declared interface influencing snap-confine19:01
jdstrandtyhicks: (ie, whether avoid mount namespace or open(), everything else is the same)19:02
jdstrandmeh19:02
jdstrandI was sorta thinking just avoid it, but now I'm thinking the setns may be viable for ip19:03
tyhickscouldn't snapd to tell snap-confine if it should stick the launched process into a new mount namespace or not?19:03
tyhickss/snapd to tell/snapd tell/19:03
jdstrandtyhicks: yeah-- that is what I'm saying is the hard part. that needs to be designed, etc. is it part of the .fstab thing that's there, is it a new backend, etc19:04
sergiusenselopio when you have time, can you give #740 another peek?19:04
tyhicksjdstrand: right19:05
tyhicksjdstrand: I now understand what you're saying19:05
jdstrandwhere I'm conflicted is that if we do the setns approach for ip, maybe we should for udisks2 (trying to avoid two different backends for similar problems)19:06
bulldoggood night guys see u tomorrow19:06
tyhicksjdstrand: it seems kludgy to me to stick udisks2 into a new mount namespace, pass it the fd for the global mount namespace, and then expect it to immediately setns() to the global mount namespace19:07
jdstrandtyhicks: that's a fair point19:08
tyhicksjdstrand: also, have you verified if a mount in the global mount namespace is automatically propagated to all the per-command mount namespaces?19:09
jdstrandtyhicks: /media is one of the directories that snap-confine bind mounts19:10
tyhicksoh19:10
tyhickshmm19:10
ssweenyjdstrand, tyhicks this is more likely to apply to /run/media and all-snaps systems, since a classic system would likely already have udisks, right?19:11
jdstrandtyhicks: it's in setup_snappy_os_mounts()19:11
jdstrandssweeny: it would19:11
mupPR snapcraft#749 opened: Allow registering private packages <Created by sergiusens> <https://github.com/snapcore/snapcraft/pull/749>19:11
tyhicksjdstrand: so that means there's another option...19:12
tyhicksjust a sec19:12
jdstrandtyhicks: you thinking about some (r)slave option?19:13
tyhicksjdstrand: well, all snaps get the rslave bind mount of /media today19:14
jdstrandright19:14
jdstrandactually, I can test now19:14
tyhicksjdstrand: I think that if udisks2 received an rshared bind mount of /media, it's mounting activity would be propagated to all the rslave bind mounts19:14
jdstrandall I need to do is see if I can see the mounts in /media if I plug in a usb key from within the snap19:15
jdstrandso the quirk is rshared19:15
jdstrandinteresting19:15
tyhicksyes19:15
tyhicksby default, the mount syscall for snaps would be: mount(src, dst, NULL, MS_BIND | MS_REC | MS_SLAVE, NULL)19:16
ssweenytyhicks, I'm not sure that's true for all-snaps. on my rpi2 /media is read-only19:16
tyhicksudisks2 would get: mount(src, dst, NULL, MS_BIND | MS_REC | MS_SHARED, NULL)19:16
ssweenyzyga told me that was just for snaps-on-classic19:16
tyhicksssweeny: oh, you're correct19:16
tyhicksjdstrand: ^19:16
tyhicksif (is_running_on_classic_distribution()) {19:17
tyhicks  setup_snappy_os_mounts();19:17
tyhicks}19:17
jdstrandit would be MS_SHARED for /run then otherwise (/run/media)19:17
jdstrandman, soo many mounts19:18
tyhicksyes, it makes for a lot of confusion19:18
jdstrandfyi, on classic, the private mount doesn't get in the way of /media19:20
jdstrandssweeny: I like tyhicks idea of using MS_SHARED19:21
ssweenyjdstrand, ok, what do I need to do?19:21
tyhicksjdstrand: what about ssweeny's point that using MS_SHARED would only work on classic?19:21
jdstrandtyhicks: I thought you agreed with my point on /run19:22
jdstrandtyhicks: on all snaps, it is in /run/media. /run is also one of these19:22
jdstrandtyhicks: so with udisks2 on all snaps, mount /run with MS_SHARED, no?19:23
tyhicksjdstrand: where in the snap-confine code is /run getting mounted on non-classic systems?19:24
tyhicksI couldn't see it19:24
jdstrandtyhicks: I'm not being clear. on all-snaps, for udisks, mount /run with MS_SHARED on /run19:26
tyhicksjdstrand: ah, so this would be an entirely new mount that we'd need to set up on all-snaps19:26
tyhicksjdstrand: thanks for clarifying19:27
jdstrandI guess we're back to it is just as easy to skip setup_private_mount()19:27
tyhickspretty much19:27
jdstrandwell19:27
tyhickssnapd needs to let snap-confine know to do something special for this one snap19:27
jdstrandwe can't really do that though19:27
jdstrandnot your last comment19:28
tyhickswhy not?19:28
jdstrandwe can't really skip setup_private_mount unless we give up on content sharing19:28
jdstrandfor that interface19:28
jdstrandtyhicks: absolutely snapd must do something special for slot implementations of the udisks2 interface19:29
jdstrandok19:29
tyhicksno matter what, snapd is going to have to do something special19:29
jdstrandyes19:29
jdstrandwe were typing at the same time19:29
tyhicksok19:29
tyhicksMS_SHARED is probably the best implementation when snapd does that special thing :)19:30
jdstrandmy comment was supposed to be:19:30
jdstrand"I guess we're back to it is just as easy to skip setup_private_mount()19:30
jdstrandwell19:30
jdstrandwe can't really do that though"19:30
jdstrandmaybe19:30
jdstrandok19:30
tyhicksMS_SHARED definitely fits well into the fstab backend19:31
jdstrandssweeny: let's try this: in sc_setup_mount_profiles() parse the .fstab file for shared and mount those with MS_SHARED. then the udisks2 interface uses the SecurityMount backend to mount /run with shared19:33
jdstrandssweeny: you should bounce that off zyga19:33
jdstrandssweeny: because today the SecurityMount backend only mounts exports from snaps, not the OS19:34
ssweenyjdstrand, aha, ok19:34
jdstrandlet me rephrase for clarity: then the udisks2 interface uses the SecurityMount backend to specify mounting /run with shared19:35
jdstrandor even /run/media19:35
ssweenyok that makes sense19:36
jdstrand(snapd is obviously not doing the mounting)19:36
jdstrandcool. sorry it took so long. tyhicks, thank you for the MS_SHARED option19:36
ssweenyok, 1) add SecurityMount entry with shared to udisks interface and 2) patch snap-confine to process that and mount appropriately19:37
ssweenyjdstrand, is there a good way to test my snap-confine patch on an all-snaps system? I don't imagine I can replace the existing binary19:37
ssweenytesting udisks on a classic system seens like asking for pain19:38
jdstrandssweeny: spread tests allow you to do crazy stuff and I highly advise using those when you are getting close to PR. before that point, you can either generate your own core snap (sudo unsquashfs ./snap ; modify ; snapcraft snap ./squashfs-root) or use overlayfs19:40
ssweenyjdstrand, awesome, thanks!19:41
tyhicksI've got one other way that I test snap-confine changes19:41
tyhickswhat I've been doing for testing snap-confine changes on an all-snaps system is building snap-confine, then copying it to the home directory of my all snaps system (you'll need to make root the owner and set the setuid bit), then make a copy of the wrapper script in my home directory, and then modify the copied wrapper script to launch the snap-confine in my home directory19:42
tyhickskinda kludgy but it allows for pretty quick manual testing19:42
jdstrandthat would work, but soon it won't once snap-run is around19:42
ssweenyalso awesome, tyhicks! thanks!19:42
ssweenyjdstrand, how long do I have? :)19:43
ssweeny(before that won't work I mean)19:43
ssweenyI'm hoping to get this all wrapped up this week19:43
tyhicksI think you'll be fine this week19:43
jdstrandssweeny: something along these lines: http://paste.ubuntu.com/23079343/19:44
jdstrandthat is for overlay19:44
jdstrandit is not bad to setup either19:44
ssweenyyeah seems pretty straightforward19:44
ssweenyjdstrand, tyhicks, I need to run out for a bit. thanks so much for the help!19:47
jdstrandyw19:47
tyhicksnp19:48
ali1234ogra: okay approx is actually broken... doesn't do what it claims19:49
sergiusenselopio https://github.com/snapcore/snapcraft/pull/74919:53
mupPR snapcraft#749: Allow registering private packages <Created by sergiusens> <https://github.com/snapcore/snapcraft/pull/749>19:53
loolelopio: looked good, +1 for me19:59
ali1234ogra: http://paste.ubuntu.com/23079392/20:06
ali1234also don't you just love debian software with no upstream, no documentation, and no maintainer?20:07
mupPR snapd#1719 opened: firstboot: add firstboot assertions adding <Created by mvo5> <https://github.com/snapcore/snapd/pull/1719>20:36
mupPR snapcraft#750 opened: storeapi: remove dependency on the 'success' attr <Created by sergiusens> <https://github.com/snapcore/snapcraft/pull/750>20:47
mupPR snapd#1720 opened: interfaces: add lxd-support interface <Created by jdstrand> <https://github.com/snapcore/snapd/pull/1720>20:55
jdstrandstgraber: ^21:00
kyrofajdstrand, I've run into an interesting issue21:17
kyrofajdstrand, I have a service running in-snap. Some user interaction changes the settings for it and the service needs to be restarted. The service saves in PID and includes the ability to stop the previous PID and start a new one21:18
kyrofajdstrand, problem is, that seems to (logically) remove control from systemd, which means now the snap can't actually be removed because services aren't stopped21:18
kyrofa(the snap can't be unmounted because files are in use)21:19
kyrofajdstrand, I've done it this way because I assume services can't be controlled via systemctl from within the snap21:19
kyrofajdstrand, is there a better way for me to be doing that?21:21
jdstrandkyrofa: you're right about services not able to control themselves via systemd from within a snap21:23
jdstrandkyrofa: https://www.freedesktop.org/software/systemd/man/systemd.service.html has interesting things wrt to this21:25
kyrofajdstrand, hmm... I could kill it and let systemd respawn it I suppose21:27
jdstrandkyrofa: snappy's daemon handling is rather rudimentary at the moment. You might like: restart-condition: always21:27
kyrofaIndeed21:28
jdstrandkyrofa: then you just stop and systemd starts it again21:28
jdstrandkyrofa: see 'Restart' in the aforementioned page21:28
kyrofajdstrand, alright I'll give that a shot, thanks!21:28
jdstrandnp21:28
* ahoneybun tries to snap : https://github.com/jamiemcg/remarkable21:47
kyrofajdstrand, FYI, that works great21:57
kyrofajdstrand, though I'm concerned about potential abuse there21:58
jdstrandkyrofa: glad to hear :)21:58
jdstrandkyrofa: what abuse? a snap keeping systemd busy?21:58
kyrofajdstrand, a snap being unremovable without manual intervention21:59
kyrofajdstrand, is there a way to determine all pids running within the snap?21:59
jdstrandyes22:01
jdstrandat least on systems with apparmor22:01
jdstrandsystemd is supposed to handle that, but I see you found a case where it doesn't22:01
jdstrandyou can check what processes are running under snap.${SNAP_NAME}.*22:02
jdstrandI imagine snappy remove should probably try to detect that and say "sorry, please stop all processes from this snap before removing" (obviously that isn't the actual text :)22:03
kyrofajdstrand, alright, thanks :)22:34
kyrofajdstrand, another question: I'm setting a PATH in snap run and noticing that it's not set in the app. Any change snap-confine is stripping that?22:35
kyrofas/change/chance/22:36
kyrofajdstrand, ah, it seems so: http://pastebin.ubuntu.com/23079882/22:45
mhall119is /usr/lib/x86_64-linux-gnu/ inside a snap's runtime different from the host?22:53
kyrofamhall119, it's probably the one contained within the core snap22:55
ahoneybunmm travis does not like me mhall11923:26
ahoneybunhttps://github.com/ubuntu/snappy-playpen/pull/22123:26
mupPR ubuntu/snappy-playpen#221: Added otter-browser <Created by ahoneybun> <https://github.com/ubuntu/snappy-playpen/pull/221>23:26

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