Re: Submitting KTextTemplate for KF6

2022-04-02 Thread Stephen Kelly


On 05/03/2022 18:16, Ben Cooksley wrote:

On Sun, Mar 6, 2022 at 6:00 AM Stephen Kelly  wrote:


On 26/02/2022 10:38, Volker Krause wrote:
> On Sonntag, 20. Februar 2022 16:02:59 CET Stephen Kelly wrote:
>> Hello,
>>
>> The Qt 5 based Grantlee libraries were depended on by some KDE
applications.
>>
>> For Qt 6, I've created a separate repo for KTextTemplate for
one of the
>> Grantlee libraries. The other library is separate and can be
dealt with
>> separately.
>>
>> Currently the code lives here:
>>
>> https://github.com/steveire/ktexttemplate
>>
>> I'd like to get the process moving on getting this reviewed and
into KF6.
>>
>> It's not clear to me what the next step is. I tried googling
terms like
>> "how to submit a library to kde frameworks", but didn't find
anything
>> useful.
>>
>> https://techbase.kde.org/KDE_Frameworks describes how to build
>> frameworks, but not how to submit a new one.
>>
>> I've checked and I can still use invent.kde.org
<http://invent.kde.org>, so it would be good if
>> there is a standard process I can follow for the rest.
> I don't think the process of integrating a so far external
project into
> Frameworks happened often enough for this to be documented as a
streamlined
> process. I'd suggest the following steps:
>
> (1) Import the repo into invent.kde.org <http://invent.kde.org>
> (2) Go through the KDE Review process
> (3) Request inclusion into Frameworks
>
> Happy to see this moving :)


Ok. I was thinking there might be some 'review' area of
invent.k.o, but
I've just made

https://invent.kde.org/skelly/ktexttemplate

Does that satisfy (1)?


It starts the process yes.


I think there are changes like CamelCase headers to conform to KF6
norms. I'm not sure if others can help with that now. Can any KDE
account push to the above repo?


No, only you are able to push to that repository, but people can send 
you merge requests.


To give people access to the repository you can either:
a) Invite the teams/kde-developers group to the repository as a 
'Developer' which will grant access to it; or



I've done this part now.

I thought I started the KDE Review process when I sent the original 
email here, but without a written-down process I'm not certain.


Maybe things can be moved along now?

Thanks,

Stephen.



Re: Submitting KTextTemplate for KF6

2022-03-05 Thread Stephen Kelly



On 26/02/2022 10:38, Volker Krause wrote:

On Sonntag, 20. Februar 2022 16:02:59 CET Stephen Kelly wrote:

Hello,

The Qt 5 based Grantlee libraries were depended on by some KDE applications.

For Qt 6, I've created a separate repo for KTextTemplate for one of the
Grantlee libraries. The other library is separate and can be dealt with
separately.

Currently the code lives here:

https://github.com/steveire/ktexttemplate

I'd like to get the process moving on getting this reviewed and into KF6.

It's not clear to me what the next step is. I tried googling terms like
"how to submit a library to kde frameworks", but didn't find anything
useful.

https://techbase.kde.org/KDE_Frameworks describes how to build
frameworks, but not how to submit a new one.

I've checked and I can still use invent.kde.org, so it would be good if
there is a standard process I can follow for the rest.

I don't think the process of integrating a so far external project into
Frameworks happened often enough for this to be documented as a streamlined
process. I'd suggest the following steps:

(1) Import the repo into invent.kde.org
(2) Go through the KDE Review process
(3) Request inclusion into Frameworks

Happy to see this moving :)



Ok. I was thinking there might be some 'review' area of invent.k.o, but 
I've just made


https://invent.kde.org/skelly/ktexttemplate

Does that satisfy (1)?

I think there are changes like CamelCase headers to conform to KF6 
norms. I'm not sure if others can help with that now. Can any KDE 
account push to the above repo?


Thanks,

Stephen.



Submitting KTextTemplate for KF6

2022-02-20 Thread Stephen Kelly



Hello,

The Qt 5 based Grantlee libraries were depended on by some KDE applications.

For Qt 6, I've created a separate repo for KTextTemplate for one of the 
Grantlee libraries. The other library is separate and can be dealt with 
separately.


Currently the code lives here:

https://github.com/steveire/ktexttemplate

I'd like to get the process moving on getting this reviewed and into KF6.

It's not clear to me what the next step is. I tried googling terms like 
"how to submit a library to kde frameworks", but didn't find anything 
useful.


https://techbase.kde.org/KDE_Frameworks describes how to build 
frameworks, but not how to submit a new one.


I've checked and I can still use invent.kde.org, so it would be good if 
there is a standard process I can follow for the rest.


Thanks,

Stephen.




Re: CMake config & target challenges on moving to KF5 namespace; dir structure & API dox (Re: Submitting Grantlee as a KF5 Framework)

2019-12-30 Thread Stephen Kelly



On 30/12/2019 10:55, Christoph Cullmann wrote:

Hi,


With my KTextEditor hat on: KF6:TextDocument implies somehow a link
to QTextDocument or KF6:TextEditor, which both is incorrect, right?


QTextDocument is exactly what it's about, which makes the name
KF6::TextDocument fully appropriate and correct.


Before starting this work, let's clarify whether we can find a more
unique name (like KF6:GrantleeTextDocument).


The name I suggest is already correct.


Since I haven't used Grantlee yet, I sm likely not the best person
to find a better name ;)


Remember, Grantlee is a set of Frameworks (*Just like KF5/6*) which
happens to contain just TWO independent libraries.


Hmm, I am not that sure about that naming.



Let's discuss it in the future (when KF6 is open) when everyone 
participating in the discussion can know what is being discussed.


Thanks,

Stephen.



Re: CMake config & target challenges on moving to KF5 namespace; dir structure & API dox (Re: Submitting Grantlee as a KF5 Framework)

2019-12-30 Thread Stephen Kelly


On 30/12/2019 08:55, Dominik Haumann wrote:

Hi,

Stephen Kelly mailto:steve...@gmail.com>> schrieb 
am So., 29. Dez. 2019, 15:03:



On 28/12/2019 23:30, Friedrich W. H. Kossebau wrote:
> Why are you proposing to do a step back instead to the old
state, which
> everyone including you considered not that satisfying?

Because it's a temporary situation. We still have a way forward in
KF6
(which will open in a few months).


Generally, getting Grantlee into KF5 now also establishes the wrong
precedent. Grantlee should be split into two repos each with a tier 1
library (KF6::TextDocument and KF6::TextTemplate). The two are
independent and have nothing to do with each other aside from
authorship. That seems to be something you were objecting to, so I
want
to make sure that's something addressed on its own. The two KF6
libraries will then follow the KF6 naming conventions etc.


With my KTextEditor hat on: KF6:TextDocument implies somehow a link to 
QTextDocument or KF6:TextEditor, which both is incorrect, right?



QTextDocument is exactly what it's about, which makes the name 
KF6::TextDocument fully appropriate and correct.





Before starting this work, let's clarify whether we can find a more 
unique name (like KF6:GrantleeTextDocument).




The name I suggest is already correct.


Since I haven't used Grantlee yet, I sm likely not the best person to 
find a better name ;)



Remember, Grantlee is a set of Frameworks (*Just like KF5/6*) which 
happens to contain just TWO independent libraries.



Thanks,


Stephen.





Re: CMake config & target challenges on moving to KF5 namespace; dir structure & API dox (Re: Submitting Grantlee as a KF5 Framework)

2019-12-29 Thread Stephen Kelly



On 28/12/2019 23:30, Friedrich W. H. Kossebau wrote:

Why are you proposing to do a step back instead to the old state, which
everyone including you considered not that satisfying?


Because it's a temporary situation. We still have a way forward in KF6 
(which will open in a few months).



Generally, getting Grantlee into KF5 now also establishes the wrong 
precedent. Grantlee should be split into two repos each with a tier 1 
library (KF6::TextDocument and KF6::TextTemplate). The two are 
independent and have nothing to do with each other aside from 
authorship. That seems to be something you were objecting to, so I want 
to make sure that's something addressed on its own. The two KF6 
libraries will then follow the KF6 naming conventions etc.




I hope my personal objections raised about it becoming an official KF module
already now have not arrived with you as objection in general.



Not at all. I agree that the two libraries should be consistent with the 
rest of the Frameworks.




On the
opposite, I agree with the ideas behind this move. I have just strict feeling
about KF as a product itself when it comes to consumer as well as cross-module
ontributor experience.
So please be aware that I would be sad if you decided to have Grantlee go back
to lonely cowboy mode :)



Only temporarily :).

Thanks,

Stephen.




Re: CMake config & target challenges on moving to KF5 namespace; dir structure & API dox (Re: Submitting Grantlee as a KF5 Framework)

2019-12-28 Thread Stephen Kelly



On 22/12/2019 16:08, Stephen Kelly wrote:


On 21/12/2019 23:55, Friedrich W. H. Kossebau wrote:
Perhaps joining the "Release Service" (formerly known as "KDE 
Applications")

is a better place then, it also contains a set of libraries already.
That would serve the purpose of having releases happening regularly.



The goals of making Grantlee a Framework are:

* Make more frequent releases which don't depend on me

* Make it more easy for others to contribute to development


I think at the point that renaming happens, the name Grantlee will 
disappear, and we'll have two libraries (KF5::TextDocument and 
KF5::TextTemplates or so in CMake and probably removing the C++ 
namespace).


I think all of that should be done together and I don't think that 
should be done until compatibility is broken to become Qt6-based (KF6).



My conclusion from reading this thread is that this is the way forward:

* Grantlee does not become a KF5 framework. I'll continue to make 
releases from github if needed based on Qt 5. We can consider 
re-evaluating that in the future.


* For KF6, I will submit two separate Tier 1 frameworks, in two 
different repos, what I here called ktextdocument/KF6::TextDocument and 
ktexttemplate/KF6::TextTemplate


The two libraries are independent. Having them in the same KF* repo 
doesn't make sense.


Thanks,

Stephen.




Re: CMake config & target challenges on moving to KF5 namespace; dir structure & API dox (Re: Submitting Grantlee as a KF5 Framework)

2019-12-22 Thread Stephen Kelly



On 21/12/2019 23:55, Friedrich W. H. Kossebau wrote:

Perhaps joining the "Release Service" (formerly known as "KDE Applications")
is a better place then, it also contains a set of libraries already.
That would serve the purpose of having releases happening regularly.



The goals of making Grantlee a Framework are:

* Make more frequent releases which don't depend on me

* Make it more easy for others to contribute to development


I think at the point that renaming happens, the name Grantlee will 
disappear, and we'll have two libraries (KF5::TextDocument and 
KF5::TextTemplates or so in CMake and probably removing the C++ namespace).


I think all of that should be done together and I don't think that 
should be done until compatibility is broken to become Qt6-based (KF6).


If joining the Release Service helps reach the goals, and there is 
consensus that Grantlee can't be a framework without partial renaming 
(ie renaming the CMake interface but little else) in KF5, then that 
might be the way to go.


Thanks,

Stephen.




Re: CMake config & target challenges on moving to KF5 namespace; dir structure & API dox (Re: Submitting Grantlee as a KF5 Framework)

2019-12-21 Thread Stephen Kelly



On 21/12/2019 19:12, Friedrich W. H. Kossebau wrote:

Am Samstag, 21. Dezember 2019, 13:03:17 CET schrieb Stephen Kelly:

Great, Grantlee is now available at g...@git.kde.org:grantlee.git.

I've pushed a few commits to make it depend on ECM etc.

Once the review period is finished it can be part of KF5 releases.

There are quite some things which yet need to be done for now:
to be a true KF module there is a set of policies which needs to be met, see
https://community.kde.org/Frameworks/Policies

1) Framework directory structure:
moving stuff into src/, autotests/ & docs/
2) Framework documentation:
current system needs adaption to both online (KApiDox) and
offline (ECMAddQCH) systems



Cool, I wonder if there's another multi-library framework for comparison?



Another challenge would be moving into the KF5 namespace for the library
artifacts (at least I would expect/recommend this to happen, for consistent
user experience)
a) include dirs below subdir KF5/
b) CMake modules with KF5 prefix
c) CMake imported target in KF5 namespace



I don't support changing things like this in the KF5 timeframe.



Now, the question is if we want Grantlee to be backwards-compatible after the
move into KDE Frameworks, or if some breakage is possible?

When it comes to CMake targets & modules, the first challenge is:

Grantlee5 supports components, "Templates" & "TextDocument". To allow people
doing e.g.
--- 8< ---
find_package(Grantlee5 CONFIG COMPONENTS Templates)
--- 8< ---
So when Grantlee becomes a component in KF5 itself, so people would use for
finding it
--- 8< ---
find_package(KF5 CONFIG COMPONENTS Grantlee)
--- 8< ---
these two, "Templates" & "TextDocument", would need to become subcomponents.
Which though is a concept CMake does not support.

So what to do here? Split Grantlee into two separate libs, with separate CMake
config files? Done by KF5NewStuff, where one repo provides 2 separate configs.
Or just merge and do not allow making dep chain more narrow (Grantlee's
TextDocument pulls in QtGui as dep, so fails if no devel package not present)?


Then Grantlee's CMake module brings two namespaced imported targets:
* Grantlee5::Templates
* Grantlee5::TextDocument
With Grantlee being part of KDE Frameworks, one would expect to have targets
named like
* KF5::GrantleeTemplates
* KF5::GrantleeTextDocument
or similar.


I'm fine with any of this kind of stuff in the KF6 timeframe.



Just, seems CMake does not expect the use case of exporting targets with
different names, there is only one property available to set the base name,
cmp. current
--- 8< ---
set_property(TARGET Grantlee_Templates PROPERTY EXPORT_NAME Templates)
--- 8< ---
So when wanting to keep backward compatibility, we are stuck here with the old
basenames.
Do you know any simple trick to have a separate CMake config file with
separate imported targets, which still refer to the same library executable?
Never done myself, so no idea what could be done. Doing a separate target and
exporting that one will fail possibly once trying to set OUTPUT_NAME property
to the same,
Perhaps one could do a manual cmake config file which has the old one as
find_dependency and then defines an alias target on the imported target?



I don't think any of this matters in the KF6 timeframe.

Thanks,

Stephen.




Re: CMake config & target challenges on moving to KF5 namespace; dir structure & API dox (Re: Submitting Grantlee as a KF5 Framework)

2019-12-21 Thread Stephen Kelly



On 21/12/2019 21:33, Volker Krause wrote:

* Attracting external components and having them opt to move under the
Frameworks umbrella is a sign that we are doing things right IMHO. So let's
make this easy for people and avoid scaring off their users by forcing a
larger migration on them when joining Frameworks.



I definitely want to keep things as they are. Grantlee has lots of 
users. The mutual advantages of making Grantlee a KF5 Framework without 
changing how it's used in CMake (aside from a few minor details like the 
fact of the ECM dependency) are what makes KF5 attractive.




* We are less than two years away from KF6, a time where people expect to have
to do a larger migration anyway. Deferring some of the necessary changes to
then might be a compromise that works for now.



This seems like the right way to me. Let's make the fundamental changes 
for KF6. The timing of KF6 and the introduction of Grantlee to KF5 are 
favorable to that.



Another option is to skip KF5 and make Grantlee a KF6 frameworks 
whenever that opens.




Thoughts?

Thanks,
Volker

PS: @Steve: I missed the doxygen discussion on IRC earlier, customizing
doxygen is possible via docs/Doxyfile.local, which just gets appended to the
Doxyfile from kapidox IIUC, maybe that helps already?



Cool, I'll look into it.

Thanks,

Stephen.




Re: Submitting Grantlee as a KF5 Framework

2019-12-21 Thread Stephen Kelly



On 08/12/2019 10:12, laurent Montel wrote:

Le dimanche 8 décembre 2019, 10:52:19 CET Volker Krause a écrit :

Hi,

very happy to see Grantlee "coming home" :)

Technically I think it's largely in line with Frameworks requirements
already, and it has been reliably powering e.g. KMail's message viewer for
years. Moving to a faster and, more importantly, predictable release cycle
would help us a lot with upstreaming extensions and improvements though,
and would allow us to get rid of some repeated code in applications.

Indeed same for kaddressbook/knotes/akregator :)


Longer term I'd also hope we can add the support for QtGui types (icons,
colors, palettes, etc) that is currently spread around application code,
either as a plugin in the Grantlee repo directly, or as a tier 2 framework
on top.

So, definitely a +1 from me!

+1 for me too



Great, Grantlee is now available at g...@git.kde.org:grantlee.git.

I've pushed a few commits to make it depend on ECM etc.

Once the review period is finished it can be part of KF5 releases.

Thanks,

Stephen.




Submitting Grantlee as a KF5 Framework

2019-12-06 Thread Stephen Kelly



Hello,

I have been developing Grantlee for over 10 years with contributions 
from a community of others mostly connected with KDE.


 https://github.com/steveire/grantlee

I have not been able to maintain a reasonable release cadence of 
Grantlee in the last few years (last release 3 years ago), so I'm 
submitting Grantlee to KDE Review with the aim of addition to KDE 
Frameworks.


Grantlee consists of two libraries,

* Grantlee::Templates is a text-template system based on Qt introspection
* Grantlee::TextDocument is a builder design pattern implementation for 
processing QTextDocuments


Grantlee is already a dependency of several KDE applications, but it is 
treated as an external dependency. This change would make it a Tier 1 
KDE Framework.


$ apt-cache rdepends libgrantlee-templates5
libgrantlee-templates5
Reverse Depends:
  libgrantlee5-dev
  skrooge
  rocs
  libkf5pimcommon5abi3
  libkf5messageviewer5abi5
  libkf5messageviewer-plugins
  libkf5kaddressbookgrantlee5
  libkf5grantleetheme5
  libkf5grantleetheme-plugins
  libkf5calendarutils5abi1
  libkf5calendarutils-bin
  kdepim-addons
  kjots
  khelpcenter
  kdevelop52-libs
  kdevelop
$ apt-cache rdepends libgrantlee-textdocument5
libgrantlee-textdocument5
Reverse Depends:
  libgrantlee5-dev
  libkf5pimtextedit5abi3
  libkf5messageviewer5abi5
  libkf5messagecomposer5abi2
  kjots


My intention is to make one more release of Grantlee myself before 
turning it into a KDE Frameworks repository.


I don't think much needs to change in terms of the C++ code.  The 
namespace would remain Grantlee:: etc, so that releases made from KDE 
Frameworks will be binary compatible with previous Grantlee5 releases.


However, I've not been putting time into making releases (The last 
release was over 3 years ago).


This is a proposal to submit Grantlee as a KF5 repository. It should be 
a natural addition to the KF5 ecosystem. This move will mean:


* Grantlee will be released regularly as part of KF5
* All KDE contributors will have the commit bit to make changes
* My guilt about lack of releases will be reduced

Grantlee::Templates depends on QtQml for script bindings (can be 
disabled at build time).

Grantlee::TextDocument depends only on QtGui.


I'm not quite familiar with what needs to happen to complete this 
transition. It seems to me that something along these lines ought to do it:


* I make one last release of Grantlee myself
* Set up a new KDE repository for me to push to
* Integrate KF5 buildsystem into Grantlee (ECM for example)
* Set up CI for that repository
* Set up doxygen generation for the repository
* Transfer grantlee.org to KDE sysadmin

Grantlee already has ki18n integration in the form of a library 
implementing Grantlee abstractions:


 https://cgit.kde.org/grantleetheme.git/about/

Initial reviews and comments welcome!

Thanks,

Stephen.


Re: [Kde-bindings] A new attempt on PyKDE5 binding generation

2016-04-07 Thread Stephen Kelly
Albert Astals Cid wrote:

> El divendres, 8 d’abril de 2016, a les 0:29:57 CEST, Stephen Kelly va
> escriure:
>> Albert Astals Cid wrote:
>> > So my suggestion would be renaming pykde5.git to pykf5.git, and that
>> > means *only* KDE Frameworks 5 bindings would go in there, any other
>> > repo that wants to provide python bindings (say okular, marble or
>> > krita) should do somewhere else, ideally their own repo so the binding
>> > and the original code are close together and it's easier to keep in
>> > sync when api changes.
>> 
>> FYI, this issue came up recently in the context of bindings to another
>> language (QML):
>> 
>>  
http://thread.gmane.org/gmane.comp.kde.devel.frameworks/30734/focus=30770
>> 
>> I'm not very familiar with python bindings generally. Would it be
>> practical to put the bindings in the same repo as the library they relate
>> to?
> 
> See the answer he made to one of my previous emails, in short no.

Ah, yes. I see that this exact issue was discussed already. I wasn't reading 
closely enough when catching up on this thread, so sorry for that.

However, the answer doesn't seem to shorten to 'no' to me. 

A CMake macro can be put in extra-cmake-modules, and the tools for binding 
generation can be put 'somewhere' which doesn't constitute a 'part of the 
tiers' in the same way that ECM is not 'part of the tiers' for the purpose 
of deciding 'what is tier 1'.

If there's no packaging-related reason to avoid that approach, I wonder if 
we can discuss it.

Thanks,

