/srv/irclogs.ubuntu.com/2015/08/05/#snappy.txt

=== chihchun_afk is now known as chihchun
=== chihchun is now known as chihchun_afk
=== chihchun_afk is now known as chihchun
dholbachgood morning06:57
fgimenezgood morning07:13
JamesTaitGood morning all; happy Work Like A Dog Day! ๐Ÿ˜ƒ08:32
ogra_ppisati, help ! ... i know i managed once to get the rpi bootloader to hand the cmdline.txt over to u-boot ... but i cant manage that anymore, do you remember if we needed to use the mkknlimg tool against uboot.bin to achieve that ?08:41
ogra_or was that kernel only (which wouldnt help for plain u-boot indeed)08:41
ppisatiogra_: hi08:42
ppisatiuhm08:42
longsleepoh joy - cant you guys get rid of the rpi bootloader?08:42
ogra_nope08:42
longsleep:/08:42
ogra_pi cant boot without it08:42
ogra_uboot is just a chainloaded thing here08:42
ppisatiogra_: i don't remember ever doing that08:43
longsleepso it could boot without uboot then?08:43
ppisatiogra_: let me grab my pi board08:43
ogra_(and for the fun, all DTB overlay handling also has to happen in the blob bootloader)08:43
ppisatiyep08:43
longsleepoh08:43
ogra_longsleep, it could boot, but not update and rollback ... or failover08:43
longsleepogra_: i see - and the rpi bootloader loads something from disk itself?08:44
longsleepogra_: so it has fat read drivers and all itself?08:44
ogra_yeah, it loads either uboot.bin or the kernl08:44
ogra_(and aside from that it is also the binary GPU driver as well)08:45
longsleepis that new for rpi2?08:46
ogra_nope08:46
ogra_has always been like that08:46
ogra_there is no free bootloader for it ... and the bootloader is the GPU driver (it even loads into the GPU to then init the HW afterwards before loading kernel or uboot)08:47
longsleepogra_: ok - let me check one of the rpi's i have then08:49
ogra_the thing is that this bootloader has its own config file and also a file where you can put the cmdline in ... if there is something inside that cmdline file it creates a cmdline from ROM values merged with the file content it hands over to uboot as "args=" variable ...08:50
longsleepah yes - seems that i am not even using u-boot then08:50
ogra_these ROM values contain the board serial and the MAC address ...08:50
longsleepurg08:51
ogra_i need them in my uboot env and cant get them to show up anymore08:51
longsleepthats config.txt and cmdline.txt you are referring to?08:51
longsleepi see these both08:51
ogra_yeah08:51
ogra_http://paste.ubuntu.com/11993082/08:51
ogra_see the "args=" line at the top08:51
longsleepright08:52
ogra_that comes from the bootloader (my cmdline.txt contained elevator=deadline in that case)08:52
longsleepdo you have the fixup.dat as well?08:52
ogra_yes08:52
ogra_i have start.elf, bootloader.bin and fixup.dat ... the configs and the respective DT08:52
longsleepso, for you the args value are the defaults and you cannot change them>08:53
longsleep?08:53
ogra_no08:53
ogra_the args value is unset now08:53
longsleepah ok08:53
ogra_it doesnt get handed over to uboot at all08:53
ogra_there seems to be some chack for DT capability of the kernel in the bootloader ... if it doesnt find that, it uses ATAGs, which i think is my prob08:54
ogra_*check08:54
ogra_you need to use a special tool that adds a suffix to the kernel binary which makes the bootloader know the kernel is DT capable08:55
longsleepoh joy08:55
ogra_and i think that is what i'm missin on my uboot binary08:55
ppisatiwait08:55
ppisatii had an email about that08:56
ogra_(we had some mail discussion about that before, thats why i asked ppisati if he still remembers)08:56
ogra_*snap*08:56
ppisatiright08:56
ogra_:)08:56
ogra_but that doesnt talk about uboot at all08:56
ogra_only about the kernel08:56
longsleepogra_: and in your config you set kernel=uboot.bin or something?08:56
ogra_i need the var before the kernel is loaded08:56
ogra_longsleep, right08:57
ogra_the silly thing is that i had it working properly ... as you can see in the paste08:57
ogra_but then the file corruption issie showed up, i forgot to write down what i had done and now i cant get it to work anymore08:57
longsleepogra_: mhm you think it is a u-boot compile time flag?08:58
ogra_no, we didnt patch uboot much08:58
ogra_there is the raw initrd patch, thats all (one config line)08:58
longsleepright, so you use latest mainline u-boot for the rpi?08:59
ogra_and for the new uboot.env stuff i changed the file size of uboot.env ... but i cant even get it to work without that08:59
ogra_i tried both, mailine and srwarrens tree08:59
ppisatiogra_: do you recall the subj of that email conversation? i can't find it right now...08:59
ogra_i dont think it is uboot08:59
ogra_ppisati, "Snappy Core Image for Raspberry Pi"09:00
ogra_1) You need to use the 'mkknlimg' utility to append a trailer to the kernel image. Without this, the loader doesn't know that the kernel is DT-capable, and will use ATAGs instead.09:00
ogra_    Follow the (recently updated) instructions here: https://www.raspberrypi.org/documentation/linux/kernel/building.md09:00
ogra_uh, oh09:02
longsleepwhoah that script looks scary09:02
ogra_ppisati, i remember there was some uboot cmdline you gave me to have the content of "0x100" stuffed into the env ...09:03
ogra_(it slowl comes back ...)09:03
ogra_*slowly09:03
longsleepah that would make sense09:03
ppisatiogra_: i'm passing directly what i get from the rpi loader to the kernel09:04
ogra_i can actually see the cmdline with md 0x10009:04
longsleepthen just import it09:04
longsleepif the rpi bootloader writes its args to 0x10009:05
longsleepogra_: something like 'env import -t 0x100'09:14
longsleep(sorry i got distracted)09:14
ogra_longsleep, no, i found the old conversation ... it isnt an env but actually the start if the devicetreew i see with md09:18
ogra_fdt addr 0x100 ... should theoretically work ... but gives me an error09:19
ogra_libfdt fdt_check_header(): FDT_ERR_BADMAGIC09:19
ogra_but i'm on the right track now so i should get it working09:20
ogra_aha !09:20
ogra_Jun 16 13:32:43 <ppisati>       ogra_: BTW, the patched uboot is here if you want to try it - http://people.canonical.com/~ppisati/uboot.raspy209:20
ogra_ppisati, do you remember what you patched there ?09:20
ppisatii think i know09:21
ppisatilet me check09:21
longsleepyes i think it must be u-boot09:21
ogra_(i would just take your binary but i need additional patching sadly)09:21
ppisatiright09:21
ppisatiso09:21
ppisati./mkknlimg --dtok ./uboot.bin.old ./uboot.bin09:22
ppisatito get that uboot09:22
ogra_bah, i had --dtok --283x in my last try09:23
ogra_i guess thats it :P09:23
ogra_so close (and just by guessin)09:23
ppisatiogra_:09:24
ppisatiops09:24
ogra_U-Boot> fdt addr 0x10009:25
ogra_libfdt fdt_check_header(): FDT_ERR_BADMAGIC09:25
ogra_grrr09:25
ppisatieven with the patched uboot09:26
ppisatifdt addr 0x10009:26
ppisatiworks here09:26
ppisatiok, forget bout that09:27
ogra_the error looks like the dtb file is messed up ...09:27
ppisatii was able to boot a kernel09:27
ogra_but why would it be loaded to ram just flawless if it was09:27
ppisatiU-Boot> fdt addr 0x10009:27
ppisatiU-Boot> run loadkernel09:27
ppisati4537616 bytes read in 3313 ms (1.3 MiB/s)09:27
ppisatiU-Boot> bootz ${kernel_addr_r} - 0x10009:28
ppisatiand i got to a booted system09:28
ogra_sure09:28
ogra_i'm far from that point ... i need the values in my uboot env to assmeble a proper cmdline first :)09:28
ogra_then i'll care for booting :)09:28
ogra_i guess i should start over from a clean state09:29
ogra_U-Boot> fdt addr 0x10009:35
ogra_U-Boot> fdt get value serial /system linux,serial09:35
ogra_U-Boot> echo ${serial}09:35
ogra_000000001cdb048b09:35
ogra_\o/09:35
ogra_yippie !!09:36
ogra_U-Boot> fdt get value args /chosen bootargs09:36
ogra_U-Boot> printenv args09:36
ogra_args=dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2709.boardrev=0xa01041 bcm2709.serial=0x8b04db1c smsc95xx.macaddr=B8:27:EB:04:DB:1C bcm2708_fb.fbswap=1 bcm2709.disk_led_gpio=47 bcm2709.disk_led_active_low=0 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000  console=ttyAMA0,115200 kgdboc=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 rootwait09:36
ogra_there we go09:36
longsleepwhat did you change?09:38
longsleepand what do you use the serial for?09:38
ogra_i used ./mkknlimg --dtok on the uboot binary ... and actually copied the dtb files freshly in09:38
ogra_the serial is needed if you want to buy the video codecs09:39
longsleepah yes09:39
ogra_so it must be set in /proc/cpuinfo09:39
ogra_and indeed you want the persistent MAC09:39
longsleepdo you know how the bootloader generates it?09:39
ogra_from msc95xx.macaddr=B8:27:EB:04:DB:1C09:39
ogra_afaik the first stage loader reads it from ROM09:40
longsleepmhm you think they fuse it on the chip?09:40
ogra_well, i dont know how it exactly works, but it must come out of the HW somehow ... i guess they imprint it with the first stage loader in the ROM09:41
longsleepit is probably derived from the serial number in some way - i was just wondering if there could be collision (which i have seen in ODROID land).09:43
ogra_yeah, hard to tell ... that bootloader is a blackbox09:44
longsleepyes - closed source bootloaders make me sad09:46
ppisatiogra_: cool09:54
ogra_ppisati, thanks a lot !09:54
ppisatiogra_: how do you make printenv print on different lines?09:54
ppisatiogra_: i totally forgot about all this stuff09:54
ppisatiogra_: i mean, instead of clobbing a single line09:54
ogra_me too, thats was my prob for the last three days :P09:54
* ogra_ is banging his head against that since friday09:54
ppisatipoor friday09:55
ogra_ppisati, i dont do anything, printenv has a newline at the end of each line here09:55
ppisatiuhm09:55
ppisatinot here09:55
* ppisati sad panda09:55
ogra_what terminal do you use ?09:55
ogra_screen /dev/ttyUSB0 115200 ...09:56
ppisatiminicom09:56
ppisatilet me try screen09:56
ogra_that gets me poper terminal shaped output09:56
ogra_(and i can detach ... ssh from my laptop in the livingroom into the machine with the serial line and take over the console from there ... very helpful)09:57
ppisatiso you have a host in betweeb?09:57
ppisati*between09:57
ogra_not atm09:57
ogra_but i can if needed/wanted09:57
ppisatii mean, i can detach too09:57
ppisatianyhow09:58
ppisatilet me try screen09:58
ppisatifuck09:58
ppisatiit works09:58
ogra_well, screen keeps the terminal up but detaches the tty ... so i can switch machines09:58
ogra_indeed :)09:58
* ogra_ gave up on all other terminal emulators years ao09:59
ogra_*ago09:59
ppisatii've always used cu10:00
ppisatithen minicom since i have problems with cu and some boards10:00
clobranoHello, I was wondering if packages already in ubuntu repository (e.g. iperf) could be submitted to snappy store or is it something that will be done automatically10:01
ogra_clobrano, depends ... what would you use iperf for ? if it is something inside your snap that wants it you would ship it in your project snap10:02
ogra_if it is for general convenience it would go into the "comfy" snap which we are working on ... thats a snap to make your shell experience a bit more convenient as a developer that actually works on the snappy box and will include a bunch of helpful tools10:03
clobranoogra_: well, not directly used by my snap, but iperf like other tools are useful when testing some applications10:03
ogra_right, then it would be a comfy thing10:04
clobranook, perfect10:04
clobranothat's exactly what I was thinking10:04
ogra_(along with a proper vim ... htop etc etc ... )10:04
clobranoI would love vim :)10:04
ogra_there was a ML discussion about comfy iirc ... started by lool10:04
ogra_i think for the start it will likely be something like the dependencies of the ubuntu-minimal metapackage +/- one or the other tool10:05
ogra_and then we'll ghrow it over time10:05
clobranonice10:07
longsleepyay proper vim!!!10:10
longsleepogra_: so, regarding the rpi you now modify the u-boot after you created it?10:13
ogra_longsleep, well, i run it through the mmknimg tool to get the suffix set10:14
ogra_http://paste.ubuntu.com/12005875/10:17
ogra_my notes for next time :)10:17
longsleepogra_: You should fork my make files for the ODROID :)10:18
longsleepogra_: https://github.com/longsleep/snappy-odroidc10:19
ogra_i got shellscripts for that ;)10:20
ogra_(just not for the rpi yet)10:20
longsleepogra_: by the way, mu odroidc oem new version is still not reviewed, any idea how to get this going>10:22
longsleep?10:22
ogra_lets get sergio on it once he shows up10:23
longsleepit could be a issue as well, it is in published state and a new version was uploaded. Maybe there is no notifications as the snap is not in pending review state10:24
ogra_we'll see what he says10:25
ogra_worst case we'll get beuno to fix it :)10:25
longsleepand i noticed another inconsistency in the store, I have two snaps now, but i see only one /dev/click-apps and both in /dev/click-apps/?format=snap10:26
longsleep(and the oem snapp also shows up for /dev/click-apps/?format=click)10:27
ogra_hmm, i see all my 60 click apps without the format snap thingie10:27
ogra_and with it i see the snaps10:27
ogra_clikc will hopefully not persist for to long anymore though10:28
longsleepit seems that one only sess click apps by default and the oem snap is counted as format=click and format=snap10:28
ogra_so this will solve itself :)10:28
kivisnappy-tools still a thing? Its not on 15.1011:06
ogra_kivi, what do you mean by that ? snapppy-tools is a PPA that contains the tools we use11:13
kiviogra_, okay thanks11:13
ogra_(ubuntu-device-flash for example)11:13
ogra_https://launchpad.net/~snappy-dev/+archive/ubuntu/tools11:13
ogra_the tools themselves should all be in 15.1011:13
ogra_the PPA has backports for older releases11:14
kiviogra_, ah11:14
kiviokay11:14
kivisorry, just following a tutorial for making python snaps, and the apt-get did not mention the ppa11:14
ogra_ah11:14
longsleepsergiusens: Hey, any chance you can review the new version of https://myapps.developer.ubuntu.com/dev/click-apps/2822/ at some point. I uploaded a new version a week ago and i am not sure if anyone did see that.11:56
sergiusenslongsleep: sure, I'll add to my TODO11:57
longsleepsergiusens: great thanks11:58
dholbachcan somebody review https://code.launchpad.net/~dholbach/snapcraft/doc-fixes/+merge/267010? (just syntax fixes)12:15
longsleepdholbach: not sure if it helps if someone from the community approves but i did it because all those special characters needs to go away asap and you merge just did that :)12:20
dholbachlongsleep, we're all part of the community :)12:21
dholbachcan somebody review https://code.launchpad.net/~dholbach/snapcraft/docs-next-steps/+merge/267019 too? :)12:32
dholbachlongsleep, sergiusens, elopio, merged now - thanks for the reviews13:15
sergiusenslongsleep: hey, ogra_ tells me you've used snapcraft to build armhf snaps, did you do that on  native armhf env?13:19
dholbachdpm, I'll put the snapcraft docs online in a bit - we should be ready to go13:19
dholbachand another one: https://code.launchpad.net/~dholbach/snapcraft/rename-tutorial-file/+merge/267031 :)13:40
elopiozyga: the snapcraft tests print lots of warnings. Any tips to clean it up?13:46
* dholbach hugs elopio13:48
elopio:)13:48
longsleepsergiusens: no - i wrote my own plugin which allows to pull in built deb files into the snap. That way i can build any deb using pbuilder for any target platform and just create a snap with those.13:49
longsleepsergiusens: if you want to review/comment: https://code.launchpad.net/~longsleep/snapcraft/snapcraft-debs-plugin/+merge/26665013:49
zygaelopio: can you pastebin something?13:49
zygaelopio: I'll help you out13:49
longsleepsergiusens: Or you can also comment on https://bugs.launchpad.net/snappy/+bug/1480144 which tries to cover the whole picture13:50
ubottuLaunchpad bug 1480144 in Snappy "Snapcraft should be able to run in clean environment with pbuilder/cowbuilder" [Undecided,New]13:50
elopiozyga: http://paste.ubuntu.com/12006977/13:51
zygaelopio: so for the leftover thing13:52
zygaelopio: I can quickly add a flag that will say the job is expected to dirty the temporary working directory (it's not default before it was often a bug on our part in the old jobs)13:52
zygaelopio: and you can use that flag to get rid of those parts13:53
longsleepsergiusens: so the deb packages i need in the snap are built on a build system for the target platform and snapcraft runs afterwards, using the produced deb files. The debs plugin also can pull in deb files from URL locations to make it easy to test.13:53
zygaelopio: is there anything else you'd like to change there specifically?13:53
zygaelopio: can you file a bug on that (tag it 'snappy') and I'll try to fix it ASAP13:53
zygaelopio: we should sync next week, I have some interesting bits coming that should be able to help you a lot13:54
elopiozyga: I tought first about making the snapcraft build out of the working directory, but if you thing the flag would be better lets do it.13:54
elopiozyga: other than that, I would like to have subunit test results.13:55
zygaelopio: mmm, another bug, if you show me a simple snippet of python that does that (create some result object, set data, etc,) then I can write that today as well13:56
zygaelopio: so both on the "plainbox" project and both with "snappy" tag pretty please13:58
elopiozyga: ok.13:58
elopioabout a simple snippet, it depends on how your test suites are implemented.13:59
zygaelopio: mmm13:59
elopioIf you are using a test runner, just replace it with the subunit test runner. https://bazaar.launchpad.net/~subunit/subunit/master/view/head:/README.rst13:59
zygaelopio: the way I understand it you could ask plainbox to exports results to subunit format13:59
zygaelopio: maybe I misunderstand what subunit is13:59
* zyga looks14:00
elopiozyga: you can convert to subunit after the fact, or you can make a subunit stream and fill it while the tests are running.14:00
elopiothe stream is nicer, but both work.14:00
elopiomterry: any clues about what's wrong here? http://paste.ubuntu.com/12007001/14:01
elopiothat's the simple-cmake integration tests running from adt-run.14:01
zygaelopio: mmmm14:01
zygaelopio: the former is easy, streaming is harder but we could do it with the new API that I worked on14:01
zygaelopio: it would not be a new exporter format14:02
zygaelopio: but a small tool that uses stable, public plainbox APIs and subunit to stream stuff14:02
zygaelopio: that's the thing I was talking about earlier (new shiny stuff == public api)14:02
elopiofgimenez: with one command, I magically have a snappy jenkins running :)14:03
elopiozyga: sounds good.14:03
fgimenezelopio, great! :)14:03
elopioso, feel free to join us next week, any time you want.14:03
mterryelopio, cc is broken...14:04
mterry:(14:04
mterryelopio, can I see those logs it mentions?14:05
elopiomterry: the thing is that if I ssh into the machine and run it, it works.14:05
elopiomterry: you can, but I need like 15 minutes. This is slow.14:05
elopio mterry: are we going to have snapcraft in the archive soon?14:06
longsleepmterry: Do you have any more comments on my snapcraft debs plugin? https://code.launchpad.net/~longsleep/snapcraft/snapcraft-debs-plugin/+merge/266650 - Do you think something like this makes sense to upstream to you guys?14:09
mterryelopio, I can upload it to the archive, when we think it's ready.  rsalveti, do we think it's ready?  :)14:10
rsalvetimterry: elopio: we can upload to the archive already, sure14:12
mterrylongsleep, sorry for slow reply  :)14:12
mterrylongsleep, so your use case is sort of a workaround the fact that we don't have cross building.  Plus an emphasis on making sure you have the exact version you want14:13
mterryrsalveti, ok, can upload to wily later today then14:13
mterryelopio, ^14:13
longsleepmterry: yes - the cross building might go away in the future, but i still need to build in clean environment (which is provided by pbuilder for deb file)14:13
longsleepmterry: From my point of view, this was the easiest way to build a snap from existing deb files. It was even easy to add another deb file as i found i had to ship openssl binary inside my snap.14:16
tedCould we build an ARM Snappy image that's like this one: https://fedoraproject.org/wiki/Architectures/ARM/F22/Installation#For_Versatile_Express_Emulation_with_QEMU14:16
mterrylongsleep, it seems like you may have dependency problems a lot with this strategy14:16
longsleepmterry: i also have the idea that this could be extended to build multi arch snaps by creating sub folders per arch and extract the corresponding deb files to this subfolders and detect the arch in start script.14:17
longsleepmterry: Yes, it does not resolve dependencies automatically. Though the developer writing the snap file can resolve those manually.14:17
mterrylongsleep, if we had cross building support, would pointing at a git branch with a tag be enough of reproducable build for you?14:19
guest42345how big is ubuntu personal image? i want to try it from USB14:19
mterrydholbach, why did you remove my utf8 characters from the docs?14:20
mterryThey were so pretty14:20
longsleepmterry: No, reproducable builds need to pull and install dependencies required at compile time. Thus i would always go through a debian package to have reproducable builds.14:20
dholbachmterry, when I ran markdown on the file, the output wasn't pretty14:21
ogra_guest42345, a month ago the img that ubuntu-device-flash produced was 9GB14:21
longsleepmterry: dpkg gives that all, i think it will a lot of work to replicate that within snapcraft14:21
ogra_not sure if it changed14:21
mterryelopio, your makedirs branch failed to merge14:21
elopiowtf, simple cmake passed now.14:21
longsleepmterry: alternative would be to run snapcraft in pbuilder environment and have it produce a snap instead of deb14:21
guest42345ogra_, thanks :> that's pretty BIG! i have a tiny 4G USB stick, i guess it's time to buy new ones14:22
mterrylongsleep, that would be something we'd expect would work14:22
mterrydholbach, markdown doesn't handle utf8?  shocking...14:22
guest42345ogra_, so.. for now there is no way to install ubuntu personal on a diff partition, right?14:22
guest42345i can't have ubuntu 14.04 and ubuntu personal on the same hdd14:23
elopiomterry: let me check tarmac.14:23
longsleepmterry: well thinking anbout it .. that will not work because that environment mit not be able to compile all the stuff in one shot. It would need to setup a environment for each dependency. I think that is too complicated.14:23
ogra_guest42345, there surely is a way to dd the img file to some other device from a live-booted system or so14:23
ogra_but yeah, you would need to overwrite the whole device ... there is no dual boot or anything14:23
longsleepmterry: I think lots of people might like to simply extract their deb files into a snap and add a start script. That is simple and people need to know about their dependencies only.14:24
ogra_(and snappy is really not designed for something like that)14:24
sergiusenslongsleep: Weโ€™ve been working on adding support for building snap packages (#1476405), but thereโ€™s still more to do here; we should be able to make this available to some alpha testers around mid-August14:24
sergiusenshttp://blog.launchpad.net/general/launchpad-news-july-201514:24
sergiusenshttps://bugs.launchpad.net/launchpad/+bug/147640514:24
ubottuLaunchpad bug 1476405 in Launchpad itself "Add support for building snaps" [High,In progress]14:24
sergiusensmterry: to build for armhf I'd need native/emulated arm, right?14:25
longsleepsergiusens: launchpad building snaps would be nice.14:25
guest42345ogra_,  thanks, that's what i thought.. i don't know how to feel about it14:25
guest42345ogra_, i need some beer :)) thanks again14:25
longsleepsergiusens: lots of stuff does not build on emulated arm14:25
ogra_enjoy the beer :)14:26
guest42345mmmm delicious14:26
longsleepsergiusens: that is why we have a arm build cluster here, though that only supports pbuilder14:26
sergiusenslongsleep: oh, I know... I hate it, I'm just avoiding pedantic people clarifying that it could be done with qemu-arm-static14:26
sergiusens:-P14:26
longsleepsergiusens: so, when you have launchpad building snaps, i suppose you will activate armhf only upon request similar as for debs?14:28
mterrysergiusens, yeah14:30
ogra_sergiusens, did you just call me pedantic ?14:31
ogra_:P14:31
tasdomasdoes the orange box mac address change on reboot?14:32
ogra_tasdomas, yes, working on a fix, a new image should be ready before end of the week14:32
ogra_(the current bootloader setup swallows the MAC and serial of the rpi)14:33
longsleepmterry: So explaining my current use case: I have clean built spreed-webrtc deb packages and want to make a snap out of it.14:33
mterrylongsleep, I follow...  Hrm, let me look at MP again14:34
mterrylongsleep, thanks for explaining to me14:34
longsleepmterry: Sure - with that suff i was able to add the snap to the store, so either nobody is as crazy as me yet or everyone sets up a clean build system for every build :)14:35
sergiusensmterry: I notice that easy install/py2 rewrites the shebang to my local machine; any way around that? (thinking of my binary entry calling out python2 explicitly)14:36
mterrysergiusens, easy install/py2?14:36
longsleepsergiusens: by the way, any chance that at some point Go can be built by launchpad on armhf: https://launchpadlibrarian.net/207704013/buildlog_ubuntu-trusty-armhf.golang_2%3A1.4.2-1%2Bstruktur0%2Btrusty0_BUILDING.txt.gz ?14:39
sergiusensmterry: setuptools/easy_install/python 214:39
sergiusensmterry: did you see my diff?14:39
sergiusensmterry: http://paste.ubuntu.com/12006412/14:40
longsleepsergiusens: We have all the gear on lp to provide debs for armhf but go builds crash with Segmentation fault14:40
sergiusensmterry: I think I just duplicated some work there14:40
sergiusenslongsleep: oh, you are using virtual builders I guess14:40
longsleepsergiusens: yes14:40
sergiusenslongsleep: I don't know a way out of that14:41
longsleepsergiusens: i mean it is not a big deal as we build locally as well, though i think Golang should be buildable for all platforms on launchpad :)14:41
=== vrruiz_ is now known as rvr
tedmterry, So, on your comment to rename ubuntu.package to just ubuntu.packages everywhere... I'm not against that, but I'm curious if it'll break too many folks at this point.14:45
tedmterry, Perhaps we change the plugin yaml and take both14:45
mterryted, and warn on both being used maybe?14:45
mterryted, I mean error out I guess14:45
tedYeah, I'm fine warning in that it will *work*14:46
mterryted, are there too many people now?14:46
* ted assumes everyone is using snapcraft now14:46
sergiusensmterry: I seem to be able to get away with it with 'binaries:\n  name: python ./usr/bin/app'14:46
tedIBM is probably already working on an XML schema for it.14:46
mterrysergiusens, yeah, snapcraft has special logic (thanks to ted) to repurpose your 'python' call to the internal python14:47
mterryted, I bet it's fine to break world14:47
mterry:)14:47
tedK, I'll break 'em ;-)14:47
mterryted, as long as we error on unknown options?  I don't think we do yet14:48
mterryted, maybe add that to your branch too?14:48
mterryted, OR....  have a warning saying it's deprecated but still accept it14:48
tedmterry, Well I was just gonna require packages14:48
mterryted, and error out if both are used14:48
mterryted, fair on requiring packages, forgot that detail14:48
mterryted, oh wait, you don't get to auto-infer package name?14:48
mterryted, I loved that feature14:49
mterrywas I the only one?14:49
sergiusensmterry: you mean the magic symlinking?14:49
mterrysergiusens, hrm?14:49
sergiusensmterry: you sai special logic14:49
tedmterry, Heh, not sure it's really practical. Doubt anyone will have a single package that often.14:49
dholbachdpm, mterry, rsalveti: https://developer.ubuntu.com/en/snappy/snapcraft/ - it's not auto-imported yet, nor announced anywhere14:50
mterrysergiusens, oh no, we change how we wrap your binary call to make your 'python' bit be found  (normally snappy binary paths are relative paths to the executable in the snap, not PATH-resolved commands)14:50
mterryted, what, you're crazy14:50
sergiusensmterry: this is what I have now http://paste.ubuntu.com/12007310/ but if I specifically launch as 'python app' I can get around the broken shebang14:50
rsalvetidholbach: nice14:51
* sergiusens starts the trek back home14:51
mterryelopio, in your dep8 branch, why not just run the unit tests too?  If they end up being broken (by unittests api changing or wget being broken), we'd want to know about that as well.  At the least it means snapcraft would ftbfs on a rebuild14:52
elopiomterry: the unit tests are run when the deb package is built.14:57
elopiothen it is installed, and we run the test-as-installed, the dep8.14:57
elopioif we put the unit tests in dep8 they would run twice.14:57
mterryelopio, yup.  But when a depends of snapcraft is uploaded, snapcraft's dep8 tests are run.  And we want the unit tests run then too14:58
elopiomterry: ok, that makes sense I think. Do you want to keep the integration-tests/runtests.sh script, or should I merge it back?15:00
mterryelopio, I'm fine with those split sure15:00
elopionow if only it passed...15:01
kyrofaHey ogra_ any update on the rpi2 i2c and gpio stuff?15:25
ogra_kyrofa, on it ... right now :)15:25
ogra_(some blockers showed up that i had to fix first)15:25
longsleepqjkc15:26
longsleeperr sorry15:26
kyrofaogra_, awesome! I have to work up a demo by this time next week. Do you suggest waiting for i2c for my plan A, or start working on my plan B?15:26
longsleepquick question, how does the snappy tool access the store, where does the configuration come from>15:26
longsleep?15:26
ogra_kyrofa, i should have some image for testing later tonight or tomorrown morning15:27
kyrofaogra_, ah! Okay, I'll wait :)15:27
ogra_you will still have to hack something if you want to use overlay dtb's though, since i dont expect the needed udf fix to land in time for that15:27
ogra_(unless sergiusens secretly developed something i dont know about )15:28
kyrofaogra_, I'm fine hacking stuff to work as long as you're willing to guide me... ?15:28
ogra_sure, np15:28
kyrofalongsleep, it hits system-image.ubuntu.com, using the image channel and device to build the URL15:30
kyrofalongsleep, well, that's what happens when I try to update the index anyway15:31
longsleepkt15:31
longsleepkyrofa: yes15:31
longsleepkyrofa: but how does it find and download snaps?15:31
kyrofalongsleep, it's the same store as clicks15:32
longsleepkyrofa: ok - but where does the URL come from?15:32
=== chihchun is now known as chihchun_afk
longsleepkyrofa: i found the configuration for the system image - but no luck for the store yet15:33
kyrofalongsleep, snappy/snapp.go: https://search.apps.ubuntu.com/api/v1/15:33
longsleepkyrofa: thanks! i am just blind obviously15:34
kyrofalongsleep, no problem!15:34
kyrofaHey ogra_ got a sec for a framework question?15:42
ogra_not sure i can answer it, but sure, shoot :)15:43
kyrofaogra_, well with my (limited) understanding of frameworks, I felt that apache or nginx should be frameworks, but you felt differently which means you obviously know more about them than I do :P15:44
kyrofaSo I have something else I feel should be a framework, and wanted to bounce it off of you15:44
kyrofaogra_, are you familiar at all with ROS?15:45
mterryelopio, have you tried your new dep8 branch in a chroot?  I'm guessing that @ isn't enough to cover all the deps you need (it's only run time deps, not build time deps, right?).  Like it won't have python3-testscenarios, needed for the unit tests15:45
ogra_only via reading about it :)15:45
elopiomterry: I've added them, let me push.15:46
kyrofaogra_, that's probably good enough. ROS Core is the hub of the star-like message architecture, with various clients connecting to the core in order to learn about other clients and pass messages around15:46
elopiostill, I can't get it to pass. Errors range from unable to install all the deps to gcc not found.15:46
kyrofaogra_, would ROS Core make15:46
elopioI'll put it back to work in progress.15:46
kyrofaogra_, a good framework?15:46
kyrofaogra_, since there can only be one that all clients must share15:47
ogra_yeah, but i'm not the master of frameworks or even their definition ... to me ROS definitely looks like a good framework but i'm guessing as much as you here :)15:47
mterryelopio, you can do @builddeps@!  I didn't know that before now15:47
elopiomterry: right, but in the docs it says we should probably not use it.15:48
mterryelopio, that could be your entire line.  Depends: @builddeps@15:48
kyrofaogra_, alright, thank you! I just wanted to get your impression before I looked any further15:48
ogra_our framework definition definitely needs a better description of what a framework is or can be15:48
kyrofaogra_, agreed... a bit muddy15:48
mterryelopio, hmph15:48
tedmterry, Okay, pushed the 'packages' changes. It required a bunch of changes in different places, but not as big of a diff as I was worried about.15:53
sergiusensmterry: git@github.com:sergiusens/galileo.git15:56
elopios/dep8/pep8. /me needs sun light.15:58
longsleepkyrofa: I think that Nginx should be a framework as well. But i have no idea about what a framework is supposed to be :)16:01
kyrofalongsleep, ogra_ who knows that stuff? Or is it still being fleshed out?16:03
ogra_kyrofa, i guess one of the architects (lool perhaps) could shed more light on it for you16:04
longsleepogra_, kyrofa : Yes lool had some ideas about this a couple of days ago. I think his suggestion was just to move forwards and see how it goes.16:12
ogra_lol16:12
ogra_right16:12
ogra_diplomacy FTW :)16:12
kyrofalongsleep, that's potentially brutal advice :P16:13
longsleepwell the stuff is fresh - so whoever comes first defines the standard :P16:14
kyrofalongsleep, or goes to the effort of trying it only to get told "that's not how we use frameworks," heh16:15
longsleepkyrofa: well yest - but if you have the need to do it exactly that way and it is not possible with the existing definition the world needs to expand16:15
longsleepi like the idea to see how it goes16:16
longsleepand i need a Nginx framework as well and i might go forward with writing one, or i add Nginx to my system image ..16:16
longsleepprobably a bad idea :D16:17
longsleepogra_: I am back to resarch on system image building. What i understand is that i should run ubuntu-cdimage with http://bazaar.launchpad.net/~ubuntu-core-dev/livecd-rootfs/trunk/files/head:/live-build/ubuntu-core/ hooks - does that make sense?16:23
ogra_longsleep, no. you really dont want to run ubuntu-cdimage :)16:24
ogra_what you want to run is live-build with the changes from the livecd-rootfs package applied16:24
ogra_(this is essentially all that ubuntu-cdimage would do)16:24
longsleepok - what is live-build ? another couple of scripts?16:25
ogra_longsleep, https://code.launchpad.net/~ogra/project-rootstock-ng/trunk16:25
longsleepogra_: awesome thanks16:25
ogra_look at the rootstock-touch script ... it essentialyl does what a buildd does16:25
ogra_(note also that it cant build wily for core currently, but vivid works ... just takes ages)16:26
ogra_it shoudl give you an idea ...16:26
longsleepogra_: well i have gear to build a rootfs for normal Ubuntu already. Do you think it would make sense to start from that and just apply the changes for snappy?16:28
ogra_no, it wouldnt, it would make sense to just use -core as is and make your changes in the snaps ... or to ask us to add/remove bvits from core as needed16:28
longsleepogra_: yes - but not everything can be done in snaps and not everything should be in core. Some things are specific to a single device. I still fail to see how that can work without modification of the boot process or other things in core.16:30
ogra_via unconfined snaps for example16:31
longsleepmhm - could i overwrite stuff from the base system? That sounds iffy on update16:31
ogra_the plan is that you have a gadget snap for your appliance ... that is the only snap that can actually have dependencies -...16:31
ogra_these dependencies would be your add-on snaps that enhance core16:31
longsleepall right - i think i can try that16:32
ogra_in any case you should never need to modify core16:32
longsleepwhat if i want to use another system image server, or even another api endpoint for the store?16:32
ogra_if you have to, we either have to much or not enough functionality in core :)16:32
longsleeplike a self controlled one, or a local one16:33
ogra_system-image will go away soon, it will only be the store16:33
ogra_(core will become a snap too)16:33
ogra_and for the store bits i can point to beuno :) as usual :)16:33
longsleephehe - well i will be among the first to test all this once it is available - in the meantime i will experiment16:34
sergiusensmterry: is the source_type key in yaml source_type as well?16:46
elopiomterry: this is the only remaining failure: http://paste.ubuntu.com/12007972/16:47
elopiothe message is not useful, and when I ssh into the machine, extract the tar and run make, it just works.16:48
beunolongsleep, the store's endpoint won't be changeable (and isn't)17:09
mterry sergiusenswhat was that about source-type in yaml?17:13
mterryelopio, yeah, that looks like gcc failing...17:13
mterrysergiusens, what was that about source-type in yaml?17:13
elopiomterry: how can we print the error? I added gcc -v, but no output on is printed.17:16
mterryelopio, it might be crashing?17:17
sergiusensmterry: ah, thanks17:24
* sergiusens wants a schema17:24
mterrysergiusens, well the source-type stuff is plugin-specific (though shared between a lot of plugins, granted)17:26
sergiusensmterry: we probably want to document those anyways17:28
sergiusensmterry: I have to argue that it is not plugin specific as it is part of PluginsBase ;-)17:33
sergiusenseven if private17:33
sergiusensmterry: anyways that's me arguing about nothing important :-)17:34
mterrysergiusens, well the CODE is shared.  But plugins can expose/parse the option how they like.  We just have helpers.  But yes, they are so common as options, we should document them17:34
sergiusensmterry: care to look at https://code.launchpad.net/~sergiusens/snapcraft/mercury/+merge/267080 ?17:34
mterryted, don't you think all those packages: [onething] lines are grosser than the implicit package?17:53
sergiusensmterry: hey, there isn't much of a test base for code checkout; I need to remember how to mock to mock the run commands; maybe elopio can help template that for bzr/hg/git pull18:16
tedmterry, I think that they are uglier, but I guess I see it as an exception more than the rule. The examples are simpler than most projects.18:20
tedmterry, I'd be happy to put back the implicit package if you feel strongly though.18:20
mterryted, so there are two major types of projects: ones that use parts as dependencies and 'integration' projects that pull things together.  In integration projects, you'll want toplevel packages like 'apache2' or whatever.  Or fswebcam in examples.  Logically distinct, toplevel parts.  I think for those it makes sense for the implicit syntactic sugar18:25
mterrysergiusens, doesn't that already exist in test_base_plugin?  we do something with bzr there18:25
sergiusensmterry: I only see error checks for setting branch in bzr and the most complex test there is pull_tarball18:26
mterrysergiusens, yeah... Ok.  So maybe just add error checks for yours.  Unless you feel fancy and want to mock hg18:28
sergiusensmterry: I'd rather have elopio write me a template ;-)18:29
sergiusensmterry: and I did convert the git/hg into a scenario based test class for errors18:29
mterrysergiusens, and you've tested this I assume on real hg branches?18:30
mterrysergiusens, ooh wait18:30
mterrysergiusens, the integration-tests have some live git/bzr tests.  hg would be good to add to that, to confirm we don't break cloning or updating18:30
sergiusensmterry: yes, I already replaced my codebase18:31
sergiusensmterry: oh, and --user + --root (instead of --prefix doesn't require a PYTHONPATH, I haven't tested if it produces anything that works yet)18:31
sergiusensmterry: sure, I will add an integration-test18:32
sergiusensoh, I need a newer plainbox18:32
sergiusensmterry: what was the ppa I needed for that?18:32
mterrysergiusens, ppa:hardware-certification/public (from HACKING.md)18:33
sergiusensmterry: silly me, I only search for 'plainbox'18:33
sergiusensthanks18:34
tedmterry, implicit package is back :-)18:43
* mterry dances18:43
tedmterry, What did you do to work around the store not supporting architectures20:08
ted?20:08
* beuno squints20:09
beunonot supporting architectures?20:09
tedbeuno, The 'architectures' key in the yaml20:09
beunoah20:09
beunothe store doesn't look at the yaml20:09
beunoit looks at the json20:09
beunothat is created on build time20:09
tedOh, interesting.20:10
beunoit still treats it as a click20:10
tedEveryone uses JSON :-)20:10
mterryted, used architecture instead20:10
tedmterry, Can that be an array?20:10
mterryted, I think so?20:10
tedK20:10
rsalvetited: how is the qml mr going?20:12
* ted is trying to make mterry happy :-)20:12
rsalveti:-)20:12
mterryhmm..  i should look at that again20:12
mterryI think it's ready20:12
* ted buys flowers20:13
mterryted, run ./runtests.sh20:16
mterryted, need to update test_get_all_dep_packages_with_unrecognized_package20:16
tedmterry, "Everything passed"20:17
mterryted, merge from trunk then?20:17
tedAh, K, that breaks it :-)20:18
tedmterry, Updated20:19
sergiusensmterry: updated the mercurial branch (took longer than expected)20:43
sergiusensI also played a bit with --user and such, but everything goes bonkers wrt to path rewrites20:43
ogra_rsalveti, that livecd-rootfs stuff slowly turns into an all nighter :(20:47
mterryUploaded initial version of snapcraft to wily!20:50
ogra_\o/20:50
ted*snap* !20:51
mterryted, your qml plugin made it20:53
tedOh, cool.20:54
tedAre the docs live?20:54
tedI should put links in my blog post and get that out.20:54
rsalvetiogra_: oh crap20:58
* rsalveti hugs ogra_ 20:58
rsalvetimterry: nice20:58
mterryted, it hasn't landed in wily yet, has to be manually approved since it's a new package20:59
mterryted, I don't know if docs are live20:59
davmor2ogra_: like you need sleep21:00
ogra_davmor2, :P21:03
davmor2ogra_: you know you're not happy unless you wake up the shapes of keys imprinted on the side of your face ;)21:04
ogra_yup, if they are not there my GF doesnt actualy recognize me anymore21:05
davmor2ogra_: or wants to know what you've been up to :)21:05
tedSeems like there's no way to specify a service with a timer, to start it hourly or whatever21:08
tedIs that on purpose or just not got there yet? :-)21:08
* ogra_ triggers another phone image and goes afk for a bit21:19
ogra_phew, finally22:38
sergiusenselopio: mind checking https://code.launchpad.net/~sergiusens/snapcraft/mercury/+merge/267080 ?22:57
ogra_slangasek, did you see my PM from earlier today (no action needed right now, i just want to make sure the question got through to you)23:00
elopiosergiusens: looks good. But you are missing the data dirs.23:01
elopiocp: cannot stat โ€˜/home/elopio/workspace/canonical/snapcraft/reviews/sergiusens/mercury/integration-tests/data/hg-headโ€™: No such file or directory23:02
sergiusenselopio: err, let me bzr add!23:03
slangasekogra_: hi - yes, I did; the whole thing looks fine to me, so I wasn't sure what needed commenting on23:11
ogra_slangasek, ah, cool, i just didnt want to say yes or no without feeling qualified enough23:12
ogra_slangasek, mainly marks comment of using a new distributor ID for snappy23:12
ogra_(instead of "Ubuntu" ... )23:13
slangasekso it's possible that third-party things may make assumptions about the values of these field23:13
slangaseks23:13
slangasekbut those things are likely not looking at the snappy one23:13
ogra_ok23:14
sergiusenselopio: there we go (network was slow)23:18
sergiusenselopio: I don't mind a top approve ;-)23:21
elopiosergiusens: let me run the tests.23:22
elopiosergiusens: I like that you left the error conditions for unit tests, and the snapcraft command for integration.23:23
elopioany thoughts about writing tests for snapcraft?23:23

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