[Development] Qt5 combined source package - Perl dependency

Sean Harmer sean.harmer at kdab.com
Tue Jun 11 16:13:44 CEST 2013

On Tuesday 11 June 2013 15:00:26 Sean Harmer wrote:
> 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.

Speaking to Sergio on irc it seems that Ossi has just merged a lot of patches 
to address this issue. New source packages with the fixes in should appear 
tomorrow, so we'll review them once they are available.


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