Re: Initial support for kde_projects.xml in kdesrc-build

2011-02-03 Thread Andreas Pakulat
On 04.02.11 00:33:58, David Faure wrote:
 On Wednesday 02 February 2011, Alexander Neundorf wrote:
  On Wednesday 02 February 2011, Michael Pyne wrote:
  ...
  
   e.g. worrying about environment variables like PKG_CONFIG_PATH is no idle
   claim (kdesrc-build sets that as well), along with PATH in order to pick
   up the right Qt version.
  
  Please try to use only CMAKE_PREFIX_PATH instead of setting PATH. I
  recommend  this to everybody.
 
 How does this help finding *Qt*?
 
 We find Qt via `qmake`, so $PATH matters.

We find Qt via find_program() which _first_ looks into all paths listed
in CMAKE_PREFIX_PATH/bin and then later into PATH.

Andreas

-- 
You will be the last person to buy a Chrysler.


Re: Initial support for kde_projects.xml in kdesrc-build

2011-02-02 Thread Alexander Neundorf
On Tuesday 01 February 2011, Michael Jansen wrote:
  If you find the place let me know.

 No ... only if i am unable to fix it myself :)) .

Do you need that for running ?
For building it's not necessary. Use CMAKE_PREFIX_PATH.
  
   I always thought that PATH controls which qt version is selected if you
   have more than one (First qmake found). It was that way some time ago.
   And QTDIR IS USED in FindQt4.cmake. I don't reevaluate my finding every
   day so perhaps something changed.
 
  Ok.
  So when an executable is searched, it is searched in a set of default
  directories (as e.g. /usr/bin/) and in PATH. So setting PATH so that it
  points to the qmake you want works.
  CMAKE_PREFIX_PATH is more generic (and didn't exist in cmake
  2.4.something). So you can set this too to make cmake find the Qt you
  want (not pointing to QTDIR/bin, but just to QTDIR).
  QTDIR is a variable specific to FindQt4.cmake, so it works too.
 
  So all three work, the most generic/powerful one is CMAKE_PREFIX_PATH.

 Then the 100 points question is:

 If all of them point to a directory with a qt installed (three different
 versions). Which one wins?

 a) CMAKE_PREFIX_PATH
 b) PATH
 c) QTDIR

 I remember more than one newbie losing his grip over not beeing able to
 convince cmake to pickup the right one.

 Can you answer it without looking at the cmake file? I can't.

CMAKE_PREFIX_PATH has more or less highest priority.
Of course it can be ignore when using NO_DEFAULT_PATH.

Alex


Re: Initial support for kde_projects.xml in kdesrc-build

2011-02-02 Thread Alexander Neundorf
On Wednesday 02 February 2011, Michael Pyne wrote:
...
 e.g. worrying about environment variables like PKG_CONFIG_PATH is no idle
 claim (kdesrc-build sets that as well), along with PATH in order to pick up
 the right Qt version.

Please try to use only CMAKE_PREFIX_PATH instead of setting PATH. I recommend 
this to everybody.
I'd also suggest not to set PKG_CONFIG_PATH, at least not to directories where 
KDE stuff is installed, this has to be found also without pkgconfig.

Alex


Re: Initial support for kde_projects.xml in kdesrc-build

2011-02-01 Thread Alexander Neundorf
On Monday 31 January 2011, Aaron J. Seigo wrote:
 On Sunday, January 30, 2011, Michael Pyne wrote:
  Like I said, xml-support branch on kdesrc-build git. If you want to
  give

 _very_ cool. will the good news today never end? ;)

 serious question: once this is stabilized, can we make this the default
 recommended way of building KDE from git on techbase?

 pros that i can think of:

 * it would mean that we could cannibalize the docs for kdesrc-build for
 those pages on techbase
 * it would be a lot simpler to document than the current 7 headed hydra
 monster pages we have now :)

The big thing is getting all the required dependencies built and installed, or 
do you see other things which are complicated in building KDE modules ?

Alex


Re: Initial support for kde_projects.xml in kdesrc-build

