Bug 1224385 - Review Request: percolator - Software for postprocessing of shotgun proteomics data
Summary: Review Request: percolator - Software for postprocessing of shotgun proteomic...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: David Tardon
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-05-22 18:15 UTC by Antonio T. (sagitter)
Modified: 2017-02-07 04:33 UTC (History)
2 users (show)

Fixed In Version: percolator-2.09.0-4.fc21
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-06-05 23:38:40 UTC
Type: ---
Embargoed:
dtardon: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Antonio T. (sagitter) 2015-05-22 18:15:43 UTC
Spec URL: https://sagitter.fedorapeople.org/percolator/percolator.spec
SRPM URL: https://sagitter.fedorapeople.org/percolator/percolator-2.09.0-1.fc21.src.rpm

Description: 
The first step in analyzing an mass spectrometry assay is to match the harvested spectra
against a target database using database search engines such as Sequest and Mascot,
a process that renders list of peptide-spectrum matches.
However, it is not trivial to assess the accuracy of these identifications.

Percolator uses a semi-supervised machine learning to discriminate correct 
from incorrect peptide-spectrum matches,
and calculates accurate statistics such as q-value (FDR) and posterior error probabilities.

Fedora Account System Username: sagitter

Comment 1 David Tardon 2015-05-23 15:55:52 UTC
Why are you generating the xsd files manually? A different name of the xsd executable should not be any problem, as cmake/FindXsd.cmake already checks for both 'xsd' and 'xsdcxx'.

Comment 2 David Tardon 2015-05-23 15:58:47 UTC
Nitpick: the cmake calls would look better--and would be easier to maintain too--if you defined the common arguments as a macro.

Comment 3 David Tardon 2015-05-23 16:12:50 UTC
Package Review
==============

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

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

Generic:
[ ]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Apache (v2.0)", "LGPL (v2.1 or later) (with incorrect FSF address)",
     "Unknown or generated". 84 files have unknown license.

I assume that the LGPLv2+ sources are not used?

[!]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.

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

Generic:
[!]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
     Note: Arch-ed rpms have a total of 11499520 bytes in /usr/share
     percolator-2.09.0-1.fc20.x86_64.rpm:11499520
     See:
     http://fedoraproject.org/wiki/Packaging:ReviewGuidelines#Package_Review_Guidelines

Rpmlint
-------
Checking: percolator-2.09.0-1.fc20.x86_64.rpm
          percolator-2.09.0-1.fc20.src.rpm
percolator.x86_64: W: spelling-error Summary(en_US) postprocessing -> post processing, post-processing, teleprocessing
percolator.x86_64: W: spelling-error Summary(en_US) proteomics -> Proterozoic
percolator.x86_64: W: spelling-error %description -l en_US spectrometry -> spectrometer, spectroscopy, spectroscope
percolator.x86_64: W: spelling-error %description -l en_US peptide -> pep tide, pep-tide, peptic
percolator.x86_64: E: description-line-too-long C The first step in analyzing an mass spectrometry assay is to match the harvested spectra
percolator.x86_64: E: description-line-too-long C against a target database using database search engines such as Sequest and Mascot,
percolator.x86_64: E: description-line-too-long C and calculates accurate statistics such as q-value (FDR) and posterior error probabilities.
percolator.x86_64: E: script-without-shebang /usr/share/licenses/percolator/license.txt
percolator.x86_64: W: spurious-executable-perm /usr/share/doc/percolator/ReadMe.txt
percolator.x86_64: W: no-manual-page-for-binary tandem2pin
percolator.x86_64: W: no-manual-page-for-binary msgf2pin
percolator.x86_64: W: no-manual-page-for-binary percolator
percolator.x86_64: W: no-manual-page-for-binary elude
percolator.x86_64: W: no-manual-page-for-binary qvality
percolator.x86_64: W: no-manual-page-for-binary sqt2pin
percolator.src: W: spelling-error Summary(en_US) postprocessing -> post processing, post-processing, teleprocessing
percolator.src: W: spelling-error Summary(en_US) proteomics -> Proterozoic
percolator.src: W: spelling-error %description -l en_US spectrometry -> spectrometer, spectroscopy, spectroscope
percolator.src: W: spelling-error %description -l en_US peptide -> pep tide, pep-tide, peptic
percolator.src: E: description-line-too-long C The first step in analyzing an mass spectrometry assay is to match the harvested spectra
percolator.src: E: description-line-too-long C against a target database using database search engines such as Sequest and Mascot,
percolator.src: E: description-line-too-long C and calculates accurate statistics such as q-value (FDR) and posterior error probabilities.
2 packages and 0 specfiles checked; 7 errors, 15 warnings.

