Spec URL: http://people.redhat.com/siwinski/rpmbuild/SPECS/php-symfony2-ClassLoader.spec SRPM URL: http://people.redhat.com/siwinski/rpmbuild/SRPMS/php-symfony2-ClassLoader-2.0.14-1.fc16.src.rpm Description: The ClassLoader Component loads your project classes automatically if they follow some standard PHP conventions. Whenever you use an undefined class, PHP uses the autoloading mechanism to delegate the loading of a file defining the class. Symfony2 provides a "universal" autoloader, which is able to load classes from files that implement one of the following conventions: * The technical interoperability standards (http://symfony.com/PSR0) for PHP 5.3 namespaces and class names. * The PEAR (http://pear.php.net/manual/en/standards.php) naming convention for classes. If your classes and the third-party libraries you use for your project follow these standards, the Symfony2 autoloader is the only autoloader you will ever need.
Issues: [!]: MUST Buildroot is not present Note: Buildroot is not needed unless packager plans to package for EPEL5 See: http://fedoraproject.org/wiki/Packaging/Guidelines#BuildRoot_tag [!]: MUST Each %files section contains %defattr if rpm < 4.4 Note: defattr(....) present in %files section. This is OK if packaging for EPEL5. Otherwise not needed See: http://fedoraproject.org/wiki/Packaging/Guidelines#FilePermissions [!]: MUST Requires correct, justified where necessary. Use php-common instead of php And the problem with directory ownership, I want to see what Remi's opinion is.
Updates per comment #1 and comments in bug 823043 - Removed BuildRoot - Changed php require to php-common - Added the following requires based on phpci results: php-pcre, php-spl, php-tokenizer, php-pecl-apc - %description update - Removed %defattr from %files section SPEC URL: http://people.redhat.com/siwinski/rpmbuild/SPECS/php-symfony2-ClassLoader.spec SRPM URL: http://people.redhat.com/siwinski/rpmbuild/SRPMS/php-symfony2-ClassLoader-2.0.14-2.fc16.src.rpm
the doc files don't belong in the library directory here either: [!]: MUST Package does not contain duplicates in %files. Note: warning: File listed twice: /usr/share/pear/Symfony/Component/ClassLoader/LICENSE See: http://fedoraproject.org/wiki/Packaging/Guidelines#DuplicateFiles
(In reply to comment #3) > the doc files don't belong in the library directory here either: > > [!]: MUST Package does not contain duplicates in %files. > Note: warning: File listed twice: > /usr/share/pear/Symfony/Component/ClassLoader/LICENSE > See: http://fedoraproject.org/wiki/Packaging/Guidelines#DuplicateFiles I need to request upstream to make this change in their package.xml file. In the meantime, would you like me to do one of the following?: 1) Use sed (or cat and awk) to update the package.xml file in the %prep section (should not have to be recreated for future updates) 2) Create a patch for the package.xml file (may have to be recreated for future updates) 3) "Manually" move the files to the "correct" location in the %install section (should not have to be recreated for future updates)
(In reply to comment #4) > (In reply to comment #3) > > the doc files don't belong in the library directory here either: > > > > [!]: MUST Package does not contain duplicates in %files. > > Note: warning: File listed twice: > > /usr/share/pear/Symfony/Component/ClassLoader/LICENSE > > See: http://fedoraproject.org/wiki/Packaging/Guidelines#DuplicateFiles > > I need to request upstream to make this change in their package.xml file. > In the meantime, would you like me to do one of the following?: > 1) Use sed (or cat and awk) to update the package.xml file in the %prep > section (should not have to be recreated for future updates) > 2) Create a patch for the package.xml file (may have to be recreated for > future updates) > 3) "Manually" move the files to the "correct" location in the %install > section (should not have to be recreated for future updates) I prefer #3, as it is easiest to read. #1 would be OK too.
Update per comment #5 - Moved documentation to correct location SPEC URL: http://people.redhat.com/siwinski/rpmbuild/SPECS/php-symfony2-ClassLoader.spec SRPM URL: http://people.redhat.com/siwinski/rpmbuild/SRPMS/php-symfony2-ClassLoader-2.0.14-3.fc16.src.rpm
Package Review ============== Key: - = N/A x = Pass ! = Fail ? = Not evaluated ==== Generic ==== [x]: MUST Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: MUST Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [-]: MUST %build honors applicable compiler flags or justifies otherwise. [x]: MUST All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: MUST Buildroot is not present Note: Unless packager wants to package for EPEL5 this is fine [x]: MUST Package contains no bundled libraries. [x]: MUST Changelog in prescribed format. [x]: MUST Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) Note: Clean would be needed if support for EPEL is required [x]: MUST Sources contain only permissible code or content. [x]: MUST Each %files section contains %defattr if rpm < 4.4 Note: Note: defattr macros not found. They would be needed for EPEL5 [x]: MUST Macros in Summary, %description expandable at SRPM build time. [x]: MUST Package requires other packages for directories it uses. [x]: MUST Package uses nothing in %doc for runtime. [x]: MUST Package is not known to require ExcludeArch. [x]: MUST Permissions on files are set properly. [x]: MUST Package does not contain duplicates in %files. [x]: MUST Spec file lacks Packager, Vendor, PreReq tags. [x]: MUST 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 [-]: MUST Large documentation files are in a -doc subpackage, if required. [x]: MUST 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]: MUST License field in the package spec file matches the actual license. [x]: MUST Package consistently uses macros (instead of hard-coded directory names). [x]: MUST Package is named according to the Package Naming Guidelines. [x]: MUST Package does not generate any conflict. [x]: MUST Package obeys FHS, except libexecdir and /usr/target. [x]: MUST Package must own all directories that it creates. [x]: MUST Package does not own files or directories owned by other packages. [x]: MUST Package installs properly. [x]: MUST Requires correct, justified where necessary. [x]: MUST Rpmlint is run on all rpms the build produces. [x]: MUST Sources used to build the package match the upstream source, as provided in the spec URL. [x]: MUST Spec file is legible and written in American English. [x]: MUST Spec file name must match the spec package %{name}, in the format %{name}.spec. [-]: MUST Package contains a SysV-style init script if in need of one. [x]: MUST File names are valid UTF-8. [-]: MUST Useful -debuginfo package or justification otherwise. [x]: SHOULD Reviewer should test that the package builds in mock. [x]: 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]: SHOULD Dist tag is present. [x]: SHOULD No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q --requires). [x]: SHOULD Package functions as described. [x]: SHOULD Latest version is packaged. [x]: SHOULD Package does not include license text files separate from upstream. [x]: SHOULD Rpmlint is run on all installed packages. [x]: SHOULD Scriptlets must be sane, if used. [x]: SHOULD SourceX is a working URL. [-]: SHOULD Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [x]: SHOULD Package should compile and build into binary rpms on all supported architectures. [-]: SHOULD %check is present and all tests pass. [-]: SHOULD Packages should try to preserve timestamps of original installed files. [x]: SHOULD Spec use %global instead of %define. ==== PHP ==== [x]: MUST Package requires php-common instead of php. ACCEPT
> Update per comment #5 > - Moved documentation to correct location Pear maintains a database about all installed files. Moving file in %install will breaks this. Check : pear list-files symfony2/ClassLoader So, fixing the role in the package.xml is a better solution (and upstream the best solution) @Christof, I have noticed you also use the "move" in some of your package... I will not consider this as a blocker as this is a temporary workaround Do you have any feedback from upstream ?
(In reply to comment #8) > Do you have any feedback from upstream ? From https://groups.google.com/forum/?fromgroups#!topic/symfony-devs/aoT8NUhQLYY "I'm working on it. Symfony 2.0.15 will have the proper roles. Fabien -- Fabien Potencier Sensio CEO - Symfony lead developer sensiolabs.com | symfony.com | fabien.potencier.org Tél: +33 1 40 99 80 80" Apparently 2.0.15 is already released too: http://symfony.com/blog/symfony-2-0-15-released I will update all php-symfony2-* packages to 2.0.15 and make the other requested changes.
Updated to upstream version 2.0.15 & updates per bug #817303 - Removed "BuildRequires: php-pear >= 1:1.4.9-1.2" - Updated %prep section - Removed cleaning buildroot from %install section - Removed documentation move from %install section (fixed upstream) - Removed %clean section - Updated %doc in %files section SPEC URL: http://people.redhat.com/siwinski/rpmbuild/SPECS/php-symfony2-ClassLoader.spec SRPM URL: http://people.redhat.com/siwinski/rpmbuild/SRPMS/php-symfony2-ClassLoader-2.0.15-1.fc16.src.rpm
New Package SCM Request ======================= Package Name: php-symfony2-ClassLoader Short Description: Symfony2 ClassLoader Component Owners: siwinski Branches: f16 f17 el6 InitialCC:
Git done (by process-git-requests).
php-symfony2-ClassLoader-2.0.15-1.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/php-symfony2-ClassLoader-2.0.15-1.fc17
php-symfony2-ClassLoader-2.0.15-1.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/php-symfony2-ClassLoader-2.0.15-1.fc16
php-symfony2-ClassLoader-2.0.15-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/php-symfony2-ClassLoader-2.0.15-1.el6
php-symfony2-ClassLoader-2.0.15-1.fc17 has been pushed to the Fedora 17 testing repository.
php-symfony2-ClassLoader-2.0.15-1.fc16 has been pushed to the Fedora 16 stable repository.
php-symfony2-ClassLoader-2.0.15-1.fc17 has been pushed to the Fedora 17 stable repository.
php-symfony2-ClassLoader-2.0.15-2.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/php-symfony2-ClassLoader-2.0.15-2.fc17
php-symfony2-ClassLoader-2.0.15-2.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/php-symfony2-ClassLoader-2.0.15-2.fc16
php-symfony2-ClassLoader-2.0.15-2.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/php-symfony2-ClassLoader-2.0.15-2.el6
php-symfony2-ClassLoader-2.0.15-2.el6 has been pushed to the Fedora EPEL 6 stable repository.