2011-02-01 Thread Michael Jansen
On Tuesday 01 February 2011 19:53:40 Alexander Neundorf wrote:
 On Monday 31 January 2011, Aaron J. Seigo wrote:
  On Sunday, January 30, 2011, Michael Pyne wrote:
   Like I said, xml-support branch on kdesrc-build git. If you want
   to
   give
  
  _very_ cool. will the good news today never end? ;)
  
  serious question: once this is stabilized, can we make this the default
  recommended way of building KDE from git on techbase?
  
  pros that i can think of:
  
  * it would mean that we could cannibalize the docs for kdesrc-build for
  those pages on techbase
  * it would be a lot simpler to document than the current 7 headed hydra
  monster pages we have now :)
 
 The big thing is getting all the required dependencies built and installed,
 or do you see other things which are complicated in building KDE modules ?

yes i do.

1. It is a lot of work. if you work on base and want to run trunk there is a 
myriad of modules to build to get a useful setup.

2. environment variables (which and how to setup). Separate build environment 
from distro stuff that could interfere.

3. build order

4. which branches, version from which repo (only relevant for some modules)

 
 Alex


Re: Initial support for kde_projects.xml in kdesrc-build

2011-02-01 Thread Alexander Neundorf
On Tuesday 01 February 2011, Michael Jansen wrote:
 On Tuesday 01 February 2011 19:53:40 Alexander Neundorf wrote:
  On Monday 31 January 2011, Aaron J. Seigo wrote:
   On Sunday, January 30, 2011, Michael Pyne wrote:
Like I said, xml-support branch on kdesrc-build git. If you want
to
give
  
   _very_ cool. will the good news today never end? ;)
  
   serious question: once this is stabilized, can we make this the default
   recommended way of building KDE from git on techbase?
  
   pros that i can think of:
  
   * it would mean that we could cannibalize the docs for kdesrc-build for
   those pages on techbase
   * it would be a lot simpler to document than the current 7 headed hydra
   monster pages we have now :)
 
  The big thing is getting all the required dependencies built and
  installed, or do you see other things which are complicated in building
  KDE modules ?

 yes i do.

 1. It is a lot of work. if you work on base and want to run trunk there is
 a myriad of modules to build to get a useful setup.

kdelibs, kdepimlibs, then kdebase.

 2. environment variables (which and how to setup). Separate build
 environment from distro stuff that could interfere.

CMAKE_PREFIX_PATH for finding stuff, and install your own stuff e.g. 
to /opt/mystuff/

Seriously, if that is not enough, what else do you have to do ?
Except your lib64-rpath problem. I remember we discussed about that one. What 
was the outcome ? Problem in cmake itself ?

 3. build order

Isn't that the same as 1. ?

 4. which branches, version from which repo (only relevant for some modules)

You mean now with git or also with old svn ?

Alex


Re: Initial support for kde_projects.xml in kdesrc-build

2011-02-01 Thread Michael Jansen
On Tuesday 01 February 2011 20:35:27 Alexander Neundorf wrote:
 On Tuesday 01 February 2011, Michael Jansen wrote:
  On Tuesday 01 February 2011 19:53:40 Alexander Neundorf wrote:
   On Monday 31 January 2011, Aaron J. Seigo wrote:
On Sunday, January 30, 2011, Michael Pyne wrote:
 Like I said, xml-support branch on kdesrc-build git. If
 you want
 to
 give

_very_ cool. will the good news today never end? ;)

serious question: once this is stabilized, can we make this the
default recommended way of building KDE from git on techbase?

pros that i can think of:

* it would mean that we could cannibalize the docs for
kdesrc-build for those pages on techbase
* it would be a lot simpler to document than the current 7
headed hydra monster pages we have now :)
   
   The big thing is getting all the required dependencies built and
   installed, or do you see other things which are complicated in
   building
   KDE modules ?
  
  yes i do.
  
  1. It is a lot of work. if you work on base and want to run trunk there
  is a myriad of modules to build to get a useful setup.
 
 kdelibs, kdepimlibs, then kdebase.

So want Aaaron and me to miss out on kwebkit and scripting, and policykit and 
rekonq and ... konsole? How do you suppose to use your system without konsole.

kdesupport? anyone ... perhaps qt from trunk or qtsoftware to get problems as 
early as possible?

 
  2. environment variables (which and how to setup). Separate build
  environment from distro stuff that could interfere.
 
 CMAKE_PREFIX_PATH for finding stuff, and install your own stuff e.g.
 to /opt/mystuff/

