[01:40] <bregma> utouch-geis 2.2.7 just released and uploaded for beta2
[01:48] <bregma> wft -- libxorg-gtest-dev is not in main???
[01:52] <cnd> bregma, no, it's not
[01:52] <cnd> libgtest-dev isn't in main either
[01:52] <cnd> yet
[01:52] <cnd> bregma, doesn't utouch-geis configure and compile and make check properly without xorg-gtest?
[01:53] <cnd> or did you add it as a build dependency?
[01:53] <cnd> which you shouldn't do because you won't be able to instantiate uinput devices in the buildds
[01:53] <cnd> or even if you could, I think we shouldn't
[02:00] <bregma> the m4 macro is needed for autoconf to succeed
[02:01] <bregma> the actual library is never used
[02:03] <cnd> bregma, did you add the -I m4 --install automake option?
[02:03] <cnd> that will copy the macro into the m4 directory
[02:03] <bregma> best packaging practices are that if you use the autotools, you should use the dh-autoreconf package to update the configury to the latest versions (config.guess, config.sub, ltmain, libtool, etc)
[02:03] <cnd> so when you run make dist
[02:04] <cnd> it will include the script in the tarball
[02:04] <bregma> without the --install in Makefile.am, you do not need the xorg-gtest build dependency, but because autoreconf pulls in the m4 file with that argument, builds will fail
[02:04] <cnd> bregma, it won't delete scripts that were copied in there
[02:05] <cnd> the tarball has xorg-gtest.m4
[02:05] <cnd> you run autoreconf
[02:05] <cnd> it leaves the m4/xorg-gtest.m4 because there's no /usr/share/aclocal/xorg-gtest.m4
[02:07] <cnd> bregma, we shouldn't be running autoreconf in debian/rules unless it's a daily build anyway, but that's a separate issue
[02:11] <bregma> so all your daily builds are failing because they're don't build from tarballs
[02:12] <cnd> I think I know where the issue lies there
[02:12] <cnd> I need to double check though
[02:12] <cnd> but my first priority right now is getting things in the archive
[02:12] <cnd> before the freeze
[02:13] <bregma> as to not following best packaging practices (using dh-autoreconf), I'll stick to what will get utouch into Debian
[02:13] <bregma> they;re way pickier about these things
[02:13] <cnd> they actually run autoreconf for every autotools package?
[02:13] <cnd> why do you need --with-autoreconf if that's the case?
[02:14] <cnd> wouldn't the default be to use autoreconf, and specify --without-autoreconf if needed
[02:14] <bregma> http://www.debian.org/doc/manuals/developers-reference/best-pkging-practices.html#bpp-autotools
[02:14] <bregma> you should see how picky they get about the debian/copyright file
[02:16] <bregma> I'll have reupload geis to get rid of the dependency wait
[02:18] <cnd> bregma, thanks for the autotools pointe
[02:18] <cnd> r
[02:18] <cnd> I'll need to revert my changes
[02:18] <cnd> I assume in practice it was hoped that autoreconf wouldn't be needed by packagers
[02:18] <cnd> but it seems like that's not the case :(
[02:22] <bregma> if aclocal.m4 gets checked in to the project it should be OK
[02:22] <cnd> bregma, btw, you don't need the call to dh_autoreconf inside override_dh_auto_configure
[02:23] <cnd> bregma, where does aclocal.m4 come from?
[02:23] <bregma> yeah, that's probably let over from something else that went wrong
[02:23] <bregma> I'll play with that later
[02:23] <bregma> aclocal
[02:23] <bregma> autoreconf creates aclocal from the m4 files
[02:24] <cnd> I guess my question is why it needs to be checked in
[02:24] <bregma> by running aclocal
[02:24] <bregma> autogen.sh contains acutreconf -f, which forces aclocal to be regenerated whenever it;s run
[02:24] <cnd> what's in aclocal.m4 that needs to be kept around?
[02:24] <bregma> typing acuity goes downhill the later it gets
[02:24] <cnd> heh
[02:25]  * cnd is almost done with grail, thank goodness
[02:25] <bregma> aclocal is what gets shipped in the tarball, which is why libxorg-gtest-dev doesn't need to be available in the buildd
[02:25] <bregma> as long as aclocal is not regenerated (autoreconf -f), autoconf should generate a good configure
[02:26] <bregma> I think
[02:26] <cnd> bregma, I don't have aclocal.m4 checked into grail or frame
[02:26] <cnd> I don't have anything checked in under m4 I don't think
[02:26] <bregma> yes, and the dailies are failing
[02:26] <cnd> because I turned off autoreconf
[02:27] <cnd> though the dailies won't have xorg-gtest.m4...
[02:27] <cnd> hmm
[02:27] <bregma> I'm trying to work out the conflict between the dailies (built as a native package) and the buildds (build as 3.0 (quilt))
[02:28] <bregma> I'm running test pbuilders right now
[02:28] <cnd> ok
[02:28] <cnd> if it is getting too late, just push it up to the archive
[02:29] <cnd> we can fix the dailies tomorrow
[02:37] <bregma> uploaded, building, .....
[02:43] <cnd> looks good
[02:43] <cnd> \o/
[02:44] <cnd> thanks for taking care of the geis upload bregme
[02:44] <cnd> bregma even
[02:53] <bregma> we'll need at least one more upload of the entire stack once the licensing situation gets resolved, regardless of bugfixes
[02:53] <bregma> I'm still waiting to hear a legal opinion, but I'm sure that will come
[02:54] <cnd> yeah
[02:54] <cnd> I'm sure there will be more uploads
[02:54] <cnd> but they can wait till after the beta 2 freeze
[02:54] <cnd> I'll just be happy when all the unity gestures are working again
[02:56] <cnd> hopefully dandrader just needs to finish his window hit testing fixes in unity
[03:02] <bregma> I'm looking for a sponsor for the Debian packages, but I probably won't have any success until I corner someone at UDS
[03:02] <bregma> getting into Debian is a goal for Q
[03:13] <cnd> cool
[03:13] <cnd> bregma, there may be someone on the ubuntu-x team who can help
[03:14] <cnd> Sarvatt possibly
[03:14] <cnd> I see him do a lot of debian X work, but I don't know if he's a DD
[03:14] <cnd> he's not a core dev yet
[03:14] <cnd> but he should be
[03:17] <bregma> we're not in a hurry, I was waiting for grail and geis to stabilize before pushing to get the whole stack in at once
[03:17] <bregma> that may not happen until RC freeze
[03:18] <bregma> so UDS is a good time to tackle it
[03:23] <cnd> yep
[09:32] <Satoris> Anyone else getting this: configure.ac:41: error: possibly undefined macro: AC_MSG_NOTICE
[09:37] <Satoris> Google seems to indicate an old version of autogarbage, but I have 2.68. It's the default even.
[09:38] <Satoris> Geis builds but frame and grail don't.
[09:45] <Satoris> Four finger gestures do nothing.
[09:46] <Satoris> I feel like drinking massive quantities of whiskey.
[11:08] <bregma> apt-get install libxorg-gtest-dev
[11:27] <Satoris> Next up on hunt the proper package: possibly undefined macro: AC_TDD_GCOV
[11:27] <bregma> something about gcov, no doubt
[11:28] <Satoris> One would imagine.
[11:28] <bregma> defined in a file in the m4 directory of each project
[11:28] <bregma> are you building from bzr or from a tarball?
[11:28] <Satoris> bzr
[11:29] <bregma> then that macro should be there
[11:29] <Satoris> But isn't. Or doesn't work at least.
[11:29] <Satoris> Grep says it's there.
[11:32] <bregma> try running autoreconf -ifv
[11:32] <bregma> you may have a stale aclocal.m4
[11:33] <Satoris> Ok, now it works.
[11:33] <Satoris> I really hate autogarbage. Hate it! Hate it! HATE IT!
[11:34] <Satoris> If it were a person I would gladly go to prison for 10 years if it meant that I could stab it slowly to death.
[11:41] <dandrader> Satoris, hate autotools and it will hate you back :)
[11:43] <dandrader> damn, I'm starting to think that the batteries on my Magic Trackpad must already be getting too low. And I just use it for testing purposes.
[11:44] <dandrader> How long does a battery set last for you guys usually, on your trackpad?
[11:46] <Satoris> bregma: Geis does not seem to install a pkg-config file any more. Should it?
[11:47] <Satoris> Nor is there a dbg package.
[11:52] <Satoris> Hmm, geis does appear in the system pkg-config, but if you install it to a custom prefix, no .pc file shows up there.
[12:56] <bregma> Satoris, I do ./autogen.sh && ./configure --prefix=/usr && make -j5 DESTDIR=/tmp/fargle install and I see the .pc file installed in /tmp/fargle/usr/lib/pkgconfig/libutouch-geis.pc
[12:56] <bregma> how custom is your custom prefix?
[12:59] <bregma> I tried ./configure -prefix=/leg/bone && make install DESTDIR=/tmp/long and I see /tmp/long/leg/bone/lib/pkgconfig/libutouch-geis.pc
[13:08] <Satoris> It's just /home/jpakkane/devroot. There is no pkgconfig subdir in lib.
[13:09] <Satoris> I build in a dedicated build directory, though. Could that be an issue?
[13:10] <Satoris> So something like: autogen; mkdir build; cd build; ../configure --prefix=...
[13:23] <bregma> nope, that works for me, too, as it does when I type "make distcheck" or when using any debuild variant
[13:24] <Satoris> Nailed it. It fails if you do 'CC='ccache gcc' CXX='ccache g++' ../configure --prefix=/tmp/abcd'.
[13:25] <Satoris> Modulo fixing the quotes.
[13:29] <bregma> ccache should affect how sed works, I suspect the build is bailing elsewhere
[13:29] <bregma> s/should/should not/
[13:30] <Satoris> libtool: install: error: cannot install `_geis_bindings.la' to a directory not ending in /usr/local/lib/python2.7/dist-packages
[13:31] <Satoris> There's your problem. But what is causing it?
[13:34] <bregma> my guess is libtool needs regenerating (libtool is definitely broken in many ways) .. I see this if I rerun ./configure with a different --prefix without force-regenerating libtool by running autoreconf -f
[13:37] <Satoris> With a fresh checkout the install works fine.
[13:38] <Satoris> Libtool has existed for, what, 15 years already? You'd think that they would have gotten this piece of shit to work by now.
[13:40] <bregma> oh yes, it works much better now, for some definition of work
[13:41] <Satoris> A prime example of how the (grammatical) positive case is much stronger than the comparative case.
[13:42] <Satoris> A thing may be better than some other thing. It may even be the best. That does not mean that it is good.
[13:48] <Satoris> Hmm, simply running autoreconf -f is not enough to fix this.
[13:50] <bregma> hmm, I look at my history and all I did was run make clean -- libtool is generated by configure, ao the autoreconf is not necessary
[13:51] <bregma> you can't change the prefix between make and install, it just won't work without cleaning and remaking
[13:51] <Satoris> I have never done that.
[13:52] <Satoris> I always run make after configure, even if I know I'll run make install next.
[13:52] <bregma> make clean?
[13:53] <Satoris> Now it installs cleanly.
[13:54] <Satoris> This is a bit like those old text adventure games where you have to guess which word the parser is expecting to get forward.
[13:57] <bregma> except it does make complete sense when you think about it
[13:57] <bregma> I guess the problem is that there should be an implicit build dependency of all build files on config.status to force everything to be rebuild if you rerun configure
[13:58] <bregma> but that would probably be overkill, since the rebuild should happen only of the contents of config.status has changed, not the timestamp of the file
[13:59] <Satoris> If only there was a way to detect the change of contents in a file.
[14:00] <bregma> maybe we need a replacement for make
[14:01] <Satoris> Scons works on MD5 hashes.
[14:02] <Satoris> Google has a Make replacement called Ninja. It's crazy fast but works on timestamps AFAICT.
[14:33] <Satoris> bregma: have you looked at Jose's drag/tap bug? Should they work when subscribed at the same time?
[14:38] <cnd> I was hoping all the tap fixes would make taps work in unity
[14:38] <cnd> but there's still a bug in grail :(
[14:38] <cnd> it doesn't properly get rid of ended touches
[14:43] <Satoris> I put a better test app in the bug.
[14:43] <Satoris> There seem to be several independent bugs in the stack somewhere.
[14:44] <Satoris> cnd: since you asked, 4 finger gestures are broken everywhere for me.
[14:45] <cnd> yeah, I get the same here
[14:45] <cnd> if you turn on grail debugging you'll see that ended touches are still matched for new gestures
[14:45] <cnd> and that throws everything off
[14:46] <Satoris> Panel swipe works on rare occasions a couple of times in Unity 2D. Then it crashes and stops working.
[15:06] <cnd> dandrader, with an updated synaptics, grail passes in jenkins again :)
[15:07] <dandrader> good
[15:07] <dandrader> I didn't have the same luck. That's what I get when the first grail x11 test is run: http://paste.ubuntu.com/895186/
[15:08] <cnd> dandrader, so X synaptics grabs all devices
[15:09] <cnd> what is happening is that your current X server is grabbing the test device
[15:09] <cnd> then the dummy X server is attempting to grab it
[15:09] <cnd> and it fails
[15:09] <dandrader> hmm
[15:09] <cnd> you can use an xorg.conf option to inhibit grabbing
[15:09] <cnd> or you can switch VTs to a console to run your tests
[15:09] <cnd> or you can try running with the --no-dummy-server option
[15:10] <dandrader> first option looks better
[15:10] <cnd> I've been thinking of adding an xorg.conf.d snippet that would install as part of xorg-gtest
[15:10] <cnd> it would turn off all X synaptics grabbing for devices matching "* (Virtual Test Device)"
[15:10] <cnd> I just haven't gotten around to it
[15:11] <cnd> dandrader, you can find the info in "man synaptics"
[15:11] <cnd> Option "GrabEventDevice" "false"
[15:12] <dandrader> thanks. will try that later
[15:13] <cnd> you can copy the first snippet in /usr/share/X11/xorg.conf.d/50-synaptics.conf
[15:15] <tvoss> still working on atomic/trackpad recognizer, more jenkins fun and simplifications with the job setups, started work on arm chroot
[15:16] <bregma> well on the way with #904731
[15:16] <cnd> I'm going to tackle as many bugs as possible until unity gestures work
[15:16] <cnd> dandrader, Satoris: stand ups!
[15:17] <tvoss> cnd, can we help with testing, information gathering?
[15:17] <dandrader> Investigating why Unity using geisv1 is so buggy while the refactored Unity that uses geisv2 API works fine. I.e. the old Geis API doesn't seem to be working well on top of the new uTouch architecture.
[15:17] <cnd> in particular, I know of a bug in grail where ended touches aren't "deleted" from the grail state
[15:17] <cnd> tvoss, not yet
[15:17] <cnd> dandrader, it could be due to the bug I see and am trying to fix
[15:18] <bregma> geis v1 needs to dry p and fade away to nothingness
[15:18] <cnd> though I'm surprised it would work any better in geisv2
[15:18] <cnd> bregma, as soon as precise ships, I'm hoping we can deprecate it
[15:18] <cnd> bregma, dandrader pointed out that our docs don't really show geis v2 vs v1 in the proper light
[15:19] <cnd> v1 is mentioned as the simple API
[15:19] <cnd> which some might mistake as the route they should take
[15:19] <cnd> at some point we probably want to clear that up
[15:26] <Satoris> Today: bugs.
[15:48] <cnd> Satoris, you enlightened me to -Weffc++
[15:48] <cnd> now I've lost a half hour fixing frame for all the issues :)
[15:49] <Satoris> Are you going to fix the empty virtual destructor thingies or the other ones?
[15:49] <cnd> I fixed them all
[15:49] <cnd> though std::enable_shared_from_this is broken
[15:50] <cnd> so until libstdc++ is fixed we can't enable -Weffc++ and -Werror at the same time
[15:50] <Satoris> I learned about -Weffc++ from bregma when I first filed that bug.
[15:50] <cnd> ahh
[15:50] <cnd> so I have bregma to thank :)
[15:50] <Satoris> I found the bug via Eclipse.
[15:51] <cnd> ok, time for me to get breakfast and do other morning stuff
[15:51] <cnd> biab
[15:52] <Satoris> -Weffc++ might be a bit overkill for every day usage.
[15:53] <Satoris> Personal opinion: having the elements in the constructor list even though nothing is done with them is superfluous.
[15:56] <bregma> but it's always satisfying making something build cleanly with warnings cranked up to 11
[15:57] <Satoris> Even if you have to edit the system headers to get there.
[16:06] <bregma> absolutely -- been there, done that, too
[16:06] <Satoris> But do you have the T-shirt?
[16:20] <cnd> I've already had to fix libstdc++ headers for C11 _Generic support this cycle :)
[17:01] <dandrader> cnd, is that related to the bug you're working on? http://paste.ubuntu.com/895335/
[17:01] <cnd> dandrader, probably
[17:02] <cnd> it's likely trying to get data for a touch that has already ended
[17:03] <dandrader> after those warnings start to appear they won't go away until I restart the app
[17:06] <cnd> yeah
[17:06] <cnd> and gestures won't work anymore either
[17:07] <cnd> dandrader, I'm a bit worried about touch state tracker in general
[17:07] <cnd> it's getting a bit hairy
[17:07] <cnd> I had an idea:
[17:08] <cnd> we can have a new touch state class that contains the touch id and the start time as members
[17:08] <cnd> gestures and the recognizer hold std::shared_ptr objects pointing to the touch state class for each touch
[17:09] <cnd> when a touch should be accepted, the AcceptTouch method is called, the touch is accepted, and the touch state internally notes that it is accepted
[17:09] <cnd> when all shared ptrs to the touch state have been released, the destructor is called
[17:10] <cnd> in the destructor, if the touch has not been accepted already it is rejected
[17:10] <cnd> the key here is that the recognizer drops all shared ptrs to the touch state when the touch ends
[17:11] <cnd> we should be able to get rid of all recognizer touch sets other than the free_touches_ set
[17:14] <dandrader> sounds good
[17:16]  * cnd begins coding
[17:40] <dandrader> cnd, was that bug introduced by that commit that added the Gesture::all_touches_ list?
[17:43] <cnd> dandrader, maybe?
[17:43] <cnd> but that change fixes a similar bug
[17:43] <cnd> actually, no, it wasn't introduced
[17:43] <cnd> it's always been there
[17:43] <cnd> but it might have been laying dormant