Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 878188 (qt5-qtbase, qt5-qtbase-review)
Summary: | Review Request: qt5-qtbase - Qt5 - QtBase components | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Rex Dieter <rdieter> |
Component: | Package Review | Assignee: | Than Ngo <than> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | adam, dan, erik-fedora, greg.hellings, hobbes1069, jreznik, kevin, notting, projects.rg, robinlee.sysu, than |
Target Milestone: | --- | Flags: | than:
fedora-review+
gwync: fedora-cvs+ |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2013-04-15 23:54:43 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 656997, 928937, 907398, 915005, 915006, 915902, 915903, 915907, 915909, 915910, 915913, 915916, 915920, 915923 |
Description
Rex Dieter
2012-11-19 20:04:37 UTC
# 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... 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. 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. 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> 5.0.0-0.2.beta2 - qtbase --> qt5-qtbase 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> 5.0.0-0.4.rc2 - 5.0-rc2 - initial try at putting non-conflicting binaries in %%_bindir 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 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. 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 Sure, upstreaming it makes sense (we do the same in our qt(4) packaging too), just never got around to it. 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. 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> 5.0.0-1 - 5.0 (final) 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. so far, no. you're welcome to help. :) 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. 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> 5.0.0-2 - add qtchooser support (disabled by default) 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. 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. 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> 5.0.0-3 - enable (non-conflicting) qtchooser support 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 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 thanks for pcre, harfbuz... looks like is used only building for mac. As for s390 hack, you mean modifiying %optflags? (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? 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) Hrm, seems bundled harfbuzz is indeed still used somehow :( 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> 5.0.0-4 - %%build: -system-pcre, BR: pkgconfig(libpcre) - use -O1 optimization on lowmem (s390) arch 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 ... 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 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" agreed, will do. 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> 5.0.1-1 - 5.0.1 - lowmem patch for %%arm, s390 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. 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." :-( qtchooser is enable by default in qt5-base, do we really want it? 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. 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> 5.0.1-3 - +%%_qt5_libexecdir * Sat Feb 23 2013 Rex Dieter <rdieter> 5.0.1-2 - macros.qt5: fix %%_qt5_headerdir, %%_qt5_datadir, %%_qt5_plugindir 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> 5.0.1-5 - -static subpkg, Requires: fontconfig-devel,glib2-devel,zlib-devel - -devel: Requires: pkgconfig(gl) * Mon Feb 25 2013 Rex Dieter <rdieter> 5.0.1-4 - create/own %%{_qt5_plugindir}/iconengines - -devel: create/own %%{_qt5_archdatadir}/mkspecs/modules - cleanup .prl 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 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. :) 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. 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. 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.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.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/* 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). (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! 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. (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! 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> 5.0.1-6 - pull in upstream gcc-4.8.0 buildfix f19 scratch build, https://koji.fedoraproject.org/koji/taskinfo?taskID=5130856 ===== 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! 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: Git done (by process-git-requests). imported 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 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 qt5-qtbase-5.0.1-6.fc18 has been pushed to the Fedora 18 testing repository. qt5-qtbase-5.0.2-2.fc18 has been pushed to the Fedora 18 stable repository. Package Change Request ====================== Package Name: qt5-qtbase New Branches: el6 Owners: hobbes1069 InitialCC: Needed for future review request. Co-maintainers welcomed! Git done (by process-git-requests). 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. 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 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 Removing alias, otherwise it's not possible to search for bugs related to this component. 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). |