Bug 1988685 - Review Request: mingw-qt6-qtbase - Qt6 for Windows - QtBase component
Summary: Review Request: mingw-qt6-qtbase - Qt6 for Windows - QtBase component
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Major Hayden 🤠
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2021-07-31 10:15 UTC by Sandro Mani
Modified: 2021-08-02 22:19 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2021-08-02 22:19:17 UTC
Type: ---
Embargoed:
mhayden: fedora-review+


Attachments (Terms of Use)

Description Sandro Mani 2021-07-31 10:15:59 UTC
Spec URL: https://smani.fedorapeople.org/review/mingw-qt6-qtbase.spec
SRPM URL: https://smani.fedorapeople.org/review/mingw-qt6-qtbase-6.1.1-1.fc35.src.rpm
Description: Qt6 for Windows - QtBase component
Fedora Account System Username:

Comment 1 Major Hayden 🤠 2021-08-02 14:20:42 UTC
It looks like the rawhide build failed with:

No matches found for the following disable plugin patterns: local, spacewalk, versionlock
Copr repository                                  73 kB/s | 3.0 kB     00:00    
fedora                                          395 kB/s |  12 kB     00:00    
No matching package to install: 'qt6-qtbase-devel = 6.1.1-1.fc35'
Not all dependencies satisfied
Error: Some packages could not be found.

https://copr.fedorainfracloud.org/coprs/mhayden/review-mingw-qt6-qtbase/build/2357047/

Comment 2 Sandro Mani 2021-08-02 14:24:20 UTC
There was an excessively strong requires on qt6-qtbase-devel here (%{version}-%{release} rather than just %{version}), I've refreshed the spec and srpm.

Comment 3 Major Hayden 🤠 2021-08-02 17:30:12 UTC
Thanks for that. I ran it through COPR, but it looks like your -devel packages are missing. There are some other rpmlint issues as well. The report is quite long, so I've linked to it directly:

https://download.copr.fedorainfracloud.org/results/mhayden/review-mingw-qt6-qtbase/fedora-rawhide-x86_64/02357055-mingw-qt6-qtbase/fedora-review/review.txt

Comment 4 Sandro Mani 2021-08-02 19:51:40 UTC
Mingw packages are pure development packages, so there will be no separate -devel packages. I'm afraid fedora-review doesn't handle that (yet).

Comment 5 Major Hayden 🤠 2021-08-02 20:04:01 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed


Issues:
=======
- You have some commented macros near the top of the spec which should be
  removed or uncommented.

===== MUST items =====

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
     Note: Using prebuilt packages
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
[x]: License file installed when any subpackage combination is installed.
[x]: If the package is under multiple licenses, the licensing breakdown
     must be documented in the spec.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: 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
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Package complies to the Packaging Guidelines
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package must not depend on deprecated() packages.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[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]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 0 bytes in 0 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