Do you only compile stuff? Or do you run it too? Does strigi work for you?

STRIGI_PLUGIN_PATH ... but i haven't tested for a while if it needed nowadays. 
Strigi would not work without it.

PKG_CONFIG_PATH, QTDIR (self compiled qt), PATH so your self compiled stuff is 
picked up, LD_LIBRARY_PATH if you want to run stuff, XDG_DATA_DIRS, KDEDIRS.

  3. build order
 
 Isn't that the same as 1. ?

No. kwebkitpart has to be build after kdelibs and before kdebase. Did you know 
that? Do you expect Joe NewKdeUser to know? 

The kdesupport order is much harder to get right.

The strigi order?

Quick. Order these smokegen, smokeqt, smokekde, qtruby, korundum.

  4. which branches, version from which repo (only relevant for some
  modules)
 
 You mean now with git or also with old svn ?

Have you ever tried to compile ktorrent? I mean with old svn too. But i expect 
that to get a tad more difficult with git unless we get a real common 
branching names strategy.

Mike


Re: Initial support for kde_projects.xml in kdesrc-build

2011-02-01 Thread Alexander Neundorf
On Tuesday 01 February 2011, Michael Jansen wrote:
 On Tuesday 01 February 2011 20:35:27 Alexander Neundorf wrote:
  On Tuesday 01 February 2011, Michael Jansen wrote:
   On Tuesday 01 February 2011 19:53:40 Alexander Neundorf wrote:
On Monday 31 January 2011, Aaron J. Seigo wrote:
 On Sunday, January 30, 2011, Michael Pyne wrote:
  Like I said, xml-support branch on kdesrc-build git. If
  you want
  to
  give

 _very_ cool. will the good news today never end? ;)

 serious question: once this is stabilized, can we make this the
 default recommended way of building KDE from git on techbase?

 pros that i can think of:

 * it would mean that we could cannibalize the docs for
 kdesrc-build for those pages on techbase
 * it would be a lot simpler to document than the current 7
 headed hydra monster pages we have now :)
   
The big thing is getting all the required dependencies built and
installed, or do you see other things which are complicated in
building
KDE modules ?
  
   yes i do.
  
   1. It is a lot of work. if you work on base and want to run trunk there
   is a myriad of modules to build to get a useful setup.
 
  kdelibs, kdepimlibs, then kdebase.

 So want Aaaron and me to miss out on kwebkit and scripting, and policykit
 and rekonq and ... konsole? How do you suppose to use your system without
 konsole.

Yes, with git this has become more stuff.

 kdesupport? anyone ... perhaps qt from trunk or qtsoftware to get problems
 as early as possible?

I was asking specifically about KDE stuff, i.e. everything starting with 
kdelibs, not stuff kdelibs depends on (which I also mentioned in my previous 
mail that this is not too easy to get set up, as you can see above).

   2. environment variables (which and how to setup). Separate build
   environment from distro stuff that could interfere.
 
  CMAKE_PREFIX_PATH for finding stuff, and install your own stuff e.g.
  to /opt/mystuff/

 Do you only compile stuff? Or do you run it too? 

I don't get that far to actually run the stuff I've compiled...
A lot of the work I do _for_ KDE is actually work _on_ CMake nowadays.

 Does strigi work for you?

 STRIGI_PLUGIN_PATH ... but i haven't tested for a while if it needed
 nowadays. Strigi would not work without it.

 PKG_CONFIG_PATH, 

I don't think so. I never set it for anything. Just use CMAKE_PREFIX_PATH. If 
something is not found without pkgconfig that's a bug.

 QTDIR (self compiled qt), 

Do you need that for running ?
For building it's not necessary. Use CMAKE_PREFIX_PATH.

 PATH so your self compiled stuff

For building it's not necessary. Use CMAKE_PREFIX_PATH.

 is picked up, LD_LIBRARY_PATH if you want to run stuff, 

RPATH is not working for you ?
This would be a bug.

 XDG_DATA_DIRS, KDEDIRS.

This is for running, not for building, right ?

   3. build order
 
  Isn't that the same as 1. ?

 No. kwebkitpart has to be build after kdelibs and before kdebase. Did you
 know that? Do you expect Joe NewKdeUser to know?

 The kdesupport order is much harder to get right.

 The strigi order?

