Bug 845591 (qwt5)

Summary: Review Request: qwt5 - Qt Widgets for Technical Applications
Product: [Fedora] Fedora Reporter: Rex Dieter <rdieter>
Component: Package ReviewAssignee: leigh scott <leigh123linux>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: kevin, leigh123linux, notting, package-review, volker27
Target Milestone: ---Flags: leigh123linux: 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: 2012-11-28 12:52:00 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, 697168    

Description Rex Dieter 2012-08-03 14:14:57 UTC
Spec URL: http://rdieter.fedorapeople.org/rpms/qwt/qwt5.spec
SRPM URL: http://rdieter.fedorapeople.org/rpms/qwt/qwt5-5.2.2-20.fc17.src.rpm
Description: Qt Widgets for Technical Applications
Fedora Account System Username: rdieter

This is a parallel-installable qwt version 5, to make way for qwt-6 (see bug #697168)

Comment 1 Rex Dieter 2012-08-03 14:35:34 UTC
Mind you, to make this parallel-installable, I had to change the library name and header location, so some applications will require patching to build against this abi-incompatble and slightly-api-incompatible version.  pkgs I've tested so far include: smokeqt (and friends), qwtpolar (patch prep'd).  I added a pkgconfig qwt5-qt4.pc file here, to ease the porting effort, ie, so one can simply use output from 
pkgconfig --cflags --libs qwt5-qt4
and to build/link so everything 'just works'.

Comment 2 Kevin Kofler 2012-08-03 22:10:26 UTC
FWIW, I guess you could make this runtime-ABI-compatible if wanted by renaming only the symlink and not the versioned library. Or does QWT 6 normally use the same versioned soname?

Comment 3 Rex Dieter 2012-08-03 23:37:51 UTC
Could do that too, sure.

Comment 4 Rex Dieter 2012-08-14 15:53:19 UTC
Spec URL: http://rdieter.fedorapeople.org/rpms/qwt/qwt5.spec
SRPM URL: http://rdieter.fedorapeople.org/rpms/qwt/qwt5-5.2.2-21.fc17.src.rpm

%changelog
* Tue Aug 14 2012 Rex Dieter <rdieter> 5.2.2-21
- don't change soname, just libqwt.so symlink

Comment 5 leigh scott 2012-10-19 13:29:54 UTC
Package Review
==============

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



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

C/C++:
[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]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Rpath absent or only used for internal libs.
[x]: 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.

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.
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package contains no bundled libraries.
[x]: Changelog in prescribed format.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf %{buildroot} present but not required
[x]: Sources contain only permissible code or content.
[ ]: Each %files section contains %defattr if rpm < 4.4
     Note: %defattr present but not needed


Do you need them?


