Bug 878188 - (qt5-qtbase, qt5-qtbase-review) Review Request: qt5-qtbase - Qt5 - QtBase components
Review Request: qt5-qtbase - Qt5 - QtBase components
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Ngo Than
Fedora Extras Quality Assurance
:
Depends On:
Blocks: kde-reviews qt-reviews sigil-07 qt5-qttools qt5-qtwebkit qt5-qtscript qt5-qtjsbackend qt5-qtquick1 qt5-qtdeclarative qt5-qtmultimedia qtgraphicaleffects qt5-qtimageformats qt5-qtsvg qt5-qtxmlpatterns
  Show dependency treegraph
 
Reported: 2012-11-19 15:04 EST by Rex Dieter
Modified: 2017-03-31 15:37 EDT (History)
11 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-04-15 19:54:43 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
than: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Comment 1 Jaroslav Reznik 2012-11-23 09:21:16 EST
# use qt5- prefix or not?  -- rex

I see one issue not using qt5 prefix - potential conflict of modules. At least now there's qt5's and qt4's qtwebkit module. Qt 6 is not going to be something we can expect soon but...
Comment 2 Kevin Kofler 2012-11-23 15:41:50 EST
Yeah, I think having a '5' somewhere in the name makes a lot of sense. Whether to use qt5-qtbase, qt5base, qtbase5, qtbase-qt5 or whatever is mostly bikeshedding. The MinGW folks have gone with qt5-qtbase, so IMHO it makes sense to follow that scheme for consistency.
Comment 3 Rex Dieter 2012-11-28 07:56:46 EST
After mulling it over a bit... while I'd hoped to be able to avoid namespacing/prefixing these, it seems the odds of hitting conflicts are high (esp given jreznik's qtwebkit example).  So, i'll go ahead and rework this to use a qt5- prefix like wingw packaging is diong.
Comment 4 Rex Dieter 2012-11-28 09:33:47 EST
Spec URL: http://rdieter.fedorapeople.org/rpms/qt5/qt5-qtbase.spec
SRPM URL: 
Description: http://rdieter.fedorapeople.org/rpms/qt5/qt5-qtbase-5.0.0-0.2.beta2.fc18.src.rpm

%changelog
* Wed Nov 28 2012 Rex Dieter <rdieter@fedoraproject.org> 5.0.0-0.2.beta2
- qtbase --> qt5-qtbase
Comment 5 Rex Dieter 2012-12-13 12:06:09 EST
Spec URL: http://rdieter.fedorapeople.org/rpms/qt5/qt5-qtbase.spec
SRPM URL: 
Description: http://rdieter.fedorapeople.org/rpms/qt5/qt5-qtbase-5.0.0-0.4.rc2.fc18.src.rpm

%changelog
* Thu Dec 13 2012 Rex Dieter <rdieter@fedoraproject.org> 5.0.0-0.4.rc2
- 5.0-rc2
- initial try at putting non-conflicting binaries in %%_bindir
Comment 6 Erik van Pienbroek 2012-12-13 16:18:11 EST
Hi Rex,

Upstream developers recently started a thread on the Qt development mailing list about things us downstream packagers should take into account: http://www.mail-archive.com/development@qt-project.org/msg08471.html