kdesupport and strigi are before KDE, as mentioned above.
This doesn't make it easier, but it is not necessarily anymore in the scope of 
KDE.

 Quick. Order these smokegen, smokeqt, smokekde, qtruby, korundum.

Ok. kdebindings is weird.

   4. which branches, version from which repo (only relevant for some
   modules)
 
  You mean now with git or also with old svn ?

 Have you ever tried to compile ktorrent? I mean with old svn too. But i
 expect that to get a tad more difficult with git unless we get a real
 common branching names strategy.

We really need that.

Alex


Re: Initial support for kde_projects.xml in kdesrc-build

2011-02-01 Thread Dawit A
On Tue, Feb 1, 2011 at 2:58 PM, Michael Jansen i...@michael-jansen.biz wrote:
 On Tuesday 01 February 2011 20:35:27 Alexander Neundorf wrote:
 On Tuesday 01 February 2011, Michael Jansen wrote:
  On Tuesday 01 February 2011 19:53:40 Alexander Neundorf wrote:
   On Monday 31 January 2011, Aaron J. Seigo wrote:
On Sunday, January 30, 2011, Michael Pyne wrote:
 Like I said, xml-support branch on kdesrc-build git. If
 you want
 to
 give
   
_very_ cool. will the good news today never end? ;)
   
serious question: once this is stabilized, can we make this the
default recommended way of building KDE from git on techbase?
   
pros that i can think of:
   
* it would mean that we could cannibalize the docs for
kdesrc-build for those pages on techbase
* it would be a lot simpler to document than the current 7
headed hydra monster pages we have now :)
  
   The big thing is getting all the required dependencies built and
   installed, or do you see other things which are complicated in
   building
   KDE modules ?
 
  yes i do.
 
  1. It is a lot of work. if you work on base and want to run trunk there
  is a myriad of modules to build to get a useful setup.

 kdelibs, kdepimlibs, then kdebase.

 So want Aaaron and me to miss out on kwebkit and scripting, and policykit and
 rekonq and ... konsole? How do you suppose to use your system without konsole.

 kdesupport? anyone ... perhaps qt from trunk or qtsoftware to get problems as
 early as possible?


  2. environment variables (which and how to setup). Separate build
  environment from distro stuff that could interfere.

 CMAKE_PREFIX_PATH for finding stuff, and install your own stuff e.g.
 to /opt/mystuff/

 Do you only compile stuff? Or do you run it too? Does strigi work for you?

 STRIGI_PLUGIN_PATH ... but i haven't tested for a while if it needed nowadays.
 Strigi would not work without it.

 PKG_CONFIG_PATH, QTDIR (self compiled qt), PATH so your self compiled stuff is
 picked up, LD_LIBRARY_PATH if you want to run stuff, XDG_DATA_DIRS, KDEDIRS.

  3. build order

 Isn't that the same as 1. ?

 No. kwebkitpart has to be build after kdelibs and before kdebase. Did you know
 that? Do you expect Joe NewKdeUser to know?

a. nope. kwebkitpart only depends on kdelibs! There are no
requirements besides that. The previous requirement that you must
build kwebkitpart before you compiled the konq-plugins, which have now
been moved to kdebase, is now longer valid because of the addition of
several Extentsion interfaces to the KParts API. As a result
konq-plugins do not have direct dependency on kwebkitpart anymore in
KDE = 4.6...


Re: Initial support for kde_projects.xml in kdesrc-build

2011-02-01 Thread Alexander Neundorf
On Tuesday 01 February 2011, Michael Jansen wrote:
...
   kdesupport? anyone ... perhaps qt from trunk or qtsoftware to get
   problems as early as possible?
 
  I was asking specifically about KDE stuff, i.e. everything starting
  with kdelibs, not stuff kdelibs depends on (which I also mentioned in my
  previous mail that this is not too easy to get set up, as you can see
  above).

 So those are not parts of the great big KDE Community and KDE SC? So you do
 not encourage KDE developers to work on that stuff too?

I didn't want to say anything like that.
But personally, I care for what is inside KDE. This is what gets released as 
KDE SC. If this doesn't build properly, I feel guilty.
If a package outside KDE SC doesn't build properly, I provide help, but it's 
up to the respective authors.
I must draw a line somewhere.

 2. environment variables (which and how to setup). Separate
 build
 environment from distro stuff that could interfere.
   
