Re: [Development] Did we have to remove cmake's qt5_use_modules?

2018-06-14 Thread Lisandro Damián Nicanor Pérez Meyer
El jueves, 14 de junio de 2018 10:19:51 -03 Kevin Funk escribió:
> On Thursday, 7 June 2018 08:03:40 CEST Thiago Macieira wrote:
[snip] 
> Heya,
> 
> Patch for restoring qt5_use_modules() is here:
>   https://codereview.qt-project.org/#/c/232367/

yay, thanks a lot! I have read your comment on adding a deprecation warning on 
5.12: please go ahead (you might even add that in 5.11.2 if it ever gets to 
exist).

-- 
Si vives cada día de tu vida como si fuera el último,
algún día realmente tendrás razón.
  Steve Jobs

Lisandro Damián Nicanor Pérez Meyer
http://perezmeyer.com.ar/
http://perezmeyer.blogspot.com/


signature.asc
Description: This is a digitally signed message part.
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Did we have to remove cmake's qt5_use_modules?

2018-06-14 Thread Thiago Macieira
On Thursday, 14 June 2018 06:19:51 PDT Kevin Funk wrote:
> Heya,
> 
> Patch for restoring qt5_use_modules() is here:
>   https://codereview.qt-project.org/#/c/232367/

Thanks, Kevin!

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center



___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Did we have to remove cmake's qt5_use_modules?

2018-06-14 Thread Kevin Funk
On Thursday, 7 June 2018 08:03:40 CEST Thiago Macieira wrote:
> Commit 02ed1b36daebed5f3997bb676cf5e818c0db9d3c was
> 
> Remove CMake code for CMake < 3.1
> 
> This removes the following functions from Qt5CoreMacros:
> - qt5_use_modules(...)
> 
> Which follows 2013's d9ea4bb1441534cfb9253303ac258951dfcc4d9e
> 
> Mark qt5_use_modules as obsolete.
> 
> Forward-port of cb7f32f5b861fe115fa71f64500a5cbb0b643f1b (Mark
> qt4_use_modules and qt4_automoc as obsolete., 2013-07-04) from
> cmake.git.
> 
> But it appears that in the 5 years since we deprecated it, people have not
> stopped using it. Did we have to remove it? Or should we have kept
> compatibility until Qt 6?

Heya,

Patch for restoring qt5_use_modules() is here:
  https://codereview.qt-project.org/#/c/232367/

Regards,
Kevin

> Just look at the failures in
> https://build.opensuse.org/project/monitor/openSUSE:Factory?
> arch_x86_64=1&defaults=0&failed=1&repo_standard=1
> 
> The majority of them are caused by the Qt 5.11 update, a great number of
> which are the cmake update (the rest are indirect header dependency and are
> easy to fix).



signature.asc
Description: This is a digitally signed message part.
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Did we have to remove cmake's qt5_use_modules?

2018-06-11 Thread Lisandro Damián Nicanor Pérez Meyer
El viernes, 8 de junio de 2018 11:59:10 -03 Kevin Funk escribió:
[snip]
> Heya Thiago,
> 
> thanks for bringing this up on the mailing list. I have authored the patch
> which (also) removed qt5_use_modules(). To my excuse, I haven't expected
> that so many projects still use said macro actively. I was maybe misguided
> by my perception from the KDE world; where most projects have used to using
> target_link_libraries(...).
> 
> I understand that the removal of qt5_use_modules() creates tons of
> unnecessary extra work for distro and project maintainers.
> 
> I would lean towards restoring qt5_use_modules() in Qt 5.11.1 (and keep it
> for the Qt5 lifetime).

That would be much appreciated.

> But I'd leave the other removals of
> 02ed1b36daebed5f3997bb676cf5e818c0db9d3c (mainly removal of support of older
> CMake versions) intact.

I think this is safe, we normally do not expect building new Qt versions with 
older CMake versions in distros. I think.

Thanks a lot!!

-- 
If little green men land in your back yard, hide any little green women
you've got in the house.
  Mike Harding, "The Armchair Anarchist's Almanac"

Lisandro Damián Nicanor Pérez Meyer
http://perezmeyer.com.ar/
http://perezmeyer.blogspot.com/


signature.asc
Description: This is a digitally signed message part.
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Did we have to remove cmake's qt5_use_modules?

2018-06-08 Thread Kai Koehne
> -Original Message-
> From: Development [mailto:development-bounces+kai.koehne=qt.io@qt-
> [...]
> The Qt promise is to maintain not only source code, but upward binary
> compatibility until a major version.
> 
> When said promise is broken immediately after a major version release, as it
> was the case just after Qt5 release to fix an oversight, this is not harmful.
> 
> When it happens years after release, and this is indeed the case here for
> deprecated modules, and was also the case with the switch away from Webkit,
> it can be a major problem not just for distributions, but for many projects 
> that
> depend on it and did not budget a major change.

Overall I do think we're on the very conservative side when it comes to 
removing things. We're still dragging modules along that were deprecated in Qt 
5.0 already ... Qt WebKit was somewhat special in that a) it was quite big, and 
b) it's often used in a security critical setup. But eventually Konstantin 
volunteered to revive qtwebkit, so I guess it's ok now?

> To maintain source and binary compatibility, deprecated modules should not
> be removed until QT6. I do not even understand why there is a debate about
> this.

Note that the case in question is about deprecated functionality in the build 
system, not about removing any Qt modules. So the BC guarantee doesn't apply 
here. 

Kai

___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Did we have to remove cmake's qt5_use_modules?

