From kde-panel-devel Thu Mar 26 21:12:54 2015 From: =?utf-8?b?SXZhbiDEjHVracSH?= Date: Thu, 26 Mar 2015 21:12:54 +0000 To: kde-panel-devel Subject: Re: Review Request 123088: Adding libkactivities-stats to the build Message-Id: <20150326211254.17385.12137 () mimi ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-panel-devel&m=142740439625840 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--===============2277702424914626107==" --===============2277702424914626107== Content-Type: multipart/alternative; boundary="===============8327081534620609975==" --===============8327081534620609975== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit > On March 26, 2015, 3:34 p.m., Hrvoje Senjan wrote: > > the library doesn't seem to like boost 1.56: > > > > ``` > > In file included from ../lib/kactivities-stats/src/lib/stats/resultset.cpp:425: > > ../lib/kactivities-stats/src/lib/stats/resultset_iterator.cpp:78:14: error: no viable conversion from 'const boost::optional' to 'bool' > > bool thisValid = currentValue; > > ^ ~~~~~~~~~~~~ > > ../lib/kactivities-stats/src/lib/stats/resultset_iterator.cpp:79:14: error: no viable conversion from 'const boost::optional' to 'bool' > > bool otherValid = other.currentValue; > > ^ ~~~~~~~~~~~~~~~~~~ > > ../lib/kactivities-stats/src/lib/stats/resultset_iterator.cpp:96:16: error: no viable conversion from 'const boost::optional' to 'bool' > > return currentValue; > > ^~~~~~~~~~~~ > > 1 warning and 3 errors generated. > > ``` > > or with gcc: > > ``` > > [ 232s] In file included from /home/abuild/rpmbuild/BUILD/plasma-desktop-5.2.91git~20150326T143831~cc30975/lib/kactivities-stats/src/lib/stats/resultset.cpp:425:0: > > [ 232s] /home/abuild/rpmbuild/BUILD/plasma-desktop-5.2.91git~20150326T143831~cc30975/lib/kactivities-stats/src/lib/stats/resultset_iterator.cpp: In member function 'bool KActivities::Experimental::Stats::ResultSet::const_iterator::Private::operator==(const KActivities::Experimental::Stats::ResultSet::const_iterator::Private&) const': > > [ 232s] /home/abuild/rpmbuild/BUILD/plasma-desktop-5.2.91git~20150326T143831~cc30975/lib/kactivities-stats/src/lib/stats/resultset_iterator.cpp:76:27: error: cannot convert 'const boost::optional' to 'bool' in initialization > > [ 232s] bool thisValid = currentValue; > > [ 232s] ^ > > [ 232s] /home/abuild/rpmbuild/BUILD/plasma-desktop-5.2.91git~20150326T143831~cc30975/lib/kactivities-stats/src/lib/stats/resultset_iterator.cpp:77:33: error: cannot convert 'const boost::optional' to 'bool' in initialization > > [ 232s] bool otherValid = other.currentValue; > > [ 232s] ^ > > [ 232s] /home/abuild/rpmbuild/BUILD/plasma-desktop-5.2.91git~20150326T143831~cc30975/lib/kactivities-stats/src/lib/stats/resultset_iterator.cpp: In member function 'bool KActivities::Experimental::Stats::ResultSet::const_iterator::Private::isValid() const': > > [ 232s] /home/abuild/rpmbuild/BUILD/plasma-desktop-5.2.91git~20150326T143831~cc30975/lib/kactivities-stats/src/lib/stats/resultset_iterator.cpp:94:16: error: cannot convert 'const boost::optional' to 'bool' in return > > [ 232s] return currentValue; > > [ 232s] ^ > > ``` > > Ivan Čukić wrote: > Is it fixed if you replace with this (seems this is a nice 1.56 bug): > > bool thisValid = !!currentValue; > bool otherValid = !!other.currentValue; > > Alex Richardson wrote: > Seems they are using c++11 `explicit operator bool()`, so I wouldn't call it a bug but intentional. > > Hrvoje Senjan wrote: > builds with https://build.opensuse.org/package/view_file/KDE:Unstable:Frameworks/plasma5-desktop/boost.diff?expand=1 @Alex, yes, it seems intentional. Then I'd call it an intentional bug :) (api break, if nothing else) @Hrvoje master now contains a fixed version - Ivan ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/123088/#review78065 ----------------------------------------------------------- On March 26, 2015, 1:47 p.m., Ivan Čukić wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/123088/ > ----------------------------------------------------------- > > (Updated March 26, 2015, 1:47 p.m.) > > > Review request for Plasma, Eike Hein and Marco Martin. > > > Repository: plasma-desktop > > > Description > ------- > > The experimental library can not land in the kactivities framework just yet. Since it is to be used by plasma-desktop in the next release, we need to include it (for the time being) in p-d. > > > The idea came from Eike. While it has downsides, it also has a few benefits: > - no need to have a monthly release cycle, so we can actually do work without much bureaucracy surrounding API and ABI compatibility; > - when the library becomes stable, it will move to KActivities and lose the 'experimental' part of the name. This means that the distributions will not have issues of two packages providing the same files; > - no need to sync the releases and think about which KActivities version plasma 5.x will be used against; > - I guess I'm forgetting more benefits. :) > > The patch includes update.sh script that syncs this code with that in KActivities. (the development should still be in the KActivities ivan/libkactivities-experimental-stats branch) > > > Diffs > ----- > > CMakeLists.txt 8714f89 > lib/kactivities-stats/CMakeLists.txt PRE-CREATION > lib/kactivities-stats/KF5ActivitiesExperimentalStatsConfig.cmake.in PRE-CREATION > lib/kactivities-stats/README PRE-CREATION > lib/kactivities-stats/src/CMakeLists.txt PRE-CREATION > lib/kactivities-stats/src/Messages.sh PRE-CREATION > lib/kactivities-stats/src/common/database/Database.h PRE-CREATION > lib/kactivities-stats/src/common/database/Database.cpp PRE-CREATION > lib/kactivities-stats/src/common/database/schema/ResourcesDatabaseSchema.h PRE-CREATION > lib/kactivities-stats/src/common/database/schema/ResourcesDatabaseSchema.cpp PRE-CREATION > lib/kactivities-stats/src/common/dbus/common.h PRE-CREATION > lib/kactivities-stats/src/common/dbus/org.kde.ActivityManager.Activities.h PRE-CREATION > lib/kactivities-stats/src/common/dbus/org.kde.ActivityManager.Activities.cpp PRE-CREATION > lib/kactivities-stats/src/common/dbus/org.kde.ActivityManager.Activities.xml PRE-CREATION > lib/kactivities-stats/src/common/dbus/org.kde.ActivityManager.Features.xml PRE-CREATION > lib/kactivities-stats/src/common/dbus/org.kde.ActivityManager.Resources.xml PRE-CREATION > lib/kactivities-stats/src/common/dbus/org.kde.ActivityManager.ResourcesLinking.xml PRE-CREATION > lib/kactivities-stats/src/common/dbus/org.kde.ActivityManager.ResourcesScoring.xml PRE-CREATION > lib/kactivities-stats/src/common/specialvalues.h PRE-CREATION > lib/kactivities-stats/src/lib/CMakeLists.txt PRE-CREATION > lib/kactivities-stats/src/lib/stats/CMakeLists.txt PRE-CREATION > lib/kactivities-stats/src/lib/stats/activitiessync_p.h PRE-CREATION > lib/kactivities-stats/src/lib/stats/activitiessync_p.cpp PRE-CREATION > lib/kactivities-stats/src/lib/stats/libKActivitiesExperimentalStats.pc.cmake PRE-CREATION > lib/kactivities-stats/src/lib/stats/query.h PRE-CREATION > lib/kactivities-stats/src/lib/stats/query.cpp PRE-CREATION > lib/kactivities-stats/src/lib/stats/resultmodel.h PRE-CREATION > lib/kactivities-stats/src/lib/stats/resultmodel.cpp PRE-CREATION > lib/kactivities-stats/src/lib/stats/resultset.h PRE-CREATION > lib/kactivities-stats/src/lib/stats/resultset.cpp PRE-CREATION > lib/kactivities-stats/src/lib/stats/resultset_iterator.cpp PRE-CREATION > lib/kactivities-stats/src/lib/stats/resultwatcher.h PRE-CREATION > lib/kactivities-stats/src/lib/stats/resultwatcher.cpp PRE-CREATION > lib/kactivities-stats/src/lib/stats/terms.h PRE-CREATION > lib/kactivities-stats/src/lib/stats/terms.cpp PRE-CREATION > lib/kactivities-stats/src/lib/stats/version.h PRE-CREATION > lib/kactivities-stats/src/lib/stats/version.cpp PRE-CREATION > lib/kactivities-stats/src/utils/continue_with.h PRE-CREATION > lib/kactivities-stats/src/utils/d_ptr.h PRE-CREATION > lib/kactivities-stats/src/utils/d_ptr_implementation.h PRE-CREATION > lib/kactivities-stats/src/utils/dbusfuture_p.h PRE-CREATION > lib/kactivities-stats/src/utils/dbusfuture_p.cpp PRE-CREATION > lib/kactivities-stats/src/utils/debug_and_return.h PRE-CREATION > lib/kactivities-stats/src/utils/for_each_assoc.h PRE-CREATION > lib/kactivities-stats/src/utils/lazy_val.h PRE-CREATION > lib/kactivities-stats/src/utils/member_matcher.h PRE-CREATION > lib/kactivities-stats/src/utils/merge_into.h PRE-CREATION > lib/kactivities-stats/src/utils/qsqlquery_iterator.h PRE-CREATION > lib/kactivities-stats/src/utils/qsqlquery_iterator.cpp PRE-CREATION > lib/kactivities-stats/src/utils/range.h PRE-CREATION > lib/kactivities-stats/src/utils/remove_if.h PRE-CREATION > lib/kactivities-stats/src/utils/slide.h PRE-CREATION > lib/kactivities-stats/update.sh PRE-CREATION > > Diff: https://git.reviewboard.kde.org/r/123088/diff/ > > > Testing > ------- > > > Thanks, > > Ivan Čukić > > --===============8327081534620609975== MIME-Version: 1.0 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: 8bit
This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/123088/

