Bug 849618

Summary: Review Request: perl-AI-DecisionTree - Automatically Learns Decision Trees
Product: [Fedora] Fedora Reporter: Mathieu Bridon <bochecha>
Component: Package ReviewAssignee: Michael S. <misc>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: misc, notting, package-review
Target Milestone: ---Flags: misc: 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-09-13 04:35:11 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: 850641    

Description Mathieu Bridon 2012-08-20 11:12:05 UTC
Spec URL: http://bochecha.fedorapeople.org/packages/perl-AI-DecisionTree.spec
SRPM URL: http://bochecha.fedorapeople.org/packages/perl-AI-DecisionTree-0.11-1.fc18.src.rpm

Description: <description here>
The AI::DecisionTree module automatically creates so-called "decision
trees" to explain a set of training data. A decision tree is a kind of
categorizer that use a flowchart-like process for categorizing new
instances. For instance, a learned decision tree might look like the
following, which classifies for the concept "play tennis":

Fedora Account System Username: bochecha

Comment 1 Michael S. 2012-09-02 11:27:46 UTC
The %doc is too wide :
%doc Changes dist.ini eg Instance LICENSE README

$ rpm -qpl results/perl-AI-DecisionTree-0.11-1.fc17.x86_64.rpm 
/usr/lib64/perl5/vendor_perl/AI/DecisionTree
/usr/lib64/perl5/vendor_perl/AI/DecisionTree.pm
/usr/lib64/perl5/vendor_perl/AI/DecisionTree/Instance.pm
/usr/lib64/perl5/vendor_perl/auto/AI/DecisionTree
/usr/lib64/perl5/vendor_perl/auto/AI/DecisionTree/Instance
/usr/lib64/perl5/vendor_perl/auto/AI/DecisionTree/Instance/Instance.so
/usr/share/doc/perl-AI-DecisionTree-0.11
/usr/share/doc/perl-AI-DecisionTree-0.11/Changes
/usr/share/doc/perl-AI-DecisionTree-0.11/Instance
/usr/share/doc/perl-AI-DecisionTree-0.11/Instance/Instance.bs
/usr/share/doc/perl-AI-DecisionTree-0.11/Instance/Instance.c
/usr/share/doc/perl-AI-DecisionTree-0.11/Instance/Instance.o
/usr/share/doc/perl-AI-DecisionTree-0.11/Instance/Instance.pm
/usr/share/doc/perl-AI-DecisionTree-0.11/Instance/Instance.xs
/usr/share/doc/perl-AI-DecisionTree-0.11/Instance/Makefile
/usr/share/doc/perl-AI-DecisionTree-0.11/Instance/Makefile.PL
/usr/share/doc/perl-AI-DecisionTree-0.11/Instance/pm_to_blib
/usr/share/doc/perl-AI-DecisionTree-0.11/Instance/t
/usr/share/doc/perl-AI-DecisionTree-0.11/Instance/t/01-basic.t
/usr/share/doc/perl-AI-DecisionTree-0.11/Instance/t/02-leaktest.t
/usr/share/doc/perl-AI-DecisionTree-0.11/Instance/typemap
/usr/share/doc/perl-AI-DecisionTree-0.11/LICENSE
/usr/share/doc/perl-AI-DecisionTree-0.11/README
/usr/share/doc/perl-AI-DecisionTree-0.11/dist.ini
/usr/share/doc/perl-AI-DecisionTree-0.11/eg
/usr/share/doc/perl-AI-DecisionTree-0.11/eg/example.pl
/usr/share/man/man3/AI::DecisionTree.3pm.gz
/usr/share/man/man3/AI::DecisionTree::Instance.3pm.gz


I think instance should not be in %doc :)

There is also various unonwed directory, that should be fixed.

Comment 2 Michael S. 2012-09-02 13:00:49 UTC
Package Review
==============

Key:
- = N/A
x = Pass
! = Fail
? = Not evaluated


Issues:
=======
[!]: Package must own all directories that it creates.


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

C/C++:
[ ]: 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 would be needed if support for EPEL5 is required
[x]: Sources contain only permissible code or content.
[x]: Each %files section contains %defattr if rpm < 4.4
     Note: %defattr macros not found. They would be needed for EPEL5
[x]: Macros in Summary, %description expandable at SRPM build time.
[-]: Package contains desktop file if it is a GUI application.
[-]: 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.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package complies to the Packaging Guidelines
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[-]: 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. No licenses
     found. Please check the source files for licenses manually.
[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.
[!]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package installs properly.
[x]: Package is not relocatable.
[x]: Requires correct, justified where necessary.
[x]: No description for test named 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.
[x]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 194560 bytes in 16 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

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

Generic:
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
     Note: Unless packager wants to package for EPEL5 this is fine
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
     Note: Clean would be needed if support for EPEL5 is required
[-]: 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).
[-]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX tarball generation or download is documented.
[!]: SourceX / PatchY prefixed with %{name}.
     Note: Source0 (AI-DecisionTree-0.11.tar.gz)