CMAKE_PREFIX_PATH for finding stuff, and install your own stuff e.g.
to /opt/mystuff/
  
   Do you only compile stuff? Or do you run it too?
 
  I don't get that far to actually run the stuff I've compiled...
  A lot of the work I do _for_ KDE is actually work _on_ CMake nowadays.

 That was no knock on you or your excellent work. You ask me what makes
 compiling kde so difficult and i tell you. 

Yes, no problem with that.

  I don't think so. I never set it for anything. Just use
  CMAKE_PREFIX_PATH. If something is not found without pkgconfig that's a
  bug.

 I have no idea what stops working if i unset it. But since i compile KDE
 with nearly all optional dependencies provided i am pretty sure somewhere
 in the chain something fails.

If you find the place let me know.

  Do you need that for running ?
  For building it's not necessary. Use CMAKE_PREFIX_PATH.

 I always thought that PATH controls which qt version is selected if you
 have more than one (First qmake found). It was that way some time ago. And
 QTDIR IS USED in FindQt4.cmake. I don't reevaluate my finding every day so
 perhaps something changed.

Ok.
So when an executable is searched, it is searched in a set of default 
directories (as e.g. /usr/bin/) and in PATH. So setting PATH so that it 
points to the qmake you want works.
CMAKE_PREFIX_PATH is more generic (and didn't exist in cmake 2.4.something). 
So you can set this too to make cmake find the Qt you want (not pointing to 
QTDIR/bin, but just to QTDIR).
QTDIR is a variable specific to FindQt4.cmake, so it works too.

So all three work, the most generic/powerful one is CMAKE_PREFIX_PATH.

  For building it's not necessary. Use CMAKE_PREFIX_PATH.
 
   is picked up, LD_LIBRARY_PATH if you want to run stuff,
 
  RPATH is not working for you ?
  This would be a bug.

 Yes it is. Even acknowledged by a cmake dev. Which doesn't make it
 magically work though.

That is the lib64 issue you have, right ?
I remember this one was tricky.

 And then there is that funny little gnome helper in okulars build system
 that totally break without LD_LIBRARY_PATH and sometimes works with
 LD_LIBRARY_PATH set.

   XDG_DATA_DIRS, KDEDIRS.
 
  This is for running, not for building, right ?

 I think it is for running mostly. Sometimes some stuff tries to find some
 policykit, dbus or whatever it was stuff using it. I fixed some of those
 wrongdoing modules a long time ago. I think there is currently noone
 misbehaving.

Cool :-)

Alex


Re: Initial support for kde_projects.xml in kdesrc-build

2011-02-01 Thread Michael Jansen
 If you find the place let me know.

No ... only if i am unable to fix it myself :)) .

   Do you need that for running ?
   For building it's not necessary. Use CMAKE_PREFIX_PATH.
  
  I always thought that PATH controls which qt version is selected if you
  have more than one (First qmake found). It was that way some time ago.
  And QTDIR IS USED in FindQt4.cmake. I don't reevaluate my finding every
  day so perhaps something changed.
 
 Ok.
 So when an executable is searched, it is searched in a set of default
 directories (as e.g. /usr/bin/) and in PATH. So setting PATH so that it
 points to the qmake you want works.
 CMAKE_PREFIX_PATH is more generic (and didn't exist in cmake 2.4.something).
 So you can set this too to make cmake find the Qt you want (not pointing to
 QTDIR/bin, but just to QTDIR).
 QTDIR is a variable specific to FindQt4.cmake, so it works too.
 
 So all three work, the most generic/powerful one is CMAKE_PREFIX_PATH.

Then the 100 points question is:

If all of them point to a directory with a qt installed (three different 
versions). Which one wins?

a) CMAKE_PREFIX_PATH
b) PATH
c) QTDIR

I remember more than one newbie losing his grip over not beeing able to 
convince cmake to pickup the right one.

Can you answer it without looking at the cmake file? I can't.

  Yes it is. Even acknowledged by a cmake dev. Which doesn't make it
  magically work though.
 
 That is the lib64 issue you have, right ?
 I remember this one was tricky.

