[Development] Qt5 combined source package - Perl dependency

Sean Harmer sean.harmer at kdab.com
Tue Jun 11 16:00:26 CEST 2013


Hi,

On Saturday 27 April 2013 02:03:07 Knoll Lars wrote:
> On 4/26/13 3:00 AM, "Anttila Janne" <Janne.Anttila at digia.com> wrote:
> >Hi,
> >
> >As you probably are aware, there has been a long thread on interest
> >list about Qt dependency bloat. One of the most commented problems
> >has been Perl dependency, especially on Windows.
> >
> >We have had similar feedback on commercial support channels.
> >
> >One quite simple change what we could do already for 5.1, is to
> >run syncqt before creating combined source archives. This would
> >allow building Qt5 sources (except webkit) without perl, like it
> >was on Qt4 as well.
> >
> >Ossi already prepared a patch making this possible for some time
> >ago https://codereview.qt-project.org/49833 but it was rejected
> >by Thiago and Lars.
> >
> >I think it is time to re-evaluate this decision now!
> >
> >Qt-Project now provides split source packages, the split packages
> >do not and should not have syncqt executed. Thus they would make
> >it possible to cryptographically verify that the sources match
> >exactly the repository with no modifications.
> >
> >The combined source package is provided for convenience.
> >I think we should take the next step, and run syncqt before doing
> >that archive, and provide even more convenience for Qt5 (Windows)
> >developers.
> 
> Yes, I have to agree after all. I would prefer not having to ship all
> these generated files, but I can also see that it causes issues for people
> that want to compile Qt on their own.

We have today hit the converse problem of the pre-generated forwarding headers 
getting in the way. The generated headers in the source packages are 
forwarding the EGL related headers to those in 3rdparty/ANGLE.

This renders the source packages useless for trying to build with an EGL based 
configuration on a platform != windows. Moving the qtbase/include dir out of 
the way is insufficient to cause regeneration of the headers as the configure 
script checks for the presence of .git to determine if it should run syncqt or 
not.

Telling a customer to rm -rf qtbase/include && touch .git does not seem to be 
a good solution.

I don't see how we can really hope to ship pre-generated headers in the source 
packages when those headers are configuration dependent.

I would therefore vote for removing them from the source packages and 
requiring perl so that syncqt can be executed as part of configure even 
outside of a git clone.

Cheers,

Sean
--
Dr Sean Harmer | sean.harmer at kdab.com | Managing Director UK
Klarälvdalens Datakonsult AB, a KDAB Group company
Tel. Sweden (HQ) +46-563-540090, USA +1-866-777-KDAB(5322)
KDAB - Qt Experts - Platform-independent software solutions



More information about the Development mailing list