| Summary: | Review Request: php-bartlett-PHP-Reflect - Adds the ability to reverse-engineer PHP | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Remi Collet <fedora> |
| Component: | Package Review | Assignee: | Mathieu Bridon <bochecha> |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | rawhide | CC: | bochecha, fedora-package-review, notting |
| Target Milestone: | --- | Flags: | bochecha:
fedora-review+
gwync: fedora-cvs+ |
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | php-bartlett-PHP-Reflect-1.0.2-2.fc15 | Doc Type: | Bug Fix |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2011-10-02 18:18:36 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Bug Depends On: | 693198 | ||
| Bug Blocks: | 693204 | ||
|
Description
Remi Collet
2011-04-03 13:59:16 UTC
Update to 0.6.0 https://github.com/remicollet/remirepo/commit/5fca676221adcfcebd434e3e19b218a3330fd6b2 SRPM URL: http://remi.fedorapeople.org/php-bartlett-PHP-Reflect-0.6.0-1.remi.src.rpm Update to 0.7.0 https://github.com/remicollet/remirepo/commit/ee0e38c174efa23f44045c32dc969451d5ce9b6c SRPM: http://rpms.famillecollet.com/SRPMS/php-bartlett-PHP-Reflect-0.7.0-1.remi.src.rpm Update to 1.0.0RC1 (no change, in code, since 0.7.0) https://github.com/remicollet/remirepo/commit/2079cc120ffc57c453c3cd26534739e42c6f7be0 SRPM: http://rpms.famillecollet.com/SRPMS/php-bartlett-PHP-Reflect-1.0.0-0.1.RC1.remi.src.rpm Update to 1.0.0, stable version (with documentation) https://github.com/remicollet/remirepo/commit/d6a546173038e145481a3e1433b049f66da004ea SRPM: http://rpms.famillecollet.com/SRPMS/php-bartlett-PHP-Reflect-1.0.0-1.remi.src.rpm 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) Update to 1.0.2, stable version (with full documentation) https://github.com/remicollet/remirepo/commit/9e2c4053c0537b4b78e42f54bed9ed5d03b35b1e SRPM: http://rpms.famillecollet.com/SRPMS/php-bartlett-PHP-Reflect-1.0.2-1.remi.src.rpm [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:
docs/js/asciidoc-xhtml11.js
docs/js/asciidoc.js
[!] 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
directory.
=> 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?
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) Guidelines: First package must own the dir Others packages (which depends on a package which own the dir) must not own it. For JS: https://fedoraproject.org/wiki/Packaging:Guidelines#Duplication_of_system_libraries => "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." - LICENSE is there ;) - .js removed - improved generated doc installation https://github.com/remicollet/remirepo/commit/1395c3ec00d974a12941e85bc03113c9822b90f3 SRPM: http://rpms.famillecollet.com/SRPMS/php-bartlett-PHP-Reflect-1.0.2-2.remi.src.rpm The package is now approved. 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 InitialCC: Git done (by process-git-requests). php-bartlett-PHP-Reflect-1.0.2-2.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/php-bartlett-PHP-Reflect-1.0.2-2.fc16 php-bartlett-PHP-Reflect-1.0.2-2.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/php-bartlett-PHP-Reflect-1.0.2-2.el6 php-bartlett-PHP-Reflect-1.0.2-2.fc16 has been pushed to the Fedora 16 testing repository. php-bartlett-PHP-Reflect-1.0.2-2.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/php-bartlett-PHP-Reflect-1.0.2-2.fc15 php-bartlett-PHP-Reflect-1.0.2-2.fc16 has been pushed to the Fedora 16 stable repository. php-bartlett-PHP-Reflect-1.0.2-2.el6 has been pushed to the Fedora EPEL 6 stable repository. php-bartlett-PHP-Reflect-1.0.2-2.fc15 has been pushed to the Fedora 15 stable repository. |