/srv/irclogs.ubuntu.com/2019/11/28/#snappy.txt

mupPR snapd#7796 closed: overlord/snapstate: make sure configuration defaults are applied only once <⚠ Critical> <Created by bboozzoo> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/7796>04:57
mupPR snapd#7811 closed: cmd/snap-bootstrap: some small naming and code org tweaks <UC20> <Created by pedronis> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/7811>04:57
mupPR snapd#7814 closed:  overlord/snapstate: make sure configuration defaults are applied only once (2.42) <⚠ Critical> <Created by mvo5> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/7814>04:58
mupPR snapd#7816 opened: release: 2.42.4 <Simple 😃> <Created by mvo5> <https://github.com/snapcore/snapd/pull/7816>06:30
pedronismvo: hi, I made some (further) comments in #7810, hope they make sense07:26
mupPR #7810: devicestate: add reading of modeenv to uc20 firstboot code <UC20> <Created by mvo5> <https://github.com/snapcore/snapd/pull/7810>07:26
mvopedronis: good morning07:28
mvopedronis: looking, thanks a lot for the feedback07:28
pedronismvo: that final note probably means we should tweak the boot pkg interface for modeenv to avoid errors, but can be done a bit later07:33
mvopedronis: ok, the comment makes sense, I will work on this in a wee bit (after some baby-sitting for 2.42.4, the review tools are acting up or something else is blocking reviews)07:34
=== pstolowski|afk is now known as pstolowski
pstolowskimorning08:03
marcustomlinsonmorning :)08:03
mvopedronis: thanks and I updated 7810 - hope I captured what you suggested there08:08
mvopstolowski, marcustomlinson good morning!08:10
pedronismvo: reviewed08:25
mvopedronis: thank you!08:42
mupPR snapd#7817 opened: boot,bootloader: make MakeBootable() uc20 aware <UC20> <Created by mvo5> <https://github.com/snapcore/snapd/pull/7817>09:01
zygaGood morning09:03
zygaWorking till 1am09:03
zygaWill start in an hour09:03
zygamvo: is the release successful?09:04
mvozyga: so far it looks good, we need sergio to do the validations now but stuff is in beta09:06
zygaAck09:16
pedronismvo: did a pass on 781709:18
mvopedronis: thank you!09:20
mupPR snapd#7818 opened: cmd-boostrap: write /var/lib/snapd/modeenv to the right place <Simple 😃> <UC20> <Created by mvo5> <https://github.com/snapcore/snapd/pull/7818>09:28
pedronismvo: let me know if you have questions09:29
mupPR snapd#7750 closed: sanity: check /dev/loop-control device as part of sanity checks <Created by stolowski> <Closed by stolowski> <https://github.com/snapcore/snapd/pull/7750>09:33
mvopedronis: looks good, will work on this next09:34
mupPR snapd#7819 opened: boot: add boot.Modeenv.Base support <Simple 😃> <UC20> <Created by mvo5> <https://github.com/snapcore/snapd/pull/7819>09:35
mvopedronis: thank you so much for the review of the uc20 booting spec!09:35
mborzeckimorning09:43
pstolowskihey mborzecki09:44
mvohey mborzecki09:51
pstolowskipedronis: reviewing your plug/slot name cstrs09:52
pedronispstolowski: thx,  I asked a question in the is-connected one09:55
pstolowskity09:55
mborzeckiheh, switching to OneTab is kind of difficult, i don't feel this workflow yet10:13
pstolowskimborzecki: it's a pitty firefox dropped the tab groups feature, it was cool10:17
mborzeckipstolowski: not the only useful thing they dropped (or are dropping)10:18
mborzeckiiirc scratchpad is next to go10:18
mborzeckias mus as i dislike js scratchpad was kind of useful to testing stuff out10:19
zygahey mborzecki10:20
* zyga is back now10:20
zygabut feeling so so still10:20
=== pedronis_ is now known as pedronis
pstolowskipedronis: updated #777110:41
mupPR #7771: o/hookstate/ctlcmd: snapctl is-connected command <Needs Samuele review> <Created by stolowski> <https://github.com/snapcore/snapd/pull/7771>10:41
pedronispstolowski: mmh, did you try it?10:44
pstolowskipedronis: i've run the spread test10:45
pstolowskipedronis: why?10:45
pedronisI'm confused by our code then10:45
ondrazyga hey10:48
zygahey10:48
zygaI just wanted to ensure you know that to use the fix you need to enable the experimental option10:48
ondrazyga sorry I was out yesterday, still something I can help today?10:48
zygaand that the gadget will enable it10:48
zygano worries :)10:48
ondrazyga for refresh bug?10:49
zygayes10:49
ondrazyga what is config option, so I can make sure it's in our gadget10:49
zygaondra: it's exactly the same one as was given in all the bug reports10:50
ondrazyga cool, let me check10:50
zygasnap set core experimental.robust-mount-namespace-updates=true10:50
pstolowskipedronis: my bad, the error is actually "error: error running snapctl: plug is not connected" (i misread the output)10:53
pstolowskipedronis: that's a byproduct of our error propagation10:53
pstolowskipedronis: was that the confusing bit?10:54
pedronispstolowski: yes10:55
pedronispstolowski: I think we need to decide what to do, that's kind of a not great error for this10:55
pedronisalso the double error... : is bad in general10:56
mupPR snapd#7816 closed: release: 2.42.4 <Simple 😃> <Created by mvo5> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/7816>10:57
pstolowskipedronis: true. slightly annoying is the fact that the only way for reporting non-zero status from this corner of the code is via non-empty error message10:57
pedronispstolowski: I don't think that's true10:58
pedronispstolowski: anyway, let me think a bit10:58
zygaok, only one more thing to write11:01
=== ricab_ is now known as ricab
pstolowskipedronis: ok, looking at api - runSnapctl we could special case this like we do for ForbiddenCommandError; on the client we always append "error: ", that way we would have "error: plug is not connected"11:04
mupPR snapd#7820 opened: [RFC] boot: add boot.Modeenv.Kernel support <UC20> <Created by mvo5> <https://github.com/snapcore/snapd/pull/7820>11:07
pedronismvo: ^ we need to discuss this, is unexpected11:08
mvopedronis: yeah, happy to - this is why its RFC :) I'm pondering how to link from the static kernel.img back to the right kernel snap that needs to get mounted in initramfs11:09
mupPR snapd#7706 closed: overlord/snapstate: install task edges <Preseeding 🍞> <Created by stolowski> <Merged by stolowski> <https://github.com/snapcore/snapd/pull/7706>11:09
mvopedronis: that's the reaosn for this PR but I'm probably missing something11:09
=== ricab_ is now known as ricab
mvopedronis: happy to chat (here or HO) in a bit, just need a short break11:11
pedronismvo: I need to have lunch11:11
zygatracking is now tested to work across all systems except 14.0411:14
zyganeed to rewrite snap-run patch not to shell out to busctl11:14
zygathen it will work faster and on all of them11:14
zygawhee11:15
mborzeckizyga: does it work on centos/amazon too?11:15
zygayes11:16
mborzeckicool11:16
zygahttps://github.com/snapcore/snapd/compare/master...zyga:feature/sub-cg-wip-v2?expand=111:16
=== ricab_ is now known as ricab
zygamborzecki: early review welcome11:17
zygamborzecki: I need to move some things to sandbox/11:17
zygamborzecki: and add more tests as indicated by TODOs11:17
pedronispstolowski: I made some initial suggestions11:38
pstolowskipedronis: ty11:39
mborzeckipstolowski: rebased by old branch about parallel seccomp profile compiles since we now know that it takes much longer to execute https://paste.ubuntu.com/p/NwxKtFtSJQ/11:43
pstolowskimborzecki: great, thanks11:43
Chipacai so want to throw away all stringy channels and replace them with a type11:47
zygaChipaca: \o/11:48
zygayay for types11:48
pedronisChipaca: we have a type, no, snap/channel.Channel ?11:49
Chipacapedronis: yes, but most of the time we pass around strings11:49
pedroniswell, because the type came later11:49
pedronisalso we have risk only vs full11:50
pedronisalso some channels come from assertions these days11:50
Chipacapedronis: risk vs full, imho, is an argument for structured, not against11:53
pedronisChipaca: we started in a world where channels were opaque to us, we cannot live there anymore sadly11:54
pedronisChipaca: do you have a sense of how big a change it would be ?11:55
pedronis(I fear too big for right now, but maybe I'm wrong)11:55
Chipacarather big, especially in tests11:55
zygare12:09
zygacoffee is badly needed12:09
mupPR snapd#7818 closed: cmd/snap-bootstrap: write /var/lib/snapd/modeenv to the right place <Simple 😃> <UC20> <Created by mvo5> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/7818>12:34
mupPR snapd#7819 closed: boot: add boot.Modeenv.Base support <Simple 😃> <UC20> <Created by mvo5> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/7819>12:34
zygaeh13:02
zygad-feet hangs when you pick systemd1 on session bus13:02
zygaah, actually it's just *very* slow13:03
zygabut it works13:03
mupPR snapd#7821 opened: interfces/seccomp: parallelize secomp backend setup <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/7821>13:15
pedronismborzecki: ^  I asked a question there13:23
mborzeckipedronis: cpu bound, but the compilation is single threaded13:24
pedronismborzecki: do we want really to spawn that many processes on low end devices?13:25
mborzeckipedronis: we could as go about NumCPU(), but not i wanted to get a feeling whether anything breaks right away13:25
pedronismborzecki: yes, I think we should use NumCPU() somehow13:25
pedronismborzecki: it wasn't clear it's a draft13:26
mborzeckipedronis: ah, let me add [RFC] in the title13:26
sdhd-saschais there a working weston snap ?13:39
pedronisChipaca: can you explain the stack of failing spread tests?  pstolowski had that landed at some point and we reverted it, so I think the spread tests were passing13:46
=== ricab is now known as ricab|bbl
pedronisChipaca: I mean this: https://github.com/snapcore/snapd/pull/737313:48
mupPR #7373: overlord/snapstate: revert track-risk behavior change and validation on install <Needs Samuele review> <Created by stolowski> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/7373>13:48
Chipacapedronis: yes13:48
Chipacapedronis: i assume it's because of the other changes in this area13:49
pedronisbut master is green13:49
Chipaca...?13:49
pedronisI mean I don't understand why the semantics change would now cause a cascade of spread failure13:50
pedroniswhen it didn't originally13:50
Chipacaah13:50
Chipacawell, because we were over-normalising channels13:50
Chipacaand testing for that13:50
Chipacaso stable would become latest/stable before snapstate got to see it13:51
pedronis?13:51
mupPR snapd#7806 closed: tests/lib/prepare: drop workarounds for rpmbuild rewriting /bin/sh <Created by bboozzoo> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/7806>13:52
pedronisthe changes were all in snapstate in pawel PR13:52
pedronisI'm still missing something13:52
Chipacapedronis: was pawel's change sufficient to effect the behaviour change we wanted13:52
Chipacapedronis: because testing locally, with master today, it would not have been13:53
Chipacain particular cnd/snap's setChannelFromCommandline sets channel to the parsed short name13:53
Chipacaso there an explicit latest/ would be lost13:53
Chipacaand then daemon's snapRevisionOptions's validate would set channel to the parsed channel's name13:54
Chipacaso, again13:54
pedronisChipaca: this is pawel main PR: https://github.com/snapcore/snapd/pull/719913:54
mupPR #7199: overlord/snapstate: keep current track if only risk is specified <Created by stolowski> <Merged by chipaca> <https://github.com/snapcore/snapd/pull/7199>13:54
pedronisnotice that I didn't review it13:54
mborzeckipstolowski: btw. didn't snap debug timings show the sum of doing-time at some point?13:54
mborzeckipstolowski: had to resort to some jq trickery :/13:56
pstolowskimborzecki: heh. no13:56
Chipacapedronis: I did, and the change is necessary but not sufficient with today's master13:57
Chipacapedronis: but, note both those things that over-normalize might be newer than pawel's pr13:57
pedronisChipaca: yea, I woudl try to fix cmd/snap to stop changing latest/foo13:58
pedroniswe don't want that anyway13:58
pedronisfor default tracks13:58
pedronisChipaca: it should try to pass as much as possible what the user gave13:58
ChipacaI know13:59
pedronisChipaca: seems like a good separate PR14:00
Chipacahmm14:01
Chipacapedronis: i could make a separate pr from both un-over-normalisation changes14:01
Chipacai'll do that14:01
pedronisbut I missed something when I reviewed, I though we would use full only if errors14:01
pedronisah14:02
pedronisI see14:02
pedronisthe joy of ParseChannel vs Verbatim14:02
pedronisgrumble14:02
pstolowskipedronis: standup?14:03
pedronismaybe14:03
Chipacanice, half my system froze14:04
zyga-laptophmm15:01
zyga-laptopok, I pushed an update to the draft15:01
zyga-laptopmborzecki do you have a moment to just go over it with me15:02
zyga-laptopmborzecki I'm looking for advice on what to move or change ahead of proper PR15:02
zyga-laptopjust a quick look15:02
* cachio lunch15:02
mborzeckizyga-laptop: sure15:04
mborzeckizyga-laptop: meet?15:04
zygayep15:04
zygahttps://meet.google.com/eyi-xjto-svg?authuser=115:04
* zyga EODs15:21
Chipacapedronis: FWIW the under-over PR does not break the spread tests15:39
Chipacapedronis: https://github.com/snapcore/snapd/compare/master...chipaca:under-over-normalise15:39
pedronisgood, you mentioned also SetChannelFromCommandline ?15:40
pedronisis that a different thing15:40
Chipacapedronis: that's the first chunk in that diff15:41
pedronisah, sorry15:42
pedronisChipaca: is that a good thing or a bad thing that the spread tests don't break?15:44
Chipacapedronis: i'm going with 'bad'15:44
=== ricab|bbl is now known as ricab
pedronisok, same as me then15:44
Chipaca:)15:44
pedronisstill not sure why the other change would break lots of spread test15:44
pedroniss15:44
pedronissound some subtle thing gone awry15:44
pedronismvo: anything I need to re-review still today? I was considering eoding soon15:45
mvopedronis: should be fine, thank you16:26
mupPR snapd#7822 opened: devicestate: ensure system installation <UC20> <Created by cmatsuoka> <https://github.com/snapcore/snapd/pull/7822>16:39
mupPR snapd#7823 opened: snap-bootstrap: implement "run" mode in snap-bootstrap initramfs-mounts <UC20> <Created by mvo5> <https://github.com/snapcore/snapd/pull/7823>16:55
kjackaldid we change anything recently in snapcraft? Builds are failing on travis with: An error occurred when trying to execute 'snap set system experimental.snapd-snap=true' with 'LXD': returned exit code 1.16:59
kjackalI build there with --use-lxd16:59
mvocmatsuoka: reviewed your PR, super close! thanks for this17:00
cmatsuokamvo: thanks for the review, fixing it now17:01
mvocmatsuoka: I also marked the stuff that is done green in the gdoc17:04
mvocmatsuoka: there is a lot of not-green stuff :/ oh well :)17:04
sdhd-saschahi, does anybody know, where in the golang code inside of snapd (snap+d - deamon) the mount for the /etc/fonts directory happens ?19:30
sdhd-saschai want to disable these mount. And have already removed all plugs.19:30
sdhd-saschaogra: is this the right place for this question? because it needs go-lang programming knowledge. and knowlege of internals of snapd19:32
mupPR snapcraft#2827 opened: build providers: only set the snapd flag when installing snapd <Created by sergiusens> <https://github.com/snapcore/snapcraft/pull/2827>19:39
sdhd-saschaOr, how can the snap mounts be shown ? losetup and /run/mount/utab doesn't show /etc/fonts19:56
sdhd-saschaOk, inside the snap, the mounts are visible. (snap run --shell <snap> ; mount )    I look for a way, from outside...19:59
* cachio afk19:59
sdhd-saschahmm, seems that starting a snap, forks into a new namespace, and the mounts are under /proc/<snap pid>/mounts20:14
zygasdhd-sascha: hey20:33
zygasdhd-sascha: I know some things about how snap runtime works20:33
zygasdhd-sascha: please feel free to ask me any questions you may have20:33
sdhd-sascha:-)20:33
sdhd-saschazyga: for me it's sometimes very awkward to ask some noob question, and then the next day or the next 10 minutes i found the answer :-o20:34
sdhd-saschathank you ;-)20:34
zygasdhd-sascha: I'm such a noob at many things20:35
zygasdhd-sascha: please don't worry, ask away :)20:35
zygasdhd-sascha: snapd uses mount namespaces20:36
sdhd-saschai just found git:/snapd/snap/cmd/cmd_run.go ... now i want to find the place where the namespace (or others) are created, to have a look at the linux-api. So i can then read about the api to understand snapd better...20:36
zygasdhd-sascha: and many mounts within per-snap mount namespaces20:36
zygasdhd-sascha: look at cmd/snap-confine/20:36
zygasdhd-sascha: that part is implemented in C20:36
zygasdhd-sascha: there's a document that explains, though older, version of snap-confine20:36
sdhd-saschazyga: great :-)20:37
zygasdhd-sascha: as a super-simple overview each non-classic snap runs in a new mount namespace20:37
sdhd-saschai read a lot about "seccomp". what does this "abbrev" stand for ?20:37
zygasdhd-sascha: seccomp is a feature of the linux kernel20:37
zygasdhd-sascha: you can read about it by in many places, man pages are a good start, but it's essentially a way to control which system calls a given program may use20:38
sdhd-saschaah, ok20:38
zygasdhd-sascha: snap-confine creates a new mount namespace20:38
zygasdhd-sascha: which is essentially a new mount table that is no longer always identical to the one you see normally20:39
zygasdhd-sascha: then it performs a number of operations to change that mount table20:39
zygasdhd-sascha: one thing it does is perform a super-charged version of chroot, called pivot, to change what the snap sees as the root filesystem20:39
zygasdhd-sascha: I can tell you all the details about that if you have specific questions20:40
sdhd-saschazyga: understood ;-)20:40
zygasdhd-sascha: snaps using classic confinement (those that need snap install --classic something to install) are somewhat different20:40
zygasdhd-sascha: they also use a mount namespace but the mount table is very similar to the host mount table20:40
zygasdhd-sascha: and it is set up in a way that shares changes, so things mounted in one place show up in the other (e.g. you mount a drive on the system and the snap would see it)20:41
zygasdhd-sascha: snap-confine does a few more things but that's about it for the mount parts20:41
zygasdhd-sascha: oh, such mount tables are "persisted" so multiple processes started independently see the same mount table if they belong to the same snap20:41
sdhd-saschazyga: thank you again20:42
sdhd-saschacurrently sway runs in "devmode", so i concentrate on that now20:42
zygasdhd-sascha: devmode is a concept where the snap runs in a mount namespace but the confinement is not enforced20:43
zygasdhd-sascha: so it can do operations that normally are not allowed20:43
zygasdhd-sascha: or are only allowed if a specific interface is connected20:43
zygasdhd-sascha: this involves system calls that can be used, files and sockets that can be accessed as well as DBus messages that can be sent or received20:43
sdhd-saschafrom the past, i can remember, that with "fork" or a similar call, you can give a parameter which says, to e.g. share some file-descriptors with the child or leave it20:44
zygasdhd-sascha: file descriptors are shared across fork20:45
zygasdhd-sascha: but not always across exec20:45
sdhd-saschasome days later i surely know what api-call snapd uses and if it can set similiar inheritence options20:45
zygasdhd-sascha: typically library code will set the equivalent of O_CLOEXEC on each file descriptor opened20:45
zygasdhd-sascha: and only clear that for things that need to be explicitly passed to executed program20:46
sdhd-saschazyga: it's many years ago, i read about linux-/unix-systemprogramming ;-)20:46
zygasdhd-sascha: manual pages are a great place to start20:47
zygasdhd-sascha: though they can be somewhat dense at first20:47
zygasdhd-sascha: cross-referencing each other20:47
zygasdhd-sascha: feel free to ask, I'm here most of the time20:48
sdhd-saschayou are right. I'm the guy who read source, then open for 3 seconds the manual ...20:48
sdhd-saschazyga: "snap-confine", was a super hint. great :-)20:49
zygasdhd-sascha: oh, I forgot to share that link20:50
zygaone sec20:50
zygasdhd-sascha: https://forum.snapcraft.io/t/snapd-2-36-snap-confine-logic-walkthrough/784320:51
zygait's not super up-to-date with latest changes but it's very good no-code overview20:51
sdhd-saschaGood to know. Will read this maybe tomorrow. and try to delete the flock :-D20:53
sdhd-sascha============20:53
sdhd-saschaOne thing: can i access the X11 socket from the host - without mount /etc/font/fonts.conf20:54
zygasdhd-sascha: those are unrelated20:55
zygasdhd-sascha: the X socket is, on some systems, an abstract unix socket20:55
zygasdhd-sascha: so it's not a filesystem object, even though it has "path" like name20:55
sdhd-saschayes, here it is unix20:55
zygasdhd-sascha: on other systems it's a unix socket that is mounted in a location that is visible from the snap and from the host20:55
zygasdhd-sascha: and given the x11 interface is connected, the application process will have rights to open and use it20:56
zygasdhd-sascha: fonts are entirely unrelated20:56
zygasdhd-sascha: not sure why you mentioned /etc/font/font.conf but there are a number of interfaces for desktop interaction, specifically "desktop" is one such generic and broad interface that provides useful desktop-y things like font support, sharing of fonts from the host and more20:57
sdhd-saschainterfaces/builtin/desktop.go:284:              // Since /etc/fonts/fonts.conf in the snap mount ns is the same20:58
sdhd-saschainterfaces/builtin/desktop.go-285-              // as on the host, we need to preserve the original directory20:58
sdhd-saschazyga: i found only this, so i started to understand the namespaces.20:58
sdhd-saschaand now i want to find, the interface which mounts this thing20:59
zygasdhd-sascha: that's "desktop"20:59
sdhd-saschazyga: it don't want to mention you any longer. You was a great help. I will figure it out by myself.21:00
zygasdhd-sascha: this is a place to start https://github.com/snapcore/snapd/blob/master/interfaces/builtin/desktop.go21:01
zygasnap interfaces provide "specifications"21:01
zygato various parts of the sandbox setup21:01
zygae.g. mount specification describes what to mount21:01
zygaapparmor specification describes apparmor-level permisions (that's part of the sandbox)21:01
zygaand so on21:01
zygavarious parts of snapd understand that and implement the policy described by the specifications21:02
sdhd-saschaHave three more questions now:21:04
sdhd-sascha* which part/source parse and execute this specs?21:04
sdhd-sascha* what is the minimal way to clone an interface, modify it and register it into snapd.21:04
sdhd-sascha* Okay, this one, i can ask google... How set snapd into the most verbose debug mode.21:04
sdhd-saschazyga: sorry. if you don't have time. Than i can wait and looking around by myself for today21:06
zygasdhd-sascha: it's all internally done by snapd21:07
zygasdhd-sascha: snapd passes each spec to a "backend" of a given kind (e.g. apparmor backend in snapd)21:07
zygasdhd-sascha: then the backend does some processing on all the specs combined (spec is for a specific interface, snaps may have many) and applies that in the system21:08
zygasdhd-sascha: all interfaces are declared inside snapd, so you'd have to create a new file in interfaces/builtin and define stuff there, the magic happens when the interface is registered, e.g. here: https://github.com/snapcore/snapd/blob/master/interfaces/builtin/desktop.go#L29321:09
zygasdhd-sascha: you can set SNAPD_DEBUG=7 or SNAP_DEBUG=7 (I always forget which)21:09
zygabut but but21:09
zygabe careful :)21:09
zygabecause snapd re-executes itself21:09
zygaso you will not run your own code changes most of the time21:09
zygayou can disable that by setting and exporting SNAP_REEXEC=021:09
zygayou can then define a new interface, even a dummy empty one21:09
zygaand see that "snap interface --all" reports it21:10
sdhd-saschaallright ;-)21:10
zygasdhd-sascha: there are lots of merged pull requests that show how an interface looks like21:10
zygasdhd-sascha: and what needs changing to add one21:11
zygasdhd-sascha: apart from adding the new .go file in the right spot there are a few small changes elsewhere21:11
zygasdhd-sascha: but that's not something you will need soon21:11
zygasdhd-sascha: some things are related to the so-called default policy and some more with integration tests21:11
sdhd-saschathere are enough interfaces. i compare these, then i will see what is possible with interfaces...21:11
sdhd-saschayou mean, desktop_test.go ?21:12
sdhd-saschae.g.21:12
zygano, those are unit tests21:12
zygaintegration tests are in tests/main/ in the top-level21:12
zygathere are lots of those but there's one specific one that checks each interface type21:13
zygaand it requires small change each time a new interface is defined21:13
sdhd-saschanormally, i will found them21:13
sdhd-saschai always start with grep'ping the template interface. and look where it's name is used21:14
sdhd-saschausally i would take a interface with a random name, so i could find all places faster21:15
zygaif there's something specific you'd like an interface to allow an app to do you can ask on the forum21:15
zygaor ask here now21:15
sdhd-saschathanks :-)21:16
sdhd-saschaCompliments to all Snapd developers, the source looks clean and structed!21:18
zygait's not all rosy but we do our best to keep it tidy :)21:19
mupPR snapd#7810 closed: devicestate: add reading of modeenv to uc20 firstboot code <UC20> <Created by mvo5> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/7810>21:20
zygaand my colleague is still working21:20
sdhd-sascha:-)21:21
sdhd-saschahow many core developer are in the snapd team ? In my past, i was mostly a one-man team :-( There was often no time to cleanup, or rewrite the code21:22
* cachio afk21:23
zygasdhd-sascha: ten-ish21:25
zygasdhd-sascha: though it's not all the same, we specialize and some members have different roles21:25
sdhd-saschaoh, i am too exhausted for today. I will be there tomorrow21:27
zygagood luck, stick around :)21:27
sdhd-sascha:-)21:27
sdhd-saschai will. makes fun21:28
sdhd-saschahope i can soon adapt the code from alan_g and start another snap from wayland21:29
sdhd-sascha;-)21:29
sdhd-saschain some days, i will maybe have another question: How to start a console-command from another snap ? Because of the termite snap https://snapcraft.io/termite21:31
zygasdhd-sascha: can you be more specific?21:41
zygado you want to run one snap from another snap?21:41
zygaor something else21:41
sdhd-saschaalan has some repo with snapd in the mirServer repo21:44
sdhd-saschathere are some modifications to start a snap "B" from snap "A"21:45
zygaah21:45
zygayeah, I know that branch21:45
zygait's not merged yet, I need to review it21:46
sdhd-saschaat first glance, it looks like it can only start other desktop-applicaionts21:46
zygayes21:46
sdhd-saschanow, i wonder, if we have some terminal-snap (e.g. gnome-terminal)21:46
zygastarting arbitrary things is complicated21:46
zygathere are technical reasons why it doesn't work21:47
sdhd-saschahow could we launch "tig", "conjure-up" or other curses-application21:47
zygait's late, come back tomorrow and I can explain, ok?21:47
zygait _can_ be done21:47
zygabut one must accept the limitations of what the resulting process is21:47
zygait won't be a descendant of the process requesting to launch it21:48
sdhd-saschayes :-) i will ask in some days, if i understood the current solution21:48
sdhd-saschaanother thought that I had,21:49
sdhd-saschaIs it possible to create a master-snap template, and embed other snap's inside of them ?21:50
zygalike a "fat" snap that has many snaps inside?21:50
zygayes21:50
sdhd-saschaso anybody could create a snapcraft.yaml with, e.g. this desktop , this terminal, this app and combine them21:50
zygabut there are limitations, some permissions are special21:50
sdhd-saschayes21:50
zygaand we don't grant them easily21:50
zygaonly specific snaps can have powerful interfaces21:51
zygabecause we trust those publishers21:51
zygasometimes it's better to be interconnected with interfaces21:51
zygathan to bundle and ask for the same interfaces that the originals had21:51
sdhd-saschaBut could there be a master-namespace ... and each embedded part of the snap, has an sub-ns ?21:51
zygait's not a namespace thing21:51
zyganamespaces are one aspect21:51
zygait's really late, let's carry on tomorrow please21:52
sdhd-saschayes, it's late21:52
zygae.g. seccomp cannot be removed21:52
zygaor lessend21:52
zygait can only be constrained21:52
zygathink about that21:52
sdhd-saschaAnd it's better to talk about it, when i have learned this in more depth21:52
zygaif you cannot use syscall X because of a seccomp profile21:52
zygayou cannot remove that constraint from a process, or its children21:52
zygathis complicates things that involve one snap launching another snap21:53
zyga(that constraint is enforced by the kernel)21:53
sdhd-saschagood night ;-)21:53
Chipacasdhd-sascha: without reading the _whole_ backlog, about just executing arbitrary things, note https://forum.snapcraft.io/t/how-to-confine-a-desktop-shell/656123:10
Chipacasdhd-sascha: and there are newer forum topics continuing this subject but i can't find them right now probably because it's late:)23:11
Chipacasdhd-sascha: https://forum.snapcraft.io/t/how-to-confine-a-desktop-shell/656123:11
Chipacawait that's the same one23:11
Chipacaok i'm officially eod23:12

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