[01:22] Bug #1665184 opened: Assertion list returned by GET /v2/assertions/type can't be reliably split [01:57] barry, the fact that ubuntu-image uses the beta channel by default surprises me and is unclear from the manpages. Shouldn't it be stable? === markusfluer1 is now known as markusfluer [03:33] kyrofa: it can't be because it requires devmode. i think we definitely want to try to convert it to a classic snap at some point, but for now we treat beta as our release channel (and edge as our "proposed") === chihchun_afk is now known as chihchun === Sir_Gallantmon is now known as Son_Goku [05:50] Hi [06:50] PR snapd#2868 closed: Don't return null result for async responses [06:57] barry: even though you can have a snap that uses devmode without declaring it in snapcraft.yaml ;-) [06:58] I don't know that it's the right thing to do, but some snaps do it, and it's not being blocked [07:03] how to mount a ubuntu-core-16-dragonboard-410c.img [07:04] and write a file in to the mount partition === nhaines_ is now known as nhaines [07:27] PR snapd#2869 opened: Add Online Accounts interface === jamespag` is now known as jamespage === alan_g is now known as alan_g|afk [09:16] what's the difference between meta/snap.yaml and snapcraft.yaml? [09:17] one is used to build a snap, the other is meta information inside a snap package [09:18] snap.yaml is all the "non-build" meta info from the snapcraft.yaml usually [09:19] sometimes you create a snap.yaml manually though? [09:20] not really ... you *can* do that but it means the build takes two steps and you cant use the auto-builder on launchpad [09:22] looking at https://github.com/kubiko/roseapple-pi-ubuntuCore-build/tree/master/builder and https://docs.ubuntu.com/core/en/guides/build-device/board-enablement [09:22] (like you can create a deb from scratch by putting the right files in the right places and using ar and gzip to finally create the package, you can do the same with a snap, but nobody would seriously do that) [09:23] ernstp, thats rather outdated [09:23] wow, rly? [09:23] from a time where snapcraft did not understand "type: gadget" [09:24] this page looks nice and official: https://docs.ubuntu.com/core/en/guides/build-device/board-enablement [09:24] but it's already outdated? [09:24] yet it is outdated :) [09:24] https://github.com/snapcore/pi3-gadget [09:24] have a look there [09:24] ondra, ^^^ perhaps you shoudl update that ;) [09:25] I started at these wonderful pages that haven't been updated since 2011 :-) https://wiki.ubuntu.com/ARM/RootStock https://wiki.ubuntu.com/ARM/RootfsFromScratch [09:25] hah [09:25] yeah, thats all obsolete but some of it might still work [09:26] yeah I mean debootstrap will always work I guess [09:26] its not like the underlying technology changes much there [09:26] and there's multistrap [09:27] rootstock went out of maintenance some time ago though ... but its just a script, easy to asdjust if needed [09:28] ogra_: but thanks for pointing to the pi3 thing, I'll dig through it... [09:28] if you have questions, just ask :) [09:30] ogra_: is this up to date... ? https://github.com/snapcore/snapd/wiki/Gadget-snap [09:30] it mentions meta/snap.yaml again.. === alan_g|afk is now known as alan_g [09:31] no, that needs updating too it seems [09:34] I like https://github.com/kubiko/roseapple-pi-ubuntuCore-build/tree/master/builder because it includes building u-boot etc [09:36] ernstp, yeah, you could just call that from the snapcraft.yaml [09:38] there's no kernel snap in the rpi3 repo? [09:38] no [09:38] the kernel is from the official builds in the ubuntu archive [09:39] right [09:39] the source for it is on kernel.ubuntu.com [09:41] I guess I'm comparing this to yocto... === chihchun is now known as chihchun_afk [09:43] you cast really :) [09:43] *cant [09:43] where you build a kernel, u-boot, pick up some userland, and then bake it all into an image [09:44] all the bits are separately upgradeable and you can also roll back each of them individually [09:44] of course the point of using Ubuntu Core would be to _not_ compile all of userland from scratch [09:44] in case of kernel that happens even automatically if a new kernel doesnt finish booting [09:45] also the resulting image is readonly with only the few bits made writable the system needs to run, you cant really tinker with it [09:45] (snaps are signed readonly squashfs files) [09:48] well comparing to yocto I still need to take a bunch of source, compile it and then combine it to an image I can flash to a device [09:48] well, the kernel and bootloader, yeah [09:49] yes [09:49] (if your board is supported by the generic kernel only the bootloader ... ) [09:50] no I've got a custom board [09:51] the arm world is moving forward but it's going slow... [09:51] yep [09:52] how could that setup look then... [09:52] well, enabling the beaglebone black which has mainline support was a 30min job for me ... simply because i didnt need to care for the kernel === chihchun_afk is now known as chihchun [09:52] gadget/gadget.yaml gadget/snapcraft.yaml kernel/snapcraft.yaml [09:54] https://github.com/snapcore/snapcraft/tree/master/demos/96boards-kernel/snap [09:54] I'm using an imx6 processor plus a custom board [09:55] https://snapcraft.io/docs/reference/plugins/kernel has the docs for that [09:55] ogra_: right, that's just like https://github.com/kubiko/roseapple-pi-ubuntuCore-build/blob/master/builder/kernel/snapcraft.yaml makes perfect sense to me [09:55] right [09:56] that's exactly what I need for the kernel, pointing out config, dtb, some options and whatnot [09:57] then I want to build a gadget around that [09:57] right, and then an image [09:58] (docs for that are at https://docs.ubuntu.com/core/en/guides/build-device/image-building ) [09:59] which leads to the https://docs.ubuntu.com/core/en/guides/build-device/board-enablement page that was outdated you said [10:01] Can I reference snaps locally? [10:01] right, I can, gadget and kernel refer to snaps already existing in the store or in the current directory [10:04] ernstp, yes, with the --extra-snaps option [10:12] ernstp, note that even if the page is outdated, the resulting snap will work and you can later port to plain snapcraft.yaml if you want [10:13] so just follow it for now :) [10:37] PR snapd#2870 opened: tests: failover test for rc.local crash [11:04] PR snapd#2871 opened: utils: helper function for creating a deep copy of interface attributes [11:17] hi [11:18] I registered a new account and the profile is at https://launchpad.net/~ucrobotics123 [11:19] but when I executing " snapcraft register-key" commmand and inputing account and password [11:20] I got an error like this: you need to set a usename. it will appear in the developer filed alongside the other detials or your snap. [11:43] hangun: I think it's confusingly called "Developer namespace" in the account details online [11:44] hi ernstip [11:45] how I set up the "namespace" [11:46] I dont see where to set up in my account https://launchpad.net/~ucrobotics123 [11:48] hangun, did you set it up on login.ubuntu.com ? [11:49] hangun: if you read the full error message there's an url [11:52] I set up the "Username" filed at https://login.ubuntu.com/ [11:53] any role for that? [11:53] my username is "ucrobotics123" [11:53] and you can log in with that on https://myapps.developer.ubuntu.com ? [11:54] there is a ""developer namespace" option in the account settings [12:03] thanks ogra_ [12:03] it works now [12:09] I have another question: after snappy system booting up, executing commands " snap install hello-world" , "hello-world" [12:10] but got error like this: cannot bind-mount the mount namespace file /proc/11268/ns/mnt -> hello-world.mnd [12:10] support process for mount namespace capture exited abnormally [12:14] niemeyer, hi, I am trygin to push to spread a branch with the change that I did to export xunit format but I am getting [12:14] remote: Permission to snapcore/spread.git denied to sergiocazzolato [12:14] cachio: Hi [12:14] cachio: Got your email as well [12:14] cachio: Typical workflow in github is you fork the project into your own space, push the changes you want, and then send a pull request (PR) to the original project [12:15] cachio: You don't need write access to the master branch for that [12:15] niemeyer, I did that [12:16] cachio: Not really.. you see the message above? [12:16] cachio: You're trying to write into snapcore/spread.git.. that's not your fork [12:16] niemeyer, in that case I' try again [12:16] cachio: You're not supposed to be able to push there (yet, at least) [12:17] niemeyer, ok [12:22] hello all [12:22] I have the similar issue like this https://bugs.launchpad.net/snap-confine/+bug/1645457 [12:22] Bug #1645457: cannot bind-mount the mount namespace file on Kernel 3.10 [12:35] hello, sorry from being absent from IRC [12:36] anyone had a question about namespaces in snaps? [12:47] zyga, that was hangun [12:47] more abour namespaces in kernel i suspect though [12:47] *about [12:48] PR snapd#2864 closed: interfaces: API additions for interface hooks [12:48] hangun: hey [12:48] hangun: how can I help you, can you please repeat your question? === cosmo_ is now known as cos [12:51] PR snapd#2524 closed: interfaces/builtin,cmd/snap-confine: add the overmount interface [12:52] zyga: [12:52] hello all [12:52] 10:22:33 I have the similar issue like this https://bugs.launchpad.net/snap-confine/+bug/1645457 [12:52] Bug #1645457: cannot bind-mount the mount namespace file on Kernel 3.10 [12:54] heh, and he left [12:59] PR snapd#2866 closed: cmd/libsnap: add helper for dropping permissions [13:11] zyga: hey, why make the libcap stuff conditional? it will work everywhere [13:12] jdstrand: because we cannot add dependencies to snapd easily now [13:12] jdstrand: I want to just enable it on compile time if it is available [13:13] jdstrand: and as we work on resolving the other bug (that affects apt) we can just hard-depend on it [13:13] zyga: but the code is correct... why can't you add a dependency? [13:13] jdstrand: right now because of how apt works it means people will not update [13:13] jdstrand: mvo has the gory details [13:13] jdstrand: but that's the bottom line [13:13] we add new stuff all the time [13:13] look at bind9 updates [13:14] this isn't a reason to not do stuff [13:14] jdstrand: and stats show us that people are stuck on ancient snapd [13:14] I know that thread [13:14] jdstrand: we researched this, apt behaves this way if you use a particular command [13:14] so fix apt [13:14] that was the takeaway from the conversation as I understood it [13:15] jdstrand: I'm not aware of that, I need to ask mvo [13:15] jdstrand: I asked him today and he recommended against adding deps to snapd [13:15] jdstrand: in any case, on ubuntu the build will not use libcap and will just do that unconditionally [13:16] jdstrand: on fedora we can use libcap [13:16] jdstrand: I think this is fine [13:16] jdstrand: until we can address the issue in apt [13:16] I don't think it is fine because it adds code complexity in the setgroups check [13:16] jdstrand: wh? [13:17] *why? [13:17] we are using libcap to see if we can use setgroup [13:17] the only complexity will be an #ifdef in the sc_has_capabaility [13:17] no [13:17] without libcap it will just say yes [13:17] and that will be wrong [13:17] why? [13:17] if you call drop privs as non-root, setgroups will fail [13:18] that is the whole reason the check is there [13:18] oh we ca easily check for that [13:18] we have the cap if running as root [13:18] yes, but the code is correct. we need to fix the underlying problem, not contort our code [13:18] that's one line in the #else part of the has_capability [13:19] the underlying problem is a distro problem that affects more than just snapd. not fixing it and people aren't getting other updates. snapd shows the symptom, but that is only because it is the only thing we are looking at [13:21] also, the xfslibs change also introduced a dependency. are we going to yank that out? cause that will affect security policy [13:21] kernels, bind9, and other things all do this regularly in the distro [13:21] jdstrand: I noticed that too [13:21] jdstrand: one secodn [13:21] jdstrand: (mvo says it is hard socially) [13:22] jdstrand: for that I think we just need the macro definitions [13:22] jdstrand: not any real dependency at runtime, right? [13:24] jdstrand: or we can link libacap statically [13:24] jdstrand: that's easy too [13:24] jdstrand: would you +1 that? [13:25] :/ [13:26] for quota patch, it shouldn't pull in a runtime dep, only the build afaics (according to ldd) [13:27] jdstrand: I think we pulled in libhandle, not sure why [13:27] I saw it in ldd [13:27] Son_Goku: hey [13:27] oh, I don't have the right branch, hold on [13:27] zyga: hi [13:27] jdstrand: I mean libhandle from xfs is in master [13:29] no, I have the right branch [13:29] ldd ./snap-confine/snap-confine [13:29] I see no libhandle [13:30] that is with quota patches but not up to date master [13:31] and with up to date master, no libhandle [13:32] mvo: hey, can you comment on the no new deps thing? ^ [13:32] jdstrand: I agree, I wonder why I saw it on centos, I'll check later [13:34] Son_Goku: question, so the centos package [13:35] Son_Goku: can we build a small centos package separately from the fedora package? [13:35] Son_Goku: just something that could live in copr for now [13:35] Son_Goku: I was looking at rhel and man, no build deps for anything [13:35] haha [13:35] jdstrand: in a meeting right now [13:35] Son_Goku: so I think the package should build on centos first [13:35] well, if it can build in EPEL, that's enough [13:35] Son_Goku: and then can move over as a binary package [13:35] Son_Goku: exactly [13:35] no, I mean, that's enough for everyone (CentOS, RHEL, etc.) [13:36] Son_Goku: did you see my blog post about centos? [13:36] Son_Goku: ah, I see [13:36] EPEL is RHEL + EPEL packages [13:36] jdstrand: what dependency was that again? [13:36] and because CentOS is binary compatible, it works there [13:36] mvo: libcap2 [13:36] mvo: (and libcap-dev as build-dep) [13:36] mvo: this time, libcap [13:36] libcap2, yes [13:36] jdstrand: isn't that part of a the default install anyway? [13:37] if so, we are fine [13:37] hmmm, good question [13:37] let me double check [13:37] it is in main [13:37] we definitiely ship it in core [13:37] I checked the apt-cache rdepends, but didn't finish looking at it before I got fired up :) [13:37] it is installed in my pbuilder chroot [13:37] ogra_: we have libcap-ng in core [13:37] I think it's in bydefault [13:38] jdstrand: in that case let's re-open and land as-is [13:38] PR snapd#2866 opened: cmd/libsnap: add helper for dropping permissions [13:38] avahi-daemon needs it, so it is in the desktop [13:38] jdstrand: can you review it now [13:39] iputils-ping needs it, and that is in minimal [13:39] jdstrand, i see libcap2 here and libcap2-bin [13:39] (on trusty) [13:39] hi zyga [13:39] same for xenial [13:39] just left for a while [13:39] on trusty we still use the same core [13:40] https://launchpadlibrarian.net/306642126/core_16.04.1_amd64.manifest is the manifest file for the core snap [13:40] and yakkety and zesty [13:40] well, the core snap isn't an issue cause it'll just be slurped in, but I did check there. let me check again [13:41] zyga: EPEL in Koji uses RHEL 7 base, EPEL in COPR uses CentOS 7 base [13:41] http://people.canonical.com/~ogra/core-builds/ has links to all the manifests [13:41] ogra_: you are right. libcap2 is in /lib but libcap-ng is in /usr/lib. I only checked /usr/lib [13:41] it's in minimal, so crisis averted for this [13:42] jdstrand: bah, UsrMerge :) [13:42] do iiiit :D [13:42] however, I thought a fix for apt-get was the way to go to make it work the same as apt [13:42] Son_Goku: I suspect 18 will do it [13:42] FINALLY [13:43] Son_Goku: nobody cares though :) [13:43] :'( [13:43] it's a change that changes nothing relevant for anyone [13:43] internal refactor [13:43] y'all suck :) [13:43] hangun: hi [13:43] hangun: I want to help you with the issue you mentioned [13:43] hangun: I merged a small fix into snapd master that affects 3.10 [13:43] zyga: all this said. it is actually interesting to think about (not for this PR) to make snap-confine statically linked, or at least, partially so [13:44] jdstrand: yes, I agree, though we will use core libs for re-exec linking it statically is not a bad idea [13:44] hangun: can you try master and tell me exactly what error are you getting [13:44] zyga: well, re-exec is only for classic [13:45] jdstrand: yes [13:45] jdstrand: do you see advantages to static linking on core? [13:47] but it does help the re-exec case. it also would allow us to reduce the apparmor profile. potentially avoids problems where the libs it would dynamically link out to change incompatibly such that snap-confine fails. that *should* never happen and tests would reveal that type of thing [13:47] it does mean that we need to rebuild for security updates [13:47] it is something to think about. I'm not recommending it atm, just thinking out loud [13:48] jdstrand: I think we should add that to the list of things to investigate once core splits into core + base [13:48] jdstrand: could be used to keep core totally tiny [13:48] well, it would actually be a little bigger [13:48] PR snapd#2872 opened: tests: only check core refresh if there's no update available [13:49] since it doesn't use many libraries and most of those are fundamental-- I doubt any would drop of, so there would be duplication. but I'm not saying this is a concern, just that it wouldn't be smaller [13:49] jdstrand: only if something else also depends on libcap in core [13:49] zyga: My env like this snapd version (2.21), snapcraft version (2.26) ubuntu-snappy version (2.21). [13:49] libcap is the only thing [13:49] that it would save [13:49] hangun: you need to build snapd from master [13:49] if it is totally staically compiled, then libc is there and in core [13:50] hangun: there's a lot of improvements that landed since 2.21 [13:50] hangun: and the fix to 3.10 that I did is not released yet [13:50] hangun: I don't know it fixes the issue you are seeing but I did use it run on a 3.10 kernel [13:50] hangun: (though without apparmor) [13:50] hangun: but you need that fix to get it to work anyway [13:51] lool: lool: https://github.com/morphis/tvheadend/tree/snap-support [13:51] of course, you could just statically link libcap [13:51] anyway, something to think about [13:51] PR snapd#2835 closed: strutil: support version compare with empty strings [13:52] zyga: thanks, i try it now. [13:54] Son_Goku: what are those notificationabout snap-confine for f23 being deleted? [13:54] Son_Goku: is that because of EOL? [13:54] no [13:54] I think it's because you never submitted them as updates [13:55] so what is exactly being deleted? [13:55] if they're not tagged, koji aggressively gc's them [13:55] the build artifacts [13:55] ah [13:55] that's fine [13:55] Son_Goku: we should try to get those packages out [13:55] Son_Goku: 2.23 has all the fixes for fedora now [13:55] is it released? [13:56] I didn't see mvo announce 2.23 yet [13:56] did we also get any new systemd units that I need to refresh my systemd unit patch for? [13:58] Son_Goku: mvo will release it today I think [13:58] mvo: when is the release? today? [13:58] Son_Goku: no, we can drop units now [13:58] Son_Goku: more less [13:58] well, our systemd units work slightly differently from ubuntu's remember [13:58] Son_Goku: we have a packaging/ directory [13:58] Son_Goku: yes, I mean we should put them there [13:58] Son_Goku: if you commit them we don't need to carry the patch [13:58] well, I can certainly submit a PR with them, if you'd like [13:58] Son_Goku: please, I really want those [13:59] Son_Goku: you didn't answer my question about the centos blog post [13:59] I didn't read it yet [13:59] Son_Goku: did you see the stuff I added there? [13:59] Son_Goku: ah, OK [13:59] reading it now [14:00] looks like zbyszek left comments on your blog? [14:00] Son_Goku: yes [14:00] Son_Goku: nice to see feedback from systemd developers :) [14:00] talking to them often helps, too :) [14:01] Lukas and Zbyszek are nice people [14:01] I'm sure, I'd love to meet them in person one day [14:01] Lukas is the RHEL systemd maintainer, and Zbyszek is the Fedora one [14:01] I could use more sleep ;) [14:01] or more coffee :) [14:01] I think I need to survive too ;) [14:02] zyga: is this the snapd link https://github.com/snapcore/snapd/ ? How I compile it or any easy way to get a latest nightly deb package? [14:02] hangun: yes that is it [14:02] morphis: awesome! [14:03] hangun: not sure where are the nighly packages, I think they are built somewhere but I cannot say [14:03] hangun: I wrote a blog post about how to build it from source on centos lately, the instructions are almost enitirely valid for other distributions (you just need the right build dependencies) [14:04] hangun: https://new.zygoon.pl/post/case-study-snapd-on-centos/ [14:04] zyga: awesome [14:04] hangun: feel free to ping me with question [14:05] hangun: you can try to build just the snap-confine parts [14:05] hangun: and you can make install DESTDIR=/tmp/foo if you just need a particular file to test [14:05] hangun: I'm not sure what the process is on your device [14:06] zyga: my board is bubblegum 96board http://www.96boards.org/product/bubblegum-96/ [14:09] hangun: I see [14:09] I don't have that board at home [14:10] hopefully all needed config options are set in that kernel [14:10] zyga: i will re-build snapd following your blog [14:12] PR snapd#2841 closed: interfaces: allow recv* and send* by default, accept4 with accept and other cleanups [14:14] PR snapd#2842 closed: interfaces: misc updates for network-control, firewall-control, unity7 and default policy [14:15] zyga, what should I label the folder inside of packaging/ ? [14:15] I originally was using the catch-all top level directory dist/, but I guess that doesn't fit here [14:18] Son_Goku: just put packaging/fedora-25 there [14:18] Son_Goku: we can use symlinks for others [14:18] Son_Goku: and then we can use that in downstream packages [14:19] Son_Goku: we can also keep a copy of the spec for CI [14:19] even if the units are useful for more than fedora? they're basically the ones anyone that isn't using Debian uses [14:19] Son_Goku: yes [14:19] Son_Goku: symlinks :) [14:19] Son_Goku: we can sim;lify over time [14:19] okay [14:20] as for spec for CI, that would mean that snapcore-selinux needs to somehow be available for spread to pull in [14:20] or is it always going to retrieve that from fedora dist-git? [14:20] Son_Goku: yes, I think we can come up with something [14:20] okay [14:20] Son_Goku: not sure yet [14:21] jdstrand: what about 2863? [14:21] jdstrand: I'd like that in candidate that's going out now [14:21] PR snapd#2866 closed: cmd/libsnap: add helper for dropping permissions [14:25] zyI already commented on that yesterday. I didn't think it needed more work from me, but I'll approve it [14:25] PR snapd#2873 opened: tests: several improvements to the nested suite [14:27] re [14:28] zyga: I already commented on that yesterday. I didn't think it needed more work from me, but I'll approve it [14:28] jdstrand: just the approval :) [14:29] zyga: note, you merged https://github.com/snapcore/snapd/pull/2866 without a second +1, just mine [14:29] PR snapd#2866: cmd/libsnap: add helper for dropping permissions [14:29] jdstrand: I cannot merge it without it [14:29] well, you'll need a second +1 too [14:29] unles the commit policy changed [14:29] jdstrand: that counts as one [14:29] * jdstrand is just operating under what he's been told [14:30] zyga: what counts as one? my +1? yes, and you need two +1s other than yourself as I've been told [14:33] zyga: I git clone snapd from source and then ./mkversion.sh [14:34] zyga: *** Setting version to '2.22.2+git475.g7900000.dirty' from git. [14:34] zyga, does snap-confine get the same versioning as snapd now? [14:35] or does it still maintain its own version somewhere? [14:35] Son_Goku: yes [14:35] Son_Goku: it's the same version, easier :) [14:35] okay === chihchun is now known as chihchun_afk [15:05] zyga: working on the snapd.spec rebase to v2.23... https://github.com/Conan-Kudo/snapd/commit/f73baebb3d0d9f049568b1134365c2b47368c981 [15:06] let me know if there's something I'm missing that should be added [15:06] haven't built it yet, either, as I need to go to work [15:06] I'll test and fix up the inevitably broken file lists... [15:06] Son_Goku: looking [15:08] Son_Goku: BuildRequires: pkgconfig(libcap) [15:08] on snap-confine? [15:08] does that mean we can use file caps? [15:09] Son_Goku: also requires xfsprogs-devel [15:09] Son_Goku: no but we start to use libcap [15:09] Son_Goku: maybe we can switch over time, but the dependency is in place now [15:09] Son_Goku: you also want glibc-static [15:09] uh why glibc-static? [15:10] Son_Goku: though we don't need to ship the resulting file (system-shutdown) [15:10] Son_Goku: there's a special helper that systemd runs on core systems to unmount the filesystem correctly [15:10] Son_Goku: it's only used on core [15:10] Son_Goku: and it runs back in intrd land [15:10] Son_Goku: so it has to be static [15:10] Son_Goku: just add the build-dep for now, we can make that conditional on something like --non-core-build or something later [15:11] Son_Goku: check the list in the blog post, I listed all the packages for centos and that's pretty much the same list for Fedora [15:11] Son_Goku: reading the rest now [15:12] Son_Goku: make sure the configure call matches autogen (not sure if it doenst) [15:13] Son_Goku: we have a new go executable (snapctl) that should be built and installed to %{_bindir} [15:13] Son_Goku: we should include the /var/lib/snapd/void directory that is root.root 0000 [15:13] Son_Goku: snap-confine creates it but it should be owned by the package [15:13] it is [15:13] oh, must have missed it [15:13] snapctl goes in snap-confine? [15:14] Son_Goku: no, more like snapd [15:14] Son_Goku: I'd merge them TBH [15:14] Son_Goku: one binary package [15:14] Son_Goku: but digress, [15:14] Son_Goku: we need a new info file [15:14] Son_Goku: it is in libexecdir for now [15:14] Son_Goku: it is in data/info after build AFAIR [15:14] Son_Goku: it's just a version dump [15:14] Son_Goku: oh and we should run ./mkversion.sh [15:15] Son_Goku: right now we skipped that but it is mandatory for snap-confine and everything else now [15:15] Son_Goku: we _probably_ have to fix mkversion [15:15] Son_Goku: or have it just echo the fedora version [15:15] Son_Goku: it looks at git [15:15] Son_Goku: but then falls back to debian/changelog [15:15] Son_Goku: it's a bit hard to say where the reference version should be [15:15] Son_Goku: we can fix that but not sure where to put the version [15:15] if we could just write a file out somewhere, I can inject the version that way [15:16] with like echo "%{version}" > VERSION [15:16] Son_Goku: the script generates a go version file, a static file for snap-confine (configure.ac reads it) and the info file (snapd reads it at runtiime) [15:16] Son_Goku: kind of yes, [15:16] Son_Goku: but if you do that in mkversion.sh as a patch we can upstream it and it will not drift over time [15:16] yeah, alright, I'll take a look at it [15:16] Son_Goku: that script was a quick and dirty way to progress and this is a good chance to just make it nicer [15:17] I gotta go to work [15:17] Son_Goku: thank you, let's sync later [15:17] Son_Goku: you can drop SNAPD_REEXEC, reexec is disabled on fedora and similar now [15:18] Son_Goku: you can keep it just in case you want to for now but it's not useful anymore [15:18] I'm going to leave it as reference [15:18] Son_Goku: oh and we have a few more manual pages Is uspect [15:18] Son_Goku: still not enough but more than before :-) [15:18] I plan to write the missing few when I have a chance to look at this [15:18] (fighting other dragons now) [15:19] Son_Goku: we may have more directories in /var/lib/snapd/ we should cross-check with debian packaging [15:19] (and document them in snapd man page) [15:20] Son_Goku: that's all I could see on a quick read, again *thanks* for picking this up :) [15:33] does snappy have any system for bug reporting? [15:33] not snappy itself, but for specific snaps [15:33] brunch875: no not at present [15:33] zyga, is it planned? [15:34] brunch875: there's work for landing a way to display contact information, it should be ready in the next release [15:34] nice! [15:34] brunch875: I think that can be extended to include other URLs (e.g. a support URL) [15:34] brunch875: you want to ask mvo about this, he was working on the feature [15:34] brunch875: but I think he's very busy today, working on the release [15:34] brunch875: so perhaps tomorrow [15:35] brunch875: or just send an email to the snapcraft mailing list [15:35] snap info snapname in master will give you contact information [15:35] (in a meeting) [15:35] * zyga hugs mvo [15:35] thanks! :) [15:35] thank you! [15:36] im seeign this on 14.04 : 2017-02-16T15:34:49Z INFO snap "core" has bad plugs or slots: core-support (unknown interface) [15:36] stokachu, well, just an INFO message ... does it behave correctly ? [15:36] ogra_, not sure yet still trying to load my snap [15:37] (core just got upgraded to new version, you most likely just got that one) [15:38] stokachu: this is a known issue, not sure where the bug for tracking that is [15:38] zyga, ok thanks [15:39] it shouldnt cause any harm though [15:40] mvo: just saw your mail about new core and tried to update... [15:40] $ snap refresh [15:40] 2017-02-16T15:40:17Z INFO snap "core" has bad plugs or slots: core-support (unknown interface) [15:40] core 16.04.1 from 'canonical' refreshed [15:41] is that expected? [15:41] popey: yes, its just a warning (still not nice) [15:41] so it refreshed fine and informed you that the old core didnt have that interface [15:41] oh, it's moaning about the old core, I see. [15:41] thanks [15:41] well, about the one in use at the time of the upgrade [15:42] (also, core-support is moot on classic systems) [15:43] (at least it should be :P) [16:03] kyrofa: fyi, responded to https://github.com/snapcore/snapd/pull/2837 [16:03] PR snapd#2837: interfaces/apparmor: allow reading from ecryptfs [16:43] Bug #1648615 changed: Apps hit apparmor denial trying to connect to unity8's mir_socket [16:56] PR snapd#2874 opened: kmod: added Specification for kmod security backend [17:11] PR snapd#2829 closed: tests: add libvirt interface spread test === plars_ is now known as plars [17:27] Found this forum post on 96Boards: http://bit.ly/2kWV5l5 [17:36] sdrobertw, not sure what's going on there-- I suggest an email to the snapcraft list, or have them hop in here so we can troubleshoot [17:38] barry, ah, no, I was using the deb anyway. I meant when I run ubuntu image without `-c`, it defaults to using beta [17:38] sdrobertw, i guess thats the same guy we have on the mailing list, he has assembled a non-working image (kernel snap not fully working etc) [17:38] sdrobertw, his image is/was built in a way that the firstboot initialization did not properly work, which results in snapd not working [17:40] kyrofa: that must be a behavior of snap prepare-image. if no -c is given to u-i, we don't pass --channel to `snap prepare-image` [17:40] kyrofa: I will tell them to join the channel [17:40] barry, ah, interesting. Perhaps you should, haha! [17:41] barry, that way you can document it. No one knows you're actually using snapd behind the scenes [17:42] kyrofa: we should definitely document that, but understand that u-i will also eventually create classic images, so it's not supposed to be so tied to snaps. i guess snap prepare-image needs better documentation and/or defaults [17:42] barry, understood. Although keep in mind that documentation for snap prepare-image won't help anyone if it's always wrapped by ubuntu-image [17:43] barry, if we eventually need to call prepare-image ourselves (is that what you mean?), that's fine [17:43] kyrofa: well, what i'd like to do is document u-i "backends" (of which there is only one right now) and that's where we can document how prepare-image is called under the hood [17:43] kyrofa: no, you should never have to call it yourself [17:44] barry, I see, okay [17:51] kyrofa: hey, is cleanbuild working for you with a snap/snapcraft.yaml? [17:52] I've got this error when trying a build: [17:52] Processing triggers for libc-bin (2.23-0ubuntu5) ... [17:52] Could not find snap/snapcraft.yaml. Are you sure you're in the right directory? [17:52] To start a new project, use 'snapcraft init' [17:52] lool, I haven't tried. To be completely honest I don't use cleanbuild-- I just create a clean container myself so I can utilize caching [17:52] kyrofa: would you know if the tarball is supposed to contain snapcraft.yaml? [17:52] lool, ohhh [17:52] lool, I know what you hit [17:52] I looked as the tarignore logic, and it seems correct yet the tarball doesn't contain snapcraft.yaml [17:53] lool, indeed, way back when 'prime' used to be called 'snap' so cleanbuild had logic to ignore it when creating the tarball [17:53] lool, that's since been fixed, let me see if it's been released yet [17:53] oh ok, just me looking at fixed source code which is not the one I'm running, blah [17:53] lool, ah, 2.27 [17:53] lool, it's in proposed [17:54] lool, haha, that'll always get ya [17:55] lool, sorry about that, we caught that issue too late [17:55] no that's great news, it's already fixed [17:55] kyrofa: it's funny cause I actually thought of this snap/ ignore explanation and thought "oh that will be easy to fix" [17:56] lool, yeah it was like four characters [17:56] Plus tests, of couse [17:56] with an r in there somewhere [17:56] BTW I've noticed two pieces of potentially interesting behavior [17:56] one is with dependent libs [17:56] Oh? [17:57] I have these binaries that require libsctp1 [17:57] they are prebuilt [17:57] if I build the snap on a system that has the package, the lib gets copied automagically [17:57] however if it's missing, no error but the snap is incomplete [17:57] this would be caught by cleanbuild [17:57] in the sense that if I always used cleanbuild and tested the snap I would notice [17:58] but someone doing changes / buidling the snap wont notice [17:58] I wonder if you should warn/fail the build when trying to copy libs and failing, don't know [17:58] lool, indeed. There are a few things here [17:58] lool, first, check out https://snapcraft.io/docs/build-snaps/syntax and read about the `build-attributes` [17:58] it's kind of hard to both be tolerant in case it's in a later part and to be rigorous to make sure all libs are there [17:59] lool, long story short, this is really unclear behavior as you noticed [17:59] ah didn't know about build-attributes: no-system-libraries [17:59] lool, we're moving to, instead of magically copying things we know we need, erroring on them [17:59] lool, we're hemming and hawing on it because it will break a lot of things, though [17:59] ok [17:59] lool, not sure when that will happen or what it'll look like [17:59] lool, however, if you want that behavior now, you can use that build-attribute [18:00] can I set build-attributes globally? seems per part [18:00] lool, indeed, per-part [18:00] lool, it's really there for content sharing when "yes I know that lib isn't here, I don't _want_ it to be" [18:00] kyrofa: is it build-attributes: [no-system-libraries]? [18:00] You got it [18:01] lool, what that means is that you'll need to specify all the libs you need as stage-packages [18:01] ok, the other thing I wanted to mention, probably bottom of the priority pile thing, is about 32-bits in amd64 [18:01] I'm building an amd64 snap on amd64 but it contains a 32-bits runtime because "meh" [18:01] when I do this, I get tons or warnings [18:02] kyrofa, is there a way to "pin" a version of a snap so it doesnt update [18:02] kyrofa: actually I get one per binary [18:03] e.g. Unable to determine library dependencies for b'prime/xyz' [18:04] seems fair in terms of number of warnings, just thinking this could the same as for 64 bits, but again I dont expect any priority on this, just thought I'd mention I came across this [18:05] lool, got pulled into a call, give me a few and I'll get back to you [18:06] kyrofa: no worries, this was just FYI [18:18] PR snapd#2865 closed: image,cmd/snap: refactoring and initial envvar support to use stores needing auth [18:30] Alright, done with the call [18:30] who won ? [18:30] :) [18:30] Me, duh [18:31] lool, ah, indeed that's interesting. We use the host's ldd to check that [18:31] lool, but it's not a native elf file, so it skips it [18:32] pmcgowan, sorry for the delay: not that I know of. I think you can disable refresh systemwide by stopping the right systemd unit, but that doesn't sound like what you asked for [18:32] pmcgowan, however, that's a pretty popular request. manik is tracking it [18:32] kyrofa, not exactly, so if I revert a snap, does that effectively do it? [18:33] I assume the snap wont update after a revert? [18:33] pmcgowan, it won't update to the revision from which you reverted, but I do believe it'll update when a new update comes out [18:33] makes sense [18:36] does anyone know if its possible to have an snap get the current version of an app using an github tag? [18:36] DedSec, you mean when building? [18:36] yes [18:36] DedSec, oh certainly [18:37] DedSec, use source-tag [18:37] DedSec, so you have `source: ` followed by `source-tag: ` [18:37] DedSec, `snapcraft help sources` may prove helpful as well [18:38] gotcha, so i could easily create an tag for Dev buils and one for stable and then have different snapcraf.yaml files for each version [18:38] sounds easy :) [18:41] does anyone know why there are two telegram snaps? I'm using sergiusens one because it has never given me any trouble [18:41] * ogra_ uses it becaause he is a sergiusens fanboy [18:43] brunch875, the store only cares about the names being unique. Anyone can release anything [18:44] So I could upload my own telegram? neat [18:44] thanks kyrofa, that cleared my doubts [18:44] brunch875, so if you run `snap find telegram` you'll see that sergiusens has one, and pain7 has one. Pick your poison, or upload your own! [18:45] brunch875, the one thing you can be certain of is that telegram has not officially released their own [18:45] brunch875, because that would probably be called "telegram" and come from the "telegram" developer [18:45] (or something) [18:45] what if I registered as telegram? [18:46] brunch875, I suspect the name is reserved [18:46] I take it telegram would be able to reclaim its name [18:46] brunch875, you'll have to justify it [18:47] sergiusens: hey, any luck on the PR? [19:11] PR snapd#2875 opened: mkversion.sh: Add support for taking the version as a parameter [19:16] Is there a way for a snap configure hook to get all the config keys? [19:22] Cynerva, what do you mean? [19:25] kyrofa: I'd like to get a list of every config that's been set for the snap. Partially for validation - so if someone says `snap set mysnap potato` but we don't have a potato config, I'd like to have the hook fail with feedback for the user [19:26] Cynerva, ah okay. While I know you can retrieve multiple values at once with `snap get key1 key2 key3 ...` I don't think there's a way to retrieve _everything_ [19:27] Cynerva, but I think the plan is at some point to allow the snap to specify some sort of schema [19:27] (don't take my word for it though, not quite sure on the plan) [19:41] ogra_: hey, I was excited to see a new core in stable hoping for logging and ntp options (though they aren't there yet). That's fine, but I wanted to play with 'snap get', so I tried 'sudo snap get core ssh' and various other things, but it didn't work [19:42] $ sudo snap get core ssh [19:42] error: snap "core" has no "ssh" configuration option [19:42] ogra_: I feel like I am missing something obvious [19:43] https://docs.ubuntu.com/core/en/guides/build-device/config-hooks only shows 'set' [19:43] jdstrand, assuming things haven't changed too much, you can only get things once it's been set. If the hook in the core snap doesn't `snapctl set` them when installing, you can get them [19:43] it seems /snap/core/1083/meta/hooks/configure doesn't implement 'get', but I've not used the configure hook [19:43] jdstrand, `get` is a snapd function [19:43] oh [19:44] jdstrand, it just returns the config value corresponding to that key for the snap [19:44] let me try with rsyslog rather than ssh [19:44] kyrofa: ahh okay, we'll make do without the validation for now, thanks :) [19:44] jdstrand, which you can set via `snap set` (in which case the `configure` hook is run and can validate it) or from within the hook via `snapctl set` [19:45] jdstrand, snap get service.ssh.disabled [19:45] sure enough [19:45] jdstrand, snap get service.rsyslog.disabled [19:45] $ sudo snap set core service.rsyslog.disable=false [19:45] err [19:45] $ sudo snap get core service.rsyslog.disable [19:45] false [19:45] yeah [19:45] so setting it true disables ssh [19:46] same for rsyslog [19:46] $ sudo snap get core service.ssh.disable [19:46] error: snap "core" has no "service.ssh" configuration option [19:46] right [19:46] so you have to 'set' it first [19:46] yep [19:46] ok, I'll file that away while I wait for ntp and remote logging :) [19:46] kyrofa, ogra_: thanks! [19:47] well, service.systemd-timesyncd.disable [19:47] that one wroks already [19:47] (so you could install an ntp snap) [19:47] timeserver is next on my list [19:54] Bug #1665438 opened: Running command can end up with wrong security profile if refreshed === mup_ is now known as mup [20:34] im trying to make a network interface persists through reboots using the daemon configuration, the interface is listed in ip addr but no ip address or iptables rules applied, https://github.com/conjure-up/conjure-up/blob/master/snap/snapcraft.yaml#L20-L24 [20:34] this is a classic snap, am i missing anything here? [20:35] here i sthe output from systemctl status https://gist.github.com/battlemidget/e7ea01bfb37a3feb38f2c0fc5e138ada [20:35] i dont see any errors here [20:37] https://gist.github.com/battlemidget/e7ea01bfb37a3feb38f2c0fc5e138ada#file-gistfile2-txt that shows running the command directly also works [20:47] what's the eta on snap info showing tracks? [20:51] Bug #1665184 changed: Assertion list returned by GET /v2/assertions/type can't be reliably split [21:09] barry, python3 -m flake8 is finding the one bundled in ubuntu-image before it finds python3-flake8 [21:09] barry, is that a problem on my machine? [21:10] barry, running from the ubuntu-image deb, by the way [21:10] kyrofa: i'm not sure what that means. flake8 isn't bundled with u-i [21:10] barry, /usr/lib/python3/dist-packages/ubuntu_image/testing/flake8.py [21:11] kyrofa: how is that even on sys.path? [21:11] kyrofa: show me all the commands you're doing [21:12] barry, within the snapcraft tree: python3 -m flake8 --max-complexity=10 snapcraft [21:12] barry, and boy I'll tell you... it's not happy with snapcraft :P [21:14] kyrofa: you mean, you're inside a snapcraft git clone? [21:14] Indeed [21:14] * barry tries to repoduce [21:14] barry, which contains another snapcraft directory [21:15] barry, my sys.path doesn't look outrageous: http://pastebin.ubuntu.com/24009515/ [21:16] indeed [21:18] kyrofa: wtf?! [21:18] barry, do you see it as well? [21:19] kyrofa: i do see it in a traceback [21:20] offs [21:20] kyrofa: i know what the problem is :( [21:22] almost [21:22] barry, I'm curious [21:22] kyrofa: i need to find one more piece of the puzzel [21:22] *puzzle [21:22] oh I have a funny one [21:23] I have a symlink under stage/blah that is pointing to an absolute directory location on my system [21:23] snapcraft tries to go in there and change stuff :-) [21:23] lool, how are you getting an absolute symlink into stage? [21:23] I wasn't getting this issue until I had something installed in the system location [21:24] install: | [21:24] # ship static symlink pointing to writable dir [21:24] mkdir -p $SNAPCRAFT_PART_INSTALL/config [21:24] ln -sf /var/snap/lteenb-lool/current/rf_driver \ [21:24] $SNAPCRAFT_PART_INSTALL/config/rf_driver [21:24] in one of my parts [21:24] Ah, you're just asking for trouble [21:24] I need the symlink though :-/ [21:24] lool, snapcraft works really hard in its plugins to prevent that, because you'll end up with a broken link in the final snap [21:24] kyrofa: it actually works well in the final snap! :-) [21:25] lool, it won't make it through review, I expect [21:25] Oh wait... [21:25] lool, you cheater! [21:25] I didn't read the entire path [21:25] But yeah, I'd still be surprised if the review tools let that through. Have you tried? [21:26] lool, I'm assuming the snap is called "lteenb-lool"? [21:26] yes [21:26] kyrofa: LP: #1631156 [21:26] Bug #1631156: flake8.extension entry point has global ramifications [21:26] which doesn't help you much unfortunately :( [21:27] barry, ouch. Yeah, I guess I'll remove it then [21:27] kyrofa: are you on zesty? [21:27] barry, xenial [21:27] dang [21:27] i could fix it for zesty, but i'd have to put flufl.testing in backports for y and x [21:27] which maybe i should do [21:28] fwiw, it has nothing to do with snapcraft; any invocation of flake8 will break :( [21:28] lool, and cp instead of linking doesnt work ? [21:28] ogra_: would like to keep the up-to-date master configs in the snap [21:29] barry, alright, thank you for the investigation! [21:29] hmm [21:29] kyrofa: let me think more on it [21:30] https://snapcraft.io/docs/build-snaps/metadata makes reference to using wrappers, how I can add things to the wrapper? [21:30] lool, what exactly are you trying to accomplish there? [21:30] kyrofa: the config has an include system with include ; rf_driver is a symlink to the actual backend [21:31] bdmurray, easiest is to just add another wrapper (yay onions) [21:31] bdmurray, those are small scripts you'd write yourself [21:31] instead of having the whole config copied into SNAP_DATA, I have SNAP/rf_driver -> SNAP_DATA/rf_driver and I manage the SNAP_DATA/rf_driver symlink with the snap's config [21:31] lool, why not generate it at install time? [21:31] PR snapcraft#1143 opened: Switch Track and Arch in channel maps [21:32] kyrofa: well the configs are under SNAP, so cant write there [21:32] ogra_: Could you elaborate? [21:32] bdmurray, command-.wrapper is generated, you cant really change it ... but you can make "command" another wrapper that then calls the actual command [21:32] lool, ah yes of course [21:33] bdmurray, an onion of shell wrappers ... [21:33] lool, so when you say snapcraft messes with it, what do you see happening? [21:33] PR snapd#2824 closed: overlord: make seeding work also on classic, optionally [21:34] generally, it doesn't build anymore right now, I think it used to with previous version; but more interestingly, when I build it with the snap installed, because the absolute symlink ends up in stage/, snapcraft dives into it and tries to move files underneath [21:35] I suspect I have changed other things in the build that trigger this issue though [21:35] lool, yeah probably because it notices it's absolute, so it's trying to follow the symlink and copy the dir [21:35] ogra_: there's nothing that can be put in the yaml file to just set env variables in the wrapper? [21:36] bdmurray, i think something was recently added ... not sure it is in a released snapcraft yet ? [21:36] bdmurray, you'll be able to do that in snapcraft v2.27, in proposed [21:36] kyrofa, was the environment handling in snapcraft.yaml released already ? (and are there docs for bdmurray ) [21:36] ogra_, too slow! [21:36] ah, yeah :) [21:37] <- old fart :P [21:37] kyrofa: I'll play a bit more with it, I think I can reduce the number of weird things [21:45] ogra_, kyrofa which services do I need to disable to stop auto updates? is snap.refresh.service enough? [21:45] pmcgowan, I _think_ so [21:47] * kyrofa wonders about snapd.refresh.timer [21:47] kyrofa, that was my thought [21:48] pmcgowan, I haven't done this if you can't tell : [21:48] :P [21:48] How can I only rebuild the necessary parts of the snap after I added environment information to the yaml file? [21:51] bdmurray, just run `snapcraft` again, that meta-data is always copied over [21:52] bdmurray, are you running out of snapcraft master, then? [21:55] kyrofa: no 2.27 is in -proposed and I installed it [21:55] bdmurray, ah, okay [21:55] Then you should be good, yeah [21:56] kyrofa: so I was wrong, everything is fine now; I think the new snapcraft was actually stricted and made me fix a bug (trying to install this symlink twice) which probably snapcraft shouldn't bother detecting [21:56] what was really happening was that another part was shipping a default version of this symlink (the upstream one) and when snapcraft tried installing it, it installed in the system dir due to my hacked symlink [21:57] not something you should worry about really [21:57] Ahh, yeah that would be tough [21:57] once I stopped priming that copy of the symlink, things worked again just fine [21:57] Good catch though [21:57] well snapcraft was good actually [21:57] it's actually been a pleasure to do this build from source that upstream requested (instead of the from debs I had) [21:58] Yeah in my experience anything complex from debs just require all sorts of hackery to make work [21:58] From source is so much easier in a lot of cases [21:59] kyrofa, after some search I decided to disable the timer just fyi [21:59] kyrofa: it was from a PPA in this case, but otherwise trivial to use the debs [21:59] pmcgowan, I guess you'll see in a few hours if that's what was required :P [21:59] Ah, okay [22:01] PR snapcraft#1118 closed: Trigger beta tests on travis every day [22:01] PR snapcraft#1144 opened: Trigger beta tests on travis every day [22:20] kyrofa: So that didn't work out too well for me. http://pastebin.ubuntu.com/24009810/ [22:20] bdmurray, that doesn't mean anything to me. But I assume you're saying the environment variable wasn't defined? Can I see your snapcraft.yaml? [22:21] kyrofa: I'm saying I think the "\n" is an issue [22:21] bdmurray, wait.... you're essentially calling `open('$SNAP')`? [22:22] kyrofa: no $SNAP/lib/python3.5/site-packages/etc/apport/crashdb.conf [22:22] bdmurray, point is, python isn't going to resolve that for you [22:22] bdmurray, I'm not sure where that's coming from in this case, but that's definitely wrong [22:23] APPORT_CRASHDB_CONF: $SNAP/lib/python3.5/site-packages/etc/apport/crashdb.conf [22:23] That's what I put under environment: [22:23] bdmurray, looks like the environment is working then [22:23] bdmurray, but your python code needs to support that string containing an environment variables [22:23] Which it seems it does not [23:05] bdmurray, to be clear, $SNAP is defined at runtime, not at build time