Comment 4 Antonio T. (sagitter) 2015-05-23 18:53:14 UTC
(In reply to David Tardon from comment #1)
> Why are you generating the xsd files manually? A different name of the xsd
> executable should not be any problem, as cmake/FindXsd.cmake already checks
> for both 'xsd' and 'xsdcxx'.

I had forget to comment: 'xsd' is not recognized in Fedora because is used 'xsdcxx'. I talked about with updstream https://github.com/percolator/percolator/issues/125#issuecomment-103890339.

Comment 5 David Tardon 2015-05-23 19:11:18 UTC
(In reply to Antonio Trande from comment #4)
> (In reply to David Tardon from comment #1)
> > Why are you generating the xsd files manually? A different name of the xsd
> > executable should not be any problem, as cmake/FindXsd.cmake already checks
> > for both 'xsd' and 'xsdcxx'.
> 
> I had forget to comment: 'xsd' is not recognized in Fedora because is used
> 'xsdcxx'. I talked about with updstream
> https://github.com/percolator/percolator/issues/125#issuecomment-103890339.

So, the real problem is that /usr/bin/xsd is provided by another package, concretely mono-web. In that case, why don't you simply change the check in cmake/FindXsd.cmake to look for xsdcxx first? That would be a one-line patch (or sed expression).

Comment 6 Antonio T. (sagitter) 2015-05-24 12:37:12 UTC
(In reply to David Tardon from comment #5)
> (In reply to Antonio Trande from comment #4)
> > (In reply to David Tardon from comment #1)
> > > Why are you generating the xsd files manually? A different name of the xsd
> > > executable should not be any problem, as cmake/FindXsd.cmake already checks
> > > for both 'xsd' and 'xsdcxx'.
> > 
> > I had forget to comment: 'xsd' is not recognized in Fedora because is used
> > 'xsdcxx'. I talked about with updstream
> > https://github.com/percolator/percolator/issues/125#issuecomment-103890339.
> 
> So, the real problem is that /usr/bin/xsd is provided by another package,
> concretely mono-web. In that case, why don't you simply change the check in
> cmake/FindXsd.cmake to look for xsdcxx first? That would be a one-line patch
> (or sed expression).

Maintainer replies to your question:

>It might be a good idea to switch the order of these two around, so that it 
> will look for xsdcxx first, but this could potentially cause issues on other 
> systems.

Spec URL: https://sagitter.fedorapeople.org/percolator/percolator.spec
SRPM URL: https://sagitter.fedorapeople.org/percolator/percolator-2.09.0-2.fc21.src.rpm

Comment 7 David Tardon 2015-05-24 14:11:43 UTC
(In reply to Antonio Trande from comment #6)
> Maintainer replies to your question:
> 
> >It might be a good idea to switch the order of these two around, so that it 
> > will look for xsdcxx first, but this could potentially cause issues on other 
> > systems.

And why should we care about other systems in Fedora package?

Comment 8 David Tardon 2015-05-24 14:51:53 UTC
[!]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.

See examples in https://fedoraproject.org/wiki/Packaging:LicensingGuidelines .

Comment 9 David Tardon 2015-05-24 14:54:24 UTC
There are still 2 text files with executable flag: RAMP-Readme.txt and RAMP.Readme.Mike.txt.

Comment 11 David Tardon 2015-05-24 17:39:50 UTC
[!]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.

I think you should list concrete files/dirs. At least that is how I have always understood it. The ASL, which covers most of the code, can be handled by a blanket statement, something like: "All the code is licensed under ASL, except for ..."

[!]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/xml,
     /usr/share/licenses

Sorry, I missed this one previously... I think /usr/share/licenses should be owned by package filesystem, though. It is possible this is only shown because I am doing the review on F-20.

Comment 12 Antonio T. (sagitter) 2015-05-24 18:24:53 UTC
(In reply to David Tardon from comment #11)
> [!]: If the package is under multiple licenses, the licensing breakdown must
>      be documented in the spec.
> 
> I think you should list concrete files/dirs. At least that is how I have
> always understood it. The ASL, which covers most of the code, can be handled
> by a blanket statement, something like: "All the code is licensed under ASL,
> except for ..."
> 
> [!]: Package must own all directories that it creates.
>      Note: Directories without known owners: /usr/share/xml,
>      /usr/share/licenses
> 
> Sorry, I missed this one previously... I think /usr/share/licenses should be
> owned by package filesystem, though.

Indeed.

/usr/share/xml is now co-owned. I left the same release number:

Spec URL: https://sagitter.fedorapeople.org/percolator/percolator.spec
SRPM URL: https://sagitter.fedorapeople.org/percolator/percolator-2.09.0-3.fc21.src.rpm

Comment 13 David Tardon 2015-05-25 08:03:52 UTC
(In reply to Antonio Trande from comment #12)
> /usr/share/xml is now co-owned. I left the same release number:

I think it would be better to depend on xml-common.

Comment 14 David Tardon 2015-05-25 08:04:38 UTC
Package Review
==============

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


Issues:
=======
- 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.
  Note: Cannot find RAMP_license_lgpl-2.1.txt in rpm(s)
  See:
  http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text


===== 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 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.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Apache (v2.0)", "LGPL (v2.1 or later) (with incorrect FSF address)",
     "Unknown or generated". 84 files have unknown license. Detailed output of
     licensecheck in
     /home/dachjo/packaging/fedora/new/1224385-percolator/licensecheck.txt
[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]: Package requires other packages for directories it uses.
     Note: No known owner of /usr/share/licenses
[x]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/licenses
[x]: Package does not own files or directories owned by other packages.
     Note: Dirs in package are owned also by: /usr/share/xml(xml-common)

Maybe it would be better to require xml-common?

[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.
[?]: 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]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 10240 bytes in 3 files.
[x]: Package complies to the Packaging Guidelines
[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).
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[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]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[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

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

Generic:
[-]: 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).
[-]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in percolator-
     data
[?]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: 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.
[x]: %check is present and all tests pass.
[?]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[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 (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

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


Rpmlint
-------
Checking: percolator-2.09.0-3.fc20.x86_64.rpm
          percolator-data-2.09.0-3.fc20.noarch.rpm
          percolator-2.09.0-3.fc20.src.rpm
percolator.x86_64: W: spelling-error Summary(en_US) postprocessing -> post processing, post-processing, teleprocessing
percolator.x86_64: W: spelling-error Summary(en_US) proteomics -> Proterozoic
percolator.x86_64: W: spelling-error %description -l en_US spectrometry -> spectrometer, spectroscopy, spectroscope
percolator.x86_64: W: spelling-error %description -l en_US peptide -> pep tide, pep-tide, peptic
percolator.x86_64: W: invalid-url URL: http://per-colator.com/ [Errno 104] Connection reset by peer
percolator.x86_64: W: no-documentation
percolator.x86_64: W: no-manual-page-for-binary tandem2pin
percolator.x86_64: W: no-manual-page-for-binary msgf2pin
percolator.x86_64: W: no-manual-page-for-binary percolator
percolator.x86_64: W: no-manual-page-for-binary elude
percolator.x86_64: W: no-manual-page-for-binary qvality
percolator.x86_64: W: no-manual-page-for-binary sqt2pin
percolator-data.noarch: W: summary-not-capitalized C percolator data files
percolator.src: W: spelling-error Summary(en_US) postprocessing -> post processing, post-processing, teleprocessing
percolator.src: W: spelling-error Summary(en_US) proteomics -> Proterozoic
percolator.src: W: spelling-error %description -l en_US spectrometry -> spectrometer, spectroscopy, spectroscope
percolator.src: W: spelling-error %description -l en_US peptide -> pep tide, pep-tide, peptic
3 packages and 0 specfiles checked; 0 errors, 17 warnings.




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


Requires
--------
percolator-data (rpmlib, GLIBC filtered):

percolator (rpmlib, GLIBC filtered):
    libbz2.so.1()(64bit)
    libc.so.6()(64bit)
    libdl.so.2()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libgcc_s.so.1(GCC_4.0.0)(64bit)
    libgomp.so.1()(64bit)
    libgomp.so.1(GOMP_1.0)(64bit)
    libm.so.6()(64bit)
    libpthread.so.0()(64bit)
    libsqlite3.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    libstdc++.so.6(CXXABI_1.3.1)(64bit)
    libtokyocabinet.so.9()(64bit)
    libxerces-c-3.1.so()(64bit)
    libz.so.1()(64bit)
    libz.so.1(ZLIB_1.2.0)(64bit)
    percolator-data
    rtld(GNU_HASH)



Provides
--------
percolator-data:
    percolator-data

percolator:
    percolator
    percolator(x86-64)



Source checksums
----------------
https://github.com/percolator/percolator/tarball/master#/percolator-percolator-rel-2-09-0-g4e0d58a.tar.gz :
  CHECKSUM(SHA256) this package     : cbbbcf768c02f8c72501f24238780caae3b1f93c46fe76ab5764ab8db94669e9
  CHECKSUM(SHA256) upstream package : cbbbcf768c02f8c72501f24238780caae3b1f93c46fe76ab5764ab8db94669e9
http://noble.gs.washington.edu/proj/percolator/data/yeast-01.sqt.tar.gz :
  CHECKSUM(SHA256) this package     : 6704da443434a1c6f15a24cccd4dbb5caeef5bc62e836a47f6fee351f911bf02
  CHECKSUM(SHA256) upstream package : 6704da443434a1c6f15a24cccd4dbb5caeef5bc62e836a47f6fee351f911bf02


Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14
Command line :/usr/bin/fedora-review -b 1224385
Buildroot used: fedora-20-x86_64
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG

Comment 16 Antonio T. (sagitter) 2015-05-25 11:49:46 UTC
Thank you David.

New Package SCM Request
=======================
Package Name: percolator
Short Description: Software for postprocessing of shotgun proteomics data
Upstream URL: http://per-colator.com/
Owners: sagitter
Branches: f22 f21

Comment 17 Gwyn Ciesla 2015-05-25 14:06:18 UTC
Git done (by process-git-requests).

Comment 18 Fedora Update System 2015-05-25 16:55:00 UTC
percolator-2.09.0-4.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/percolator-2.09.0-4.fc21

Comment 19 Fedora Update System 2015-05-25 16:55:09 UTC
percolator-2.09.0-4.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/percolator-2.09.0-4.fc22

Comment 20 Fedora Update System 2015-05-27 16:03:39 UTC
percolator-2.09.0-4.fc21 has been pushed to the Fedora 21 testing repository.

Comment 21 Fedora Update System 2015-06-05 23:38:40 UTC
percolator-2.09.0-4.fc22 has been pushed to the Fedora 22 stable repository.

Comment 22 Fedora Update System 2015-06-05 23:46:42 UTC
percolator-2.09.0-4.fc21 has been pushed to the Fedora 21 stable repository.


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