/srv/irclogs.ubuntu.com/2014/04/30/#ubuntu-mir.txt

RAOFWOOO! Party at racarr__'s place!00:27
racarr__RAOF: WOOOO. CHROMIUM ALL NIGHT01:25
racarr__haha not really im almost done01:25
racarr__then sometime tonight ill remove all the like // TODO: Lol comments from xmir-input.c and send it yo you on github01:26
racarr__RAOF: I am not sure exactly what we should do with it...01:26
racarr__for the case of a single keyboard and mouse I mean it seems01:26
racarr__really good01:27
racarr__but I guess it breaks everything else01:27
RAOFI'll block some time out to merge it and clean up the rest of xmir.01:30
RAOFIt shouldn't be too hard to do in such a way that it doesn't break everything else :)01:31
=== chihchun_afk is now known as chihchun
dufluAh so many code reviews, so few years in human life05:41
dufluWhere's skynet when you need it?05:41
dufluThat's odd. How does an 84 line test program that's dynamically linked produce an executable of 2269640 bytes?06:33
RAOFTemplate expansion, debugging symbols? :)07:05
dufluRAOF: Yeah I excluded debugging symbols and it's still big. Templates are the prime suspect(s)07:13
dufluHeh. Pick the C++ program from the C programs:07:15
duflu-rwxrwxr-x 1 dan dan     19135 Apr 30 15:02 mirout07:15
duflu-rwxrwxr-x 1 dan dan     18080 Apr 30 15:02 mirping07:15
duflu-rwxrwxr-x 1 dan dan   1630369 Apr 30 15:02 mirscreencast07:15
RAOF:)07:27
RAOFHey, mpt! Up early?07:42
mptRAOF, I usually start at 8am. I was a little late today because the subway workers are striking.07:43
RAOFAh. BST is in effect.07:43
mptIndeed07:45
RAOFI wonder how much https://wiki.ubuntu.com/AccountPrivileges should change, if at all, given that we restrict screenshots and can do funky things with fullscreen windows.07:46
RAOFAlthough I don't particularly want to add anything to what I'm sure is a huge backlog of things requiring thought.07:47
anpokare there other reasons than lack of existance, why the mi::EventFilter interface is used by the nested platform?08:21
anpok- i mean we could now remove that indirection and just pass the events to the mi::InputDispatcher which has more or less the same interface08:22
dufluanpok: The filter is an important interface the server/shells will override. So although it looks unused it probably is used very much in real servers08:29
anpoksure08:31
anpokthats not what I wanted to change08:32
anpokthe event filter interface is just also used in the nested output - while the composite event filter is used by the dispatcher08:32
RAOFI don't think there's any particular reason not to send nested events through the InputDispatcher; I think I'd prefer to send them through the _full_ input stack, with a Nested input driver (if that ends up being reasonable)08:32
anpokso we have nestedoutput -> input_relay : public EventFilter -> InputDispatcher -> ... which calls another EventFilter while dispatching..08:33
anpoki believe we just recycled the interface there because there was no mir style InputDispatcher till now..08:33
anpokduflu: i get different results when I make normal build..08:34
anpok*a08:34
anpoknm - will make a separate MP later..08:34
anpokalready enough gore08:35
dufluanpok: Consider demo-shell. None of the input handling would work at all unless EventFilter is called:08:35
dufluclass WindowManager : public input::EventFilter08:36
anpok.. and again thats not wht I wanted to change08:36
mptRAOF, good question. I’d rather avoid using a full-screen window or a system-modal window for other reasons, even if it isn’t as futile as I thought. :)08:36
dufluOK08:36
dufluCool08:36
anpokjust wanted to get rid of input_relay08:36
RAOFmpt: Fair enough. We'll probably need to treat those windows specially in some ways, right? In particular, focus probably needs to be treated strictly.08:44
* RAOF is sad that we can't make it system-modal. Then we could display it entirely outside the user's desktop; it's a marvellous technical solution! :)08:45
* mpt has flashbacks to Windows NT asking you to type Ctrl Alt Del to ensure your security08:45
RAOFIt's something we could totally do :)08:46
RAOFBut a SAK is mostly overkill.08:47
duflu^ irony anyone?08:47
mptRAOF, sure, maybe we could dial down the probability of focus stealing when that window is up. But to keep perspective, we don’t do that for browser windows on HTTPS pages containing probably-more-important password fields.08:47
RAOF...which will mostly be prefilled by the browser, anyway? :)08:48
RAOFAnyway, EOD for me now. Thanks, chaps!08:48
* duflu waves to RAOF08:50
=== alan_g is now known as alan_g|afk
=== alan_g|afk is now known as alan_g
duflualan_g: Still got plans to unduplicate BasicSurface/Surface ? Or can I assume those classes are more settled now?09:52
alan_gduflu: I was pretty much done with the surface hierarchy and about to look at other aspects of scene & shell when asked to stop moving stuff. I won't be back to that for a few days anyway as I'm dealing with trust session related changes at the moment.09:55
duflualan_g: Well I won't have any related changes ready any time soon either. Just thinking09:56
duflualan_g: Good luck with the trust stuff. Last I heard I think we mostly agreed it had no need to be in Mir at all. Although maybe you've found reasons to the contrary. Actually I don't want to know09:57
* alan_g wishes it were that simple09:57
sil2100kgunn: hello!12:18
sil2100kgunn: the Mir silo was prepared in the morning, we pressed the build button as well, but it seems there are FTBFS ;/12:20
sil2100https://launchpad.net/~ci-train-ppa-service/+archive/landing-007/+packages12:20
sil2100kgunn: could you have someone looking at those?12:20
sil2100kgunn: the Mir FTBFS seems to be rather trivial12:22
alf_sil2100: looking12:34
sil2100alf_: thanks :)12:34
alf_sil2100: do we need to do something to trigger a rebuild or will a push to the used mir branch be enough?12:56
sil2100alf_: push to the used branch and I can fire a rebuild :)12:56
kgunnalf_: sil2100 ...i'm on now...thanks12:57
sil2100alf_: just give me a sign once it's updated12:58
sil2100kgunn: o/12:58
alf_kgunn: do you want me to push to the branch directly or prepare an MP?12:59
alf_kgunn: (I assume the right branch is ~mir-team/mir/trunk-0.1.9)13:00
kgunnalf_: its easiest if you just update to the branch directly13:01
kgunnalf_: i assume you're making a change ? not pulling from a dev-branch rev beyond the tagged rev ?13:02
alf_kgunn: right a change which I am going to forward-port to devel too (with an MP)13:02
kgunnalf_: cool, that will work13:02
sil2100kgunn: will you pick it up from now on? Making sure it builds? :)13:05
kgunnyes sir! sil2100 thanks13:05
sil2100kgunn: thanks! I hope to see it ready for releasing later today :D13:06
kgunnme too!13:08
dandraderanpok, hey. how is it going with the input changes?13:09
dandraderI saw the first patch landed13:09
anpoki am kind of through with cleanups and making the android input dispatcher use the input sender13:12
anpokbut it seems like I broke something in input dispatcher..13:13
anpokI had to add two futher methods to the mir input dispatcher interface - those are triggers needed by the android input dispatcher - an empty stub should do there13:15
alf_kgunn: sil2100: pushed change ~mir-team/mir/trunk-0.1.913:15
sil2100o/ Thanks13:15
kgunnalf_: ta...13:15
=== alan_g is now known as alan_g|tea
=== alan_g|tea is now known as alan_g
=== dandrader is now known as dandrader|afk
=== dandrader|afk is now known as dandrader
=== dandrader is now known as dandrader|lunch
greybackfginther: ping17:09
=== dandrader|lunch is now known as dandrader
fginthergreyback, pong17:44
greybackfginther: hey, could you set up CI and autolanding on a few dev branches for me please? lp:unity-mir/devel lp:platform-api/devel17:46
fginthergreyback, sure, lp:unity-mir/devel is already setup17:48
greybackfginther: oh cool, I'd not noticed17:48
fginthergreyback, let me know if it doesn't appear to be working17:48
greybackfginther: will do17:48
greybackfginther: could you also do lp:qtubuntu/devel  please?17:50
fginthergreyback, yes17:51
greybackfginther: thanks very much!17:52
greybackfginther: I'd like your opinion on something actually. How possible would it be to create a PPA with the devel branches of mir, platform-api, qtubuntu & unity-mir (hmm, might need USC too) which would rebuild everything any time the devel branch changes?17:56
greybackit would be good so that if Mir breaks API/ABI, the dependent projects would notice quickly and fix it17:56
fginthergreyback, it's possible to dput changes to a PPA as part of the autolanding jobs...18:01
fgintherbut are you asking to rebuild every package in the PPA whenever any MP is merged?18:02
greybackfginther: kinda yeah :) Well at least if mir changes, the dependents are rebuilt.18:03
fginthergreyback, so we have a way to do that, but it might be a little clunky for what you're trying to do. We can try to set it up this way and see how well it works18:06
fginthergreyback, the idea is that a mir autolanding job would kick off a rebuild job of every dependent project in a specific list of jobs18:07
greybackfginther: that would do just fine18:07
fgintherand at the end of each job, the PPA would be update18:07
greybackhow do the dependent projects learn if the new mir revision breaks their compilation?18:07
fgintherthat's part of the clunky part :-). The notification mechanism is an email that the job failed18:08
greybackthat would do. It's what mail filters are for :)18:08
fgintherit sorta works because these rebuild jobs should never fail. so if it does, it's a strong indication of an abi breakage18:09
greybacktat's exactly the info we want. This sounds perfect18:09
fgintherok. I'll first work on add the branches you mentioned and setup the build chain as a second step. Do you already have a PPA for this?18:10
greybackfginther: great, thank you. No I've no PPA set up, there is https://launchpad.net/~mir-team/+archive/staging but I can't say if being used (doesn't look like it)18:11
greybackkgunn: can you say^^ ?18:11
slvn_hello,18:25
slvn_I develop a native C application, to run on arm UbuntuPhone os18:26
slvn_I should connect to MIR18:26
slvn_(through SDL backend)18:26
slvn_but it can get access to /tmp/mir_socket18:26
slvn_in other terms,  I try to run "mir_demo_client_eglplasma" from command line (adb shell)18:27
slvn_and it works18:27
slvn_but, If I package this "mir_demo_client_eglplasma" into a click package,18:27
slvn_I get an error : "Can't get connection"18:28
slvn_Any Idea ?18:28
greybackslvn_: are you running it with unity8?18:29
slvn_yes, this is with unity18:30
slvn_818:30
greybackslvn_: does ~/.local/upstart/unity8.log contain any "REJECTED" messages?18:30
kgunngreyback: whats the question ? ....staging ppa is something that can be used for just that "staging"18:31
kgunnso you're welcome to  modify any of the recipes...just put a note in if you do18:31
greybackkgunn: I just saw other bits & pieces in there and was worried it was for staging other things.18:31
kgunnwe were thinking we might use that for keeping the dev branches building and sane (before ci airline)18:31
kgunnyeah...but everything is on-demand i believe18:31
kgunnyou should be ok18:31
greybackkgunn: yes exactly, I'm asking fginther to set up mir/devel, platform-api/devel and others to all build into that staging ppa18:32
kgunnperfect!!!18:32
kgunnthat's where i wanted it to get to18:32
greybackgreat18:32
greybackfginther:  https://launchpad.net/~mir-team/+archive/staging is a good PPA to use18:33
greybackthank you!18:33
slvn_greyback, no "REJECTED" messages in unity8.log but some in  /var/log/syslog :  apparmor="DENIED" operation="connect" parent=11049 profile="com.ubuntu.developer.blabla.myapp2_myapp2_0.912" name="/tmp/mir_socket" pid=11056 comm="mir_demo_client" requested_mask="rw" denied_mask="rw" fsuid=32011 ouid=018:34
fginthergreyback, ack18:35
greybackslvn_: oh interesting, appArmor is blocking18:35
slvn_could I be facing this issue : https://bugs.launchpad.net/ubuntu/+source/mir/+bug/1236912 ?18:35
greybackslvn_: are you specifying the mir socket?18:36
slvn_yes,  export MIR_SOCKET=/tmp/mir_socket18:36
greybackslvn_: I didn't think that was necessary18:37
greybackbut in your click package, that isn't being done, is it?18:38
greybackI expect "$XDG_RUNTIME_DIR/mir_socket" to be the correct socket your application should connect to18:39
slvn_greyback,  It is done in my click package. I call a  "sh" script that set the MIR_SOCKET then run "mir_client_eglplasma".18:39
slvn_i will try18:39
ogra_that wont work i guess18:39
greybackslvn_: yes please remove that MIR_SOCKET definition18:40
ogra_talk to jdstrand on #ubuntu-touch ... i doubt you will be able to access anything in /tmp18:40
greybackit will be set correctly for apps for you18:40
ogra_app confinement wont let you18:40
slvn_wont work18:42
greybackslvn_: to explain the architecture to you. There is actually 2 mir servers running on your phone. One is unity-system-compositor, which is the system compositor (runs as root, manages user sessions, uses /tml/mir_socket). The other is unity8 itself, which is a user session/nested server (runs as the logged in user, uses socket $XDG_RUNTIME_DIR/mir_socket)18:42
greybackthe unity8 mir server connects to /tmp/mir_socket. It then offers $XDG_RUNTIME_DIR/mir_socket for the user's apps to connect to18:43
greybackslvn_: please check the output of unity8.log again. I suspect a REJECTED message is there now18:44
slvn_greyback, ApplicationManager REJECTED connection from app with pid 11371 as no desktop_file_hint specified18:46
greybackslvn_: yep18:46
greybackslvn_: you need to get rid of your shell script, and have the "mir_demo_client_eglplasma" run directly18:47
ogra_that wont still allow access to the socket ... talk to the security team (specifically jdstrand) a confined click app will not be able to access anything on the rootfs by design18:48
greybackogra_: he doesn't want to. He was accidentally specifying the wrong mir server socket18:49
greybackappArmor was doing its job well18:49
ogra_they only have access to /opt/click.ubuntu..com/$appname and the appdir under ~/.cache18:49
ogra_ah, k18:49
slvn_ogra_, greyback,  but maybe I can run the app with the XDG_rUNTIME_DIR/mir_socket ?18:50
kgunnanpok: is the multiple creation of input dispatcher config also blocking this ....(i mean i would guess so, but just in case ) https://code.launchpad.net/~andreas-pokorny/mir/input-sender-split18:50
greybackslvn_: that is not necessary, that value is already set by the click script that launches the binary18:51
greybackslvn_: that unity8.log message tells me the app is connecting to unity8, but unity8 is rejecting it because a shell script is launching the binary18:51
greybackyou need to get rid of that shell script18:52
josharensonkdub, have a minute to discuss inprocessserver?18:53
kdubjosharenson, I haven't gone and refreshed my memory on that class, but I can see what I remember18:53
josharensonkdub, I have this http://pastebin.ubuntu.com/7368197/18:53
josharensonkdub, but same issue as all other menthods I've tried... as soon as the display server stops blocking, glmark2 claims it cannot connect to mir18:54
josharensonkdub I should mention the class that the code is in extends InProcessServer18:54
kdubwhy do mir_connect_sync there?18:55
kdubglmark-es2-mir should be going and connecting at some point18:55
slvn_greyback, Ok. I understand now. I need to remove the a.sh, so that the executable is called with the --desktop_hint_file,  But in the otherside I need to specify the mir_socket to XDG. which is then problem !18:57
josharensonkdub, ah I guess the mir_connect_sync is not needed because run_mir is called from InProcessServer's setup method... but I don't understand when glmark2 is supposed to connect18:57
kdubwell, popen goes and runs the glmark-es2-mir binary, so that's where glmark would connect18:57
greybackslvn_: but you don't need to specify the mir socket, it is done for you by the click scripts18:58
josharensonkdub... thought so, and I've looked at the glmark2-es2-mir code and it seems pretty straightforward.... still can't figure out why my hack solution works, and this doesn't18:58
kdubit might have something to do with that socket negotiation like greyback suggested?18:59
greybackslvn_: and you don't need the desktop_file_hint parameter either actually. Just the binary name should be enough18:59
slvn_greyback, yes, that's true :/19:00
josharensonkdub, ok ill keep looking i guess...19:00
slvn_greyback, I mean it works. I though I did the test previously19:00
kduboh sorry greyback josharenson got my independent convo threads intertwined :)19:01
greybacknp, the joy of IRC :)19:01
kdubjosharenson, we're sure that the socket file is designated correctly on both sides?19:01
greybackjosharenson: if a mir client claims it cannot connect, always check ~/.local/upstart/unity8.log for a "REJECTED" message19:02
josharensonkdub, I think so.. I've tried piping directly to the socket and no luck19:02
greybackjosharenson: unity8 is very strict on what clients it allows to connect.19:02
josharensonnoted19:03
kdubjosharenson, how would you pipe with glmark2-es2-mir's command line options though19:03
slvn_greyback, so this works now I see the eglplasma launch from my click package19:03
greybackslvn_: yay!19:03
slvn_greyback,  but not my problem with my real app :)19:03
josharensonI got the name of the socet file and did popen(glmark2 > /tmp/socket)19:03
slvn_greyback, is that I cannot load the shared libraries !19:04
greybackslvn_: ah, that's weird. Are they shared libraries part of your click package? Do you get appArmour messages relating to it?19:04
josharensonbrb food19:04
ogra_you will have to build static ...19:04
greybackogra_: really?19:05
ogra_yes19:05
greybackeww19:05
ogra_as i said, no rootfs access unless you use QML/Qt bindings19:05
greybackslvn_: there's your answer19:05
ogra_jdstrand probably knows a way around19:05
ogra_not sure there is one though19:05
slvn_ogra_, greyback,  but, if I were using the "sh" script I could have defined the LD_LIBRARY_PATH, and that was working ! (but not the mir_socket)19:06
greybacksurely read-only access to the click package directory wouldn't kill anyone19:06
kdubjosharenson, and is "glmark2-es2-mir > /tmp/socket" a way to designate the connection socket?19:06
ogra_slvn_, right, but your script wants running under confinement i guess ...19:06
ogra_*wasnt19:06
slvn_orga_, but it was rejected by mir (not the "sh" script but the executable, i understand correctly)19:07
greybackslvn_: that surprises me19:08
ogra_well, i dont know all of the mechanics (which is why i keep referring to jdstrand ;) )19:08
greybackslvn_: as an experiment, if you could restore your script, where you call your binary, append "--desktop_file_hint=/path/to/your/desktopfile.desktop" and try it19:09
greybackslvn_: it's a workaround (warning: likely to go away) for unity8 rejecting apps with PIDs it does not expect19:09
slvn_greyback, I tried :) and I got the "syntax help" of mir_client_eglplasma19:09
greybackslvn_: ah, try "-- --desktop_file_hint....."19:10
greybackthat's two dashes, and a space, before the rest of it19:10
slvn_greyback,  I am confused, --desktop_file_hint is not even working on the Exec line.19:17
ogra_that only works with QML19:18
slvn_greyback, Exec=mir_demo_client_eglplasma -- --desktop_file_hint=./myapp2.desktop   >>  it displays the help of the problem19:18
ogra_it is an option qmlscene uses19:18
slvn_ok, it makes sense19:18
greybackslvn_: it's not an option for any binary really, it's actually read by unity8. I just need the binary to ignore it :)19:19
greybackhence the --19:19
slvn_greyback, ok, anyway ...19:21
slvn_greyback, ogra_,  so my next trouble is this LD_LIBRARY_PATH that I cannot set, even to current directory. Who could help me about this ?19:25
ogra_jdstrand ;)19:25
greybackslvn_: jdstrand :)19:25
ogra_but i guess his answer will just be "build statically"19:25
ogra_that you could even run a shellscript is most likely a bug19:26
greybackstatic building is kinda lame, but the more people who complain, the more likely we add support for shared libs19:26
ogra_oyu can indeed ship your own libs inside the click19:27
ogra_and *then* you can use LD_LIBRARY_PATH pointing to it19:27
slvn_orgra_, I can build statically this is true ... I have no real anwser to that,  it's a working solution :)19:28
greybackrpath maybe?19:28
slvn_ogra_, hmmm say it again. I will ship my own libs !19:28
ogra_i pinged jamie in #ubuntu-touch ... see if he drops by here19:31
jdstrandhi19:33
slvn_hi19:34
slvn_I have a little problem :)19:34
slvn_I have build a click package for my ARM (Nexus10) with ubuntu touch19:34
slvn_I want to run a native C++ application using MIR and using shared library19:35
bschaeferslvn_, you can always use mir-staging ppa that includes an SDL2 that has mir enabled19:35
slvn_(Actually the shared library is SDL)19:35
bschaefererr19:35
bschaeferbut theres that opengl problem atm...19:35
slvn_yes, that's also true ...19:36
jdstrandslvn_: have you stated all of the problem?19:36
slvn_jdstrand, yes. basically the only problem is that I would like to use a shared library in my app19:37
bschaeferslvn_, or you can just compile/install sdl2 to the default location...19:37
bschaeferso you don't have to update the LD_LIB path19:37
slvn_and that I can provide the shared library19:37
jdstrandslvn_: ok. the library should be usable by your app if it is included in the ubuntu framework you specify19:38
jdstrandslvn_: (ie, if it is in the framework and not usable, that is a bug)19:39
leitaowhat is the plan for Mir on Ubuntu?19:39
jdstrandslvn_: if it is not part of the framework, you need to ship it in your click package19:39
leitaoI mean, what is the target release to have Mir.19:39
slvn_jdstrand,  the .so lib in my package.19:40
slvn_but not accessible19:40
slvn_unless un do LD_LIBRARY_PATH=.19:40
bschaeferjdstrand, you should be able to use one of the hard coded *.desktop file though?19:40
bschaeferso you're not using a click package...19:40
bschaeferas SDL2 is not in the framework atm19:40
jdstrandslvn_: yes. LD_LIBRARY_PATH is set for you automatically by upstart-app-launch/aa-exec-click to include $pkgdir/lib/$gnutriplet19:40
jdstrandwhere pkgdir is the install directory for that click19:41
jdstrandbschaefer: I don't understand your question wrt *.desktop. I thought we were talking about click19:41
bschaeferjdstrand, well, i was trying to help him out using non-click package. Just editing a simple gallery*.deskop yesterday19:42
slvn_bschaefer :19:42
slvn_I have build a click package with .desktop .json and manifest19:42
jdstrandif it is non-click, then just install the sdl libraries via apt and use them19:42
bschaeferslvn_, unless you want a click app, which is the new in way to package things :)19:43
slvn_and it works when I specify Exec=mir_demo_client_eglplasma19:43
slvn_but when I put Exec=a.out it asks for the SDL2.so libs19:43
slvn_I am in :)19:43
bschaeferslvn_, right, try installing SDL in the default locations19:44
bschaefervs your staging dir19:44
bschaeferso you don't have to do the LD_LIB19:44
jdstrandI'm not sure why that would be unless mir_demo_client_eglplasma was staically linked (yet another option for you)19:44
bschaeferjdstrand, once SDL2 gets added to the framework... things will be easier....19:45
slvn_what do you mean by "staging dir" ?19:45
jdstrandyes19:45
bschaeferslvn_, hmm where do you normally install SDL2?19:45
bschaeferjdstrand, i've to talk to Saviq about how hard that is, or what that means :)19:45
slvn_hmm... I compiled the SDL2 with a chroot armhf19:45
slvn_so no real location..19:46
bschaeferslvn_, and install the *.deb?19:46
bschaeferslvn_, as, where do you point LD_LIB?19:46
bschaeferas you should be attempting to put SDL2 in the default locations of LD_LIB19:46
jdstrandso, if you are distributing as a click, that implies you want others to use it. you will have to statically link or ship the libs in the click for the app to be usable on other systems (since those won't have sdl2)19:46
bschaeferso you don't have to specify it19:46
jdstrandonce sdl2 is part of the framework, you won't have to do that19:46
bschaeferjdstrand, that sounds a loot easier19:47
bschaeferslvn_, as right now the only way to get your SDL app to run is by specify the LD_LIB path right?19:47
slvn_mm, I dont really understand. Maybe I dont understand what is click19:47
jdstrandclick has the concept of fat packages-- ie those that can ship binaries/libraries for multiple architectures19:47
slvn_I want to distribute apps like .apk19:47
jdstrandright, that is click19:48
slvn_ok good :)19:48
jdstrandyou upload click apps to the app store and they are available for ubuntu touch users19:48
jdstrandthe ubuntu-sdk is setup to help you with that19:48
bschaeferi see, yeah im talking about non-click app atm19:48
slvn_bschaefer, currently there was to solution : use Exec=a.sh  and Exec=a.out19:48
* bschaefer has a very limited understand of unity819:48
jdstrandthe problem is that you have ventured outside of the framework, so you have some extra things to do19:49
bschaeferslvn_, i normally stop unity8 and run my own mir server to test SDL apps on arm :)19:49
slvn_bschaefer, yep, but user wont kill unity8 to run my app :)19:49
bschaeferslvn_, haha19:49
bschaeferslvn_, no19:49
slvn_bschaefer,  Exec=a.sh allows me to set th LD_LIBRARY_PATH, but I get reject by MIR (mir_socket pb)19:50
jdstrandslvn_: so, you'll need to decide how to deal with sdl2 for your app while sdl2 isn't in the framework19:50
slvn_Exec=a.out is ok for MIR (as proven by mir_client_Demo_eglplasma) , but I cannot set the LD_LIBRARY_PATH19:50
jdstrandslvn_: warning, using Exec=a.sh isn't going to work under confinement19:50
bschaeferslvn_, right, that makes sense19:51
=== ChickenCutlass_ is now known as ChickenCutlass
bschaeferslvn_, so you'll have to figure out19:51
bschaeferwhere LD_LIB normally looks19:51
bschaeferand ensure SDL2 is there19:51
* bschaefer doesn't know if theres a default LD_LIB path...19:51
jdstrand*or* copy those files in $pkgdir/lib/$gnutriplet in the click package19:51
bschaeferi assume /usr/lib is one of them?19:51
bschaeferthat would be a good way to test19:52
slvn_I dont understand that19:52
jdstrandthen put your binary in $pkgdir/lib/$gnutriplet/bin in the click package19:52
slvn_you mean I should creat a "usr/lib/ directory in my click package ?19:52
jdstrandslvn_: lets say your click is unpacked in /opt/click.ubuntu.com/foo/0.119:53
jdstrandthen LD_LIBRARY_PATH is set to:19:54
jdstrand/opt/click.ubuntu.com/foo/0.1/lib/arm-linux-gnueabihf19:54
jdstrandand PATH is set to:19:54
jdstrandPATH="/opt/click.ubuntu.com/foo/0.1/lib/arm-linux-gnueabihf/bin:$PATH"19:54
jdstrandso, you just put whatever libraries you want in lib/arm-linux-gnueabihf in your click19:55
jdstrandand whatever binaries in lib/arm-linux-gnueabihf/bin19:55
jdstrandeg: you have Exec=fooexec19:56
jdstrandthen you have lib/arm-linux-gnueabihf/bin/fooexec19:56
jdstrandand lib/arm-linux-gnueabihf/somesldlib.so19:56
jdstrandthen when upstart-app-launch goes to launch the app, it finds lib/arm-linux-gnueabihf/bin/fooexec which uses lib/arm-linux-gnueabihf/somesldlib.so19:57
jdstrandyou can see all the different paths that are set by examing aa-exec-click (note, aa-exec-click is not used on unity8, but does everything upstart-app-launch does)19:58
bschaeferslvn_, so the overall idea, is to get the SDL lib placed in the default location that upstart-app-launch is looking in19:59
bschaeferso you dont have to set the LD_LIB path19:59
jdstrandif you wanted to have this also usable on amd64, you would also ship lib/x86_64-linux-gnu/somesdllib.so and lib/x86_64-linux-gnu/bin/fooexec compiled for amd6420:00
jdstrandbschaefer: yes20:00
bschaeferyup20:00
slvn_ok, it makes sense !20:00
jdstrandyour can cheat in the short term by installing the sdl libraries via apt, then just copying them in. note, this probably won't be robust across the release20:00
bschaeferright, but it'll be  a nice way to check you're heading the right direction :)20:01
jdstrandyes20:01
slvn_I try20:01
bschaeferjdstrand, thanks for the explanation!20:01
jdstrandnp20:01
* jdstrand also notes that QML2_IMPORT_PATH is also set to $pkgdir/lib/$gnutriplet, in case you need it20:02
bschaeferthats good to know20:09
slvn_bschaefer, jdstrand, the PATH is correctly set, but the LD_LIBRARY_PATH is empty20:10
bschaeferslvn_, im assuming it doesn't get set globally (only when its being clicked)20:10
slvn_the app "b.out" is found, but same problem of missing lib .so20:10
jdstrand(and as mentioned, you can see all the env vars that are set by looking at /usr/bin/aa-exec-click, which while not used by unity8, sets all the same variables upstart-app-launch does)20:10
bschaeferslvn_, did you do an echo $QML2_IMPORT_PATH20:11
bschaeferand attempt to put the sdl2 lib there?20:11
=== dandrader is now known as dandrader|bbl
bschaeferin the click package it self?20:11
* bschaefer doesn't have a N<n> laying around atm20:11
slvn_QML2_IMPORT_PATH=/usr/lib/arm-linux-gnueabihf/qt5/imports:/opt/click.ubuntu.com/.click/users/@all/com.ubuntu.developer.blabla.myapp2/lib/arm-linux-gnueabihf20:12
bschaeferslvn_, looks like: /opt/click.ubuntu.com/.click/users/@all/com.ubuntu.developer.blabla.myapp2/lib/arm-linux-gnueabihf20:12
bschaeferis where you'll want to take a look at20:12
slvn_./lib/arm-linux-gnueabihf/bin/b.out20:12
slvn_./lib/arm-linux-gnueabihf/libSDL2-2.0.so.020:13
slvn_b.out: error while loading shared libraries: libSDL2-2.0.so.0: cannot open shared object file: No such file or directory20:13
bschaeferslvn_, well, i would have to assume its looking in a different location :)20:13
bschaeferslvn_, hmm , did you look in :/opt/click.ubuntu.com/.click/users20:14
bschaeferfor your app?20:14
jdstrandslvn_: is lib/arm-linux-gnueabihf/libSDL2-2.0.so.0 a symlink or an actual file?20:14
slvn_look strange, because PATH and QML2_IMPORT_PATH are correct20:14
slvn_but LD_LIBRARY_PATH is empty20:14
slvn_(when I do an echo with the sh script)20:14
jdstrandslvn_: how are you launching the shell script?20:14
slvn_could this be a protection of root shell... or something20:15
slvn_Exec=a.sh20:15
jdstrandright, but how are you executing that?20:15
jdstrandvia the app scope? via 'start application APP_ID=...', something else?20:16
slvn_in the click package, I do some "echo" that I get back with the log file20:16
slvn_I build the click package, download it, install it.  click manually on the tablet, and look at the log20:16
bschaeferslvn_, try with out the *.sh?20:17
bschaeferand the bin directly20:17
jdstrandslvn_: what did you set as your template in your security manifest?20:17
jdstrand(ie, if it is running confined, then you can't use a shell script in this manner)20:18
slvn_    "policy_version": 1.1 ?!20:18
jdstrandslvn_: please paste your security manifest20:18
slvn_{     "name": "com.ubuntu.developer.blabla.myapp2",     "description": "this is my app",     "framework": "ubuntu-sdk-14.04-dev1",     "hooks": {         "myapp2": {             "apparmor": "myapp2.json",             "desktop": "myapp2.desktop"         }     },       "maintainer": "",      "title": "My App Slvn",     "version": "0.912" }20:19
* ogra_ returns from dinner 20:19
ogra_jdstrand, heh, yeah i was worndering if he found a bug when i heard the script works20:20
jdstrandslvn_: that is your click manifest. what is the contents of the security manifest?20:20
slvn_Unable to exec 'a' in '/opt/click.ubuntu.com/.click/users/@all/com.ubuntu.developer.blabla.myapp2': No such file or directory20:20
slvn_I have no security manifest :)20:20
ogra_ah20:20
jdstrandslvn_: myapp2.json20:20
jdstrand"apparmor": "myapp2.json"20:20
jdstrandmyapp2.json is the security manifest20:21
slvn_{     "policy_groups": [         "networking"     ],       "policy_version": 1.1  } ~20:21
jdstrandslvn_: right, so the app is running under confinement. what is the output of 'grep DEN /var/log/syslog' (please use http://paste.ubuntu.com)20:22
slvn_I get : b.out: error while loading shared libraries: libSDL2-2.0.so.0: cannot open shared object file: No such file or directory20:25
slvn_in the app log file20:25
slvn_but nothing new in the syslog20:25
jdstrandslvn_: this is not a gui app atm?20:28
jdstrandlike, you are just trying to test to see if it loads the library?20:29
slvn_well, it should be GUI app, but it dont load the lib yet20:29
slvn_in the .desktop20:29
slvn_Terminal=false20:29
slvn_Type=Application20:29
slvn_X-Ubuntu-Touch=true20:29
slvn_X-Ubuntu-Single-Instance=true20:30
slvn_StartupNotify=true20:30
jdstrandslvn_: and there was no output with 'grep DEN /var/log/syslog' on the device?20:30
slvn_no ...  BUT. If I use a "sh" script to start the "b.out" (with LD_LIBRARY_PATH=.) thenr the access to the mir_socket is reject20:32
slvn_nothing appear on syslog when I click on the app20:32
jdstrandslvn_: I'm not sure why LD_LIBRARY_PATH would not be set. you can see that it is here: http://ci.ubuntu.com/smokeng/utopic/touch/mako/5:20140430.1:20140411.3/7821/security/1059670/20:33
slvn_Yes, this is strange :/ I have tried to update to the same security manifest, and swith the framework to 13.10. but same problem.20:40
slvn_no sure if this is relevant, but I installed the Nexus10 image, one week ago20:42
slvn_this is revision (?) #30320:42
slvn_dont know if it make sens20:42
slvn_e20:42
slvn_Sometimes LD_LIBRARY_PATH get removed : http://superuser.com/questions/27376/why-does-my-ld-library-path-get-unset-launching-terminal20:45
slvn_I have already seen this, dont know if it is possible in that case :/20:46
slvn_maybe I dont install the click package correctly ?20:47
slvn_I do :  click install  com....20:47
slvn_but there is also "register",  and --all-user,20:47
jdstrandslvn_: if you are installing on the device, you should use: pkcon install-local /path/to/click20:50
jdstrandslvn_: I am preparing a click package for you to test. give me a minute20:50
slvn_even with pkcon install-local .. same problem20:52
=== slvn__ is now known as slvn_
fginthergreyback, kgunn, is it ok to move the mir/devel branch builds to utopic?21:06
greybackfginther: I think so yes21:07
jdstrandslvn_: I think there is a bug in upstart-app-launch21:08
slvn_ok:)21:08
slvn_no problem, now this identified !21:08
slvn_*is21:08
jdstrandwell, maybe my manifest is not correct21:09
jdstrandtedg: hey, do I need to do anything special to my click manifest to make ual set LD_LIBRARY_PATH?21:09
fginthergreyback, thx21:09
jdstrandhttps://code.launchpad.net/~jdstrand/+junk/test-click-env21:10
jdstrandthere is com.ubuntu.developer.jdstrand.click-env_0.1_all.click in http://bazaar.launchpad.net/~jdstrand/+junk/test-click-env/files21:10
jdstrandinstall that with: pkcon install-local com.ubuntu.developer.jdstrand.click-env_0.1_all.click21:10
kgunnfginther: yes21:10
jdstrandthen run start application APP_ID=com.ubuntu.developer.jdstrand.click-env_click-env_0.1 && sleep 5 && grep LD_LIBRARY_PATH ~/.cache/upstart/application-click-com.ubuntu.developer.jdstrand.click-env_click-env_0.1.log21:10
jdstrandthere is no LD_LIBRARY_PATH set21:11
tedgjdstrand, We're not setting the LD_LIBRARY_PATH21:11
jdstrandoh? why not?21:11
jdstrandI thought we decided to do that? I updated aa-exec-click to do that some time ago21:11
tedgjdstrand, No one asked me to :-)21:11
jdstrandtedg: can you do it?21:12
jdstrand:)21:12
tedgjdstrand, Sure, to package dir /lib21:12
jdstrandtedg: you can look at aa-exec-click for what it is doing, but basically:21:12
jdstrandlibdir="$pkgdir/lib/$gnutriplet"21:12
jdstrandif [ -n "$LD_LIBRARY_PATH" ]; then21:12
jdstrand  export LD_LIBRARY_PATH="$libdir:$LD_LIBRARY_PATH"21:13
jdstrandelse21:13
jdstrandexport LD_LIBRARY_PATH="$libdir"21:13
jdstrandfi21:13
jdstrandslvn_: so, there you go21:13
jdstrandtedg: do you need a bug?21:13
slvn_jdstrand, yep, thanks, so i dont need to try your click package21:14
tedgjdstrand, Uhm, no I'll do it right now.21:15
jdstrandtedg: thanks21:15
jdstrandtedg: note that aa-exec-click does this:21:15
jdstrandlibdir="$pkgdir/lib/$gnutriplet"21:15
jdstrandexport PATH="$libdir/bin:$PATH"21:15
jdstrand...21:16
jdstrandexport LD_LIBRARY_PATH="$libdir:$LD_LIBRARY_PATH"21:16
jdstrandtedg: so you have things like lib/arm-linux-gnueabihf/foo.so and lib/arm-linux-gnueabihf/bin/fooexec21:16
jdstrandtedg: I thought that looked slightly odd, but pretty sure that was what was decided on the list21:17
tedgjdstrand, Yeah, I think we're already doing that with the path21:17
jdstrandtedg: yes, we are. I think you missed what I was saying21:17
tedgNot sure why it's not "bin/triplet"21:17
jdstrandtedg: ie, the .so file and the bin/ are at the same livel21:18
jdstrandlevel21:18
jdstrandyeah21:18
jdstrandyeah, me either21:18
jdstrandI don't particularly care what it is, but if we change it, it might break things. nothing uses aa-exec-click that I know of other than test scripts, so if you would prefer to change things, just let me know21:19
tedgI don't care that much.21:19
tedgAre you going to the SDK sprint?21:19
jdstrandweek 1?21:20
tedgAs long as we align with the Qt Creator folks I don't think it matters too much.21:20
tedgYeah21:20
jdstrandI'll be there thu and fri21:20
tedgSee how loudly they're complaining :-)21:20
jdstrandtedg: you are already setting QML2_IMPORT_PATH correctly by appending. LD_LIBRARY_PATH would be the same except prepending21:21
jdstrandok, I've gotta go21:21
jdstrandtedg: thanks for taking care of that! :)21:21
slvn_thanks jdstrand for you help !21:22
jdstrandsure thing21:22
slvn_thanks also ogra_, greyback, and bshaefer21:23
ogra_:)21:23
slvn_tedg, hi, just wondering how it works for this kind of modification ?21:24
greybackwelcome, hope it gets sorted out21:24
slvn_tedg, when does it get released ?21:24
slvn_greyback, yep, hope, then I will have to see with bschaefer why the sdl dont print anything on mir :)21:25
greyback:)21:25
tedgslvn_, Uhm, not sure. I can put it up for review but I don't have much control after that.21:25
tedgProbably not this week considering May day.21:25
slvn_tedg, no problem, I just ask because I am not familiar with the process. like, is there a ticket/report, and any *weekly* releaes or so21:26
slvn_I installed Ubuntutouch on my Nexus10 using : ubuntu-device-flash --channel=devel --bootstrap21:27
ogra_slvn_, it needs to go through several steps ... first it needs to get merged into the trunk branch, then the landing team assigns a build area for it where a deb gets produced, that deb goes to QA testing, once it passed that it goesd to the ubuntu archive and will then be picked up by the next phone image build21:36
slvn_ogra_, but how long to see it in "channel=devel" ? 1week, 1month, 1year?21:37
ogra_usually there is a bugreport accompaying it or a merge proposal at least that you can watch ... since tedg said above already he wont need a bug for it he might be able to give you the link to the MP so you can watch that21:37
ogra_really depends... such small changes usually only take a day (we only build two new images in max per day)21:38
ogra_but the landing and QA teams are mostly employees ... and there is may day in many parts of the world21:39
ogra_which means many people wont work tomorrow21:39
ogra_(or on the weekend)21:39
slvn_ok great, so very fast, cool21:42
ogra_lol21:43
ogra_before we had that setup it would have been in the archive in 20min21:44
tedgslvn_, MR is here: https://code.launchpad.net/~ted/upstart-app-launch/ld-library-path/+merge/21783221:45
slvn_but without review and smoke test21:45
ogra_yeah21:45
tedgI'd be surprised if it took less that 2 weeks.21:45
tedgthan21:46
ogra_tedg, heh21:46
ogra_pessimist21:46
slvn_2weeks, would be fine anyway :)21:46
tedgThere are UAL MRs that are over a month old already.21:46
ogra_approved ones ?21:46
tedgYes21:46
ogra_wow21:47
tedgogra_, https://code.launchpad.net/ubuntu-menu-bar/+activereviews21:48
ogra_then whoever is the lander for your team should do his job better21:48
ogra_or you should have more landers in your team21:48
slvn_thanks again ! and see you. I go to sleep21:52
=== chihchun is now known as chihchun_afk
racarr__lol forgot that I deleted x-input-evdev last week22:23
racarr__treated to quite a surprise22:24
racarr__on rebooting22:24
=== dandrader|bbl is now known as dandrader
* RAOF giggles at racarr__ 23:30
anpokkgunn: yes..23:40
kgunngood grief...do you sleep :)23:43
* kdub has wondered about that too :P23:44
anpoki had a few friends visiting23:50
anpokthey just left..23:50
anpokso it is not my fault!23:50

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