On March 26th, 2015, 3:34 p.m. UTC, Hrvoje Senjan wrote:

the library doesn't seem to like boost 1.56:

In file included from ../lib/kactivities-stats/src/lib/stats/resultset.cpp:425:
../lib/kactivities-stats/src/lib/stats/resultset_iterator.cpp:78:14: error: no viable conversion from 'const boost::optional<Result>' to 'bool'
        bool thisValid  = currentValue;
             ^            ~~~~~~~~~~~~
../lib/kactivities-stats/src/lib/stats/resultset_iterator.cpp:79:14: error: no viable conversion from 'const boost::optional<Result>' to 'bool'
        bool otherValid = other.currentValue;
             ^            ~~~~~~~~~~~~~~~~~~
../lib/kactivities-stats/src/lib/stats/resultset_iterator.cpp:96:16: error: no viable conversion from 'const boost::optional<Result>' to 'bool'
        return currentValue;
               ^~~~~~~~~~~~
1 warning and 3 errors generated.

or with gcc:

[  232s] In file included from /home/abuild/rpmbuild/BUILD/plasma-desktop-5.2.91git~20150326T143831~cc30975/lib/kactivities-stats/src/lib/<
 /span>stats/resultset.cpp:425:0:
[  232s] /home/abuild/rpmbuild/BUILD/plasma-desktop-5.2.91git~20150326T143831~cc30975/lib/kactivities-stats/src/lib/stats/resultset_iterator.cpp: In member function 'bool KActivities::Experimental::Stats::ResultSet::const_iterator::Private::operator==(const KActivities::Experimental::Stats::ResultSet::const_iterator::Private&) const':
[  232s] /home/abuild/rpmbuild/BUILD/plasma-desktop-5.2.91git~20150326T143831~cc30975/lib/kactivities-stats/src/lib/stats/resultset_iterator.cpp:76:27: error: cannot convert 'const boost::optional<KActivities::Experimental::Stats::ResultSet::Result>' to 'bool' in initialization
[  232s]          bool thisValid  = currentValue;
[  232s]                            ^
[  232s] /home/abuild/rpmbuild/BUILD/plasma-desktop-5.2.91git~20150326T143831~cc30975/lib/kactivities-stats/src/lib/stats/resultset_iterator.cpp:77:33: error: cannot convert 'const boost::optional<KActivities::Experimental::Stats::ResultSet::Result>' to 'bool' in initialization
[  232s]          bool otherValid = other.currentValue;
[  232s]                                  ^
[  232s] /home/abuild/rpmbuild/BUILD/plasma-desktop-5.2.91git~20150326T143831~cc30975/lib/kactivities-stats/src/lib/stats/resultset_iterator.cpp: In member function 'bool KActivities::Experimental::Stats::ResultSet::const_iterator::Private::isValid() const':
[  232s] /home/abuild/rpmbuild/BUILD/plasma-desktop-5.2.91git~20150326T143831~cc30975/lib/kactivities-stats/src/lib/stats/resultset_iterator.cpp:94:16: error: cannot convert 'const boost::optional<KActivities::Experimental::Stats::ResultSet::Result>' to 'bool' in return
[  232s]          return currentValue;
[  232s]                 ^

