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

tgm4883Just tried packaging my first app for snappy (well second if you count the hello world app) and when I run it in my snappy vm I'm getting a permission denied error on /tmp/snaps. I didn't see where I'm suppose to declare this permission, is this something I can do or do I need to try to tell the app to use some fake tmp in /var/apps/myapp/?00:53
tgm4883just found this, which I think might be what I need https://developer.ubuntu.com/en/snappy/guides/security-policy/00:55
=== erkules_ is now known as erkules
JamesTaitGood morning all; happy Friday and happy Don’t Fry Day! 😃08:04
asacmvo: fyi, i did a hard backout of the  convenience change you landed in go-example-webserver08:21
asacnot sure if you want to bring it back, but if so, please test that the package still works afterwards :P08:21
mvoasac: oh, sorry for that and thanks for fixing08:23
asacmvo: i think it should have been a -n ?08:27
asacmvo: it failed to start with this :)08:28
asacbecause EOF tries to write a temp file it seems08:28
mvothats confusing, once I finished my branch here I will checks whats going on, looks ok from a first glace but certainly is not :/08:29
Chipacamo'in08:29
Chipacamvo: we have many bugs around tempdirs08:30
mvohey Chipaca08:31
mvoChipaca: meh, more?08:31
mvoChipaca: or more of the same and we need to land your fix urgently?08:32
Chipacamvo: well, that "can't create here document" or whatever the error message was is one08:32
Chipacamvo: my fix is not necessary; merely sufficient (?)08:32
Chipaca(i kid; it's not even that, there's more work to be done to fix it still)08:32
Chipacamvo: bash creates its tempfiles in TMPDIR08:33
mvooh, meh08:33
Chipacamvo: our systemd units are not creating their tempdirs08:33
mvoright, lets land your fix urgently08:33
Chipacamvo: my fix needs work on other fronts08:33
Chipacamvo: to be more exact:08:33
Chipacamvo: a snappy branch to change TE?MPDIR08:34
Chipacamvo: and a branch to ... apparmor? simpleprof something, to let things write to /tmp/08:34
mvohm, if thats the case, is there anything else we can do? something cheap that just creates the dir in the unit?08:34
Chipacaas currently it's only able to write to /tmp/snaps/yadda08:34
mvoright08:34
Chipacamvo: webdm creates it itself, from its init script08:34
Chipacamvo: it had a bug, where it wasn't setting it 0177708:35
Chipacaso other things failed after08:35
mvoyeah, I noticed that, I wonder if we could generalize that until the proper fix is in place08:35
Chipacamvo: i'm not really sure that'll work for things that aren't as privileged as webdm though08:35
Chipacai mean, by the time that runs it's already contained, right?08:35
Chipacaeven the easy fixes involve either regenerating the unit files, or telling people to do so (by de/reinstalling)08:36
mvoChipaca: I think we can run pre-start unconfied08:36
mvore-generating> good point08:36
Chipacaah, that would work08:36
mvoso proper fix sounds like the right plan of attack08:36
Chipacaso 'tis a bit of a mess08:36
Chipacathe only problem is that, because the "right" fix touches so many packages => lots of SRUs08:37
Chipaca(yay)08:37
mvowell, its not *too* terrible, we could also just create /tmp/snappy/snapname in your branch08:37
mvoI think we actually have to :/08:38
mvobecause we would have to re-generate unit files/exec files otherwise that already set TMPDIR08:38
Chipacahah, inside the private tmp?08:38
mvoyeah08:38
mvothen its just one SRU (for now) and the other can follow as needed08:38
Chipacamvo: also the apparmor profiles08:38
mvowell, we still want apparmor of course08:38
mvoto unblock the /tmp hardcorers^Whardcoders08:39
Chipacaso that's the three packages08:39
Chipacaoh, we'd avoid snappy08:39
mvoChipaca: so plan of attack: add even more private /tmp/snaps/foo to private /tmp08:39
mvodo new image with that and all TMPDIR honoring people are good08:39
mvothen do apparmor to help the hardcoders08:40
mvosensible? or am I missing something and need more tea?08:40
ChipacaTEMPDIR is not set for systemd08:40
Chipacaonly TMPDIR08:40
Chipacaprobably a bug in and of itself08:41
mvoaha, meh, ok. indeed08:41
Chipacahmmmmm08:41
mvoI'm in favor of landing the launcher with the dir creation right away and then tackle the rest, that should already be a huge win08:41
Chipacaso, we'd look at TEMPDIR and create it, from the unprivileged section of the launcher08:41
mvoyep08:42
Chipacaland that, and TEMPDIR people are good, as you say08:42
ChipacaTMPDIR*08:42
mvounless you have a different opinion, you looked into this way deeper than I did, I may miss something here08:42
Chipacawell, we need to look at either TMPDIR or SNAP_somethingsomehting08:42
* mvo nods08:42
Chipacai'd say TMPDIR08:43
mvowe just create all of them :) hopefully its just one08:43
Chipacaso we can nuke the SNAP_TEMPDIR or whatever later on08:43
mvoaha, good point08:43
mvoyeah, lets do that and just use TMPDIR08:43
mvoit will be set to SNAP_TEMPDIR anyway IIRC08:43
Chipacayes08:43
Chipacaand TEMPDIR is set to TMPDIR also, when it's set08:43
Chipacamvo: if we land https://code.launchpad.net/~chipaca/ubuntu-core-launcher/unshare/+merge/258367 does anything break automatically?08:44
Chipacai mean, is that put onto images directly?08:44
mvoChipaca: if we upoad it to the PPA it can land directly, or we do the full SRU dance which will take longer08:51
Chipacamvo: i asked because we don't want it to land automatically until we do the "create /tmp/snaps" thing08:51
Chipacamvo: which i'd rather was a follow-up branch08:51
Chipacathis one is already starting to mature08:51
mvoChipaca: ok, we can simply wait with the top-approve08:51
Chipacagood point08:52
Chipacai've got a recursive mkdir in bzr history, will fish it out and propose the mp in a bit08:52
mvo\o/08:52
=== kickinz1|afk is now known as kickinz1
Chipacai lied, i have _half_ a recursive mkdir of the sort we want09:10
Chipacaanyway, doing it09:10
Chipacamvo: like so: https://code.launchpad.net/~chipaca/ubuntu-core-launcher/mktmpdir/+merge/25990809:39
mvoChipaca: yeah09:43
=== retrack is now known as Guest87705
mvoChipaca: I reviewed/merged/uploaded now, once that hits the PPA I will create a test image to verify that it all works10:42
mvoworks for real10:42
Chipaca+110:42
* mvo gets lunch while waiting for the image10:44
* Chipaca -> coffee10:44
mvoChipaca: hm, do you happen to have the bugnumber for the tmp issue ? if not I can try to find it11:02
Chipacamvo: i don't11:02
* mvo will find it11:03
Chipacamvo: there is one?11:03
mvoChipaca: *cough* now there is https://bugs.launchpad.net/snappy/+bug/145783911:04
ubottuUbuntu bug 1457839 in Snappy "TMPDIR not availalble for snappy services" [Undecided,New]11:04
Chipacamvo: \o/11:04
Chipacamvo: cmp-test needing a commit message11:15
* Chipaca curses at dirs.go11:33
=== soee_ is now known as soee
* Chipaca is stuck11:50
* Chipaca stops for lunch11:50
Chipacamvo: you around?12:13
mvoChipaca: yes12:15
Chipacamvo: hiya. have you an opinion around the “Part” interface? AIUI the name wasn't well-loved12:15
mvoChipaca: no strong opinion either way, I don't mind the name but if there is a suggestion for a better one I'm all ears :)12:16
Chipacamvo: well, it's moving to its own package12:17
Chipacaor to the "pkg" pacakge12:17
mvoaha12:17
Chipacaand am wondering whether to leave it as pkg.Part, pkg.Interface, or something else12:17
mvoboth is fine with me12:18
mvomaybe interface is indeed cleaner12:18
sergiusensmorning12:18
Chipacamo'in!12:18
sergiusensmvo: did you get to the bttom of this? "[   18.214558] FAT-fs (mmcblk0p1): IO charset iso8859-1 not found12:19
sergiusensChipaca: are we making the interface smaller?12:19
mvosergiusens: no, not yet :/12:19
Chipacasergiusens: the Part interface?12:19
sergiusensmvo: I'm seeing it myself now too, after upgrading12:19
Chipacasergiusens: wasn't in my plans, no12:20
sergiusensChipaca: yeah12:20
Chipacatrying to focus on making snappy/* smaller12:20
mvosergiusens: oh, nice. and you fall into a recovery shell?12:20
sergiusensChipaca: just move first is all?12:20
Chipacai get distracted too easily as it is :)12:20
Chipacasergiusens: yeah12:20
sergiusensChipaca: should I hold off on moving frameworks to /frameworks?12:20
Chipacasergiusens: but if you think we should split it, that might make naming it easier12:20
Chipacasergiusens: how would you split it?12:20
sergiusensChipaca: let me check the interface12:20
Chipacasergiusens: having tried again to split click/snappy out and failed (too big a branch), i'm working backwards and moving the interfaces out. that is, repository and part12:21
Chipacai can just move them without renaming them too :) but where's the fun in that12:23
sergiusensChipaca: heh, I can't think of any better way12:27
sergiusensChipaca: except the minor thing of calling Uninstall Remove to match the leangua franca12:27
Chipacasergiusens: heh12:27
sergiusensChipaca: I would move out Frameworks though as only apps depend on frameworks12:27
sergiusensso it's too specific12:28
Chipacaok, so i'll do snappy.Part  -> pkg.Part, and snappy.Repository -> repo.Repository12:28
sergiusensChipaca: and I'd rename SetActive to Activate (used for rollback/kick and switch)12:28
Chipacalet's see how that goes12:28
Chipacaeasier to rename after move anyways12:29
Chipacasergiusens: ack12:29
sergiusensChipaca: how about s/Part/Package/ ?12:29
Chipacasergiusens: and then it'd be pkg.Package ?12:29
sergiusensChipaca: pkg.Interface ? :-P12:29
Chipacamhmm12:29
Chipacathat was my original question, more or less :)12:30
sergiusensChipaca: then pkg.Snap12:30
Chipacaon the other hand, pkg.Package would make the docs fun to write12:30
Chipacasergiusens: there's already *two* other things we're calling snap12:30
sergiusensChipaca: bummer12:30
sergiusensChipaca: maybe pkg is the wrong name as well ;-)12:30
Chipacafo sure12:31
Chipacai chose it myself; it's got a p=.78 of being wrong12:31
sergiusensChipaca: and maybe we need to remove other things from snappy and keep this stuff in there12:31
Chipacasergiusens: yeah, i'm reating this and that as symmetrical12:31
Chipacaie moving things out of snappy as the same as moving the complement out12:31
Chipacaat some point12:32
Chipacamaybe12:32
sergiusensChipaca: I'd remove the complement out and use snappy.[Part|Package]12:32
sergiusensChipaca: and complicate your life with the go pkg names you need to come up with :-P12:32
Chipacasergiusens: at some point, webdm would be talking to a thing that just knew about interfaces (Part, Repository) and the toplevel install/remove/etc methods12:33
sergiusensChipaca: even less; the restful api12:33
Chipacaand the nitty gritty would be tucked under pkg/ (or whatever that gets renamed to)12:33
Chipacasergiusens: ok, so the restful api would be built on *12:33
Chipaca:)12:33
sergiusensChipaca: hangout to design?12:33
Chipacathis chumminess is mind-splitting12:34
Chipacasergiusens: https://plus.google.com/hangouts/_/canonical.com/de-sign?authuser=112:34
sergiusensChipaca: http://dave.cheney.net/2015/05/12/introducing-gb https://walledcity.com/supermighty/building-go-projects-with-gb http://getgb.io/12:48
Chipacasergiusens: ta muchly12:48
mvosergiusens: heh :) you keep seeling gb ;)12:50
Chipacamvo: i'm sold already :)12:55
Chipacamvo: but i'd lost that last link12:55
Chipacaturns out, living in the uk, searching for "gb" isn't too helpful12:56
sergiusensmvo: have you read about it yet?12:56
Chipacaand wouldn't you know, "go gb" isn't much helpfuler12:56
sergiusensChipaca: I search for gb cheney ;-)12:56
Chipacaoooh, look at him, with his fancy search terms12:57
mvosergiusens: yes, well, sort of - if I understand it correctly it means our repo grows by the size of our dependencies? or is there a shorthand way, i.e. gb.txt with link-to-repo,revno pairs?12:57
sergiusensmvo: it all goes in there, yeah12:59
sergiusensmvo: advantage is, you bzr branch lp:snappy; cd snappy; gb build13:00
jdstrandChipaca, mvo: fyi, I had filed these before: bug #1449625 and bug #144822513:11
nothalBug #1449625: systemd and bin-path exported variables are not in sync <Snappy:Triaged> <http://launchpad.net/bugs/1449625>13:11
nothalBug #1448225: webdm apparmor denials <Snappy:New> <http://launchpad.net/bugs/1448225>13:11
ubottubug 1449625 in Snappy "systemd and bin-path exported variables are not in sync" [High,Triaged] https://launchpad.net/bugs/144962513:11
ubottubug 1448225 in Snappy "webdm apparmor denials" [Undecided,New] https://launchpad.net/bugs/144822513:11
jdstrandChipaca, mvo: the second is your services don't have a TMPDIR bug13:11
Chipacajdstrand: those rules aren't in the policy yet?13:12
Chipacai missed that13:12
jdstrandso, I discussed this yesterday13:13
Chipacaruh roh13:13
jdstrandI long time ago when setting up TMPDIR, I said that apparmor will only allow the create of the version part of the TMPDIR13:13
jdstrandeverything above it must be created by something else13:13
Chipacaah, ok13:14
Chipacathat's fine13:14
Chipacathat's in the pipeline :)13:14
jdstrandnow, I happened to not agree with having a versioned TMPDIR, but that is beside the point-- that was the decision taken13:14
Chipacajdstrand: the unshare thing does away with the version, does a mkdtemp and uses that13:15
jdstrandyes13:15
Chipacajdstrand: although we're creating the versioned one short-term for compat13:15
Chipacaso we don't have to change everything in stable13:15
Chipacajdstrand: creating it in the unprivileged part of the launcher, that is13:16
Chipacajust before apparmor13:16
Chipaca(so whether it's *actually* unprivileged is arguable; it depends on whether it's called as root or not)13:16
jdstrandfyi, (some of) the discussion of the current implementation happened here: https://bugs.launchpad.net/snappy/+bug/140032013:17
ubottuError: ubuntu bug 1400320 not found13:17
Chipacajdstrand: 404 for me too :)13:17
* jdstrand makes said bug public13:17
mvojdstrand: oh, thanks, I knew there was a open one but I didn't find it :/13:18
jdstrandyeah, it was lumped in with another (that was fixed) and kinda hidden13:18
Chipacaok13:19
Chipacai'm assuming the bind sidesteps overlayfs13:19
jdstrandit does13:19
jdstrandso, what is the relationship being 'rolling' and 'devel', if any?13:20
jdstrandhttps://developer.ubuntu.com/en/snappy/guides/channels/ only discusses 15.04 and rolling13:20
jdstrand$ ubuntu-device-flash query --list-channels --device=generic_amd64 | grep core13:22
jdstrandubuntu-core/devel13:22
jdstrandubuntu-core/devel-proposed13:22
jdstrandubuntu-core/rolling/edge13:22
jdstrandubuntu-core/15.04/stable13:22
jdstrandubuntu-core/15.04/edge13:22
jdstrandubuntu-core/rolling/alpha13:22
jdstrandare devel and devel-proposed just historical and we shouldn't use them?13:22
jdstrandslangasek, mvo: ^13:22
=== vrruiz is now known as rvr
mvojdstrand: I think they are historic, but slangasek will confirm13:25
jdstrandok, yeah, it doesn't have tha edge, alpha, etc bits in there. that makes sense if they are historical13:26
jdstrandmvo: thanks-- I'm trying to put together some docs for the security team for testing and update procedures13:31
sergiusensjdstrand: devel (not what you see in the channel listing) is what may become the name for rolling13:34
jdstrandmvo: fyi, https://wiki.ubuntu.com/SecurityTeam/PublicationNotes#system-image_updates_.28DRAFT.2913:34
jdstrandsergiusens: can you clarify?13:35
jdstrandrolling is not set in stone yet?13:35
ogra_in rolling stone :)13:35
jdstrandhehe13:35
sergiusensjdstrand: I think mark wanted to go with devel instead of rolling and we went with rolling as it was already like that in the store13:36
mvosergiusens: oh? so rolling may get renamed - I knew why I said "maybe" :)13:36
jdstrandhehe13:37
sergiusensjdstrand: btw, did you have a chance to look into my question about $origin?13:37
Chipacawe should rename it to trolling13:38
jdstrandok, so ubuntu-core/devel and ubuntu-core/devel-proposed may leave, then rolling may be changed to ubuntu-core/devel/edge, ubuntu-core/devel/alpha, etc13:38
jdstrandI'll just keep an eye on it and adjust as necessary13:38
sergiusensjdstrand: as in using the layout of "$pkgtype"s/$pkgname/$origin/$version (where package type is framework, app or oem?13:38
sergiusensjdstrand: correct13:38
jdstrandsergiusens: I didn't-- where was this question?13:38
* jdstrand hasn't gotten to his inbox yet)13:38
sergiusensjdstrand: it was over irc, so maybe no inbox to check :)13:39
sergiusensjdstrand: the question in itself is getting the policies to know about $origin to map the paths in the template I guess13:39
jdstrandI was having connection issues yesterday. I don't see it...13:40
jdstrandsergiusens: can you state the whole question?13:40
sergiusensjdstrand: it was two days ago, but no worries13:40
jdstrandsorry, I missed it13:40
jdstrandI think I see it13:41
jdstrandnot the question, but can infer from backscroll13:41
jdstrand(here)13:41
jdstrandso the basic idea is you'd like to split up apps, oem snaps and frameworks13:41
sergiusensjdstrand: I'm going to start storing the origin of packages locally, initially we went with pkgname.origin for everything and slowly close to release we dropped it for frameworks and oem packages13:41
jdstrandok, so there are two parts13:42
sergiusensjdstrand: the splitting is tangential and I guess it doesn't impact apparmor in any way13:42
jdstrandthere is storing stuff in pkgtype13:42
jdstrandand also storing origin in the path13:42
jdstrandthe splitting is not tangential and does affect apparmor13:42
jdstrandwell, it may be tangential13:42
jdstrandbut it does affect apparmor13:42
sergiusensjdstrand: right, there are two problems is what I wanted to say :-)13:43
jdstrandso we'd have to coordinate that change as well13:43
jdstrandthat one is not particularly difficult or contentious13:43
jdstrandwhy are we adding origin back for frameworks? a quality of frameworks is they can't be forked and adding the origin to the path complicates/muddies apparmor policy and makes it difficult for apps depending on the framework to use the right path13:45
sergiusensjdstrand: we don't need it in the path13:45
jdstrandie, /frameworks/docker.sideload vs /frameworks/docker.canonical13:45
sergiusensjdstrand: but it becomes hard to snappy switch the sideloaded version and the store one13:45
jdstrandwhat is owncloud supposed to use?13:45
jdstrandI'm confused. you said before you want "$pkgtype"s/$pkgname/$origin/$version" but just now said "we don't need it in the path"13:46
sergiusensjdstrand: sorry I meant the package name13:47
sergiusensjdstrand: the package name would still be docker, the path to the stored data would be different13:47
jdstrandsure13:47
ogra_hmm13:47
jdstrandbut then owncloud still doesn't know13:48
jdstrand/frameworks/docker/sideload vs /frameworks/docker/canonical13:48
ogra_looking at https://developer.ubuntu.com/en/snappy/guides/config-command/ ... is there no way to do something like: "snappy config ubuntu-core hostname=foo" ?13:48
sergiusensjdstrand: so we need some mechanism like 'current' but for the package path13:48
jdstrandwe could fix owncloud easy enough with a symlink13:48
jdstrandright13:49
jdstrandthen that means that only framework policy is muddied13:49
jdstrandso, the policy itself could have:13:50
jdstrand  /frameworks/docker/*/*/foo r,13:50
jdstrandbut then there is still the issue of the framework policy filenames themselves (which are what reverse depends snaps use)13:51
jdstrandie13:51
sergiusensjdstrand: two *, one for origin and the other for version?13:51
jdstrandls /var/lib/snappy/apparmor/policygroups13:51
jdstranddocker_client13:51
jdstrandowncloud uses caps: [ docker_client ]13:51
jdstrandsergiusens: re '*', yes13:52
jdstrandsergiusens: we have to do that for testing-- ie, if kick inz1 sideloads the docker snap to test, if if has /frameworks/docker/canonical/ the sideload scenario breaks13:53
jdstrandI guess we could do:13:53
jdstrand  /frameworks/docker/{canonical,sideload}/*/foo r,13:53
jdstrandthat would be somewhat better13:53
jdstrandbut you can see what I mean by things being muddied13:53
jdstrandassuming that was acceptable13:54
jdstrandthere is still the filename in /var/lib/snappy/apparmor/policygroups13:54
sergiusensjdstrand: yeah, so the question is which is cleaner, doing this or treating sideloads as coming from the same origin (and if so, we may need to block freely sideloading for frameworks)13:54
jdstrandcurrently it technically isn't a problem because we aren't allowing multiple forks to be installed13:55
jdstrandbut as soon as we have origin in the name, it is super slippery to say why don't we allow forks of frameworks?13:55
jdstrandI don't think we need to block freely sideloading frameworks13:56
jdstrandwe are we protecting the user from his/herself?13:56
sergiusensjdstrand: I see your points; I'll give sideloading some more thought, but it's the only reason I see it usable for frameworks13:56
jdstrands/his/him/13:57
sergiusensjdstrand: that and something pointed out to me about symmetry directory, but that is not relevant :-)13:57
jdstrandsergiusens: so I'm not saying we *cannot* have origin in the path; I'm saying it's complicated13:58
jdstrandand it would need to be very carefully implemented and coordinated13:58
jdstrandbut I've not been able to think of something that is wholly satisfying13:59
jdstrandeg, say we say the path is ok, and we assume that the policy content can be dealt with well enough, then it comes down to the path of the cap14:00
sergiusensjdstrand: sure, but if there is no use for it, I would rather not do it; we need to be able to cleanly update from 15.04 to $next in some way (won't be automatic) and have an upgrader that can translate all the changes that happened during rolling14:00
jdstrandwe could install /var/lib/snappy/apparmor/policygroups/docker.canonical_client14:00
jdstrandand then tooling could be smart to know that 'caps: [docker_client]' actually means /var/lib/snappy/apparmor/policygroups/docker.canonical_client14:01
jdstrandbut, then there is a disparity between what the user declares and sees on disk, and things get more complicated implementation wise14:01
om26eris there a snap for vim ?14:01
ogra_om26er, no14:01
ogra_om26er, i tried to make one once, but the restrictions back then made it rather impossible to use14:02
om26erogra_, is it doable now ?14:02
sergiusensjdstrand: right, I'll table this for now14:02
jdstrandone thing we *cannot* do (based on all conversations up until now) is have apps say: "caps: [docker.canonical_client]"14:03
ogra_we might be closer but i think you would setill need to break out of confinement14:03
sergiusensjdstrand: and see if I can play aroun a bit; and I agree, no docker.canonical_client is a hard req14:03
jdstrandthat would solve almost everything (except sideloading, cause docker.sideload_client...)14:03
sergiusens*, it is a hard req14:03
ogra_om26er, http://people.canonical.com/~ogra/snappy/snaps/ ... (not sure it still works though, thats rather old ... )14:03
jdstrandbut it is ugly, bad dev experience, etc, etc)14:04
ogra_om26er, with that you can only edit files inside the /var/apps/vim.ogra/ dir though14:04
jdstrandsergiusens: ok, that's fine14:04
ogra_(or /var/lib/apps ...)14:04
sergiusensjdstrand: I do have another topic...14:04
jdstrandsergiusens: I'm here to discuss more if you come up with something14:04
sergiusensjdstrand: do you know why we removed the origin from oem snaps?14:04
om26erogra_, aah, heh thats pretty useful :p14:04
ogra_heh14:05
jdstrandsergiusens: otoh, no-- I don't think that came from me. I do remember someone coming to the conclusion that "apps themselves are actually the exception, because they are the only thing that supports forks"14:05
ogra_om26er, i guess you could add ~/bin to your PATH and just dump a vim into /home/ubuntu/bin for the moment14:05
jdstrandsergiusens: maybe something with config? (wild guess)14:06
jdstrandor hw-assign?14:06
jdstrandI can't recall14:06
jdstrandI think I only had one ear listening at the time cause I was working on 'bus-name'14:06
jdstrandom26er: fyi, there is supposed to be a 'comfy' snap at somepoint that will have all these types of tools14:07
ogra_at some point :)14:07
jdstrandyes14:08
sergiusensjdstrand: ok, beuno was the one asking why, I'm fine with no switch/forks for oem snaps as they are special as well14:09
om26erjdstrand, that will be a help!14:09
jdstrandsergiusens: /me nods14:09
jdstrandsergiusens: I just don't remember14:10
sergiusensjdstrand: in the end, only "snappy apps" can be forked14:11
jdstrandyeah14:11
sergiusensand we need to figure out some clean way to sideload14:11
om26erogra_, I'll try that. I am getting started so that eventually I could achieve some type of automation, including home brewed IoT ;)14:12
jdstrandsimplest is to not allow a snap to be sideloaded at the same time as the one with the store14:12
jdstrandthen do a symlink from pkgname -> pkgname.sideload14:12
jdstrandnow, that is simple, but I've not thought it all through of course14:12
jdstrandor maybe the other way14:13
jdstrandyes, the other way is simpler14:13
jdstrandoem and frameworks don't have origin in their name14:13
jdstrandso you sideload, it still doesn't have it in the name, but then you have pkgname.sideload -> pkgname14:13
jdstrandbut then, I don't know what we are trying to solve here14:14
jdstrandso best I not try to suggest an implementation :)14:14
sergiusensjdstrand: I have was to store the origin in the works that does not depend on mangling with the path14:18
sergiusensjdstrand: the only change that would affect apparmor in motion is the move of frameworks to their own dir /frameworks14:18
jdstrandsergiusens: perhaps dropping .sideload into the install directory?14:18
jdstrandor somewhere else that you could check14:19
sergiusensjdstrand: I don't want to mangle the install directory as that is the packagers area14:19
jdstrand/var/lib/snappy/sideloads/docker14:19
jdstrandthat could even be a symlink to /frameworks/docker14:19
jdstrandthese are obviously just otoh14:19
sergiusensjdstrand: jdstrand http://snappy.asac.ws:9001/p/dot.store14:19
jdstrandand yes, I agree not adding to install path14:20
sergiusensom26er: do you still have issues with snappy config?14:31
om26ersergiusens, no? might be someone else.14:33
ogra_sergiusens, you mean me ?14:34
sergiusensogra_: yes14:39
ogra_sergiusens, well, is there any commandline way to use snappy config to set a value for a key ?14:39
ogra_the doc doesnt show any14:40
sergiusensogra_: you need to pipe/redirect in14:40
ogra_bah, really ?14:40
elopioare you sure that I only have to insert the sd card on the beagle and boot to ubuntu?14:40
elopionow I have the serial cable, and it shows me that the board is booting in debian.14:40
sergiusensogra_: or like this https://gist.github.com/sergiusens/8d4d2b99b2e5d87c7a5014:40
ogra_elopio, depends on the board (there are many beaglebones )14:40
ogra_elopio, some require you to hold down the S2 button to boot from SD14:40
elopioogra_: beaglebone black rev C14:40
sergiusenselopio: sometimes you have to press and hold a micro switch (I had to on that model)14:41
ogra_sergiusens, ugh, why did we make it so ugly14:41
sergiusensogra_: I didn't design it ;-)14:41
sergiusensogra_: I do want to improve it and want to talk to mvo about it eventually14:42
* ogra_ would have expected something llike "snappy config <package> key=foo" or "snappy config <package> section:key=foo"14:42
ogra_or some such14:42
sergiusensogra_: that's what set is for, but for other things14:42
sergiusensogra_: everything is a yaml is the mantra14:43
ogra_yeah, thats awful for plain cmdline use14:43
ogra_piping and sed'ing HERE docs around ... omg :)14:43
sergiusensogra_: HERE?14:55
ogra_http://tldp.org/LDP/abs/html/here-docs.html14:56
ogra_(it isnt exactlyy one ... since you use a var there)14:56
sergiusensogra_: you can put that in the oem snap in the config section as well14:58
elopiosergiusens: do you have to press the boot button, and use the 5V power? Pressing the button and inserting the usb cable doesn't light the leds here.14:59
ogra_sergiusens, yeah, i dont care about the snap ... i care about the admin who wants to change a config setting15:03
ogra_the yaml makes all sens inside the snap15:04
ogra_just not as a tool for config adjustments15:04
slangasekjdstrand, mvo_: yes, historical; I can set those up to auto-migrate users to the rolling/edge and rolling/alpha channels but it hasn't been a priority15:19
slangasekjdstrand, mvo_: maybe we should just drop them to avoid confusion, but I'm not sure all the public references to them have gone away yet15:20
jdstrandslangasek: cool, thanks for the confirmation. don't auto-migrate on my account. I'm just trying to document what the security team should use to generate VMs15:20
sergiusenselopio: no 5V, don't do that!15:48
elopiosergiusens: "You should use a 5V external power source, USB power may not work"15:48
elopionot the red cable.15:49
ogra_yeah15:49
ogra_either use the micro USB port or a 5V barrel connector15:49
tbryou can remove the need for the boot button by nuking mlo on the emmc16:00
ogra_does that work eh same on all versions/revisions/bulds of the board ?16:01
ogra_*the ...16:02
tbryes16:02
tbrif you want to go alien on it, just dd if=/dev/null of=$emmc bs=1M count=116:03
tbrmounting the right partition (IIRC it's FAT16 or FAT32) and removing 'mlo' is somehow more elegant, but if someone decided to put mlo on the emmc in one of the other locations checked by ROMBL...16:04
ogra_yeah16:05
tbrI'm going to boot this board. see what it has on the emmc (probably an ancient angst-rom)16:06
ogra_heh, yeah16:06
ogra_elopio it trying to improve the install doc btw16:07
tbranother option is to reconfigure uboot on the emmc, but then you need to be sure it's recent enough16:07
ogra_so if you have hits for him that are generic, they are surely welcome16:07
ogra_yeah, i dont think we are always sure of that16:08
tbrI think nuking mlo is the option where you will at least be reasonably sure you found the right thing and nuked it. the others might be a bit voodoo16:08
ogra_yeah16:09
elopionow it's booting snappy, without pressing any buttons.16:10
elopiomy board is haunted.16:10
ogra_thats the beagle inside :)16:11
elopioUbuntu 15.04 localhost.localdomain ttyO016:11
ogra_nice !16:11
ogra_congrats16:11
elopioshouldn't that say webdm.local ?16:11
ogra_no16:11
ogra_.local is a avahi name ... only usable via the avahi7bonjour protocol16:12
ogra_*avahi/bonjour16:12
tbrmight still be using the emmc uboot though16:12
ogra_then you wouldnt end up in snappy16:12
elopioogra_: what I can't do is to ssh ubuntu@webdm.local, as the guide says.16:13
ogra_the emmc uboot is lacking features16:13
ogra_elopio, right, because your PC resolves avahi16:13
tbrk16:13
ogra_elopio, if you try that from your ubuntu phone which doesnt ship an avahi client it wont work (but ssh ubuntu@IP will work)16:13
ogra_webdm.local is simply something provided by a snap ... not actually something provided by the system itself ... so localhos.localdomain is correct (until you set a hostname) for the system layer16:14
tbrjftr, on this angstrom emmc image it's in /dev/mmcblk0p1 (as seen when booted from emmc!)16:22
kyrofasergiusens, ping16:22
jdstrandsergiusens: hey, I'm looking at https://developer.ubuntu.com/en/snappy/guides/channels/17:36
jdstrandsergiusens: I want to create a kvm image with ubuntu-core/15.04/alpha17:36
jdstrandsergiusens: but I can't get the udf invocation right17:37
jdstrandI thought this would do it from reading: sudo ubuntu-device-flash core --channel=ubuntu-core/15.04/alpha --size=8 --enable-ssh --output=15.04-alpha.img17:37
jdstrandbut it doesn't (says I need a release)17:37
jdstrandso I try other things and it doesn't work17:37
jdstrandI'm on vivid17:37
jdstrandI thought this might:17:38
jdstrandsudo ubuntu-device-flash core --channel=alpha --size=8 --enable-ssh --output=15.04-alpha.img 15.0417:38
jdstrandbut then got:17:38
jdstrandChannel ubuntu-core/15.04/alpha not found on server https://system-image.ubuntu.com17:38
* jdstrand tries other things17:38
jdstrandmaybe I should try edge for now17:39
jdstrandsudo ubuntu-device-flash core --channel=edge --size=8 --enable-ssh --output=15.04-alpha.img 15.04 worked17:40
jdstrandsergiusens: it's weird that I can use --channel=ubuntu-touch/rc-proposed/ubuntu with ubuntu-emulator but not with udf17:43
jdstrandsergiusens: and I appear to be able to use --channel=ubuntu-touch/rc-proposed/ubuntu with udf for touch, but not that style when specifying 'core'17:47
* jdstrand files a bug17:47
jdstrandsergiusens: fyi, https://bugs.launchpad.net/ubuntu/+source/goget-ubuntu-touch/+bug/145800617:53
ubottuUbuntu bug 1458006 in goget-ubuntu-touch (Ubuntu) "inconsistent invocation between touch and core" [Undecided,New]17:53
tgm4883so snappy apps only let me write to two specific directories. Is there any functionality to allow writing to USB drives and/or a way to mount network storage?18:12
tgm4883I would prefer the network storage route18:12
D_Centhi - i'm looking for an avahi server on snappy ubuntu core (on a raspberry pi 2). can anyone tell me how to get that running?18:17
D_Centwell, basically i just need some service which makes the raspberry pi discoverable over the network without knowing its IP18:29
noise][anyone here hacking on GPIO stuff on the beagleboard?18:34
noise][apparently i need device-tree-compiler to setup 1wire support (for a temp sensor)18:35
ash_charlesD_Cent: IIRC, webdm publishes the device name using avahi---that might be a good place to start looking.18:36
elopioD_Cent: http://bazaar.launchpad.net/~snappy-dev/webdm/trunk/files/head:/avahi/18:41
D_Centthank you, ash_charles and elopio!18:43
sergiusensjdstrand: it's because for core we introduced the new concept of channel and for touch and the emulator we are using the system-image concept of a channel19:03

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