2018-06-08 Thread Thiago Macieira
On Friday, 8 June 2018 07:59:10 PDT Kevin Funk wrote:
> I would lean towards restoring qt5_use_modules() in Qt 5.11.1 (and keep it
> for the Qt5 lifetime). But I'd leave the other removals of
> 02ed1b36daebed5f3997bb676cf5e818c0db9d3c (mainly removal of support of older
> CMake versions) intact.
> 
> Agreed? If so I'll file a patch soon-ish.

I think it makes sense. This doesn't look like a simple change.

The missing #includes is a known issue and even then I looked at what caused 
the issue for QButtonGroup and QAction. I can't find the relevant change.

-- 
Thiago Macieira - thiago.macieira (AT) intel.com
  Software Architect - Intel Open Source Technology Center



___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Did we have to remove cmake's qt5_use_modules?

2018-06-08 Thread Kevin Funk
On Thursday, 7 June 2018 08:03:40 CEST Thiago Macieira wrote:
> Commit 02ed1b36daebed5f3997bb676cf5e818c0db9d3c was
> 
> Remove CMake code for CMake < 3.1
> 
> This removes the following functions from Qt5CoreMacros:
> - qt5_use_modules(...)
> 
> Which follows 2013's d9ea4bb1441534cfb9253303ac258951dfcc4d9e
> 
> Mark qt5_use_modules as obsolete.
> 
> Forward-port of cb7f32f5b861fe115fa71f64500a5cbb0b643f1b (Mark
> qt4_use_modules and qt4_automoc as obsolete., 2013-07-04) from
> cmake.git.
> 
> But it appears that in the 5 years since we deprecated it, people have not
> stopped using it. Did we have to remove it? Or should we have kept
> compatibility until Qt 6?

Heya Thiago,

thanks for bringing this up on the mailing list. I have authored the patch 
which (also) removed qt5_use_modules(). To my excuse, I haven't expected that 
so many projects still use said macro actively. I was maybe misguided by my 
perception from the KDE world; where most projects have used to using 
target_link_libraries(...).

I understand that the removal of qt5_use_modules() creates tons of unnecessary 
extra work for distro and project maintainers.

I would lean towards restoring qt5_use_modules() in Qt 5.11.1 (and keep it for 
the Qt5 lifetime). But I'd leave the other removals of 
02ed1b36daebed5f3997bb676cf5e818c0db9d3c (mainly removal of support of older 
CMake versions) intact.

Agreed? If so I'll file a patch soon-ish.


PS: Regarding the motivation for such changes:
  
Obviously I don't want to make other ppl's life more difficult -- but the 
CMake support in Qt5 has grown tons of fallback or compat code over the years 
which makes it very hard to improve it. We ideally should try to get rid off 
this in order to move forward. CMake has learned a lot throughout the years 
but in Qt's CMake support code there were and still are lots of places where 
we try to mimic what CMake supports out of the box since years.

Regards,
Kevin

> Just look at the failures in
> https://build.opensuse.org/project/monitor/openSUSE:Factory?
> arch_x86_64=1&defaults=0&failed=1&repo_standard=1
> 
> The majority of them are caused by the Qt 5.11 update, a great number of
> which are the cmake update (the rest are indirect header dependency and are
> easy to fix).


-- 
Kevin Funk | kf...@kde.org | http://kfunk.org

signature.asc
Description: This is a digitally signed message part.
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Did we have to remove cmake's qt5_use_modules?

2018-06-08 Thread qt . dantec
Le Wed, 06 Jun 2018 23:03:40 -0700, Thiago Macieira
  écrivait:

>But it appears that in the 5 years since we deprecated it, people have not 
>stopped using it. Did we have to remove it? Or should we have kept 
>compatibility until Qt 6?

The Qt promise is to maintain not only source code, but upward binary
compatibility until a major version.

When said promise is broken immediately after a major version release,
as it was the case just after Qt5 release to fix an oversight, this is
not harmful.

When it happens years after release, and this is indeed the case here
for deprecated modules, and was also the case with the switch away
from Webkit, it can be a major problem not just for distributions, but
for many projects that depend on it and did not budget a major change.

To maintain source and binary compatibility, deprecated modules should
not be removed until QT6. I do not even understand why there is a
debate about this.
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Did we have to remove cmake's qt5_use_modules?

2018-06-07 Thread Lisandro Damián Nicanor Pérez Meyer
El jueves, 7 de junio de 2018 03:03:40 -03 Thiago Macieira escribió:
> Commit 02ed1b36daebed5f3997bb676cf5e818c0db9d3c was
> 
> Remove CMake code for CMake < 3.1
> 
> This removes the following functions from Qt5CoreMacros:
> - qt5_use_modules(...)
> 
> Which follows 2013's d9ea4bb1441534cfb9253303ac258951dfcc4d9e
> 
> Mark qt5_use_modules as obsolete.
> 
> Forward-port of cb7f32f5b861fe115fa71f64500a5cbb0b643f1b (Mark
> qt4_use_modules and qt4_automoc as obsolete., 2013-07-04) from
> cmake.git.
> 
> But it appears that in the 5 years since we deprecated it, people have not
> stopped using it. Did we have to remove it? Or should we have kept
> compatibility until Qt 6?
> 
> Just look at the failures in
> https://build.opensuse.org/project/monitor/openSUSE:Factory?
> arch_x86_64=1&defaults=0&failed=1&repo_standard=1
> 
> The majority of them are caused by the Qt 5.11 update, a great number of
> which are the cmake update (the rest are indirect header dependency and are
> easy to fix).

Interesting, this will affect other distros obviously. Was there anything 
breaking due to keeping this?

-- 
May the source be with you.

Lisandro Damián Nicanor Pérez Meyer
http://perezmeyer.com.ar/
http://perezmeyer.blogspot.com/


signature.asc
Description: This is a digitally signed message part.
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development