Steve.




Re: [Kde-bindings] A new attempt on PyKDE5 binding generation

2016-04-07 Thread Stephen Kelly
Albert Astals Cid wrote:

> So my suggestion would be renaming pykde5.git to pykf5.git, and that means
> *only* KDE Frameworks 5 bindings would go in there, any other repo that
> wants to provide python bindings (say okular, marble or krita) should do
> somewhere else, ideally their own repo so the binding and the original
> code are close together and it's easier to keep in sync when api changes.

FYI, this issue came up recently in the context of bindings to another 
language (QML):

 http://thread.gmane.org/gmane.comp.kde.devel.frameworks/30734/focus=30770

I'm not very familiar with python bindings generally. Would it be practical 
to put the bindings in the same repo as the library they relate to?

Thanks,

Steve.




Re: Fwd: Required VS compiler

2016-03-21 Thread Stephen Kelly
Dominik Haumann wrote:

> I still see QStringLiteral fixes from time to time on the commit
> mailing list. Given MSVC 2015 Community Edition is available
> just like v2013, and it seems to work I believe that committing
> such fixes does not make sense, in fact, it often makes code
> worse.

If the QStringLiteral fixes you are referring to are changing eg

 QStringLiteral("foo" "bar")

I too noticed MSVC 2015 handles that fine while investigating

 https://llvm.org/bugs/show_bug.cgi?id=26980

Thanks,

Steve.




Re: Review Request 124824: [OS X] FindKDE4Internal.cmake : reintroduce a cmake_minimum_required statement