On March 26th, 2015, 7:56 p.m. UTC, Ivan Čukić wrote:

Is it fixed if you replace with this (seems this is a nice 1.56 bug):

bool thisValid = !!currentValue; bool otherValid = !!other.currentValue;

On March 26th, 2015, 8:01 p.m. UTC, Alex Richardson wrote:

Seems they are using c++11 explicit operator bool(), so I wouldn't call it a bug but intentional.

On March 26th, 2015, 8:07 p.m. UTC, Hrvoje Senjan wrote:

builds with https://build.opensuse.org/package/view_file/KDE:Unstable:Frameworks/plasma5-desktop/boost.diff?expand=1

@Alex, yes, it seems intentional. Then I'd call it an intentional bug :) (api break, if nothing else)

@Hrvoje master now contains a fixed version


- Ivan


On March 26th, 2015, 1:47 p.m. UTC, Ivan Čukić wrote:

Review request for Plasma, Eike Hein and Marco Martin.
By Ivan Čukić.

Updated March 26, 2015, 1:47 p.m.

Repository: plasma-desktop

Description

The experimental library can not land in the kactivities framework just yet. Since it is to be used by plasma-desktop in the next release, we need to include it (for the time being) in p-d.

The idea came from Eike. While it has downsides, it also has a few benefits: - no need to have a monthly release cycle, so we can actually do work without much bureaucracy surrounding API and ABI compatibility; - when the library becomes stable, it will move to KActivities and lose the 'experimental' part of the name. This means that the distributions will not have issues of two packages providing the same files; - no need to sync the releases and think about which KActivities version plasma 5.x will be used against; - I guess I'm forgetting more benefits. :)

