[06:32] <nooberiffic> So. On a lark I installed Ubuntu Touch on my Nexus 7. Now, though it seems to be working, I can't figure out anything to actually do with it and can't seem to find any manuals. Any advice?
[06:38] <lotuspsychje> ubuntu-touch has an intro howto use it the first time
[07:13] <dholbach> good morning
[07:14] <lotuspsychje> morning
[08:02] <Nirmik_Kale_RnD> eu na?
[08:02] <Nirmik_Kale_RnD> 81,82 ghetlela ahe
[08:02] <Nirmik_Kale_RnD> sorry
[08:02] <Nirmik_Kale_RnD> wrong channel
[09:53] <JamesTait> Good morning all; happy Friday, and happy Underdog Day! :-D
[11:14] <nandersson> Hi, is there some place where I can buy Ubuntu-tablets here in Europe?
[11:15] <nandersson> none on Amazon?
[11:17] <beuno> nandersson, there are none in the market at the moment
[11:17] <nandersson> beuno, ah, a pity :)
[13:31] <mardy> what is the latest stable image? #12?
[14:51] <dobey> mardy: on mako? i think so
[14:59] <mardy> dobey: thanks
[15:32] <jcbjoe> im going to give ubuntu-touch a go again
[15:51] <dobey> jcbjoe: are you using multirom or you just flashing between android and ubuntu as the only system on the phone?
[15:52] <jcbjoe> ubuntu will be the only system on the phone
[15:53] <jcbjoe> ubuntu-touch/ubuntu-rtm/14.09 < -- this command
[15:55] <jcbjoe> i smell coffee
[15:55] <jcbjoe> dobey: the actualy handsets with the finished models won't be out till like 2015 right ?
[15:56] <dobey> jcbjoe: right
[15:56] <jcbjoe> Q1 ?
[15:56] <dobey> http://www.omgubuntu.co.uk/2014/12/bq-ubuntu-phone-launches-in-europe-this-february
[15:57] <jcbjoe> but of course Europe!
[15:58] <jcbjoe> everything is in europe!
[16:00] <jcbjoe> dobey: this is r12 build or if im saying it right .. it feels snappy also scopes looks way diffrent from r10 and r11
[16:02] <dobey> eh?
[16:02] <dobey> oh, the new scope management ui is in rtm now
[16:03] <jcbjoe> the last time i was on ubuntu-touch in the about section it said r10 .. it says r12 now .. it feels very snappy/fast .. the scopes is diffrent and it feels very smooth just the whole thing
[16:03] <dobey> the scopes themselves should be the same
[16:03] <dobey> what changed is the ui for managing which scopes you have favorited and such
[16:04] <jcbjoe> oh yea i can uncheck or check a start next to it
[16:06] <jcbjoe> i got to read up on how to use scopes
[16:07] <mardy> jdstrand: ping
[16:14] <jdstrand> mardy: hey
[16:14] <mardy> jdstrand: hi! I think I'm ready to test the plugin confinement branch, but I need the plugins to actually be confined :-)
[16:15] <mardy> jdstrand: do you know when you'll be able to work on the apparmor side of the issue?
[16:17] <jdstrand> mardy: not today, it will have to be after the holiday, but I can advise you on how to
[16:18] <jdstrand> mardy: create a click that ships it, so that there is a label. don't mind that crt fails, just make sure the click is otherwise setup correctly
[16:18] <mardy> jdstrand: well' I won't have time until after the holidays either, but if you think you'll be busy even after the holidays, then maybe you could send me an email with the infos
[16:18] <jdstrand> mardy: then try running it. look for denials in /var/log/syslog
[16:18] <jdstrand> mardy: then adjust /var/lib/apparmor/profiles/click_your_click_profile
[16:19] <jdstrand> running "sudo apparmor_parser -r /var/lib/apparmor/profiles/click_your_click_profile' after each time you change it
[16:19] <jdstrand> mardy: eventually you'll have a set of rules that we can add to a policy group
[16:20] <jdstrand> (and you can add those to the bug)
[16:20] <mardy> jdstrand: wait... AFAIK, it will have to be s/adjust/create/
[16:20] <jdstrand> I won't be able to spend a ton of time on it, cause I've got a lot of snappy stuff to do, so it would be helpful if you iterated and thought about the rules to make sure they were sane
[16:20] <mardy> jdstrand: or are profiles already created even for account plugins?
[16:21] <jdstrand> mardy: I'm saying just treat it like an app for the moment and you'll see all the denials as you try to use it
[16:23] <mardy> jdstrand: OK, so I should also adjust the test so that we call aa_change_profile on an existing app profile
[16:23] <jdstrand> do you have an example click already?
[16:25] <mardy> jdstrand: reminders-app could be one
[16:25] <jdstrand> let me look at it
[16:25] <mardy> jdstrand: it comes with the evernote plugin
[16:33] <jdstrand> mardy: ok
[16:33] <jdstrand> mardy: this is the reminders manifest:
[16:34] <jdstrand> http://paste.ubuntu.com/9571128/
[16:34] <jdstrand> mardy: notice how "evernote-account-plugin" doesn't specify "apparmor" in its list of hooks?
[16:36] <mardy> jdstrand: yep
[16:37] <mardy> jdstrand: do you think I can add it there?
[16:37] <jdstrand> mardy: I know you can :)
[16:37] <mardy> jdstrand: cool
[16:37] <jdstrand> mardy: just do "apparmor": "evernote-account-plugin.apparmor" (or whatever)
[16:38] <jdstrand> mardy: the question then becomes how much do you want to start with
[16:38] <jdstrand> for the first pass, use:
[16:38] <jdstrand> {
[16:38] <jdstrand>   "template": "unconfined",
[16:38] <jdstrand>   "policy_groups": [],
[16:38] <jdstrand> "policy_version": 1.2
[16:38] <jdstrand> }
[16:39] <mardy> jdstrand: ok
[16:39] <jdstrand> mardy: that will give it the label you are looking for, but should allow everything through
[16:39] <mardy> jdstrand: ah, and another easy :-) question: if aa_change_profile() fails, I guess I should exit the process, right?
[16:40] <mardy> jdstrand: it would fail, if I specify an unexisting profile, right?
[16:41] <jdstrand> mardy: once you are satisfied that is working, you might change the template to "ubuntu-push-helper" since it is more minimal that "ubuntu-sdk" and it might give you a better idea of the denial and what should be in the policy group
[16:42] <jdstrand> aa_change_profile() should fail, yes, but I'm going to point you at tyhicks for that question
[16:42] <jdstrand> tyhicks: can you advise mardy on aa_change_profile() and perhaps if he should use aa_change_onexec() instead?
[16:42] <tyhicks> sure
[16:43] <tyhicks> mardy: correct, those calls will fail if the profile doesn't exist
[16:43] <jdstrand> mardy: (re ubuntu-push-helper-- do note there are explicit denials in there, so be sure to check the policy to make sure it will do what you want
[16:44] <tyhicks> mardy: if you care about detecting that specific condition, -1 will be returned and errno will be set to ENOENT
[16:45] <tyhicks> mardy: re aa_change_profile() vs aa_change_onexec(), I prefer to use aa_change_onexec()
[16:45] <tyhicks> mardy: I like it a little better because you can call it in advance, do other things, and then you don't change into the new profile until the call to exec()
[16:46] <tyhicks> mardy: if you use aa_change_profile(), it should be called exactly before the call to exec()
[16:46] <tyhicks> mardy: otherwise, the profile that you're changing to will need to allow all of the things you do between the aa_change_profile() and the exec() since you've already changed into the new profile
[17:09] <mardy> tyhicks: I have one unconfined process which spawns several child processes via QProcess
[17:09] <mardy> tyhicks: can I call aa_change_onexec() more than once, in that parent process?
[17:12] <mardy> tyhicks: or do I have to call aa_change_onexec() after fork()?
[17:14] <tyhicks> mardy: are they processes or threads?
[17:14] <tyhicks> (I assume processes from the name "QProcess" but I'd like to be sure)
[17:15] <mardy> tyhicks: processes
[17:17] <tyhicks> mardy: you'd probably want to call aa_change_onexec() after fork()
[17:18] <tyhicks> mardy: that way you don't have to worry about your parent process calling into a library that does who-knows-what and may end up spawning a process that's unexpectedly confined
[17:19] <tyhicks> mardy: I'd recommend something like this: fork() -> aa_change_onexec() -> do other process initialization stuff -> exec()
[17:22] <mardy> tyhicks: OK, thanks
[19:08] <dobey> whee splits
[19:26] <Zelenka> Hi :)