Yes. But there are some executables build and the run during a build that need 
to pickup the right libs too. I am not sure all of them are doing it right or 
if there is a right way to do it. The one gnome helper i can point you too is 
not using cmake.

  And then there is that funny little gnome helper in okulars build system
  that totally break without LD_LIBRARY_PATH and sometimes works with
  LD_LIBRARY_PATH set.
  

Mike


Re: Initial support for kde_projects.xml in kdesrc-build

2011-02-01 Thread Dawit A
On Tue, Feb 1, 2011 at 4:14 PM, Michael Jansen i...@michael-jansen.biz wrote:

 a. nope. kwebkitpart only depends on kdelibs! There are no
 requirements besides that. The previous requirement that you must
 build kwebkitpart before you compiled the konq-plugins, which have now
 been moved to kdebase, is now longer valid because of the addition of
 several Extentsion interfaces to the KParts API. As a result
 konq-plugins do not have direct dependency on kwebkitpart anymore in
 KDE = 4.6...

 But that requirement came and went without a great announcement. Previously
 you had to compile kwebkitpart before kdebase so you got the ability to use
 webkit with konqueror.

But that is just it... There never was any requirement of compiling
kwebkitpart before kdebase, ever! I think perhaps you are confusing
konq-plugins with being in kdebase ? But the konq-plugins prior to the
trunk for KDE 4.7 being opened were located in extragear/base and not
kdebase. So I do not know where you got the impression of such
dependency. It did not exist.

The optional dependency that existed was that some of the konq-plugins
linked directly against kwebkitpart if available. As such you needed
to have compiled and installed kwebkitpart to activate support for it
in some of these konq-plugins. And that was the ugly dependency that
was solved by the changes I described in my original response. Anyhow,
I guess this is not really the point of your discussion, but a rather
a bad example you used...


Re: Initial support for kde_projects.xml in kdesrc-build

2011-02-01 Thread Andreas Pakulat
On 01.02.11 23:14:26, Michael Jansen wrote:
Do you need that for running ?
For building it's not necessary. Use CMAKE_PREFIX_PATH.
   
   I always thought that PATH controls which qt version is selected if you
   have more than one (First qmake found). It was that way some time ago.
   And QTDIR IS USED in FindQt4.cmake. I don't reevaluate my finding every
   day so perhaps something changed.
  
  Ok.
  So when an executable is searched, it is searched in a set of default
  directories (as e.g. /usr/bin/) and in PATH. So setting PATH so that it
  points to the qmake you want works.
  CMAKE_PREFIX_PATH is more generic (and didn't exist in cmake 2.4.something).
  So you can set this too to make cmake find the Qt you want (not pointing to
  QTDIR/bin, but just to QTDIR).
  QTDIR is a variable specific to FindQt4.cmake, so it works too.
  
  So all three work, the most generic/powerful one is CMAKE_PREFIX_PATH.
 
 Then the 100 points question is:
 
 If all of them point to a directory with a qt installed (three different 
 versions). Which one wins?
 
 a) CMAKE_PREFIX_PATH
 b) PATH
 c) QTDIR
 
 I remember more than one newbie losing his grip over not beeing able to 
 convince cmake to pickup the right one.
 
 Can you answer it without looking at the cmake file? I can't.

No of course not because you don't know how QTDIR is being used. But
thats rather a problem of the FindQt4.cmake module not documented where
it uses the QTDIR variable.

Once you know it puts that into the PATHS option the rest is a mere look
at the cmake manual which lists the order in which it searches for
stuff. In particular in your case it'll find the qmake in
CMAKE_PREFIX_PATH.

   Yes it is. Even acknowledged by a cmake dev. Which doesn't make it
   magically work though.
  
  That is the lib64 issue you have, right ?
  I remember this one was tricky.
 
 Yes. But there are some executables build and the run during a build that 
 need 
 to pickup the right libs too. I am not sure all of them are doing it right or 
 if there is a right way to do it. The one gnome helper i can point you too is 
 not using cmake.

Well, in kde modules the executables being built will have rpath set
too, so that should work - in theory. But as I don't know what exactly
Alex and you are talking about here and what your setup is I'll shut up
:)

Andreas

-- 
You will be given a post of trust and responsibility.


Re: Initial support for kde_projects.xml in kdesrc-build

