XMPM changes against OpenSync kdepim plugin revision 812

All patches should be applied consecutively in ascending order, with -p0.

Some (many?) of the patches against kdepim are workarounds for features or bugs of the kdepim libraries or programs. Some of them may require opening a ticket on http://bugs.kde.org for the bug. It is preferable to work together with the KDE team to solve problems with kde libraries than including workarounds for them.

Possible patch status:

  • NRY: Not Reviewed Yet;
  • NI: No Inclusion - The change will not be included in OpenSync;
  • PI: Possible Inclusion - may enter svn, but needs some modifications;
  • RFI: Ready For Inclusion - patch has been reviewed and is ready to be committed to svn;
  • AI [rev]: Already Included - patch already included on svn, or equivalent funcionality already included on svn revision [rev].
001-disable_werror.patch NI Disable -Werror compilation flag
0010-xmpm_addressbook_objformat.patch: NRY importing kdepim/contacts mappings changes from branches/opensync_kdepim_mappings
0020-handle_kde_bug_91773.patch: NRY treat (de)escaping of fields for KDE versions with bug <https://bugs.kde.org/show_bug.cgi?id=91773> KDE VCARD parsing was fixed at revision 399259, only for releases >= 3.4.90
0030-leak_fixes.patch: AI [r1544] applying missing patch from opensync-leak-fixes.patch
0040-cosmethics.patch: AI [r1620] Cosmetics in identation
0045-upstream_r858_merge.patch: NI Merge with upstream r858 patch are from upstream
0050-printf_cleanup.patch: AI [r996] Replace debugging printf()s by osync_debug() The printf()s weren't supposed to be there I don't know how people didn't notice it before :)
0060-indentation_whitespace_cleanup.patch: AI [r1620] Indentation adjustements and whitespace cleanup (no code changes)
0070-doxyngen_author_cleanup.patch: NRY Fixing Doxygen '@author' tags
0080-indentation_cleanup.patch: AI [r1620] One more indentation fix
0090-big_doxygen_update.patch: NRY Big c_plugin_kdepim documentation (only) update
0100-unimplemented_methods_cleanup.patch: NRY Cleanup: non-implemented methods
0120-use_cpp_bools.patch: NRY Semi-cosmethics: use C++ keywords for bool values
0130-unreached_returns.patch: NRY Cleanup: unreached return statements
0140-check_objtype_before_get_changeinfo.patch: AI [r1679] Check objtype_enabled() before calling get_changeinfo() for todos and events
0150-beginnings_units_tests.patch: AI [r1816] Beginnings of kdepim unit tests
0160-single_instance_converter.patch: AI [r1816] Don't need to create a converter everytime Making a single instance of it
0170-split_get_changeinfo.patch: AI [r1816] Separate change conversion/creation from get_changeinfo()
0180-kcal_vcalendar_1.0.patch: NI Make kdepim plugin use vcalendar-1.0 This is a workaround for RRULE conversion, and maybe for other problems that may arise from the vcalendar 1.0<->2.0 on opensync Using the same vcalendar version that is used by the mobile is more safe
0190-handle_kde_bug_91773_refactored.patch: NRY Replacing KDE bug workaround with a hopefully better version
0200-test_addressee_conversion.patch: AI [r1816] Tests for Addressee<>vcard conversion
0210-utests_try_light_kde_start.patch: AI [r1816] Initial tries to avoid starting the whole behemoth when unit testing
0220-more_unit_tests.patch: NRY kdepim contacts tests improvement
0240-anchor_unit_test.patch: AI [r1816] Testcase for current anchor usage
0250-big_whitespace_cleanup.patch: AI [r1620] Cleanup: leading spaces (no code changes)
0260-hash_function_test.patch: AI [r1816] Tests for hash generation function
0270-leading_spaces_cleanup.patch: NRY Cleanup: leading spaces (no code changes)
0290-remarks.patch: NRY Small remarks/comments
0300-events_xmpm_objformat.patch: NRY Make kdepim use the new format for events
0310-custom_attributes_workaround.patch: NRY Ugly workarounds for KDE bugs getting in the way of our custom X-SIE-CATEGORIES attribute
0320-todos_use_icalendar.patch: NRY KDE's vCalendar formatter showed unable to handle VTODO 1.0 So we make the plugin use vCalendar for Events, and iCalendar for Todos
0330-variable_renaming.patch: NRY Cosmethics: renaming variable
0340-code_cleanup_organization.patch: NRY Better code organization and variable name
0350-better_workarounds.patch: NRY Changing the previous, uglier, hack, for a better one Make kdepim's tasks/events changes be reported directly as Opensync's 'xml-{todo,event}' Then we have a cleaner way to add custom attributes (X-SIE-CATEGORIES), ignored by KDE's vformatter
0360-fixing_variable_declaration.patch: NRY Fixing variable declaration
0370-unneeded_variable_member.patch: NRY We already have the member as an object attribute
0380-unneeded_variable_node.patch: NRY Unneeded & unused variable
0390-reorganization_optimization.patch: NRY Code reorganization and small optimization: check if it is needed to report the change before doing all the conversion & custom attributes mumbo jumbo
0400-tasks_xmpm_objtype.patch: NRY Make c_plugin_kdepim use the XMPM specific formats for tasks
0410-debug_messages_cleanup.patch: NRY Semi-cosmethics: error messages cleanup
0420-xmltodo_for_tasks_workaround.patch: NRY Adding functions to create a Todo change in xml-todo format, by generating the XML document directly Ugly, but we do this because current KDE's VCalFormat is unable to create a VCALENDAR 1.0 TODO, and ICalFormat's VCALENDAR 2.0 TODO would be "incompatible" with what the mobile expects, and Opensync handlers do not really handle conversion 1.0 x 2.0
0430-unCOSMETHICS.patch: NI Cosmethics
0440-error_app_running.patch: AI [r1616] Return a SYNC_ERROR_APP_RUNNING error when kontact apps are running
0450-kde_3.x.patch: NRY Semi-cosmethics: not really only for KDE 3.5...
0460-xmpm_resources.patch: NRY Initial implementation of XMPM-specific PIM resources use by c_plugin_kdepim Still needs some polishing
0470-report_only_xmpm_resource.patch: NRY Report only Incidences from the resource
0480-alarms_with_all_parameters.patch: NRY Add all parameters when creating alarms
0490-handle_no_kde_status.patch: NRY Handle case of no STATUS set by Korganizer
0492-fix_status_name.patch: NRY Fixing default status for no-status-yet case
0493-handle_status_mapping.patch: NRY We do the STATUS attribute mapping handling directly in kdepim, because the reported format is already Opensync's internal XML, so it would be harder to make the mapping in the xml<>vcalendar formatter
0495-completion_attributes_fix.patch: NRY Fixing generation of task 'completion' related xml attributes
0500-fix_kcal_resource_addition.patch: NRY Fixes the problem of events/tasks not appearing in the calendar resource, if they are added in the same synchronization of the resource creation
0510-kaddressbook_accessor_workaround.patch: NRY Yet another KDE workaround...
0520-memory_leak.patch: NRY Leak
0530-save_ticket_for_resource.patch: NRY Request save ticket for the right resource
0550-async_get_changeinfo.patch: NRY make get_changeinfo asynchronous
0560-dont_report_empty_notes.patch: AI [r1618] Avoid reporting the single empty note knotes keeps
0570-fix_anchors_usage.patch: AI [r1675] Only update anchors at end of successful sync Use individual anchors per objtype
0580-adjust_display_fields.patch: NRY Adjust display fields we care about
0590-unused_code_cleanup.patch: NRY Semi-cosmethics: unused code
0600-mkdir_with_parents.patch: NRY Functions to create directories recursively
0610-xmpm_resources_improvement.patch: NRY Adding some error checking/handling to resource_for_name(), and changing location of the XMPM-specific resource
0620-kcal_midnight_bug.patch: NRY Handle KDE/kcal bug of DTSTART|DTEND being 00:00:00 (GMT)
0630-make_hash_for_add.patch: AI [r1619] Make hash when commiting an ADD!
0640-traces_cleanup.patch: NRY Removing unneeded trace messages that slipped in
9990-xmpm_buildsystem_etc.patch: NRY Do some magic to get the plugin in the exact state of the XMPM one Basically buidsystem/autotools changes