/srv/irclogs.ubuntu.com/2016/09/14/#snappy.txt

robruanybody around to help me troubleshoot a snap?00:30
mupBug #1623279 opened: [Errno 2] No such file or directory: '/home/robru/src/bileto.snap/stage/usr/share/locale/ku' <Snappy:New> <https://launchpad.net/bugs/1623279>00:48
=== mup_ is now known as mup
mupPR snapcraft#793 closed: Unify python plugin <Created by SamYaple> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/793>02:25
mupPR snapcraft#794 closed: Improve lifecycle execution of steps <Created by sergiusens> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/794>02:49
mupPR snapcraft#797 opened: Use --dangerous when installing snaps in yakkety <Created by elopio> <https://github.com/snapcore/snapcraft/pull/797>05:52
mupPR snapd#1902 opened: tests: add new SNAP_IGNORE_SUDO_USER and set it for the spread tests <Created by mvo5> <https://github.com/snapcore/snapd/pull/1902>06:12
zygamvo: oh, you closed that already06:13
zygamvo: quick question about qemu/spread, can we just use su instead?06:13
mvozyga: yeah, currently thinking about fixing it directly in spread06:13
mvozyga: sure, fire06:13
zygamvo: so that linode and qemu behave the same way06:13
mupPR snapd#1902 closed: tests: add new SNAP_IGNORE_SUDO_USER and set it for the spread tests <Created by mvo5> <Closed by mvo5> <https://github.com/snapcore/snapd/pull/1902>06:14
mvozyga: qemu and linode should behave the same, its just adhoc that is different06:14
zygaah, I see06:14
zygahow are we using adhoc today?06:15
mvozyga: inside the autopkgtest, its running the tests against localhost basicly06:15
zygaah, I see06:17
zygamvo: offtopic, do you know how can I get a yakkety image for the qemu backend easily?06:19
mvozyga: yes06:21
mvozyga: sudo apt install autopkgtest/xenial-backports06:21
mvozyga: and adt-buildvm-ubuntu-cloud -r yakkety06:21
zygaah, thanks06:21
mvoyw06:25
dholbachhey hey06:45
* zyga zeros on the test breaks the remainder of the testing cycle07:09
mupPR snapd#1903 opened: tests: ensure SUDO_{USER,GID} is unset in the spread tests <Created by mvo5> <https://github.com/snapcore/snapd/pull/1903>07:40
mupPR snapd#1904 opened: tests: add debug out put to ubuntu-core-update-rollback-stresstest: <Created by mvo5> <https://github.com/snapcore/snapd/pull/1904>07:41
mupPR snapcraft#796 closed: Only discover dependencies once per file <Created by kyrofa> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/796>07:58
mupPR snapd#1905 opened: snap: (re)add --force-dangerous compat option <Created by mvo5> <https://github.com/snapcore/snapd/pull/1905>08:12
mupPR snapd#1903 closed: tests: ensure SUDO_{USER,GID} is unset in the spread tests <Created by mvo5> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/1903>08:17
mupPR snapd#1906 opened: CONTRIBUTING.md: remove integration-tests, include spread <Created by fgimenez> <https://github.com/snapcore/snapd/pull/1906>08:28
ogra_mvo, ok... expired key error fixed ... what a silly thing08:46
ogra_mvo, do we know how long assetrtion keys are actually valid, this could really bite us for released images given that fixrtc sets the clock to the image creation date while it can not sync to a timeserver08:48
ogra_if the expiration time is to shart they key might be expired08:48
ogra_*short08:48
mupPR snapd#1907 opened: asserts: basic support for validation assertion <Created by pedronis> <https://github.com/snapcore/snapd/pull/1907>08:55
mupPR snapd#1905 closed: snap: (re)add --force-dangerous compat option <Created by mvo5> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/1905>08:56
ogra_mwhudson, FYI, i just invalidated Bug #162311909:05
mupBug #1623119: wlan setup done by console-conf not persistent <Snappy:Invalid> <nplan (Ubuntu):Invalid> <subiquity (Ubuntu):Invalid> <https://launchpad.net/bugs/1623119>09:05
mupBug #1623119 changed: wlan setup done by console-conf not persistent <Snappy:Invalid> <nplan (Ubuntu):Invalid> <subiquity (Ubuntu):Invalid> <https://launchpad.net/bugs/1623119>09:06
mwhudsonogra_: ok, although i think the snapd behaviour is a bit unhelpful too09:09
ogra_well, i dont think the job runs if it finished successfully09:10
mwhudsonogra_: https://github.com/snapcore/snapd/pull/190109:10
mupPR snapd#1901: firstboot: do not overwrite any existing netplan config <Created by mwhudson> <https://github.com/snapcore/snapd/pull/1901>09:10
mwhudsonogra_: true, will leave it to mvo to decide :-)09:10
ogra_but your fix at least looks like a good safety net09:11
mwhudsonogra_: wow https://bugs.launchpad.net/snappy/+bug/1623125 looks like heaps of fun09:12
mupBug #1623125: fixrtc script does not catch "Last mount time: n/a" string <Snappy:Triaged by ogra> <initramfs-tools-ubuntu-core (Ubuntu):Triaged by ogra> <https://launchpad.net/bugs/1623125>09:12
* zyga finally figured out what is going on with snap-confine09:12
ogra_mwhudson, yeah, who would have thought that the ext4 devs put some useful thing in that field one day :P09:13
ogra_it used to be the epoch or empty in the past ... the script deals with both ... just not with a funny string09:14
ogra_fun fact "n/a" translates to Feb 11 (no idea which year) if handed to that date command call :)09:15
mupPR snapd#1908 opened: tests/lib/prepare.sh: test that classic does not setting bootvars <Created by mvo5> <https://github.com/snapcore/snapd/pull/1908>09:16
ogra_BOOO !09:17
ogra_console-conf doesnt see my wlan device on the pi3 !09:18
ogra_yeah, even after a reboot ... :(09:20
ogra_mvo, hmm, this is an interesting one: http://paste.ubuntu.com/23177205/ ... i'm greeted with a reboot message on first login ... there were no updates though09:27
mupPR snapd#1748 closed: asserts: basic support for validation assertion <Created by ralsina> <Closed by pedronis> <https://github.com/snapcore/snapd/pull/1748>09:28
mupPR snapcraft#798 opened: Replace uses of copy with dump <Created by sergiusens> <https://github.com/snapcore/snapcraft/pull/798>09:28
mupPR snapd#1837 closed: asserts: add refresh-control header to snap-declaration assertion <Created by ralsina> <Closed by pedronis> <https://github.com/snapcore/snapd/pull/1837>09:44
mupPR snapd#1909 opened: snap: fix SNAP* environment merging in `snap run` <Created by mvo5> <https://github.com/snapcore/snapd/pull/1909>09:50
ogra_hmpf09:51
ogra_and this time i'm dropped into console-conf after reboot even though the system was already configured fine09:51
ogra_lol ... and now i get wlan config as an option09:51
ogra_wow this is buggy09:52
ogra_oh man09:53
ogra_and console-conf wants to re-create the already existing user ... no way to skip the user part09:53
mvoogra_: iz fine, just add me to your machine ,)09:53
ogra_haha09:53
ogra_    error: bad user result: cannot create user "ogra@ubuntu.com": Get09:54
ogra_    https://login.ubuntu.com/api/v2/keys/ogra%40ubuntu.com: dial tcp: lookup09:54
ogra_                         login.ubuntu.com: no such host09:54
ogra_oh, lovely09:54
ogra_and even though console-conf told me it configured the wlan it seems it didnt09:54
ogra_ok, so i get a console-conf on second boot and cant get out of it anymore09:55
ogra_heh09:56
ogra_and i can log in with the user creasted at the former boot09:57
ogra_seems console-conf really doesnt get along with two interfaces10:00
mupPR snapd#1910 opened: spread.yaml: don't assume LANG is set <Created by chipaca> <https://github.com/snapcore/snapd/pull/1910>10:00
ogra_now the network config constantly times out ... it seems to try to use the wired NIC even though that was set to "dont use"10:02
ogra_ok, switching back to wired and completely turning off wlan now gets me to10:05
ogra_ error: bad user result: cannot create user ogra: adduser failed with10:05
ogra_             exit status 1: adduser: The user `ogra' already exists.10:05
ogra_and no way to ever get out of it again10:05
ogra_cancel just gets me back to the start page of console-conf10:05
ogra_crazyly broken10:06
* ogra_ takes a break to go crying in a corner 10:07
=== oSoMoN_ is now known as oSoMoN
mupPR snapd#1900 closed: interfaces: miscellaneous policy updates for default, browser-support and camera <Created by jdstrand> <Merged by chipaca> <https://github.com/snapcore/snapd/pull/1900>10:21
mupPR snapd#1897 closed: snap: run all tests with gpg2 <Created by mvo5> <Merged by chipaca> <https://github.com/snapcore/snapd/pull/1897>10:25
mupPR snapd#1907 closed: asserts: basic support for validation assertion and refresh-control <Created by pedronis> <Merged by pedronis> <https://github.com/snapcore/snapd/pull/1907>10:25
mupPR snapd#1911 opened: snap: add additional checks for snap run symlinks <Created by mvo5> <https://github.com/snapcore/snapd/pull/1911>10:32
zygawoooot10:38
zyga\\o10:38
zygao//10:38
zyga\o/10:38
mupPR snapd#1908 closed: tests/lib/prepare.sh: test that classic does not setting bootvars <Created by mvo5> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/1908>10:38
abeatomvo, is there any reason for which a devmode snap would get ECONNREFUSED when trying to connect to a UNIX socket?11:03
popeyHow would one snap an application which has both python requirements.txt, but is also a node app? have two parts referencing the same source, one python2 plugin, one nodejs plugin?11:06
mupPR snapd#1904 closed: tests: add debug out put to ubuntu-core-update-rollback-stresstest: <Created by mvo5> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/1904>11:08
zygamvo: https://github.com/snapcore/snap-confine/pull/141/files11:09
mupPR snap-confine#141: Ensure that parent is alive after installing PR_SET_PDEATHSIG <Created by zyga> <https://github.com/snapcore/snap-confine/pull/141>11:09
zygamvo: I fixed ns-sharing to work in spread now, I'll propose a few separate fixes for review11:09
zygamvo: this is the first one, feedback welcome111:09
zygajdstrand, tyhicks: ^^11:10
mupPR snapd#1901 closed: firstboot: do not overwrite any existing netplan config <Created by mwhudson> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/1901>11:10
mupPR snapd#1891 closed: doscs: add create-user documentation <Created by mvo5> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/1891>11:12
mupPR snapd#1896 closed: cmd/snap: match UX document for message when buying without login <Created by pete-woods> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/1896>11:12
zygahttps://github.com/snapcore/snap-confine/pull/14211:21
mupPR snap-confine#142: Add sanity timeouts <Created by zyga> <https://github.com/snapcore/snap-confine/pull/142>11:21
zygahttps://github.com/snapcore/snap-confine/pull/14311:28
mupPR snap-confine#143: Don't assume /run/snapd/ns can be removed <Created by zyga> <https://github.com/snapcore/snap-confine/pull/143>11:28
zygahttps://github.com/snapcore/snap-confine/pull/14411:29
mupPR snap-confine#144: Ensure that snap-confine is dead after each test terminates <Created by zyga> <https://github.com/snapcore/snap-confine/pull/144>11:29
zygatyhicks, jdstrand: around? :)11:31
zygaspread-in-qemu and local http proxy saved me 7GB of traffic over the last 24 hours :)11:37
mupPR snapd#1912 opened: cmd/snap: do runtime linting of descriptions <Created by chipaca> <https://github.com/snapcore/snapd/pull/1912>11:48
ogra_mvo, ugh ...12:12
ogra_mvo, just testing your re-compressed pi3 image here ...12:13
ogra_mvo, did you actually only re-compress it or is this a complete new ubuntu-image build ?12:13
ogra_mvo, regardless ... it seems broken12:15
jdstrandzyga: hi!12:23
zygajdstrand: hey12:27
zygajdstrand: I managed to get ns-sharing to work on in spread now12:27
zygajdstrand: I posted some patches12:27
jdstrandnice!12:27
jdstrandI tried to respond to one of them when I was out. curous what github did with it :)12:28
jdstrandcurious even12:28
zygajdstrand: it did the right thing12:29
zygajdstrand: I saw that reply, github is pretty good at this stuff12:29
zygajdstrand: this is the essential one: https://github.com/snapcore/snap-confine/pull/14112:30
mupPR snap-confine#141: Ensure that parent is alive after installing PR_SET_PDEATHSIG <Created by zyga> <https://github.com/snapcore/snap-confine/pull/141>12:30
zygajdstrand: if this lands I can propose the real thing and it should be green12:30
zygajdstrand: debugging this I also implemented https://github.com/snapcore/snap-confine/pull/14212:30
mupPR snap-confine#142: Add sanity timeouts <Created by zyga> <https://github.com/snapcore/snap-confine/pull/142>12:30
zygajdstrand: though I don't believe the use of this patch (and a separate tiny patch that puts it arounf flock() is really required12:31
zygajdstrand: still it is a 'death man hand' kind of failsafe12:31
zygajdstrand: I added qemu spread support so if you have recent spread (not installed as a snap) this makes testing far better12:34
ogra_cprov, the publishing bug in the store doesnt seem to actually be related to a long revision history, i did re-builds of pi2-kernel and dragonboard-kernel yesterday which both have only seen a few revisions yet (pi2 is at 14, dragonboard at 9) ... and had to do the unpublish/publish dance to make them seen12:43
cprovogra_: you are right, the problem is on the snap-release endpoint itself12:44
ogra_ah, so already known by you ? then its fine ...12:44
* ogra_ just wanted to report the new data point12:44
cprovogra_: the fix is on its way, I've literally just isolated it12:44
mupPR snapd#1899 closed: store: don't discard error body from request device session call <Created by emgee> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/1899>12:45
ogra_i just had not seen it on other packages before  ...12:45
cprovogra_: thanks for adding more info on this (what a nightmare bug!)12:45
ogra_heh, yeah12:45
mupPR snapd#1906 closed: CONTRIBUTING.md: remove integration-tests, include spread <Created by fgimenez> <Merged by chipaca> <https://github.com/snapcore/snapd/pull/1906>12:46
* ogra_ points mvo to his ping from 30min ago ... 12:49
zygajdstrand: can I merge 14112:49
* ogra_ feels ignored today :(12:50
zygaogra_: o/12:50
ogra_:D12:50
jdstrandzyga: it's funny that I read 141 before your alarm branch and I came to the same conclusion :)12:50
zygajdstrand: :-) there is some nice tricky code around12:51
jdstrandzyga: so, if you are going to do the alarm, what is the benefit of doing the pid check since it is slightly flawed?12:51
jdstrandie, why isn't the alarm check enough?12:52
zygajdstrand: it's an early warning system where the parent just dies right away, the timeout is 3 seconds12:52
mvoogra_: broken it what way?12:52
mvoogra_: its a new build but its still based on the same beta images12:52
zygajdstrand: it's not *so* flawed, AFAIR the pid namespace would have to overflow before the kernel would recycle process IDs12:52
ogra_mvo, did you re-build it from scratch using a newer ubuntu-image ?12:52
mvoogra_: beta channel content12:52
zygajdstrand: so the check is immediate and good enough12:52
zyga(as in, not broken totally, but not sufficient(12:53
jdstrandzyga: I guess there is no harm if the pid is reused. that process won't send the signal and then the alarm will hit12:53
mvoogra_: its a fresh build12:53
zygajdstrand: I wonder if there's a way to avoid that altogether with a pipe, after all, we'd get EPIPE on the read instantly12:53
ogra_mvo, right, but you used the new ubuntu-image for it ... so the rootfs doesnt get loop mounted and has now the same fixrtc bug that i fixed tonight12:53
zygajdstrand: (and eventfd had one task, make the use of the pipe obsolete, eh :-(12:53
jdstrandpipe goes back farther too..12:54
mvoogra_: oh, I see, hm, hm. what is the fix? a new initramfs-tools in the beta channel?12:54
ogra_mvo, either you re-build using an ubuntu-image from before the mtools fix landed or we promote the new kernel to beta and do a re-build ... the current image on cdimage will fall over12:54
fgimenezzyga, could you please take a look at https://github.com/snapcore/snapd/pull/1640 when you have a minute? it seems that i'm approaching gsettings interface testing the wrong way12:54
mupPR snapd#1640: tests: add gsettings interface spread test <Decaying> <Reviewed> <Created by fgimenez> <Conflict> <https://github.com/snapcore/snapd/pull/1640>12:54
zygafgimenez: I saw that but I didn't reply yet, I'll make sure to reply today12:54
ogra_mvo, right, new initrd is in all the kernel snaps in edge already ... since thats the only change i think we can just promote them12:54
mvoogra_: lets do a new image with a new kernel then and we also reduce the image size12:54
fgimenezzyga, cool thanks! :)12:54
jdstrandzyga: I don't think you need to move to pipe, at least not for this and not today. I'll comment in the PR12:55
mvoogra_: yeah, lets do it, could you please delete the pi3 image from nusakan and trigger the mirror sync?12:55
ogra_doing so12:55
ogra_done12:56
ogra_mvo, both kernels published to beta12:58
jdstrandzyga: commented12:58
=== chihchun is now known as chihchun_afk
zygajdstrand: thank you, will do13:00
mupPR snapcraft#799 opened: Load project information in one location <Created by sergiusens> <https://github.com/snapcore/snapcraft/pull/799>13:04
sitterahoy ahoy13:11
sitterI am currently wondering how, if at all, one would share compiled artifacts across snaps at build time. example of the day: we make a kde-frameworks content snap, we'd then want to build an app using that snap. the problem is at build time we'd have to have access to the content to use headers and libraries.13:13
mhall119zyga: kyrofa ^^ can you help sitter please?13:22
* zyga looks13:29
zygasitter: hey13:29
popeysergiusens: do you have an ETA for snapcraft 2.17 in Xenial?13:29
zygasitter: I believe sergiusens has an idea about this, he was working on the design13:29
popey(morning btw)13:29
popeyzyga: could sitter push his compiled artifacts to a ppa/repo and just pull that in as a build-package in snaps?13:33
popeyas an interim13:33
zygapopey: there are many ideas that are possible, sergiusens spent a lot of time on the design of this (as it affects snapcraft) and I believe he's the right person to talk to13:34
popeyokay13:35
zygajdstrand: this is the key branch, if this lands I'll be supper happy: https://github.com/snapcore/snap-confine/pull/14513:44
mupPR snap-confine#145: Enable snap-confine namespace sharing <Created by zyga> <https://github.com/snapcore/snap-confine/pull/145>13:44
mupPR snapcraft#800 opened: LP: #1623509 fix to install of deps in package.json <Created by jonathon-love> <https://github.com/snapcore/snapcraft/pull/800>13:49
mupBug #1574851 changed: libgl not found on nvidia machines (so far) <Snappy:Triaged> <nvidia-graphics-drivers-361 (Ubuntu):Confirmed> <https://launchpad.net/bugs/1574851>13:50
mhall119popey: zyga: are build-packages copied into stage and prime directories?14:00
mhall119if not, then that is a solution14:00
zygamhall119: stage-packages are copied, build-packages are just installed on the host AFAIR14:00
popeyindeed14:01
mhall119sitter: ^^ would that work for you?14:01
mhall119basically include your -dev packages from the archives or PPA in build-packages in your snapcraft.yaml, that way your application's build-time process can see them, but they won't put anything into  your snap14:02
sittermhall119, zyga: thanks that could work14:04
sitterI'll give it a stab tomorrow14:04
zygajdstrand: refreshed https://github.com/snapcore/snap-confine/pull/14214:10
mupPR snap-confine#142: Add sanity timeouts <Created by zyga> <https://github.com/snapcore/snap-confine/pull/142>14:10
zygajdstrand: if it goes green let's land and use it :)14:10
jdstrandzyga: fyi, I've started looking at 145. I really want to tear it apart though and I have an appoint in 30 minutes, but I will be looking at this with top priority after that14:12
zygajdstrand: I need to leave in an hour14:13
zygajdstrand: if you can tighten the profile that would help me a lot14:13
zygajdstrand: I can propose a small branch on top of the sanity timeout branch that actually uses it in three places14:14
zygajdstrand: then I think we are good to seriously consider landing 14514:14
zygajdstrand: I'll be back in the evening (~5 hours from now) so I think we can still sync today14:14
jdstrandzyga: in my tear-apart I'll look at the profile14:15
zygajdstrand: thank you14:15
zygajdstrand: as an extra thing to think about, what about cgroups (nothing tests that today)14:15
zygajdstrand: I'll add a pile of spread tests before this is relased but I didn't want to clutter the pull request with them14:16
jdstrandzyga: I added spread tests for that some time ago? did you mean something else?14:16
zygajdstrand: I mean spread tests for ns sharing specifically14:16
zygajdstrand: I have one simple test and I have some more in the works (e.g. a stress test that runs lots of concurrent copies of snap confine and checks that they all finish with the same NS identifier14:16
jdstrandI'm sorry, I'm having a hard time changing gears14:17
zygajdstrand: hmm?14:17
jdstrandwhat is the interaction with cgroups you are concerned about?14:17
jdstrandbecause the sysfs is mounted in there?14:17
dbarthhey guys, i'm having issues doing a "snap login" without sudo (snapd from edge, running on xenial)14:18
zygajdstrand: I don't really know but my point is that there's little testing for ns sharing *and* cgroup usage, which is not default14:18
zygajdstrand: e.g. one process has a cgroup and another doesn't but they share the ns, does the order in which they start matter?14:18
jdstrandI see. I'll take a look at that too14:19
kyrofasitter, zyga mhall119 indeed, I believe sergiusens's plan is to provide a way to make a "-dev" snap that can be used to build against14:29
kgunnkyrofa: so i was reading up on14:29
kgunnhttps://bugs.launchpad.net/ubuntu/+source/snapd/+bug/158646514:29
mupBug #1586465: Add support for hooks <Canonical Click Reviewers tools:New> <Snapcraft:New> <snapd (Ubuntu):Fix Committed by kyrofa> <https://launchpad.net/bugs/1586465>14:29
kgunnkyrofa: do you consider that "done" enough that in next release u8 app folk could attempt to use for their own hooks?14:30
kyrofaHey kgunn!14:33
kyrofaYeah, the machinery is all there, add away!14:34
kyrofakgunn, that's what I'm working on at the moment, too14:34
kgunnkyrofa: that==?14:34
kyrofaFinally adding a hook14:34
kgunnactually trying to use?14:34
kgunnah noice!14:35
kyrofakgunn, I'll see if I can add some documentation about adding hooks14:39
kgunntedg: ^14:39
kgunnthanks kyrofa14:40
kyrofaGood to know there's interest14:40
tedgCool, docs would be great.14:41
qenghojdstrand: is there a bug report tracking the refresh-while-running problem?14:49
mupPR snapd#1913 opened: daemon,store: move store login user logic to store <Created by matiasb> <https://github.com/snapcore/snapd/pull/1913>14:54
kyrofakgunn, tedg: pstolowski has been learning that as well14:55
tedgkyrofa: Snapcraft support? I don't see anything in the snapcraft.yaml schema: https://github.com/snapcore/snapcraft/blob/master/schema/snapcraft.yaml14:57
kyrofatedg, yeah that's missing at the moment. Probably my next task14:57
kyrofatedg, but it's not too bad to get working without14:58
tedgkyrofa: Sure without docs is harder than without snapcraft support ;-)14:59
kyrofatedg, yeah I'll make a PR with the spec as well as a tutorial today15:00
tedgkyrofa: Great, thanks!15:00
kyrofaThanks for asking!15:00
mupPR snapcraft#758 closed: Add an integration test for parts with filesets <Created by jocave> <Closed by sergiusens> <https://github.com/snapcore/snapcraft/pull/758>15:02
mupPR snapcraft#797 closed: Use --dangerous when installing snaps in yakkety <Created by elopio> <Closed by sergiusens> <https://github.com/snapcore/snapcraft/pull/797>15:02
pstolowskikgunn, tedg yeah i'm learning that as well, working on my first hooks15:05
mupBug #1623279 changed: [Errno 2] No such file or directory: '/home/robru/src/bileto.snap/stage/debian/source' <Snapcraft:New> <https://launchpad.net/bugs/1623279>15:15
zygajdstrand: https://github.com/snapcore/snap-confine/pull/146/files enables sanity timeouts15:19
mupPR snap-confine#146: Use sanity timeouts around blocking operations <Created by zyga> <https://github.com/snapcore/snap-confine/pull/146>15:19
zygajdstrand: I need to leave now15:19
zygajdstrand: please ping me on telegram for urgent stuff15:19
zygajdstrand: I'll talk to you later :-)15:19
mupPR snapd#1909 closed: snap: fix SNAP* environment merging in `snap run` <Created by mvo5> <Merged by mvo5> <https://github.com/snapcore/snapd/pull/1909>15:49
kgunnjdstrand: hey, are you free enough to have a discussion on something interesting i'm experiencing with denials and mir ?16:07
mupPR snapd#1877 closed: many: maintain all snap configurations in state <Created by kyrofa> <Closed by kyrofa> <https://github.com/snapcore/snapd/pull/1877>16:28
mupPR snapd#1910 closed: spread.yaml: don't assume LANG is set <Created by chipaca> <Merged by chipaca> <https://github.com/snapcore/snapd/pull/1910>16:48
kgunnzyga: is it expected for devtools to have issue with arm64 ?17:26
kgunnor is it just me lacking arm64 gcc path on my host...17:27
kgunnogra_: ^ ?17:27
kgunnworkflow on snapd hacking on dragon17:27
jdstrandqengho: https://bugs.launchpad.net/snappy/+bug/161665017:30
mupBug #1616650: snap refresh while command is running may cause issues <snapd-interface> <Snappy:New> <https://launchpad.net/bugs/1616650>17:30
jdstrandkgunn: sorry, was afk17:30
jdstrandkgunn: what's up?17:31
mupPR snapcraft#799 closed: Load project information in one location <Created by sergiusens> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/799>17:32
jdstrandkgunn: hey, did you see:17:45
jdstrand12:30 < jdstrand> kgunn: sorry, was afk17:45
jdstrand12:31 < jdstrand> kgunn: what's up?17:45
mupPR snapcraft#751 closed: python3 plugin: run setup.py in source subdir if such option exists <Created by yphus> <Closed by sergiusens> <https://github.com/snapcore/snapcraft/pull/751>17:47
pmcgowan_if I fix one build dependency is there a way to avoid a full clean?17:55
=== magicalt1out is now known as magicaltrout
sergiusenspmcgowan_ build dependencies should go in `build-packages` and if they are, then you should be mostly good17:59
pmcgowan_sergiusens, they are but if I change that, it doesnt pick up the change and says the pull already ran18:00
sergiusenspmcgowan_ are you confusing `stage-packages` and `build-packages` by any chance?18:01
pmcgowan_sergiusens, maybe18:02
pmcgowan_the issue is the link doesnt find a lib it needs, and I am not sure why18:02
pmcgowan_sergiusens, how do I see what libs are available18:03
sergiusenspmcgowan_ I don't parse that, what do you mean?18:03
pmcgowan_sergiusens, does stage/usr/lib/x86_64-linux-gnu/ contain the libs available for the linker18:05
pmcgowan_sergiusens, essentially, the package I spec'd is in the download dir, but the lib it provides isnt being found, trying to understand why18:11
kgunnjdstrand: hey, so here's my current experience....so we landed mir interface, all is well...18:19
kgunni recently tested the mir-server snap on dragonboard and it worked fine, circa aug1518:20
kgunneven confined18:20
kgunnhowever, i was testing in the last couple of days using the beta images18:20
kgunnon amd64..still works as expected, i mean i do see a sys_admin denial in syslog, but mir-server and mir-client can be connected and work just fine18:21
kgunnbut on arm64...i now get denials when i install mir-server and it tries to run18:21
kgunnjdstrand: this is the output18:21
kgunnhttp://pastebin.ubuntu.com/23178449/18:21
kgunn...and yes, if i uninstall and re-install with devmode it works fine18:22
mupPR snapcraft#801 opened: In the busybox test, use the last installed data dir <Created by elopio> <https://github.com/snapcore/snapcraft/pull/801>18:23
sergiusenspmcgowan_ I might need to see your snapcraft.yaml; but yes stage/usr/lib/x86_64-linux-gnu/ is a library path available for the next part to build depending on it18:23
pmcgowan_sergiusens, I think the qmake file may be wrong, but I still dont see the installed lib there18:24
sergiusensoh, qmake, pmcgowan_ heh, jhodapp came by with a very similar qmake problem18:26
jhodapppmcgowan_, a qt-based app?18:28
pmcgowan_jhodapp, yeah18:28
pmcgowan_the build line doesnt look right to me18:28
mupPR snapcraft#790 closed: Reduces download time of `git clone` fetching just a single branch <Created by ehbello> <Closed by kyrofa> <https://github.com/snapcore/snapcraft/pull/790>18:29
pmcgowan_jhodapp, I cant find the libs I should have for my stage-packages18:30
jhodapppmcgowan_, have you seen the other qt-based examples out there?18:31
pmcgowan_jhodapp, yeah some18:32
jhodapppmcgowan_, ok...let me point you to mediaplayer-app's snapcraft.yaml I just did last week: https://code.launchpad.net/~phablet-team/mediaplayer-app/snap-it-up/+merge/30504518:32
elopiojoc_: plainbox tries to write to ~/.cache, and that fails in yakkety. Could you take a look?18:36
elopiohttps://bugs.launchpad.net/snapcraft/+bug/162362318:37
mupBug #1623623: plainbox demo test fails in yakkety: Permission denied: '/home/ubuntu/.cache/plainbox/sessions' <Snapcraft:New> <https://launchpad.net/bugs/1623623>18:37
elopioI don't really understand why that works in xenial, should fail too.18:37
jdstrandkgunn: dac_override is almost always a result of a directory with incorrect permissions. eg, a root process trying to add a file to a non-root owned directory that doesn't have 'other' access (eg, 0755). ie, traditional unix permissions wouldn't allow it because the users don't match but because it's root and has CAP_DAC_OVERRIDE, the operation is allowed18:53
jdstrandkgunn: but the LSMs (ie, apparmor) mediate it18:54
kgunnjdstrand: so are you suggesting permissions changed on the fs between images?18:55
jdstrandkgunn: simple answer-- make sure that the process is running as the user you expect it to be and make sure the directories/files are all setup right for mir. comparing amd64 and arm64 images and running the commands in parallel should show the problem. strace would get you right there18:55
jdstrandkgunn: I am18:56
jdstrandor maybe on the arm64 core snap it is wrong but it is right on amd6418:56
jdstrandor something18:56
mupBug #1623626 opened: syslog messages include ubuntu-core-launcher instead of command name <Snappy:New> <https://launchpad.net/bugs/1623626>19:01
kgunnkgunn> jdstrand: i plan to do the strace exercise with amd64 vs arm64....but just sharing another data point19:20
kgunnso i added dac_override just to test on dragonboard, mir-server came up graphically...but mouse not responding19:21
kgunnb/c i also get other/new denials19:21
kgunnaround run/udev/data19:22
kgunnhttp://pastebin.ubuntu.com/23179211/19:22
jdstrandkgunn: we'll need to add these rules to the PermanentSlot for apparmor:19:23
jdstrand/run/udev/data/c13:[0-9]* r,19:23
jdstrand/run/udev/data/+input:input[0-9]* r,19:23
kgunnjdstrand: again, i'm just really surprised this worked a few weeks back19:24
jdstrandit's interesting because the c13 udev accesses came up in another thread19:24
jdstrandI wonder if something changed in one of the staged libraries19:25
dobeyhow exactly do updates work for snaps? i don't see any way to list/install updates with snap cli19:40
awedobey, snap refresh?19:48
awenot sure if there's a way to list available updates first though?19:48
dobeyah19:49
dobeyi guess all the terms for snappy have to be different from every other thing that came before, just because19:50
pedronissnap refresh --list19:51
pedronislists available updates19:51
=== drizztbsd is now known as timothy
mupPR snapcraft#802 opened: Add the TEST_STORE environment variable to the travis script <Created by elopio> <https://github.com/snapcore/snapcraft/pull/802>20:11
mupPR snapd#1914 opened: docs: add a little documentation on hooks <Created by kyrofa> <https://github.com/snapcore/snapd/pull/1914>20:47
kyrofatedg, kgunn that ^^ is the basic spec20:51
kgunnthanks!20:51
kyrofai.e. what you'd do from the snap developer perspective to take advantage of them20:51
kyrofatedg, kgunn still working on the snapd developer side tutorial20:51
tedgkyrofa: By snapd, do you mean the slot or the plug side?20:52
tedgI guess we need to be able to do each of those.20:53
tedgNot sure there's a "snapd" side?20:53
kyrofatedg, by snapd, I mean adding support for new hooks within snapd20:53
kyrofatedg, as opposed to utilizing them within snaps20:53
kyrofatedg, I suspect you need both20:53
tedgI don't think we need them in snapd, we just need them on both sides of the interface.20:54
tedgSo like one would be in unity8 snap, and one would be in teh app snap.20:54
kyrofatedg, ah, so all you care about are interface hooks? Then yeah, those are being worked on20:54
kyrofaBy pstolowski (not sure if I got that right without tab completion :P )20:54
kyrofaHe's adding support for them within snapd, so that doc ^^ is really what you need then. Nice20:55
tedgAh, okay, yeah that's more what we need.20:55
kyrofaHe's also adding snapctl subcommands to get interface attributes20:55
kyrofaAs he makes progress I'll make sure that document is updated20:55
tedgkyrofa: Is there any doc on the lifecycle of the various hooks? Like when they run with regards to the snap being marked active, for instance.20:55
kyrofatedg, that's what I hope that document will be, once we actually have the hooks implemented in snapd20:56
tedgkyrofa: Okay, cool.20:56
tedgThat's what I'm worried about, as that was really sadly missed in Juju20:56
kyrofatedg, yeah, the interface hooks are again still a work in progress20:57
tedgkyrofa: Then on the snapcraft side I imagine we'll hook a command up to a hook in someway?20:57
kyrofabrb, someone at the door20:57
aweanybody know if there's a way to get snapcraft autotools to automatically use "-g" and "-O2" or do I need to hack my Makefile?21:00
tedgawe: snapcraft help autotools, lists configureflags21:01
tedgSorry, configflags21:01
aweyup21:02
aweI need CFLAGS21:02
awe;)-21:02
awediscussing on rocket atm21:02
tedgawe: Usage: ./configure [OPTION]... [VAR=VALUE]...21:03
elopiolool: these avahi tests need a lot of work.21:03
loolelopio: well the new impl is much shorter, so the tests ought to be much shorter too; the initial impl knew too much about mdns21:04
mupPR snapd#1915 opened: tests: add http_proxy to /etc/environment in the autopkgtest environment <Created by mvo5> <https://github.com/snapcore/snapd/pull/1915>21:04
loolelopio: but yes, they need as much work as the original file unfortunately21:04
elopiolool: yes, they were wrong to start with. But I don't know enough avahi to understand where to fake and what to check.21:05
loolelopio: so personally, I would ditch them all and add just a test for the gethostname logic21:06
loolelopio: to ensure localhost -> snapweb and .domain part is removed21:06
loolelopio: ideally, we'd also have an *integration* test setting up the network and making sure mdns starts when no multicast and works when intf comes up21:07
loolelopio: but frankly, if you look at avahi.go, you'll see we call two functions: mdns.NewMDNS() on startup, and _mdns.ScanInterfaces() regularly21:08
loolessentially consuming the whole mdns impl21:08
loolrather than knowing about 224., 127., ipv6 and what not21:08
elopioideally, it's the Init function the one we test. And either msdn is easy to replace with a fake, or it can be run safely in unit tests.21:09
elopioI suppose we will go with a fake. Then that needs changes on the code.21:09
kyrofatedg, yeah, I figured snapcraft will treat hooks as just special apps21:10
awethanks tedg21:10
awethat works!21:10
awe;D21:10
loolelopio: why would we want to build a testsuite for third-party code?21:11
looloh you mean our Init?21:11
elopioyes.21:11
tedgnp21:11
tedgkyrofa: Yeah, I think that makes sense, we just don't want to have magic directories so that we can build them with the same tools and reference the paths.21:12
kyrofaYep21:12
tsimonq2can you confirm with the lxqt package lynorian ?21:21
tsimonq2whoops21:21
tsimonq2sorry21:21
mupPR snapd#1912 closed: cmd/snap: do runtime linting of descriptions <Created by chipaca> <Merged by chipaca> <https://github.com/snapcore/snapd/pull/1912>21:23
zygajdstrand: hey, did you have a chance to look at the namespace sharing branch?21:28
zygaohh, cool, I see a comment 14 minutes ago :)21:28
jdstrandzyga: I've made a number of comments21:28
zygajdstrand: I'll reproduce your observations on "ip netns add testnet" but I was wondering if you know what is the source of the permission denied error; Is it the kernel refusing to do something (like we had with the unshare -U as non-root user) or the process not having permission to do something using regular DAC21:31
jdstrandzyga: I don't know otoh, but I ran it as root and non-root. Note that 'ip netns add testnet' worked at one point. I just tried again here and see that it doesn't work with snap-confine 1.0.38-0ubuntu0.16.04.8 and snapd 2.14.2~16.04 on classic21:46
jdstrandzyga: I updated my comment in the PR to reflect that ^21:48
zygathank you21:51
jdstrandzyga: based on the dates in the bug, I'm going to guess this 'ip netns add testnet' stopped working when we switched to snap-confine21:51
jdstrandzyga: would it help if I downgraded to ubuntu-core-launcher?21:51
jdstrandzyga: test and let you know if it worked?21:52
zygajdstrand: hmmm, you'd have to downgrade quite a bit21:52
zygajdstrand: I guess it might be related to the particular directory21:52
zygajdstrand: and before the major difference was in lack of chroot/pivot_root21:52
jdstrandyeah21:52
zygajdstrand: doesn't the netns thing simply create a new net namespace and saves it, just like we do, somewhere in the filesystem?21:53
jdstrandthat is what I was thinking might be it21:53
zygajdstrand: perhaps it is simply saving it in a read-only location21:53
zygajdstrand: a simple strace would answer that21:53
jdstrandzyga: it is in /run21:53
jdstrandzyga: /run/netns21:53
zygaso that *should* be okay21:53
jdstrandeg, on classic outside of any snaps21:53
zygaright, but /run is bind-mounted21:53
jdstrandsudo ip netns add testnet21:54
jdstrand$ ls -l /run/netns/21:54
jdstrandtotal 021:54
jdstrand-r--r--r-- 1 root root 0 Sep 14 16:54 testnet21:54
jdstrandsorry, was just trying to show you what it does on classic21:54
jdstrandnote that if I run that command without sudo:21:55
zygaright, I understand21:55
jdstrand$ ip netns add testnet21:55
jdstrandmount --make-shared /var/run/netns failed: Operation not permitted21:55
zygaI will need to experiment to see what the root cause is21:55
zygajdstrand: could it be a capability that's missing?21:55
zygaer21:55
zygajdstrand: is there any apparmor denial?21:55
zyga(I assume this is in devmode shell)21:56
jdstrandthis is devmode21:56
zygacurious21:56
zygaok, checking now21:56
jdstrandthe open("/proc/self/ns/net"): Permission denied I'm guessing is another kernel gotcha that we didn't see yet21:57
jdstrand(ie, something non/under-documented)21:58
zygajdstrand: the namespaces(7) manual page gives a false sense of completeness21:59
jdstrandyeah :(21:59
zygaI see the same thing22:00
jdstrandzyga: that said, I think there is a pretty solid clue in that without this PR, it still doesn't work with xenial-updates22:00
jdstrandso maybe all the namespaces bits are ok and it is pivot_root/mount options/shared vs private/etc thing22:01
zygaperhaps22:01
zygaI'll read the kernel code for nsfs22:01
zygaquick question: wrz 15 00:00:14 tower kernel: audit: type=1400 audit(1473890414.074:130): apparmor="ALLOWED" operation="file_mprotect" profile="snap.snapd-hacker-toolbelt.busybox//null-/usr/bin/unshare" name="/usr/bin/unshare" pid=13886 comm="unshare" requested_mask="r" denied_mask="r" fsuid=1000 ouid=022:02
zygawhat is ouid=0?22:02
jdstrandowner uid22:02
jdstrandzyga: it is the process uid used for comparing with fsuid which is the file owner22:03
tyhicksjdstrand: fsuid is the fsuid of the current task22:07
tyhickshttps://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/xenial/tree/security/apparmor/file.c#n6122:08
* zyga hugs cscope22:09
jdstrandmey, I flipped it around22:10
jdstrandmeh22:10
zyga    if (!ns_capable(net->user_ns, CAP_SYS_ADMIN) ||22:10
zyga        !ns_capable(current_user_ns(), CAP_SYS_ADMIN))22:10
zyga        return -EPERM;22:10
jdstrandouid is object uid (the file), and fsuid is the the uid used to check access to the fs22:11
jdstrandI've done that before. maybe this time it will stick :)22:11
tyhicksouid is hard to remember22:12
zygathat's the only EPERM I can quickly see22:12
jdstrandjeez, I downgraded ubuntu-core-launcher and it isn't working :\22:14
* zyga has an idea22:16
zygajdstrand: so I can "unshare -n" from devmode snapd-hacker-toolbelt.busybox22:16
zyga(as root)22:17
zygajdstrand: but it fails if I try to preserve the ns22:18
jdstrandzyga: fyi with ubuntu-core-launcher 1.0.27.1: http://paste.ubuntu.com/23179927/22:20
zygainteresting22:21
zygaI guess at this point the kernel is our manual22:21
jdstrandI'm really surprised it isn't working with ubuntu-core-launcher since I very clearly had a working test case22:21
zygajdstrand: are you sure that this was the test case?22:22
zygajdstrand: hmm, I think I read something that may contain hints22:22
jdstrandzyga: https://bugs.launchpad.net/snappy/+bug/1611444/comments/822:23
mupBug #1611444: Cannot share a namespaces created with 'ip netns' between apps in a devmode SNAP <Snappy Launcher:In Progress by zyga> <Snappy:Triaged by zyga> <https://launchpad.net/bugs/1611444>22:23
zygahmm22:24
zygainteresting22:24
* jdstrand reboots into an older kernel22:24
* zyga reads through util-linux source22:25
mupPR snapcraft#803 opened: Do not run the bootstrap directory as a script (autotools plugin) <Created by evandandrea> <https://github.com/snapcore/snapcraft/pull/803>22:29
jdstrandbooting into the release kernel didn't do it22:29
jdstrand(meaning, a kernel update didn't cause this)22:29
zygaright22:30
zygajdstrand: is there any difference between "ip netns add testnet" and "unshare -n /run/$something/testnet"22:30
jdstrandzyga: I don't understand that command. /run/$something/testnet isn't a program22:33
zygaI mean "unshare -n /path/to/saved/net/ns"22:33
zyga    if (!ns_capable(net->user_ns, CAP_SYS_ADMIN) ||22:33
zyga        !ns_capable(current_user_ns(), CAP_SYS_ADMIN))22:33
zyga        return -EPERM;22:33
zygaer, sorry22:33
zyga       -n, --net[=file]22:33
zyga              Unshare the network namespace. If file is specified then persistent  namespace  is  created  by22:33
zyga              bind mount.22:33
jdstrandbut the unshare program takes an program argument22:33
zygaIs it anything fundamentally different?22:33
zygaright but you can pass "true"22:33
jdstrandok, let me just do bash22:34
zygaand it will just unshare that space and quit22:34
jdstrandsure22:34
jdstrandzyga: ok, so I did:22:35
zygajdstrand: then we can use nsenter/unshare instead of the (probably more complex) ip netns as a test tool22:35
jdstrandsudo ip netns add testnet22:35
jdstrandsudo hello-world.sh # installed in devmode22:35
jdstrandunshare --net=/run/netns/testnet true || echo yes22:35
jdstrandyes22:35
jdstrandis that what you wanted to test?22:36
zygayes :-(22:36
zygado you have any theory or ideas as to why the kernel is rejecting this?22:36
jdstrandno22:37
jdstrandI'd like to identify the point at which things were working with my test case22:37
zygayes, that would be very useful22:37
zygajdstrand: I wonder if vanilla 16.04 install works22:38
zygathat might be easy to test from a live media and a vm22:38
zygaif it wasn't past midnight I'd check that22:38
jdstrandyeah, you should go to bed22:41
jdstrandI have a school thing in a few minutes anyway22:42
zygaI'll catch you tomorrow; I'll keep experimenting tomorrow22:42
jdstrandI wonder if I was doing this in an old all snaps vm22:43
zygahmm22:43
zygaso no pivot root22:43
zygathat's "easy" to check22:43
zygaI wonder if pivot vs chroot matters as well22:43
jdstrandI have a vm from june 24 here22:44
* jdstrand tries22:44
zygajdstrand: one thing that might be a factor is that /run is now a shared bind mount22:48
zygajdstrand: instead of the vanilla /run which is ...22:48
jdstrandso, I'm totally not crazy: https://www.mail-archive.com/snapcraft@lists.ubuntu.com/msg00546.html22:48
jdstrandyet, open("/proc/self/ns/net"): Permission denied22:49
zygadid systemd change?22:49
zyga23 25 0:19 / /run rw,nosuid,noexec,relatime shared:5 - tmpfs tmpfs rw,size=818576k,mode=75522:49
zygaso even on the "outside" /run is shared with something22:49
jdstrandthis is on an image from months ago22:49
* zyga never knows how to find *all* mount entries 22:50
zyga(i.e. what is "5" from the quote above)22:50
wililupyQuestion: Make sure I have this right for using ubuntu-image. If I need to build an image with a custom kernel snap, I can create a new assertion model .json, point the kernel parameter to that, sign it, and all is good?22:50
wililupyAlso, if I want to add other snaps to the image, is there a value for the assertion model for that?22:51
zygajdstrand: so at some point in time this worked22:51
jdstrandzyga: I came across this the other day: findmnt  -o+PROPAGATION22:51
jdstrandzyga: yes, and not just cause I remember it this way :)22:51
zygaomg22:51
zygathe things I find out :)22:51
zygajdstrand: but that still doesn't show me mount entry with id 522:52
zygain fact, my current shell process doesn't have that entry22:52
zygabut it still exists and perahs one of the processes has acess to it22:52
jdstrandzyga: '5' is the peer group22:52
zygapeer group or peer id?22:52
zygaI mean, should I match this against the 1st column of mountinfo?22:52
jdstrandno22:53
jdstrandwell, let me double check that22:53
jdstrandhttps://www.kernel.org/doc/Documentation/filesystems/proc.txt22:53
zygajdstrand: this is also in mountinfo.h in snap-confine btw22:54
jdstrandthose are the mount ID and parent IDs22:54
jdstrandthat are different than the peer group in column 722:54
jdstrandhttps://www.kernel.org/doc/Documentation/filesystems/sharedsubtree.txt, section 5a22:54
zygaah, interesting22:55
jdstrandI suspect the findmnt command is looking at the perr group to organize things22:55
kallisti5so.. any timeline on being able to generate new snappy core images?22:56
kallisti5last I checked the tool gave a neat "someday" response :P22:56
zyga(*) X is the closest dominant peer group under the process's root.  If22:57
zygaX is the immediate master of the mount, or if there's no dominant peer22:57
zygagroup under the same root, then only the "master:X" field is present22:57
zygaand not the "propagate_from:X" field.22:57
* tsimonq2 bets elopio saw an nginx-related tweet and decided to snap it22:59
elopiotsimonq2: even better, I met somebody that works at nginx.23:04
tsimonq2gosh darnit23:04
tsimonq2:P23:04
* zyga -> EOD23:09
jdstrandbye zyga :)23:10
mupPR snapcraft#801 closed: In the busybox test, use the last installed data dir <Created by elopio> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/801>23:17
mupPR snapcraft#798 closed: Replace uses of copy with dump <Created by sergiusens> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/798>23:29
wililupyHow do I use snapcraft to delete a key I registered?23:41
wililupyI'm getting a weird error when I sign my assertion, and I think its due that I forgot to branch 2.17 for snapcraft and used it to register my key... :/23:47
wililupysnapcraft revoke-key default does not work23:54
wililupyThis is the error I'm getting: error: cannot assemble assertion model: "timestamp" header is not a RFC3339 date: parsing time "$(date -Iseconds --utc)" as "2006-01-02T15:04:05Z07:00": cannot parse "$(date -Iseconds --utc)" as "2006"23:58

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