In the same thread another Qt developer (Thiago) points out that renaming the tools shouldn't be done at all as a new tool will be introduced by the end of this week called 'qtchooser': http://www.mail-archive.com/development@qt-project.org/msg08533.html
This tool will act as a centralized qmake wrapper and will support multiple Qt installations (like the native Fedora Linux one and the Fedora MinGW one). There still isn't much known about this tool yet, but I expect it to become available any moment now
Comment 7 Rex Dieter 2012-12-13 17:54:50 EST
I know, though Kevin (on irc) had a fairly strong opinion to do to it this way too.  We've been careful to follow the mailing list discussion, and are fairly certain that our modifications here won't conflict with use of qtchooser.
Comment 8 Erik van Pienbroek 2012-12-14 06:18:55 EST
Is there any particular reason why you've added a custom Qt5.pc file? Upstream doesn't provide this and other distros like Ubuntu also don't provide this file. From the looks of it, upstream is expecting developers to use one of the other pkg-config files which is bundled with Qt5, like Qt5Core.pc. If its only purpose is to provide variables like the installation paths and the location of qmake and moc then I guess it would make more sense to ask upstream to add this information to one of the already bundled pkg-config files like Qt5Core.pc
Comment 9 Rex Dieter 2012-12-14 07:44:48 EST
Sure, upstreaming it makes sense (we do the same in our qt(4) packaging too), just never got around to it.
Comment 10 Kevin Kofler 2012-12-15 09:56:05 EST
FWIW, IMHO, qtchooser is a totally insane and unsupportable "solution", I don't think we should even try to support that. The apparently same executable ends up actually spawning a completely different binary based on one or more of:
* yet another nonstandard environment variable (why not use PATH for that?),
* one or more config file(s) (WTF? Which binary gets run depends on CONFIG FILES?) and/or
* a command-line argument, whose use will spit errors when an actual binary gets found instead (thus totally unreliable for build systems to use, yet it's the only of the 3 mechanisms which would make any sense at all for a build system to use).
Your build system finds a qmake, thinks it is a Qt 5 qmake, and suddenly, the user changes a config file on you in the background and your build ends up calling the Qt 4 (or even Qt 3) qmake instead? What the f***?

But even if we do end up supporting qtchooser, having the suffixed binaries (with appropriate CMake adjustments to search for them instead of the unsuffixed ones, it's fairly trivial (just change the find_program lines), a sample patch was posted to kde-packager) is only going to help and not conflict with qtchooser.
Comment 11 Rex Dieter 2012-12-19 15:09:44 EST
Spec URL: http://rdieter.fedorapeople.org/rpms/qt5/qt5-qtbase.spec
SRPM URL: 
Description: http://rdieter.fedorapeople.org/rpms/qt5/qt5-qtbase-5.0.0-1.fc18.src.rpm

%changelog
* Wed Dec 19 2012 Rex Dieter <rdieter@fedoraproject.org> 5.0.0-1
- 5.0 (final)
Comment 12 greg.hellings 2013-01-14 10:55:05 EST
Has no one taken this for review? I'd like to see Qt5 make it out the door both in native and the MinGW world.
Comment 13 Rex Dieter 2013-01-14 10:57:25 EST
so far, no.  you're welcome to help. :)
Comment 14 greg.hellings 2013-01-14 11:40:06 EST
Other than your URL above returning 404 (-2 replacing -1), everything looks OK to me. I don't feel at all qualified to give you an official review on something this big, though, as I'm new to the packager world and this is a very complex suite of libraries. I would be happy to see it out in the wild, though, as I am working on a project that requires some Qt5-only features.

Just a side note: the installed PNG files in /usr/share/doc/qt5/global/template/images are picked up by rpmlint as having +x permissions, which is probably unnecessary.

I'll start using the build of them I have created in testing, though, and let you know if any problems come up.
Comment 15 Rex Dieter 2013-01-14 12:17:13 EST
indeed, sorry for not updating the links, here we go:

Spec URL: http://rdieter.fedorapeople.org/rpms/qt5/qt5-qtbase.spec
SRPM URL: 
Description: http://rdieter.fedorapeople.org/rpms/qt5/qt5-qtbase-5.0.0-2.fc18.src.rpm


%changelog
* Wed Jan 09 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.0-2
- add qtchooser support (disabled by default)
Comment 16 Kevin Kofler 2013-01-14 13:08:22 EST
If you want my opinion: Yank the qtchooser nonsense! (Also from the Qt 4 qt.spec you polluted in Rawhide with this junk.) Set this up the same way as Qt 4 instead, and make changes to the CMake configuration and/or to QMake if and as needed.
Comment 17 Rex Dieter 2013-01-14 15:13:30 EST
the -qt5 postfix stuff can mostly coexist with qtchooser, and i've been brainstorming ideas on how to make it even less intrusive if needed.
Comment 18 Rex Dieter 2013-01-24 13:13:35 EST
Spec URL: http://rdieter.fedorapeople.org/rpms/qt5/qt5-qtbase.spec
SRPM URL: 
Description: http://rdieter.fedorapeople.org/rpms/qt5/qt5-qtbase-5.0.0-3.fc18.src.rpm

%changelog
* Thu Jan 24 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.0-3
- enable (non-conflicting) qtchooser support
Comment 19 Dan Horák 2013-01-30 05:51:55 EST
seems bundled copies of pcre and harfbuzz are built ...

PCRE auto-detection... ()
g++ -c -m64 -pipe -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -march=z9-109 -mtune=z10 -O2 -Wall -W -fPIE  -I../../../
mkspecs/linux-g++-64 -I. -o pcre.o pcre.cpp
pcre.cpp:42:18: fatal error: pcre.h: No such file or directory
compilation terminated.
gmake: *** [pcre.o] Error 1
Comment 20 Dan Horák 2013-01-30 06:35:20 EST
also the build needs a LOT of memory, it fails on s390 with 2GB of address space with
...
cc1plus: out of memory allocating 285056 bytes after a total of 1320124416 bytes
make[2]: *** [.obj/release-shared/qdrawhelper.o] Error 1
make[2]: *** Waiting for unfinished jobs....

so please apply the s/-O2/-O1/ hack
Comment 21 Rex Dieter 2013-01-30 12:09:09 EST
thanks for pcre, harfbuz... looks like is used only building for mac.

As for s390 hack, you mean modifiying %optflags?
Comment 22 Dan Horák 2013-01-30 12:27:49 EST
(In reply to comment #21)
> thanks for pcre, harfbuz... looks like is used only building for mac.

hm, I'll better recheck the logs for harfbuzz presence

> As for s390 hack, you mean modifiying %optflags?

yes, I think it already was in qt4. Or was the reason out of memory during linking?
Comment 23 Rex Dieter 2013-01-30 12:33:25 EST
yeah, qt4 includes a patch for reduced memory wrt libQtWebKit linking.  (I assume we'll likely need something similar when we package/review qt5-qtwebkit)
Comment 24 Rex Dieter 2013-01-30 12:39:45 EST
Hrm, seems bundled harfbuzz is indeed still used somehow :(
Comment 25 Rex Dieter 2013-01-30 12:45:39 EST
Spec URL: http://rdieter.fedorapeople.org/rpms/qt5/qt5-qtbase.spec
SRPM URL: 
Description: http://rdieter.fedorapeople.org/rpms/qt5/qt5-qtbase-5.0.0-4.fc18.src.rpm

%changelog
* Wed Jan 30 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.0-4
- %%build: -system-pcre, BR: pkgconfig(libpcre)
- use -O1 optimization on lowmem (s390) arch
Comment 26 Dan Horák 2013-01-30 15:37:42 EST
I'm still getting c++ killed by the kernel's oom killer even on s390x, but I guess it's because src/gui/painting/qdrawhelper.cpp (200+ KB file) has
#  pragma GCC optimize "O3"

I'll do some more tests on both s390 and s390x ...
Comment 27 Dan Horák 2013-01-31 07:39:44 EST
and the results are

s390
- the -O1 override is ineffective, the build system sets -O2 later on the command line
g++ -c -pipe -O1 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m31 -march=z9-109 -mtune=z10 -O2 -std=c++0x -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fno-exceptions -fPIC -DQT_NO_LIBUDEV -DQT_NO_USING_NAMESPACE -DQT_BUILD_GUI_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_DEBUG -DQT_CORE_LIB -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -I../../mkspecs/linux-g++ -I. -I../../include -I../../include/QtGui -I../../include/QtGui/5.0.0 -I../../include/QtGui/5.0.0/QtGui -Iimage -I/usr/include/libdrm -I../../include/QtCore -I../../include/QtCore/5.0.0 -I../../include/QtCore/5.0.0/QtCore -I.moc/release-shared -o .obj/release-shared/qdrawhelper.o painting/qdrawhelper.cpp
- -O3 is used from the #pragma anyway
- builds fine with the #pragma commented out

s390x
- fails with 3 GB of memory (1G ram + 2G swap), but succeeds with 8 GB (3 + 5)

ppc/ppc64
- fails with error in dialogs/qprintdialog_unix.cpp:54
- http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=886976

arm
- http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=1409787 - no results yet


I think the huge memory requirements with -O3 on s390/s390x prove Jakub's statement that -O3 can't be enabled globally as it is not safe and the quality varies between arches
Comment 28 Dan Horák 2013-01-31 08:58:14 EST
arm
- OOM in cc1plus same as on s390

my suggestion would be to patch out the -O3 #pragma for the low-memory arches starting with "%{arm} s390"
Comment 29 Rex Dieter 2013-01-31 09:03:07 EST
agreed, will do.
Comment 30 Rex Dieter 2013-01-31 09:27:14 EST
Spec URL: http://rdieter.fedorapeople.org/rpms/qt5/qt5-qtbase.spec
SRPM URL: 
Description: http://rdieter.fedorapeople.org/rpms/qt5/qt5-qtbase-5.0.1-1.fc18.src.rpm

%changelog
* Thu Jan 31 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.1-1
- 5.0.1
- lowmem patch for %%arm, s390
Comment 31 Rex Dieter 2013-01-31 10:21:28 EST
Wrt bundled harfbuzz,
http://lists.qt-project.org/pipermail/development/2013-January/009637.html

It appears that qt (4 and 5) both bundle the older non-system-provided harfbuzz as referenced here,
http://www.freedesktop.org/wiki/Software/HarfBuzz

So, including it in packaging is almost certainly acceptable.  I can and will go through the formal exceptions process if any potential reviewer insists.
Comment 32 Kevin Kofler 2013-02-01 17:35:42 EST
Sigh, according to upstream (Lars Knoll in QTBUG-18980), actually using the system version of HarfBuzz rather than an ancient forked copy of an unmaintained (non-)library was "Not important for Qt 5.0." :-(
Comment 33 Ngo Than 2013-02-19 08:00:11 EST
qtchooser is enable by default in qt5-base, do we really want it?
Comment 34 Rex Dieter 2013-02-19 09:49:33 EST
It's an optional feature, but enabling it only includes a qtchooser .conf file and should cause no harm either.  If you want to keep things simpler for review purposes, I can disable it.
Comment 35 Rex Dieter 2013-02-23 19:59:10 EST
Spec URL: http://rdieter.fedorapeople.org/rpms/qt5/qt5-qtbase.spec
SRPM URL: 
Description: http://rdieter.fedorapeople.org/rpms/qt5/qt5-qtbase-5.0.1-3.fc18.src.rpm

%changelog
* Sat Feb 23 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.1-3
- +%%_qt5_libexecdir

* Sat Feb 23 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.1-2
- macros.qt5: fix %%_qt5_headerdir, %%_qt5_datadir, %%_qt5_plugindir
Comment 36 Rex Dieter 2013-02-26 12:05:28 EST
Spec URL: http://rdieter.fedorapeople.org/rpms/qt5/qt5-qtbase.spec
SRPM URL: 
Description: http://rdieter.fedorapeople.org/rpms/qt5/qt5-qtbase-5.0.1-5.fc18.src.rpm

%changelog
* Tue Feb 26 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.1-5
- -static subpkg, Requires: fontconfig-devel,glib2-devel,zlib-devel
- -devel: Requires: pkgconfig(gl)

* Mon Feb 25 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.1-4
- create/own %%{_qt5_plugindir}/iconengines
- -devel: create/own %%{_qt5_archdatadir}/mkspecs/modules
- cleanup .prl
Comment 37 Adam Batkin 2013-03-05 00:26:49 EST
Something is weird with the cmake files that are built with the qt5 RPMs. They all set their respective _qt5MODULE_instal_prefix to ${CMAKE_CURRENT_LIST_DIR}/ (which evaluates to the /usr/lib*/cmake/MODULE)

A really horrible hack (in case anyone wants to just play around) is to create a symbolic link from each of the cmake directories (/usr/lib*/cmake/Qt5*/bin) to /usr/lib*/qt5/bin

Obviously a better solution might be to set that CMake variable to /usr/lib*/qt5
Comment 38 Rex Dieter 2013-03-05 09:26:53 EST
I'd highly recommend taking your issue upstream,
http://lists.qt-project.org/mailman/listinfo/development

so this review can focus on *review blockers*.  thanks. :)
Comment 39 Kevin Kofler 2013-03-05 09:34:05 EST
There are several things in those CMake files which need to be edited. This one looks like a clear bug in what upstream ships though. But still, we need to go through the whole file and change everything that needs changing, also for the parallel-installation stuff.
Comment 40 Ngo Than 2013-03-14 08:44:15 EDT
qt5-qtbase-5.0.1-5.fc18.src.rpm doesn't build in current rawhide, you can reproduce this build failure with fedora-review tool everytime.

part of the build.log:

g++ -c -m64 -pipe -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -O2 -std=c++0x -fvisibility=hidden -fvisibility-inlines-hidden -Wall -W -D_REENTRANT -fPIC -DQT_NO_LIBUDEV -DQT_NO_USING_NAMESPACE -DQT_BUILD_CORE_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DELF_INTERPRETER=\"/lib64/ld-linux-x86-64.so.2\" -DQT_USE_ICU -DHB_EXPORT=Q_CORE_EXPORT -DQT_CORE_LIB -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -I../../mkspecs/linux-g++-64 -I. -I../../include -I../../include/QtCore -I../../include/QtCore/5.0.1 -I../../include/QtCore/5.0.1/QtCore -Iglobal -I../3rdparty/md5 -I../3rdparty/md4 -I.moc/release-shared -o .obj/release-shared/qisciicodec.o codecs/qisciicodec.cpp
kernel/qtimerinfo_unix.cpp:98:30: error: redeclaration 'constexpr T qAbs(const T&) [with T = timeval]' differs in 'constexpr'
 timeval qAbs(const timeval &t)
                              ^
In file included from ../../include/QtCore/qglobal.h:1:0,
                 from ../../include/QtCore/../../src/corelib/tools/qelapsedtimer.h:45,
                 from ../../include/QtCore/qelapsedtimer.h:1,
                 from kernel/qtimerinfo_unix.cpp:42:
../../include/QtCore/../../src/corelib/global/qglobal.h:483:20: error: from previous declaration 'constexpr T qAbs(const T&) [with T = timeval]'
 Q_DECL_CONSTEXPR inline T qAbs(const T &t) { return t >= 0 ? t : -t; }
                    ^
kernel/qtimerinfo_unix.cpp: In function 'constexpr T qAbs(const T&) [with T = timeval]':
kernel/qtimerinfo_unix.cpp:109:1: error: body of constexpr function 'constexpr T qAbs(const T&) [with T = timeval]' not a return-statement
 }
 ^
In file included from ../../include/QtCore/qglobal.h:1:0,
                 from ../../include/QtCore/../../src/corelib/tools/qelapsedtimer.h:45,
                 from ../../include/QtCore/qelapsedtimer.h:1,
                 from kernel/qtimerinfo_unix.cpp:42:
../../include/QtCore/../../src/corelib/global/qglobal.h: In instantiation of 'constexpr T qAbs(const T&) [with T = timeval]':
kernel/qtimerinfo_unix.cpp:147:44:   required from here
../../include/QtCore/../../src/corelib/global/qglobal.h:483:48: error: no match for 'operator>=' (operand types are 'const timeval' and 'int')
 Q_DECL_CONSTEXPR inline T qAbs(const T &t) { return t >= 0 ? t : -t; }
                                                ^
../../include/QtCore/../../src/corelib/global/qglobal.h:483:48: note: candidates are:
In file included from ../../include/QtCore/qpair.h:1:0,
                 from ../../include/QtCore/../../src/corelib/tools/qhash.h:48,
                 from ../../include/QtCore/qhash.h:1,
                 from ../../include/QtCore/../../src/corelib/tools/qsharedpointer_impl.h:63,
                 from ../../include/QtCore/qsharedpointer_impl.h:1,
....

rpmlint qt5-qtbase-5.0.1-5.fc18.src.rpm
spelling-error %description -l en_US xml -> XML, ml, x ml
qt5-qtbase.src:33: W: macro-in-comment %{_bindir}
qt5-qtbase.src:177: W: configure-without-libdir-spec
qt5-qtbase.src:276: W: macro-in-comment %{_bindir}
qt5-qtbase.src: W: %ifarch-applied-patch Patch1: qtbase-opensource-src-5.0.1-lowmem.patch
1 packages and 0 specfiles checked; 0 errors, 5 warnings.

the rpmlint looks fine for me.
Comment 41 Ngo Than 2013-03-14 09:26:20 EDT
qt5-qtbase-5.0.1-5.fc18.src.rpm built fine on lastest f18. 

rpmlint qt5-qtbase-5.0.1-5.fc18.x86_64.rpm qt5-qtbase-devel-5.0.1-5.fc18.x86_64.rpm qt5-qtbase-static-5.0.1-5.fc18.x86_64.rpm \
             qt5-qtbase-ibase-5.0.1-5.fc18.x86_64.rpm qt5-qtbase-mysql-5.0.1-5.fc18.x86_64.rpm \
             qt5-qtbase-odbc-5.0.1-5.fc18.x86_64.rpm qt5-qtbase-postgresql-5.0.1-5.fc18.x86_64.rpm \
             qt5-qtbase-tds-5.0.1-5.fc18.x86_64.rpm qt5-qtbase-x11-5.0.1-5.fc18.x86_64.rpm

qt5-qtbase.x86_64: W: spelling-error %description -l en_US xml -> XML, ml, x ml
qt5-qtbase.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/bearer/libqnmbearer.so
qt5-qtbase.x86_64: W: unstripped-binary-or-object /usr/lib64/libQt5Test.so.5.0.1
qt5-qtbase.x86_64: W: shared-lib-calls-exit /usr/lib64/libQt5Test.so.5.0.1 exit@GLIBC_2.2.5
qt5-qtbase.x86_64: W: shared-lib-calls-exit /usr/lib64/libQt5Test.so.5.0.1 exit
qt5-qtbase.x86_64: W: unstripped-binary-or-object /usr/lib64/libQt5Xml.so.5.0.1
qt5-qtbase.x86_64: W: unstripped-binary-or-object /usr/lib64/libQt5Sql.so.5.0.1
qt5-qtbase.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/sqldrivers/libqsqlite.so
qt5-qtbase.x86_64: W: unstripped-binary-or-object /usr/lib64/libQt5Core.so.5.0.1
qt5-qtbase.x86_64: W: unstripped-binary-or-object /usr/lib64/libQt5Concurrent.so.5.0.1
qt5-qtbase.x86_64: W: unstripped-binary-or-object /usr/lib64/libQt5DBus.so.5.0.1
qt5-qtbase.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/bearer/libqconnmanbearer.so
qt5-qtbase.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/bearer/libqgenericbearer.so
qt5-qtbase.x86_64: W: unstripped-binary-or-object /usr/lib64/libQt5Network.so.5.0.1
qt5-qtbase.x86_64: W: spurious-executable-perm /usr/share/doc/qt5/global/template/images/feedbackground.png
qt5-qtbase.x86_64: W: spurious-executable-perm /usr/share/doc/qt5/global/template/images/horBar.png
qt5-qtbase.x86_64: W: spurious-executable-perm /usr/share/doc/qt5/global/template/images/bullet_sq.png
qt5-qtbase.x86_64: W: spurious-executable-perm /usr/share/doc/qt5/global/template/images/bg_l_blank.png
qt5-qtbase.x86_64: W: spurious-executable-perm /usr/share/doc/qt5/global/template/images/blu_dot.png
qt5-qtbase.x86_64: W: spurious-executable-perm /usr/share/doc/qt5/global/template/images/home.png
qt5-qtbase.x86_64: W: spurious-executable-perm /usr/share/doc/qt5/global/template/images/box_bg.png
qt5-qtbase.x86_64: W: spurious-executable-perm /usr/share/doc/qt5/global/template/images/page_bg.png
qt5-qtbase.x86_64: W: spurious-executable-perm /usr/share/doc/qt5/global/template/images/bg_r.png
qt5-qtbase.x86_64: W: spurious-executable-perm /usr/share/doc/qt5/global/template/images/bullet_gt.png
qt5-qtbase.x86_64: W: spurious-executable-perm /usr/share/doc/qt5/global/template/images/ico_note_attention.png
qt5-qtbase.x86_64: W: spurious-executable-perm /usr/share/doc/qt5/global/template/images/ico_note.png
qt5-qtbase.x86_64: W: spurious-executable-perm /usr/share/doc/qt5/global/template/images/sprites-combined.png
qt5-qtbase.x86_64: W: spurious-executable-perm /usr/share/doc/qt5/global/template/images/bgrContent.png
qt5-qtbase.x86_64: W: spurious-executable-perm /usr/share/doc/qt5/global/template/images/arrow.png
qt5-qtbase.x86_64: W: spurious-executable-perm /usr/share/doc/qt5/global/template/images/breadcrumb.png
qt5-qtbase.x86_64: W: spurious-executable-perm /usr/share/doc/qt5/global/template/images/ico_out.png
qt5-qtbase.x86_64: W: spurious-executable-perm /usr/share/doc/qt5/global/template/images/bg_l.png
qt5-qtbase-devel.x86_64: W: unstripped-binary-or-object /usr/bin/qdbuscpp2xml-qt5
qt5-qtbase-devel.x86_64: W: unstripped-binary-or-object /usr/bin/qmake-qt5
qt5-qtbase-devel.x86_64: W: unstripped-binary-or-object /usr/bin/uic-qt5
qt5-qtbase-devel.x86_64: W: unstripped-binary-or-object /usr/bin/rcc-qt5
qt5-qtbase-devel.x86_64: W: unstripped-binary-or-object /usr/bin/moc-qt5
qt5-qtbase-devel.x86_64: W: unstripped-binary-or-object /usr/bin/qdbusxml2cpp-qt5
qt5-qtbase-devel.x86_64: W: unstripped-binary-or-object /usr/bin/qdoc
qt5-qtbase-devel.x86_64: W: no-documentation
qt5-qtbase-devel.x86_64: E: script-without-shebang /usr/lib64/qt5/mkspecs/macx-xcode/Info.plist.app
qt5-qtbase-devel.x86_64: W: non-conffile-in-etc /etc/rpm/macros.qt5
qt5-qtbase-devel.x86_64: W: no-manual-page-for-binary moc-qt5
qt5-qtbase-devel.x86_64: W: no-manual-page-for-binary uic-qt5
qt5-qtbase-devel.x86_64: W: no-manual-page-for-binary qdbusxml2cpp-qt5
qt5-qtbase-devel.x86_64: W: no-manual-page-for-binary qdbuscpp2xml-qt5
qt5-qtbase-devel.x86_64: W: no-manual-page-for-binary qdoc
qt5-qtbase-devel.x86_64: W: no-manual-page-for-binary syncqt-qt5
qt5-qtbase-devel.x86_64: W: no-manual-page-for-binary rcc-qt5
qt5-qtbase-devel.x86_64: W: no-manual-page-for-binary qmake-qt5
qt5-qtbase-static.x86_64: W: no-documentation
qt5-qtbase-ibase.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/sqldrivers/libqsqlibase.so
qt5-qtbase-ibase.x86_64: W: no-documentation
qt5-qtbase-mysql.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/sqldrivers/libqsqlmysql.so
qt5-qtbase-mysql.x86_64: W: no-documentation
qt5-qtbase-odbc.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/sqldrivers/libqsqlodbc.so
qt5-qtbase-odbc.x86_64: W: no-documentation
qt5-qtbase-postgresql.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/sqldrivers/libqsqlpsql.so
qt5-qtbase-postgresql.x86_64: W: no-documentation
qt5-qtbase-tds.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/sqldrivers/libqsqltds.so
qt5-qtbase-tds.x86_64: W: no-documentation
qt5-qtbase-x11.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/imageformats/libqico.so
qt5-qtbase-x11.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/generic/libqevdevmouseplugin.so
qt5-qtbase-x11.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/generic/libqevdevtouchplugin.so
qt5-qtbase-x11.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/platforminputcontexts/libmaliitplatforminputcontextplugin.so
qt5-qtbase-x11.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/platforms/libqlinuxfb.so
qt5-qtbase-x11.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/accessible/libqtaccessiblewidgets.so
qt5-qtbase-x11.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/printsupport/libcupsprintersupport.so
qt5-qtbase-x11.x86_64: W: unstripped-binary-or-object /usr/lib64/libQt5Gui.so.5.0.1
qt5-qtbase-x11.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/imageformats/libqjpeg.so
qt5-qtbase-x11.x86_64: W: unstripped-binary-or-object /usr/lib64/libQt5PrintSupport.so.5.0.1
qt5-qtbase-x11.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so
qt5-qtbase-x11.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/platforms/libqminimal.so
qt5-qtbase-x11.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/imageformats/libqgif.so
qt5-qtbase-x11.x86_64: W: unstripped-binary-or-object /usr/lib64/libQt5Widgets.so.5.0.1
qt5-qtbase-x11.x86_64: W: shared-lib-calls-exit /usr/lib64/libQt5Widgets.so.5.0.1 exit@GLIBC_2.2.5
qt5-qtbase-x11.x86_64: W: shared-lib-calls-exit /usr/lib64/libQt5Widgets.so.5.0.1 exit
qt5-qtbase-x11.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/platforms/libqxcb.so
qt5-qtbase-x11.x86_64: W: unstripped-binary-or-object /usr/lib64/libQt5OpenGL.so.5.0.1
qt5-qtbase-x11.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/generic/libqevdevtabletplugin.so
qt5-qtbase-x11.x86_64: W: unstripped-binary-or-object /usr/lib64/qt5/plugins/generic/libqevdevkeyboardplugin.so
qt5-qtbase-x11.x86_64: W: no-documentation
9 packages and 0 specfiles checked; 1 errors, 81 warnings.

can be ignored:
- the error "qt5-qtbase-devel.x86_64: E: script-without-shebang /usr/lib64/qt5/mkspecs/macx-xcode/Info.plist.app" can be ignored because it's xml file not script!

should fix:
- the warnings  "qt5-qtbase.x86_64: W: spurious-executable-perm /usr/share/doc/qt5/global/template/images/*.png" should be fixed

mustfiix:
- the build failure in rawhide.
- License is not correct, examples code are BSD license, please take a look at examples/*
Comment 42 Rex Dieter 2013-03-14 09:56:49 EDT
FYI, those unstripped binary warnings and lack of -debuginfo pkg may mean you built without redhat-rpm-config installed.

Re: licensing of examples.  We don't package those (see '-nomake examples' build option), so that should be a non-issue.  That said, I don't recall why those are ommitted, and probably should be re-added at some point (and I'll make note of the licensing).
Comment 43 Ngo Than 2013-03-14 10:13:34 EDT
(In reply to comment #42)
> FYI, those unstripped binary warnings and lack of -debuginfo pkg may mean
> you built without redhat-rpm-config installed.
> 

i only mentioned "W: spurious-executable-perm" which we should fix and the rest warnings can be ignored

> Re: licensing of examples.  We don't package those (see '-nomake examples'
> build option), so that should be a non-issue.  That said, I don't recall why
> those are ommitted, and probably should be re-added at some point (and I'll
> make note of the licensing).

i'm not sure if we can omit the BSD license 	independent if we package those or not.
we need to check it with Spot!
Comment 44 Rex Dieter 2013-03-14 10:19:02 EDT
See: 
https://fedoraproject.org/wiki/Licensing:FAQ?rd=Licensing/FAQ#Does_the_License:_tag_cover_the_SRPM_or_the_binary_RPM.3F

License tag covers what is shipped in binary/built rpm's.
Comment 45 Ngo Than 2013-03-14 10:48:30 EDT
(In reply to comment #44)
> See: 
> https://fedoraproject.org/wiki/Licensing:FAQ?rd=Licensing/
> FAQ#Does_the_License:_tag_cover_the_SRPM_or_the_binary_RPM.3F
> 
> License tag covers what is shipped in binary/built rpm's.

thanks, it looks then ok!
Comment 46 Rex Dieter 2013-03-16 14:13:31 EDT
Spec URL: http://rdieter.fedorapeople.org/rpms/qt5/qt5-qtbase.spec
SRPM URL: 
Description: http://rdieter.fedorapeople.org/rpms/qt5/qt5-qtbase-5.0.1-6.fc18.src.rpm

%changelog
* Sat Mar 16 2013 Rex Dieter <rdieter@fedoraproject.org> 5.0.1-6
- pull in upstream gcc-4.8.0 buildfix
Comment 47 Rex Dieter 2013-03-16 14:49:22 EDT
f19 scratch build,
https://koji.fedoraproject.org/koji/taskinfo?taskID=5130856
Comment 48 Ngo Than 2013-03-19 08:14:14 EDT
===== MUST items =====

C/C++:
[ ]: Package does not contain kernel modules.
[ ]: Package contains no static executables.
[ ]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.
[x]: Header files in -devel subpackage, if present.
[x]: ldconfig called in %post and %postun if required.
[x]: Rpath absent or only used for internal libs.
[x]: Static libraries in -static subpackage, if present.

Generic:
[ ]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[ ]: %build honors applicable compiler flags or justifies otherwise.
[ ]: Package contains no bundled libraries without FPC exception.
[ ]: Changelog in prescribed format.
[ ]: Sources contain only permissible code or content.
[ ]: Package contains desktop file if it is a GUI application.
[ ]: Development files must be in a -devel package
[ ]: Package requires other packages for directories it uses.
[ ]: Package uses nothing in %doc for runtime.
[ ]: Package is not known to require ExcludeArch.
[ ]: Fully versioned dependency in subpackages, if present.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in qt5-qtbase-
     static
[ ]: Package complies to the Packaging Guidelines
[ ]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Public domain", "Unknown or generated", "MIT/X11 (BSD like)", "LGPL (v2
     or later) (with incorrect FSF address)", "zlib/libpng", "ISC", "BSD (3
     clause)", "BSD (2 clause)", "libpng", "MPL (v1.1) GPL
     (unversioned/unknown version)". 10 files have unknown license. Detailed
     output of licensecheck in /home/than/qt5-qtbase/licensecheck.txt
[ ]: License file installed when any subpackage combination is installed.
[ ]: Package consistently uses macro is (instead of hard-coded directory
     names).
[ ]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.
[ ]: Package is named according to the Package Naming Guidelines.
[ ]: Package does not generate any conflict.
[ ]: Package obeys FHS, except libexecdir and /usr/target.
[ ]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[ ]: Package must own all directories that it creates.
[ ]: Package does not own files or directories owned by other packages.
[ ]: Requires correct, justified where necessary.
[ ]: Spec file is legible and written in American English.
[ ]: Package contains systemd file(s) if in need.
[ ]: Useful -debuginfo package or justification otherwise.
[ ]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 245760 bytes in 45 files.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: If (and only if) the source package includes the text of the license(s)
     in its own file, then that file, containing the text of the license(s)
     for the package is included in %doc.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).

===== SHOULD items =====

Generic:
[!]: Spec use %global instead of %define.
     Note: %define multilib_archs x86_64 %{ix86} ppc64 ppc s390x s390 sparc64
     sparcv9 %define multilib_basearchs x86_64 ppc64 s390x sparc64 %define
     _qt5 qt5 %define _qt5_prefix %{_libdir}/qt5 %define _qt5_archdatadir
     %{_libdir}/qt5 %define _qt5_bindir %{_qt5_prefix}/bin %define
     _qt5_datadir %{_datadir}/qt5 %define _qt5_docdir %{_docdir}/qt5 %define
     _qt5_examplesdir %{_qt5_prefix}/examples %define _qt5_headerdir
     %{_includedir}/qt5 %define _qt5_importdir %{_qt5_archdatadir}/imports
     %define _qt5_libdir %{_libdir} %define _qt5_libexecdir
     %{_qt5_archdatadir}/libexec %define _qt5_plugindir
     %{_qt5_archdatadir}/plugins %define _qt5_settingsdir %{_sysconfdir}/xdg
     %define _qt5_sysconfdir %{_qt5_settingsdir} %define _qt5_translationdir
     %{_datadir}/qt5/translations %define pcre -system-pcre %define pcre -qt-
     pcre %define platform linux-g++ %define platform linux-g++-64
[ ]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[ ]: Final provides and requires are sane (see attachments).
[ ]: Package functions as described.
[ ]: Latest version is packaged.
[ ]: Package does not include license text files separate from upstream.
[ ]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[ ]: Scriptlets must be sane, if used.
[ ]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[ ]: Package should compile and build into binary rpms on all supported
     architectures.
[ ]: %check is present and all tests pass.
[ ]: Packages should try to preserve timestamps of original installed files.
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.

===== EXTRA items =====

Generic:
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).


all look fine for me now. approved!
Comment 49 Rex Dieter 2013-03-19 13:23:13 EDT
New Package SCM Request
=======================
Package Name: qt5-qtbase
Short Description: Qt5 - QtBase components
Owners: than rdieter jreznik kkofler ltinkl rnovacek
Branches: f17 f18 f19
InitialCC:
Comment 50 Gwyn Ciesla 2013-03-19 13:32:24 EDT
Git done (by process-git-requests).
Comment 51 Rex Dieter 2013-03-19 14:43:36 EDT
imported
Comment 52 Fedora Update System 2013-03-19 15:29:31 EDT
qt5-qtbase-5.0.1-6.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/qt5-qtbase-5.0.1-6.fc17
Comment 53 Fedora Update System 2013-03-19 15:30:15 EDT
qt5-qtbase-5.0.1-6.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/qt5-qtbase-5.0.1-6.fc18
Comment 54 Fedora Update System 2013-03-20 17:36:44 EDT
qt5-qtbase-5.0.1-6.fc18 has been pushed to the Fedora 18 testing repository.
Comment 55 Fedora Update System 2013-04-15 19:54:54 EDT
qt5-qtbase-5.0.2-2.fc18 has been pushed to the Fedora 18 stable repository.
Comment 56 Richard Shaw 2013-09-06 12:12:48 EDT
Package Change Request
======================
Package Name: qt5-qtbase
New Branches: el6
Owners: hobbes1069
InitialCC: 

Needed for future review request.
Co-maintainers welcomed!
Comment 57 Gwyn Ciesla 2013-09-06 13:05:16 EDT
Git done (by process-git-requests).
Comment 58 Rex Dieter 2013-09-06 13:36:26 EDT
whoa, slow down. :)

I've been meaning to work on epel-6 builds, but only *after* all the reviews were done.

So, now that the deed is done, be aware I made some el6-related commits to master branch recently, if it all possible, please do make a best effort to keep master/el6 branches merged or mergeable.

If branch-specific commits are required, please try to discuss it first.  Thanks.
Comment 59 Richard Shaw 2013-09-06 13:57:24 EDT
No problem :)

I noticed the spec updates! I only need the four components at this time.

Build is failing on ppc64 though :(

In file included from tools/qcryptographichash.cpp:74:
tools/../../3rdparty/sha3/KeccakF-1600-opt64.c: In function 'void KeccakAbsorb576bits(unsigned char*, const unsigned char*)':
tools/../../3rdparty/sha3/KeccakF-1600-opt64.c:348: error: 'fromBytesToWord' was not declared in this scope

http://koji.fedoraproject.org/koji/getfile?taskID=5905860&name=build.log
Comment 60 Rex Dieter 2013-09-06 23:37:45 EDT
I guess there's also:

tools/qregularexpression.cpp: In member function 'QRegularExpressionMatchPrivate* QRegularExpressionPrivate::doMatch(const QString&, int, QRegularExpression::MatchType, QRegularExpression::MatchOptions, bool, const QRegularExpressionMatchPrivate*) const':
tools/qregularexpression.cpp:1241: error: passing 'const QAtomicPointer<pcre16_extra>' as 'this' argument of 'T* QBasicAtomicPointer<T>::loadAcquire() [with T = pcre16_extra]' discards qualifiers
Comment 61 Raphael Groner 2017-03-31 14:03:00 EDT
Removing alias, otherwise it's not possible to search for bugs related to this component.
Comment 62 Rex Dieter 2017-03-31 14:42:35 EDT
It is possible, but not in some circumstances.

That said, I prefer for the packages I maintain to keep these aliases in place, it is how *I* find their original reviews.  I'll consider a different workflow in the future, maybe adopting something like alias "pkg_review" (assuming alias length limits allow).

Note You need to log in before you can comment on or make changes to this bug.