[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.
[x]: %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.
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.


Rpmlint
-------
Checking: perl-AI-DecisionTree-0.11-1.fc17.x86_64.rpm
          perl-AI-DecisionTree-0.11-1.fc17.src.rpm
          perl-AI-DecisionTree-debuginfo-0.11-1.fc17.x86_64.rpm
perl-AI-DecisionTree.x86_64: W: spelling-error %description -l en_US categorizer -> categorize, categorizes, categorized
perl-AI-DecisionTree.x86_64: E: arch-dependent-file-in-usr-share /usr/share/doc/perl-AI-DecisionTree-0.11/Instance/Instance.o
perl-AI-DecisionTree.x86_64: E: zero-length /usr/share/doc/perl-AI-DecisionTree-0.11/Instance/Instance.bs
perl-AI-DecisionTree.x86_64: E: zero-length /usr/share/doc/perl-AI-DecisionTree-0.11/Instance/pm_to_blib
perl-AI-DecisionTree.src: W: spelling-error %description -l en_US categorizer -> categorize, categorizes, categorized
3 packages and 0 specfiles checked; 3 errors, 2 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint perl-AI-DecisionTree perl-AI-DecisionTree-debuginfo
perl-AI-DecisionTree.x86_64: W: spelling-error %description -l en_US categorizer -> categorize, categorizes, categorized
perl-AI-DecisionTree.x86_64: E: arch-dependent-file-in-usr-share /usr/share/doc/perl-AI-DecisionTree-0.11/Instance/Instance.o
perl-AI-DecisionTree.x86_64: E: zero-length /usr/share/doc/perl-AI-DecisionTree-0.11/Instance/Instance.bs
perl-AI-DecisionTree.x86_64: E: zero-length /usr/share/doc/perl-AI-DecisionTree-0.11/Instance/pm_to_blib
2 packages and 0 specfiles checked; 3 errors, 1 warnings.
# echo 'rpmlint-done:'



Requires
--------
perl-AI-DecisionTree-0.11-1.fc17.x86_64.rpm (rpmlib, GLIBC filtered):
    
    libc.so.6()(64bit)  
    perl(:MODULE_COMPAT_5.14.2)  
    perl(AI::DecisionTree::Instance)  
    perl(Carp)  
    perl(DynaLoader)  
    perl(GraphViz)  
    perl(strict)  
    perl(vars)  
    rtld(GNU_HASH)  

perl-AI-DecisionTree-debuginfo-0.11-1.fc17.x86_64.rpm (rpmlib, GLIBC filtered):
    



Provides
--------
perl-AI-DecisionTree-0.11-1.fc17.x86_64.rpm:
    
    perl(AI::DecisionTree) = 0.11
    perl(AI::DecisionTree::Instance) = 0.11
    perl-AI-DecisionTree = 0.11-1.fc17
    perl-AI-DecisionTree(x86-64) = 0.11-1.fc17

perl-AI-DecisionTree-debuginfo-0.11-1.fc17.x86_64.rpm:
    
    perl-AI-DecisionTree-debuginfo = 0.11-1.fc17
    perl-AI-DecisionTree-debuginfo(x86-64) = 0.11-1.fc17



Unversioned so-files
--------------------
perl-AI-DecisionTree-0.11-1.fc17.x86_64.rpm: /usr/lib64/perl5/vendor_perl/auto/AI/DecisionTree/Instance/Instance.so

MD5-sum check
-------------
http://www.cpan.org/authors/id/K/KW/KWILLIAMS/AI-DecisionTree-0.11.tar.gz :
  CHECKSUM(SHA256) this package     : 589fd21a62d2e6afd5d9c280d5549eac32d200311dd4275daeb972597fd7e4d5
  CHECKSUM(SHA256) upstream package : 589fd21a62d2e6afd5d9c280d5549eac32d200311dd4275daeb972597fd7e4d5


Generated by fedora-review 0.2.0 (a5c4ced) last change: 2012-07-22
Command line :./try-fedora-review -b 849618

Comment 3 Mathieu Bridon 2012-09-10 09:45:58 UTC
Thanks for the comments, they should all be fixed with this new package.

Spec URL: http://bochecha.fedorapeople.org/packages/perl-AI-DecisionTree.spec
SRPM URL: http://bochecha.fedorapeople.org/packages/perl-AI-DecisionTree-0.11-2.fc18.src.rpm

Comment 4 Michael S. 2012-09-10 15:50:21 UTC
Errors are fixed, so approved.

Comment 5 Mathieu Bridon 2012-09-11 03:30:00 UTC
New Package SCM Request
=======================
Package Name: perl-AI-DecisionTree
Short Description: Automatically Learns Decision Trees
Owners: bochecha
Branches: devel
InitialCC: perl-sig

Comment 6 Gwyn Ciesla 2012-09-11 12:10:13 UTC
Git done (by process-git-requests).

Comment 7 Mathieu Bridon 2012-09-13 04:35:11 UTC
Thank you Michael for the review and Jon for the SCM creation.

Package built for Rawhide, closing.