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 952632 (qtermwidget)
Summary: | Review Request: qtermwidget - Qt4 terminal widget | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Eugene A. Pivnev <ti.eugene> |
Component: | Package Review | Assignee: | Brendan Jones <brendan.jones.it> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | brendan.jones.it, kevin, micah.roth, notting, package-review, rdieter, volker27 |
Target Milestone: | --- | Keywords: | Reopened |
Target Release: | --- | Flags: | brendan.jones.it:
fedora-review+
gwync: fedora-cvs+ |
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | Trivial | ||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2014-12-27 19:52:08 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: | 928937 |
Description
Eugene A. Pivnev
2013-04-16 10:47:14 UTC
Dear tieugene, This is my very first review, so this is unofficial. But I was very carefully walked through the process by an some experienced people (thanks volter and nirik!), so I think you will find it useful. Package Review ============== Key: [x] = Pass [!] = Fail [-] = Not applicable [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== C/C++: [x]: Package does not contain kernel modules. [x]: Package contains no static executables. [x]: Header files in -devel subpackage, if present. [x]: ldconfig called in %post and %postun if required. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. [x]: Development (unversioned) .so files in -devel subpackage, if present. Generic: [x]: 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. [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. [x]: Development files must be in a -devel package [x]: Package requires other packages for directories it uses. [x]: Package uses nothing in %doc for runtime. [x]: Package is not known to require ExcludeArch. [!]: Fully versioned dependency in subpackages, if present. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in qtermwidget-devel ## See: http://fedoraproject.org/wiki/Packaging:Guidelines#Requiring_base_package; you are missing the %{?_isa} macro and the %{release} macro in your string. [x]: 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: "LGPL (v2 or later)", "GPL (v2 or later)", "GPL (v3 or later)", "Unknown or generated". 4 files have unknown license. Detailed output of licensecheck in /home/makerpm/952632-qtermwidget/licensecheck.txt ## This probably qualifies as a Multiple Licencing Scenario: http://fedoraproject.org/wiki/Packaging:LicensingGuidelines#Multiple_Licensing_Scenarios you should add the other licenses to your License: string, with "and"s between them. [x]: License file installed when any subpackage combination is installed. [x]: Package consistently uses macro is (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]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [x]: Package contains systemd file(s) if in need. [x]: Useful -debuginfo package or justification otherwise. [x]: Large documentation must go in a -doc subpackage. Note: Documentation size is 30720 bytes in 4 files. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [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]: Spec file lacks Packager, Vendor, PreReq tags. [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 do not use a name that already exist [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: [!]: Dist tag is present. ## Add the %{?dist} macro to your Release string. [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. [!]: Final provides and requires are sane (see attachments). ## %{_libdir}/qt4/plugins/designer/lib%{name}plugin.so should be under %files, not '%files devel' [?]: Package functions as described. [x]: Latest version is packaged. [x]: 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. [x]: 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]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Uses parallel make. [x]: SourceX tarball generation or download is documented. [x]: SourceX is a working URL. [x]: Spec use %global instead of %define. ===== 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). [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: qtermwidget-0.4.0-1.i686.rpm qtermwidget-devel-0.4.0-1.i686.rpm qtermwidget.i686: W: spelling-error %description -l en_US embeddable -> embedded qtermwidget-devel.i686: W: no-documentation 2 packages and 0 specfiles checked; 0 errors, 2 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint qtermwidget qtermwidget-devel qtermwidget.i686: W: spelling-error %description -l en_US embeddable -> embedded qtermwidget.i686: W: unused-direct-shlib-dependency /usr/lib/libqtermwidget.so.0.4.0 /lib/libm.so.6 qtermwidget-devel.i686: W: no-documentation 2 packages and 0 specfiles checked; 0 errors, 3 warnings. # echo 'rpmlint-done:' Requires -------- qtermwidget (rpmlib, GLIBC filtered): /sbin/ldconfig libQtCore.so.4 libQtGui.so.4 libc.so.6 libgcc_s.so.1 libgcc_s.so.1(GCC_3.0) libm.so.6 libstdc++.so.6 libstdc++.so.6(CXXABI_1.3) rtld(GNU_HASH) qtermwidget-devel (rpmlib, GLIBC filtered): libQtCore.so.4 libQtDesigner.so.4 libQtDesignerComponents.so.4 libQtGui.so.4 libc.so.6 libgcc_s.so.1 libgcc_s.so.1(GCC_3.0) libm.so.6 libqtermwidget.so.0 libstdc++.so.6 libstdc++.so.6(CXXABI_1.3) qtermwidget rtld(GNU_HASH) Provides -------- qtermwidget: libqtermwidget.so.0 qtermwidget qtermwidget(x86-32) qtermwidget-devel: libqtermwidgetplugin.so qtermwidget-devel qtermwidget-devel(x86-32) MD5-sum check ------------- https://github.com/qterminal/qtermwidget/archive/0.4.0.tar.gz : CHECKSUM(SHA256) this package : cb279e8389133ceca00feece59568d9e2c4dab273ff7d295c225cf0f713c68e9 CHECKSUM(SHA256) upstream package : cb279e8389133ceca00feece59568d9e2c4dab273ff7d295c225cf0f713c68e9 Generated by fedora-review 0.4.0 (660ce56) last change: 2013-01-29 Buildroot used: fedora-18-i386 Command line :/usr/bin/fedora-review -b 952632 ## "Environment" may not be the best term for your -devel package %description, won't just "development files for..." work? Might confuse some users searching for "desktop environment" or something like that. ## Should include some indicator of what your patch file does and what action with upstream you have taken, see: http://fedoraproject.org/wiki/Packaging:Guidelines#All_patches_should_have_an_upstream_bug_link_or_comment (In reply to comment #1) > [?]: %build honors applicable compiler flags or justifies otherwise. I use %cmake and _smp_mflags macros. I think - this is enough. > [!]: Fully versioned dependency in subpackages, if present. Fixed. > [!]: License field in the package spec file matches the actual license. > Note: Checking patched sources after %prep for licenses. Licenses found: > "LGPL (v2 or later)", "GPL (v2 or later)", "GPL (v3 or later)", "Unknown > or generated". 4 files have unknown license. Detailed output of > licensecheck in /home/makerpm/952632-qtermwidget/licensecheck.txt > ## This probably qualifies as a Multiple Licencing Scenario: > http://fedoraproject.org/wiki/Packaging: > LicensingGuidelines#Multiple_Licensing_Scenarios you should add the other > licenses to your License: string, with "and"s between them. GPLv3 is in unused code (pyqt4 example). As for LGPL vs GPL - according to compatibility matrix (https://fedoraproject.org/wiki/Licensing:Main?rd=Licensing#GPL_Compatibility_Matrix) I can use LGPLv2.1+ code if publish package under GPLv2+. It is. > [!]: Dist tag is present. Fixed. > [!]: Final provides and requires are sane (see attachments). > ## %{_libdir}/qt4/plugins/designer/lib%{name}plugin.so should be under > %files, not '%files devel' Fixed. > [?]: Package functions as described. This package will used in qterminal package. Now you can test it using OBS packages: http://download.opensuse.org/repositories/X11:/QtDesktop/ > [!]: Patches link to upstream bugs/comments/lists or are otherwise justified. Fixed. > [?]: Package should compile and build into binary rpms on all supported > architectures. See Koji links in 1st comments. > [!]: %check is present and all tests pass. "make check" not supported - so %check section is not need: http://fedoraproject.org/wiki/How_to_create_an_RPM_package#.25check_section > ## "Environment" may not be the best term for your -devel package Fixed. > ## Should include some indicator of what your patch file does and what > action with upstream you have taken, see: Fixed. Thank you for a good job. New URLs: Spec URL: http://tieugene.fedorapeople.org/rpms/qtermwidget/qtermwidget.spec SRPM URL: http://tieugene.fedorapeople.org/rpms/qtermwidget/qtermwidget-0.4.0-2.fc18.src.rpm > [?]: %build honors applicable compiler flags or justifies otherwise.
There's a -O3 past our -O2. I think that grabs.
(In reply to comment #3) > > [?]: %build honors applicable compiler flags or justifies otherwise. > > There's a -O3 past our -O2. I think that grabs. I agree. Qtermwidget not set -O flag at all. Seems this is cmake package bug: https://bugzilla.redhat.com/show_bug.cgi?id=875954 Can you try adding -DCMAKE_CXX_FLAGS_RELEASE_INIT=-DNDEBUG to see if that removes the -O3? Actually, in this case, just remove CMAKE_BUILD_TYPE=Release (In reply to comment #6) > Actually, in this case, just remove CMAKE_BUILD_TYPE=Release Yes, simple "%cmake .." builds with -O2 only. Thank you. > > [?]: Package functions as described.
>
> This package will used in qterminal package. Now you can test it using OBS
> packages: http://download.opensuse.org/repositories/X11:/QtDesktop/
>
qterminal confirmed working with this build on F18.i386
(In reply to comment #7) > (In reply to comment #6) > > Actually, in this case, just remove CMAKE_BUILD_TYPE=Release > > Yes, simple "%cmake .." builds with -O2 only. > Thank you. Please post new spec and srpm with this change. > Please post new spec and srpm with this change. No problem. Spec URL: http://tieugene.fedorapeople.org/rpms/qtermwidget/qtermwidget.spec SRPM URL: http://tieugene.fedorapeople.org/rpms/qtermwidget/qtermwidget-0.4.0-3.fc18.src.rpm Thank you for final (?) resolving of "-O3" problem. This is good to go once you address this: [!]: Fully versioned dependency in subpackages, if present. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in qtermwidget-devel ## See: http://fedoraproject.org/wiki/Packaging:Guidelines#Requiring_base_package; you are missing the %{?_isa} macro and the %{release} macro in your string. I won't repeat the fedora-review, but here's my synopsis - package meets naming guidelines, spec file is legible with consistent use of macros - license is permissable and is available to all packages and sub-packages - package(s) own all the files / directories it - rpmlint OK - built in mock OK - sane requires - package functions as expected This package is APPROVED (In reply to comment #11) > you are missing the %{?_isa} macro and the %{release} macro in your string. Sorry - _isa AND release? Or _isa only? (In reply to comment #12) > (In reply to comment #11) > > you are missing the %{?_isa} macro and the %{release} macro in your string. > > Sorry - _isa AND release? Or _isa only? http://fedoraproject.org/wiki/Packaging:Guidelines#Requiring_Base_Package <quote> Devel packages are an example of a package that must require their base packages using a fully versioned dependency. ... When a subpackage requires the base package, it must do so using a fully versioned arch-specific (for non-noarch packages) dependency: Requires: %{name}%{?_isa} = %{version}-%{release} </quote> (In reply to comment #13) No, no... You wrote "you are missing the %{?_isa} macro and the %{release} macro in your string". I look in spec - I set "= %{name} = %{version}-%{release}". Or we look in different specs? It is important for me - to know where I forgot %{release}. Else... Just make it like in the quoted caption from the guidelines. Done. Spec URL: http://tieugene.fedorapeople.org/rpms/qtermwidget/qtermwidget.spec SRPM URL: http://tieugene.fedorapeople.org/rpms/qtermwidget/qtermwidget-0.4.0-4.fc18.src.rpm New Package SCM Request ======================= Package Name: qtermwidget Short Description: Qt4 terminal widget Owners: tieugene Branches: f17 f18 f19 el6 InitialCC: Git done (by process-git-requests). qtermwidget-0.4.0-4.fc19 has been submitted as an update for Fedora 19. https://admin.fedoraproject.org/updates/qtermwidget-0.4.0-4.fc19 qtermwidget-0.4.0-4.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/qtermwidget-0.4.0-4.fc18 qtermwidget-0.4.0-4.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/qtermwidget-0.4.0-4.fc17 qtermwidget-0.4.0-4.fc19 has been pushed to the Fedora 19 testing repository. qtermwidget-0.4.0-4.fc18 has been pushed to the Fedora 18 stable repository. qtermwidget-0.4.0-4.fc17 has been pushed to the Fedora 17 stable repository. qtermwidget-0.4.0-4.fc19 has been pushed to the Fedora 19 stable repository. New Package SCM Request ======================= Package Name: qtermwidget Short Description: Qt4 terminal widget Owners: tieugene Branches: epel7 Git done (by process-git-requests). re-closing, no need to have re-opened just for fedora-cvs |