[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: 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.

The reason seems sound to me

# own these to avoid needless dep on qt/qt-doc
%dir %{_qt4_docdir}
%dir %{_qt4_docdir}/html/

[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Fully versioned dependency in subpackages, if present.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in %package
     qt4, %package qt4-devel, %package doc
[x]: Package complies to the Packaging Guidelines
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[x]: Large documentation files are in a -doc subpackage, if required.
[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]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Unknown or generated". 1 files have unknown license. Detailed output of
     licensecheck in /home/leigh/Desktop/845591-qwt5/licensecheck.txt
[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 using only allowed ASCII characters.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)
[x]: Package do not use a name that already exist
[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.

The reason seems sound to me

# own these to avoid needless dep on qt/qt-doc
%dir %{_qt4_docdir}
%dir %{_qt4_docdir}/html/

[x]: Package installs properly.
[x]: Package is not relocatable.
[x]: Requires correct, justified where necessary.
[x]: CheckResultdir
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file is legible and written in American English.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[-]: Package contains systemd file(s) if in need.
[x]: File names are valid UTF-8.
[x]: Useful -debuginfo package or justification otherwise.

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

Generic:
[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)
[-]: 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]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[x]: 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.
[x]: The placement of pkgconfig(.pc) files are correct.
[-]: Scriptlets must be sane, if used.
[x]: SourceX tarball generation or download is documented.
[!]: SourceX / PatchY prefixed with %{name}.
     Note: Source0 (qwt-5.2.2.tar.bz2) Patch50 (qwt-5.2.2-install_qt.patch)
[x]: SourceX is a working URL.
[-]: 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.
[?]: Packages should try to preserve timestamps of original installed files.
[x]: Spec use %global instead of %define.

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

Generic:
[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: qwt5-debuginfo-5.2.2-21.fc18.x86_64.rpm
          qwt5-qt4-5.2.2-21.fc18.x86_64.rpm
          qwt5-5.2.2-21.fc18.src.rpm
          qwt5-doc-5.2.2-21.fc18.noarch.rpm
          qwt5-qt4-devel-5.2.2-21.fc18.x86_64.rpm
qwt5-qt4.x86_64: W: obsolete-not-provided qwt
qwt5.src:8: W: mixed-use-of-spaces-and-tabs (spaces: line 8, tab: line 2)
qwt5-doc.noarch: W: obsolete-not-provided qwt-doc
qwt5-qt4-devel.x86_64: W: obsolete-not-provided qwt-devel
qwt5-qt4-devel.x86_64: W: manual-page-warning /usr/share/man/man3/QwtPlotItem.3.gz 154: warning: macro `..' not defined
qwt5-qt4-devel.x86_64: W: manual-page-warning /usr/share/man/man3/qwtinstall.3.gz 55: warning: macro `man' not defined
qwt5-qt4-devel.x86_64: W: manual-page-warning /usr/share/man/man3/qwtinstall.3.gz 110: warning: macro `Programs->Qt' not defined
qwt5-qt4-devel.x86_64: W: manual-page-warning /usr/share/man/man3/qwtinstall.3.gz 170: warning: macro `..' not defined
qwt5-qt4-devel.x86_64: W: manual-page-warning /usr/share/man/man3/QwtLog10ScaleEngine.3.gz 89: warning: numeric expression expected (got `f')
qwt5-qt4-devel.x86_64: W: manual-page-warning /usr/share/man/man3/qwtlicense.3.gz 160: warning: macro `work' not defined
qwt5-qt4-devel.x86_64: W: manual-page-warning /usr/share/man/man3/qwtlicense.3.gz 469: warning: macro `any' not defined
qwt5-qt4-devel.x86_64: W: manual-page-warning /usr/share/man/man3/qwtlicense.3.gz 520: warning: macro `copyright'' not defined
qwt5-qt4-devel.x86_64: W: manual-page-warning /usr/share/man/man3/QwtLinearScaleEngine.3.gz 86: warning: numeric expression expected (got `f')
5 packages and 0 specfiles checked; 0 errors, 13 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint qwt5-doc qwt5-qt4-devel qwt5-debuginfo qwt5-qt4
qwt5-doc.noarch: W: obsolete-not-provided qwt-doc
qwt5-qt4-devel.x86_64: W: obsolete-not-provided qwt-devel
qwt5-qt4-devel.x86_64: W: manual-page-warning /usr/share/man/man3/QwtPlotItem.3.gz 154: warning: macro `..' not defined
qwt5-qt4-devel.x86_64: W: manual-page-warning /usr/share/man/man3/qwtinstall.3.gz 55: warning: macro `man' not defined
qwt5-qt4-devel.x86_64: W: manual-page-warning /usr/share/man/man3/qwtinstall.3.gz 110: warning: macro `Programs->Qt' not defined
qwt5-qt4-devel.x86_64: W: manual-page-warning /usr/share/man/man3/qwtinstall.3.gz 170: warning: macro `..' not defined
qwt5-qt4-devel.x86_64: W: manual-page-warning /usr/share/man/man3/QwtLog10ScaleEngine.3.gz 89: warning: numeric expression expected (got `f')
qwt5-qt4-devel.x86_64: W: manual-page-warning /usr/share/man/man3/qwtlicense.3.gz 160: warning: macro `work' not defined
qwt5-qt4-devel.x86_64: W: manual-page-warning /usr/share/man/man3/qwtlicense.3.gz 469: warning: macro `any' not defined
qwt5-qt4-devel.x86_64: W: manual-page-warning /usr/share/man/man3/qwtlicense.3.gz 520: warning: macro `copyright'' not defined
qwt5-qt4-devel.x86_64: W: manual-page-warning /usr/share/man/man3/QwtLinearScaleEngine.3.gz 86: warning: numeric expression expected (got `f')
qwt5-qt4.x86_64: W: obsolete-not-provided qwt
qwt5-qt4.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libqwt.so.5.2.2 /lib64/libpthread.so.0
4 packages and 0 specfiles checked; 0 errors, 13 warnings.
# echo 'rpmlint-done:'



Requires
--------
qwt5-debuginfo-5.2.2-21.fc18.x86_64.rpm (rpmlib, GLIBC filtered):
    

qwt5-qt4-5.2.2-21.fc18.x86_64.rpm (rpmlib, GLIBC filtered):
    
    /sbin/ldconfig  
    libQtCore.so.4()(64bit)  
    libQtDesigner.so.4()(64bit)  
    libQtGui.so.4()(64bit)  
    libQtScript.so.4()(64bit)  
    libQtSvg.so.4()(64bit)  
    libQtXml.so.4()(64bit)  
    libc.so.6()(64bit)  
    libgcc_s.so.1()(64bit)  
    libgcc_s.so.1(GCC_3.0)(64bit)  
    libm.so.6()(64bit)  
    libpthread.so.0()(64bit)  
    libqwt.so.5()(64bit)  
    libstdc++.so.6()(64bit)  
    libstdc++.so.6(CXXABI_1.3)(64bit)  
    qt4(x86-64) >= 4.8.3
    rtld(GNU_HASH)  

qwt5-doc-5.2.2-21.fc18.noarch.rpm (rpmlib, GLIBC filtered):
    

qwt5-qt4-devel-5.2.2-21.fc18.x86_64.rpm (rpmlib, GLIBC filtered):
    
    /usr/bin/pkg-config  
    libqwt.so.5()(64bit)  
    pkgconfig(QtGui)  
    pkgconfig(QtSvg)  
    qwt5-qt4(x86-64) = 5.2.2-21.fc18



Provides
--------
qwt5-debuginfo-5.2.2-21.fc18.x86_64.rpm:
    
    qwt5-debuginfo = 5.2.2-21.fc18
    qwt5-debuginfo(x86-64) = 5.2.2-21.fc18

qwt5-qt4-5.2.2-21.fc18.x86_64.rpm:
    
    libqwt.so.5()(64bit)  
    libqwt5_designer_plugin.so()(64bit)  
    qwt5-qt4 = 5.2.2-21.fc18
    qwt5-qt4(x86-64) = 5.2.2-21.fc18

qwt5-doc-5.2.2-21.fc18.noarch.rpm:
    
    qwt5-doc = 5.2.2-21.fc18

qwt5-qt4-devel-5.2.2-21.fc18.x86_64.rpm:
    
    pkgconfig(qwt5-qt4) = 5.2.2
    qwt5-qt4-devel = 5.2.2-21.fc18
    qwt5-qt4-devel(x86-64) = 5.2.2-21.fc18



Unversioned so-files
--------------------
qwt5-qt4-5.2.2-21.fc18.x86_64.rpm: /usr/lib64/qt4/plugins/designer/libqwt5_designer_plugin.so

MD5-sum check
-------------
http://downloads.sourceforge.net/qwt/qwt-5.2.2.tar.bz2 :
  CHECKSUM(SHA256) this package     : 36bf2ee51ca9c74fde1322510ffd39baac0db60d5d410bb157968a78d9c1464b
  CHECKSUM(SHA256) upstream package : 36bf2ee51ca9c74fde1322510ffd39baac0db60d5d410bb157968a78d9c1464b


Generated by fedora-review 0.3.0 (c78e275) last change: 2012-09-24
Buildroot used: fedora-18-x86_64
Command line :/usr/bin/fedora-review -m fedora-18-x86_64 -b 845591



APPROVED

Please fix this when you import

qwt5.src:8: W: mixed-use-of-spaces-and-tabs (spaces: line 8, tab: line 2)

Comment 6 Rex Dieter 2012-10-19 14:12:07 UTC
New Package SCM Request
=======================
Package Name: qwt5
Short Description: Qt Widgets for Technical Applications 
Owners: rdieter
Branches: f17 f18
InitialCC:

Comment 7 Gwyn Ciesla 2012-10-19 14:33:10 UTC
Git done (by process-git-requests).

Comment 8 Rex Dieter 2012-10-19 14:50:37 UTC
imported

Comment 9 Volker Fröhlich 2012-10-19 15:34:37 UTC
Sigh, I'm late.

I think you could improve the descriptions for the doc and devel sub-packages.

(rm -rf %{buildroot} is no longer necessary.)

Why did you move the designer plug-in away from the devel package?

Comment 10 Rex Dieter 2012-10-19 16:34:45 UTC
They're the same descriptions used in qwt packaging, suggestions?

As for designer plugins, we generally package those in runtime packages, the fact that it wasn't here was an error just now fixed.

Comment 11 Kevin Kofler 2012-10-19 17:36:38 UTC
For the designer plugins, the reason is that PyQt4 contains a PyUIC which can be used at runtime (and several PyQt4-using programs do that, because Python developers don't like to compile anything in advance), and that running uic or PyUIC requires those plugins.

Comment 12 Fedora Update System 2012-10-22 15:05:58 UTC
qwt-6.0.1-1.fc18,qwt5-5.2.2-21.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/qwt-6.0.1-1.fc18,qwt5-5.2.2-21.fc18

Comment 13 Fedora Update System 2012-10-23 06:46:35 UTC
Package qwt-6.0.1-1.fc18, qwt5-5.2.2-21.fc18, PyQwt-5.2.0-19.fc18:
* should fix your issue,
* was pushed to the Fedora 18 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing qwt-6.0.1-1.fc18 qwt5-5.2.2-21.fc18 PyQwt-5.2.0-19.fc18'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2012-16708/PyQwt-5.2.0-19.fc18,qwt-6.0.1-1.fc18,qwt5-5.2.2-21.fc18
then log in and leave karma (feedback).