PATCH: gnomecal conduit fixed



Greetings,

It would seem that the GNOME calendar conduit has not been used it quite a
while, at least by upstream... I can corroborate the reports that loading /usr/lib/gnome-pilot/conduits/libcalendar_conduit.so fails. But making it work requires a kludge that only a major redesign could fix cleanly.

First it fails due to the absence of the int symbol week_starts_on_monday, which can be safely moved from main.c to calobj.c (since calobj.h is #included by main.h). But then, it fails due to lack of gnome_calendar_goto_today(), which is called by calendar_day_change() in calendar.c, which is only called by the day_change_alarm added in calendar_init_alarms(). Unfortunately, calendar_init_alarms() is called by calendar_new(), which in turn is called by calendar_string_from_obj(), called from within calendar_conduits.c. There seems no clean way to separate these, at least nothing simple, the easiest safe thing to do is to duplicate calendar.o to calendar2.o and rip out the parts which call gnome_calendar_goto_today(), which is safe because calendar_conduits calls calendar_string_from_obj() with an object without CALENDAR_INIT_ALARMS.

From the tangledness of the symbol dependency web, it's clear a lot of design changes have taken place since anyone (upstream at least) used the calendar conduit! It's amazing that the conduit code is still there, given how much fixing was required to make it work... If upstream is still interested in maintaining the conduits, they'll need to do some serious redesign work, or else just drop support for the end-of-day auto updates of the calendars.

Okay, next, Dano Caroll sent to gnome-pilot-list gnome org the one tiny patch to calendar-conduit.c that just fixes what must have been a typo, such that times now sync properly. I can confirm that with these fixes, the gnomecal conduit copies to the pilot perfectly, though I have not yet tried to synthronize.

Unfortunately, the gnomecard conduit does *not* work, for reasons more complex than missing symbols. I cannot copy from pilot, synchronize, or copy to pilot; the conduit runs and exits without doing anything. When I know more, I'll open a separate bug.

Finally, the funny version number above, and the dependency versions below (I originally planned to send this as a bug report), are due to my backport of the debian sid 1.4.9 package to woody, which you can find at http://lyre.mit.edu/~powell/evolution/ (had planned to backport evolution, but that's on hold until I can figure out how to not screw up the GNOME libs it depends on...). It's identical to the 1.4.9-1 package, except for the changes noted above, and the gdk-imlib-dev build-dep, and a changelog entry.

Non-Debian folk can extract the patch to gnome-pim from the .diff.gz there; the duplication of calendar.c makes it too long to post to the list or even to a bug.

Zeen,
--

-Adam P.

GPG fingerprint: D54D 1AEE B11C CE9B A02B  C5DD 526F 01E8 564E E4B6

Welcome to the best software in the world today cafe!
<http://lyre.mit.edu/%7Epowell/The_Best_Stuff_In_The_World_Today_Cafe.ogg>

-- System Information
Debian Release: 3.0
Kernel Version: Linux vaio 2.4.20-686-acp #1 Tue Feb 11 16:38:24 EST 2003 i686 unknown

Versions of the packages gnome-pim depends on:
ii gdk-imlib1 1.9.14-2 Gdk-Imlib is an imaging library for use with
ii  libart2        1.4.1.4-3      The Gnome canvas widget - runtime files.
ii  libaudiofile0  0.2.3-4        The Audiofile Library
ii libc6 2.2.5-11.2 GNU C Library: Shared libraries and Timezone
ii  libdb3         3.2.9-16       Berkeley v3 Database Libraries [runtime]
ii libesd0 0.2.23-3 Enlightened Sound Daemon - Shared libraries
ii  libglib1.2     1.2.10-4       The GLib library of C routines
ii  libgnome32     1.4.1.4-3      The Gnome libraries
ii  libgnomesuppor 1.4.1.4-3      The Gnome libraries (Support libraries)
ii  libgnomeui32   1.4.1.4-3      The Gnome libraries (User Interface)
ii  libgnorba27    1.4.1.4-3      Gnome CORBA services
ii  libgtk1.2      1.2.10-11      The GIMP Toolkit set of widgets for X
ii libjpeg62 6b-5 The Independent JPEG Group's JPEG runtime li
ii  liborbit0      0.5.16-1       Libraries for ORBit - a CORBA ORB
ii  libpng2        1.0.12-3.woody PNG library - runtime
ii  libtiff3g      3.5.5-6        Tag Image File Format library
ii libungif4g 4.1.0b1-2 shared library for GIF images (runtime lib)
ii  libwrap0       7.6-9          Wietse Venema's TCP wrappers library
ii  xlibs          4.1.0-16       X Window System client libraries
ii  zlib1g         1.1.4-1        compression library - runtime
libesd-alsa0    Not installed or no info





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]