/srv/irclogs.ubuntu.com/2012/03/19/#ubuntu-touch.txt

=== MacSlow is now known as MacSlow|lunch
=== MacSlow|lunch is now known as MacSlow
=== dandrader is now known as dandrader|afk
=== dandrader|afk is now known as dandrader
cndbregma, keep going15:10
cndI can hear15:10
cndbut if I drop, I'm afraid the call will drop15:10
dandradercall quality is horrible15:11
cndbregma, same here :(15:11
cndhey!15:12
cndtvoss, I fixed valgrind in precise15:13
cndwould that be picked up automatically?15:13
cndthere were 4 grail merges15:14
cndsure15:14
cndthanks all :)15:14
cndI don't know :(15:15
cndalright, I think that's a wrap15:15
cndthanks for joining :)15:15
bregmacnd, as I mentioned, I think we need to relicense utouch-evemu, utouch-frame, and utouch-grail (or dual license) because they're now linked directly with utouch-geis15:18
bregmashould I get a consult from Canonical legal first?15:18
cndbregma, ok, that's what I couldn't understand on the call :)15:18
cndsend an email to olli15:18
cndI doubt it would be an issue15:18
cndbut I don't know what the process is15:19
bregmawhen it comes to lawyers, everything could be an issue15:19
bregmaI will pass the buck to Olli15:19
SatorisI would imagine that Google would not like to have Chromium become GPL licensed, either.15:20
cndtvoss, will the qa instances pick up the next valgrind I uploaded to precise automatically?15:40
tvosscnd, yeah valgrind is updated on each job execution15:41
cndcool15:42
tvosscnd, I installed a precompiled gtest in a snapshot of the build/test vm's15:43
tvossas soon as everything is back online, we have test results again15:43
tvosscnd, do you know if the evemu-testing framework is able to produce xml output?15:58
bregmatvoss, evemu uses the standard python unit testing framework16:09
tvossbregma, thanks16:09
cndbregma, alright, let's tackle this autofoo stuff16:34
cndhere's my current thinking16:35
cndwe can provide the sources for xorg-gtest in an xorg-gtest aclocal script as $XORG_GTEST_SOURCES16:35
cndit would hold the locations of xorg-gtest-all.cpp and gtest-all.cc16:36
cndwe also define XORG_GTEST_CPPFLAGS, which would hold the -I flags for include locations16:36
cndwe can also define $XORG_GTEST_MAIN_SOURCES as xorg-gtest_main.cpp16:37
cndand lastly XORG_GTEST_LIBS would be the list of libraries needed to link against (libX11)16:37
cndthe users of xorg-gtest would then call the aclocal macro, and all the sources, flags, and libs to their tests16:38
cndoh right... now I remember why that's bad16:38
cndbregma, if you use lots of warning flags, and even worse -Werror, then when you add the gtest sources to your target it will be built with those same flags16:39
bregmawhat's wrong with just providing a .pc file with appropriate --cflag and --libs, plus a special variable for the _main.cpp path?16:39
bregmagtest is a wholly separate concern16:39
cndbregma, xorg-gtest should provide for gtest while gtest is broken, imo16:40
bregmathe libgtest problem can also be solved with a simple .pc file with --cflags and --libs and a special variable for the .cpp path16:41
cndbregma, we can't ship a .pc file that isn't from upstream16:41
bregmathat .pc file could be bundled with xorg-gtest until it makes it upstream16:41
bregmaas long as it has a different name16:41
cndbut the xorg-gtest .pc file won't know where the gtest sources are installed16:41
cndI don't see any option other than providing an aclocal script16:42
bregmareally, it's completely wrong to solve the libgtest problem through the xorg-gtest package, it should be either upstream or in a separate package16:42
bregmaaclocal script, .pc file, it ends up as the same thing16:42
cndaclocal script would be run at package configuration time, while .pc was already run and installed16:43
bregmayes, a strike against .pc files in the first place16:43
cndwhile it's not ideal that gtest is broken, I don't see why we shouldn't provide a macro to find it too16:44
bregmathe aclocal script I have in my proposed utouch-geis branch can be moved into xorg-gtest16:44
cndbregma, I think the sticky point is really the automake inclusion16:45
cndI don't see any way around telling people to copy either an automake file or a series of runes into their Makefile.am16:46
bregmayou have a problem with telling people to include the appriate _CFLAGS variable into their .am files?16:46
cndadding the sources to the test targets directly isn't a good solution16:46
cndit's not the CFLAGS16:46
cndit's the sources16:46
bregmaa single source file with a configurable path16:47
bregmanot unlike any other source file16:47
cndbregma, you want different CPPFLAGS16:47
cndyou want to add -w to the end for external sources16:47
cndof course, that's the only difference you want in the CPPFLAGS16:48
bregmawe are using a third-party library that does not compile cleanly, and we rely on it?16:49
cndit probably does against a specific version of gcc16:49
cndbut not against the one in precise16:50
cndit would be nearly impossible to always compile cleanly against all compilers16:50
cndespecially when you have things like the big gcc 3 to 4 transition where warnings and errors got a lot more strict16:50
cndbregma, the other issue is that the sources may be compiled with more pedantic warnings than what the gtest devs use16:56
cndxorg specifies a lot of extra warnings by default16:56
cndone example is a warning when you shadow a variable in an outer namespace16:57
bregmaI can think of no way for an automake include snippet to resolve the problem, since using separate compile flags for some source requires building a convenience library and that means passing different flags to the convenience library for each target it gets linked to17:04
bregmathe only reliable way is to have some kind of wackey target in the Makefile.am that gets reprocessed by config.status to massage various flags17:04
cndbregma, the closest thing is to use AM_CPPFLAGS and tell the user to use AM_CPPFLAGS too17:04
bregmayes, force then into rigid lock-step, until everything breaks because they used per-target flags in a per-target way as documented, and they can;t figure out why theu get missing symbols in their link17:05
bregmathat sounds kind of fragile17:06
cndit's all a bit fragile17:06
bregmathe least fragile way is to document how to build a gtest library in your project, and have the developers add those three lines where required17:07
cndit sounds like the least fragile solution to me17:07
cndthat may be17:07
=== dandrader is now known as dandrader|lunch
cndbregma, as for your macro, why should we add a --with-gtest flag?17:08
cndwhen would we have gtest, but not want to use it?17:08
bregma--with-gtest=PREFIX sets the prefix where to look for gtest (eg. /usr/local)17:09
bregma--without-gtest will give the default of $(prefix)17:09
cndthat doesn't make sense to me17:10
bregmaI copied that logic from other macro files in /usr/share/aclocal17:10
cndwithout-gtest should mean "compile without gtest"17:10
bregmathe idea is if you specified --with-gtest=/usr/local/ it will pick up your local copy rather than the system-installed copy17:10
cndyeah, but we have two separate variables for that17:11
cndwith-gtest-sources and with-gtest-includes17:11
cndthe sources installed by gtest don't include the headers, so with-gtest alone won't work17:12
cndyou'll always have to provide with-gtest and with-gtest-sources, or with-gtest and with-gtest-includes17:13
bregmaum, perhaps you;re developing under a different OS than I am17:16
cnd?17:16
bregmathere is but a single gtest package available through the archives my system points to, and it installs the headers and sources17:17
cndyes, but not to the same location17:17
cnd/usr/src/gtest/src/*.cc and /usr/include/gtest/*.h17:17
cnd--with-gtest=<prefix> won't work for both17:17
bregmaright, $(prefix) == /usr17:17
bregmaI have no problem with removing the --with-gtest, it's just a convention frequently used by autoconf macros but not all autoconf macros17:18
cndI guess I was tripped up by: gtest_srcpath="$gtest_prefix/gtest/src"17:19
cndit would need to be $gtest_prefix/src/gtest/src17:19
cndbut either way, I don't think it's worthwhile to have it17:19
cndif I was running ./configure --help, I would be very confused17:19
bregmaOK, consider it gone17:20
cndbregma, why don't you use AC_CHECK_FILE for gtest-all.cc?17:20
bregma'cos I forget it existed?17:21
cndok17:21
bregmatest -f is a long-ingrained habit, AC_CHECK_FILE would be better17:21
cndbregma, I'm thinking that the stuff in my proposed aclocal script is fine17:22
cndhttp://cgit.freedesktop.org/~cndougla/xorg-gtest/tree/aclocal/xorg-gtest.m4?h=source17:23
cndis there something that needs to change there?17:23
cndinside _CHECK_GTEST in particular17:24
bregmaother than that it should probably be a separate callable macro that can be pushed upstream, and should probably have optional ACTION-IF-FOUND and ACTION-IF-NOT-FOUND args, I have no criticisms17:29
cndbregma, the _CHECK_GTEST is separate, and can be pushed upstream17:31
cndI'll add ACTION-IF-FOUND to the macro17:31
bregmais _CHECK_GTEST not in the same .m4 file as CHECK_XORG_GTEST?17:35
cndit is, are you saying it should be split into a separate file?17:36
cndI worry that splitting it into a separate file would make it seem like a public macro17:37
cndit's really just an implementation detail for xorg-gtest17:37
=== dandrader|lunch is now known as dandrader
cndbregma, here's what I've got: http://paste.ubuntu.com/891007/18:12
cndis that alright with you?18:12
bregmadid you test that last AS_IF with and withou an ACTON_IF_NOT_FOUND argument?18:16
cndnot yet18:17
cndI will18:17
cndbut I wanted to get your thoughts first18:17
bregmaah, well, it's OK with me from a functional point of view18:18
cndok18:20
cndI don't understand launchpad bug queries18:21
cndthey don't seem to do what you tell them to do18:21
cndI'm finding lots of bugs that aren't found by the two queries I sent out last week18:22
bregmayes, there does seem to be some sort of dark magic involved18:23
=== dandrader is now known as dandrader|afk
=== dandrader|afk is now known as dandrader
dandradercnd, in utouch-grail, I activate an atomic 3-touches Touch subscription and an atomic 3-touches Drag subscription. A 3-fingers drag is performed. What should happen?19:42
cnddandrader, I think you should get both19:42
cndbecause this is atomic handling, i.e. grail v1 handling, you would receive both gestures for the same touches19:43
cndwe really should have named this mode something other than atomic19:43
cndmaybe "compat" mode19:43
dandraderso that rule of having only one accepted gesture at a time doesn't hold, right?19:44
cndit does, in the sense that only gestures for the same touch set are allowed19:44
cndi.e. you can't have a one touch drag and a three touch drag at the same time19:45
dandraderso the rule is that the accepted gestures must take all existing touches19:45
cndyeah19:45
* cnd can't wait to move away from atomic mode...19:46
dandraderfor a given recording made with evemu you're guaranteed to get the exact same number of grail slices independently of the machine where that recording is played? i.e., the update frequency will be the same, etc?20:56
dandradercnd, ^21:01
cnddandrader, should be21:01
cndevemu playback is nondeterministic when it comes to timing though21:01
cndit should be close, but the exact timestamp deltas between events will never be quite the same21:02
cndbregma, I have fixed up the xorg-gtest stuff and confirmed it works with a rejiggered utouch-grail22:07
cndit's mostly left the same as before, only now the macros has ACTION-IF-FOUND etc.22:07
cndand the readme points out that manual automake rules is a valid way of handling things22:08
cnddo you want me to send it out for closer review again22:08
cndor just push it so we can move on to fixing our tests?22:08
bregmacnd, if it works, I think it's been reviewd enough that you can just go ahead and push it22:45
cndok22:52
cndif I were on the release team I would have real ultimate power23:21
cndpackages would quiver in my wake23:22
cndoops, wrong channel :)23:22
cndthough to be clear, that was sarcastic :)23:23
bregmawith power comes responibility23:25
bregmayou couldn't drink during UDS, for example23:25
cndoh man...23:25

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