2015-08-21 Thread Stephen Kelly


 On Aug. 19, 2015, 6:06 p.m., Stephen Kelly wrote:
  This patch is not correct. 
  
  What repo were you trying to build? Add cmake_minimum_required(VERSION 
  2.8.9) there.
 
 Stephen Kelly wrote:
 Why did this review go quiet? Did you pull and realize that line was 
 already there in whatever repo you're looking at?
 
 René J.V. Bertin wrote:
 What, my 2 replies below aren't sufficient? :) If you missed them, that'd 
 probably support of my idea that most KDE devs are focussed away from 
 flogging dead horses (i.e., KDE4 code, to quote one of those devs, a rather 
 visible one I won't name).
 
 No, I didn't pull whatever repo after pulling the 4.14 branch head of one 
 of the KDE PIM components and bumping into this error.
 
 Luigi Toscano wrote:
 David Faure, durink Akademy, was rebuilding the last kdelibs4 branch for 
 most applications, I think to ensure that the changes in the default cmake 
 policy did not break them.
 He did various fixes, so I think that fixing this in the proper way 
 (which I can't help to, sorry) would be good.
 
 René J.V. Bertin wrote:
 And he did a good job *on Linux* to the extent that I haven't been able 
 to trigger the issue on my Linux rig (Kubuntu 14.04.3LTS with cmake 3.0.1). 
 Which is why my patch is Mac-specific.
 
 
 But frankly, I don't see the point in obliging each and every dependent 
 project to declare the minimum required cmake version. Not if that's not a 
 requirement of cmake itself, nor of the project, but of one of the libraries 
 it uses. I really don't see how this is different from, say, declaring CMake 
 macros that are specific to KDE and not to a given dependent project.
 
 On the contrary, it seems clear that the version requirement stems from 
 something done in (or included by) a cmake file that's installed through 
 kdelibs. In my book that makes it kdelibs' responsibility to declare the 
 minimum required version. If it's not yet set, and/or as long as subsequent 
 calls to `cmake_minimum_required` do not override (= downgrade) minimum 
 versions set by preceding calls.
 
 That said, I'm going to have to get back to my Mac to verify why I 
 apparently missed kdepim commit 8a187bc316271caed9c2591d91fb8706abe5c665 
 (Fix the build after yet another cmake policy change) or what else is going 
 on.

 Not if that's not a requirement of cmake itself

It is a requirement of cmake itself, and it has been for 6 years.


- Stephen


---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124824/#review84062
---


On Aug. 19, 2015, 5:41 p.m., René J.V. Bertin wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/124824/
 ---
 
 (Updated Aug. 19, 2015, 5:41 p.m.)
 
 
 Review request for KDE Software on Mac OS X and kdelibs.
 
 
 Repository: kdelibs
 
 
 Description
 ---
 
 The recent removal of the code block from FindKDE4Internal.cmake starting 
 with the `cmake_minimum_required` statement breaks configuring on OS X:
 
 ```
 -- The C compiler identification is AppleClang 6.0.0.657
 -- The CXX compiler identification is AppleClang 6.0.0.657
 -- Check for working C compiler: 
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
 -- Check for working C compiler: 
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
  -- works
 -- Detecting C compiler ABI info
 -- Detecting C compiler ABI info - done
 -- Detecting C compile features
 -- Detecting C compile features - done
 -- Check for working CXX compiler: 
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
 -- Check for working CXX compiler: 
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
  -- works
 -- Detecting CXX compiler ABI info
 -- Detecting CXX compiler ABI info - done
 -- Detecting CXX compile features
 -- Detecting CXX compile features - done
 -- Looking for Q_WS_X11
 -- Looking for Q_WS_X11 - not found
 -- Looking for Q_WS_WIN
 -- Looking for Q_WS_WIN - not found
 -- Looking for Q_WS_QWS
 -- Looking for Q_WS_QWS - not found
 -- Looking for Q_WS_MAC
 -- Looking for Q_WS_MAC - found
 -- Looking for QT_MAC_USE_COCOA
 -- Looking for QT_MAC_USE_COCOA - found
 -- Found Qt-Version 4.8.7 (using /opt/local/libexec/qt4/bin/qmake)
 -- Looking for include file pthread.h
 -- Looking for include file pthread.h - found
 -- Looking for pthread_create
 -- Looking for pthread_create - found
 -- Found Threads: TRUE  
 CMake Error at /opt/local/share/cmake-3.2/Modules/FindPkgConfig.cmake:112 
 (elseif):
   given arguments:
 
 VERSION_LESS 3.1

Re: Review Request 124824: [OS X] FindKDE4Internal.cmake : reintroduce a cmake_minimum_required statement

2015-08-19 Thread Stephen Kelly


 On Aug. 19, 2015, 6:03 p.m., Jeremy Whiting wrote:
  Ship It!

Don't ship it :).


- Stephen


---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124824/#review84061
---


On Aug. 19, 2015, 5:41 p.m., René J.V. Bertin wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/124824/
 ---
 
 (Updated Aug. 19, 2015, 5:41 p.m.)
 
 
 Review request for KDE Software on Mac OS X and kdelibs.
 
 
 Repository: kdelibs
 
 
 Description
 ---
 
 The recent removal of the code block from FindKDE4Internal.cmake starting 
 with the `cmake_minimum_required` statement breaks configuring on OS X:
 
 ```
 -- The C compiler identification is AppleClang 6.0.0.657
 -- The CXX compiler identification is AppleClang 6.0.0.657
 -- Check for working C compiler: 
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
 -- Check for working C compiler: 
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
  -- works
 -- Detecting C compiler ABI info
 -- Detecting C compiler ABI info - done
 -- Detecting C compile features
 -- Detecting C compile features - done
 -- Check for working CXX compiler: 
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
 -- Check for working CXX compiler: 
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
  -- works
 -- Detecting CXX compiler ABI info
 -- Detecting CXX compiler ABI info - done
 -- Detecting CXX compile features
 -- Detecting CXX compile features - done
 -- Looking for Q_WS_X11
 -- Looking for Q_WS_X11 - not found
 -- Looking for Q_WS_WIN
 -- Looking for Q_WS_WIN - not found
 -- Looking for Q_WS_QWS
 -- Looking for Q_WS_QWS - not found
 -- Looking for Q_WS_MAC
 -- Looking for Q_WS_MAC - found
 -- Looking for QT_MAC_USE_COCOA
 -- Looking for QT_MAC_USE_COCOA - found
 -- Found Qt-Version 4.8.7 (using /opt/local/libexec/qt4/bin/qmake)
 -- Looking for include file pthread.h
 -- Looking for include file pthread.h - found
 -- Looking for pthread_create
 -- Looking for pthread_create - found
 -- Found Threads: TRUE  
 CMake Error at /opt/local/share/cmake-3.2/Modules/FindPkgConfig.cmake:112 
 (elseif):
   given arguments:
 
 VERSION_LESS 3.1
 
   Unknown arguments specified
 Call Stack (most recent call first):
   /opt/local/share/cmake-3.2/Modules/FindPkgConfig.cmake:501 
 (_pkgconfig_parse_options)
   /opt/local/share/cmake-3.2/Modules/FindOpenSSL.cmake:43 (pkg_check_modules)
   /opt/local/share/apps/cmake/modules/Qt4ConfigDependentSettings.cmake:224 
 (FIND_PACKAGE)
   /opt/local/share/apps/cmake/modules/FindQt4.cmake:1207 (INCLUDE)
   /opt/local/share/apps/cmake/modules/FindKDE4Internal.cmake:425 
 (find_package)
   /opt/local/share/cmake-3.2/Modules/FindKDE4.cmake:108 (find_package)
   CMakeLists.txt:4 (find_package)
 
 
 -- Configuring incomplete, errors occurred!
 ```
 
 The attached patch is the minimum reintroduction of the removed code that 
 allows the cmake procedure to conclude successfully.
 
 CMake experts might be aware of other ways to address this issue more in line 
 with the reason the block was removed.
 
 
 Diffs
 -
 
   cmake/modules/FindKDE4Internal.cmake 7d54b9b 
 
 Diff: https://git.reviewboard.kde.org/r/124824/diff/
 
 
 Testing
 ---
 
 On OS X 10.9.5 with KDELibs 4.14.11 (v4.14.10-20-g150d983) and CMake 3.2.2 .
 
 The unmodified code from v4.14.10-20-g150d983 is fine on Linux with cmake 
 3.0.1 .
 
 
 Thanks,
 
 René J.V. Bertin
 




Re: Review Request 124824: [OS X] FindKDE4Internal.cmake : reintroduce a cmake_minimum_required statement

2015-08-19 Thread Stephen Kelly

---
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/124824/#review84062
---


This patch is not correct. 

What repo were you trying to build? Add cmake_minimum_required(VERSION 2.8.9) 
there.

- Stephen Kelly


On Aug. 19, 2015, 5:41 p.m., René J.V. Bertin wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 https://git.reviewboard.kde.org/r/124824/
 ---
 
 (Updated Aug. 19, 2015, 5:41 p.m.)
 
 
 Review request for KDE Software on Mac OS X and kdelibs.
 
 
 Repository: kdelibs
 
 
 Description
 ---
 
 The recent removal of the code block from FindKDE4Internal.cmake starting 
 with the `cmake_minimum_required` statement breaks configuring on OS X:
 
 ```
 -- The C compiler identification is AppleClang 6.0.0.657
 -- The CXX compiler identification is AppleClang 6.0.0.657
 -- Check for working C compiler: 
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
 -- Check for working C compiler: 
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
  -- works
 -- Detecting C compiler ABI info
 -- Detecting C compiler ABI info - done
 -- Detecting C compile features
 -- Detecting C compile features - done
 -- Check for working CXX compiler: 
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
 -- Check for working CXX compiler: 
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++
  -- works
 -- Detecting CXX compiler ABI info
 -- Detecting CXX compiler ABI info - done
 -- Detecting CXX compile features
 -- Detecting CXX compile features - done
 -- Looking for Q_WS_X11
 -- Looking for Q_WS_X11 - not found
 -- Looking for Q_WS_WIN
 -- Looking for Q_WS_WIN - not found
 -- Looking for Q_WS_QWS
 -- Looking for Q_WS_QWS - not found
 -- Looking for Q_WS_MAC
 -- Looking for Q_WS_MAC - found
 -- Looking for QT_MAC_USE_COCOA
 -- Looking for QT_MAC_USE_COCOA - found
 -- Found Qt-Version 4.8.7 (using /opt/local/libexec/qt4/bin/qmake)
 -- Looking for include file pthread.h
 -- Looking for include file pthread.h - found
 -- Looking for pthread_create
 -- Looking for pthread_create - found
 -- Found Threads: TRUE  
 CMake Error at /opt/local/share/cmake-3.2/Modules/FindPkgConfig.cmake:112 
 (elseif):
   given arguments:
 
 VERSION_LESS 3.1
 
   Unknown arguments specified
 Call Stack (most recent call first):
   /opt/local/share/cmake-3.2/Modules/FindPkgConfig.cmake:501 
 (_pkgconfig_parse_options)
   /opt/local/share/cmake-3.2/Modules/FindOpenSSL.cmake:43 (pkg_check_modules)
   /opt/local/share/apps/cmake/modules/Qt4ConfigDependentSettings.cmake:224 
 (FIND_PACKAGE)
   /opt/local/share/apps/cmake/modules/FindQt4.cmake:1207 (INCLUDE)
   /opt/local/share/apps/cmake/modules/FindKDE4Internal.cmake:425 
 (find_package)
   /opt/local/share/cmake-3.2/Modules/FindKDE4.cmake:108 (find_package)
   CMakeLists.txt:4 (find_package)
 
 
 -- Configuring incomplete, errors occurred!
 ```
 
 The attached patch is the minimum reintroduction of the removed code that 
 allows the cmake procedure to conclude successfully.
 
 CMake experts might be aware of other ways to address this issue more in line 
 with the reason the block was removed.
 
 
 Diffs
 -
 
   cmake/modules/FindKDE4Internal.cmake 7d54b9b 
 
 Diff: https://git.reviewboard.kde.org/r/124824/diff/
 
 
 Testing
 ---
 
 On OS X 10.9.5 with KDELibs 4.14.11 (v4.14.10-20-g150d983) and CMake 3.2.2 .
 
 The unmodified code from v4.14.10-20-g150d983 is fine on Linux with cmake 
 3.0.1 .
 
 
 Thanks,
 
 René J.V. Bertin
 




Re: Distros and QtWebEngine

2015-04-22 Thread Stephen Kelly
Lisandro Damián Nicanor Pérez Meyer wrote:

 Fair enough. One of them starts in [0], but there was another thread in
 which even Lars participated. So far I haven't been able to find it, I'll
 keep trying.
 
 Found the other one!

FYI, if you provide a gmane link, you provide the whole thread:

 http://thread.gmane.org/gmane.comp.lib.qt.devel/19929/focus=2

Thanks,

Steve.




Re: Syncing ECM release number with KF5

2015-04-02 Thread Stephen Kelly
 I have no particular objection,

So, what needs to be done to get this synced up? Bump the version in
the CMakeLists.txt and update some release-tarball-creating script?
David I guess the latter is for you?

Thanks,

Steve.


On Fri, Mar 27, 2015 at 7:49 PM, Michael Palimaka kensing...@gentoo.org wrote:
 On 28/03/15 03:48, Alex Merry wrote:
 On Wednesday 25 March 2015 22:35:24 Stephen Kelly wrote:
 Hello,

 ECM release numbers are in sync with KF5 release numbers, except for the
 major component.

 This means that if you want to build the 5.x.y release you have to download
 the 1.x.y release of ECM. That doubles the complexity of your script which
 downloads the tarball to build it.

 That is bad and it is not necessary.

 Let's sync the major number for the next release.

 At some point the reason to make them out of sync was to be able to make ECM
 releases more frequently. That is very rare because KF5 releases are
 happening every month. If ECM needs to make an out of band release, it can
 use the 4th version number component.

 I have no particular objection, although I think doubling the complexity of
 scripts is overstating things a little.

 Alex

 Is ECM actually part of KF5, or just happens to be released alongside
 it? (I thought the latter, hence the different version).

 FWIW the different version doesn't bother me at all as a downstream.



Re: Gitorious going offline

2015-03-16 Thread Stephen Kelly
On 03/16/2015 05:28 PM, Ivan Čukić wrote:
 From www.gitorious.org
 System notice: Gitorious is being acquired by GitLab and
 gitorious.org will shut down end of May. Please import your
 repositories to
 We still have a few projects on there. One notable being Grantlee (at
 least, my kdesrc-build looks for it over there).

 I guess this should be dealt with sooner than later. :)


I've pushed Grantlee to github:

 https://github.com/steveire/grantlee

Please update your scripts.

Thanks,

Steve.



Re: Gitorious going offline

2015-03-16 Thread Stephen Kelly
On 03/16/2015 05:28 PM, Ivan Čukić wrote:
 From www.gitorious.org
 System notice: Gitorious is being acquired by GitLab and
 gitorious.org will shut down end of May. Please import your
 repositories to
 We still have a few projects on there. One notable being Grantlee (at
 least, my kdesrc-build looks for it over there).

 I guess this should be dealt with sooner than later. :)


And thanks for being on-top of this :).




Re: frameworks build instructions wrong / won't work with kubuntu 14.04

2013-12-19 Thread Stephen Kelly
Harald Sitter wrote:

 xnox was nice enough to look into this in detail and identified the
 problem as having a much smaller scope than I had originally thought.

1) What is the problem? 

2) Why does the package creation result in broken cmake files generated from 
the Qt tarball?

Thanks,

Steve.




Re: frameworks build instructions wrong / won't work with kubuntu 14.04

2013-12-19 Thread Stephen Kelly
On 12/19/2013 07:45 PM, Dimitri John Ledkov wrote:
  2) Why does the package creation result in broken cmake files generated 
  from the Qt tarball?
 The package creation does not result in broken cmake files generated
 from the Qt tarball.

Great.

 It's just there is no clean way to override some of the chosen
 (hardcoded at Qt buildtime) paths, instead of at buildtime against
 multiple, possibly partial, stacks of Qts.

I can think of several questions to ask/things to point out in response
to this, but as you answered my above question already, I think I'll
step back out of the thread instead.

Thanks,

Steve.



Re: frameworks build instructions wrong / won't work with kubuntu 14.04

2013-12-19 Thread Stephen Kelly
On 12/19/2013 07:45 PM, Dimitri John Ledkov wrote:
 I am also not sure yet, if
 a cross-moc is required or whether a native moc binary can be re-used.
 It's one of the open questions that I still have, and need to
 investigate the actual code generator / code generated.

Even if the code generated is 'portable' today, there is no guarantee it
will remain so.

The appropriate action for you to take, therefore, is not to read the
code, but to discuss it/the problem you are trying to solve on the
mailing list.

Thanks,

Steve.



Re: Less time for KDE... :-)

2013-11-24 Thread Stephen Kelly
Alexander Neundorf wrote:

 Hi,
 
 for very happy personal reasons (since Tuesday, named David :-) )

Awesome, congratulations!

Steve.




Re: Review Request 113503: make dbus dependency optional in JobWidgets

2013-10-31 Thread Stephen Kelly

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/113503/#review42744
---



tier2/kjobwidgets/CMakeLists.txt
http://git.reviewboard.kde.org/r/113503/#comment30900

You don't need COMPONENTS here. I'm not sure about whether it's needed in 
the next line.



tier2/kjobwidgets/CMakeLists.txt
http://git.reviewboard.kde.org/r/113503/#comment30901

You probably want if (Qt5DBus_FOUND) ? I think that the target is only 
created if it is found, but I can't be sure. A Config file can set its _FOUND 
variable to false if a necessary condition is not met (eg a file missing which 
should be packaged like a macros file - See the Qt config files for more.)



tier2/kjobwidgets/src/CMakeLists.txt
http://git.reviewboard.kde.org/r/113503/#comment30902

Ditto.

Indentation.



tier2/kjobwidgets/src/CMakeLists.txt
http://git.reviewboard.kde.org/r/113503/#comment30903

Use PRIVATE, not LINK_PRIVATE (new in 2.8.12).

Indentation and extra newline.



tier2/kjobwidgets/src/CMakeLists.txt
http://git.reviewboard.kde.org/r/113503/#comment30904

Indent.


- Stephen Kelly


On Oct. 30, 2013, 10:08 a.m., Sune Vuorela wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/113503/
 ---
 
 (Updated Oct. 30, 2013, 10:08 a.m.)
 
 
 Review request for KDE Frameworks, kdelibs and Stephen Kelly.
 
 
 Repository: kdelibs
 
 
 Description
 ---
 
 Make dbus dependency optional in JobWidgets
 
 Many don't have dbus available on all platforms, especially windows, but 
 JobWidgets is very much useful without it.
 
 
 Diffs
 -
 
   tier2/kjobwidgets/CMakeLists.txt ca53024 
   tier2/kjobwidgets/src/CMakeLists.txt 0a575a6 
   tier2/kjobwidgets/src/config-kjobwidgets.h.cmake 35b64a2 
   tier2/kjobwidgets/tests/kjobtrackerstest.cpp 7a61407 
 
 Diff: http://git.reviewboard.kde.org/r/113503/diff/
 
 
 Testing
 ---
 
 build tested on windows without dbus. not yet tested on other platforms
 
 
 Thanks,
 
 Sune Vuorela
 




Re: Review Request 113139: Try to export include targets for Plasma as well

2013-10-07 Thread Stephen Kelly

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/113139/#review41324
---


Which kde-workspace branch should I use to test this?


src/plasma/CMakeLists.txt
http://git.reviewboard.kde.org/r/113139/#comment30269

The if-else shouldn't be needed. INSTALL_INTERFACE should already check if 
${INCLUDE_INSTALL_DIR} is absolute.


- Stephen Kelly


On Oct. 7, 2013, 8:13 a.m., Ben Cooksley wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/113139/
 ---
 
 (Updated Oct. 7, 2013, 8:13 a.m.)
 
 
 Review request for kdelibs, Plasma and Stephen Kelly.
 
 
 Repository: plasma-framework
 
 
 Description
 ---
 
 Add include targets for KF5::plasma, which will hopefully contribute towards 
 fixing the kde-workspace[master] build on build.kde.org.
 Unfortunately it isn't entirely successful as it seems camelcase headers are 
 installed by KF5::plasma into include/KDE/Plasma/ but it should be a start...
 
 
 Diffs
 -
 
   src/plasma/CMakeLists.txt b21fd7b 
 
 Diff: http://git.reviewboard.kde.org/r/113139/diff/
 
 
 Testing
 ---
 
 In place on CI build system. Proper include path now given to compiler.
 
 
 Thanks,
 
 Ben Cooksley
 




Re: Review Request 113139: Try to export include targets for Plasma as well

2013-10-07 Thread Stephen Kelly

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/113139/#review41331
---

Ship it!


 Unfortunately it isn't entirely successful as it seems camelcase headers are 
 installed by KF5::plasma into include/KDE/Plasma/

Odd. I tried to add this dir, but seem to have hit a bug I'll look into. Patch 
looks good for now I think, thanks!

- Stephen Kelly


On Oct. 7, 2013, 8:13 a.m., Ben Cooksley wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/113139/
 ---
 
 (Updated Oct. 7, 2013, 8:13 a.m.)
 
 
 Review request for kdelibs, Plasma and Stephen Kelly.
 
 
 Repository: plasma-framework
 
 
 Description
 ---
 
 Add include targets for KF5::plasma, which will hopefully contribute towards 
 fixing the kde-workspace[master] build on build.kde.org.
 Unfortunately it isn't entirely successful as it seems camelcase headers are 
 installed by KF5::plasma into include/KDE/Plasma/ but it should be a start...
 
 
 Diffs
 -
 
   src/plasma/CMakeLists.txt b21fd7b 
 
 Diff: http://git.reviewboard.kde.org/r/113139/diff/
 
 
 Testing
 ---
 
 In place on CI build system. Proper include path now given to compiler.
 
 
 Thanks,
 
 Ben Cooksley
 




Re: Review Request 113139: Try to export include targets for Plasma as well

2013-10-07 Thread Stephen Kelly


 On Oct. 7, 2013, 9:35 a.m., Stephen Kelly wrote:
  src/plasma/CMakeLists.txt, line 173
  http://git.reviewboard.kde.org/r/113139/diff/1/?file=199605#file199605line173
 
  The if-else shouldn't be needed. INSTALL_INTERFACE should already check 
  if ${INCLUDE_INSTALL_DIR} is absolute.
 
 Ben Cooksley wrote:
 I copied this code from KCoreAddons in kdelibs[frameworks]. Shall I 
 correct it there as well?

It appears in several other frameworks too. Actually your snippet is needed 
until CMake 2.8.12. I'll remove it from them all when kde requires that version.


- Stephen


---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/113139/#review41324
---


On Oct. 7, 2013, 10:48 a.m., Ben Cooksley wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/113139/
 ---
 
 (Updated Oct. 7, 2013, 10:48 a.m.)
 
 
 Review request for kdelibs, Plasma and Stephen Kelly.
 
 
 Repository: plasma-framework
 
 
 Description
 ---
 
 Add include targets for KF5::plasma, which will hopefully contribute towards 
 fixing the kde-workspace[master] build on build.kde.org.
 Unfortunately it isn't entirely successful as it seems camelcase headers are 
 installed by KF5::plasma into include/KDE/Plasma/ but it should be a start...
 
 
 Diffs
 -
 
   src/plasma/CMakeLists.txt b21fd7b 
 
 Diff: http://git.reviewboard.kde.org/r/113139/diff/
 
 
 Testing
 ---
 
 In place on CI build system. Proper include path now given to compiler.
 
 
 Thanks,
 
 Ben Cooksley
 




Re: kde-workspace master becomes Qt5-based

2013-10-01 Thread Stephen Kelly
Sebastian Kügler wrote:

 We're planning to merge the frameworks-scratch branch of kde-workspace
 into master next Monday.

I tried building the branch. It requires qimageblitz, which I didn't see a 
Qt 5 version for, and soprano which has a non-building qt5_port branch.

Do you have local working branches of those?

Thanks,

Steve.




Re: Review Request 112756: KLinkItemSelectionModel: Do not change current index of mapped model if the mapped one is invalid

2013-09-24 Thread Stephen Kelly

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/112756/#review40705
---

Ship it!


Ship It!

- Stephen Kelly


On Sept. 16, 2013, 1:56 p.m., Aurélien Gâteau wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/112756/
 ---
 
 (Updated Sept. 16, 2013, 1:56 p.m.)
 
 
 Review request for kdelibs and Stephen Kelly.
 
 
 Description
 ---
 
 I noticed Gwenview keyboard navigation broke with the latest 
 KLinkItemSelectionModel changes: in browse mode, in a folder which contains 
 both folders and images, something like this:
 
 dir1 dir2 img1 img2
 
 if img1 is selected, pressing the left arrow makes dir1 selected instead of 
 dir2.
 
 This can be explain as so: given the following 
 model A with content: 
 0. dir1
 1. dir2
 2. img1
 3. img2
 
 model B a proxy model on A with content:
 0. img1
 1. img2
 
 
 AView and BView, views on each models and a KLinkItemSelectionModel to link 
 selections between AView and BView.
 
 Setting current index in AView to row 1, which does not exist in BView, 
 currently causes KLinkItemSelectionModel to set BView current index to 
 invalid, which in turns cause KLinkItemSelectionModel to set AView current 
 index to invalid.
 
 Patch in this request prevents invalid indexes from being propagated. I am 
 not sure it is the best behavior though: maybe we don't want to propagate 
 invalid indexes, unless the original index is invalid itself? If I set 
 current index of AView to invalid, maybe BView current index should become 
 invalid as well? I am happy to implement this alternate behavior if you think 
 it's better.
 
 
 Diffs
 -
 
   kdeui/itemviews/klinkitemselectionmodel.cpp be8395f 
   kdeui/tests/klinkitemselectionmodeltest.cpp 91540fd 
 
 Diff: http://git.reviewboard.kde.org/r/112756/diff/
 
 
 Testing
 ---
 
 Existing test case has been extended to test behavior in case of invalid 
 indexes. Gwenview keyboard behavior is not broken anymore.
 
 
 Thanks,
 
 Aurélien Gâteau
 




Re: Regression in CMake breaking builds

2013-09-15 Thread Stephen Kelly
Alexander Neundorf wrote:
 It looks like it is related to using imported targets in try_compile():
 
 -- Enabling c++0x support for unordered map
 CMake Error at cmTryCompileExec236800853Targets.cmake:96 (add_library):
   add_library cannot create imported target Qt4::QtGui because another
   target with the same name already exists.
 Call Stack (most recent call first):
   CMakeLists.txt:11 (include)

Mea culpa.

Fixed now in next:
 
 http://thread.gmane.org/gmane.comp.programming.tools.cmake.scm/7716

Thanks for reporting,

Steve.




Re: Review Request 111953: KLinkItemSelectionModel: synchronize currentIndex

2013-08-14 Thread Stephen Kelly


 On Aug. 14, 2013, 7:30 a.m., Commit Hook wrote:
  This review has been submitted with commit 
  5bab478dd04d85a6017c54bc986bcf0b9e235264 by Michael Bohlender to branch 
  master.

What is this about? Was it pushed to a local clone or so?


- Stephen


---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/111953/#review37747
---


On Aug. 14, 2013, 7:30 a.m., Aurélien Gâteau wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/111953/
 ---
 
 (Updated Aug. 14, 2013, 7:30 a.m.)
 
 
 Review request for kdelibs, Michael Bohlender and Stephen Kelly.
 
 
 Description
 ---
 
 In addition to synchronizing selection, make KLinkItemSelectionModel also 
 synchronize the current index.
 
 This fixes a bug in Gwenview where image operations are not applied to the 
 correct images when multiple images are selected.
 
 
 This addresses bug 322850.
 http://bugs.kde.org/show_bug.cgi?id=322850
 
 
 Diffs
 -
 
   kdeui/itemviews/klinkitemselectionmodel.h 392da46 
   kdeui/itemviews/klinkitemselectionmodel.cpp ee55d4f 
   kdeui/tests/klinkitemselectionmodeltest.h f3e0fd1 
   kdeui/tests/klinkitemselectionmodeltest.cpp c3f7132 
 
 Diff: http://git.reviewboard.kde.org/r/111953/diff/
 
 
 Testing
 ---
 
 - Extended unit-tests to test the current index is synchronized.
 - Verified the bug is fixed in Gwenview.
 
 
 Thanks,
 
 Aurélien Gâteau
 




Re: Review Request 111953: KLinkItemSelectionModel: synchronize currentIndex

2013-08-09 Thread Stephen Kelly

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/111953/#review37417
---


Have you tried kdepim applications with this patch too? Many of them use this 
class.


kdeui/itemviews/klinkitemselectionmodel.cpp
http://git.reviewboard.kde.org/r/111953/#comment27688

Excess whitespace.


- Stephen Kelly


On Aug. 8, 2013, 8:15 p.m., Aurélien Gâteau wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/111953/
 ---
 
 (Updated Aug. 8, 2013, 8:15 p.m.)
 
 
 Review request for kdelibs and Stephen Kelly.
 
 
 Description
 ---
 
 In addition to synchronizing selection, make KLinkItemSelectionModel also 
 synchronize the current index.
 
 This fixes a bug in Gwenview where image operations are not applied to the 
 correct images when multiple images are selected.
 
 
 This addresses bug 322850.
 http://bugs.kde.org/show_bug.cgi?id=322850
 
 
 Diffs
 -
 
   kdeui/itemviews/klinkitemselectionmodel.h 392da46 
   kdeui/itemviews/klinkitemselectionmodel.cpp ee55d4f 
   kdeui/tests/klinkitemselectionmodeltest.h f3e0fd1 
   kdeui/tests/klinkitemselectionmodeltest.cpp c3f7132 
 
 Diff: http://git.reviewboard.kde.org/r/111953/diff/
 
 
 Testing
 ---
 
 - Extended unit-tests to test the current index is synchronized.
 - Verified the bug is fixed in Gwenview.
 
 
 Thanks,
 
 Aurélien Gâteau
 




Re: KF5 Update Meeting Minutes 2013-w31

2013-07-31 Thread Stephen Kelly
Kevin Ottens wrote:
 Once the splitting will be done I'm not so sure it's better than using
 directly the namespaced target names. The reason being that variables are
 really a pain with cmake... I mean if you mistakenly use a variable name
 which doesn't exist it's just expanded to nothing. Target names don't have
 that problem.

For example:

 cmake_minimum_required(VERSION 2.8)
 project(foo)
 add_executable(someexe main.cpp)
 target_link_libraries(someexe ${Qt5Core_LIBRARIES})


CMake runs without failure. 

Change it to

 target_link_libraries(someexe Qt5::Core)

and CMake 2.8.13 will recognise the double colons as signifying an IMPORTED 
target:

 stephen@hal:~/dev/src/playground/cmake/build{master}$ cmake .. 


 -- The C compiler identification is GNU 4.7.3  


 -- The CXX compiler identification is GNU 4.7.3


 -- Check for working C compiler: /usr/lib/icecc/bin/cc 


 -- Check for working C compiler: /usr/lib/icecc/bin/cc -- works


 -- Detecting C compiler ABI info
 -- Detecting C compiler ABI info - done
 -- Check for working CXX compiler: /usr/lib/icecc/bin/c++
 -- Check for working CXX compiler: /usr/lib/icecc/bin/c++ -- works
 -- Detecting CXX compiler ABI info
 -- Detecting CXX compiler ABI info - done
 -- Configuring done
 CMake Error at CMakeLists.txt:21 (add_executable):
   Target foo links to IMPORTED target Qt5::Core but the IMPORTED target
   was not found.  Perhaps a find_package() call is missing?


 target_link_libraries(foo ${KCoreAddons_LIBRARY_TARGETS} )
 will guarantee that this thing contains targets, and that these targets
 snip
 Or you could actually explain what's needed for us to make it proper, so
 that someone like Benjamin can look into it. I'd rather see more team work
 in the CMake area than it currently is...

The problem is that external users of frameworks (including other 
frameworks) would use namespaced target names. Eg, KAuth would do this:

 find_package(KCoreAddons REQUIRED)
 target_link_libraries(KAuth KF5::KCoreAddons)

However, as KAuth and KCoreAddons are part of the same buildsystem, 
'KF5::KCoreAddons' is not defined, but 'KCoreAddons' is. The variable 
abstracts that away, but it is indeed a temporary measure until the repo 
split.

Another solution, coming in 2.8.13 is ALIAS targets:

 add_library(KCoreAddons ...)
 add_library(KF5::KCoreAddons ALIAS KCoreAddons)

 # Works even in same buildsystem
 target_link_libraries(KAuth KF5::KCoreAddons)

So, if this target/variable task is deferred until CMake 2.8.13 can be used, 
the variables don't have to be used even in an intermediate state.

 * using cmake withint KDE frameworks
 
 The most pressing at the moment is the later. The other parts are
 important of course, but the part about using cmake within KDE Frameworks
 is badly needed already.

Any idea what is missing? Or what is the problem that makes it needed so 
badly?

Thanks,

Steve.




Re: KF5 Update Meeting Minutes 2013-w31

2013-07-31 Thread Stephen Kelly
Kevin Ottens wrote:

 So, if this target/variable task is deferred until CMake 2.8.13 can be
 used, the variables don't have to be used even in an intermediate state.
 
 I see, but when is 2.8.13 supposed to be released? I'd rather have us move
 forward.

2.8.12 will be released in a few weeks. 2.8.13 about 3 months after that.

Thanks,

Steve.




Re: Review Request 111158: Fix KLinkItemSelectionModel handling of QItemSelectionModel::Toggle flag

2013-06-23 Thread Stephen Kelly

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/58/#review34939
---

Ship it!


Ship It!

- Stephen Kelly


On June 21, 2013, 10:45 a.m., Aurélien Gâteau wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/58/
 ---
 
 (Updated June 21, 2013, 10:45 a.m.)
 
 
 Review request for kdelibs and Stephen Kelly.
 
 
 Description
 ---
 
 Summarizing the comment block: KLISM::select(QModelIndex,...) was calling 
 QISM::select(QModelIndex,...) but QISM::select(QModelIndex,...) calls 
 QISM::select(QItemSelection,...) which is virtual, so it ends up calling 
 KLISM::select(QItemSelection,...). When using the Toggle selection flag, this 
 ends up toggling the selection twice.
 
 This was breaking image multi-selection in Gwenview:
 - open an image Gwenview
 - show the thumbnail bar
 - click on the [+] button to select a second image = without the patch, 
 image 2 does not get selected
 
 With the patch it gets selected and... Gwenview crashes as soon as you 
 deselect image 2, but that is a bug in Gwenview. Fix for it is going to be 
 pushed.
 
 
 Diffs
 -
 
   kdeui/itemviews/klinkitemselectionmodel.cpp 
 3c57c18239580497f659ef343c65be39998c2cb7 
   kdeui/tests/CMakeLists.txt 235e31e826ab8331f30c6e15c874bdc647d9efac 
   kdeui/tests/klinkitemselectionmodeltest.h PRE-CREATION 
   kdeui/tests/klinkitemselectionmodeltest.cpp PRE-CREATION 
 
 Diff: http://git.reviewboard.kde.org/r/58/diff/
 
 
 Testing
 ---
 
 Added a unit-test. Tested in Gwenview.
 
 
 Thanks,
 
 Aurélien Gâteau
 




Re: KF5 Update Meeting 2013-w20

2013-06-03 Thread Stephen Kelly
David Faure wrote:

 On Monday 20 May 2013 11:53:18 Alexander Neundorf wrote:
 there was a review request for a find-module for libusb1 here a few days
 ago,  which we have already in e-c-m, but he can't use it because it is
 not released
 
 Could we maybe release a first version of ECM with only find modules, and
 without the frameworks stuff ? Obviously KF5 wouldn't be able to use that,
 so it would keep depending on ECM-from-git (and we could still change the
 API for that stuff if needed, which I assume is the reason for Stephen's
 no). But this way, Qt4/KDE4 apps could start using ECM, for shared find
 modules.

Again, I see no need for KDE4 apps to use ecm. kdelibs is the appropriate 
place to put such modules for KDE4, if upstreaming to cmake is not an 
option.

Thanks,

Steve.




Re: KDE Workspace broken due to upstream CMake changes

2013-05-28 Thread Stephen Kelly
Ben Cooksley wrote:

 Hi Alex,
 
 Can someone more familiar with the CMake community please inform them
 of this regression?


http://thread.gmane.org/gmane.comp.programming.tools.cmake.user/46742/focus=46776






Re: KF5 Update Meeting 2013-w20

2013-05-19 Thread Stephen Kelly
Alexander Neundorf wrote:

 On Thursday 16 May 2013, Stephen Kelly wrote:
 Kevin Ottens wrote:
  Beside that, I would like if we could do a release of
  extra-cmake-modules as soon as possible, so other projects, KDE and
  non-KDE can start to make use of it and people can start to
  contribute.
  
  I guess that once we're happy with the cleanup pass that's something
  which could be done.
 
 I still don't want to release ecm until we're closer to releasing
 frameworks.
 
 There were people asking for something like e-c-m on the cmake list, and
 just a few days ago somebody here asked for something which we have
 already in e-c- m, but not in KDE 4.x.

Can you be more specific in both cases?

 Now he has to duplicate it and we have to keep it in sync.

He has to keep in sync, if it matters. We don't.

 A release would force us to be more careful about what we do there, which
 is IMO a good thing.

I'm not convinced. I don't see any need to release it until KF5 is closer to 
release.

Thanks,

Steve.




Re: Review Request 109404: Give more precedence to qmake executable names that specify the version

2013-03-11 Thread Stephen Kelly


 On March 11, 2013, 5:19 a.m., Andrea Scarpino wrote:
  I was quite clear: qmake must point by default to Qt 4 if Qt 4 present.
  While qtchooser sounds like a great solution to handle this, it only adds 
  more confusion from a packager view: we cannot have N differents 
  configurations for qt when the users install our packages: qmake points to 
  qt5, no matter which configuration the user did setup for qtchooser.
  Also, every binary points to the latest version in Arch (e.g. python points 
  to python3 not python2)
  
  However all this discussion isn't related to Arch itself: I think that 
  binaries with specific version takes precedence, don't they?

No, you also need to account for self-built Qt, which will also result in a 
binary called 'qmake'.

http://thread.gmane.org/gmane.comp.kde.devel.general/65619/focus=65623


- Stephen


---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/109404/#review28931
---


On March 11, 2013, 2:29 a.m., Aleix Pol Gonzalez wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/109404/
 ---
 
 (Updated March 11, 2013, 2:29 a.m.)
 
 
 Review request for Build System, kdelibs, David Faure, Alexander Neundorf, 
 and Andrea Scarpino.
 
 
 Description
 ---
 
 Recently ArchLinux decided to ship Qt5 and they did so by making qmake point 
 to qmake-qt5 and adding qmake-qt4.
 
 With this patch, we look first for the executables that specify the version 
 number and then the more generic ones.
 
 
 Diffs
 -
 
   cmake/modules/FindQt4.cmake 6db944f 
 
 Diff: http://git.reviewboard.kde.org/r/109404/diff/
 
 
 Testing
 ---
 
 cmake_minimum_required(VERSION 2.8)
 
 find_package(KDE4)
 
 -
 
 Configuring such a project returns the correct versions.
 
 
 Thanks,
 
 Aleix Pol Gonzalez
 




Re: Review Request 109404: Give more precedence to qmake executable names that specify the version

2013-03-11 Thread Stephen Kelly


 On March 11, 2013, 5:19 a.m., Andrea Scarpino wrote:
  I was quite clear: qmake must point by default to Qt 4 if Qt 4 present.
  While qtchooser sounds like a great solution to handle this, it only adds 
  more confusion from a packager view: we cannot have N differents 
  configurations for qt when the users install our packages: qmake points to 
  qt5, no matter which configuration the user did setup for qtchooser.
  Also, every binary points to the latest version in Arch (e.g. python points 
  to python3 not python2)
  
  However all this discussion isn't related to Arch itself: I think that 
  binaries with specific version takes precedence, don't they?
 
 Stephen Kelly wrote:
 No, you also need to account for self-built Qt, which will also result in 
 a binary called 'qmake'.
 
 http://thread.gmane.org/gmane.comp.kde.devel.general/65619/focus=65623
 
 Andrea Scarpino wrote:
 I don't want to remove the 'qmake' word from the FindQt4.cmake file, but 
 ATM that file looks for:
 qmake qmake4 qmake-qt4 (and so on) in this order.
 Why not using this one instead? qmake4 qmake-qt4 qmake...

Did you follow the link I sent to the thread on the cmake list?


- Stephen


---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/109404/#review28931
---


On March 11, 2013, 2:29 a.m., Aleix Pol Gonzalez wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/109404/
 ---
 
 (Updated March 11, 2013, 2:29 a.m.)
 
 
 Review request for Build System, kdelibs, David Faure, Alexander Neundorf, 
 and Andrea Scarpino.
 
 
 Description
 ---
 
 Recently ArchLinux decided to ship Qt5 and they did so by making qmake point 
 to qmake-qt5 and adding qmake-qt4.
 
 With this patch, we look first for the executables that specify the version 
 number and then the more generic ones.
 
 
 Diffs
 -
 
   cmake/modules/FindQt4.cmake 6db944f 
 
 Diff: http://git.reviewboard.kde.org/r/109404/diff/
 
 
 Testing
 ---
 
 cmake_minimum_required(VERSION 2.8)
 
 find_package(KDE4)
 
 -
 
 Configuring such a project returns the correct versions.
 
 
 Thanks,
 
 Aleix Pol Gonzalez
 




Re: Review Request 108889: Add QML_INSTALL_DIR variable to KDE pathes

2013-02-11 Thread Stephen Kelly
Sebastian Kügler wrote:

 On Sunday, February 10, 2013 14:33:49 Thiago Macieira wrote:
 On domingo, 10 de fevereiro de 2013 21.22.05, Sebastian Kügler wrote:
  Apparently not. I've looked at where the example imports from the Qt
  codebase install these things, and that is indeed $PREFIX/qml, not
  inside the plugin directory. This location is also where these imports
  are being found automatically, i.e. without specifying additional
  import pathes (which we have to do for Plasma in kdelibs 4).
 
 Technically, it's $ARCHDATADIR/qml. The Qt build makes ARCHDATADIR=PREFIX
 by  default.
 
 But everyone installing Qt to PREFIX=/usr should set it
 ARCHDATADIR=$LIBDIR/qt5.
 
 So that means that qtquick2 imports should go there, and that we should
 advise people in our build instructions to build with
 --archdatadir=$LIBDIR/qt5?
 
 Which would bring me to my next question: How do I find out the ARCHDATA
 dir from a cmake script then? (Yes, noob question.)

It is not currently set by the cmake scripts because I did not know why 
anyone would want it.

What do you need it for, exactly?

Thanks,

Steve.




Re: Review Request 108889: Add QML_INSTALL_DIR variable to KDE pathes

2013-02-11 Thread Stephen Kelly
Sebastian Kügler wrote:

 What do you need it for, exactly?
 
 To find out where Qt will look for QtQuick2 imports (that's
 $ARCHDATADIR/qml, defaulting to $PREFIX/qml, which leads to /usr/qml).
 
 I'd like to be able to install Plasma QtQuick2 imports into a path where
 they'll actually be found, that's the QML_INSTALL_DIR which the patch from
 this thread adds.

Isn't it inappropriate for KDE to install things into the Qt installation? 
That's for Qt stuff? Isn't there a way to tell Qt where to find QML imports 
in alternative locations?

I don't know myself, but I'd want to know if what you want to do is the 
oppostite of what is advised in the docs or not. Can you point at any 
relevant docs?

Thanks,

Steve.




Re: Kdelibs Coding Style vs. preparations for Qt5

2012-12-29 Thread Stephen Kelly
Kevin Ottens wrote:

 We should push to use the class name only includes I think.

I agree. 

We have a buildsystem that is good enough that we can specify the 
directories to look for the 'class name' headers in, and it is in the 
buildsystem that that stuff belongs. 

See the kinds of practical problems 'module includes' create:

http://thread.gmane.org/gmane.comp.programming.tools.cmake.user/44780/focus=44893

Thanks,

Steve.




Re: Kdelibs Coding Style vs. preparations for Qt5

2012-12-29 Thread Stephen Kelly
Thiago Macieira wrote:

 On sábado, 29 de dezembro de 2012 22.58.49, Kevin Ottens wrote:
 On Saturday 29 December 2012 11:06:30 David Faure wrote:
  Well, for frameworks that intend to be as close to Qt as possible
  they should do the same (for the convenience of developers who don't
  use qmake/cmake but set up their project configuration in their IDE by
  hand, for instance Visual Studio).
  This means re-adding the missing QtWidgets/ in public headers once Qt5
  is required in KF5.
 
 Out of curiosity, is it something which got documented in the Qt project?
 Or that's more a custom? (doesn't make it less valid, I'm being curious
 here and couldn't find the info)
 
 syncqt complains if public headers have Qt includes that aren't in the
 QtModule/ClassName or QtModule/classname.h form.
 

syncqt is a Qt-internal tool. It is relevant to the headers of Qt itself, 
but not relevant outside it.

Thanks,

Steve.




Re: kde-workspace/4.9 messed up

2012-11-11 Thread Stephen Kelly
Christoph Feck wrote:

 On Sunday 11 November 2012 12:00:05 Pino Toscano wrote:
 Hi,
 
 somehow the master branch of kde-workspace has been merged in the
 KDE/4.9 branch, with obvious consequences.
 Can anyone please fix this mess?
 
 Thanks,
 
 Uh oh, I think I did git reset origin/HEAD --hard in the 4.9 branch,
 to get rid of an initial commit I made in that branch. So HEAD doesn't
 refer to the remote head in the current branch, but always to the head
 of master?

Something like that. It's similar to the mess that was just fixed yesterday 
in kdelibs:

http://thread.gmane.org/gmane.comp.kde.devel.core/76984

Amazing that two people make the same mistake in such a short time, after 
such a long time without a similar issue.

Someone needs to force-push the branch. Sysadmin knows what to do, so please 
talk to them to get it fixed.

Thanks,

Steve.




Re: kdelibs git mess

2012-11-08 Thread Stephen Kelly
Christoph Feck wrote:

 Hi,
 
 my git foo is limited, but if I interpret http://ompldr.org/vZzZxaw
 correctly, then somehow master got merged into KDE/4.9 branch,
 meaning, for example, that Alex's commits to depend on cmake 2.8.8 are
 now in KDE/4.9 branch.
 
 I suggest to not to commit to kdelibs, until this is resolved.

There is indeed breakage there. One way it could have happened is if Marco 
made a commit on his KDE/4.9 branch, and then accidentally did a 'git rebase 
origin/master' or similar and pushed the result. As far as I can see, this 
could happen for any branch at any time. 

There may be a way to add a server-side hook for it, which I've emailed 
sysadmin about. 

The fix should be for dfaure to reset the 4.9 branch to the v4.9.3 tag, 
cherry-pick the commits made after that and force push the result. He's 
going to do that now I think. 

Thanks,

Steve.




Re: Requiring cmake 2.8.9 for kdelibs 4.10 ?

2012-10-04 Thread Stephen Kelly
Alexander Neundorf wrote:

 On Monday 01 October 2012, David Faure wrote:
 On Monday 01 October 2012 09:53:22 Stephen Kelly wrote:
  Instead, I say we should do a 'pain free' update to 2.8.7 now, and an
  update  to 2.8.11 later.
 
 Yes.
 
 I disagree.
 
 If we upgrade now, I want to have at least 2.8.8
 This has a lof of work for supporting cmake's Config.cmake files, and with
 2.8.8 I can finally point users how to create properly working (including
 Windows) Config.cmake files with reasonable effort.

I don't see why that can't wait a little while longer.

What is Windows-specific about how we create Config files currently?

 
 KDE 4.10 is scheduled for January 23rd, CMake 2.8.8 has been released
 April 19th, so it is 9 months old.

The distros people are using to develop KDE 4.10 ship with CMake 2.8.7 (eg 
latest Ubuntu). I think that's a more significant fact. 

The next version of Ubuntu will ship at the end of October and will have 
CMake 2.8.9 I guess. I don't think everyone upgrades immediately though, and 
I don't know the release schedules of other distros.

I don't think it's a good idea to depend on CMake 2.8.8 for KDE 4.10.

If you commit it though, I won't revert. I'm just claiming it's not a great 
idea, and I don't see the particular urgent need.

Thanks,

Steve.




Re: Requiring cmake 2.8.9 for kdelibs 4.10 ?

2012-10-04 Thread Stephen Kelly
Alexander Neundorf wrote:

 On Monday 01 October 2012, David Faure wrote:
 On Monday 01 October 2012 09:53:22 Stephen Kelly wrote:
  Instead, I say we should do a 'pain free' update to 2.8.7 now, and an
  update  to 2.8.11 later.
 
 Yes.
 
 I disagree.
 
 If we upgrade now, I want to have at least 2.8.8
 This has a lof of work for supporting cmake's Config.cmake files, and with
 2.8.8 I can finally point users how to create properly working (including
 Windows) Config.cmake files with reasonable effort.

I don't see why that can't wait a little while longer.

What is Windows-specific about how we create Config files currently?

 
 KDE 4.10 is scheduled for January 23rd, CMake 2.8.8 has been released
 April 19th, so it is 9 months old.

The distros people are using to develop KDE 4.10 ship with CMake 2.8.7 (eg 
latest Ubuntu). I think that's a more significant fact. 

The next version of Ubuntu will ship at the end of October and will have 
CMake 2.8.9 I guess. I don't think everyone upgrades immediately though, 
and 
I don't know the release schedules of other distros.

I don't think it's a good idea to depend on CMake 2.8.8 for KDE 4.10.

If you commit it though, I won't revert. I'm just claiming it's not a great 
idea, and I don't see the particular urgent need.

Thanks,

Steve.




Re: Review Request: Add Activity Awareness to KFilePlaces* Widget (OnlyInActivity)

2012-10-02 Thread Stephen Kelly
David Faure wrote:

 If we (=someone) make a frameworks branch for kactivities, it should be
 quite simple to port that away from kdecore (I suppose it was mostly using
 KPluginLoader, which has now moved to the kservice framework). So this
 might just be a matter of updating a few CMakeLists.txt files.

The work to use only an individual framework (eg kservice) as a dependency 
isn't really in the frameworks branch yet though. With CMake 2.8.10 close to 
release, that will be possible soon though. (Recall the issues with exported 
targets, which are fixable with the new CMake).

Thanks,

Steve.




Re: Review Request: fix exports using Q_DECL_EXPORT

2012-07-05 Thread Stephen Kelly

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/105452/#review15424
---


I disagree. I think the best solution is to have a copy of the cmake generate 
export header stuff in frameworks and use the new macro in the copy. The copy 
can be removed when we depend on a later version of CMake.

- Stephen Kelly


On July 5, 2012, 1:09 p.m., Patrick Spendrin wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/105452/
 ---
 
 (Updated July 5, 2012, 1:09 p.m.)
 
 
 Review request for kdelibs, Stephen Kelly, David Faure, and Alexander 
 Neundorf.
 
 
 Description
 ---
 
 This fix is needed for some custom exports on windows. Given there is no 
 KDE_EXPORT anymore, I use Q_DECL_EXPORT for now. See also the discussion on 
 kde-frameworks-de...@kde.org.
 
 
 Diffs
 -
 
   kdecore/localization/ktranscript.cpp 08ebf0e 
   kdecore/util/kexportplugin.h 775ed48 
 
 Diff: http://git.reviewboard.kde.org/r/105452/diff/
 
 
 Testing
 ---
 
 windows only.
 
 
 Thanks,
 
 Patrick Spendrin
 




Re: kdelibs and Qt version dependency

2012-06-06 Thread Stephen Kelly
Dirk Mueller wrote:

 On Tuesday 05 June 2012, Albert Astals Cid wrote:
 
 On May 19, Dawit Alemayehu commited a change that uses
 QSslConfiguration::testSslOption that is only available in Qt 4.8
 
 This means that both kdelibs 4.8.4 and kdelibs 4.9 now depend in Qt 4.8
 instead Qt 4.7
 
 Hi Albert,
 
 thanks for noticing. I confirmed the issue and I can confirm that 4.8.3
 compiled fine with Qt 4.7.
 
 
 a) Do you think it makes sense to change our Qt required version from
 Qt 4.7 in kdelibs 4.8.3
 to
 Qt 4.8 in kdelibs 4.8.4
 ?
 
 I think for kdelibs 4.8.4 we should make the dependency on Qt 4.8
 optional. can we ifdef the change for Qt 4.8? is there a way to fallback ?
 
 
 
 b) Do you think kdelibs 4.9 should depend in Qt 4.8 or not?
 
 I'd be in favor of that change.
 
 Greetings,
 Dirk

I agree with Dirk on both counts.



Re: kdelibs splitting: May results, plans for June

2012-06-06 Thread Stephen Kelly
Alexander Neundorf wrote:
 Ah, right.
 Can you put a copy of FindLibLZMA.cmake into tier1/karchive/cmake/ ?
 (it will be in cmake 2.8.9)
 Then we don't need the CMAKE_MODULE_PATH from kdelibs anymore, and
 karchive is more standalone.
 

Or we can bump the dependency to 2.8.9 when the RC 1 comes out (soon) and 
save the work of porting to a copy.

Thanks,

Steve.




Re: QtScript considered dangerous

2012-05-26 Thread Stephen Kelly
Dominik Haumann wrote:

 On Friday, 25. May 2012 21:42:50 Stephen Kelly wrote:
 Christoph Cullmann wrote:
  Still, a fix for QtScript would be the nicest solution or a port to the
  new engine provided in Qt5, as I understood, there QtScript is anyway
  deprecated in favour of the V8 based new variant?
 
 Nope. QtScript might be 'done' - meaning no one is working on it and
 there's no replacement. The v8 stuff is not public API like QtScript is,
 so it is not a replacement.
 
  But does the new engine provide the same nice features to easily wrap
  your objects and expose a custom API?
 
 Yes. That's how QtDeclarative works. As it's internal, non-public API,
 that doesn't really matter much.
 
 Maybe a public API will be created to replace QtScript eventually
 though...
 
 According to the docs
 http://doc-snapshot.qt-project.org/5.0/qjsengine.html QJSEngine and
 QJSValue are already public API. Maybe I'm mistaken?
 

That's interesting. Maybe I am mistaken. It doesn't look like it's intended 
to be a QtScript replacement as it is, but I'll ask on the ml.

Thanks,

Steve.



Re: TechBase git policies, infrastructure documentation, please

2012-05-07 Thread Stephen Kelly
Alexander Neundorf wrote:
 It would be just *great* if you could put this on techbase.kde.org :-)

I'd suggest you just copy it into wherever you would look for it. Mostly 
it's not kde specific anyway. It's just about knowing how to use git.

Thanks,

Steve.




Re: Review Request: Fix Solid CMake check with Qt 5

2012-05-02 Thread Stephen Kelly

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/104820/#review13267
---


Please do not submit this. It is out of date. You are probably using qt5.git 
which is way out of date. This is not needed anymore.

- Stephen Kelly


On May 1, 2012, 11:28 p.m., Alexander Richardson wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/104820/
 ---
 
 (Updated May 1, 2012, 11:28 p.m.)
 
 
 Review request for kdelibs.
 
 
 Description
 ---
 
 Fix CMake configure with Qt 5
 DBusTools is required so that qt5_add_dbus_interfaces is available
 
 Not sure if this is the preferred way of solving the issue, but it works for 
 me.
 
 
 Diffs
 -
 
   tier1/solid/src/solid/CMakeLists.txt f309a64 
 
 Diff: http://git.reviewboard.kde.org/r/104820/diff/
 
 
 Testing
 ---
 
 Configuring didn't work before, now it does.
 
 
 Thanks,
 
 Alexander Richardson
 




Re: Review Request: Fix Solid CMake check with Qt 5

2012-05-02 Thread Stephen Kelly


 On May 2, 2012, 11:43 a.m., Stephen Kelly wrote:
  Please do not submit this. It is out of date. You are probably using 
  qt5.git which is way out of date. This is not needed anymore.
 
 Alexander Richardson wrote:
 Ok. How do I get a Qt 5 with which I can build kdelibs? Checkout master 
 in every repo?

I'm not familiar with the script you are using or with qt5.git.

If you have qtbase.git and qtsvg.git  (master) that's enough to build most of 
frameworks. I don't know if that would break your script and cause you to need 
to update the rest too.


- Stephen


---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/104820/#review13267
---


On May 1, 2012, 11:28 p.m., Alexander Richardson wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/104820/
 ---
 
 (Updated May 1, 2012, 11:28 p.m.)
 
 
 Review request for kdelibs.
 
 
 Description
 ---
 
 Fix CMake configure with Qt 5
 DBusTools is required so that qt5_add_dbus_interfaces is available
 
 Not sure if this is the preferred way of solving the issue, but it works for 
 me.
 
 
 Diffs
 -
 
   tier1/solid/src/solid/CMakeLists.txt f309a64 
 
 Diff: http://git.reviewboard.kde.org/r/104820/diff/
 
 
 Testing
 ---
 
 Configuring didn't work before, now it does.
 
 
 Thanks,
 
 Alexander Richardson
 




Re: TechBase git policies, infrastructure documentation, please

2012-04-29 Thread Stephen Kelly
Alexander Neundorf wrote:
 git is a powerful tool, and you can use it in many different ways. It
 needs to be easy to find out how git is intended to be used in KDE. I
 don't know where this is documented. I expect this on techbase.

It is indeed not on techbase as far as I can see too. 

Do you have specific questions? 

Are you looking for tutorials on how to use git generally (not KDE 
specific), or are you looking for policies (KDE specific)? Does running gitk 
in the repos answer any policies questions or raise new ones? eg in CMake 
git, every commit is not on master but a different branch. 

If you look at gitk in the kdelibs repo for example, you see that that is 
not how people are committing. People commit directly to KDE/4.8 or directly 
to frameworks. Periodically, someone (most recently me) merges the KDE/4.8 
branch into the frameworks branch.

Thanks,

Steve.




Re: TechBase git policies, infrastructure documentation, please

2012-04-29 Thread Stephen Kelly
Alexander Neundorf wrote:

 On Sunday 29 April 2012, Stephen Kelly wrote:
 Alexander Neundorf wrote:
  git is a powerful tool, and you can use it in many different ways. It
  needs to be easy to find out how git is intended to be used in KDE. I
  don't know where this is documented. I expect this on techbase.
 
 It is indeed not on techbase as far as I can see too.
 
 Do you have specific questions?
 
 Are you looking for tutorials on how to use git generally (not KDE
 specific),
 
 I kind of manage to get along with it in the mean time, if I know what I
 should do.
 
 Ok, here's a question: I'd like to modify the buildsystem for
 kdelibs/tier1/itemmodels/, but in some branch so others can have a look at
 it. What is the recommended way to do this ?

It this specific case, it's likely that the whole of what you want to change 
and have reviewed can be shown as one single patch (even if you split it 
into multiple patches when you commit). 

The cases where it takes more than one patch, that is also easiest (for me 
at least) as just creating a file with the patches and sending it with 
email. Reviewboard is only practical for one patch at a time afaik, but I'm 
not a Reviewboard fan anyway.

 
 or are you looking for policies (KDE specific)?
 
 This one.
 What is the git workflow/are the git workflows to use in KDE.
 Including use cases like doing minor fixes, normal feature development,
 experimental stuff to show somebody, etc.
 
 Ideally including the typical git commands to use for that.


Assuming you know how to make commits and assuming you start with a clean 
checkout:

vi tier1/itemmodels/CMakeLists.txt
# ...
git commit -m lorem ipsum
vi tier1/itemmodels/CMakeLists.txt
# ...
git commit -m prink the retjuts
vi tier1/itemmodels/CMakeLists.txt
# ...
git commit -m unfubar the dolors

Then 

git format-patch --stdout origin/frameworks

will print out the patches and commit messages. Redirect it to a file and 
send the file for review.

Then someone will give feedback and might say that there is a small change 
needed to the first patch (the lorem ipsum one).

You do this:

git rebase -i origin/master

You see this with some instructions:

pick 514c03d lorem ipsum
pick 2ab30eb prink the retjuts
pick 9266e12 unfubar the dolors

you replace 'pick' with 'edit' in your editor, save and exit.

You make the change suggested in the review.

You use:

git commit --ammend

Then 

git rebase --continue

Then use gitk and you will see that the lorem ipsum commit now has your 
change.

http://book.git-scm.com/4_interactive_rebasing.html

Google 'interactive rebase' for more.

Then when you push, you might get this:

To g...@git.kde.org:kdelibs
 ! [rejected]frameworks - frameworks (non-fast-forward)
error: failed to push some refs to 'g...@git.kde.org:kdelibs'
To prevent you from losing history, non-fast-forward updates were rejected
Merge the remote changes (e.g. 'git pull') before pushing again.  See the
'Note about fast-forwards' section of 'git push --help' for details.

Just do this:

git pull --rebase

Then git push again.

 If we have multiple recommended workflows, it would be really good to have
 an overview where I can see which workflow should be used where.
 
 E.g. below you describe what should be done in kdelibs.
 Now if I want to fix something e.g. in kdegames, where do I find out what
 workflow should be used there.

You look in gitk and see what the people do. If people commit directly to 
the branch you want to commit to, you do the same. It would be unusual for 
that not to be the case, so just assume that you always just make commits, 
rebase/rewrite them until they are correct, git pull --rebase, and then git 
push.

 This should be on techbase.
 
 Did we settle on the branch names ? Is this documented on techbase, in the
 git section ?

To keep useful history, don't push work branches to kdelibs.git. Instead 
push to a scratch repo, ask for reviews of that branch, and when it's ready, 
rebase it to master in kdelibs.git, and push that.

http://community.kde.org/Sysadmin/GitKdeOrgManual#Personal_scratch_repositories

 Having it somewhere in a blog is only slightly better than nothing.
 
 KDE should have a place where you can easily find how to start
 development. While with cvs and svn there is mostly one way to use
 branches etc., with git you can do whatever you want, and we don't have
 this documented.
 
 E.g for CMake itself this is documented here:
 http://www.cmake.org/Wiki/CMake/Git
 
 Something similar for KDE is missing, at least on techbase.
 
 Alex
 
 P.S. Stephen, you're doing great work on KDE frameworks :-)

Thanks, :)






Re: Using KColorScheme in style only (Was: fix frameworks-kactions compile error)

2012-04-20 Thread Stephen Kelly
Hugo Pereira Da Costa wrote:

 On 04/19/2012 11:27 AM, Stephen Kelly wrote:
 Would it be possible to remove the use of KColorScheme from these
 widgets in general?
 In my oppinion, yes.

Good enough for me, thanks :)




Re: Using KColorScheme in style only (Was: fix frameworks-kactions compile error)

2012-04-19 Thread Stephen Kelly

Hi, can anyone who knows about styles/KColorScheme comment on this?

Thanks,

Stephen Kelly wrote:
 Kevin Ottens wrote:
 On Wednesday 11 April 2012 23:34:18 Stephen Kelly wrote:
 [...]
 At the center of the questions of what to do with KUrlLabel and
 KCapacityBar are the question of what to do about their KColorScheme
 dependency. Their use of KColorScheme seems to me like something that
 should be handled by the style instead (otherwise, for example,
 QProgressBar wouldn't look consistent with a KCapacityBar with its
 backgrounds and fill etc). Oxygen may already even handle a KCapacityBar
 (I'm not certain):

 kde-workspace/kstyles/oxygen{master}$ git grep CapacityBar
 oxygenstyle.cpp:CE_CapacityBar( newControlElement(
 CE_CapacityBar ) )
 oxygenstyle.cpp:if( element == CE_CapacityBar )
 oxygenstyle.cpp:fcn = Style::drawCapacityBarControl;
 oxygenstyle.cpp:bool Style::drawCapacityBarControl( const
 QStyleOption* option, QPainter* painter, const QWidget* widget ) const
 oxygenstyle.h:virtual bool drawCapacityBarControl( const
 QStyleOption*, QPainter*, const QWidget* ) const;
 oxygenstyle.h:QStyle::ControlElement CE_CapacityBar;


 KColorScheme is very different from QPalette. It seems to have 4
 dimensions that QPalette doesn't have. I'm all for configuration, but I
 think it should have an affect in the style, not in the widgets
 themselves. Any thoughts?

 Would it be possible to remove the use of KColorScheme from these
 widgets in general?

 I'm unfortunately completely ignorant regarding KColorScheme... I agree
 it should probably not leak into our widgets and be used by the styles
 only though.
 
 Hugo, any ideas/comment on this? The background is here:
 
 http://thread.gmane.org/gmane.comp.kde.devel.frameworks/473/focus=485
 
 Thanks,




Why does KPushButton have a delayedMenu?

2012-04-06 Thread Stephen Kelly

Hi there,

I'm trying to figure out why KPushButton has a feature of a 'delayed' menu. 

Why would applications need that? What problems does it solve? Can the 
problem be solved in Qt?

Thanks,

Steve.




Re: Why does KPushButton have a delayedMenu?

2012-04-06 Thread Stephen Kelly
Kevin Krammer wrote:

 On Friday, 2012-04-06, Stephen Kelly wrote:
 Eike Hein wrote:
  On 04/06/2012 01:08 PM, Richard Moore wrote:
  It's for things like a browser's back button where a click moves you
  back, wheras press and hold shows a menu of the recent history.
  
  Another use is in Konsole (and Yakuake) where click-and-hold on
  the New Tab button opens a popup menu allowing the choice of
  which profile to use.
 
 Ah, I see. I thought it was some internalized workaround for some bug or
 other, but that looks like something that could be added to Qt.
 
 QToolButton has that, see QToolButton::ToolButtonPopupMode
 My guess for it not being in QAbstractButton is that it doesn't make sense
 for QCheckBox and QRadioButton.

Interesting. So should KPushButtons which wish to use the delayed popup 
stuff be changed to QToolButtons, or should we try to get the feature from 
QToolButton to QAbstractButton. I don't think it would be too unusual to 
have parts of an interface which not all subclasses make use of. Or maybe 
the menu popup stuff can be refactored into an internal class used by both 
QToolButton and QPushButton, and add the feature and API to QPushButton that 
way.

Either way, it would need to be done in a BC way in Qt 5.1. Any volunteers?

Also, any arguments supporting getting it into Qt? Can someone tell me where 
I would see it used outside of a toolbar (Where a QToolButton should be used 
instead)?

Also, I'm a bit confused by the docs for this stuff:

/**
 * Sets a delayed popup menu
 * for consistency, since menu() isn't virtual
 */
 void setDelayedMenu(QMenu *delayed_menu);

/**
 * returns a delayed popup menu
 * since menu() isn't virtual
 */
 QMenu *delayedMenu();

What does the delayed menu stuff have to do with menu() not being virtual? 
Would it be easier if it was virtual? Should we try to make it virtual (any 
volunteers?)?

 Always thought QToolButton should be a mode of QPushButton instead of a
 separate class :)

Maybe... I guess it would be possible in theory to get its features into 
QPushButton and deprecate QToolButton, but again, someone would have to 
justify and implement that.

Thanks,

Steve.

 



Re: Review Request: Make KAuth ready for frameworks + API Changes

2012-04-01 Thread Stephen Kelly
Dario Freddi wrote:
 gitk indeed has a screwy visualization in there.

You conclusion that the tool is screwy is interesting for a few reasons. 
Maybe some day you'll reconsider it.

 More importantly though, you seem to have broken the frameworks branch.
 
 True, sorry about that. This is fixed now.

Thanks.



Re: Review Request: Make KAuth ready for frameworks + API Changes

2012-03-31 Thread Stephen Kelly


 On March 30, 2012, 1:14 p.m., Dario Freddi wrote:
  April is upon us. If no objections arise in the time being, these changes 
  will be merged on Sunday, after which I'll ask Kevin to move KAuth back to 
  tier2/ for prime time.
 
 Stephen Kelly wrote:
 Thanks for making this happen! :)
 
 Instead of merging, please rebase your work like this:
 
 git fetch origin
 git checkout kauth-unit-tests
 git rebase origin/frameworks
 git checkout frameworks
 git rebase kauth-unit-tests
 gitk # Make sure it still looks ok.
 git push
 
 
 This will instead replay your changes on top of the tip of the frameworks 
 branch instead of creating a merge, which is not needed.
 
 Dario Freddi wrote:
 I always do this - nice to know that others love rebased branches :D
 
 Stephen Kelly wrote:
 Great. Good to know.
 
 You did use the word 'merge' though, which triggered my alarm. :)
 
 Thanks,
 
 Kevin Ottens wrote:
 So that you know, it's perfectly fine to me if you do the move yourself, 
 it has my approval already once you rebased on master.
 
 Now if you prefer me to do it myself I can, it's just no a requirement.
 
 Dario Freddi wrote:
 I'd ask you to please complete the move yourself, given that I am not 
 still completely familiar with what's involved (which maybe is just git mv, 
 but just in case)

I saw the branch was merged in. Did something go wrong with the rebase idea?


- Stephen


---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/104337/#review12013
---


On March 18, 2012, 10:25 p.m., Dario Freddi wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/104337/
 ---
 
 (Updated March 18, 2012, 10:25 p.m.)
 
 
 Review request for kdelibs, Kevin Ottens, David Faure, and Alexander Neundorf.
 
 
 Description
 ---
 
 Preamble - sorry for having to name-call people but apparently we still don't 
 have a frameworks way for reviewing code (which sucks). And sorry for the 
 long summary, but it's worth reading. However.
 
 This huge patchsets brings KAuth in the marvelous world of Frameworks. If you 
 dislike ReviewBoard's way of displaying diffs or simply want to see a commit 
 list, please refer to the URL in Branch.
 
 First of all, I pulled in a dependency on KJob after a chat with Kevin. This 
 makes KAuth tier2, but shouldn't be a big issue.
 
 Then there's the hard part: source compatibility is reasonably broken here. 
 The changes I had to do were mostly for the sake of revamping the internal 
 workflow of the library. The main problem KAuth had was the fact it was 
 completely synchronous, leading to a multitude of problems. After these 
 changes it's fully asynchronous instead (reason for pulling in KJob), the API 
 was simplified, and some unused features like multiple action execution have 
 been removed.
 
 The main changes at a glance:
 
  * Some renaming to the enums
  * Moving Action  ActionReply to be implicitly shared
  * Removing ActionWatcher (now useless due to the new semantics of execute
  * Removing some useless APIs from Action, namely executeActions, 
 execute(helper)
  * execute() now returns a KJob
  * helperID() - helperId()
  * Static action replies are now static accessors returning a new instance. 
 This was a complete mistake in the first place, but it's still there with a 
 different semantic to ease porting. The main use case for changing this is a 
 failure to handle implicitly shared classes in multithreaded environments 
 with that approach.
 
 Of course, while it would be awesome to have all the code reviewed, I 
 understand it's a very big change so I'd like at least some feedback on the 
 following points:
 
  * General sanity of the new API
  * Consistency of the enums. StatusInvalid vs. ExecuteMode vs. 
 AuthorizationDeniedError. While the semantic seems correct to me, I'd like to 
 have some feedback on whether consistency is valuable in the ordering of 
 typevalue vs. valuetype and which one should be preferred in case.
  * Whether to deprecate static accessors such as static const ActionReply 
 SuccessReply(). I strongly favor this.
  * Whether the new dependency of kcoreaddons for the sake of using KJob is 
 reasonable or I should go for a different alternative.
  * CMake sanity for the new dependency of kcoreaddons.
 
 The code is pretty much unit-tested and it should have a decent coverage, 
 even if I had no way to check this. For unit tests, I had to create a fake 
 authorization backend for testing purposes, whereas I managed to reuse the 
 dbus backend for helper communication, so that I could even test that. For 
 running the helper and the client

Re: Review Request: Make KAuth ready for frameworks + API Changes

2012-03-31 Thread Stephen Kelly


 On March 30, 2012, 1:14 p.m., Dario Freddi wrote:
  April is upon us. If no objections arise in the time being, these changes 
  will be merged on Sunday, after which I'll ask Kevin to move KAuth back to 
  tier2/ for prime time.
 
 Stephen Kelly wrote:
 Thanks for making this happen! :)
 
 Instead of merging, please rebase your work like this:
 
 git fetch origin
 git checkout kauth-unit-tests
 git rebase origin/frameworks
 git checkout frameworks
 git rebase kauth-unit-tests
 gitk # Make sure it still looks ok.
 git push
 
 
 This will instead replay your changes on top of the tip of the frameworks 
 branch instead of creating a merge, which is not needed.
 
 Dario Freddi wrote:
 I always do this - nice to know that others love rebased branches :D
 
 Stephen Kelly wrote:
 Great. Good to know.
 
 You did use the word 'merge' though, which triggered my alarm. :)
 
 Thanks,
 
 Kevin Ottens wrote:
 So that you know, it's perfectly fine to me if you do the move yourself, 
 it has my approval already once you rebased on master.
 
 Now if you prefer me to do it myself I can, it's just no a requirement.
 
 Dario Freddi wrote:
 I'd ask you to please complete the move yourself, given that I am not 
 still completely familiar with what's involved (which maybe is just git mv, 
 but just in case)
 
 Stephen Kelly wrote:
 I saw the branch was merged in. Did something go wrong with the rebase 
 idea?
 
 Dario Freddi wrote:
 The branch was rebased in fact. But was subsequently merged with --no-ff 
 to have a way to track all the changes with the merge commit (which is 
 nothing but a simple at this point, this branch was integrated). So 
 actually, all of the commits are in fact rebased on top of (previous) 
 framework

It was rebased onto some relatively recent commit, but not the tip of the 
branch.

I don't understand why you bothered rebasing if you were just going to merge 
after doing so anyway (--no-ff). I don't see the value in --no-ff at all. It's 
just as clear that the commits are related because they come from the same 
person for one thing, and because you prefix the first line with the topic for 
another. --no-ff doesn't get you anything useful if you already have that.

I just don't understand the obsession with merges in repos, but as far as I can 
see I'm on my own there...


- Stephen


---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/104337/#review12013
---


On March 18, 2012, 10:25 p.m., Dario Freddi wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/104337/
 ---
 
 (Updated March 18, 2012, 10:25 p.m.)
 
 
 Review request for kdelibs, Kevin Ottens, David Faure, and Alexander Neundorf.
 
 
 Description
 ---
 
 Preamble - sorry for having to name-call people but apparently we still don't 
 have a frameworks way for reviewing code (which sucks). And sorry for the 
 long summary, but it's worth reading. However.
 
 This huge patchsets brings KAuth in the marvelous world of Frameworks. If you 
 dislike ReviewBoard's way of displaying diffs or simply want to see a commit 
 list, please refer to the URL in Branch.
 
 First of all, I pulled in a dependency on KJob after a chat with Kevin. This 
 makes KAuth tier2, but shouldn't be a big issue.
 
 Then there's the hard part: source compatibility is reasonably broken here. 
 The changes I had to do were mostly for the sake of revamping the internal 
 workflow of the library. The main problem KAuth had was the fact it was 
 completely synchronous, leading to a multitude of problems. After these 
 changes it's fully asynchronous instead (reason for pulling in KJob), the API 
 was simplified, and some unused features like multiple action execution have 
 been removed.
 
 The main changes at a glance:
 
  * Some renaming to the enums
  * Moving Action  ActionReply to be implicitly shared
  * Removing ActionWatcher (now useless due to the new semantics of execute
  * Removing some useless APIs from Action, namely executeActions, 
 execute(helper)
  * execute() now returns a KJob
  * helperID() - helperId()
  * Static action replies are now static accessors returning a new instance. 
 This was a complete mistake in the first place, but it's still there with a 
 different semantic to ease porting. The main use case for changing this is a 
 failure to handle implicitly shared classes in multithreaded environments 
 with that approach.
 
 Of course, while it would be awesome to have all the code reviewed, I 
 understand it's a very big change so I'd like at least some feedback on the 
 following points:
 
  * General sanity of the new

Re: Review Request: Make KAuth ready for frameworks + API Changes

2012-03-31 Thread Stephen Kelly

Now I'm confused.

 Stephen Kelly wrote:
 It was rebased onto some relatively recent commit, but not the tip of
 the branch.

You disagreed with what I said:

  - Given that the branch was rebased on top of the last frameworks' commit
  (as you can see from the log), 

... actually I don't see that in the log. Here's what I see:

http://i.imgur.com/xhbCC.png

Do we have a difference in definitions, or is something else causing the 
confusion?

 - Last but not least, looking just at the merge commit shows you the full 
diff the branch introduced - in such a case, for example, is incredibly 
useful to track all of the API changes at once. Yes, you could have used git 
diff merge commit first commit before the rebased branch and it would 
have had the same effect, but the approach is more clean

I tried this with gitk and git show. Neither worked as you describe.

 Starting from the point that this discussion is mostly about one's own
 taste (and again, that's why we NEED a clear policy), my reason for doing
 this is that:

Policies won't help. 

Only technical measures like not accepting pushes with merges, except 
between release-lines (master, 4.8 branch etc) would work, if such a thing 
would be decided on, or if your workflow became policy, only accepting 
pushes with only merge commits on release-line branches. 

I doubt such a thing could be both decided on though. I can imagine what the 
hook would look like in both cases.

More importantly though, you seem to have broken the frameworks branch.

For example (there are other breakages) 
046123dcd8f0f9b900ed1d694e7bbb9f21549ade breaks the build because 
earlyAuthorize has been removed and you didn't port the users of it in the 
frameworks branch away from that API.

Could you do the port and push a commit fixing the build of the whole 
frameworks branch? I guess maybe until now you have only compiled KAuth or 
somthing.

Thanks,

Steve.





Re: Review Request: Make KAuth ready for frameworks + API Changes

2012-03-30 Thread Stephen Kelly


 On March 30, 2012, 1:14 p.m., Dario Freddi wrote:
  April is upon us. If no objections arise in the time being, these changes 
  will be merged on Sunday, after which I'll ask Kevin to move KAuth back to 
  tier2/ for prime time.

Thanks for making this happen! :)

Instead of merging, please rebase your work like this:

git fetch origin
git checkout kauth-unit-tests
git rebase origin/frameworks
git checkout frameworks
git rebase kauth-unit-tests
gitk # Make sure it still looks ok.
git push


This will instead replay your changes on top of the tip of the frameworks 
branch instead of creating a merge, which is not needed.


- Stephen


---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/104337/#review12013
---


On March 18, 2012, 10:25 p.m., Dario Freddi wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/104337/
 ---
 
 (Updated March 18, 2012, 10:25 p.m.)
 
 
 Review request for kdelibs, Kevin Ottens, David Faure, and Alexander Neundorf.
 
 
 Description
 ---
 
 Preamble - sorry for having to name-call people but apparently we still don't 
 have a frameworks way for reviewing code (which sucks). And sorry for the 
 long summary, but it's worth reading. However.
 
 This huge patchsets brings KAuth in the marvelous world of Frameworks. If you 
 dislike ReviewBoard's way of displaying diffs or simply want to see a commit 
 list, please refer to the URL in Branch.
 
 First of all, I pulled in a dependency on KJob after a chat with Kevin. This 
 makes KAuth tier2, but shouldn't be a big issue.
 
 Then there's the hard part: source compatibility is reasonably broken here. 
 The changes I had to do were mostly for the sake of revamping the internal 
 workflow of the library. The main problem KAuth had was the fact it was 
 completely synchronous, leading to a multitude of problems. After these 
 changes it's fully asynchronous instead (reason for pulling in KJob), the API 
 was simplified, and some unused features like multiple action execution have 
 been removed.
 
 The main changes at a glance:
 
  * Some renaming to the enums
  * Moving Action  ActionReply to be implicitly shared
  * Removing ActionWatcher (now useless due to the new semantics of execute
  * Removing some useless APIs from Action, namely executeActions, 
 execute(helper)
  * execute() now returns a KJob
  * helperID() - helperId()
  * Static action replies are now static accessors returning a new instance. 
 This was a complete mistake in the first place, but it's still there with a 
 different semantic to ease porting. The main use case for changing this is a 
 failure to handle implicitly shared classes in multithreaded environments 
 with that approach.
 
 Of course, while it would be awesome to have all the code reviewed, I 
 understand it's a very big change so I'd like at least some feedback on the 
 following points:
 
  * General sanity of the new API
  * Consistency of the enums. StatusInvalid vs. ExecuteMode vs. 
 AuthorizationDeniedError. While the semantic seems correct to me, I'd like to 
 have some feedback on whether consistency is valuable in the ordering of 
 typevalue vs. valuetype and which one should be preferred in case.
  * Whether to deprecate static accessors such as static const ActionReply 
 SuccessReply(). I strongly favor this.
  * Whether the new dependency of kcoreaddons for the sake of using KJob is 
 reasonable or I should go for a different alternative.
  * CMake sanity for the new dependency of kcoreaddons.
 
 The code is pretty much unit-tested and it should have a decent coverage, 
 even if I had no way to check this. For unit tests, I had to create a fake 
 authorization backend for testing purposes, whereas I managed to reuse the 
 dbus backend for helper communication, so that I could even test that. For 
 running the helper and the client in the same process, in the unit test I am 
 resorting to making the dbus service of the helper live in a separate thread, 
 to prevent asynchronous DBus calls from failing due to QDBus' local-loop 
 optimization. The test is also run on the session bus.
 
 
 Diffs
 -
 
   staging/kauth/CMakeLists.txt PRE-CREATION 
   staging/kauth/autotests/BackendsManager.h PRE-CREATION 
   staging/kauth/autotests/BackendsManager.cpp PRE-CREATION 
   staging/kauth/autotests/CMakeLists.txt PRE-CREATION 
   staging/kauth/autotests/HelperTest.cpp PRE-CREATION 
   staging/kauth/autotests/SetupActionTest.cpp PRE-CREATION 
   staging/kauth/autotests/TestBackend.h PRE-CREATION 
   staging/kauth/autotests/TestBackend.cpp PRE-CREATION 
   staging/kauth/autotests/TestHelper.h PRE-CREATION 
   staging/kauth/autotests/TestHelper.cpp PRE-CREATION 
   

Re: Review Request: Make KAuth ready for frameworks + API Changes

2012-03-21 Thread Stephen Kelly


 On March 21, 2012, 8:54 p.m., Alexander Neundorf wrote:
  I did not yet have time to look through the git branch...
  
  So, kauth, we have a bunch of cmake macros related to this in 
  kdelibs/cmake/KDE4Macros.cmake, right ?
  What about them ?

They are already in ${CMAKE_SOURCE_DIR}/staging/kauth/cmake/KAuthMacros.cmake


- Stephen


---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/104337/#review11717
---


On March 18, 2012, 10:25 p.m., Dario Freddi wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/104337/
 ---
 
 (Updated March 18, 2012, 10:25 p.m.)
 
 
 Review request for kdelibs, Kevin Ottens, David Faure, and Alexander Neundorf.
 
 
 Description
 ---
 
 Preamble - sorry for having to name-call people but apparently we still don't 
 have a frameworks way for reviewing code (which sucks). And sorry for the 
 long summary, but it's worth reading. However.
 
 This huge patchsets brings KAuth in the marvelous world of Frameworks. If you 
 dislike ReviewBoard's way of displaying diffs or simply want to see a commit 
 list, please refer to the URL in Branch.
 
 First of all, I pulled in a dependency on KJob after a chat with Kevin. This 
 makes KAuth tier2, but shouldn't be a big issue.
 
 Then there's the hard part: source compatibility is reasonably broken here. 
 The changes I had to do were mostly for the sake of revamping the internal 
 workflow of the library. The main problem KAuth had was the fact it was 
 completely synchronous, leading to a multitude of problems. After these 
 changes it's fully asynchronous instead (reason for pulling in KJob), the API 
 was simplified, and some unused features like multiple action execution have 
 been removed.
 
 The main changes at a glance:
 
  * Some renaming to the enums
  * Moving Action  ActionReply to be implicitly shared
  * Removing ActionWatcher (now useless due to the new semantics of execute
  * Removing some useless APIs from Action, namely executeActions, 
 execute(helper)
  * execute() now returns a KJob
  * helperID() - helperId()
  * Static action replies are now static accessors returning a new instance. 
 This was a complete mistake in the first place, but it's still there with a 
 different semantic to ease porting. The main use case for changing this is a 
 failure to handle implicitly shared classes in multithreaded environments 
 with that approach.
 
 Of course, while it would be awesome to have all the code reviewed, I 
 understand it's a very big change so I'd like at least some feedback on the 
 following points:
 
  * General sanity of the new API
  * Consistency of the enums. StatusInvalid vs. ExecuteMode vs. 
 AuthorizationDeniedError. While the semantic seems correct to me, I'd like to 
 have some feedback on whether consistency is valuable in the ordering of 
 typevalue vs. valuetype and which one should be preferred in case.
  * Whether to deprecate static accessors such as static const ActionReply 
 SuccessReply(). I strongly favor this.
  * Whether the new dependency of kcoreaddons for the sake of using KJob is 
 reasonable or I should go for a different alternative.
  * CMake sanity for the new dependency of kcoreaddons.
 
 The code is pretty much unit-tested and it should have a decent coverage, 
 even if I had no way to check this. For unit tests, I had to create a fake 
 authorization backend for testing purposes, whereas I managed to reuse the 
 dbus backend for helper communication, so that I could even test that. For 
 running the helper and the client in the same process, in the unit test I am 
 resorting to making the dbus service of the helper live in a separate thread, 
 to prevent asynchronous DBus calls from failing due to QDBus' local-loop 
 optimization. The test is also run on the session bus.
 
 
 Diffs
 -
 
   staging/kauth/CMakeLists.txt PRE-CREATION 
   staging/kauth/autotests/BackendsManager.h PRE-CREATION 
   staging/kauth/autotests/BackendsManager.cpp PRE-CREATION 
   staging/kauth/autotests/CMakeLists.txt PRE-CREATION 
   staging/kauth/autotests/HelperTest.cpp PRE-CREATION 
   staging/kauth/autotests/SetupActionTest.cpp PRE-CREATION 
   staging/kauth/autotests/TestBackend.h PRE-CREATION 
   staging/kauth/autotests/TestBackend.cpp PRE-CREATION 
   staging/kauth/autotests/TestHelper.h PRE-CREATION 
   staging/kauth/autotests/TestHelper.cpp PRE-CREATION 
   staging/kauth/src/AuthBackend.h PRE-CREATION 
   staging/kauth/src/CMakeLists.txt PRE-CREATION 
   staging/kauth/src/HelperProxy.h PRE-CREATION 
   staging/kauth/src/backends/dbus/DBusHelperProxy.h PRE-CREATION 
   staging/kauth/src/backends/dbus/DBusHelperProxy.cpp PRE-CREATION 
   

Re: Review Request: Make KAuth ready for frameworks + API Changes

2012-03-19 Thread Stephen Kelly


 On March 18, 2012, 11:04 p.m., Stephen Kelly wrote:
  Nice, thanks and sorry for the noise, and thanks for making the branch.
 
 Dario Freddi wrote:
 Np, hope you'll be able to have a quick look at it as well, it would be 
 great :)

Mostly it looks fine. 

The enums are not named consistently though. Sometimes you make it enum 
nameenum value (eg StatusDenied) and sometimes you use enum valueenum 
name (eg HelperBusyError).
The Qt way would be enum valueenum name.

Also, you replied that removed APIs are used nowhere. Are the enums used 
nowhere too? Is it worth keeping the backward compatibility enum names? 
Assuming your branch builds (I didn't try it) nothing else inside of kdelibs 
seems to need those enum values at least, so maybe it's not a big deal.

I'm also generally impressed with how the commits are written to do one thing 
at a time, so thanks for that. I wonder if the fixes to ExecuteJob should be 
squashed though as well as porting it to KJob? It's not clear to me if those 
commits are separate because of something in an intermediate commit? Not very 
important either way. I don't mind if you change them or not.

Some of the files in the unit tests appear to be old. Are they copied from 
somewhere? Could they be moved instead? 


- Stephen


---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/104337/#review11596
---


On March 18, 2012, 10:25 p.m., Dario Freddi wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/104337/
 ---
 
 (Updated March 18, 2012, 10:25 p.m.)
 
 
 Review request for kdelibs, Kevin Ottens, David Faure, and Alexander Neundorf.
 
 
 Description
 ---
 
 Preamble - sorry for having to name-call people but apparently we still don't 
 have a frameworks way for reviewing code (which sucks). And sorry for the 
 long summary, but it's worth reading. However.
 
 This huge patchsets brings KAuth in the marvelous world of Frameworks. If you 
 dislike ReviewBoard's way of displaying diffs or simply want to see a commit 
 list, please refer to the URL in Branch.
 
 First of all, I pulled in a dependency on KJob after a chat with Kevin. This 
 makes KAuth tier2, but shouldn't be a big issue.
 
 Then there's the hard part: source compatibility is reasonably broken here. 
 The changes I had to do were mostly for the sake of revamping the internal 
 workflow of the library. The main problem KAuth had was the fact it was 
 completely synchronous, leading to a multitude of problems. After these 
 changes it's fully asynchronous instead (reason for pulling in KJob), the API 
 was simplified, and some unused features like multiple action execution have 
 been removed.
 
 The main changes at a glance:
 
  * Some renaming to the enums
  * Moving Action  ActionReply to be implicitly shared
  * Removing ActionWatcher (now useless due to the new semantics of execute
  * Removing some useless APIs from Action, namely executeActions, 
 execute(helper)
  * execute() now returns a KJob
  * helperID() - helperId()
  * Static action replies are now static accessors returning a new instance. 
 This was a complete mistake in the first place, but it's still there with a 
 different semantic to ease porting. The main use case for changing this is a 
 failure to handle implicitly shared classes in multithreaded environments 
 with that approach.
 
 Of course, while it would be awesome to have all the code reviewed, I 
 understand it's a very big change so I'd like at least some feedback on the 
 following points:
 
  * General sanity of the new API
  * Consistency of the enums. StatusInvalid vs. ExecuteMode vs. 
 AuthorizationDeniedError. While the semantic seems correct to me, I'd like to 
 have some feedback on whether consistency is valuable in the ordering of 
 typevalue vs. valuetype and which one should be preferred in case.
  * Whether to deprecate static accessors such as static const ActionReply 
 SuccessReply(). I strongly favor this.
  * Whether the new dependency of kcoreaddons for the sake of using KJob is 
 reasonable or I should go for a different alternative.
  * CMake sanity for the new dependency of kcoreaddons.
 
 The code is pretty much unit-tested and it should have a decent coverage, 
 even if I had no way to check this. For unit tests, I had to create a fake 
 authorization backend for testing purposes, whereas I managed to reuse the 
 dbus backend for helper communication, so that I could even test that. For 
 running the helper and the client in the same process, in the unit test I am 
 resorting to making the dbus service of the helper live in a separate thread, 
 to prevent asynchronous DBus calls from failing due to QDBus' local-loop 
 optimization

Re: Review Request: Make KAuth ready for frameworks + API Changes

2012-03-19 Thread Stephen Kelly


 On March 18, 2012, 11:04 p.m., Stephen Kelly wrote:
  Nice, thanks and sorry for the noise, and thanks for making the branch.
 
 Dario Freddi wrote:
 Np, hope you'll be able to have a quick look at it as well, it would be 
 great :)
 
 Stephen Kelly wrote:
 Mostly it looks fine. 
 
 The enums are not named consistently though. Sometimes you make it enum 
 nameenum value (eg StatusDenied) and sometimes you use enum valueenum 
 name (eg HelperBusyError).
 The Qt way would be enum valueenum name.
 
 Also, you replied that removed APIs are used nowhere. Are the enums used 
 nowhere too? Is it worth keeping the backward compatibility enum names? 
 Assuming your branch builds (I didn't try it) nothing else inside of kdelibs 
 seems to need those enum values at least, so maybe it's not a big deal.
 
 I'm also generally impressed with how the commits are written to do one 
 thing at a time, so thanks for that. I wonder if the fixes to ExecuteJob 
 should be squashed though as well as porting it to KJob? It's not clear to me 
 if those commits are separate because of something in an intermediate commit? 
 Not very important either way. I don't mind if you change them or not.
 
 Some of the files in the unit tests appear to be old. Are they copied 
 from somewhere? Could they be moved instead?

Regarding what you asked about:

 * Consistency of the enums. StatusInvalid vs. ExecuteMode vs. 
AuthorizationDeniedError. While the semantic seems correct to me, I'd like to 
have some feedback on whether consistency is valuable in the ordering of 
typevalue vs. valuetype and which one should be preferred in case.

I guess I prefer the Qt style.

 * Whether to deprecate static accessors such as static const ActionReply 
SuccessReply(). I strongly favor this.

If you know that they are not much used or easily portable, I'd say go for it.

 * Whether the new dependency of kcoreaddons for the sake of using KJob is 
reasonable or I should go for a different alternative.

I think it's an ok dependency. I still hope that class will move to a different 
framework at some point if we can find other classes that it would belong with 
('base-asyncronous APIs'?). 'addons' is a forbidden name if the result of Randa 
is followed.

 * CMake sanity for the new dependency of kcoreaddons.

That's fine, yes.


- Stephen


---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/104337/#review11596
---


On March 18, 2012, 10:25 p.m., Dario Freddi wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/104337/
 ---
 
 (Updated March 18, 2012, 10:25 p.m.)
 
 
 Review request for kdelibs, Kevin Ottens, David Faure, and Alexander Neundorf.
 
 
 Description
 ---
 
 Preamble - sorry for having to name-call people but apparently we still don't 
 have a frameworks way for reviewing code (which sucks). And sorry for the 
 long summary, but it's worth reading. However.
 
 This huge patchsets brings KAuth in the marvelous world of Frameworks. If you 
 dislike ReviewBoard's way of displaying diffs or simply want to see a commit 
 list, please refer to the URL in Branch.
 
 First of all, I pulled in a dependency on KJob after a chat with Kevin. This 
 makes KAuth tier2, but shouldn't be a big issue.
 
 Then there's the hard part: source compatibility is reasonably broken here. 
 The changes I had to do were mostly for the sake of revamping the internal 
 workflow of the library. The main problem KAuth had was the fact it was 
 completely synchronous, leading to a multitude of problems. After these 
 changes it's fully asynchronous instead (reason for pulling in KJob), the API 
 was simplified, and some unused features like multiple action execution have 
 been removed.
 
 The main changes at a glance:
 
  * Some renaming to the enums
  * Moving Action  ActionReply to be implicitly shared
  * Removing ActionWatcher (now useless due to the new semantics of execute
  * Removing some useless APIs from Action, namely executeActions, 
 execute(helper)
  * execute() now returns a KJob
  * helperID() - helperId()
  * Static action replies are now static accessors returning a new instance. 
 This was a complete mistake in the first place, but it's still there with a 
 different semantic to ease porting. The main use case for changing this is a 
 failure to handle implicitly shared classes in multithreaded environments 
 with that approach.
 
 Of course, while it would be awesome to have all the code reviewed, I 
 understand it's a very big change so I'd like at least some feedback on the 
 following points:
 
  * General sanity of the new API
  * Consistency of the enums. StatusInvalid vs. ExecuteMode

Re: Review Request: Make KAuth ready for frameworks + API Changes

2012-03-18 Thread Stephen Kelly

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/104337/#review11594
---


Given that it does so many things, I wonder if it should be split into multiple 
patches. (I didn't fetch the branch - maybe you already have it in multiple 
patches) For examples, renaming the enums in one commit, making Action 
implicitly shared in another, ID -id in another etc. That would make the 
'meat' of your work reviewable.

Did you investigate how much the removed API is used?


- Stephen Kelly


On March 18, 2012, 10:25 p.m., Dario Freddi wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/104337/
 ---
 
 (Updated March 18, 2012, 10:25 p.m.)
 
 
 Review request for kdelibs, Kevin Ottens, David Faure, and Alexander Neundorf.
 
 
 Description
 ---
 
 Preamble - sorry for having to name-call people but apparently we still don't 
 have a frameworks way for reviewing code (which sucks). And sorry for the 
 long summary, but it's worth reading. However.
 
 This huge patchsets brings KAuth in the marvelous world of Frameworks. If you 
 dislike ReviewBoard's way of displaying diffs or simply want to see a commit 
 list, please refer to the URL in Branch.
 
 First of all, I pulled in a dependency on KJob after a chat with Kevin. This 
 makes KAuth tier2, but shouldn't be a big issue.
 
 Then there's the hard part: source compatibility is reasonably broken here. 
 The changes I had to do were mostly for the sake of revamping the internal 
 workflow of the library. The main problem KAuth had was the fact it was 
 completely synchronous, leading to a multitude of problems. After these 
 changes it's fully asynchronous instead (reason for pulling in KJob), the API 
 was simplified, and some unused features like multiple action execution have 
 been removed.
 
 The main changes at a glance:
 
  * Some renaming to the enums
  * Moving Action  ActionReply to be implicitly shared
  * Removing ActionWatcher (now useless due to the new semantics of execute
  * Removing some useless APIs from Action, namely executeActions, 
 execute(helper)
  * execute() now returns a KJob
  * helperID() - helperId()
  * Static action replies are now static accessors returning a new instance. 
 This was a complete mistake in the first place, but it's still there with a 
 different semantic to ease porting. The main use case for changing this is a 
 failure to handle implicitly shared classes in multithreaded environments 
 with that approach.
 
 Of course, while it would be awesome to have all the code reviewed, I 
 understand it's a very big change so I'd like at least some feedback on the 
 following points:
 
  * General sanity of the new API
  * Consistency of the enums. StatusInvalid vs. ExecuteMode vs. 
 AuthorizationDeniedError. While the semantic seems correct to me, I'd like to 
 have some feedback on whether consistency is valuable in the ordering of 
 typevalue vs. valuetype and which one should be preferred in case.
  * Whether to deprecate static accessors such as static const ActionReply 
 SuccessReply(). I strongly favor this.
  * Whether the new dependency of kcoreaddons for the sake of using KJob is 
 reasonable or I should go for a different alternative.
  * CMake sanity for the new dependency of kcoreaddons.
 
 The code is pretty much unit-tested and it should have a decent coverage, 
 even if I had no way to check this. For unit tests, I had to create a fake 
 authorization backend for testing purposes, whereas I managed to reuse the 
 dbus backend for helper communication, so that I could even test that. For 
 running the helper and the client in the same process, in the unit test I am 
 resorting to making the dbus service of the helper live in a separate thread, 
 to prevent asynchronous DBus calls from failing due to QDBus' local-loop 
 optimization. The test is also run on the session bus.
 
 
 Diffs
 -
 
   staging/kauth/CMakeLists.txt PRE-CREATION 
   staging/kauth/autotests/BackendsManager.h PRE-CREATION 
   staging/kauth/autotests/BackendsManager.cpp PRE-CREATION 
   staging/kauth/autotests/CMakeLists.txt PRE-CREATION 
   staging/kauth/autotests/HelperTest.cpp PRE-CREATION 
   staging/kauth/autotests/SetupActionTest.cpp PRE-CREATION 
   staging/kauth/autotests/TestBackend.h PRE-CREATION 
   staging/kauth/autotests/TestBackend.cpp PRE-CREATION 
   staging/kauth/autotests/TestHelper.h PRE-CREATION 
   staging/kauth/autotests/TestHelper.cpp PRE-CREATION 
   staging/kauth/src/AuthBackend.h PRE-CREATION 
   staging/kauth/src/CMakeLists.txt PRE-CREATION 
   staging/kauth/src/HelperProxy.h PRE-CREATION 
   staging/kauth/src/backends/dbus/DBusHelperProxy.h PRE-CREATION 
   staging/kauth/src/backends/dbus

Re: Review Request: Make KAuth ready for frameworks + API Changes

2012-03-18 Thread Stephen Kelly

---
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/104337/#review11596
---


Nice, thanks and sorry for the noise, and thanks for making the branch.

- Stephen Kelly


On March 18, 2012, 10:25 p.m., Dario Freddi wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/104337/
 ---
 
 (Updated March 18, 2012, 10:25 p.m.)
 
 
 Review request for kdelibs, Kevin Ottens, David Faure, and Alexander Neundorf.
 
 
 Description
 ---
 
 Preamble - sorry for having to name-call people but apparently we still don't 
 have a frameworks way for reviewing code (which sucks). And sorry for the 
 long summary, but it's worth reading. However.
 
 This huge patchsets brings KAuth in the marvelous world of Frameworks. If you 
 dislike ReviewBoard's way of displaying diffs or simply want to see a commit 
 list, please refer to the URL in Branch.
 
 First of all, I pulled in a dependency on KJob after a chat with Kevin. This 
 makes KAuth tier2, but shouldn't be a big issue.
 
 Then there's the hard part: source compatibility is reasonably broken here. 
 The changes I had to do were mostly for the sake of revamping the internal 
 workflow of the library. The main problem KAuth had was the fact it was 
 completely synchronous, leading to a multitude of problems. After these 
 changes it's fully asynchronous instead (reason for pulling in KJob), the API 
 was simplified, and some unused features like multiple action execution have 
 been removed.
 
 The main changes at a glance:
 
  * Some renaming to the enums
  * Moving Action  ActionReply to be implicitly shared
  * Removing ActionWatcher (now useless due to the new semantics of execute
  * Removing some useless APIs from Action, namely executeActions, 
 execute(helper)
  * execute() now returns a KJob
  * helperID() - helperId()
  * Static action replies are now static accessors returning a new instance. 
 This was a complete mistake in the first place, but it's still there with a 
 different semantic to ease porting. The main use case for changing this is a 
 failure to handle implicitly shared classes in multithreaded environments 
 with that approach.
 
 Of course, while it would be awesome to have all the code reviewed, I 
 understand it's a very big change so I'd like at least some feedback on the 
 following points:
 
  * General sanity of the new API
  * Consistency of the enums. StatusInvalid vs. ExecuteMode vs. 
 AuthorizationDeniedError. While the semantic seems correct to me, I'd like to 
 have some feedback on whether consistency is valuable in the ordering of 
 typevalue vs. valuetype and which one should be preferred in case.
  * Whether to deprecate static accessors such as static const ActionReply 
 SuccessReply(). I strongly favor this.
  * Whether the new dependency of kcoreaddons for the sake of using KJob is 
 reasonable or I should go for a different alternative.
  * CMake sanity for the new dependency of kcoreaddons.
 
 The code is pretty much unit-tested and it should have a decent coverage, 
 even if I had no way to check this. For unit tests, I had to create a fake 
 authorization backend for testing purposes, whereas I managed to reuse the 
 dbus backend for helper communication, so that I could even test that. For 
 running the helper and the client in the same process, in the unit test I am 
 resorting to making the dbus service of the helper live in a separate thread, 
 to prevent asynchronous DBus calls from failing due to QDBus' local-loop 
 optimization. The test is also run on the session bus.
 
 
 Diffs
 -
 
   staging/kauth/CMakeLists.txt PRE-CREATION 
   staging/kauth/autotests/BackendsManager.h PRE-CREATION 
   staging/kauth/autotests/BackendsManager.cpp PRE-CREATION 
   staging/kauth/autotests/CMakeLists.txt PRE-CREATION 
   staging/kauth/autotests/HelperTest.cpp PRE-CREATION 
   staging/kauth/autotests/SetupActionTest.cpp PRE-CREATION 
   staging/kauth/autotests/TestBackend.h PRE-CREATION 
   staging/kauth/autotests/TestBackend.cpp PRE-CREATION 
   staging/kauth/autotests/TestHelper.h PRE-CREATION 
   staging/kauth/autotests/TestHelper.cpp PRE-CREATION 
   staging/kauth/src/AuthBackend.h PRE-CREATION 
   staging/kauth/src/CMakeLists.txt PRE-CREATION 
   staging/kauth/src/HelperProxy.h PRE-CREATION 
   staging/kauth/src/backends/dbus/DBusHelperProxy.h PRE-CREATION 
   staging/kauth/src/backends/dbus/DBusHelperProxy.cpp PRE-CREATION 
   staging/kauth/src/backends/dbus/org.kde.auth.xml PRE-CREATION 
   staging/kauth/src/backends/fake/FakeBackend.cpp PRE-CREATION 
   staging/kauth/src/backends/fakehelper/FakeHelperProxy.h PRE-CREATION 
   staging/kauth/src/backends/fakehelper/FakeHelperProxy.cpp PRE-CREATION

Please avoid noisy merge commits in frameworks

2012-02-19 Thread Stephen Kelly

Hi there,

I was reviewing the changes in the frameworks branch from yesterday. 
Something I noticed was that there are a lot of merge commits that don't 
need to exist.

Please use `gitk` to see them.

The unneeded merge commits actually make it harder to follow frameworks for 
me. It breaks things like using `gitk --first-parent` which should show only 
the commits in frameworks. If you now try that out, you will see that the 
people who made the unneeded merges actually hide commits from the people 
that didn't. See for example that if you run `gitk --first-parent` commit 
011b6115d2dd91e9104095f3a5065e80009ea1a7 from David is not shown.

This is also the reason you should not cherry-pick from 4.8 into frameworks 
by the way. If you cherry-pick, then 4.8 commits show up in `gitk --first-
parent` when trying to look at only the frameworks branch. That means they 
are just noise, so please keep that in mind too.

To help out:

* Do not use git pull when working on frameworks. Use git pull --rebase 
instead.

* Alternatively (preffered) configure git to always add an implicit --rebase 
to the pull command:
http://d.strelau.net/post/47338904/git-pull-rebase-by-default

* Use gitk --all to see what would happen if you push. You should never have 
to create merge commits. If you do, then please clean it up before pushing.

Thanks,

Steve.




Re: Please avoid noisy merge commits in frameworks

2012-02-19 Thread Stephen Kelly
Matt Williams wrote:
 * Use gitk --all to see what would happen if you push. You should never
 have to create merge commits. If you do, then please clean it up before
 pushing.
 
 Yes, I realised after the fact that I had created one of these so
 sorry about that. I've already now switched to using --rebase. If one
 does accidentally create one of these merge commits, how can they fix
 it before they push?

Usually you can do something like 

* Run gitk to make sure the topmost commit is the merge and that you don't 
have any pending changes (if you do, then stash them)
* git reset --hard HEAD # Undo the merge commit.
* git rebase origin/frameworks # Move the commits to the top.
* gitk # Make sure it worked as expected.
* git push # push it.
 
Thanks,

Steve.




Re: Please avoid noisy merge commits in frameworks

2012-02-19 Thread Stephen Kelly
Stephen Kelly wrote:

 
 Hi there,
 
 I was reviewing the changes in the frameworks branch from yesterday.
 Something I noticed was that there are a lot of merge commits that don't
 need to exist.

Ugh. Yet more of this just appeared... Recent history in the frameworks 
branch looks far more complex than it is and is harder to follow.

There are too many people unaware that they're doing it maybe...



Re: Please avoid noisy merge commits in frameworks

2012-02-19 Thread Stephen Kelly
Dario Freddi wrote:

 2012/2/19 Stephen Kelly steve...@gmail.com:
 Stephen Kelly wrote:


 Hi there,

 I was reviewing the changes in the frameworks branch from yesterday.
 Something I noticed was that there are a lot of merge commits that don't
 need to exist.

 Ugh. Yet more of this just appeared... Recent history in the frameworks
 branch looks far more complex than it is and is harder to follow.

 There are too many people unaware that they're doing it maybe...
 
 What about having a small volunteer day in which we draft some
 policies for git commits and eventually implement some hooks to avoid
 these (and other) things happening?
 

There's some ideas for such hooks on the Internet already:

http://stackoverflow.com/questions/2039773/have-remote-git-repository-
refuse-merge-commits-on-push

I don't know ruby or shell scripting well enough to write something sysadmin 
would accept, but I would definitely welcome such a hook.

Thanks,

Steve.




Re: Please avoid noisy merge commits in frameworks

2012-02-19 Thread Stephen Kelly
Laszlo Papp wrote:

 Is there already something like that ?
 
 There is already something here:
 
http://community.kde.org/Frameworks/Git_Workflow#Local_branches_are_always_rebased.2C_remote_branches_never
 
 Might be a good idea to extend it with git config
 branch.autosetuprebase always and the gitk advice.

Do you think you could add what you learned?

It might already be too ingrained in me to explain to others.

Thanks,

Steve.





Re: Please avoid noisy merge commits in frameworks

2012-02-19 Thread Stephen Kelly
Ben Cooksley wrote:

 On Feb 20, 2012 7:12 AM, Stephen Kelly steve...@gmail.com wrote:

 Dario Freddi wrote:

  2012/2/19 Stephen Kelly steve...@gmail.com:
  Stephen Kelly wrote:
 
 
  Hi there,
 
  I was reviewing the changes in the frameworks branch from yesterday.
  Something I noticed was that there are a lot of merge commits that
 don't
  need to exist.
 
  Ugh. Yet more of this just appeared... Recent history in the
  frameworks branch looks far more complex than it is and is harder to
  follow.
 
  There are too many people unaware that they're doing it maybe...
 
  What about having a small volunteer day in which we draft some
  policies for git commits and eventually implement some hooks to avoid
  these (and other) things happening?
 

 There's some ideas for such hooks on the Internet already:

 http://stackoverflow.com/questions/2039773/have-remote-git-repository-
 refuse-merge-commits-on-push

 I don't know ruby or shell scripting well enough to write something
 sysadmin
 would accept, but I would definitely welcome such a hook.
 
 First, our hooks are in python - so any changes would need to be in Python
 as well.
 
 Second, there is a legitimate use for pushing merge commits - namely
 integrating a seperate remote branch. I have no idea if it would be
 possible to determine if this is a local only branch merge or not.

According to the question, it should be possible : '... The only exception 
being if the merge is between branches that exist in the central repository 
...'

 
 Third, please ensure that you disable the previously mentioned auto-rebase
 on git pull if you are merging a reemote branch, otherwise you will
 duplicate many commits, in addition to triggering the hooks for all those
 commits (which will not happen if you just merge). The hooks could even
 decide to reject your push, as it will contain too many new commits.

In short, if you want to merge, make sure you know what you're doing, and 
check the result in gitk (and make sure you understand what you see) before 
pushing :).


 
 Regards,
 Ben Cooksley
 KDE Sysadmin.




Re: KDE Frameworks 5: Rhythm

2012-01-23 Thread Stephen Kelly
Thiago Macieira wrote:

 On Sunday, 22 de January de 2012 12.08.57, Stephen Kelly wrote:
 Valentin Rusu wrote:
  Stephen Kelly wrote:
  Kevin Ottens wrote:
  There's three main reasons for this rhythm:
  * KAction/QAction stuff - Don't know what's needed. If QAction needs
  new virtual method that would need to be determined soon. Is anyone
  driving that? Again, needs subtask here if it's going to happen:
  https://bugreports.qt.nokia.com/browse/QTBUG-20885
  
  Well, I volunteered for this item but real life/job got a hold on me
  since the last meeting. But now I'm getting more time for hacking.
  
  I wasn't aware about the QTBUG you linked us to. Thanks for that. And I
  can tell I'm far from having a precise plan about KAction merge. But
  I'll try to have one in a couple of weeks.
 
 Note that feature freeze of Qt is early February.
 
 There will be a feature window after that at some point, but it will
 become even harder to get anything in after that especially with no clear
 plan.
 
 Please note that the task is for Qt 5.0 blockers: stuff that needs to
 happen in 5.0 because it cannot happen in 5.1 or later releases.
 
 If this is about a few methods that need to change in QAction, it's
 probably fine to do them even after the feature freeze. If it's a major
 change, it needs to happen *now*. And by that I mean this week, starting
 tomorrow.

Yes, this was the impression I was trying to give too.

Someone who does not already have a history of contribution to Qt and is not 
already part of the mailing list, patch tracker, and culture can't just fly 
by with a non-trivial patch and expect it to be submitted.

In this particular case (QAction) it probably doesn't matter. QAction is in 
a not-maintained (done) module (widgets). That means it is not usable by QML 
applications which will need a new class to represent an action. It makes 
more sense for whoever knows KAction to make sure that the new class 
satisfies the needs KDE has for actions, or to drive the effort for that new 
class in the first place.

Thanks,

Steve.




Re: KDE Frameworks 5: Rhythm

2012-01-23 Thread Stephen Kelly
Thiago Macieira wrote:

 On Monday, 23 de January de 2012 09.58.46, Stephen Kelly wrote:
 If it does belong to the garbage bin, we should consider getting some
 stuff into the existing class - making toLower() built into the scheme()
 etc.
 
 Do you have a list of such small fixes?
 
 No, I don't. If the most glaring, major flaw doesn't get fixed, what good
 are the small fixes?

If scheme() lower cases, there is no reason for KUrl::protocol to exist.

Less difference between Qt and KDE API for no lasting reason is a good 
thing.

Thanks,

Steve.




Re: KDE Frameworks 5: Rhythm

2012-01-22 Thread Stephen Kelly
Kevin Ottens wrote:

 On Saturday 21 January 2012 20:49:40 Stephen Kelly wrote:
 Kevin Ottens wrote:
  On Saturday 21 January 2012 16:17:38 Stephen Kelly wrote:
  Kevin Ottens wrote:
   There's three main reasons for this rhythm:
* Qt 5.0 feature freeze is upon us now;
* CMake 2.8.8 will be released in April;
* it'd be nice to release KDE Frameworks 5.0 at Akademy[*].
  
  You mean 'some of the frameworks'? They won't all be done by then.
  More
  stuff will need to get into Qt before that's possible.
  
  Yeah, I know a couple of them will need some merging scheduled for Qt
  5.1
  already (like equivalent to KSaveFile for instance). But if I
  reintroduce
  the few words I forgot to type which were a technology preview of I
  think it's doable. It means it'd build against qt master likely
  earmarked to become 5.1[*].
 
 Honestly I don't see a point in aiming so early.
 
 Give no aim, no rhythm and the effort will be on the back burner forever
 (in any case for way too long). Let's be honest with ourselves here:
 that's the biggest risk we face right now.

Maybe it is the biggest risk. 

There are big problems that affect scheduling attempts too, such as there 
being a lot still to do in our upstreams, and not enough people who have 
enough expertise to contribute to the effort doing so. Maybe a schedule will 
attract them. I don't know.

 
 Having monthly check points, and a bigger one in a while where we try to
 see how a end-user release would look with the current state (give it the
 name you want I'd call that Technology Preview 1) are IMO the best way to
 get people motivated (sense of achievement) and to reassess your plans
 efficiently (early feedback).
 
 It makes mistakes and 'I
 thought it would behave like ABC' more risky and costly. I know you're
 'only' talking about technology preview, but once a technology preview is
 out, some people will say things like 'We shouldn't change things
 significantly now that the technology preview is out' and there will be
 long threads on some mailing list somewhere.
 
 Honestly for a technology preview we don't necessarily need a large PR
 around it, and you should expect it to burn your house and to change a lot
 if necessary. 

Fair enough. If the point is to get people to try it though it will need 
some sort of PR and 'release'.

 Who talked about a freeze? Not me at least. And I honestly
 don't think we should take decisions based on some hypothetical people
 ranting and some future threads in mailing list which didn't appear yet.
 Fear based decision taking is the best way to derail a project or have an
 inadequate outcome.

Ok :). Lets just agree to ignore such threads if they do appear and not 
respond. That doesn't affect anything about what tech news outlets will 
write though :).

 
  Come on, it's just *almost* impossible? So still deserves to be
  attempted.
  :-)
 
 By someone, but not me. (Apart from the timezone stuff which I am willing
 to do, but it's likely that if I try to submit it to Qt it will be
 blocked with 'What does John Layt say', which I can't answer because I
 can't get a hold of him).
 
 On that topic John apparently reappeared recently so I'd expect some
 improvement. If not we should act soon indeed.

Yes, I have been attempting to discuss it for a while.

I'll just try to move on without his input I guess. David Jarvie did see the 
sense in the proposal, so that's a good start (though I think John might 
officially be the maintainer of the stuff in Qt).

Thanks,

Steve.



Re: KDE Frameworks 5: Rhythm

2012-01-21 Thread Stephen Kelly
Kevin Ottens wrote:
 There's three main reasons for this rhythm:
  * Qt 5.0 feature freeze is upon us now;
  * CMake 2.8.8 will be released in April;
  * it'd be nice to release KDE Frameworks 5.0 at Akademy[*].

You mean 'some of the frameworks'? They won't all be done by then. More 
stuff will need to get into Qt before that's possible.

 To that effect we did some modifications to the active wiki pages:
  * Now we have one page per Qt version we want to target for pushing
  features
 in Qt, the Qt 5.0 page contains the really critical stuff we want to see
 achieved:
 http://community.kde.org/Frameworks/Epics/Qt_5.0_Merging

Some of the stuff on that page that isn't close to done is almost impossible 
at this point.

* command line arguments - potential bikeshed. Discussion would have been 
needed weeks ago on the Qt5 list for it to be possible. Is anyone driving 
it? If it really can't wait until Qt 5.1 there needs to at least be a 
subtask for it here: https://bugreports.qt.nokia.com/browse/QTBUG-20885
* KAction/QAction stuff - Don't know what's needed. If QAction needs new 
virtual method that would need to be determined soon. Is anyone driving 
that? Again, needs subtask here if it's going to happen: 
https://bugreports.qt.nokia.com/browse/QTBUG-20885
* Ssl stuff - I don't know.
* i18n - AFAIU nothing is going to happen in that area.
* refcounted quit - might happen.
* locale stuff - Don't know. Depends on John.
* timezone - I want to take ownership and 'do what python does' 
https://bugreports.qt.nokia.com/browse/QTBUG-23509, which David confirmed 
the sense in, but waiting on response from John.
* Thiagos stuff - I don't know.

If all of that stuff is going to move along, the actions need to happen on 
Qt lists and review trackers basically within 2 weeks or sooner.

Thanks for the update,

Steve.




Re: KDE Frameworks 5: Rhythm

2012-01-21 Thread Stephen Kelly
Kevin Ottens wrote:

 On Saturday 21 January 2012 16:17:38 Stephen Kelly wrote:
 Kevin Ottens wrote:
  There's three main reasons for this rhythm:
   * Qt 5.0 feature freeze is upon us now;
   * CMake 2.8.8 will be released in April;
   * it'd be nice to release KDE Frameworks 5.0 at Akademy[*].
 
 You mean 'some of the frameworks'? They won't all be done by then. More
 stuff will need to get into Qt before that's possible.
 
 Yeah, I know a couple of them will need some merging scheduled for Qt 5.1
 already (like equivalent to KSaveFile for instance). But if I reintroduce
 the few words I forgot to type which were a technology preview of I
 think it's doable. It means it'd build against qt master likely
 earmarked to become 5.1[*].

Honestly I don't see a point in aiming so early. It makes mistakes and 'I 
thought it would behave like ABC' more risky and costly. I know you're 
'only' talking about technology preview, but once a technology preview is 
out, some people will say things like 'We shouldn't change things 
significantly now that the technology preview is out' and there will be long 
threads on some mailing list somewhere.

 
  To that effect we did some modifications to the active wiki pages:
   * Now we have one page per Qt version we want to target for pushing
   features
  
  in Qt, the Qt 5.0 page contains the really critical stuff we want to
  see achieved:
  http://community.kde.org/Frameworks/Epics/Qt_5.0_Merging
 
 Some of the stuff on that page that isn't close to done is almost
 impossible at this point.
 
 Come on, it's just *almost* impossible? So still deserves to be attempted.
 :-)

By someone, but not me. (Apart from the timezone stuff which I am willing to 
do, but it's likely that if I try to submit it to Qt it will be blocked with 
'What does John Layt say', which I can't answer because I can't get a hold 
of him).

 
 * command line arguments - potential bikeshed. Discussion would have been
 needed weeks ago on the Qt5 list for it to be possible. Is anyone driving
 it? If it really can't wait until Qt 5.1 there needs to at least be a
 subtask for it here: https://bugreports.qt.nokia.com/browse/QTBUG-20885
 * KAction/QAction stuff - Don't know what's needed. If QAction needs new
 virtual method that would need to be determined soon. Is anyone driving
 that? Again, needs subtask here if it's going to happen:
 https://bugreports.qt.nokia.com/browse/QTBUG-20885
 * Ssl stuff - I don't know.
 * i18n - AFAIU nothing is going to happen in that area.
 
 Yep, that one we can do without.
 
 * refcounted quit - might happen.
 
 I actually wanted to talk to you about that one. Didn't you have a patch
 aeons ago? What happened to it.

It spent a long time in limbo because some people didn't want it the feature 
in Qt at all, then it was a question of how to prevent bugs in applications, 
but now that might have turned. There's still a long way to go for the patch 
though (at least several days I'd guess), even after more than 5 weeks in 
gerrit:

http://codereview.qt-project.org/#change,10408

 
 Regards.
 
 
 [*] That said this mistake of mine in the previous email could have been a
 lapsus in the true sense. Now that we pointed it out (and no it definitely
 wasn't in my plans), it makes me wonder if around that time we wouldn't
 end up in a situation where we'd only miss a handful of class which aren't
 used in API... the list we have targetted for 5.1 seems to indicate that.
 So a small statically linked library 

Which everything depends on ? :) 

 with those class would allow us to
 release against Qt 5.0. Again, not making plans, but to keep in mind maybe
 once we get closer to a splitted kdelibs world.

Again, I don't see the point. I'd prefer to keep full license to change 
things without complaint until we know it works and have started porting 
some applications to it, and have some idea of what the impact on 
applications actually is.

Thanks,

Steve.




Re: Review Request: Crash guard for KSelectionProxyModelPrivate::removeRangeFromProxy()

2011-12-16 Thread Stephen Kelly
Aaron J. Seigo wrote:

 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/103421/#review8997
 ---
 
 Ship it!
 
 
 other than the style issue, this looks good :)

Apparently I can't review it after someone else has said shipit.

Please do not ship it.

What is the backtrace of the crash you are trying to prevent?

removeRangeFromProxy is only called when the selection changes, and 

KSelectionProxyModelPrivate::selectionChanged

already contains 

if (!q-sourceModel())
return;

So at least that part of the patch is questionable. 

Why would the m_rootIndexList be empty at that point? If there's something 
to remove then that list should not be empty.

Both should be asserted really.

The patch hides the bug, it doesn't fix it.

Thanks,

Steve.

 
 
 kdeui/itemviews/kselectionproxymodel.cpp
 http://git.reviewboard.kde.org/r/103421/#comment7467
 
 this should be in kdelibs style:
 
  if (!q-sourceModel() || m_rootIndexList.isEmpty()) {
 return;
 }
 
 
 - Aaron J. Seigo
 
 
 On Dec. 15, 2011, 8:54 p.m., Allen Winter wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/103421/
 ---
 
 (Updated Dec. 15, 2011, 8:54 p.m.)
 
 
 Review request for kdelibs and Stephen Kelly.
 
 
 Description
 ---
 
 Crash guard for KSelectionProxyModelPrivate::removeRangeFromProxy()
 
 occassionally I am encountering asserts or crashes in this method, so
 this little crash guard avoids those situations
 
 
 Diffs
 -
 
   kdeui/itemviews/kselectionproxymodel.cpp eca2d78
 
 Diff: http://git.reviewboard.kde.org/r/103421/diff/diff
 
 
 Testing
 ---
 
 used locally for about a week and haven't seen crashes in
 KSelectionProxyModel
 
 
 Thanks,
 
 Allen Winter
 





Re: frameworks branch now requires CMake 2.8.6 RC 2

2011-09-23 Thread Stephen Kelly
Alexander Neundorf wrote:


 That leaves enable_final and setting LINK_INTERFACE_LIBRARIES to empty.
 I'm
 
 Setting LINK_INTERFACE_LIBRARIES to empty is still needed and wanted.
 By default, all libraries a target is linked agaonst are in the
 LINK_INTERFACE, which leads to unnecessary dependencies and increased load
 time.
 The alternative would be not to set it to empty, and expect our developers
 to take care of it. I think this is not realistic.
 So I'm quite sure we still want that

I was thinking about this again, and I thought that it might be changable in 
CMake. What would you think of making 

set(CMAKE_SET_LINK_INTERFACE_EMPTY ON)

be the equivalent of setting it empty for each target? I'd be willing to 
write the patch to CMake. Do you think it's an acceptable way to do this if 
CMake accepts it?





Re: Where does KAuth belong?

2011-09-16 Thread Stephen Kelly
Alexander Neundorf wrote:

 On Thursday, September 15, 2011 12:04:24 AM Stephen Kelly wrote:
 Alexander Neundorf wrote:
  On Tuesday, September 13, 2011 09:41:31 PM Stephen Kelly wrote:
  Forwarding to kcd which is probably more appropriate.
  
  Stephen Kelly wrote:
   Hi,
   
   KAuth became a tier1 library in the last week. It's nice to see it
   separated out.
   
   However, it depends on Polkit-Qt, which is in `kdesupport` in the
   KDE 4 world currently.
   
   Polkit-Qt seems like something that would become a tier1 library if
   that's what its developers go for.
   
   That would make libkauth tier2, right? I'll move it to the tier2
   directory soonish unless someone else does, though that in itself
   doesn't mean much.
   
   The tier1/2 subdirectories will likely go away when each library
   becomes its own git repo I guess.
   
   Then tier1/2 distinction will only be a matter of documentation
   (possibly -- Actually I don't think it's a distinction that should
   be
  
  Yes, I think we will not really have three levels of dependencies, but
  basically a full dependency tree between the libs.
  
  Should there still be something which makes some library/application a
  KDE application ?
  Right now it is linking against kdecore basically (which includes using
  the KDE cmake macros).
 
 I'm not sure. I'm sure something obvious will fall out of the refactoring
 work. There will be some kind of integration library at some (high up)
 level which depends on the stuff that today is kdelibs. Presumably
 applications using that will be KDE applications.
 
  Which is related to the question where the macros and settings from
  FindKDE4Internal.cmake and KDE4Macros.cmake will go.
 
 Stuff like kde4_add_executable and kde4_add_library should get kde5
 equivalents I think, even if it's as simple as
 
 macro(kde5_add_library)
   add_library(${ARGN})
   generate_export_header(${ARG1})
 endmacro()
 
 But I wouldn't use the prefix kde5.
 Since there is no KDE5.
 The prefix should be kdelibs5 or kf5 or kf1 I think (I still think since
 this will be the first version of the frameworks it should be kf1, and it
 would keep people from talking about KDE5, maybe).

I'd be ok with kdelibs5_add_library.

 
  The stuff in there is really KDE-specific (e.g. the way we install
  icons, and how we figure out compiler flags, etc.).
  Will there be a KDEStuff.cmake in extra-cmake-modules ?
  
  But it doesn't really belong there, it belongs to the basic KDE
  component. Will there be something like that ?
  A libkcore ?
 
 How about a KDEBuildsystem module in frameworks, which contains the KDE5
 equivalents of kde4Defaults, KDE4Macros etc? KDE5 applications will want
 to use those things and maybe some frameworks will too.
 
 You mean a separate git repository ?

Yes.

 I had that idea too, but it seemed to me a bit too much for just a handful
 of cmake files.

Maybe true.

 Beside that, it really seems like the right thing.
 Or put them together with what makes up a KDE application.
 Maybe the basic tier2 module.

Or higher up. I always thought that on top of frameworks (which is for 
everyone) there would be an integration level for 'KDE applications' which 
uses 'KDE stuff' and 'KDE integration built in' - KApplication, kde 
convenience cmake macros, make sure ksycoca is run, KIcon, KUrl etc.

That's what 'KDE applications' would port to and the 'total interface' to it 
would be very similar to what the KDE4 kdelibs provides currently.

 
 Are you aware that we have in kdesupport also projects which depend on
 each other (all depend on automoc, ok not anymore), then the strigi stuff,
 and the different phonon repositories. But this doesn't make those
 depending projects tier2 projects yet.

Yes, the tier1/2 stuff is useful for classification getting started and 
identifying useful stuff, but it remains to be seen what it will really 
mean.

 
 How is the way we figure out compiler flags different to how others do
 it?
 
 One thing is that FindKDE4Internal.cmake does something which is not
 recommended by CMake: if you do
 find_package(KDE4)
 it sets your compiler flags automatically.
 A cmake-conform cmake-module should not change any settings, it should
 only fill variables with contents (e.g. KF5_CXX_COMPILE_FLAGS), and then
 the using application can decide whether it uses them or not.
 
 But, to make development easier for KDE developers, we do that
 automatically. This is also part of what makes an application a KDE
 application.
 
 We shouldn't expect from all our developers that they suddenly take care
 of all that themselves.

Every KDE application I have seen has this boilerplate:

find_package(KDE4 REQUIRED)
include(KDE4Defaults)
include(MacroLibrary)
include(CheckIncludeFiles)

Why don't we set the flags in KDE4Defaults?

Are you recommending that if I do this (kitemmodels is a separately 
buildable and installable framework in the frameworks branch. Find it in 
tier1): 

find_package(kitemmodels

Re: Where does KAuth belong?

2011-09-16 Thread Stephen Kelly
Alexander Neundorf wrote:

  We shouldn't expect from all our developers that they suddenly take
  care of all that themselves.
 
 Every KDE application I have seen has this boilerplate:
 
 find_package(KDE4 REQUIRED)
 include(KDE4Defaults)
 include(MacroLibrary)
 include(CheckIncludeFiles)
 
 Why don't we set the flags in KDE4Defaults?
 
 ...so you would do
 
 find_package(kitemmodels REQUIRED)
 which sets a bunch of include dir and libs variables, and then
 
 include(KDE4Defaults)
 which sets compilers flags etc.

Yes, 'KDE Applications' can do that. They will likely use find_package a 
bunch of more times too, or they would use find_package(kdelibs 5.0)[1] 
which internally calls find_package for all frameworks, or whatever.

Then they could use include(KDE4Defaults).

However, a 'non-kde consumer of the frameworks' would do 

find_package(kitemmodels REQUIRED)
include(${kitemmodels_USE_FILE})

kitemmodels_USE_FILE is generated by ECMQtFramework and currently does very 
little. Currently it can't be modified, but we could make it so by renaming 
it to kitemmodelsUSE_internal.cmake, and then create a kitemmodelsUSE.cmake 
which looks like:

include(kitemmodelsUSE_internal)

set(CMAKE_CXX_FLAGS ...)

in cases where the library requires that. In the case of kitemmodels I don't 
think we need to set any compiler flags. 

As a frameworks user I would be surprised if the framework set compiler 
flags automatically for me. 

As a 'KDE application' developer I can of course see the reasoning, and of 
course agree that it should do that.

 
 I think this sounds quite good.

Yes, I agree.

 We could also rename that file to UseKDE4.cmake, so it is similar to
 UseQt4.cmake.
 

Yes, I agree.

 Still, where will the file KDE4Defaults.cmake (or UseKDE4.cmake) be
 located ?

I'd put it wherever KApplication goes and install it from there.

I'd also recommend creating and installing a kdelibsTargets file which 
includes the targets for all relevant frameworks. 

All the best,

Steve.




Re: Where does KAuth belong?

2011-09-16 Thread Stephen Kelly
Stephen Kelly wrote:

 bunch of more times too, or they would use find_package(kdelibs 5.0)[1]

Ignore the [1]. I was going to put the note about targets below in a 
footnote, but reconsidered.



Re: Nepomuk code moved to nepomuk-core

2011-09-15 Thread Stephen Kelly
Sebastian Trüg wrote:

 With the currently ongoing split of kdelibs and kde-runtime according to
 KDE 5.0 frameworks Nepomuk has already partly been reorganized:
 
 kdelibs/nepomuk and most parts of kde-runtime/nepomuk have been moved
 into the new repository nepomuk-core. kdelibs master has already been
 frozen for some time. kde-runtime/nepomuk master is now effectively
 frozen as development has moved to the new nepomuk-core repository.

Hi,

Does that mean that nepomuk should be removed from the frameworks branch? I 
had a look, and I'm not sure if the history is kept etc.

Removing it from frameworks would mean that it doesn't get updated as things 
change, but changing nepomuk things in the frameworks branch wouldn't be 
mergable anyway.

 
 Shortly new repositories as outlined in [1] will be created to contain
 the rest of kde-runtime/nepomuk.
 
 Cheers,
 Sebastian
 
 [1]
 [http://community.kde.org/Projects/Nepomuk/Irc_meeting_nepomuk_frameworks



Replacing the KIcon type with a factory method and is frameworks a good idea at all?

2011-09-06 Thread Stephen Kelly
We've just had a long discussion about the future of KIcon in APIs,
which led into a discussion about what we're doing in frameworks at
all and why.

Several people don't think refactoring kdelibs into independent
frameworks is a good thing. Do we need to decide if it's worth it?

I'm posting the log for archival reasons mostly. There are several
misunderstandings in it, but those are mostly untangled later on.

The content of http://paste.kde.org/118765/ is:

namespace KIcon
{
  QIcon fromTheme(const QString name)
  {
return QIcon(new KIconEngine(...));
  }
}

Where the content of the function is intended to be 'what KIcon ctor does'



[13:08:26] steveire ogoffart: KIcon(foo) should be replaced with
QIcon::fromTheme(foo), right?
[13:08:37] steveire How does QIcon::fromTheme work?
[13:08:45] ogoffart steveire: yes.
[13:08:48] steveire Does it use a kde pluing?
[13:08:54] steveire plugin*
[13:09:01] ogoffart steveire: it has its own implementation of the
xdg icon spec
[13:09:15] ogoffart steveire: it uses a plugin only to know which
theme to load.
[13:09:27] ogoffart that is, to read kde settings.
[13:10:06] steveire So is KIconEngine also obsolete?
[13:10:24] steveire I guess this stuff might be in the spreadsheet from randa
[13:11:37] ogoffart steveire: yes.
[13:11:43] steveire The spreadsheet is mostly silent on that topic.
[13:11:54] steveire It just says Qt needs overlay support to replace KIcon.
[13:13:34] ogoffart steveire: but we discussed at the contributor
summit, and aseigo and dfaure said that nothing really use the
overlay. (Or if they use overlay, it is not something that is in the
tier1, 2 or 3, so this could go into a kde specific library of even in
the application itself)
[13:13:47] steveire Right.
[13:13:55] dfaure nothing uses overlays is not true, kfileitem.cpp does
[13:14:16] dfaure but I suppose we could develop something that uses
QIcon::fromTheme twice and combines the results
[13:14:22] ogoffart yes
[13:15:17] - 45PAALFRM is now known as miroslav
[13:17:35] steveire Why does mpyne recommend not using the official Qt?
[13:17:58] DxSadEagle does QIcon::fromTheme implement appropriate
appropriate caching  lazy loading?
[13:20:23] pinotree does QIcon::fromTheme() read also in the icon
theme of the component data?
[13:22:24] pinotree can QIcon::fromTheme() take a different
component data and/or icon loader to read icons from?
[13:23:16] dfaure the icon theme of the component data? a plugin
coming with its own icon theme?
[13:23:49] pinotree with own icons in a icon-theme tree under its
$datadir/icons
[13:24:15] pinotree this greatly avoids polluting the global icon
theme with app- or plugin-specific icons
[13:24:42] dfaure ah, own icons, not a replacement icon theme.
[13:25:05] pinotree well, nothing forbids you to put a whole icon
theme there :)
[13:25:20] dfaure a feature actually used by ?
[13:25:37] pinotree ls -d /usr/share/kde4/apps/*/icons
[13:28:42] - atomo_yawn is now known as atomopawn
[13:29:56] dfaure ah I see, even if you don't have a full icon
theme, it's still organized like one
[13:30:31] dfaure ogoffart: should QIcon::fromTheme take an
additional optional argument with a base directory for the
app-specific icon theme?
[13:30:58] steveire I presume that stuff is built into the KIconEngine?
[13:31:20] steveire I could create KIcon::fromTheme which uses that,
but still use QIcon in the API
[13:31:43] ogoffart dfaure: you can only set the theme globaly with
QIcon::setThemeName or something
[13:32:02] ogoffart dfaure: then again, the default theme name is
fetch from the KDE config while running on KDE
[13:32:20] dfaure steveire: you wouldn't have access to the icon
theme loader in qt to add paths to it
[13:32:41] dfaure ogoffart: you didn't read the above discussion it
seems ;) This is about /usr/share/kde4/apps/kgpg/icons/hicolor/
[13:33:02] dfaure the icon theme name is hicolor just fine, the
issue is for this specific icon, I want to also look into
/usr/share/kde4/apps/kgpg/icons
[13:33:37] ogoffart DxSadEagle: it has per-application cache
[13:36:13] ogoffart ah
[13:36:18] ogoffart dfaure: there is QIcon::setThemeSearchPaths
[13:36:44] dfaure ah.
[13:36:48] ogoffart again this is application global, but one can
add /usr/share/kde4/apps/kgpg there
[13:36:55] ogoffart in kgpg
[13:37:04] dfaure indeed.
[13:37:25] steveire 'dfaure steveire: you wouldn't have access to
the icon theme loader in qt to add paths to it' I don't understand
this I think
[13:37:27] ogoffart the default is also fetch from the plugin
[13:38:00] steveire Looking at the implementation of KIcon it looks
like an empty class with a magic constructor
[13:38:01] DxSadEagle that's too global...
[13:38:05] dfaure steveire: QIcon::fromTheme uses a qt-internal-iconloader
[13:38:30] steveire Let me look at the code again :)
[13:38:36] dfaure steveire: KIcon uses KIconEngine uses KIconLoader,
but the discussion here is about porting that to QIcon::fromTheme
[13:39:08] dfaure DxSadEagle: yeah it's too 

Proposal to use QIcon in APIs in KF5.

2011-09-06 Thread Stephen Kelly

Hi,

I re-read the IRC log from the last email and noticed the recommendation of 
and API review instead of meta-discussion, which I missed at the time. 

That is probably a good recommendation. Posting the log was probably a bad 
call on my part, and we can hopefully have a more useful discussion if we 
leave the other thread and discuss an API instead.

So here's my concrete technical proposal for icons in KDE Frameworks 5. Let 
me know what you think:

I would like to replace the use of KIcon in apis like this:

void someMethod(const KIcon icon);
KIcon getIcon() const;

with this:

void someMethod(const QIcon icon);
QIcon getIcon() const;

Because KIcon does not have any data members, and all functionality comes 
from other classes (KIconEngine and KIconLoader), no functionality is lost 
by using Qt classes in the API.

Because KIcon will remain somewhere in its current form porting should be a 
no-op or trivial, even optional.

People using such an API would create KIcons as is normally done now.

KIcon fooIcon(foo);
someClass-someMethod(fooIcon); // up cast to QIcon

KIcon barIcon = someClass-getIcon(); // Use KIcon(const QIcon )

I do not (anymore) recommend any other changes at this time, such as 
removing, changing or deprecating KIcon, because it seems to be 
(surprisingly to me I must admit) a contentious issue.

Please don't be silent if you think this is a bad idea. I was surprised at 
the opposition to changes in the name of modular frameworks earlier. I want 
to know there is opposition to it if there is. I don't want to find out in 3 
months time. I want to know what people expect in terms of source 
compatibility and what people are willing to accept. At the moment I don't 
know those things.

Thanks,

Steve.




Re: Re: QML support in kde.org services

2011-09-05 Thread Stephen Kelly
Albert Astals Cid wrote:

 A Diumenge, 4 de setembre de 2011, Stephen Kelly vàreu escriure:
 Harald Sitter wrote:
  On Sun, Sep 4, 2011 at 2:18 PM, Stefan Majewsky
  
  stefan.majew...@googlemail.com wrote:
  2. api.kde.org doesn't show QML elements.
  
  Problem with this is that Doxygen does not support QML (yet anyway),
  actually I would not know how to make this work in a sane manner
  considering that plenty of QML elements will be directly based of a
  CPP object... (in phonon we actually have the documentation in the cpp
  object which implements the element).
  So, doing this in a meaningful way would likely require using qdoc for
  QML element documentation.
 
 I think that's something we should consider for kf5 anyway, for the same
 reason. qdoc is more free now than when doxygen was created, though it
 might not have all useful features of doxygen. Those might need to be
 added.
 
 What is the point of trying to improve the worse of the two options?
 
 Albert


I have no idea which is worse. I don't know what qdoc is missing.

However, Doxygen doesn't support QML. So we can do one of the following:

* Investigate, then add QML support to doxygen.
* Don't investigate. Add QML support to doxygen or file a bug report about 
it.
* Investigate, see what is missing/different in qdoc (which already has QML 
handling), add it and use that.
* Ignore the issue, not investigate it, and maybe write a blog post about 
how doxygen sucks because it doesn't support QML. Then maybe Dimitry will 
add it.

My searches here didn't show up anything about QML:
https://bugzilla.gnome.org/query.cgi?format=advanced;product=doxygen

Nokia is eventually going to realize that their customers want to document 
QML stuff, and will need to either add the feature to doxygen and continue 
recommending doxygen as they currently do, or they will make qdoc more 
useful.

Yes, there are many reasons to stick with doxygen (we have the scripts and 
infrastructure using it etc). I'm saying we have an opportunity to see what 
else there is and we can choose to use that opportunity.

Thanks,

Steve.




Re: Re: QML support in kde.org services

2011-09-05 Thread Stephen Kelly
todd rme wrote:

 What about adding qdoc support to doxygen?
 
 -Todd
 

You would have to investigate if that's possible? 

Are you volunteering? :)



Re: QML support in kde.org services

2011-09-04 Thread Stephen Kelly
Harald Sitter wrote:

 On Sun, Sep 4, 2011 at 2:18 PM, Stefan Majewsky
 stefan.majew...@googlemail.com wrote:
 2. api.kde.org doesn't show QML elements.
 
 Problem with this is that Doxygen does not support QML (yet anyway),
 actually I would not know how to make this work in a sane manner
 considering that plenty of QML elements will be directly based of a
 CPP object... (in phonon we actually have the documentation in the cpp
 object which implements the element).
 So, doing this in a meaningful way would likely require using qdoc for
 QML element documentation.

I think that's something we should consider for kf5 anyway, for the same 
reason. qdoc is more free now than when doxygen was created, though it might 
not have all useful features of doxygen. Those might need to be added.



Bro tip: gitk --first-parent

2011-09-04 Thread Stephen Kelly

Hi,

If you use gitk and are working in a git repo with lots of merges between 
branches, it can be overwhelming to see all the commits in branches which 
have been merged in (eg, the commits in the 4.7 and active branches when 
trying to look at the frameworks branch).

The way to see commits that were actually made on the frameworks branch, and 
not commits that were merged in, is to use gitk --first-parent. It is 
documented in the git-log man page, because gitk accepts most standard git 
commands for dealing with refs.


If you don't use gitk and don't understand git see:

http://lostechies.com/joshuaflanagan/2010/09/03/use-gitk-to-understand-git/





Re: Bro tip: gitk --first-parent

2011-09-04 Thread Stephen Kelly

Sent this too early. Meant to supply a link.

Stephen Kelly wrote:

 
 Hi,
 
 If you use gitk and are working in a git repo with lots of merges between
 branches, it can be overwhelming to see all the commits in branches which
 have been merged in (eg, the commits in the 4.7 and active branches when
 trying to look at the frameworks branch).
 
 The way to see commits that were actually made on the frameworks branch,
 and not commits that were merged in, is to use gitk --first-parent. It is
 documented in the git-log man page, because gitk accepts most standard git
 commands for dealing with refs.
 

http://www.kernel.org/pub/software/scm/git/docs/git-log.html

 
 If you don't use gitk and don't understand git see:
 
 http://lostechies.com/joshuaflanagan/2010/09/03/use-gitk-to-understand-
git/


All the best,

Steve.




Re: 4.7 mergable into frameworks. No need to cherry-pick

2011-08-28 Thread Stephen Kelly
Chusslove Illich wrote:

 [: Stephen Kelly :]
 We don't have to make one commit on 4.7 == one merge into frameworks.

 We can just delay the merge and do it once a day or week. No one is using
 frameworks, so we just need to make sure the commits get in eventually or
 before it becomes hard to merge.
 
 Who exactly is we? If I make a trivial change in 4.7, can I forget about
 it and expect someone to merge it in bulk with other changes?
 

Yes. The next time anyone working on frameworks merges, your change will be 
included in the merge.

However, this will not work forever. As things move around and change in 
frameworks, the 4.7 patch will not necessarily apply to frameworks. That 
problem comes up independent of merging vs cherry-pick though, and we're not 
at that point yet.

Also, if you make a change which is likely not to apply cleanly to 
frameworks, it's probably best for you to merge it sooner rather than wait 
for someone else to do it wrongly.

I also find it interesting that because most KDE people are working on 4.7 
rather than frameworks now, we finally have a forward-porting workflow and 
mindset for the first time in a long time :).

All the best,

Steve.



  1   2   >