Perl:
[ ]: Package contains the mandatory BuildRequires and Requires:.
     Note: Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`";
     echo $version)) missing?

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

Generic:
[!]: Reviewer should test that the package builds in mock.
[x]: Avoid bundling fonts in non-fonts packages.
     Note: Package contains font files
[x]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[x]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in
     mingw32-qt6-qtbase , mingw64-qt6-qtbase
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[-]: Sources are verified with gpgverify first in %prep if upstream
     publishes signatures.
     Note: gpgverify is not used.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[x]: Spec use %global instead of %define unless justified.
     Note: %define requiring justification: %define release_version %(echo
     %{version} | awk -F. '{print $1"."$2}')
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.

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

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).


Rpmlint
-------
Checking: mingw32-qt6-qtbase-6.1.1-1.fc35.noarch.rpm
          mingw64-qt6-qtbase-6.1.1-1.fc35.noarch.rpm
          mingw-qt6-qtbase-6.1.1-1.fc35.src.rpm
mingw64-qt6-qtbase.noarch: W: no-manual-page-for-binary x86_64-w64-mingw32-qmake-qt6
mingw64-qt6-qtbase.noarch: W: no-manual-page-for-binary x86_64-w64-mingw32-qt6-cmake
mingw64-qt6-qtbase.noarch: W: non-standard-dir-in-usr x86_64-w64-mingw32
mingw-qt6-qtbase.src:11: W: macro-in-comment %{commit}
mingw-qt6-qtbase.src:102: W: unversioned-explicit-provides bundled(libb2)
mingw-qt6-qtbase.src:103: W: unversioned-explicit-provides bundled(libmd4c)
mingw-qt6-qtbase.src:104: W: unversioned-explicit-provides bundled(double-conversion)
mingw-qt6-qtbase.src: E: specfile-error warning: Macro expanded in comment on line 11: (c=%{commit}; echo ${c:0:7})
3 packages and 0 specfiles checked; 41 errors, 3094 warnings.




Rpmlint (installed packages)
----------------------------
Cannot parse rpmlint output:


Source checksums
----------------
http://download.qt.io/official_releases/qt/6.1/6.1.1/submodules/qtbase-everywhere-src-6.1.1.tar.xz :
  CHECKSUM(SHA256) this package     : 21a8aa9f07170e047270c668c8b037536f40226db7adbc529a0b41c3a3cb3ff2
  CHECKSUM(SHA256) upstream package : 21a8aa9f07170e047270c668c8b037536f40226db7adbc529a0b41c3a3cb3ff2


Requires
--------
mingw32-qt6-qtbase (rpmlib, GLIBC filtered):
    mingw32(advapi32.dll)
    mingw32(comdlg32.dll)
    mingw32(crypt32.dll)
    mingw32(d2d1.dll)
    mingw32(d3d11.dll)
    mingw32(dnsapi.dll)
    mingw32(dwmapi.dll)
    mingw32(dwrite.dll)
    mingw32(dxgi.dll)
    mingw32(gdi32.dll)
    mingw32(icui18n69.dll)
    mingw32(icuuc69.dll)
    mingw32(imm32.dll)
    mingw32(iphlpapi.dll)
    mingw32(kernel32.dll)
    mingw32(libcrypto-1_1.dll)
    mingw32(libfreetype-6.dll)
    mingw32(libgcc_s_dw2-1.dll)
    mingw32(libharfbuzz-0.dll)
    mingw32(libjpeg-62.dll)
    mingw32(libpcre2-16-0.dll)
    mingw32(libpng16-16.dll)
    mingw32(libpq.dll)
    mingw32(libsqlite3-0.dll)
    mingw32(libssl-1_1.dll)
    mingw32(libssp-0.dll)
    mingw32(libstdc++-6.dll)
    mingw32(libwinpthread-1.dll)
    mingw32(mpr.dll)
    mingw32(msvcrt.dll)
    mingw32(netapi32.dll)
    mingw32(odbc32.dll)
    mingw32(ole32.dll)
    mingw32(oleaut32.dll)
    mingw32(qt6core.dll)
    mingw32(qt6gui.dll)
    mingw32(qt6network.dll)
    mingw32(qt6opengl.dll)
    mingw32(qt6sql.dll)
    mingw32(qt6widgets.dll)
    mingw32(shell32.dll)
    mingw32(user32.dll)
    mingw32(userenv.dll)
    mingw32(uxtheme.dll)
    mingw32(version.dll)
    mingw32(winmm.dll)
    mingw32(ws2_32.dll)
    mingw32(wtsapi32.dll)
    mingw32(zlib1.dll)
    mingw32-crt
    mingw32-filesystem
    mingw32-vulkan-headers
    qt6-qtbase-devel

mingw64-qt6-qtbase (rpmlib, GLIBC filtered):
    mingw64(advapi32.dll)
    mingw64(comdlg32.dll)
    mingw64(crypt32.dll)
    mingw64(d2d1.dll)
    mingw64(d3d11.dll)
    mingw64(dnsapi.dll)
    mingw64(dwmapi.dll)
    mingw64(dwrite.dll)
    mingw64(dxgi.dll)
    mingw64(gdi32.dll)
    mingw64(icui18n69.dll)
    mingw64(icuuc69.dll)
    mingw64(imm32.dll)
    mingw64(iphlpapi.dll)
    mingw64(kernel32.dll)
    mingw64(libcrypto-1_1-x64.dll)
    mingw64(libfreetype-6.dll)
    mingw64(libgcc_s_seh-1.dll)
    mingw64(libharfbuzz-0.dll)
    mingw64(libjpeg-62.dll)
    mingw64(libpcre2-16-0.dll)
    mingw64(libpng16-16.dll)
    mingw64(libpq.dll)
    mingw64(libsqlite3-0.dll)
    mingw64(libssl-1_1-x64.dll)
    mingw64(libssp-0.dll)
    mingw64(libstdc++-6.dll)
    mingw64(libwinpthread-1.dll)
    mingw64(mpr.dll)
    mingw64(msvcrt.dll)
    mingw64(netapi32.dll)
    mingw64(odbc32.dll)
    mingw64(ole32.dll)
    mingw64(oleaut32.dll)
    mingw64(qt6core.dll)
    mingw64(qt6gui.dll)
    mingw64(qt6network.dll)
    mingw64(qt6opengl.dll)
    mingw64(qt6sql.dll)
    mingw64(qt6widgets.dll)
    mingw64(shell32.dll)
    mingw64(user32.dll)
    mingw64(userenv.dll)
    mingw64(uxtheme.dll)
    mingw64(version.dll)
    mingw64(winmm.dll)
    mingw64(ws2_32.dll)
    mingw64(wtsapi32.dll)
    mingw64(zlib1.dll)
    mingw64-crt
    mingw64-filesystem
    mingw64-vulkan-headers
    qt6-qtbase-devel



Provides
--------
mingw32-qt6-qtbase:
    mingw32(qdirect2d.dll)
    mingw32(qgif.dll)
    mingw32(qico.dll)
    mingw32(qjpeg.dll)
    mingw32(qminimal.dll)
    mingw32(qoffscreen.dll)
    mingw32(qsqlite.dll)
    mingw32(qsqlodbc.dll)
    mingw32(qsqlpsql.dll)
    mingw32(qt6concurrent.dll)
    mingw32(qt6core.dll)
    mingw32(qt6dbus.dll)
    mingw32(qt6gui.dll)
    mingw32(qt6network.dll)
    mingw32(qt6opengl.dll)
    mingw32(qt6openglwidgets.dll)
    mingw32(qt6printsupport.dll)
    mingw32(qt6sql.dll)
    mingw32(qt6test.dll)
    mingw32(qt6widgets.dll)
    mingw32(qt6xml.dll)
    mingw32(qtuiotouchplugin.dll)
    mingw32(qwindows.dll)
    mingw32(qwindowsvistastyle.dll)
    mingw32-qt6-qtbase

mingw64-qt6-qtbase:
    mingw64(qdirect2d.dll)
    mingw64(qgif.dll)
    mingw64(qico.dll)
    mingw64(qjpeg.dll)
    mingw64(qminimal.dll)
    mingw64(qoffscreen.dll)
    mingw64(qsqlite.dll)
    mingw64(qsqlodbc.dll)
    mingw64(qsqlpsql.dll)
    mingw64(qt6concurrent.dll)
    mingw64(qt6core.dll)
    mingw64(qt6dbus.dll)
    mingw64(qt6gui.dll)
    mingw64(qt6network.dll)
    mingw64(qt6opengl.dll)
    mingw64(qt6openglwidgets.dll)
    mingw64(qt6printsupport.dll)
    mingw64(qt6sql.dll)
    mingw64(qt6test.dll)
    mingw64(qt6widgets.dll)
    mingw64(qt6xml.dll)
    mingw64(qtuiotouchplugin.dll)
    mingw64(qwindows.dll)
    mingw64(qwindowsvistastyle.dll)
    mingw64-qt6-qtbase



Generated by fedora-review 0.7.6 (b083f91) last change: 2020-11-10
Command line :/usr/bin/fedora-review --no-colors --prebuilt --rpm-spec --name mingw-qt6-qtbase --mock-config /var/lib/copr-rpmbuild/results/configs/child.cfg
Buildroot used: fedora-rawhide-x86_64
Active plugins: C/C++, Shell-api, Generic, Perl
Disabled plugins: Haskell, fonts, Java, SugarActivity, Python, Ocaml, R, PHP
Disabled flags: EPEL6, EPEL7, DISTTAG, BATCH, EXARCH

Comment 6 Sandro Mani 2021-08-02 20:06:06 UTC
The commented macros are just there to support snapshots, in case there were ever the need (basically inherited from the current mingw-qt5-* packages).

Comment 7 Major Hayden 🤠 2021-08-02 20:20:32 UTC
(In reply to Sandro Mani from comment #6)
> The commented macros are just there to support snapshots, in case there were
> ever the need (basically inherited from the current mingw-qt5-* packages).

Okay, I generally try to leave those out to avoid the rpmlint warnings. I'll go ahead and approve this one since it meets the requirements.

Comment 8 Sandro Mani 2021-08-02 20:22:12 UTC
Thanks a lot!

Comment 9 Gwyn Ciesla 2021-08-02 20:30:54 UTC
(fedscm-admin):  The Pagure repository was created at https://src.fedoraproject.org/rpms/mingw-qt6-qtbase


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