Bug 693200 - Review Request: php-bartlett-PHP-Reflect - Adds the ability to reverse-engineer PHP
Summary: Review Request: php-bartlett-PHP-Reflect - Adds the ability to reverse-engine...
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Mathieu Bridon
QA Contact: Fedora Extras Quality Assurance
Depends On: 693198
Blocks: 693204
TreeView+ depends on / blocked
Reported: 2011-04-03 13:59 UTC by Remi Collet
Modified: 2011-10-11 08:30 UTC (History)
3 users (show)

Fixed In Version: php-bartlett-PHP-Reflect-1.0.2-2.fc15
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2011-10-02 18:18:36 UTC
Type: ---
bochecha: fedora-review+
gwync: fedora-cvs+

Attachments (Terms of Use)

Description Remi Collet 2011-04-03 13:59:16 UTC
Spec URL: https://github.com/remicollet/remirepo/raw/master/php-bartlett-PHP-Reflect/php-bartlett-PHP-Reflect.spec
SRPM URL: http://remi.fedorapeople.org/php-bartlett-PHP-Reflect-0.5.0-1.remi.src.rpm
PHP_Reflect adds the ability to reverse-engineer classes, interfaces,
functions, constants and more, by connecting php callbacks to other tokens.

Will be required by PHP_Compatinfo which will also be submited (soon).

Comment 5 Remi Collet 2011-07-02 16:52:34 UTC
For now, only userguide.html is generated.

I'm working with upstream to see if we can fixe the index.txt to generate the full documentation (current version requires asciidoc >= 8.6.5, fedora only have very old 8.4.5)

Comment 7 Mathieu Bridon 2011-09-19 05:35:23 UTC
[x] package passes
[-] not applicable
[!] package fails
[?] question raised

== MUST ==

[x] rpmlint output
    $ rpmlint php-bartlett-PHP-Reflect*
    php-bartlett-PHP-Reflect.noarch: W: spelling-error %description -l en_US html -> HTML, ht ml, ht-ml
    php-bartlett-PHP-Reflect.src: W: unexpanded-macro %description -l C %{pear_docdir}
    php-bartlett-PHP-Reflect.src: W: spelling-error %description -l en_US docdir -> doc dir, doc-dir, Doctor
    php-bartlett-PHP-Reflect.src: W: spelling-error %description -l en_US html -> HTML, ht ml, ht-ml
    2 packages and 1 specfiles checked; 0 errors, 4 warnings.
    => All those can be ignored.

[x] The package must be named according to the Package Naming Guidelines
[x] The spec file name must match the base package %{name}
[x] The package must meet the Packaging Guidelines
[x] The package must be licensed with a Fedora approved license
[!] The License field in the package spec file must match the actual license.
    => The following files are GPL-licensed:

[!] If (and only if) the source package includes the text of the license(s) in
its own file, then that file must be included in %doc
    => There is a LICENSE file, it is not installed as %doc.

[x] The spec file must be written in American English
[x] The spec file for the package MUST be legible
[x] The sources used to build the package must match the upstream source, as
provided in the spec URL
    $ sha1sum PHP_Reflect-1.0.2.tgz
    b99c85937e21e0a36f3e60b50aa0caddc946f581  PHP_Reflect-1.0.2.tgz

[x] The package '''MUST''' successfully compile and build into binary rpms on
at least one primary architecture
    => Tested in mock, I can't build it in Koji as it has a BR on
       php-channel-bartlett which is not yet packaged in Fedora.

[-] The spec file MUST handle locales properly
[-] Every binary RPM package (or subpackage) which stores shared library files
(not just symlinks) in any of the dynamic linker's default paths, must call
ldconfig in %post and %postun
[x] Packages must NOT bundle copies of system libraries
[-] If the package is designed to be relocatable, the packager must state this
fact in the request for review
[?] A package must own all directories that it creates. If it does not create a
directory that it uses, then it should require a package which does create that
    => Should /usr/share/pear/Bartlett be owned by php-channel-bartlett or is
       PHP like Perl where modules all own top-level module folders?

[x] A Fedora package must not list a file more than once in the spec file's
%files listings
[x] Permissions on files must be set properly
[x] Each package must consistently use macros
[x] The package must contain code, or permissable content
[x] Large documentation files must go in a -doc subpackage
    $ rpm2cpio php-bartlett-PHP-Reflect-1.0.2-1.fc16.noarch.rpm | cpio -ivd
    5957 blocks
    $ du -sh usr/share/doc/pear/PHP_Reflect
    364K	usr/share/doc/pear/PHP_Reflect
    => The doc is not in a subpackage, which is ok as it's still small.