2011-01-31 Thread Aaron J. Seigo
On Sunday, January 30, 2011, Michael Pyne wrote:
 Like I said, xml-support branch on kdesrc-build git. If you want to give

_very_ cool. will the good news today never end? ;)

serious question: once this is stabilized, can we make this the default 
recommended way of building KDE from git on techbase?

pros that i can think of:

* it would mean that we could cannibalize the docs for kdesrc-build for those 
pages on techbase
* it would be a lot simpler to document than the current 7 headed hydra 
monster pages we have now :)

cons:

* it means encouraging people to get and learn one more tool to get involved 
with KDE

that still seems easier than the current recommended practices, and so i 
expect it to be a win rather than a net loss.

-- 
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Qt Development Frameworks


signature.asc
Description: This is a digitally signed message part.


Re: Initial support for kde_projects.xml in kdesrc-build

2011-01-31 Thread Michael Pyne
On Monday, January 31, 2011 17:48:38 Aaron J. Seigo wrote:
 On Sunday, January 30, 2011, Michael Pyne wrote:
  Like I said, xml-support branch on kdesrc-build git. If you want to
  give
 
 _very_ cool. will the good news today never end? ;)
 
 serious question: once this is stabilized, can we make this the default
 recommended way of building KDE from git on techbase?

Sure, but I won't be pushing that on TechBase unless asked to do so. I prefer 
not to evangelize my script too much although at the same time I understand 
the desire for a more canonical method for building KDE.

 pros that i can think of:
 
 * it would mean that we could cannibalize the docs for kdesrc-build for
 those pages on techbase

Although I've worked hard on them, I think the current docs aren't exactly 
what's needed for TechBase. There should be many more Here's how to do this 
and less Here's the exhaustive list of every stupid option. Not that it's 
hard to fix on TechBase, but any docs cannibalization should probably be 
limited to a link from TechBase to docs.kde.org for those who want to know all 
the options.

 * it would be a lot simpler to document than the current 7 headed hydra
 monster pages we have now :)

I think I agree here. ;)

 cons:
 
 * it means encouraging people to get and learn one more tool to get
 involved with KDE

And because of that I think even if we make it the recommended way to 
perform the build, that we should still have the manual instructions fully 
documented on TechBase.

Regards,
 - Michael Pyne


signature.asc
Description: This is a digitally signed message part.


Re: Initial support for kde_projects.xml in kdesrc-build

2011-01-31 Thread Aaron J. Seigo
On Monday, January 31, 2011, Albert Astals Cid wrote:
  * There is black magic happening behind your back and once something
 breaks you won't know how to fix things by yourself.

we can and should document how to do all the things by hand as well for such 
situations. 

but it would be nice if the default recommendation was something that a new 
contributor could use to get a full KDE build going with just a few minutes 
effort on their part.

-- 
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA  EE75 D6B7 2EB1 A7F1 DB43

KDE core developer sponsored by Qt Development Frameworks


signature.asc
Description: This is a digitally signed message part.


Re: Initial support for kde_projects.xml in kdesrc-build

2011-01-31 Thread Michael Pyne
On Monday, January 31, 2011 18:19:12 Albert Astals Cid wrote:
 cons:
  * There is black magic happening behind your back and once something
 breaks you won't know how to fix things by yourself.

Although it is definitely true that kdesrc-build hides what it's doing unless 
you delve into either the --pretend output or the log files (where the command 
run is displayed at the top of every log file), this is also a pro:

pros:
* There is black magic happening behind your back so that users who are 
unwilling/unable to navigate gcc/make/cmake can still build and test bleeding-
edge versions of KDE despite their lack of CLI mastery.

Anytime you add a layer to a working system there is usually a pro of this 
makes me do less work and a con of now I forgot how it works (e.g. moc, 
high level programming languages in general, etc.)

I certainly don't disagree with the con you mentioned, but I do think that the 
benefit in increased testing coverage outweighs the concern with black 
magic, especially since I take great pains (and have for years) to have 
kdesrc-build operate as much like you or I would do the build as possible.

