Hello community, here is the log from the commit of package libkolab for openSUSE:Factory checked in at 2014-07-16 16:16:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libkolab (Old) and /work/SRC/openSUSE:Factory/.libkolab.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libkolab" Changes: -------- --- /work/SRC/openSUSE:Factory/libkolab/libkolab.changes 2014-01-08 20:07:57.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.libkolab.new/libkolab.changes 2014-07-16 16:16:30.000000000 +0200 @@ -1,0 +2,22 @@ +Thu Jun 26 13:11:02 UTC 2014 - [email protected] + +- New upstream release 0.5.2 + Changes since 0.5.1: + * Fixed a header warning + +- New upstream release 0.5.1 + Changes since 0.5.0: + * Fixed a warning + * Use the correct X-Kolab-Type according to KEP:17 + * Removed -no-check-new for clang compatibility + * Fix #2588, building libkolab without tests incidentally attempting to link a static library not available + * Detect if the version is explicitly set to version 2.0 + * Convert utc offset date times to utc + * Added definitions for files and ensured that the files folder is recognized as kolab folder + * Only issue a warning on unknown timezone, and fallback to floating time + * Ignore the kolab version number in the tests + * Only set the affiliation if it is not empty + +- Removed libkolab-0.5.0_kolab_static.patch -- upstream inclusion + +------------------------------------------------------------------- Old: ---- libkolab-0.5.0.tar.gz libkolab-0.5.0_kolab_static.patch New: ---- libkolab-0.5.2.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libkolab.spec ++++++ --- /var/tmp/diff_new_pack.msNTO1/_old 2014-07-16 16:16:31.000000000 +0200 +++ /var/tmp/diff_new_pack.msNTO1/_new 2014-07-16 16:16:31.000000000 +0200 @@ -25,16 +25,18 @@ %endif Name: libkolab -Version: 0.5.0 +Version: 0.5.2 Release: 0 %define soname 0 Summary: Conversions from/to KDE containers License: LGPL-2.0+ and LGPL-3.0+ and AGPL-3.0+ Group: Development/Libraries/C and C++ Url: https://kolab.org/about/libkolab -Source: http://mirror.kolabsys.com/pub/releases/%{name}-%{version}.tar.gz -# PATCH-FIX-UPSTREAM libkolab-0.5.0_kolab_static.patch -- We do not want to use static linking in kolabformatchecker -Patch0: libkolab-0.5.0_kolab_static.patch + +# TODO: Delete the following line when upstream (finally) releases the tarball. +Source: %{name}-%{version}.tar.gz +#Source: http://mirror.kolabsys.com/pub/releases/%{name}-%{version}.tar.gz + BuildRequires: boost-devel BuildRequires: cmake >= 2.6.4 %if ! 0%{?with_kolab} @@ -110,7 +112,6 @@ %prep %setup -q -%patch0 -p0 %build export CXXFLAGS="%{optflags}" ++++++ libkolab-0.5.0.tar.gz -> libkolab-0.5.2.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolab-0.5.0/CMakeLists.txt new/libkolab-0.5.2/CMakeLists.txt --- old/libkolab-0.5.0/CMakeLists.txt 2013-10-14 17:57:12.000000000 +0200 +++ new/libkolab-0.5.2/CMakeLists.txt 2014-06-24 11:08:04.000000000 +0200 @@ -33,7 +33,7 @@ set(Libkolab_VERSION_MAJOR 0) set(Libkolab_VERSION_MINOR 5) # Enable the full x.y.z version only for release versions -set(Libkolab_VERSION_PATCH 0) +set(Libkolab_VERSION_PATCH 2) set(Libkolab_VERSION ${Libkolab_VERSION_MAJOR}.${Libkolab_VERSION_MINOR}.${Libkolab_VERSION_PATCH} ) #set(Libkolab_VERSION ${Libkolab_VERSION_MAJOR}.${Libkolab_VERSION_MINOR} ) set(Libkolab_VERSION_STRING ${CMAKE_PROJECT_NAME}-${Libkolab_VERSION}) @@ -82,7 +82,7 @@ add_definitions(-DKDEPIMLIBS_VERSION_DEVEL) endif() -set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-check-new -fno-common -Woverloaded-virtual -fno-threadsafe-statics -fvisibility=hidden -Werror=return-type -fvisibility-inlines-hidden -fexceptions -UQT_NO_EXCEPTIONS -fPIC -g" ) +set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnon-virtual-dtor -Wno-long-long -ansi -Wundef -Wcast-align -Wchar-subscripts -Wall -W -Wpointer-arith -Wformat-security -fno-exceptions -DQT_NO_EXCEPTIONS -fno-common -Woverloaded-virtual -fno-threadsafe-statics -fvisibility=hidden -Werror=return-type -fvisibility-inlines-hidden -fexceptions -UQT_NO_EXCEPTIONS -fPIC -g" ) # message("${CMAKE_CXX_FLAGS}") set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DQT_NO_DEBUG") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolab-0.5.0/calendaring/datetimeutils.cpp new/libkolab-0.5.2/calendaring/datetimeutils.cpp --- old/libkolab-0.5.0/calendaring/datetimeutils.cpp 2013-10-14 17:57:12.000000000 +0200 +++ new/libkolab-0.5.2/calendaring/datetimeutils.cpp 2014-06-24 11:08:04.000000000 +0200 @@ -17,7 +17,7 @@ #include "datetimeutils.h" -#include <Qt/qdebug.h> +#include <qdebug.h> #include <ksystemtimezone.h> #include "conversion/commonconversion.h" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolab-0.5.0/conversion/commonconversion.cpp new/libkolab-0.5.2/conversion/commonconversion.cpp --- old/libkolab-0.5.0/conversion/commonconversion.cpp 2013-10-14 17:57:12.000000000 +0200 +++ new/libkolab-0.5.2/conversion/commonconversion.cpp 2014-06-24 11:08:04.000000000 +0200 @@ -39,19 +39,17 @@ //Convert non-olson timezones if necessary const QString normalizedTz = TimezoneConverter::normalizeTimezone(QString::fromStdString(timezone)); - Debug() << "normalized " << normalizedTz; KTimeZone tz = KSystemTimeZones::zone(normalizedTz); //Needs ktimezoned (timezone daemon running) http://api.kde.org/4.x-api/kdelibs-apidocs/kdecore/html/classKSystemTimeZones.html if (!tz.isValid()) { - Error() << "timezone not found" << QString::fromStdString(timezone); + Warning() << "invalid timezone: " << QString::fromStdString(timezone) << ", assuming floating time"; if (!KSystemTimeZones::isTimeZoneDaemonAvailable()) { Error() << "ktimezoned is not available and required for timezone interpretation"; } - tz = KTimeZone::utc(); //Don't crash + return KDateTime::Spec(KDateTime::ClockTime); } return KDateTime::Spec(tz); } - KDateTime toDate(const Kolab::cDateTime &dt) { KDateTime date; @@ -90,6 +88,13 @@ date.setTime(t.hour(), t.minute(), t.second()); if (dt.timeType() == KDateTime::UTC) { //UTC date.setUTC(true); + } else if (dt.timeType() == KDateTime::OffsetFromUTC) { + const KDateTime utcDate = dt.toUtc(); + const QDate &d = utcDate.date(); + date.setDate(d.year(), d.month(), d.day()); + const QTime &t = utcDate.time(); + date.setTime(t.hour(), t.minute(), t.second()); + date.setUTC(true); } else if (dt.timeType() == KDateTime::TimeZone) { //Timezone //TODO handle local timezone? //Convert non-olson timezones if necessary @@ -97,11 +102,11 @@ if (!timezone.isEmpty()) { date.setTimezone(toStdString(timezone)); } else { - Error() << "invalid timezone: " << dt.timeZone().name() << " , assuming floating time"; + Warning() << "invalid timezone: " << dt.timeZone().name() << ", assuming floating time"; return date; } } else if (dt.timeType() != KDateTime::ClockTime) { - Error() << "invalid timespec, assuming floating time" << dt.timeType(); + Error() << "invalid timespec, assuming floating time. Type: " << dt.timeType() << "dt: " << dt.toString(); return date; } } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolab-0.5.0/conversion/kabcconversion.cpp new/libkolab-0.5.2/conversion/kabcconversion.cpp --- old/libkolab-0.5.0/conversion/kabcconversion.cpp 2013-10-14 17:57:12.000000000 +0200 +++ new/libkolab-0.5.2/conversion/kabcconversion.cpp 2014-06-24 11:08:04.000000000 +0200 @@ -660,7 +660,9 @@ if (!relateds.empty()) { businessAff.setRelateds(relateds); } - c.setAffiliations(std::vector<Kolab::Affiliation>() << businessAff); + if (!(businessAff == Kolab::Affiliation())) { + c.setAffiliations(std::vector<Kolab::Affiliation>() << businessAff); + } std::vector<Kolab::Url> urls; if (!addressee.url().isEmpty()) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolab-0.5.0/kolabformat/formathelpers.cpp new/libkolab-0.5.2/kolabformat/formathelpers.cpp --- old/libkolab-0.5.0/kolabformat/formathelpers.cpp 2013-10-14 17:57:12.000000000 +0200 +++ new/libkolab-0.5.2/kolabformat/formathelpers.cpp 2014-06-24 11:08:04.000000000 +0200 @@ -15,7 +15,8 @@ { KOLAB_FOLDER_TYPE_JOURNAL, I18N_NOOP( "Journal" ) }, { KOLAB_FOLDER_TYPE_NOTE, I18N_NOOP( "Notes" ) }, { KOLAB_FOLDER_TYPE_CONFIGURATION, I18N_NOOP( "Configuration" ) }, - { KOLAB_FOLDER_TYPE_FREEBUSY, I18N_NOOP( "Freebusy" ) } + { KOLAB_FOLDER_TYPE_FREEBUSY, I18N_NOOP( "Freebusy" ) }, + { KOLAB_FOLDER_TYPE_FILE, I18N_NOOP( "Files" ) } }; static const int numFolderTypeData = sizeof folderTypeData / sizeof *folderTypeData; @@ -66,6 +67,11 @@ return FreebusyType; } + if ( folderTypeName == KOLAB_FOLDER_TYPE_FILE || + folderTypeName == KOLAB_FOLDER_TYPE_FILE KOLAB_FOLDER_TYPE_DEFAULT_SUFFIX ) { + return FileType; + } + return MailType; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolab-0.5.0/kolabformat/formathelpers.h new/libkolab-0.5.2/kolabformat/formathelpers.h --- old/libkolab-0.5.0/kolabformat/formathelpers.h 2013-10-14 17:57:12.000000000 +0200 +++ new/libkolab-0.5.2/kolabformat/formathelpers.h 2014-06-24 11:08:04.000000000 +0200 @@ -16,6 +16,7 @@ NoteType, ConfigurationType, FreebusyType, + FileType, LastType }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolab-0.5.0/kolabformat/kolabdefinitions.h new/libkolab-0.5.2/kolabformat/kolabdefinitions.h --- old/libkolab-0.5.0/kolabformat/kolabdefinitions.h 2013-10-14 17:57:12.000000000 +0200 +++ new/libkolab-0.5.2/kolabformat/kolabdefinitions.h 2014-06-24 11:08:04.000000000 +0200 @@ -28,6 +28,7 @@ #define KOLAB_FOLDER_TYPE_NOTE "note" #define KOLAB_FOLDER_TYPE_CONFIGURATION "configuration" #define KOLAB_FOLDER_TYPE_FREEBUSY "freebusy" +#define KOLAB_FOLDER_TYPE_FILE "file" #define KOLAB_FOLDER_TYPE_DEFAULT_SUFFIX ".default" #define KOLAB_FOLDER_TYPE_DRAFT_SUFFIX ".drafts" @@ -42,6 +43,7 @@ #define X_KOLAB_TYPE_HEADER "X-Kolab-Type" #define X_KOLAB_MIME_VERSION_HEADER "X-Kolab-Mime-Version" #define X_KOLAB_MIME_VERSION_HEADER_COMPAT "X-Kolab-Version" +#define KOLAB_VERSION_V2 "2.0" #define KOLAB_VERSION_V3 "3.0" #define KOLAB_OBJECT_FILENAME "kolab.xml" @@ -54,12 +56,13 @@ #define KOLAB_TYPE_TASK "application/x-vnd.kolab.task" #define KOLAB_TYPE_JOURNAL "application/x-vnd.kolab.journal" #define KOLAB_TYPE_CONTACT "application/x-vnd.kolab.contact" -#define KOLAB_TYPE_DISTLIST "application/x-vnd.kolab.contact.distlist" -#define KOLAB_TYPE_DISTLIST_COMPAT "application/x-vnd.kolab.distribution-list" +#define KOLAB_TYPE_DISTLIST_V2 "application/x-vnd.kolab.contact.distlist" +#define KOLAB_TYPE_DISTLIST "application/x-vnd.kolab.distribution-list" #define KOLAB_TYPE_NOTE "application/x-vnd.kolab.note" #define KOLAB_TYPE_CONFIGURATION "application/x-vnd.kolab.configuration" #define KOLAB_TYPE_DICT "application/x-vnd.kolab.configuration.dictionary" #define KOLAB_TYPE_FREEBUSY "application/x-vnd.kolab.freebusy" +#define KOLAB_TYPE_FILE "application/x-vnd.kolab.file" enum Version { KolabV2, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolab-0.5.0/kolabformat/kolabobject.cpp new/libkolab-0.5.2/kolabformat/kolabobject.cpp --- old/libkolab-0.5.0/kolabformat/kolabobject.cpp 2013-10-14 17:57:12.000000000 +0200 +++ new/libkolab-0.5.2/kolabformat/kolabobject.cpp 2014-06-24 11:08:04.000000000 +0200 @@ -46,7 +46,7 @@ static inline QString journalKolabType() { return QString::fromLatin1(KOLAB_TYPE_JOURNAL); }; static inline QString contactKolabType() { return QString::fromLatin1(KOLAB_TYPE_CONTACT); }; static inline QString distlistKolabType() { return QString::fromLatin1(KOLAB_TYPE_DISTLIST); } -static inline QString distlistKolabTypeCompat() { return QString::fromLatin1(KOLAB_TYPE_DISTLIST_COMPAT); } +static inline QString distlistKolabTypeCompat() { return QString::fromLatin1(KOLAB_TYPE_DISTLIST_V2); } static inline QString noteKolabType() { return QString::fromLatin1(KOLAB_TYPE_NOTE); } static inline QString configurationKolabType() { return QString::fromLatin1(KOLAB_TYPE_CONFIGURATION); } static inline QString dictKolabType() { return QString::fromLatin1(KOLAB_TYPE_DICT); } @@ -378,7 +378,7 @@ //For backwards compatibility to development versions, can be removed in future versions xKolabVersion = msg->getHeaderByType(X_KOLAB_MIME_VERSION_HEADER_COMPAT); } - if (!xKolabVersion) { + if (!xKolabVersion || xKolabVersion->asUnicodeString() == KOLAB_VERSION_V2) { d->mVersion = KolabV2; } else { if (xKolabVersion->asUnicodeString() != KOLAB_VERSION_V3) { //TODO version compatibility check? diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolab-0.5.0/kolabformat/kolabobject.h new/libkolab-0.5.2/kolabformat/kolabobject.h --- old/libkolab-0.5.0/kolabformat/kolabobject.h 2013-10-14 17:57:12.000000000 +0200 +++ new/libkolab-0.5.2/kolabformat/kolabobject.h 2014-06-24 11:08:04.000000000 +0200 @@ -114,6 +114,6 @@ }; -}; //Namespace +} //Namespace #endif // KOLABOBJECT_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolab-0.5.0/kolabformat/v2helpers.cpp new/libkolab-0.5.2/kolabformat/v2helpers.cpp --- old/libkolab-0.5.0/kolabformat/v2helpers.cpp 2013-10-14 17:57:12.000000000 +0200 +++ new/libkolab-0.5.2/kolabformat/v2helpers.cpp 2014-06-24 11:08:04.000000000 +0200 @@ -192,7 +192,7 @@ KMime::Message::Ptr distListToKolabFormat(const KolabV2::DistributionList& distList, const QString &productId) { - KMime::Message::Ptr message = Mime::createMessage( KOLAB_TYPE_DISTLIST, false, productId ); + KMime::Message::Ptr message = Mime::createMessage( KOLAB_TYPE_DISTLIST_V2, false, productId ); if (!message) { Critical() << "empty message"; return KMime::Message::Ptr(); @@ -200,7 +200,7 @@ message->subject()->fromUnicodeString( distList.uid(), "utf-8" ); message->from()->fromUnicodeString( distList.uid(), "utf-8" ); - KMime::Content* content = Mime::createMainPart( KOLAB_TYPE_DISTLIST, distList.saveXML().toUtf8() ); + KMime::Content* content = Mime::createMainPart( KOLAB_TYPE_DISTLIST_V2, distList.saveXML().toUtf8() ); message->addContent( content ); message->assemble(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolab-0.5.0/tests/testutils.h new/libkolab-0.5.2/tests/testutils.h --- old/libkolab-0.5.0/tests/testutils.h 2013-10-14 17:57:12.000000000 +0200 +++ new/libkolab-0.5.2/tests/testutils.h 2014-06-24 11:08:04.000000000 +0200 @@ -105,6 +105,7 @@ content.replace(QRegExp("<uri>data:*</uri>", Qt::CaseSensitive, QRegExp::Wildcard), "<uri>data:</uri>"); content.replace(QRegExp("<last-modification-date>*</last-modification-date>", Qt::CaseSensitive, QRegExp::Wildcard), "<last-modification-date></last-modification-date>"); content.replace(QRegExp("<timestamp>*</timestamp>", Qt::CaseSensitive, QRegExp::Wildcard), "<timestamp></timestamp>"); + content.replace(QRegExp("<x-kolab-version>*</x-kolab-version>", Qt::CaseSensitive, QRegExp::Wildcard), "<x-kolab-version></x-kolab-version>"); content.replace(QRegExp("--nextPart\\S*", Qt::CaseSensitive), "--part"); content.replace(QRegExp("\\bboundary=\"nextPart[^\\n]*", Qt::CaseSensitive), "boundary"); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolab-0.5.0/tests/timezonetest.cpp new/libkolab-0.5.2/tests/timezonetest.cpp --- old/libkolab-0.5.0/tests/timezonetest.cpp 2013-10-14 17:57:12.000000000 +0200 +++ new/libkolab-0.5.2/tests/timezonetest.cpp 2014-06-24 11:08:04.000000000 +0200 @@ -17,6 +17,7 @@ #include "timezonetest.h" #include <conversion/timezoneconverter.h> +#include <conversion/commonconversion.h> #include <kolabformat/kolabobject.h> #include <kolabformat/errorhandler.h> #include "testutils.h" @@ -165,6 +166,13 @@ QVERIFY(KSystemTimeZones::isTimeZoneDaemonAvailable()); } +void TimezoneTest::testUTCOffset() +{ + const Kolab::cDateTime expected(2013, 10, 23, 2, 0 ,0, true); + const KDateTime input(KDateTime::fromString("2013-10-23T04:00:00+02:00", KDateTime::RFC3339Date)); + const Kolab::cDateTime result = Kolab::Conversion::fromDate(input); + QCOMPARE(result, expected); +} QTEST_MAIN( TimezoneTest ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolab-0.5.0/tests/timezonetest.h new/libkolab-0.5.2/tests/timezonetest.h --- old/libkolab-0.5.0/tests/timezonetest.h 2013-10-14 17:57:12.000000000 +0200 +++ new/libkolab-0.5.2/tests/timezonetest.h 2014-06-24 11:08:04.000000000 +0200 @@ -35,6 +35,7 @@ void testKolabObjectReader(); void testFindLegacyTimezone(); void testTimezoneDaemonAvailable(); + void testUTCOffset(); }; #endif // TIMEZONETEST_H diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libkolab-0.5.0/utils/CMakeLists.txt new/libkolab-0.5.2/utils/CMakeLists.txt --- old/libkolab-0.5.0/utils/CMakeLists.txt 2013-10-14 17:57:12.000000000 +0200 +++ new/libkolab-0.5.2/utils/CMakeLists.txt 2014-06-24 11:08:04.000000000 +0200 @@ -2,4 +2,4 @@ find_package(Boost REQUIRED COMPONENTS program_options) add_executable(kolabformatchecker kolabformatchecker.cpp) -target_link_libraries(kolabformatchecker kolab_static ${Boost_LIBRARIES}) +target_link_libraries(kolabformatchecker kolab ${Boost_LIBRARIES}) -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