[x] If a package includes something as %doc, it must not affect the runtime of
the application
[-] Header files must be in a -devel package
[-] Static libraries must be in a -static package
[-] If a package contains library files with a suffix (e.g. libfoo.so.1.1),
then library files that end in .so (without suffix) must go in a -devel package
[-] Subpackages requiring the base package
[-] Packages must NOT contain any .la libtool archives, these must be removed
in the spec if they are built
[-] Packages containing GUI applications must include a %{name}.desktop file,
and that file must be properly installed with desktop-file-install in the
%install section
[x] Packages must not own files or directories already owned by other packages
[x] All filenames in rpm packages must be valid UTF-8

== SHOULD ==

[-] 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] If scriptlets are used, those scriptlets must be sane
[-] Usually, subpackages other than devel should require the base package using
a fully versioned dependency
[-] The placement of pkgconfig(.pc) files depends on their usecase, and this is
usually for development purposes, so should be placed in a -devel pkg
[-] If the package has file dependencies outside of /etc, /bin, /sbin,
/usr/bin, or /usr/sbin consider requiring the package which provides the file
instead of the file itself
[-] your package should contain man pages for binaries/scripts

== To fix ==

- Install the LICENSE file as %doc
- About the GPL-licensed files, they are bundled JS scripts for the generated documentation, so I'm not sure how this is supposed to be handled:
  - force unbundle the JS? (although JS is generally exempted from bundling)
  - mark the license tag as "BSD and GPL"?
  - consider this a use-case similar as to the autotools files that are
    included in autotools-using projects and which can have a different license
    from the project?
  - anything else?

== Notes ==

- Should /usr/share/pear/Bartlett be owned by php-channel-bartlett or is PHP like Perl where modules all own top-level module folders?

Comment 8 Remi Collet 2011-09-19 07:51:13 UTC
Most of package install stuff directly in /usr/share/pear

This channel is the only one to use a "cannel" sub-directory, but, as this name could change in the future (have already, from PHPCI, in previous version, to Bartlett in latest), I think it is ok to have this dir. owned by the first package to install something in it.

There is no exception (like for perl) to Guidelines for PHP.
(and I think perl exception have no more sense since path no more include version)

First package must own the dir
Others packages (which depends on a package which own the dir) must not own it.

Comment 9 Remi Collet 2011-09-19 08:13:12 UTC
For JS:
=> "At this time JavaScript intended to be served to a web browser is specifically exempted from this but this will likely change in the future."

Comment 10 Remi Collet 2011-09-19 16:20:57 UTC
- LICENSE is there ;)
- .js removed
- improved generated doc installation


SRPM: http://rpms.famillecollet.com/SRPMS/php-bartlett-PHP-Reflect-1.0.2-2.remi.src.rpm

Comment 11 Mathieu Bridon 2011-09-20 03:29:28 UTC
The package is now approved.

Comment 12 Remi Collet 2011-09-20 16:09:00 UTC
Thanks for the review

New Package SCM Request
Package Name: php-bartlett-PHP-Reflect
Short Description: Adds the ability to reverse-engineer PHP
Owners: remi
Branches: f15 f16 el6

Comment 13 Gwyn Ciesla 2011-09-20 17:31:49 UTC
Git done (by process-git-requests).

Comment 14 Fedora Update System 2011-09-21 05:23:48 UTC
php-bartlett-PHP-Reflect-1.0.2-2.fc16 has been submitted as an update for Fedora 16.

Comment 15 Fedora Update System 2011-09-21 05:25:38 UTC
php-bartlett-PHP-Reflect-1.0.2-2.el6 has been submitted as an update for Fedora EPEL 6.

Comment 16 Fedora Update System 2011-09-21 22:13:09 UTC
php-bartlett-PHP-Reflect-1.0.2-2.fc16 has been pushed to the Fedora 16 testing repository.

Comment 17 Fedora Update System 2011-09-30 05:08:19 UTC
php-bartlett-PHP-Reflect-1.0.2-2.fc15 has been submitted as an update for Fedora 15.

Comment 18 Fedora Update System 2011-10-02 18:18:31 UTC
php-bartlett-PHP-Reflect-1.0.2-2.fc16 has been pushed to the Fedora 16 stable repository.

Comment 19 Fedora Update System 2011-10-11 02:05:56 UTC
php-bartlett-PHP-Reflect-1.0.2-2.el6 has been pushed to the Fedora EPEL 6 stable repository.

Comment 20 Fedora Update System 2011-10-11 08:30:54 UTC
php-bartlett-PHP-Reflect-1.0.2-2.fc15 has been pushed to the Fedora 15 stable repository.

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