For instance even after using kdesrc-build on my source tree for years I can 
go to svn or git modules and run the standard update command (even git pull) 
and everything just works. I can go to the build directory and run make or 
cmake-gui and things just work. When I'm worried about what kdesrc-build is 
about to do, I can pass the --pretend flag and it shows the command line for 
about 95% of the commands it would run. In short it is (my idea of) a bum-
standard build system, or as close as I can get it in an automated script.

Regards,
 - Michael Pyne


signature.asc
Description: This is a digitally signed message part.


Re: Initial support for kde_projects.xml in kdesrc-build

2011-01-31 Thread Parker Coates
On Mon, Jan 31, 2011 at 19:08, Michael Pyne wrote:
 On Monday, January 31, 2011 18:19:12 Albert Astals Cid wrote:
 cons:
  * There is black magic happening behind your back and once something
 breaks you won't know how to fix things by yourself.

 For instance even after using kdesrc-build on my source tree for years I can
 go to svn or git modules and run the standard update command (even git pull)
 and everything just works. I can go to the build directory and run make or
 cmake-gui and things just work. When I'm worried about what kdesrc-build is
 about to do, I can pass the --pretend flag and it shows the command line for
 about 95% of the commands it would run. In short it is (my idea of) a bum-
 standard build system, or as close as I can get it in an automated script.

I was about to make this same point. When I first started KDE
development, I tried to set up my own build environment. After one
unsuccessful attempt and then one somewhat successful attempt, I
learned about kdesvn-build. It got me up and running with trunk after
5 minutes of configuration and a single build run.

While I'm sure I learned some things from my manual setup attempt, I'm
pretty sure that I learned more from having a working build
environment to play around in. And as Michael said, that's the beauty
of kdesrc-build. You are free to play around with your checkouts and
build directories and things will generally keep working. For example,
KDevelop and kdesrc-build will happily share a build directory and
reuse each other's CMake caches. There's certainly value in
understanding the details of the manual guides currently in Techbase,
but honestly I think they'd be easier to learn if one already had a
kdesrc-build setup to work with.

Parker


Initial support for kde_projects.xml in kdesrc-build

2011-01-30 Thread Michael Pyne
Hi all,

Just a quick email as I'm already late getting to bed, but I just wanted to 
let you know (in case you're interested) that I've just committed initial 
support for the kde_projects.xml database to kdesrc-build (in git; xml-support 
branch).

It requires using a use-xml-modules option in a module-set (where you'd use 
the existing use-modules option).

e.g.

module-set
use-xml-modules kdebindings krita-extensions konsole
end module-set

since the repository information for an XML module is encoded as part of the 
XML there's really not much else to configure as far as finding the git 
repositories goes. Other options can still be set as normal.

If a module doesn't show up where you expect in your kdesrc-build --pretend 
output, make sure you didn't already have it buried somewhere :P
(e.g. that konsole example I gave doesn't show up on my system, since it was 
already being built earlier).

Whatever identifier you give is searched in the XML tags module, component and 
project, and repositories are recursively found from there. One exception is 
that if the component or module contains both its own repo, and other children 
with repos, the repo which is a direct child is preferred, and the 
childrens' repos are all ignored. (I think this is desired behavior with 
calligra, unless the calligra repo is essentially empty, I haven't had time to 
delve into that).

There is no dependency tracking. There is a repo setup for that kind of 
metadata so it will work well enough someday, but until then modules are built 
in the order that they show up in the XML.

I also haven't coded in warnings for module identifiers that are not unique in 
the XML. If there are non-unique identifiers and you try to build it, your 
guess on the module that actually gets built is probably as good as mine. If 
this makes you wary, you should be able to specify a full path just fine (e.g. 
kde/kdebindings, extragear/utils/kdesrc-build, etc.)

My roadmap such as it is, is that when this all works well enough, to move 
effectively all defaults regarding what modules to build to the build-setup 
repo I was referring to earlier, and then changing the defaults there should 
in theory continuously update the defaults for deployed kdesrc-builds. There 
would also be some mechanism to instead have an exact configuration like you 
can do now.

Like I said, xml-support branch on kdesrc-build git. If you want to give it 
a shot I'd appreciate it, if not that's fine too. Do keep in mind that I will 
be once again extraordinarily busy over the working week so if I horribly 
broke something I may not be able to fix it til the weekend.

Happy building!

Regards,
 - Michael Pyne


signature.asc
Description: This is a digitally signed message part.