/srv/irclogs.ubuntu.com/2018/02/08/#snappy.txt

zygagood morning06:09
* zyga preps kids for school06:09
mborzeckimorning06:15
zygagood morning everyone07:14
zygahttps://forum.snapcraft.io/t/yes-snaps-are-cross-distribution/3906 <- cool stuff :)07:14
mvozyga: good morning07:18
mupPR snapd#4637 opened: devicestate: fix the TestDoRequestSerialErrorsOnNoHost failing on artful/bionic <Created by mvo5> <https://github.com/snapcore/snapd/pull/4637>07:20
zygahuh?07:21
zygamvo can you explain?07:21
mborzeckizyga: mvo: morning07:26
mborzeckizyga: iirc there's an ongoing story about pickign the right 'unresolvable' domain in the tests, *.test was suppsoed to be the answer, but my guess is some resolvers were trying to resolve it actually07:27
mborzeckizyga: /var/lib/snapd/mount is something that was introduced in 2.31 cycle?07:30
zygano07:30
zygafar older07:30
mborzeckisnap-mgmt --purge does not clean it up07:31
mborzeckii'm checking snapd aur package and noticed that /var/lib/snapd/mount was left behind when i removed snapd-git07:32
zygamborzecki it's very very old, probably an omission then07:37
zygamvo could we use something like http://unresolvable.snapcraft.io07:37
zygaand arrange with people so that it never resolves07:37
zygaI'm almost inclined to buy really-nowhere.com ;-)07:38
mvozyga: ups, thanks. so the issue appaears to be that for some daemons artful/bionic returns SERVFAIL instead of NXDOMAIN07:43
mvozyga: its not fully clear yet why, I'm looking into this. we see this on bionic autopkgtests and also on one of my two artful systems07:43
zygamvo can I help somehow, I can setup nothing.zygoon.pl with any config desired07:44
zygahow are you testing this?07:44
mvozyga: I have one machine where i can reproduce it07:44
zygais it using systemd-resolved?07:44
mupPR snapd#4637 closed: devicestate: fix the TestDoRequestSerialErrorsOnNoHost failing on artful/bionic <Created by mvo5> <Closed by mvo5> <https://github.com/snapcore/snapd/pull/4637>07:44
mvozyga: I think so, I switched to it a while ago there, I would consider it a fluke without the autopkgtest failure that looks similar07:45
mvozyga: internally we handle SERVFAIL as a temporary error and retry07:45
zygawell, my offer stands, let me know if I can help07:45
mvozyga: this is why we see a test failure, this test is expecting an error and it gets a "doing"07:45
zygaack07:45
mvozyga: thanks! I will dig a bit07:45
* zyga looks for a color scheme appropriate for "gloomy polish morning"07:46
mborzeckigloomy, it's fat thursday today07:46
mborzeckizyga: did you get your donut yet?07:47
pedronismvo: hi, don't autopkgtest machines  proxy http(s)? that probably gives a different kind of errors07:56
zygamborzecki no, not today07:57
zygamborzecki I will get one in a few days, today is the worst possible day to buy them (unless you make one at home007:58
mvopedronis: thats an interessting idea, they do that08:03
kalikianao/08:03
mvopedronis: it might be two issues :/ anyway, I get a SERVFAIL in a fresh bionic kvm (which we consider a temp error) so thats something to look into08:04
pstolowskimorning08:04
zygahttps://jordaneldredge.com/projects/winamp2-js/ :D08:33
zyga(drag and drop music to play)08:34
mborzeckizyga: i'll sync snapd-git aur PKGBUILD with that of snapd and open a PR to our repo to sync the recipe in packaging too08:34
zygamborzecki sounds good, thank you08:35
mupPR snapd#4638 opened: devicestate: fix autopkgtest failure in TestDoRequestSerialErrorsOnNoHost <Created by mvo5> <https://github.com/snapcore/snapd/pull/4638>08:35
zygaanyone (sans chipaca who did) wants to look at https://github.com/snapcore/snapd/pull/463608:38
mupPR #4636: snap: understand directories in layout blacklist <Created by zyga> <https://github.com/snapcore/snapd/pull/4636>08:38
wikingi'm wondering snap is being used in the scenario of distributing a library itself. i.e. the package would contain a  standalone app but a library?09:16
zygawiking it's possible using the content interface09:18
zygathough we have a constraint that snaps can only share among one snap publisher09:18
ikeygoooooooooooooooood mornin09:19
zygaif someone wants to maintain a snap that is used by others we need to allow that, it's essentially a promise to maintain something correctly09:19
zygaikey happy pączki day :-)09:19
zygawiking, for example there's a gnome platform snap (AFAIK) that anyone can use even though it's published by a third party09:19
zygaChipaca morning :)09:20
ikeyzyga, and thee09:20
Chipacagnome-3-26-160409:20
wikingzyga, yeah i'm trying to avoid keep maintaining a deb/rpm package and possibly just switch to snap09:20
Chipacazyga: moin09:20
zygawiking though for libraries we recommend just making a part that anyone can use09:20
zygaparts can be easily embedded into an snap at build time09:20
Chipacathe gnome platform snap is gnome-3-26-1604 right now (the name encodes the abi and base libs to make it easier to pick and choose)09:21
Chipacafwiw09:21
wikingzyga, ok so i guess i should be looking into 'Sharing a C-level library'09:22
zygawiking so, who would consume your library?09:22
wikinganybody who wants to use it? :)09:22
zygasnaps, unlike classic packages, typically don't model runtime dependencies as distinct packages for end-users09:23
zygaI'm almost certain that you want to make a part instead of a snap09:23
wikingoh i see09:23
zygawiking you can ask kalikiana about parts09:23
zygawiking you can maintain a part on a shared pool of parts (I forgot the name)09:23
zygaand anyone can build a snap that references your part by name09:23
wikinghttps://docs.snapcraft.io/build-snaps/parts09:23
wikingi guess09:24
zygaparts are like -dev or -devel packages in classic systems09:24
zygayes09:24
wikingk09:24
wikingcool thnx for the quick support :)09:24
zygawelcome, enjoy snaps :-)09:24
wikingthnx09:25
* ikey needs to assault jdstrand's mindbrain today09:25
* zyga LOLs a little09:27
kalikianaikey: are you trying to break everyone else's brain by using that weird term? :-P09:41
ikeykinda. xD09:41
mborzecki#4615 and #4633 are in need of 2nd review09:45
mupPR #4615: overlord/snapstate/backend: perform cleanup if snap setup fails <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/4615>09:45
mupPR #4633:  snap: introduce  timer service data types and validation  <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/4633>09:45
Chipacazyga: your blacklist checking code still has bugs i fear09:46
zygayeah?09:46
Chipacazyga: at least as I understand it09:47
zygaI implemented the thing we discussed last night, I'm adjusting tests to match09:47
zygawhat's the bug?09:47
Chipacazyga: should an entry of /foo stop a later entry of /foo/bar ?09:47
zygaif /foo is a file, no09:47
zygaif foo is a directory, yes09:47
Chipacayes foo was a file iin this09:47
Chipacawhy not?09:47
zygaI see what you are saying09:48
zygatechnically it will just fail but it should be validated09:48
zygahmm09:48
zygabut that's good, actually :)09:48
zygait means validation gets easier09:48
Chipacait's good that it'd fail, but my experience is the error is nicer if it's caught in a validation step09:48
zygayep09:48
Chipacazyga: does it?09:48
zygathank you, I'll adjust09:48
zygaI think so09:48
zygawe'll see :)09:48
Chipacayou still don't want /foo to block /foolicious09:49
zygasure09:49
Chipacaso for files it's "is this file a prefix of any complete prefix of this path"09:49
Chipacawhere complete prefix is up to a / or o$09:49
Chipacaor $*09:50
* Chipaca is forgetting how to type09:50
* Chipaca goes to see if coffee is the answer09:50
* Son_Goku rises from the dead09:54
zygahey hey09:57
Chipacapstolowski: what do you mean with "that's what we do in undoMountSnap"?10:05
Chipacapstolowski: backend.UndoSetupSnap _is_ undoMountSnap10:05
Chipacaunless that is exactly what you mean10:06
Chipaca(thus my original phrasing)10:06
* Chipaca seems to be in an argument with himself10:06
Chipacano i'm not10:06
* Chipaca is too10:06
pstolowskiChipaca, I mean, undoMountSnap calls backend.UndoSetupSnap, which does backend.RemoveSnapFiles10:08
Chipacapstolowski: yes10:09
Chipacaah10:09
Chipacapstolowski: now i understood10:09
Chipacapstolowski: and feel dumb :-)10:09
pstolowskiChipaca, so, it's the same cleanup that mborzecki does on error10:09
Chipacayes10:10
Chipacapstolowski: I got confused there, sorry, all sorted now (for now!)10:10
pstolowskino worries, happens all the time here ;)10:11
Chipacabut there's a big difference10:14
Chipacai'll comment on the PR10:14
mborzeckiChipaca: please do10:16
pstolowskiChipaca, good! you get my curiosity10:17
zygagood morning niemeyer10:19
zygayou're up early :)10:19
mborzeckizyga: can you give 4571 another pass?10:20
zygammm10:20
zygareading10:20
zyga@: :-)10:21
zygaI know what it does but ... autotools :)10:21
zygabtw, I meant to ask10:22
zygawhy do we need another configre.ac there? (in data010:22
zygaI never used a tree with more than one10:22
zygacould those things be rolled into the main one?10:22
zygamborzecki ^10:25
mborzeckizyga: with paths going from cmd to ../data? hm don't know if out of source tree builds with work this way10:27
zygayeah10:27
mborzeckizyga: nvm, i can try that10:28
zygaI'll read on10:28
Son_Gokumborzecki: they don't10:31
Chipacamborzecki: I was wrong10:32
mborzeckimvo: RemainAfterExit=yes is interesting, ^C when systemctl start is waitig does not make the service exit, it keeps on working in the background, trying to start it again sort of hangs/hooks to the job that already runs10:34
mvomborzecki: hm, so its not a solution for us?10:35
Son_Gokumborzecki: can we please make this so that --libexecdir=/usr/libexec works like it's supposed to?10:35
Son_Gokuthe only reason it doesn't currently is because of inconsistent implementations in makefiles/autofoo10:35
zygamborzecki done10:36
mborzeckiSon_Goku: have this in a separate branch now, quite a lot of changes, first i'd like to have autotools in data and then fix the libexec (would make the diff smaller also)10:36
Son_Gokuand please use pkgconfig stuff10:37
Son_Gokuit's already there since you've autotoolized it10:37
Son_Gokuno reason not to10:37
Chipacamy typing *and* my language (and probably my diction!) are shot to hell today10:39
mborzeckimvo: feels like this setting should be exposed in snap.yaml instead, it will change the behavior of the unit a bit, once started it sort-of remains 'active' until you stop it, meaning when ExecStart exits it's still considered active10:39
Chipacamborzecki: still, +1, and maybe even good news :-)10:39
mborzeckiChipaca: btw. i recall there was a lp bug about snap try that failed would leave some stuff behind and remember going through this code once already ;) (although i didn't know that undo is only run if task was successful)10:41
zygaChipaca she sells sea shells on the ...10:42
Chipacazyga: she sells sea shells on the sea shore // mollusc moltings mostly make measly money // the lady later lacks lucre and leans on loans // she barters her business to barely bypass bankruptcy // turns out tacky tourist trinkets turn in ten times the take // she shelves t-shirts by the sea shore.10:44
zygawow, I didn't know most of them10:45
Chipacazyga: that's a newer take on the old one10:45
zygamust write down for at-the-pub fun10:45
Chipacazyga: https://www.smbc-comics.com/comic/2014-07-2310:45
Chipacazyga: the original is making fun of a very early (and mostly ignored) paleontologist, https://en.wikipedia.org/wiki/Mary_Anning10:47
mborzeckiit'd be so nice if gnome-shell didn't log an exception every 3 seconds :/10:48
zygabetter not press ctrl-c10:48
zygait's like "red... no blue YAAAH"10:48
mborzeckiheh, use log is full of this BS: https://paste.ubuntu.com/26540491/10:49
mborzeckiand it's not even the extensions10:49
Chipacamborzecki: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=887082 /10:50
Chipaca?10:50
mborzeckiChipaca: yup, that's the one10:52
mupPR snapd#4612 closed: snap: exclude `gettimeofday` from `snap run --strace` <Created by mvo5> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/4612>11:01
mborzeckimvo: i think we could run `systemctl start --no-block always`, if the unit files are bad (dependencies are wrong, format is incorrect) systemctl fails right away, and then we proceed to stop all the services in the cleanup phase11:25
* pedronis lunch11:26
mvomborzecki: this does sound good to me11:29
Chipacamborzecki: mvo: is this --no-block + poll?11:30
mborzeckimvo: we may consider waiting for a while to see if they do not enter a failed state, but this sounds like a compication and the 'while' may be hard to agree on11:31
mborzeckiChipaca: --no-block, with optional poll to see if ActiveState is not 'failed'11:32
Chipacamborzecki: a'ight11:32
mvomborzecki, Chipaca: what kinds of "gurantees" do we currently get from systemctl start? my understanding is that its not that much anyway but should not regress here of course11:33
Chipacamvo: it comes back when the exec of the thing succeeded11:34
Chipacamvo: or when the thing notified it was up, if it's a notifier11:34
Chipacamvo: or when it finishes running, if it's a oneshot11:34
Chipacamvo: or or or11:34
Chipaca:-)11:34
Chipacamvo: that's part of the problem :-)11:34
mvo /o\11:35
mvoindeed11:35
Chipacano-block + poll lets _us_ decide the vagaries (and makes cancelling cleaner)11:36
mborzeckiChipaca: mvo: if i'm reading systemctl source code right, without --no-block, there will be a wait set up, for each of the jobs that failed, if any of those failed systemctl exits with error status12:04
=== verterok` is now known as verterok
mupPR snapd#4619 closed: tests/main/user-data-handling: get rid of ordering bug <Created by chipaca> <Merged by chipaca> <https://github.com/snapcore/snapd/pull/4619>12:45
zygaChipaca can you please have a 2nd look at 463612:51
zygaI implemented the thing we discussed last night12:51
zygaand you would be the perfect 2nd reviewer12:51
Chipacazyga: i like it12:57
Chipacazyga: i'll go deeper after the standup12:57
zygathank you!12:57
niemeyerChipaca: You coming?13:01
Chipacaniemeyer: nah13:03
kyrofazyga, any ideas here? https://askubuntu.com/questions/1004203/installing-snapd-on-14-04-fails13:08
zygayes13:09
zyga3.1313:09
zygainstall snapd, reboot13:09
zygait works13:09
Chipacawould now be a good moment to start freaking out because there's an ubuntu on its way to the asteroid belt13:09
Chipaca… and it's not going to be getting updates!!! /o\13:09
Chipacait's going to be _so_ rootkitted by the time it gets back13:10
zygapesky space worms will eat it13:10
Chipacazyga: https://i.imgur.com/vCrOo9e.gifv13:11
verterokctrl-?meta-j2913:16
verterokups, ignore that13:17
zygakyrofa I replied on the forum13:22
* kalikiana going out for lunch, back later13:31
cachio_mvo, hey13:39
mvocachio_: hey13:40
cachio_mvo, I see this error compiling snapd on bionic https://paste.ubuntu.com/26541162/13:40
cachio_mvo, any guess?13:40
pedroniscachio_: hi, did you manage to start uploading some of those snaps that were missing in staging?13:41
zygamvo oh btw, I didn't get that snap to work yesterday13:41
cachio_pedronis, yes, the snaps are in the store13:41
zygabut it should be ok now13:41
* pstolowski lunch13:41
zygaI noticed that the build got done but upload failed because of stale auth13:42
pedroniscachio_: thx, I'll try again with the tests later today13:42
cachio_pedronis, still working on some fixes13:42
pedronisok13:42
mvozyga: what snap was that?13:43
pedroniscachio_: let me know if I can help, also a couple we can just skip as discussed (lxd, canonical-livepatch and core transition)13:43
mvocachio_: hm, I have not seen this yet13:43
zygamvo the one you poked me about, snapd-hacker-toolbelt13:43
Chipacazyga: #4606 could use your eyes13:43
mupPR #4606: snap: use custom unsquashfsStderrWriter for unsquashfs error detection <Created by mvo5> <https://github.com/snapcore/snapd/pull/4606>13:43
mvozyga: aha, irght13:43
mvozyga: right thanks13:43
zygaChipaca sure, opened13:44
mvocachio_: golang in bionic is on 1.9 now, maybe that is the problem, let me check13:44
mvocachio_: hm, no, its like this for some time13:45
zyganiemeyer btw, I forced myself not to fullscreen any windows now13:45
zygaand I think I'm getting used to it13:45
zygaI can fit a few 1080p "big" windows easily and the habit of getting everything maximised is just that, a habit13:46
mvocachio_: let me upgrade to bionic to test13:46
cachio_mvo, nice, tx13:47
cachio_pedronis, I uploaded 4 snaps13:47
cachio_for amd64 and i38613:48
mvocachio_: hm, there was a new golang-1.9 upload during the night it seems13:50
mvocachio_: so maybe/probably that is the reason13:51
cachio_mvo, mmm13:51
mvocachio_: but its a point release, should not break like this13:51
mvo"should" :)13:51
mvoanyway, once my upgrade is done I will know13:52
cachio_mvo, btw I am using the cloud image that perhaps has some differences with yours installation13:52
mvocachio_: I have a cloud image vm at hand too which I can try. I assume you did something like "sudo apt build-dep snapd" at some point, i.e. its not something like a missing pkgconfig or something like this (the error indicates its not)13:55
=== chihchun_afk is now known as chihchun
cachio_mvo, I updated the prepare-project script to use the external backend to test bionic13:57
cachio_mvo, I am using the same code we have to build in linode but in the external backend13:58
mvocachio_: ok13:59
jdstrandikey: hey, steam-support is not forgotten! I traveled last week to the snapcraft sprint and a couple of other things came up, but as of last night, steam-support is back on top of the list so planned on working on it today13:59
jdstrandikey: sorry for the delay13:59
ikeyyeah no worries bud, just figured id prod14:00
zygahey jdstrand14:00
jdstrandit wasn't going to make 2.31 anyway, so still no issues with 2.3214:00
ikeyyeah figures14:00
jdstrandhey zyga :)14:00
zygaI'm working on hardening, I won't push anything major for you to review today though14:02
jdstrandzyga: cool (on both counts)14:02
zygalanding existing stuff is fun enough :)14:03
jdstrandit's getting quite close :)14:03
jdstrandzyga: let me double check with you. your changes to the content interface recently were a) only about the slot side and b) add a new 'source' attribute that has read and write lists under it, which may not be specified alongside the legacy read and write attributes. read and write legacy attributes are still supported14:05
jdstrandzyga: is that a good summary?14:05
zygayes14:05
zygathat's accurate14:05
jdstrand(I phrased that slightly weird, source is alone, read/write may continue to be used instead of source)14:06
jdstrandok cool14:06
mupPR snapd#4639 opened: store: enable deltas for core devices too <Created by mvo5> <https://github.com/snapcore/snapd/pull/4639>14:06
jdstrandso, the review-tools now understand this :) (not in prod yet)14:06
zygawoot, great14:06
mvocachio_: I can reproduce the error14:07
cachio_mvo, good14:07
jdstrandI looked at the PR and it was clear enough, I just wanted to double check since the updated docs aren't there yet14:07
cachio_mvo, yesterday I was using a prebuilt core14:07
cachio_but then I tried to run all in the bionic and I got that error14:07
zygaChipaca replied14:08
cachio_pedronis, I see this errror https://paste.ubuntu.com/26541264/14:08
cachio_but the weird part is that test-snapd-base-bare snap is uploaded in the staging store14:08
pedroniscachio_: ah14:09
* zyga returns to snapshots14:09
mvocachio_, mwhudson it looks like 1.9.4 #cgo LDFLAGS whitelisting broke snap-seccomp14:10
cachio_pedronis, not sure which could be the reason14:10
* Chipaca hugs zyga 14:10
pedroniscachio_:  I dont't see that snap14:11
pedronisnot in stable?14:11
pedronisno, sorry, mistyped14:12
pedroniscachio_: wondering if core is too old in that test14:12
pedroniscachio_: test-snapd-base-bare  seems to have the wrong type,   it says application and not base14:13
pedronissame in prod though14:14
pedronismmh14:14
mvocachio_, mwhudson https://github.com/golang/go/issues/23672 is the issue, our ldflags -Wl,-Bstatic are not longer allowed14:14
zygahmm14:14
zygamvo are we in trouble?14:14
mvozyga: a bit14:14
zygaa little bit or the grammatical bit where it's really a bucket full of trouible14:15
pedronismvo: any idea why base snaps would work with the production store, but not staging (I don't know what would be different)14:15
zyga*trouble14:15
mvozyga: our static linking in snap-confine of libseecomp no longer works14:15
zygahmmm hmmm14:15
mvopedronis: work in the sense that snap install base-18 from staging does not work?14:15
zygais that related to golang or to something else?14:15
pedronismvo: this  https://paste.ubuntu.com/26541264/14:15
mvozyga: golang upstream change14:15
pedronisfrom cachio_14:15
mvozyga: https://github.com/golang/go/issues/2367214:15
pedronisthe base snap is there in staging, with the wrong type fwiw,  but it has the wrong type also in production afaict14:16
mvocachio_, pedronis is test-snapd-base-bare published in staging into the stable channel?14:16
zygamvo hold on but snap-confine is in pure c14:16
zygaor did you meant snap-seccomp14:16
mvozyga: sorry, snap-seccomp14:16
zygaahh14:16
zygaok14:16
zygawell14:17
zygathat sucks14:17
zygamvo let me know if you want to discuss options14:17
zygawe could dlopen libseccomp from core perhaps14:17
cachio_mvo, yes14:17
zyga(that would be good on a few levels, at least)14:17
cachio_mvo, in staging for all the archs in all the channels14:17
pedroniscachio_: what snapd version is in use there,  I suppose master?14:18
cachio_pedronis, yes14:18
mvozyga: I need to think a little bit about it, but it sucks14:18
pedroniscachio_: I can try as well in a little bit, not sure what would be different in staging though14:19
cachio_pedronis, it is weird because I can install test-snapd-base-bare14:21
cachio_in the staging store14:22
cachio_but if it used as base snap it cannot be found14:22
mvocachio_: quite confusing14:23
jdstrandkyrofa: hi! weird: kernel: [1304675.438833] audit: type=1400 audit(1518072222.273:174): apparmor="DENIED" operation="exec" profile="snap.nextcloud.mysql" name="/bin/systemctl" pid=19425 comm="mysql.server" requested_mask="x" denied_mask="x" fsuid=0 ouid=014:24
jdstrandkyrofa: I think it is falling back though, since I see: nextcloud.mysql[19403]: Shutting down MySQL14:25
jdstrandnextcloud.mysql[19403]: .. *14:25
jdstrandsystemd[1]: Stopped Service for snap application nextcloud.mysql.14:25
mborzeckimvo: zyga: moving each -Wl into separate line does not help I guess?14:26
mvomborzecki: I can try, I think its a whitelist14:26
mborzeckiright: there's a review for --as-needed https://go-review.googlesource.com/c/go/+/9279514:27
mborzeckimvo: and thre are environment variables too14:28
mborzeckimvo: https://go.googlesource.com/go/+/867fb18b6d5bc73266b68c9a695558a04e060a8a14:28
mborzeckithis piece in particular: https://go.googlesource.com/go/+/867fb18b6d5bc73266b68c9a695558a04e060a8a%5E%21/#F314:29
mborzeckizyga: tried this in the autotools branch https://paste.ubuntu.com/26541368/ automake went down with some bs error, clearly confused about the relative paths14:34
zygauh14:34
zygamborzecki what if we moved those upstairs14:35
zygathat would work, right?14:35
mborzeckithat would work, but it will also clutter the toplevel dir14:35
greybackis there a list of env vars available for use in snippits in snapcraft? (not for snaps themselves)14:35
zygasure14:35
zygaChipaca I added a review to snapshots (half of review really)14:36
mborzeckizyga: otoh, it's 3 files at most that need to be kept in the tree -> configure.ac, Makefile.am, autogen.sh, the rest is just temporary artifacts14:37
zygayeah14:37
zygamaybe that's the solution14:37
zygamborzecki so14:38
zygamborzecki another idea14:38
zygahow about if we add .dot-dot symlink14:39
zygaand make data show up as cmd/.dot-dot/data14:39
zyga:D14:39
mborzeckihmm might work, let me try14:40
zygalooking at 4606 now14:41
mborzeckimvo: by the looks of it, the arch package does not build due to the go changes atm14:46
mborzeckiright, pkg-config is broken now too14:49
mborzeckigo build github.com/snapcore/snapd/cmd/snap-seccomp: invalid pkg-config package name: --static14:52
mborzeckizyga: can you take a look at https://github.com/bboozzoo/aur-snapd/pull/3 ?14:53
mupPR bboozzoo/aur-snapd#3: snapd: updates <Created by bboozzoo> <https://github.com/bboozzoo/aur-snapd/pull/3>14:53
mupIssue snapcraft#1921 opened: Evaluate contents of manifest.txt, add reasons and surface to the user during staging <Created by sergiusens> <https://github.com/snapcore/snapcraft/issue/1921>14:53
zygayes14:53
mborzeckii'll push another fix with a workaround for go1.9.4 in a minute14:53
zygamborzecki done14:57
mborzeckizyga: thanks14:58
zygaChipaca +115:03
mupPR snapd#4606 closed: snap: use custom unsquashfsStderrWriter for unsquashfs error detection <Created by mvo5> <Merged by zyga> <https://github.com/snapcore/snapd/pull/4606>15:03
zygapstolowski which PR should I review first for you?15:08
pstolowskizyga, #4401 please, thanks!15:09
mupPR #4401: snapstate/ifacestate: auto-connect tasks <Created by stolowski> <https://github.com/snapcore/snapd/pull/4401>15:09
mupPR snapd#4636 closed: snap: understand directories in layout blacklist <Created by zyga> <Merged by zyga> <https://github.com/snapcore/snapd/pull/4636>15:09
jdstranddavidcalle (cc sergiusens): hey did you see my comment yesterday about https://docs.snapcraft.io/deprecation-notices/dn5?15:16
popeyjdstrand: is this the right report a bug against the snap review tools? https://bugs.launchpad.net/review-tools15:20
jdstrandpopey: I'd prefer that, yes (at some point soonish we'll deprecate click-reviewers-tools bzr branch and use only the review-tools git banch, so it would be good to get used to it)15:23
popeyit was the first hit when i googled, :)15:24
popeythanks15:24
jdstrandpopey: before you file, perhaps you could say what the problem is now? quite a few updates are on their way to prod15:24
popeyjdstrand: I wanted to suggest that we prevent "empty" snaps from landing in the stable channel. In the same way we don't allow grade: devel ones in stable.15:24
popeye.g. there is a snap which just landed in stable called "toto". It is entirely empty, contains only a snap.yaml, nothing else.15:25
popeythis shouldn't be allowed to land in stable IMO15:25
Chipacazyga: woo15:25
jdstrandpopey: interesting. ok, file away :)15:25
popeyta15:25
jdstrandpopey: note that the review tools aren't run on channel promotions, only the initial upload, so a change tot he review-tools would mean no empty snaps in any channel15:26
* zyga breaks for back pain15:26
popeyawww15:26
zygaI'll continue reviewing 440115:26
zygabut later15:26
jdstrandpopey: the snapstore could, in theory, peek back at a previous run for channel promotions. that would need some design and likely help from the review tools15:27
jdstrandpopey: I'm not sure at what priority that would be. I'm guessing quite low for this particular issue15:28
jdstrandpopey: tbh, an empty snap seems like it isn't valid in any channel though15:28
popeyjdstrand: i think some might argue that it's not fair for a new developer to get punched in the face with words like "error" and "reject" as they're starting out with snaps15:31
jdstrandjjohansen: hey, do you have a moment to kick around an idea for organizing a new steam-support interface15:32
jdstrandpopey: well, they'll face all those same words if they do other things wrong. why is that one special?15:33
jdstrandeg, the pick an invalid snap name15:33
jdstrandthey*15:33
popey*shrug* emoji15:33
jdstrandpopey: I'll put it this way. if you file the bug, I will fix it and this will apply to everything. if you don't, I'll conveniently forget about it. if you think the snapstore should support peeking back on channel promotions, then file it against the snapstore and add a review-tools task15:35
popeyok15:35
=== chihchun is now known as chihchun_afk
pstolowskiniemeyer, pedronis could you please take another look at #4401?15:41
mupPR #4401: snapstate/ifacestate: auto-connect tasks <Created by stolowski> <https://github.com/snapcore/snapd/pull/4401>15:41
jjohansenjdstrand: sorry, yeah I have a few minutes, /me is getting kids ready for school15:48
niemeyerpstolowski: SUre thing15:49
pedronispstolowski: likely tomorrow morning15:49
zygajjohansen o/15:49
pedroniscachio_: mvo: I think the issue is that /details for test-snapd-busybox-static  doesn't have base set15:50
pedronisin staging15:50
jjohansenhey zyga15:50
pedroniscachio_: mvo: I remember some discussion about needing backfilling for something, and decided it was not worth it, it probably needs to be uploaded again15:50
pedronisunless it was just uploaded in which case, something else is going on15:51
cachio_pedronis, ok, I'll upload it15:54
jdstrandjjohansen: just ping me when ready. it might take up to 15 or so15:54
jdstrandmaybe faster. I tripled what I thought it might take :)15:55
pedroniscachio_: it seems old even in staging, afaict15:56
pedronisso re-uploading from prod to staging should help or so I hope15:56
cachio_pedronis, I planned to copy the one in prod to staging15:56
pedronissounds good15:56
cachio_pedronis, ok15:56
cachio_mvo, could you please share test-snapd-busybox-static with me?15:57
jjohansenjdstrand: 15 min to discuss or implement?16:00
jjohansen:)16:00
jdstrandjjohansen: hehe16:00
jjohansenjdstrand: shoot I have 15 min16:01
jdstrandjjohansen: it's true, I could just say 'you get the wide-open classic template' and *boom* it works :P16:01
jdstrandjjohansen: ok, more seriously16:01
mvocachio_: sure, one sec16:01
jdstrandjjohansen: architecture is this: steam has a steam client. the client allows you to buy, install, remove and launch games16:02
cachio_mvo, tx16:02
* zyga returns to being off, sorry :/16:02
mvomborzecki: yeah, same problem everywhere I presume, the go change is a security update so I guess its applied everywhere :/16:02
jdstrandjjohansen: many steam games use a process lifecycle where they will ptrace child processes16:02
jdstrandjjohansen: this is just how it goes (proprietary blobs)16:02
jjohansenjdstrand: have I mentioned how much I hate proprietary blobs lately16:03
mborzeckimvo: i've pushed a fix to arch package, so that it builds now :/ funny cause it was building in the morning (i was working on it a bit), then ~2pm they pushed an update of go and it broke16:03
zygaChipaca I pushed 4640 with one more layout feature16:03
mvocachio_: on your way16:04
jdstrandjjohansen: so I had the idea that it would be nice if the launcher was in one profile, and it would launch games in a different profile. we'll call the launcher profile the client profile and the games profile the game profile16:04
mupPR snapd#4640 opened: snap,interfaces: allow using bind-file layouts <Created by zyga> <https://github.com/snapcore/snapd/pull/4640>16:04
mvomborzecki: what fix did you use? CGO_LDFLAGS_ALLOW=.* or similar :) ?16:04
cachio_mvo, tx16:04
jdstrandjjohansen: the game profile would be under a different label, and it could ptrace itself (let's not worry about seccomp in <4.8 kernels for this discussion) but not the client16:04
mborzeckimvo: just this patch https://github.com/bboozzoo/snapd/commit/3286baf646fa7974c165efd9b63c690d08dff6b7 the rest seemd to build just fine16:05
niemeyerpstolowski: LGTM I think.. I've skimmed through it, and haven't spent as much time on it as last time, but if pedornis is happy and it works, I'm happy with the change16:05
mvomborzecki: ok16:06
mborzeckimvo: and we did disable the static linking in arch anyway as libseccomp is only dynamic16:06
niemeyerIt's certainly quite nice to have auto-connect on its own task16:06
mvomborzecki: aha, ok16:06
pstolowskiniemeyer, ty16:06
jdstrandjjohansen: so, that is the germ of the design. in terms of implementation, I really want to use a Px rule with a sibling profile, because of the way snapd is architected and generates profiles, that is convenient16:06
jjohansenjdstrand: ack, launcher, client, game A, game B, game C, profiles ...16:06
jdstrandjjohansen: but I ran into: https://bugs.launchpad.net/apparmor/+bug/169655216:06
mupBug #1696552: syntax errors when specifying px rules with exec transitions that have '.' in the name <AppArmor:New> <https://launchpad.net/bugs/1696552>16:06
mborzeckiok, end of the week for me, cu all on monday16:07
jjohansenjdstrand: oh, sorry I meant to have that fixed already, I can add it to todays todo, its an easy fix16:07
jdstrandjjohansen: launcher/client are the same, games likely will share a profile in the initial implementation since the steam client (proprietary blob) has no concept of change_profile/etc16:07
jdstrandjjohansen: (I would use file rules to transition to the games profile)16:08
=== chihchun_afk is now known as chihchun
jdstrandjjohansen: well, I was trying to think through that. yes we should clearly fix the parser. that is a given16:09
jjohansenjdstrand: that makes me a sad panda but ack16:09
jdstrandjjohansen: but, that means SRUs for Ubuntu (possible) and then updates for suse, solus, Ubuntu derivatives, etc (improbable for the whole list), which means that steam will work on some distros, bt not others (bad for snapd)16:10
ikeysteam what now16:11
ikeyears twitched16:11
jdstrandjjohansen: re file rules> yeah. not terribly excited by that, but the secret hope is that if we can improve on steam's security story by preventing games from attacking the client, then maybe, just maybe, they'd be open to building something into their client down the line16:11
jdstrandjjohansen: perhaps a pipe-dream, but one can hope :)16:11
ikeynot outside the realms of possibilities tbh16:12
jjohansenjdstrand: yes, sorry wish I could write bug free software, but I seem to be gifted with talents else where16:12
ikeywe already know they flirted with flatpak in the past purely to look only at bubblewrap re: sandboxing16:12
jdstrandjjohansen: because of what I just mentioned with parser and other distros, I started exploring other ideas16:12
jdstrandjjohansen: haha, no need to apologize. apparmor is awesome!16:12
jdstrandikey: hey, I was serious that steam-support was on the list for today :)16:13
ikey:D16:13
ikeykickin ass16:13
jdstrandjjohansen: so I came up with an idea to use a child profile16:13
jjohansenthat can work16:14
jdstrandjjohansen: I have two choices with that. one I greatly prefer in terms of snapd architecture16:14
jdstrandit can. I did it16:14
jdstrandjjohansen: so, I can either generate profiles like this:16:14
jdstrand'profile client { profile { game } }' or I can do 'profile client {} profile client//game {}16:15
jdstrand'16:15
jdstrandthe second is preferred in terms of how snapd is architected. again, I can do the first16:16
jdstrandnote that in the second, 'client' and 'client//game' are in different files16:16
jdstrandwhich means that I need to be concerned about profile load and remove order16:17
jjohansenjdstrand: so the second is supported, you do need to be worried about order to a degree16:18
jdstrandI'm able to deal with load ok, but remove generates a parser error because if I unload 'client', it unloads 'client//game' so then when I unload 'client//game' there is an error16:18
jjohansenif you remove a parent before its child, the child should get repeated as well, and the 2nd remove should complain with ENOENT16:18
jdstrandprecisely16:18
jjohansenright16:19
jdstrandI thought I tried it the other way..16:19
jdstrand(too)16:19
jdstrandand I think the unload of the parent had a parser error cause the child was already removed16:19
jdstrandlet me double check that16:19
jjohansenthat should just work, if not there is a bug16:20
jjohansenI also need to fix the parser so that if they are both specified, it just does the right thing16:21
jdstrandthat makes sense16:21
jjohansenit can figure it out, currently it doesn't16:21
jdstrandfor the snapd case, currently it loads and removes one at a time16:21
jdstrandI can change snapd to do things of course16:22
jjohansenjdstrand: I need to step away, finish your dump and I'll answer when I get back16:22
jdstrandjjohansen: ok, good timing. I couldn't find my profiles so it'll take me a minute16:22
zyga jdstrand anything I can help with?16:22
Chipacanot for the first time i find myself trying to use markdown in a go comment16:22
jdstrandzyga: not at this time16:23
ikeyChipaca, backtick all the things16:24
Chipacaikr16:24
diddledanflexiondotorg: I've just promoted audacity to candidate - tell the LNL crew that the last of their three desired snaps is snapped16:25
ikeylol16:25
diddledanoh ello ikey16:25
diddledan:-p16:25
* diddledan tells ikey directly16:25
zygaikey I had that period where everything was pre-formatted and I could not stand otherwise16:25
ikeyello diddledan lol16:26
ikeyzyga, i went so overboard on it i added a markdown parser to solus SC16:26
ikeyand it has the markdown in the git tags16:26
ikeyforms our changelogs :P16:26
zygathat's pretty nice16:26
ikeyref: https://dev.solus-project.com/R3571:37e7f17508ecdedf13f061cad974b2a09ee1068716:27
ikeyclient side: https://ibin.co/3r15d94CbaGW.png16:27
ikeysome stuff like the CVE IDs automatically link16:28
jdstrandjjohansen: ok, I was wrong: load parent, load child, unload child, unload parent works fine: https://paste.ubuntu.com/26541896/16:32
jdstrandjjohansen: if I change the load or unload order, then I get ENOENT16:32
jdstrandjjohansen: which means, I can make this child approach work. I'll just need to adjust snapd to do something special with load/unload with this approach16:34
* jdstrand now checks what apparmor does with the cache files16:34
jjohansenjdstrand: the cache file is based on the file name that the child profile is in16:35
jjohansenso it will get its own cache file if its in a separate file16:36
jjohansenif you put them in the same cache file they will share16:36
jjohansenif the compiler merges them into a single cache file16:36
jjohansenyou will get 2 symlinks to the merged file16:36
jjohansennote: you won't see that one happen yet16:37
jdstrandjjohansen: interesting. so I could keep the text profiles separate, but have a single cache file16:37
jdstrand?16:37
jjohansenjdstrand: uh theoretically, the current parser don't actually handle that yet16:38
jdstrandheh, ok, then that is out16:38
jdstrandbut yes, I could put both into the same text file16:39
jjohansenbut you can cat the 2 binaries together to get a single, and it will work16:39
jjohansenjdstrand: another approach is to do16:39
jjohansen  profile A {16:39
jjohansen    ...16:39
jjohansen  }16:39
jjohansen  include "children"16:39
jjohansenthat would put them in a single text file, and allow you to stash the children profiles in separate files that are out of the regular load path16:40
jjohansenerr, not single text file, single cache file16:40
jjohansenjdstrand: the parser will pickup the ability to merge profiles into a single cache file when they are specified on the same parser invocation and they meet certain criteria, but there are a few other things I need to land first16:41
jdstrandjjohansen: so if I do 'profile parent {} profile child {}' in the same file, it doesn't work on unload (ENOENT), regardless of order. (load works both ways)16:42
jjohansenoh! that would be a parser bug, I wonder when that broke, and why arekm isn't yelling at me16:43
jdstrandjjohansen: to be clear, if I have the parent and child in different cache files, apparmor_parser will be sensitive to load order?16:43
jdstrandjjohansen: (this is artful btw)16:43
jjohansenjdstrand: yes separate cache files will be load order sensitive16:43
jdstrandok. I *should* be able to lexically sort them for cache loading16:44
jdstrandand I *could* adjust snapd for handling load/unload order16:44
ikeydoesn't apparmor_parser already do that? given that you can apparmor_parser load a directory that is purely a binary cache16:44
jjohansensorry, I'll fix it in the parser too, but that will require and SRU which gets us back to the whole doesn't work every where problem16:44
ikeyand no source files..16:44
jdstrandthe question for me then becomes, is that better than profile client { profile game{}}16:45
jjohansendammit why didn't you point this out to me 5 years ago16:45
jjohansen:P16:45
jdstrandikey: yes but different init scripts do different things16:45
ikeyyeah i replaced them with aa-lsm-hook in solus16:45
jdstrandI need to make sure this works everywhere16:45
ikeyfor the betters16:45
* jdstrand nods16:45
ikeygotcha16:45
jjohansenjdstrand: what of16:45
jjohansenprofile A {16:45
jjohansen   include "children"16:45
jjohansen}16:45
jjohansenthat should work16:46
jdstrandlet me try that16:46
jjohansenand allow you to have the children in separate files16:46
jdstrandjjohansen: children is a dir?16:46
jjohansenjdstrand: that is up to you16:46
jdstrandlet me try as a file16:46
jjohansenyou could specify specific files, or have a dir you just drop stuff in16:46
jjohansencome to think of it, I think that is what arekm is doing now, and why he isn't yelling at me for the other being broken16:47
jdstrandjjohansen: I can't get that to work16:51
jdstrandjjohansen: https://paste.ubuntu.com/26542021/16:53
* jdstrand tries a dir16:54
jjohansenjdstrand: in /tmp/child216:54
jjohansen  lose #include <tunables/global>16:54
jjohansen and rename profile snap.steam-client.steam-client//game to just game16:54
jdstrandthat makes sense16:55
jdstrandok, that works16:55
jdstrandI only have to mess with the parent16:56
ikeylike any good child would..16:56
jdstrandit does mean I have to have snapd not do anything with the child profile though16:56
jdstrand(as in, load/unload it itself)16:57
jdstrandok, so several options with the child16:57
jdstrand1. embed the child in parent16:57
jdstrand2. have child separate from parent, figure out load order in snapd16:57
=== chihchun is now known as chihchun_afk
jdstrand3. have child separate from parent via #include, adjust snapd to not fiddle with child in interface connections16:58
jdstrandthese are options I can work through16:58
jdstrandjjohansen: my next question is: is there anything different I could try that we haven't discussed?16:59
jdstrandjjohansen: eg, apparmor namespace. I don't *think* so since the Px bug I mentioned was filed when playing with apparmor namespaces17:00
jjohansenjdstrand: you could use a namespace, I am not sure you want to atm17:01
jjohansenthe scope isn't separated from the view, so once you enter the namespace17:01
jdstrandjjohansen: yeah, I kept trying to think through if that would help anything, but couldn't17:01
jjohansenyou can't see the rest of the system profiles etc. It more like in a container or VM17:01
jdstrandplus, the status of namespace support across distros might make it problematic17:02
jjohansenloading into the namespace has the same issues17:02
jdstrandoh yeah, that would likely be a lot of trouble too17:02
jdstrandok17:02
jdstrandjjohansen: thanks, this was very helpful17:02
jjohansenbut you could get away with just tearing down the namespace to remove all its policy17:02
mwhudsonmvo: doh17:02
jdstrandjjohansen: in terms of snapd, that change would not be terribly different that just dealing with the parent in option 317:03
jjohansenjdstrand: that said I very much would like snappy to use a namespace, I just need to land the scope work and have it propagate everywhere first :(17:03
mwhudsonmvo: feel free to upload any fixes you need or tell me what i need to fix...17:03
jjohansenjdstrand: right17:03
jdstrandjjohansen: yeah. we'll get there17:03
mvomwhudson: its a good question, I need to think about it and probably look at the go upstream diff17:04
mvomwhudson: the change broke both our pkgconfig usage and our LDFLAGS17:04
* mwhudson goes back to bed for a bit17:04
mvomwhudson: we use -Wl,-Bstatic17:04
mvomwhudson: heh, do it, its not super urgent, I call it a day soon here17:05
jdstrandthere is also a variation on one, where I modify snapd such that a snap command could end up as an embedded child profile17:05
jdstrandbut anyway, that is for me to work through17:05
jdstrandjjohansen: thanks for all your help!17:05
jjohansenjdstrand: np17:05
jdstrandjjohansen: there is actually another option. we fix the parser for Px/px and make the use of the interface conditional on that fix being available17:10
jdstrandthis way, anyone distro who wanted the fix could pull the patch into their parser17:11
jdstrands/anyone/any/17:11
jdstrandI'll bring this up to the snapd team17:11
* kalikiana wrapping up for the day17:12
mvozyga: we will need is-nfs-home: [yes|no] as part of the system-key17:12
zygammm17:12
zygayes17:12
zygaI think so17:12
mvozyga: tests are breaking17:13
mvozyga: without it17:13
zygahmmm17:13
jjohansenjdstrand: that works for me too17:13
mvozyga: I need to check, we have a bit of a recursive import problem, some of this code probably needs to go into osutil or something17:13
zygamvo how did it break, I mean, we test this, right?17:13
zygamvo, I forgot where I put the nfs code but yeah17:13
mvozyga: yes, this is where it breaks, the test restarts snapd and assumes it re-genreates security profiles17:13
mvozyga: and we no longer re-genreate on every restart17:14
zygaaha, so not broken in the wild, just in an upcoming branch?17:14
zygaor broken in the wild now17:14
mvozyga: not broken in the wild17:14
mvozyga: just in 462917:14
zygaahh17:14
zygagod17:14
zygagood :)17:14
zygaI can fix that if you want17:14
zygacan you look at 4640 when you have some time? I will look at nfs part17:15
mvozyga: I would not say no to this offer :)17:15
zygathank you :)17:15
mvozyga: probably in my morning but yeah, I have a look. I'm bit behind in reviews in general, maybe I can have a review-friday17:16
mvozyga: I also wanted to stop pusing new PRs before my others are landed. but this is really hard17:16
zygayeah17:16
zygaafter this I only have layout spread PR (it depends on it now) and then I'll switch to hardening17:16
zygaChipaca how about you?17:19
Chipacazyga: what about me?17:19
zygafancy doing 4640?17:20
* zyga looks at nfs untangling17:20
Chipacazyga: doing it right now17:22
zygathank you17:22
zygaI want that spread test out there17:22
zygamvo any objections if I move more stuff to osutil?17:25
zygalike more of mount17:25
zygaI can move it to osutil/mount so that it doesn't cause a massive cluster of alterations if that makes it better17:25
Chipacazyga: do you find "%[1]s %[1]s" % (a,) clearer than "%s %s" % (a, a)?17:42
zygaTBH, not really17:42
Chipacazyga: then use the other ones :)17:43
ChipacaI mean, if you were passing around an enormous struct by value, it might be worth it?17:45
Chipacabut usually it's not17:45
Chipaca(in the common case of the thing being a poiner or a simple value, afaict it's more expensive in both memory and time to use the indexed version)17:45
Chipaca(add to that that it's less clear... ¯\_(ツ)_/¯ )17:46
Chipacalike, 300ns vs 200ns for the two-args version17:46
Chipacanot that i'd be insane enough to have measured this17:46
* Chipaca hides17:46
zyga:)17:47
zygahahah17:47
zygathank you Chipaca18:06
zygahow long does "time go test ./..." in the root of the project take for you guys/18:11
zygamvo that will be one big branch18:19
kyrofajdstrand, yeah I've looked into that one, even grepped the entire snap and can't find where it calls sytemctl. Wonder if it's in a binary somewhere18:21
mvozyga: I like osutil/mount18:24
zygaI moved it to osutil now, we'll see how that looks like18:24
jdstrandkyrofa: just looking at the logs, seems to be coming from mysql18:25
kyrofajdstrand, yeah, just none of its scripts. I'll take a quick grep of its src18:25
mvozyga: ok, I was thinking it might be easier to use "mount" just like before but of course if we end up with two "mounts" (one in osutil one in interfaces) that sucks18:25
zygayeah :/18:25
mvozyga: anyway, I will wait for the PR :)18:25
zygaI'm not done, let's see how it looks like in the end18:26
jdstrandikey: I responded to the forum. I've pinged niemeyer to comment before I proceed18:27
jdstrandniemeyer: and I pre-apologize for the walls of text between https://forum.snapcraft.io/t/blowing-off-steam-lets-plan-steam-support-interface/3457/14 and https://forum.snapcraft.io/t/blowing-off-steam-lets-plan-steam-support-interface/3457/27, but we're pushing the envelope here18:28
kyrofajdstrand, yeah nothing in the source either. No clue what's causing it18:29
niemeyerjdstrand: Appreciated!18:29
jdstrandgreyback: hey, you probably say, but I reviewed pr 4545. lgtm for my stuff, but the changes from zyga prompted some discussion with him19:58
mupPR #4545: interfaces/x11: allow X11 slot implementations <Created by gerboland> <https://github.com/snapcore/snapd/pull/4545>19:58
jdstrands/say/saw/19:58
* zyga finished a very boring branch just now20:00
zygaman20:00
zygathe things we have to do to make it compile ;-)20:00
mupPR snapd#4641 opened: many: move mount code to osutil <Created by zyga> <https://github.com/snapcore/snapd/pull/4641>20:03
mupPR snapd#4642 opened: many: add nfs-home flag to system-key <Created by zyga> <https://github.com/snapcore/snapd/pull/4642>20:07
zygajdstrand hey, do you have a sec20:08
jdstrandzyga: what's up?20:08
zygahttps://github.com/snapcore/snapd/pull/464020:08
mupPR #4640: snap,interfaces: allow using bind-file layouts <Created by zyga> <https://github.com/snapcore/snapd/pull/4640>20:08
zyga65 lines :)20:08
zygait's something I think we need for layouts and ...20:09
zyga... :)20:09
zygacould you please look?20:09
jdstrandman github reviews are pretty ugly with the use of '%[1]s'20:11
zygayeah, I will change that to %s %s20:11
greybackjdstrand: thanks, I'll wait to be told what to do :)20:12
jdstrandzyga: I wasn't necessarily saying that. personally I do find it easier to read as %s %s, but I can do either :)20:13
jdstrandthat said, I'm fine if you change it :)20:13
zygaplease review as-is, i'll do that separately20:13
zygacool :-)20:13
* jdstrand nods20:13
* ikey clicks the forums20:14
ikeyapologies for le delay20:14
ikeyalso the forums is making me think there is gonna be some kind of zombie event soon20:14
ikeymassive letters "12 DAYS LATER"20:14
zygajdstrand updated20:15
jdstrandikey: hehe20:15
zygaikey zombie event?20:15
jdstrandzyga: that is much easier on the eyes :)20:15
ikeyzyga, 28 days later :P20:16
ikeyyknow, rapid moving shoulder munchers20:16
jdstrandof course, where did my pending comments go...20:16
zygaikey, you mean stress-eating during weekends?20:17
zyga;-)20:17
ikeyno i mean literal zombies :P20:17
ikeyalso its not "stress eating". its uhm.. *thinks*.. weekly hormone rebalance therapy.20:18
ikeyyeaa...20:18
zyga"literal zombies"20:21
* zyga turns the dishwasher on20:21
ikeyyeah they chase you and say things like "totally" until *you* groan20:21
zygaI think my kids are like zombies sometimes20:21
zygajdstrand: after that PR I have spread test for layouts20:21
ikeyprobably a phone app to figure that one out.. ^^20:21
zygait's pushed, just waiting for the PR to land :)20:21
zygajdstrand replied20:35
zygaactually edited my response, sorry20:37
zygajdstrand if that's okay with you I will edit the symlink comment20:37
zygaeh20:38
zyganew golang broke -everything-20:38
zyganot a great tay20:38
zyga*day20:38
zygajdstrand do you want me to add the examples you listed to unit tests?20:43
jdstrandzyga: please see me comment to your comment. yes, more tests please but note that I didn't enumerate everything in the review20:48
zygajdstrand the one with 'more subtle' cannot be detected20:49
zygaas yaml will fold the old value and replace with the new one20:49
zygaas for remaining tests, I will add some more but the "bind-file" thing is identical in validation to "symlink" and those have a lot of tests already (though not added in that PR)20:50
zygaThe case where the same source is treated differently is interesting, that is not handled yet20:51
zygait will fail at runtime but it won't get caught by the validator20:51
zygaonce master is fixed tomorrow I will add those20:51
mupPR snapcraft#1908 closed: tests: update tests to work in adt <bug> <Created by sergiusens> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/1908>20:54
jdstrandzyga: ok, so those are keys to a dictionary. That's fine then. we should have a test that shows only one happened imho21:04
=== ogasawara is now known as Guest91911
mwhudsonhi when does snapd do the sd_notify thing to notify systemd that it has started up?22:49
mwhudsonin particular wrt seeding on first boot22:52
mwhudsonaha systemd.SdNotify("READY=1")22:52
mwhudsonhm ok looks like it notifies before seeding is known to be done23:01
mwhudsonhmm the idea of having snapd write the unit looks better i think23:03
=== Guest91911 is now known as ogasawara
=== ogasawara is now known as Guest23352

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