The patch includes update.sh script that syncs this code with that in KActivities. (the development should still be in the KActivities ivan/libkactivities-experimental-stats branch)

Diffs

  • CMakeLists.txt (8714f89)
  • lib/kactivities-stats/CMakeLists.txt (PRE-CREATION)
  • lib/kactivities-stats/KF5ActivitiesExperimentalStatsConfig.cmake.in (PRE-CREATION)
  • lib/kactivities-stats/README (PRE-CREATION)
  • lib/kactivities-stats/src/CMakeLists.txt (PRE-CREATION)
  • lib/kactivities-stats/src/Messages.sh (PRE-CREATION)
  • lib/kactivities-stats/src/common/database/Database.h (PRE-CREATION)
  • lib/kactivities-stats/src/common/database/Database.cpp (PRE-CREATION)
  • lib/kactivities-stats/src/common/database/schema/ResourcesDatabaseSchema.h (PRE-CREATION)
  • lib/kactivities-stats/src/common/database/schema/ResourcesDatabaseSchema.cpp (PRE-CREATION)
  • lib/kactivities-stats/src/common/dbus/common.h (PRE-CREATION)
  • lib/kactivities-stats/src/common/dbus/org.kde.ActivityManager.Activities.h (PRE-CREATION)
  • lib/kactivities-stats/src/common/dbus/org.kde.ActivityManager.Activities.cpp (PRE-CREATION)
  • lib/kactivities-stats/src/common/dbus/org.kde.ActivityManager.Activities.xml (PRE-CREATION)
  • lib/kactivities-stats/src/common/dbus/org.kde.ActivityManager.Features.xml (PRE-CREATION)
  • lib/kactivities-stats/src/common/dbus/org.kde.ActivityManager.Resources.xml (PRE-CREATION)
  • lib/kactivities-stats/src/common/dbus/org.kde.ActivityManager.ResourcesLinking.xml (PRE-CREATION)
  • lib/kactivities-stats/src/common/dbus/org.kde.ActivityManager.ResourcesScoring.xml (PRE-CREATION)
  • lib/kactivities-stats/src/common/specialvalues.h (PRE-CREATION)
  • lib/kactivities-stats/src/lib/CMakeLists.txt (PRE-CREATION)
  • lib/kactivities-stats/src/lib/stats/CMakeLists.txt (PRE-CREATION)
  • lib/kactivities-stats/src/lib/stats/activitiessync_p.h (PRE-CREATION)
  • lib/kactivities-stats/src/lib/stats/activitiessync_p.cpp (PRE-CREATION)
  • lib/kactivities-stats/src/lib/stats/libKActivitiesExperimentalStats.pc.cmake (PRE-CREATION)
  • lib/kactivities-stats/src/lib/stats/query.h (PRE-CREATION)
  • lib/kactivities-stats/src/lib/stats/query.cpp (PRE-CREATION)
  • lib/kactivities-stats/src/lib/stats/resultmodel.h (PRE-CREATION)
  • lib/kactivities-stats/src/lib/stats/resultmodel.cpp (PRE-CREATION)
  • lib/kactivities-stats/src/lib/stats/resultset.h (PRE-CREATION)
  • lib/kactivities-stats/src/lib/stats/resultset.cpp (PRE-CREATION)
  • lib/kactivities-stats/src/lib/stats/resultset_iterator.cpp (PRE-CREATION)
  • lib/kactivities-stats/src/lib/stats/resultwatcher.h (PRE-CREATION)
  • lib/kactivities-stats/src/lib/stats/resultwatcher.cpp (PRE-CREATION)
  • lib/kactivities-stats/src/lib/stats/terms.h (PRE-CREATION)
  • lib/kactivities-stats/src/lib/stats/terms.cpp (PRE-CREATION)
  • lib/kactivities-stats/src/lib/stats/version.h (PRE-CREATION)
  • lib/kactivities-stats/src/lib/stats/version.cpp (PRE-CREATION)
  • lib/kactivities-stats/src/utils/continue_with.h (PRE-CREATION)
  • lib/kactivities-stats/src/utils/d_ptr.h (PRE-CREATION)
  • lib/kactivities-stats/src/utils/d_ptr_implementation.h (PRE-CREATION)
  • lib/kactivities-stats/src/utils/dbusfuture_p.h (PRE-CREATION)
  • lib/kactivities-stats/src/utils/dbusfuture_p.cpp (PRE-CREATION)
  • lib/kactivities-stats/src/utils/debug_and_return.h (PRE-CREATION)
  • lib/kactivities-stats/src/utils/for_each_assoc.h (PRE-CREATION)
  • lib/kactivities-stats/src/utils/lazy_val.h (PRE-CREATION)
  • lib/kactivities-stats/src/utils/member_matcher.h (PRE-CREATION)
  • lib/kactivities-stats/src/utils/merge_into.h (PRE-CREATION)
  • lib/kactivities-stats/src/utils/qsqlquery_iterator.h (PRE-CREATION)
  • lib/kactivities-stats/src/utils/qsqlquery_iterator.cpp (PRE-CREATION)
  • lib/kactivities-stats/src/utils/range.h (PRE-CREATION)
  • lib/kactivities-stats/src/utils/remove_if.h (PRE-CREATION)
  • lib/kactivities-stats/src/utils/slide.h (PRE-CREATION)
  • lib/kactivities-stats/update.sh (PRE-CREATION)

View Diff

--===============8327081534620609975==-- --===============2277702424914626107== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KUGxhc21hLWRl dmVsIG1haWxpbmcgbGlzdApQbGFzbWEtZGV2ZWxAa2RlLm9yZwpodHRwczovL21haWwua2RlLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL3BsYXNtYS1kZXZlbAo= --===============2277702424914626107==--