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

SatorisThanks to autogarbage, building Grail even without tests requires xorg-gtest.12:43
SatorisWhich is why the packaging is failing.12:43
SatorisThe daily builds run autoreconf.12:44
bregmaSatoris, autoreconf is not the problem, the problem is the way daily builds build only native packages12:54
bregmajust found this: http://reports.qa.ubuntu.com/reports/utouch/utouch-recent-bug-tasks.html12:54
SatorisWell the error message is "configure.ac:39: error: possibly undefined macro: AC_MSG_WARN"12:55
SatorisWhich comes from the xorg-gtest package.12:56
SatorisWhich is not a build-dependency.12:56
SatorisAnd tests are not run during packaging. And could not be, because Grail tests require root.13:07
=== MacSlow is now known as MacSlow|lunch
bregmaI am familiar with the error, it's because the daily builds build a native package, which means from a VCS checkout, which means it needs everything to prepare the final build environment13:18
SatorisWhich is done by running dh_autoreconf.13:19
bregmayes, and the C compiler, and so on13:20
bregmadh_autoreconf is run in the builds used in Ubuntu, but the build source packages, not VCS checkouts13:20
bregmasource packages do not need the developer's infrastructure, they only need the build requirements13:21
SatorisUnless you distro patch the build system in any way.13:21
bregmaunless you're using cmake, in which case the developer's infrastructure is required everywhere13:21
SatorisYes.13:22
bregmano, I distro patch utouch-geis, and I run run dh_autoreconf, and it works just fine13:22
bregmathe way daily builds work is a hack, and sometimes hacks fail13:23
bregmathis is one of those times13:23
bregmarge correct solution would be to have a source package build phase, and have daily builds work the same way distro builds work, otherwise you;re not testing what you ship13:23
bregmas/rge/the/13:23
SatorisOr not have a build system that requires a source package build phase.13:24
SatorisIf your source releases are in any way different from a VCS checkout with the same tag, you have already failed.13:25
SatorisIf this requires checking generated stuff into VCS, you have doubly failed.13:25
bregmaI strongly disagree:  source packages can differ greatly from what's in the upstream VCS and often do13:26
SatorisThey do. I consider this a bug.13:26
bregmathat's why we have completely separate VCS for packaging13:27
SatorisWhich is a symptom of this bug.13:27
bregmathe distro builds require Debian source packages, if we're testing something that is not the same as what goes into a distro build we're completely wasting our time13:27
SatorisThat is not the problem.13:28
bregmayou can have your gentoo or arch linux if you want, but Ubuntu is Debian-based13:28
SatorisRequiring source packages is good.13:28
bregmaand yes, the whole problem stems from the fact that we build something that is not what we ship13:28
SatorisYes.13:29
bregmaseparation of upstream projects from distributions is a good thing13:29
SatorisWhich is caused by autogarbage and its generated script files.13:29
SatorisYes.13:29
SatorisIn 1993 or thereabouts the generated shell script thing made sense because it was the only thing that could work across then-common systems.13:31
bregmathe fact that daily builds do not build what we ship is not a result of the tools used by those builds, but of the architecture of the daily build technology13:31
SatorisNowadays it makes no sense at all. Unless you are glibc or something.13:31
bregmait is the same problem regardless of what tools you use to build your software13:32
SatorisNo, the architecture of the build tools. If we shipped 1:1 what we have in VCS, there would be no difference in the build types.13:32
SatorisBut autofoo makes it impossible.13:33
SatorisI have run a project where releasing software was literally a case of 'bzr tag 0.0; bzr push; rm -rf .bzr .bzrignore; cd ..; tar xaf foo.version foodir".13:35
SatorisI mean 'tar xaf' but you get the point.13:35
SatorisGrr, 'tar caf'.13:36
bregmathat would require using only native packages, which would mean giving up getting our software into Debian, for example13:43
SatorisWhy would it? You would have the actual packages as well as the daily build just like now. The only difference would be that the build steps would be the same for both build types.13:45
bregmathe fact that the daily builds do not build from source packages, and the distro build build only from source packages, means the daily builds do not build what we ship in the distro regardless of a project's use of autotools, cmake, or native perl13:45
bregmabuilding from VCS is a native package ... Debian will not accept native packages, plain and simple13:46
SatorisThat's not what I meant. The debian subdirectory would live in its own branch, just like now.13:46
bregmaah, so the daily build would not build from a source package and we would build and test something different from what we ship13:47
SatorisBut currently for daily builds, you must first run autoreconf or generate the configure script in some other way. This step would go away.13:47
Satorisdebian/rules would be identical for source packages and for daily builds. Currently they are different, which is some of where the pain comes from.13:49
Satoriss/source packages/source release tarballs/13:50
Satorisdandrader: the memory loss comes from doing baseclass *foo = new DerivedClass; delete baseclass;13:52
SatorisArgh, I meant "delete foo".13:52
SatorisApparently I can't type today.13:52
dandraderok13:56
=== MacSlow|lunch is now known as MacSlow
cndSatoris, thanks for the test recordings path fix!14:29
cndthat gets us one step closer to make distcheck working14:30
SatorisI had already fixed it once in a abandoned grail-glue branch.14:31
cndahh14:31
SatorisSo it was quite straightforward.14:31
dandraderdo we need a bug report for something as simple as this: https://code.launchpad.net/~dandrader/utouch-grail/const_kcomptime/+merge/9903114:32
cnddandrader, nah14:32
SatorisA world of no.14:32
dandradergood :)14:33
SatorisWe are not IBM. Thank god.14:33
cnddandrader, I just realized I had remembered the kCompositionTime issue wrong14:35
cndI was thinking you had added it to atomic-recognizer.cpp for some reason14:35
cndI was confused I guess14:35
dandradercnd, working too much :)14:36
cndheh, yeah...14:36
cnddandrader, you'll want to use geis with the fix I proposed last night14:37
cndwhen you test unity14:37
cndthe stack is rather broken without the fix14:37
dandraderabout your email to systems. that was quite true for me. yesterday I was thinking what I could be working on while you were fixing the stack. as I couldn't make any progress on unity without those fixes and you were doing them yourself14:39
dandraderso I started digressing about timeouts14:39
bregmacnd, should we remove v2 from grail builds and v1 from frame builds before RC?  I do not believe they're used, and it would mean utouch-evemu does not need relicensing.14:48
cndbregma, I'd rather relicense evemu14:50
cndremoving those would be a big change14:51
cndand though I can't see why it would affect things14:51
cndwe don't have any more releases after beta 2 before the final release14:51
cndthere's no RC release14:51
bregmaI agree it would be a big change, it would be the right thing to do technically, but the wrong thing to do from a procedural point of view at this point in the release cycle14:53
bregmaso, I'll just relicense evemu14:53
cndbregma, my thoughts were to leave the old stuff for a cycle so we can pull them out and see how they worked previously14:55
cndbut I've never done it because it would require having an oneiric or early machine available14:55
cndwhich I don't have :(14:55
tvossworking on trackpad-recognizer, reorganizing jobs on jenkins15:14
dandraderworking on "[Systems-team] Grail fixes". Right now looking at the "1. AtomicRecognizer::FindGestureToAccept()" issue15:16
bregmareviewing merges :)15:16
bregma%}15:17
cndworking on touch state accounting in grail15:18
cndto try to fix remaining unity gestures issues15:18
cndSatoris, stand-ups :)15:18
bregmaalso, grooming the utouch sources to convert to LGPLv3, which is critical before 12.04 release (do mot mess with lawyers)15:19
SatorisBugs.15:19
dandradercnd, about the AtomicRecognizer::FindGestureToAccept() issue. Is it possible to happen? I.e. can a touch have a start time timestamp greater than the timestamp of the event that is being processed?15:29
SatorisIf they are using different clocks, yes. But I don't think that's very common. :)15:32
dandraderbut if they are using different clocks I suppose their timestamps are not comparable15:36
SatorisThat was more theoretical imagining.15:36
cnddandrader, it's possible15:55
cndI assume you saw it, and that's why you had the check for delta_time > 015:55
cnddandrader, the issue lies in how the X server generates ownership events15:55
cndoften you will see a touch ownership event that has a timestamp 1 ms earlier than the touch begin15:56
dandraderhmm, ok15:58
=== dandrader is now known as dandrader|lunch
cnddandrader, so that begs the question, why did you add the check for delta_time > 0?15:59
cndI don't remember that being part of the original recognizer code, but maybe I'm mistaken15:59
cndargh, there's a bug in X synaptics that fires tap actions after multitouch taps16:50
cndwhich is why the dash sometimes flashes when you do a four touch tap instead of staying visible16:51
=== dandrader|lunch is now known as dandrader
dandradercnd, back to the delta_time question: it was part of the original code. I just created a variable to hold that value instead of doing the computation directly inside the if() expression17:12
dandraderat least that's what I recall17:12
cndahh17:12
cndthen I probably saw it :)17:12
cndway back17:12
dandraderthen if it comes again what will happen is a premature acceptance of a gesture17:13
dandraderwhich is a rather mild effect17:13
cndyeah17:13
dandraderbregma, can I merge this small documentation addition? https://code.launchpad.net/~dandrader/utouch-geis/doc_filter_ownership/+merge/9891317:21
cndI think I found the fix for the X synaptics tapping bug17:22
cnd\o/17:27
cndtap to show the dash works perfectly now :)17:28
dandradergreat!17:31
cndthough I'm using my grail branch with reworked touch accounting17:32
cndjust fyi17:32
bregmadandrafer, I wanter to verify it's true first, as opposed to just seems to be true17:34
bregmahey folks, I have to run and see someone about some livestock, back in a bit17:41
cndlivestock...17:42
cndthat's very vague... what type of livestock?17:42
cndbuffaloes?17:42
cndyaks?17:42
cndemus?17:42
* cnd tries to envision bregma the farmer17:43
dandrader:)17:47
cndok, synaptics is dealt with18:24
cndnow back to grail/unity18:24
cndnext on my list: drag to show/hide the dock18:24
dandraderyou mean, the launcher18:27
dandradercnd,  In order to test the "1. AtomicRecognizer::FindGestureToAccept()" issue I believe would have to mock utouch-frame so that I can send a synthesized event containing a touch that has a start time bigger than the event time itself. Do you think it's worth the effort?18:28
cnddandrader, yeah, the launcher :), no, a test for that issue would be too time consuming for little benefit18:28
cndI'm not even sure I can reproduce the issue18:29
dandraderwhere can I find the documentation of XInput2.h API (or is it all in the header itself)?18:29
cndit's just a bug I saw and it should be corrected18:29
cnddandrader, there are two pieces to XInput: the protocol specification, and the libXi library implementation18:30
cndlibXi is only documented through man pages and header files18:30
cndthe protocol is documented in /usr/share/doc/x11-proto-input/XI2proto.{html,txt.gz}18:31
cndif your question is about behavior, then the proto docs are what you need18:32
dandradercool18:32
cndif the question is about function names and args and such18:32
cndthen you want the libxi man pages18:32
cndof which some are missing, like XIGrabTouchBegin :(18:32
cnddandrader, so the launcher hiding does not seem to be a utouch issue18:44
cnddata is coming through just fine18:44
dandradercnd, would you mind trying my branch?18:45
dandraderof unity18:46
cnddandrader, oh, right18:46
cndyes!18:46
cndwhere is it?18:46
* dandrader searches for it18:46
dandradercnd,  lp:~dandrader/unity/geisv2/18:46
cnddandrader, what about the geisv1 branch?18:47
cndI'm interested to see if my grail changes + your geis v1 branch make things work18:47
dandradercnd, lp:~dandrader/unity/lp94061218:48
dandraderthat has the fix for the 3-touches window drag18:48
cndok, I'll try that first18:48
cndI really want to get the unity gestures as they are today working18:48
cndwe're getting very close to release...18:48
cnddandrader, I'm getting:18:54
cnd/home/cndougla/Canonical/x/ubuntu/unity/lp940612/plugins/unityshell/src/DebugDBusInterface.cpp: In function ‘void unity::debug::ResetLogging()’:18:54
cnd/home/cndougla/Canonical/x/ubuntu/unity/lp940612/plugins/unityshell/src/DebugDBusInterface.cpp:251:3: error: ‘reset_logging’ is not a member of ‘nux::logging’18:54
cndfrom lp94061218:54
cndany ideas?18:54
cndmaybe my nux is out of date/18:54
cnd?18:54
dandradercnd, that's very likely the case18:55
dandradersometimes you need trunk version of compiz-core as well18:55
cndugh...18:55
=== gustavold1 is now known as gustavold
dandraderone option would be to apt-get source unity and applying that patch on top.18:56
cndlooks like I can install nux from precise-proposed18:57
cndok, got it built19:09
cndargh, it just crashes...19:10
cndI'll do a dist upgrade19:10
cndmaybe there's some abi change that hasn't been taken care of19:11
bregmaI'm back, and a few hundred dollars poorer19:22
cndbregma, what did you buy?19:34
cndwe've been waiting on pins and needles :)19:34
cnddandrader, finally got unity running again19:34
dandraderso... does it work?19:35
cnddandrader, dash still works :)19:36
cndbut nothing three fingers works...19:36
cndand 4 finger drag still doesn't work19:36
=== dandrader is now known as dandrader|afk
cndI'm going to get some lunch, and then do some more unity debugging19:40
=== dandrader|afk is now known as dandrader
cnddandrader, looks like the focus coords aren't right20:24
cndand that's why three touch stuff isn't working for me20:24
cnddigging deeper...20:24
dandraderfunny that it only happens with geisv1 api...20:25
cnddandrader, oh!20:25
cndthen it's likely a simple bug in geis20:25
dandraderI told you the refactored unity that used geisv2 works fine20:25
dandraders/used/uses20:25
cndyeah, but I didn't know exactly what part was broken20:26
cndif it's just focus coord position, that's likely a trivial bug20:26
cndhopefully :)20:26
dandraderfingers crossed :)20:27
* cnd goes to build a debug version of geis20:28
cnddandrader, btw, the unity changes you have only work for indirect devices20:28
cndwe have to check all the touch locations for direct devices20:29
dandraderit will work but won't be as precise/strict as checking all touches20:31
cndyes, but we need it to be strict20:31
dandraderyes, it's better20:32
dandraderI'll do that after I'm finished with those small bugs from your e-mail20:34
cndhah, it's a really simple bug in unit20:37
cndunity20:37
cndresult->focus_x = attr.integer_val;20:37
cndthe attr is a float20:37
cndso it needs to be:20:37
cndresult->focus_x = attr.float_val;20:37
cndyay, it works20:41
cndsorta20:41
cndI'm guessing the pointer is warped around20:41
cndso it feels very different20:41
cndI think it's always been that way20:41
cndI don't know how easily we can reproduce what the X server does for pointer motion20:42
cnddandrader, do you want to fold that float value fix into your branch?21:07
dandraderwhat fix?21:08
cndresult->focus_x = attr.integer_val;21:09
cndneeds to be:21:09
cndresult->focus_x = attr.float_val;21:09
cnddandrader, ^^21:10
cndin GeisAdapter.cpp21:10
dandraderah, cool21:12
dandraderyes, I will add that fix to my branches. thanks21:15
dandradercnd, btw, do you have that fix anywhere I could cherrypick?21:16
cndone sec21:16
cndI can paste a patch21:16
cnddandrader, http://paste.ubuntu.com/896995/21:17
dandraderand the header accordingly. yes, it's pretty straight forward21:19
cnddandrader, the commit header?21:20
cndI haven't committed it :)21:20
cndit's just lying around in my tree21:20
dandraderno, I just meant that GeisAdapter.h has to be changed accordingly21:21
cnddoes it?21:21
cndoh right21:21
cndyeah21:21
cndI didn't think about it21:21
cndgood call :)21:21
* cnd is feeling very productive today21:22
cndbregma, did you find a sane way to make the daily builds work?21:22
cndI feel like tackling them21:22
dandradercnd, but that's not the cause of the bug since my geisv2 branch also has this mistake21:23
cnddandrader, you probably are seeing bugs due to the other issues in the email I sent and the touch accounting issue21:24
cndwe'll get through them :)21:24
dandraderalright :)21:24
cndit's working fine here21:24
cndbregma, I'm thinking of the following:21:24
cndadd a build dep of libxorg-gtest-dev to the packaging21:25
cndbut add a configure option to disable the testing21:25
cndand use the option when building packages21:25
cndbregma, are you going to release evemu into precise?21:52
cndI just noticed you have released evemu upstream21:52
cndI thought I'd warn you that we're under beta 2 freeze in case you weren't aware21:53

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