/srv/irclogs.ubuntu.com/2017/05/05/#snappy.txt

=== chihchun_afk is now known as chihchun
=== JanC_ is now known as JanC
=== cpaelzer_ is now known as cpaelzer
zygaChipaca: good morning07:01
Chipacazyga: morning07:01
zygaChipaca: I'm seeing this error all the time:07:03
zygasrc/github.com/snapcore/snapd/vendor/golang.org/x/crypto/ssh/test/test_unix_test.go:25:2: cannot find package "golang.org/x/crypto/ssh/testdata" in any of:07:03
zygadoes it ring any bells? anything changed in how we vendor stuff?07:03
Chipacazyga: i have never seen it before07:04
morphiszyga: I've seen this once in a fedora build where we missed to copy testdata into place07:04
morphisbut actually that was for one of our packages not the ssh one07:05
zygaChipaca: ok, separate topic, I asked mvo how we might go ahead with storing more data into sequence but he didn't reply; I was thinking about storing a 2nd sequence like object07:05
zygahey morphis :)07:05
morphiszyga: hey!07:05
zygaChipaca: so that we can get away without patching anything in the state07:05
zygaChipaca: so sequence-ex could store more stuff (flags, path, side info)07:05
zygaChipaca: wdyt?07:05
Chipacazyga: type SuperInfo struct { *SideInfo }07:06
morphiszyga: do you have time for another review on https://github.com/snapcore/snapd/pull/3222 ?07:06
mupPR snapd#3222: many: fix test cases to work with different DistroLibExecDir <Created by morphis> <https://github.com/snapcore/snapd/pull/3222>07:06
zygamorphis: yes, I'll focus on reviews today (again)07:06
zygamorphis: I was off yesterday (despite being here a little)07:06
zygaChipaca: super info I like07:07
Chipacazyga: and make Sequence be []SuperInfo (or []*SuperInfo)07:07
zygaChipaca: hmm07:07
zygaChipaca: though07:07
zygamaybe not sure, we risk clashing fields07:07
zygaChipaca: why not just sequence-ex with dedicated fields?07:07
zyga(we can clean up when patches are live)07:07
Chipacazyga: because then you have to keep to slices in sync?07:08
zygayes07:08
Chipacazyga: and decide how to handle drift07:08
zygaI planned to already07:08
zygahmm07:08
zygain case of rollbacks?07:09
morphiszyga: thanks07:09
zygawell, this is already equally hard, there is no required data currently, we'd have to add the data only to the new sequence07:09
zygaand this is only for snap try, it is still broken today in master (from this pov) so it'd not be a regression07:09
Chipacazyga: i mean, what's the advantage of having a second sequence instead of adding to the existing?07:09
Chipacazyga: you're seeing something there that I am not07:10
zygaChipaca: the advantage is that the second sequence would not embed a go type so it cannot clash on field names there;07:10
Chipacazyga: we could even add SnapPath to SideInfo07:10
Chipacaogra_: ping?07:12
zygaChipaca: hmm hmm07:12
zygaChipaca: the problem is that we may need more than just snap path07:12
zygaChipaca: what I think we need to capture in this particular case is the fact that it was on encrypted directory07:12
zygaChipaca: more so than the fact than the actual path (which I would capture anyway)07:12
Chipacazyga: it being on an encrypted directory is something that should be detected at runtime, fwiw07:13
zygaChipaca: no, because it may not even be mounted :/07:14
Chipacaok, wait07:14
Chipacaif it's not mounted, why do you need to know if it's encrypted?07:14
zygaChipaca: have a look at the discussion here https://github.com/snapcore/snapd/pull/2837#discussion_r11485584307:14
mupPR snapd#2837: interfaces/apparmor: allow reading from ecryptfs <Created by zyga> <https://github.com/snapcore/snapd/pull/2837>07:14
zygaChipaca: because it was encrypted when the user is logged in07:14
zygaChipaca: then she logs out07:14
zygaChipaca: and snapd restarts07:14
zygaChipaca: and needs to write the apparmor policy07:14
zygaChipaca: :/07:15
Chipacazyga: brb07:15
zygano worries, I wanted to let you know about this to get you thinking07:15
zygaI'll try to fix it today but I want to agree on direction07:15
* zyga -> breakfast07:16
Chipacazyga: if the directory of a snap try goes away, the snap is removed07:20
Chipacazyga: several rough edges here though07:28
Chipacazyga: one is: if you snap install foo, and then snap try ./foo, you end up with a foo from the store and a foo from try. We don't handle this case well today at all (the whole snap is in "try mode")07:29
Chipacazyga: and the question is, if the directory goes away in this case, what should happen? should it fall back to the non-try one?07:29
Chipacai'd suggest we solve this by not allowing mixing try and non-try, at least for now07:30
Chipaca(any mixing of try and non-try can be made explicit with flags, later, where we don't mix them in state but copy config over or whatever)07:31
Chipacathis avoids all the uncomfortable corner cases of mixing the two modes07:31
Chipacaand makes the current approach of having 'trymode' on the snap (instead of the sequence) fine07:32
Chipacaand gives us an easy approach to getting the snap path, whichi is to add it next to trymode07:32
Chipacathe 'patch' code can look in changes for the snapsetup, or at the mount unit07:32
Chipaca(or we could look at the mount unit in runtime, but that feels 15.04ish :-) )07:33
Chipacazyga: i'm creating a forum topic about this07:40
Chipacazyga: https://forum.snapcraft.io/t/disallow-mixing-try-and-non-try-snap-installs/48407:50
ogra_Chipaca, yes ?08:02
Chipacaogra_: two questions for you sah08:02
Chipacaogra_: we nuke locale support from core, yes?08:02
Chipacaor have we added it back recently08:02
Chipacaogra_: (good morning! how're you doing today?)08:03
ogra_Chipaca, nope, actually locale support was nuked everywhere now (ubuntu-base, cloud images etc)08:03
Chipacaogra_: ok. 2nd question, what is the locale-control interface for, do you know?08:04
ogra_i guess nothing ... but since we never shipped locales thats fine i guess08:05
ogra_(thank you i'm fine :) )08:05
Chipacaogra_: i mean, we even have a snap to test it works08:05
ogra_not on core08:05
zygaChipaca: thank you!08:05
ogra_we never did to my knowledge08:06
Chipacaso /etc/default/locale is from "outside", on classic?08:06
ogra_thats a zyga question, not sure if snap-confine mounts it08:06
Chipacazyga: ^ :-)08:07
Chipacaogra_: by the way, it looks like core is currently shipping the locales for e2fsprogs08:08
Chipacaogra_: i assume that's a bug08:08
ogra_hmm, i wonder how they get there08:09
ogra_yes08:09
zygaChipaca: replied on the forum08:10
ogra_seems fwupdate too08:10
zygaChipaca: mmm, /etc/default/locale is from classic08:10
Chipacazyga: ok, good08:10
Chipacaogra_: and is /etc/default/locale writable in core?08:10
zygaChipaca: but also (this is an ogra topic :) on core we do some writable path magic I'm not fully versed in08:10
* ogra_ hopes /usr/share/locale too08:10
ogra_Chipaca, i dont think so ... it should be hardcoded to C.UTF-808:11
* ogra_ checks08:11
ogra_ogra@pi3:~$ mount |grep locale08:11
ogra_ogra@pi3:~$ cat /etc/default/locale08:11
ogra_LANG="C.UTF-8"08:11
ogra_yep08:11
Chipacaif the idea of locale-control is to not work at all on core, we should probably check for that08:11
Chipacaogra_: and non-writable?08:11
ogra_see the mount :)08:11
ogra_(yes, non-writable)08:11
Chipacaah :-)08:12
Chipacaok08:12
ogra_doesnt mean that wont change in case we get langpack snapsd or some such indeed08:12
ogra_*snaps08:12
ChipacaI'm pretty sure locale-control needs fixing to work on !debianish08:13
Chipacamorphis ^08:13
ogra_i'm pretty sure they dont have /etc/default on non-debian08:14
zygaChipaca: I think the whole /etc design is broken today08:15
zygaChipaca: we want to entirely stop sharing /etc08:15
zygaChipaca: and share (or mirror) selective elements08:15
Chipacaall these locale questions are because of https://askubuntu.com/q/910514/711 btw08:15
morphisChipaca: locale-control happy isn't "broken" on any !debian system today as we don't have confinement anywhere ..08:17
Chipacamorphis: it's broken in that it doesn't do what's intended08:17
Chipacai.e. it doesn't change the default locale of the system08:17
morphisChipaca: doesn't it just allow access to /etc/default/locale via AppArmor?08:17
Chipacamorphis: yes08:18
Chipacaexactly08:18
Chipacathat is not a thing in !debian, afaik08:18
morphissure08:18
morphisbut we don't have any AppARmor on anything else than Ubuntu today08:18
Chipacaah, now i gotcha08:18
Chipacaok08:18
morphisif we get AppArmor anywhere else I think we can easily add the right paths to the AppARmor snippet08:18
ogra_you can ship translations inside your snap and use them (not sure if the content interface would work here but i guess with the correct env set in your wrapper it should)08:19
ogra_there are env variables for this08:20
AdamH_Hello, is there a work around available for the problems with apt-get update on an arm board when running in classic snap on Ubuntu core?08:37
zygaChipaca: so quick question about try, is that the current design that if the directory goes away try mode snap should uninstall itself?08:39
zygaAdamH_: hey, do you have some more details about the issue?08:39
AdamH_zyga: This is the bug I am experiencing https://bugs.launchpad.net/snappy/+bug/167047508:40
mupBug #1670475: apt-secure complaints with classic snap on arm <Snappy:New> <https://launchpad.net/bugs/1670475>08:40
zygaogra_: ^ I had a look at the bug but I don't know anything about it08:42
zygaogra_: do you know what the root cause is?08:42
zygaogra_: ports vs non-ports archive?08:42
ogra_zyga, something with gnupg, i'm still not sure what ... has nothing to do with any archive servers, thats a local issue with the classic snap08:43
zygaogra_: any idea why it is specific to arm?08:43
zygaogra_: could it be some version of gpg that we've seeded into the images due to snappy?08:44
zygaogra_: gnupg 1 vs 208:44
ogra_zyga, that would be odd, i rather thing we remove to much when wrapping up the tarball for core08:45
ogra_*think08:45
zygaAdamH_: so there you go, I don't know anything more08:47
* zyga reviews https://github.com/snapcore/snapd/pull/3222/files08:47
mupPR snapd#3222: many: fix test cases to work with different DistroLibExecDir <Created by morphis> <https://github.com/snapcore/snapd/pull/3222>08:47
AdamH_zyga: Thank you08:48
ogra_AdamH_, the "workaround" is described in the bug though ... (turn off gpg checking)08:49
* ogra_ glares at the first line of https://forum.snapcraft.io/t/failed-to-flush-stdout-permission-denied/485 and tries to wrap his head around that command08:50
ogra_wondering if he made a typo there or if there is actually a snap that calls apt install08:50
Chipacazyga: I thought it was, but it isn't08:50
Chipacazyga: (the current behaviour for snapd to remove a try that vanished)08:51
Chipacait goes into broken state08:51
AdamH_zyga: Yes I tried sudo apt-get --allow-unauthenticated upgrade but still get the same error? Is there a better way to disable the check?08:52
ogra_AdamH_, upgrade ? you mean update, right ?08:53
AdamH_ogra: Yes sorry I mean update08:53
ogra_heh, k :)08:53
ogra_likewise you should be fine just typing Y on the question about unauthenticated packages08:54
pachuloyes kyrofa ! I'm looking at this: https://github.com/nextcloud/nextcloud-snap/issues/60 and was trying to compile the nextcloud-snap for my rbpi3, after hitting the out of RAM issue when compiling mysql I found out your post (https://kyrofa.com/posts/building-your-snap-on-device-there-s-a-better-way) but I the 3 builds I tried all failed:08:59
pachulohttps://launchpadlibrarian.net/318427985/buildlog_snap_ubuntu_xenial_armhf_nextcloud-snap-pachulo_BUILDING.txt.gz08:59
AdamH_ogra: I don't get a prompt when trying to update, only when I am installing a package08:59
ogra_AdamH_, yeah, thats what i mean08:59
ogra_it should install afterwards09:00
AdamH_ogra: Yes it does09:00
Chipacapachulo: I think it's about 2am for kyrofa; try in a few more hours09:14
Chipacazyga: where does the decision to include or not include (say) unity7 in the core snap come from?09:17
Chipacajdstrand: when you're around, i'd like to look at the issue of _filedir09:19
zygaChipaca: in snap/implicit.go09:23
Chipacaaha, no wonder i couldn't find it in interfaces :-)09:24
Chipacazyga: I think locale-control needs to move to implicitClassicSlots09:24
pachulothanks Chipaca !09:24
Chipacazyga: ogra_: right?09:24
mupPR snapd#3274 opened: cmd/snap,tests/main: add force-devmode switch instead of spread system blacklisting <Created by morphis> <https://github.com/snapcore/snapd/pull/3274>09:25
zygaChipaca: I think some commercial products use that slot but if you guys say it does nothing on core we need to re-visit thi09:25
morphisChipaca: if you move it somebody should query the store to see if there are any snaps which use that interface already09:26
Chipacamorphis: zyga: I can confirm that if a snap does use that interface, attempting to actually modify the locale fails09:29
Chipacain core09:29
morphisChipaca: yeah, however we need to ensure we don't break existing snaps which are installed on a core system today and use that interface09:31
Chipacamorphis: yep09:32
morphisChipaca: if snapd handles that already nicely, then I am fine09:32
Chipacasadly answering that question is harder than it should09:32
Chipacacannot create lock directory /run/snapd/lock: Permission denied09:38
Chipacapstolowski: ^ halp?09:38
ogra_Chipaca, yeah, i guess locale-control being classic only is fine09:38
Chipacapstolowski: suspect version mismash but i don't know of what :-)09:39
morphiszyga: you got "cannot find package "golang.org/x/crypto/ssh/testdata"" fixed?09:40
morphisseeing that on travis now09:40
pstolowskiChipaca, where do you see that?09:41
Chipacapstolowski: when trying to run any app09:41
Chipacapstolowski: but i might have snap-confine from master and snapd from elsewhere09:41
pstolowskiuh09:41
Chipacaso it's probably me (but please advise)09:42
zygamorphis: no09:42
zygamorphis: not sure what's going on really09:42
pstolowskiChipaca, how about checking the versions? dpkg -l|grep snap09:43
zygaChipaca: snap-confine misalinged with profile09:43
zygaChipaca: seems exactly the same what morphis ran into yesterday09:43
Chipacapstolowski: i'm not running any of the things from the package at this point09:43
zygaChipaca: are you playing around with development versions of snap-conifne?09:43
Chipacasnap-confine is from yesterday's master09:43
Chipacasnapd is snapd/2.24+git605.g2eda802.dirty09:44
zygaChipaca: ok09:44
zygaChipaca: how did you install it?09:44
Chipacasnap-confine? make hack09:44
zygaChipaca: in general you need make hack + several bind mounts :/09:44
zygaChipaca: one for the binary into core (or disable reexec)09:44
zygaChipaca: one for the apparmor profile into core09:44
Chipacasnapd, built it by hand and run-snapd-srv09:44
pstolowskiok, i'm glad zyga jumped in, because i'd never have guessed :}09:45
Chipaca¯\_(ツ)_/¯09:45
zygaChipaca: the issue is that snap runs snap-confine from core and then the apparmor profile is in /etc/apparmor.d/snap.core.$number.usr.lib.snapd.snap-confine.real09:45
zygaChipaca: and then that thing must match the one that was made by make hack09:45
Chipacazyga: snap only runs snap-confine from core if it reexecs though09:45
zygaChipaca: except for the paths (revision in core009:45
Chipacaso maybe my snap is from package09:45
zygaChipaca: maybe bug? check if you have snap09:45
Chipacathat might explain that09:45
zygaChipaca: (built from source)09:45
zygaChipaca: anyway, a dumb solution is just to bind mount the apparmor profile over that in core and restart snapd09:46
Chipacazyga: pstolowski: updated snap (manually) and snap-confine (make hack) fixed it09:48
Chipacano bind mounts needed09:48
zygamorphis: https://github.com/snapcore/snapd/pull/3222#pullrequestreview-3646942509:48
mupPR snapd#3222: many: fix test cases to work with different DistroLibExecDir <Created by morphis> <https://github.com/snapcore/snapd/pull/3222>09:48
zygamorphis: reading rest09:48
zygaChipaca: yep, this means that snap is honring reexec correctly!09:49
mupPR snapd#3275 opened: snap: move locale-control to only be present on classic <Blocked> <Created by chipaca> <https://github.com/snapcore/snapd/pull/3275>09:52
* zyga finds code review in gitk better/faster than on github10:12
zyga:/10:12
ogra_trying to debug that apt issue i get the feeling it is related to how we handle /tmp10:15
zygaogra_: oh?10:26
zygaogra_: how do we handle /tmp on classic?10:26
zygait's just the regular tmp, right?10:26
zyga(regular in snap execution environment)10:26
ogra_we dont do anything at all10:26
ogra_what i see in the logs is http://paste.ubuntu.com/24516298/10:27
ogra_see how it tiresd to use /var/snap/classic/common/classic/tmp/fileutl.message.wopbff10:27
zygawow10:28
zygawhat an insane profile!10:28
zygaah wait10:28
zyganame="/var/snap/classic/common/classic/tmp/fileutl.message.wopbff"10:28
zygaso /tmp is special!10:28
ogra_it is --devmode10:28
zygait's a persistent /tmp in $SNAP_COMMON10:28
ogra_(classic)ogra@pi3:~$ touch /tmp/foo10:29
ogra_(classic)ogra@pi3:~$10:29
ogra_(in one terminal)10:29
ogra_ogra@pi3:~$ ls -l /var/snap/classic/common/classic/tmp/10:29
ogra_total 010:29
ogra_-rw-r--r-- 1 ogra ogra 0 May  5 10:28 foo10:29
ogra_(in the other)10:29
ogra_so it actually writes there10:29
ogra_permissions and all seem fine too10:29
ogra_yet, apt prints exactly that line every time it spills the gpg error10:30
zygaogra_: that?10:31
ogra_?10:31
zygaogra_: "that line", which line is that?10:32
ogra_the one from the paste above10:32
zygaogra_: what is ="/var/snap/classic/common/classic/tmp/fileutl.message.wopbff"10:35
zygais that a socket?10:35
zygamknod being the thing that is not normally allowed10:35
zygamaybe we can now allow it and use seccomp filtering10:35
ogra_well, --devmode ... so it is aloowed10:35
ogra_sigh .... i wish that log output would be somehow readable10:37
zygaogra_: yeah10:37
* zyga would like to understand what that profile name means 10:37
zygajjohansen: ^ if you can help me out10:37
ogra_these lines are way to long to even grasp them10:37
zygato quote so that you don't have to hunt pastebins:10:37
zygaMay  5 10:12:22 pi3 kernel: [ 7741.891667] audit: type=1400 audit(1493979142.467:148626): apparmor="ALLOWED" operation="mknod"10:37
zygaprofile="snap.classic.classic//null-/usr/bin/systemd-run//null-/usr/sbin/chroot//null-/var/snap/classic/common/classic/bin/dash//null-/var/snap/classic/common/classic/usr/bin/script//null-/var/snap/classic/common/classic/bin/bash//null-/var/snap/classic/common/classic/usr/bin/sudo//null-/var/snap/classic/common/classic/bin/bash//null-/var/snap/classic/common/classic/usr/bin/sudo//null-/var/snap/classic/common10:37
zyga/classic/usr/bin/apt-get" name="/var/snap/classic/common/classic/tmp/fileutl.message.wopbff" pid=12088 comm="apt-get" requested_mask="c" denied_mask="c" fsuid=0 ouid=010:38
ogra_well, due to the ALLOWED it should technically work10:38
zygayes10:40
zygait does work10:40
zygawhatever happens it is something else that's broekn10:40
zygabroken*10:40
ogra_well, nothing in classic changed when it started to happen10:41
ogra_it must be releated to the surrounding env10:41
ogra_i see that /etc/apt/trusted.gpg is intact and contains the right keys ... i can also list them with apt-key list ...10:42
ogra_gnupg (1) is also installed fine and working otherwise10:43
=== chrisccoulson_ is now known as chrisccoulson
ogra_(i can also add/remove keys with apt-key just fine)10:44
* zyga has a crazy idea 10:46
zygato have a snapd that lives in an execution environment by itself10:46
zygaso snapd would run in a snapd namespace10:46
zygathat is consistent across distros more than the helper snapd outside10:46
zygamorphis: one more question on that PR10:48
zygamorphis: at the bottom10:48
mupPR snapd#3276 opened: tests: additional setup in docker test for core systems <Created by fgimenez> <https://github.com/snapcore/snapd/pull/3276>10:48
zygaChipaca: hey10:50
zygaChipaca: back to that sequence topic10:50
zygaChipaca: do you think this is something worth tackling today or better next week when gustavo can voice his opinion?10:51
Chipacazyga: well, there's a bunch of work to be done. Is there any you can tackle without his input?10:52
Chipacazyga: e.g. the code to grab SnapPath from existing state, for the migration10:52
Chipacazyga: the code to determine whether a directory is part of an ecrypt-encrypted volume10:53
Chipacanot volume. Tree? path? w/e10:53
Chipacazyga: i'd start there, and that's probably fiddly enough to take you over to monday10:54
zygaChipaca: that is actually easy (a simple extension of what I wrote yesterday) but I think it is stuck on a design decision: of how snaps behave when a volume is not mounted10:54
Chipacazyga: currently, they go to 'broken' state10:54
zygaChipaca: yeah but what do we _want_ to happen?10:55
Chipacazyga: yeah, that's design -> involves gustavo10:56
zygayeah10:56
zygalet's do it next week10:56
zygaok next branch10:56
Chipaca(worse, it's design i don't have an opinion on myself :-) )10:56
zygahaha10:57
pstolowskizyga, are you working on a fix for https://forum.snapcraft.io/t/hook-timeout-mechanism-not-working-in-2-24/464/4 ?10:58
Chipacapstolowski: no, you were10:59
pstolowskiChipaca, I intended to, but then zyga commented in the topic saying he would make it happen ;)11:00
Chipacapstolowski: (i mean, that's what you said yesterday in the standup? or did i misunderstand?)11:00
Chipacaahh11:00
Chipacasee, ordering is important :-p11:00
Chipacaok11:00
Chipacapstolowski: maybe his intention was to make it happen by bossing you around11:00
pstolowski:D11:01
zygapstolowski: not at present, I'm doing code reviews again11:03
zygahahaha11:04
zygapstolowski: I think I commented on that earlier but perhaps I'm mistaken :)11:04
zygapstolowski: feel free to take it11:04
Chipacazyga: With unity 8 going away, does adding online-accounts interface make sense?11:07
Chipacazyga: should we instead nuke all the unity8 support interfaces?11:07
Chipacaas unity8-in-a-snap is prooobably not going to happen11:07
zygaChipaca: I'd not nuke anything, people are free to hack on those11:08
pstolowskizyga, ok11:08
Chipacazyga: but if nothing is using them (and nothing is afaik) then they bitrot11:09
pstolowskiChipaca, yeah, we talked about this some time ago on the standup.. unity8 may be developed by community, there is some interest in continuing the project11:09
Chipacafair enough11:11
Chipacabrb (rebooting)11:11
* zyga thinks that bitroot is an interesting problem11:14
jjohansenzyga: its a learning/complain mode profile. The name starts with the profile that caused the exec chain11:38
jjohansen  snap.classic.classic11:38
jjohansenand then each //null-  is a new layer of exec, so what ever was confined by snap.classic.classic did an exec of11:38
jjohansen  /usr/bin/systemd-run  which called11:38
jjohansen     /usr/sbin/chroot  which called11:38
jjohansen          /var/snap/classic/common/classic/bin/dash  which called11:38
jjohansen               /var/snap/classic/common/classic/usr/bin/script  which called11:38
jjohansen                   /var/snap/classic/common/classic/bin/bash  which called11:38
jjohansen                        /var/snap/classic/common/classic/usr/bin/sudo  which called11:38
jjohansen                              /var/snap/classic/common/classic/bin/bash  which called11:38
jjohansen                                    /var/snap/classic/common/classic/usr/bin/sudo   which called11:38
jjohansen                                          /var/snap/classic/common/classic/usr/bin/apt-get11:38
jjohansenthat final descendant caused the log message11:38
draglyzyga: What is the status on OpenGL with Intel drivers? Should it work? I'm having trouble getting Qt an OpenGL context.11:39
jjohansenthat is quite a call chain, under older versions of apparmor you would have only see null-XXX where XXX is a unique number instead of the actual exec names11:39
jjohansenwhich was far less useful but did result in smaller names11:40
zygajjohansen: thank you for the description!11:45
zygadragly: there's no magic in snapd for opengl on intel, we don't bring any drivers form any other place, whatever the snap ships will run (or not)11:46
zygadragly: all openGL situation nees love11:46
ogra_GL surely works on clasic with intel for me11:47
zygaogra_: sure but my point is that it depends on hardware *and* snap11:48
zygaogra_: snapd should use opengl indirection helpers and load the right driver11:48
ogra_well, i only ever try witrh the krita snap11:48
zygaogra_: but nobody implemented that yet11:48
zygaogra_: and snaps should not ship drivers11:48
zygaogra_: (except for driver snaps)11:48
zygaogra_: but now none of that is true11:48
ogra_i know that makes havy use of GL ... so if you can install and run that one there is *some GL*11:48
ogra_(used to work also on my nvidia desktop)11:49
zygaogra_: as I said, there is whatever the snap author bundles11:49
zygaogra_: snapd doesn't help11:49
ogra_yeah11:49
ogra_yay ... ok, one issue found with the gpg stuff11:50
ogra_(we dont bundle /var/lib/apt/keyrings in the tarball ...)11:51
draglyzyga: Then I don't understand how it works to build on Travis (in a Docker container) and my own machines and run on Nvidia machines afterwards, but not Intel.11:51
ogra_but even putting the right thing there doesnt fix apt :/11:51
zygadragly: we have some special handling for nvidia11:51
zygadragly: but it's neither generic nor particularly good11:51
draglyOh, that explains. Thanks!11:52
draglyAre there any examples that I could look at (Krita?) that solve this manually either in the wrapper or by shipping GL drivers?11:52
zygadragly: no idea really, I can tell you what we do11:52
draglyI don't mind doing it manually, I just don't know what to look for :)11:52
zygadragly: but ideally someone should use libglvnd all the way11:53
zygadragly: a snap that is linked so that it doens't link to particular things but to libglvnd11:53
zygadragly: and contains all the drivers (as a hack / demo)11:53
zygadragly: and can find the right one using libglvnd11:53
zygadragly: later on the drivers can be removed from the demo snap and moved elsewhere (TBD)11:53
zygadragly: and if connected via content should still work11:53
zygadragly: (as in, give you the right driver while the snap with the application code has none)11:54
draglyso libglvnd is a wrapper for whichever GL lib is installed?11:55
zygadragly: libglvnd is an emerging way to do GL in a sane way on linux11:56
zygadragly: everything else is terrible11:56
zygadragly: (and deployed) ;-)11:56
zygadragly: but there are many parts missing11:56
zygadragly: improvements in snapd for the automatic driver installation, kernel parts, mouting the driver for the snap to see, working with libglvd to do the right thing, etc11:57
draglyI see11:57
zygadragly: also build system improvements11:57
zygadragly: so when people build whatever snap they don't have to hand-hold it to do the right thing (not ship drivers but ship glvnd)11:58
draglywe really want to use snaps to package our applications, but it sounds like its going to be a lot of work at the moment. Maybe its better to consider alternatives and wait for an "official" solution?11:58
zygadragly: on each distro the compiled userspace parts be shipped in blessed snaps11:58
zygadragly: but the kernel parts are an open problem11:58
zygadragly: you can just ship it the way everyone does (inside snaps) by bundling the zoo of FOSS userspace drivers11:58
zygadragly: and relying on the magic ubuntu+nvidia enablement11:59
zygadragly: we'll improve the situation with time but this is not something we're working on at the time11:59
zygadragly: what I gave you was the bleak reality about how it must be done to work correctly but what people do is very useful despite not having those things11:59
draglydo you happen to know where I can find the zoo of userspace drivers to bundle? I suppose most of them are available through apt?12:01
ogra_libgl1-mesa-dri and libgl1-mesa-glx should have them12:02
draglyogra_: great, and they go in as stage-packages, right?12:02
ogra_installing into /usr/lib/x86_64-linux-gnu/mesa and /usr/lib/x86_64-linux-gnu/dri12:03
ogra_(on amd64 that is)12:03
ogra_zyga, so i clearly verified it is the execution environment causing the gpg error, not something missing in teh tarball ... when unpacking an ubuntu-base tarball over the chroot env for the classic snap the error persists12:05
ogra_i'm now pretty sure it is related to the mknod12:06
zygaogra_: how sure?12:07
zygaogra_: can you replace the apparmor profile for classic12:07
zygaogra_: to allow everything?12:07
pstolowskizyga, question to the hooks timeout problem - you metnioned https://github.com/zyga/snapd/tree/feature/debian-9-qemu ; why do i need that - because this is an old snapd?12:08
ogra_gimme a moment ... (just uninstalled it to get a clean env again)12:08
zygapstolowski: because at that time you have snapd tree where this problem is trivial to reproduce and when you can use the only place that (non-tests) lets it happen easily (debian where we have seccomp but not apparmor)12:08
zygapstolowski: you can test this with unit tests with greater ease12:09
zygapstolowski: by just putting stuff into state the way 2.21 would do12:09
zygapstolowski: and starting the manager12:09
pstolowskizyga, thanks. unit tests are tempting. i'm not sure what 2.21 would do though12:10
zygapstolowski: just not add the timeout field AFAIR12:11
zygapstolowski: it is in HookSetup12:11
ogra_zyga, ok, back in business ... how do i allow everything again ?12:19
zygaogra_: edit /var/lib/snapd/apparmor/profiles for classic12:25
zygaremove everything there (or set it aside) and place...12:25
ogra_zyga, yeah, that bit i knowe :)12:25
ogra_(what do i need to put in, how do i regenerate)12:25
zygaogra_: you load with "apparmor_parser -r /path/to/that/file"12:26
zygaogra_: as for the contents12:26
jdstrandthat path is already allowed12:26
zygaogra_: keep the initial part12:26
zygaogra_: and inside the {  }12:26
jdstrandwait12:27
zygajdstrand: oh :)12:27
jdstrandthat path should already be allowed12:27
Chipacapopey: you around?12:27
zygaogra_: jdstrand can give you better advice12:27
* zyga runs for lunch12:27
jdstrandwell, probably not, but I may have more information12:27
ogra_http://paste.ubuntu.com/24516694/ is the current profile12:28
jdstrandperfect12:28
* jdstrand looks12:28
ogra_(but i'm also running in --devmode anyway)12:29
* jdstrand understands12:29
jdstrand@{SNAP_NAME}="classic"12:30
nothaljdstrand: No such command!12:30
jdstrand/var/snap/@{SNAP_NAME}/common/** wl,12:30
jdstrand/var/snap/classic/common/classic/tmp/fileutl.message.wopbff12:30
jdstrandright, yes, there is a rule for that12:30
ogra_well /var/snap/classic/common/classic/tmp/fileutl.message.wopbff is rather dynamically created12:31
jdstrandogra_: what is the output of 'snap info <the name of the kernel snap>'?12:31
ogra_http://paste.ubuntu.com/24516706/12:32
ogra_jdstrand, this is for Bug #1670475 BTW12:32
mupBug #1670475: apt-secure complaints with classic snap on arm <Snappy:New> <https://launchpad.net/bugs/1670475>12:32
jdstrandinteresting that beta and candidate have newer revisions than edge12:33
ogra_i verified that nothing is missing in the classic chroot by simply using an ubuntu-base tarball inside that env ... it exposes the same issue12:33
jdstrandogra_: yes, I read backscroll. thank you for looking into this btw12:33
ogra_jdstrand, yeah, i need to sync again ... i can swithc the board to beta if that helps ... (i doubt it though)12:33
ogra_kernel team only releases to beta and candidate ... edge is for tinkering12:34
ogra_(i.e. manual uploads)12:34
jdstrandogra_: what are the permissions of /var/snap/classic/common/, /var/snap/classic/common/classic/ and /var/snap/classic/common/classic/tmp/?12:34
jdstrandhmm12:34
jdstrandyes, answer that, but, the fact that this says ALLOWED is wrong because the rule is in the policy12:35
jdstrandI think this is a complain mode denial bug12:35
ogra_http://paste.ubuntu.com/24516718/12:35
jdstrands/is/may be/12:35
jdstrandogra_: can you use -ld12:35
ogra_http://paste.ubuntu.com/24516723/12:36
ogra_also a "touch /tmp/foo" from inside the running chroot shows up fine as /var/snap/classic/common/classic/tmp/foo12:37
jdstrandright ok12:37
jdstrandI think this is a complain mode denial bug12:37
ogra_so the mknod will be denied while it shouldnt ?12:38
jdstrandogra_: can you boot into the highest revision available? iirc, there were some fixes for this sort of thing12:38
ogra_sure12:38
jdstrandogra_: the bug (I suspect) is that even though there is a matching rule in the policy (the one I pasted), there is a bug that the file access isn't matching the rule (which is why we see ALLOWED). there is a second bug (my theory) that even though we are in complain mode, the kernel is still denying it12:40
jdstrandogra_: the fact that non-dragonboard kernels aren't seeing this gives support to a kernel bug12:41
ogra_jdstrand, all arm kernels see it now12:41
jdstrandbut not amd64/i386?12:41
ogra_(note i'm on a pi3)12:41
ogra_i havent tried x86 ... you claimed in the bug i386 works12:42
jdstrandogra_: well, at the time, but at the time armhf worked too12:42
jdstrandso maybe everything is broken12:42
ogra_HA!12:43
ogra_works !!!12:43
jdstrandwe are getting into jj territory here, but I'd like to have a simpler reproducer12:43
ogra_crazy12:43
jdstrandok, good :)12:43
jdstrandwell, no, we had complain mode bugs that jj fixed :)12:43
jdstrandso, it sounds like the pi3 kernel needs those fixes too12:43
jdstrandiirc, pi3 is stuck due to boot image stuff12:44
ogra_before: http://paste.ubuntu.com/24516746/ ... after: http://paste.ubuntu.com/24516747/12:44
ogra_right12:44
ogra_pi's are all stuck12:44
jdstrandok12:44
jdstrandso now we have triaged the bug12:44
jdstrandlet me add a comment12:44
ogra_there is another issue (we dont keep the keyring around in the tarball) but i'll fix that one today12:45
jdstrandwhen the pi's are all updated with latest apparmor (I think I tried on bbb), they should be fixed12:45
jdstrandogra_: you went to beta?12:47
ogra_yep12:47
jdstrandogra_: oh, that is a pi2-kernel. ok12:48
mupPR snapcraft#1223 closed: kernel plugin: check_config() and check_initrd() support <Created by piso77> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/1223>12:48
ogra_well, pi kernel12:49
ogra_(it is identical for 2 and 312:49
ogra_)12:49
jdstrandogra_: I thought there was a forum topic on the boot/gadget/kernel issue. can you give it to me or a bug?12:56
ogra_one sec12:57
* jdstrand couldn't find it12:57
ogra_https://forum.snapcraft.io/t/updating-bootloader-assets-in-the-gadget-snap/7012:57
ogra_just a serach for gadget reveals it12:57
jdstrandoh, I did look at that12:57
jdstrandbut I thought that was different. ok thanks12:57
zygare12:57
ogra_jdstrand, it is also supposed to be a hot topic at the current sprint12:57
mupPR snapcraft#1294 closed: meson plugin: Add plugin for meson build system <Created by JulianLiu> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/1294>12:58
zygaogra_: standup13:03
ogra_zyga, yeah13:03
zygamorphis: you are welcome to join us if you have no conflicts13:03
mupPR snapd#3277 opened: cmd/snap, client: add "whoami" command <Created by chipaca> <https://github.com/snapcore/snapd/pull/3277>13:06
mupPR snapcraft#1296 closed: rust snaps can now use source-subdir without failing on pull <Created by roxyd> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/1296>13:13
mupBug #1670475 changed: apt-secure complaints with classic snap on arm <Snappy:Invalid> <https://launchpad.net/bugs/1670475>13:13
=== grumble is now known as 14WAA001L
=== 14WAA001L is now known as grumble
=== mup_ is now known as mup
jdstrandChipaca: hey, saw in backscroll you needed me, but not sure from backscroll if you still need me (fyi, I commented on locale-control PR)13:24
Chipacajdstrand: yes!13:29
Chipacajdstrand: about _filedir13:29
Chipacajdstrand: I'm pretty sure I addressed the biggest issue already13:29
Chipacajdstrand: the only place it trips up now is from the outside in13:30
Chipaca(so there's some mis-quoting going on but i'll have to dig)13:30
Chipacabut for example if something has spaces I correctly get back things that backslash the space13:30
Chipacaie “Screenshot\ from\ ”13:31
Chipacajdstrand: could you take a poke and see if you see the same?13:31
AdamH_Gents, I have been watching the comments and can see the issue with apt-get requires a newer kernel. Is there a how-to or guide anywhere on how to update to a new one?13:31
ChipacaAdamH_: I think as long as you can reflash, yes13:32
jdstrandChipaca: you updated the PR for this?13:32
ChipacaAdamH_: ogra_ knows more13:32
Chipacajdstrand: 1 sec13:32
Chipacajdstrand: there was a bug in compopt13:33
Chipacajdstrand: https://github.com/snapcore/snapd/pull/3150/commits/8a60343a82a23d91284f863d8bff226dccdc21bd13:34
mupPR snapd#3150: In-snap bash tab completion <Created by chipaca> <https://github.com/snapcore/snapd/pull/3150>13:34
Chipacajdstrand: actually https://github.com/snapcore/snapd/pull/3150/commits/8a60343a82a23d91284f863d8bff226dccdc21bd#diff-96d0d48e1bd095153ade81afdb99f7ebR8513:34
AdamH_Chipaca: Yes I can reflash if needed13:34
jdstrandChipaca: ah, cool. ok. gimme a bit and I can take a look later this morning13:35
Chipacajdstrand: ok lurvely13:35
jdstrandoh, heh13:35
* jdstrand just looked at the commit13:35
Chipacayeah13:35
morphiszyga: sorry, got back to late from my lunch break13:38
zygamorphis: no worries13:39
popeyChipaca: sorry, was afk13:39
popeyChipaca: if this is about the thread on forum about my sign on being broken, I can't reproduce it, unless IS nukes the password on my store account (that's how you reproduce it)13:42
popeye.g. get your password leaked somewhere and IS pro-actively help you :)13:42
=== petevg_afk is now known as petevg
Chipacapopey: so what's your password?13:52
Chipacapopey: is it ********13:53
spineauzyga: hi, I'm testing the ability to run other snaps commands from checkbox snap. That's amazing13:57
zygaspineau: hey13:57
zygaspineau: is it working ok? :)13:57
spineauzyga: with core from beta yes, we can call them13:58
spineauzyga: but I'm facing a limitation13:58
zygayes?13:58
spineauzyga: for example I have a tpm2 command with a -o parameter to save something to a file13:58
spineauzyga: it seems that the only allowed location is SNAP_USER_COMMON13:59
spineauzyga: I'm not sure if there's a way to share data between snaps14:00
zygaspineau: aha, interesting point14:00
zygaspineau: if your test snaps have the home interface then you can connect it and just share data this way14:00
spineauzyga: but SNAP_USER_COMMON which works is the one for the tpm2 snap (not the one fro mcheckbox of course)14:00
popeyChipaca: indeed, hunter2 all the way14:01
spineauzyga: ok, I'll try that. thanks for the tip14:01
zygaspineau: there are other ways but I'd recommend against them until the (dreaded) update-ns feature is finished14:01
kyrofaOh man, pachulo, you and I are on very different timezones :P . This conversation might be best on a new issue against the snap14:08
kyrofapachulo, something is weird there: why is the php part pulling in python? Please log a bug against the snap, let me see the changes you're trying to make, and we can troubleshoot asynchronously there :)14:11
kyrofapachulo, thanks for taking a crack at that bug!14:12
AdamH_ogra: How did you update the kernel on your rPi3 to resolve the apt-get issue?14:16
zygaAdamH_: you have to rebuild the image and reinstall14:17
zygaAFAIK14:17
AdamH_zyga: By rebuilding do you mean grabing the latest daily build and re-imaging?14:18
zygaAdamH_: I think so14:19
* zyga didn't try14:19
AdamH_zyga: Thanks, will give it a go14:19
zygaAdamH_: we're working on fixing the root issue but it will still take a while to plan/schedule14:19
AdamH_zyga: Yes understood14:20
ogra_zyga, huh ?14:41
ogra_AdamH_, if you use a stable image there is no way ... if you use a daily/edge image: snap refresh pi2-kernel --beta14:42
ogra_that will switch you over to the beta kernel14:42
ogra_(do not run that on a stable pi image, it wont boot anymore)14:43
ogra_(well, it will roll back ... but never boot into the new kernel)14:43
zygaogra_: hm?14:46
ogra_zyga, why would he need to rebuild14:46
zygaogra_: I thought because to boot one needs to get a fresh image with edge kernel14:48
ogra_zyga, if you are on an edge image you can just switch channels for the kernel via refresh14:48
ogra_i do that all the time ... in fact i usually install a daily and then switch kernel to beta and core to stable after first boot ;)14:49
ogra_thats the current way to keep a pi up to date14:49
zygaogra_: wait, I must be missing something; if I start on a stable image, can I use edge kernel/core?14:52
ogra_zyga, you cant use an edge kernel on stable, no (wont boot and just roll back) ... you can use the edge core on stable ... and you can use edge/beta/candidate or whatever you want to all packages on a daily image14:57
ogra_so it always depends what image you started from ... rebuilding anything wont gain you anything though14:58
ogra_(stable gadget only goes with stable kernel ... nothing else will boot)14:58
pachulook kyrofa , I will do that!15:38
=== didrocks1 is now known as didrocks
mupBug #1621745 changed: snapd package is missing dependency on grub-common for grub-editenv <Snappy:Fix Released> <Ubuntu Image:Fix Released> <https://launchpad.net/bugs/1621745>15:47
mupBug #1534154 changed: BootAssetFiles have new "Dst" key that we should support <Snappy:Invalid> <https://launchpad.net/bugs/1534154>15:53
zygajdstrand: hey15:55
=== chihchun is now known as chihchun_afk
zygajdstrand: I have something, an experiment of afternoon friday hacking15:55
zygajdstrand: I was wondering if snapd could do the resolving on seccomp profiles15:55
zygajdstrand: so snap-confine could be easier and more portable15:55
zygajdstrand: so I came up with a way15:55
zygajdstrand: interested? :-)15:56
jdstrandI'm not sure how it would be more portable. if this is something you are going to be pushing for, yes I definitely want to discuss it. however, my friday is completely booked for non-experimental stuff, so perhaps next week?15:59
jdstrandzyga: ^15:59
zygajdstrand: perhaps portable is less iteresting; the point is that it would be smaller and would change less often16:02
zygajdstrand: yeah, this is a total RFC and idea16:02
zygajdstrand: I'll catch you next week16:02
jdstrandcool, thanks16:02
jdstrandChipaca: fyi, I haven't forgot you. I'll get there16:02
jdstrandforgotten*16:02
* Chipaca steps back from the ledge16:02
jdstrandlol :)16:03
Chipaca:-)16:03
Chipacajdstrand: I'm in a maze of twisted error messages, all different16:03
Chipacajdstrand: not busy-waiting on you16:03
jdstrandok cool16:03
jdstrandwell16:03
Chipaca(but yeah i could do with landing that branch today, which i will do if you confirm what i found)16:03
jdstrandnice that you aren't waiting on me. not so nice about the twisty maze16:04
Chipacajdstrand: that's ok, i get to use a type called "stringish"16:04
zygaChipaca: what are you hacking on?16:07
Chipacazyga: store16:08
Chipacazyga: some responses from sso are not what we expect16:08
Chipacazyga: have you figured out the test breakage16:09
zygaChipaca: no, I should probably have a look at that ...16:12
Chipacazyga: only if you haven't EOW'ed16:13
zygano, not yet, still digging16:13
cjwatsonelopio: doesn't look too difficult to sort out a git:// proxy in launchpad-buildd, so I'm working on that16:15
cjwatsonamong the nineteen thousand other buildd patches I have queued ...16:15
zygafg16:16
Chipacazyga: fg: current: no such job16:16
zygaare you saying I'm slacking ;)16:18
* zyga runs spread16:23
zygaI wonder if it fails locally16:23
zygaChipaca: oddly it built fine locally (in qemu)(16:32
zygaChipaca: I'll try linode next16:32
elopiocjwatson: thanks! I think for my case I can install phantomjs from the deb, but last time I tried that it ended in a mess. I'll try again.16:49
cjwatsonI have a juju tentacled monstrosity on my laptop to make it easier to test this stuff16:54
Chipacazyga: yeah i tried to say 'it works for me' in the standup but google hated me just then17:02
* zyga goes to pick up kids17:12
=== cachio is now known as cachio_afk
Chipacazyga: did you kick off the tests on snapd#3275 again?17:44
mupPR snapd#3275: snap: move locale-control to only be present on classic <Created by chipaca> <https://github.com/snapcore/snapd/pull/3275>17:44
cjwatsonelopio: OK, I think I have this working locally \o/17:46
cjwatsonjust waiting to see exactly how far it gets, since running snap builds behind slow ADSL isn't the quickest of experiences17:47
elopiocjwatson: awesome!17:47
elopiocjwatson: I'm happy you are done with that one, because, I have another one :( https://build.snapcraft.io/user/elopio/ipfs-snap/3523117:48
cjwatsonwhat the heck is gx17:51
elopiocjwatson: it's a go package manager on top of ipfs.17:53
elopiobut I think that when you don't have ipfs, like in this case, it just uses http.17:53
cjwatsonelopio: anyway, it's 7pm on Friday, I'm unlikely to get to it today; can you file a bug on launchpad-buildd?17:55
cjwatsonI have a bunch of stuff queued up that may help, but I'd need to check it17:55
cjwatson(particularly my local-snap-proxy branch which means we stop having to worry about client-specific support for authenticated proxies)17:56
elopiocjwatson: sure. Thanks a lot, and enjoy the weekend.17:57
elopiohttps://bugs.launchpad.net/launchpad-buildd/+bug/168862418:04
mupBug #1688624: ipfs fails to build: no such host <launchpad-buildd:New> <https://launchpad.net/bugs/1688624>18:04
zygare18:41
zygaChipaca: looking18:41
zygaChipaca: no, I don't think I did18:41
zygaChipaca: did you figure anything out?18:41
Chipacazyga: no, but it came up green18:45
Chipacazyga: in fact both 3275 and 3277 are green in travis18:46
zygaChipaca: wasn't me18:49
zygamaybe mvo fixed something?18:49
Chipacazyga: ogra left for the weekend and turned off his break-everything-inator18:51
Chipacazyga: ogra's surname is doofenshmirtz18:52
zygalol :)18:52
* zyga runs his locally built snapd19:03
zygaChipaca: this is why snapd should not become init ;-)19:04
Chipacapopey: https://github.com/snapcore/snapd/pull/327819:06
mupPR snapd#3278: store, daemon, client, cmd/snap: handle PASSWORD_POLICY_ERROR <Created by chipaca> <https://github.com/snapcore/snapd/pull/3278>19:06
mupPR snapd#3278 opened: store, daemon, client, cmd/snap: handle PASSWORD_POLICY_ERROR <Created by chipaca> <https://github.com/snapcore/snapd/pull/3278>19:06
zygasurprisingly nothing explodes!19:15
jdstrandChipaca: commented19:18
jdstrandChipaca: I think you are good to go19:18
popeyChipaca: yay19:26
cratliff_kyrofa:  Have you had to do anything with adding rules to rosdep while making a snap?  Would any packages pointed to by custom rosdep rules need to be made as a part in the snap?19:28
=== cachio_afk is now known as cachio
zygasome failures on the nice password policy error branch19:56
zygaChipaca: commented on the PR19:58
Chipacazyga: my bad, will fix21:29
zygaChipaca: hard to guess21:31
* zyga runs another spread run and EOWs21:32
Chipacazyga: guessing is super easy!21:32
Chipacai do it all the time21:32
mupPR snapd#3150 closed: In-snap bash tab completion <Created by chipaca> <Merged by chipaca> <https://github.com/snapcore/snapd/pull/3150>21:33
Chipacaladies ^21:33
* zyga claps21:33
zygaThat's some fine work there mate!21:33
Chipacathat was a cow of a thing, glad it's on the other side :-)21:33
Chipacanow i need to write something up to explain it a bit21:33
Chipacaalso, chase down bugs i'm sure. But first i've got branches to polish.21:34
* mcphail wakes up. Wow. Cheers Chipaca 21:34
Chipacazyga: jdstrand: thank you :-)21:34
zygaChipaca: I ended this week with a small experiment, https://github.com/zyga/snapd/tree/feature/typed-syscalls21:36
zygaChipaca: works OK though not the full potential, the output is still rather ugly, I'll make it sort by interface so that it is nicer to look at21:36
Chipacahuh21:37
zyga?21:37
zygaanyway21:39
zygabeer time21:39
zygaand tomorrow21:39
zygafarm!21:39
Chipacazyga: multiple iotas21:39
Chipacai'd always seen it written as a single thing21:39
Chipacalike, const ( Foo = FooClass(iota); Bar; Baz; Quux )21:39
zygaChipaca: yeah, I think I wanted that without the many iotas but it didn't do the thing I expected21:40
* zyga tries21:40
zygaah, I'm drunk, it works ok21:41
Chipacaas long as the type is on the expression, it works21:41
zygaChipaca: yep, pushed21:42
Chipacaif instead you do const ( Foo FooClass = iota; Bar; Baz )21:42
Chipacathen i think just Foo is FooClass, the others are just ints21:42
zygaChipaca: this branch might arguably fix the dreaded hrsearch_r failed :)21:42
zygahsearch_r *21:42
Chipaca:-)21:42
zygaas it does the hard work so that snap-confine can be ... dumb21:42
Chipacazyga: you need to sit down with jdstrand tho21:42
zygayes, I think he may dislike it21:43
Chipacazyga: then sit down with him before falling in love with this too much :-D21:43
zygabut I wanted to do it anyway, to show that with some parsing the seccomp profiles can be better (nicer, sorted, de-duplicated, described, etc)21:43
zygaChipaca: well, it's a friday thing :)21:43
zygaon the slower week21:43
Chipacayeah21:44
Chipacamaybe i should've worked on the progress bar / terminfo thing21:44
Chipaca:-)21:44
zygaohh21:44
zygaterminal stuff is my other love21:44
zygathat's for weekend tho21:44
Chipacaproper colour support is _terrible_21:44
zygawhy?21:45
zygaare you kidding me?21:45
Chipacano, no i'm not21:45
zygaone sec21:45
* Chipaca is having a beer as well21:45
zygaChipaca: super ancient stuff I never landed https://github.com/zyga/guacamole/pull/1521:45
mupPR zyga/guacamole#15: Add terminal awareness ingredient <Created by zyga> <https://github.com/zyga/guacamole/pull/15>21:45
zygaJust scroll :D21:46
zygahttps://github.com/zyga/guacamole/blob/master/examples/rainbow.py is also fun to look at21:46
jdstrandI'm about to head out but I can say a couple of things, drop the mic, then leave. the hsearch_r things should be fixed now with reexec so long as you build snap-confine and snapd and copy both over. I'm not 100% sure this is going to work the way you want by dropping the snapd binary anywhere. but more importantly, it makes policy development difficult cause the policy writer has to figure out the number to put in the policy21:46
jdstrandmost importantly, snap-confine can't be that dumb and will have to parse at least some things21:47
jdstrandeg, the current real and effective user (for the user/groups branch I'm working on)21:47
zygajdstrand: no, it's still optional; the way I made it it could even fail at build time (loudly) but now just gets forwarded to snap-confine as-is21:47
zygajdstrand: sure, I know and I agree21:47
zygajdstrand: I think I wanted to do this to make the generated profiles nicer21:48
jdstrandwell, if you are trying to make snap-confine dumb, then it won't be optional21:48
zygajdstrand: dumber, not fully dumb21:48
zygajdstrand: it will not need a lot of those maps21:48
zygajdstrand: but anyway, this is a secondary goal, I really wanted to make profiles more readable21:48
zygajdstrand: right now they are a bit... well, mashed up21:48
jdstrandI don't like the sort either21:49
zygajdstrand: (and FYI, I'm not fully happy with the output now, but it is better than before)21:49
jdstrandwe want comments inline with the rules that are there21:49
jdstrandplus, the map stuff doesn't really look any prettier to me than then C21:49
zygajdstrand: those stay21:49
zygahttp://paste.ubuntu.com/24519406/21:49
zygajdstrand: (this is still with relatively naive output, it can look nicer still)21:50
jdstrandI don't see how that output is any better... I see a bunch of comments explaining what you mapped to21:51
zygajdstrand: mainly by keeping the flow of snippets, adding headers "# this is what interface FOO added:" etc21:51
jdstrandthat is fine21:51
zygajdstrand: the previou output was worse as it was totally (crappily) sorted on huge multi-line strings21:51
jdstrandbut that is supposed to be at the top of the snippets for each interface anyway21:51
jdstrandanyway, I gotta go21:51
zygajdstrand: oh, and one more thing, I didn't do it in this branch but the # description stuff really should not live in snippets21:51
zygajdstrand: o/ enjoy the weekend, see you next week :)21:52
jdstrandyou too! :)21:52
Chipacawrt colour support being terrible, there is no good way of detecting whether a terminal supports 16M colours21:55
Chipacaterminfo have said they won't support it at all21:55
Chipacaand of the terminals that support it, they only support it from a certain version on (if compiled with the right flags), and only VTE exposes something you might use to guess (the VTE version)21:56
Chipacaso, you say, no problem, ignore 16M colours and use the paletted 256 colour support21:56
Chipacawhich is much more prevalent, and detectable (terminfo knows)21:56
Chipacabut, but, it's a palette, and in some but not all terminals it's a _modifiable_ palette. And some of the terminals that let you modify it let you query it (in a horrible horrible way that involves termios things to read it back), but not all21:57
Chipacaso there's absolutely no sane way of saying "make this text be of colour #c0ffee"21:58
Chipacayou can say "make this be colour #2"21:58
Chipacawhich will be something blue, or green, depending, but only if the user hasn't changed it to something else21:59
zygaChipaca: yeah; hence I did the insane, locally see which terminal emulator is used ;D21:59
zygaChipaca: but actually most things support the 16M colors fine22:00
zygaChipaca: and the rest, well, screw that stuff22:00
Chipacazyga: the problem is that some of the stuff that _doesn't_ is actually important22:00
Chipacalike, screen ant tmux22:00
zygaChipaca: it's also compound by the fact that multiplexers and even ssh can make stuff crazy22:00
zygaChipaca: ha, I know :)22:00
Chipacaheh, see :-)22:00
zygaChipaca: I have a secret plan for that tho :)22:00
zygaChipaca: long standing desire to fix that properly22:01
Chipacaso, I'm probably going to write something called schmerminfo22:01
zygawhat would that do?22:01
Chipaca(it's half written in my head already)22:01
Chipacazyga: be a very opinionated thing that does the same sort of thing as terminfo does, but just for the stuff i care about22:01
Chipacaalternatively i could make it fall back to terminfo (i mean, i already wrote _that_ one in go :) )22:02
Chipacaand just sprinkle colour magic on top22:02
ChipacaOTOH, i don't need all terminfo22:02
Chipacaso ...22:02
zygaChipaca: how would the API look like?22:02
Chipacait's there at the back of my head percolating22:02
Chipacazyga: I've tried something like the terminfo api, and it's pretty nasty22:03
Chipacazyga: so I'll be looking at doing something fmt-ish next, see how that one feels22:03
zygaChipaca: yeah, I think that's the right intuition22:03
zygaChipaca: I tried it myself too earlier and anything heavier or more typed was too annoying to use22:04
Chipacaanyway, that's backburner stuff for me22:05
zygaChipaca: btw, the guacamole thing I linked to has one fun element: colorblind mode22:05
Chipacaand it's got so many branches, it never ends22:05
zygaChipaca: lets you run your app with color emulation to see how specific kind of colorblindness might be perceived22:05
Chipacazyga: ah, i'll look at that sometime then, as that was on my mind also22:05
Chipacazyga: one of the branches of this problem space (i.e., "make progress bars pretty and functional") was progress bar for transformative io22:06
zygaChipaca: https://github.com/zyga/guacamole/blob/colorblind/guacamole/ingredients/color.py22:06
Chipacaie a progress bar for decompressing something22:06
Chipacawhere it tells you what it's read, and what it's decompressed22:06
Chipaca(or compressed)22:06
zygaChipaca: I recommend you to look at RHEL 7 bootup22:06
zygaChipaca: the progress bar is totally pretty22:07
Chipacazyga: the textmode one?22:07
Chipacahaven't seen that22:07
zygaChipaca: or any opensuse/fedora thing that boots in text mode22:07
zygaChipaca: more crazy and fun stuff: https://github.com/zyga/guacamole/blob/colorblind/guacamole/ingredients/color.py#L40422:07
* zyga loves verbose python22:07
zygahttps://github.com/zyga/guacamole/blob/colorblind/guacamole/ingredients/color.py#L50022:08
zygasome more craziness: https://github.com/zyga/guacamole/blob/colorblind/guacamole/ingredients/color.py#L63522:08
Chipacazyga: guacamole seems to ignore the whole "paletted terms change their colours" thing :-)22:08
zygahttps://github.com/zyga/guacamole/blob/colorblind/guacamole/ingredients/color.py#L76922:08
zyga:D22:09
zygaChipaca: ah, no22:09
zygaChipaca: well22:09
zygaChipaca: there are sets that change22:09
zygaChipaca: and there are sets that don't change22:09
AdamH_Gents, I have a mir-kiosk app that builds and runs fine on Ubuntu core running in KVM but I get the following error when built using classic snap on rPi3 - mirserver: Rejected and disconnected a client (Unsupported protocol version) Any idea where the mirserver logs are? Trying to debug22:09
zygaChipaca: if the programmer asked for a specific color then I use those that don't change22:09
zygaChipaca: if you asked for symbolic indexed 8 element palette then those change22:09
zygaChipaca: but...22:09
zygaChipaca: bare with me :-D22:09
zygaChipaca: https://github.com/zyga/guacamole/blob/colorblind/guacamole/ingredients/color.py#L30222:10
zygaChipaca: I also try to know what they were by default22:10
zygaChipaca: I also looked at how I can ask the terminal for the real values at runtime22:10
ChipacaAdamH_: looks like your mir server and client have different libmirclients22:10
zyga(guacamole was more of an experiment to explore colors than practical tool)22:10
zygaChipaca: this is fun because you can use gnome-terminal with guacamole to ask how your application would render on putty (color accurate) or apple's terminal emulator22:11
AdamH_Chipaca: Thanks, is there a quick way to tell?22:11
zygaChipaca: using the right color mixer you can get that output22:11
zygaChipaca: guacamole has one big flaw though, it is a python library, not something universal22:11
zygaChipaca: slowly, I'm building a universal solution22:11
Chipacazyga: nice22:11
ChipacaAdamH_: I'm not sure; check the soname?22:12
zygaChipaca: where it is more like modern graphical stack than terminal stuff, but we'll see :)22:12
AdamH_Chipaca: Not sure what soname is, but you have given me something to read up on thanks22:15
zygaChipaca: anyway, I'll think I'll stop typing now, enjoy your weekend :)22:16
Chipacazyga: way ahead of you :-)22:18
mupPR snapd#3275 closed: snap: move locale-control to only be present on classic <Created by chipaca> <Merged by chipaca> <https://github.com/snapcore/snapd/pull/3275>22:38
=== bdxbdx is now known as bdx

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