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 Description: 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).
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.