Summary: | KDEPIM fails to compile after recent Ontologies change | ||
---|---|---|---|
Product: | [Unmaintained] nepomuk | Reporter: | Christoph Feck <cfeck> |
Component: | general | Assignee: | Sebastian Trueg <sebastian> |
Status: | RESOLVED FIXED | ||
Severity: | major | CC: | christophe, kdepim-bugs, lacsilva, me, mueller, rdieter, tokoe, trueg, vkrause |
Priority: | VHI | Keywords: | release_blocker |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
Patches up the rcgen
Handle properties with nrl:cardinality==1 |
Description
Christoph Feck
2011-03-15 23:34:56 UTC
The same error also happens when compiling today's kdepim-runtime from master branch. This means the bug is most certainly in shared-desktop-ontologies. Reassigning accordingly. The bug is related to the use of "nrl:maxCardinality 1" in nco. Either nco needs to be reverted or kdepim-runtime updated to not include the list forms. I think kdepim-runtime will have to be updated. Many of the ontologies do not have their cardinalities set which is wrong, and causes major problem in other places. AFAIK, the only change that would have occurred is that the properties whose cardinality has been set would now not contain the respective addPropertyName() function, and the setPropertyName() function would take 'T' instead of a 'QList<T>' (In reply to comment #3) > I think kdepim-runtime will have to be updated. > That wouldn't fix the source incompatible change in SDO. kdepim already have a couple versions released which fail to compile with recent shared desktop ontologies Just to clarify a little bit - The source incompatibility is not actually there in SDO. The ontologies are read by a helper program called the "Nepomuk Resource Generator" which is present in kdelibs/nepomuk/rcgen/*. This generator produces C++ code from the ontologies, which is used in kdepim. The 'nepomuk-rcgen' is invoked via a cmake function before compiling kdepim. Adding the release_blocker keyword. Dirk, please don't tag beta 1 until this issue is fixed. Sebastian, can you take care of this please. [quote] Like I already said: patching rcgen seems like the best solution to me and that is so trivial I can have finished it today [/quote] Created attachment 60154 [details]
Patches up the rcgen
I've patched up rc-gen, but I haven't tested building kdepim-4.6 with this patch. I think it should build, cause I've fixed the issue, but someone should test it out.
Created attachment 60159 [details]
Handle properties with nrl:cardinality==1
I've cleaned up the earlier patch and added those extra functions for properties with nrl:cardinality==1 as well.
Looks correct, both kdepim-runtime 4.4 and 4.6 build against kdelibs master now. kdepim/nepomuk_email_feeder also builds for 4.4 and 4.6 Git commit 1f796983aa8385da77f30813041b40e208c17391 by Vishesh Handa. Committed on 19/05/2011 at 17:22. Pushed by vhanda into branch 'master'. Make KDEPIM 4.6 compile with master This makes the rcgen produce add/setProperty( QList<T> ) functions for properties with nrl:maxCardinality and nrl:cardinality = 1. This was required because with SDO 0.7 the cardinalities of many properties have been set. BUG: 268595 M +103 -44 nepomuk/rcgen/codegenerator.cpp M +7 -0 nepomuk/rcgen/codegenerator.h M +8 -1 nepomuk/rcgen/ontologyparser.cpp M +24 -1 nepomuk/rcgen/property.cpp M +21 -0 nepomuk/rcgen/property.h http://commits.kde.org/kdelibs/1f796983aa8385da77f30813041b40e208c17391 |