Spec URL: http://theholbrooks.org/RPMS/php-pecl-Fileinfo.spec SRPM URL: http://theholbrooks.org/RPMS/php-pecl-Fileinfo-1.0.3-1.src.rpm Description: This extension allows retrieval of information regarding vast majority of file. This information may include dimensions, quality, length etc... Additionally it can also be used to retrieve the mime type for a particular file and for text files proper language encoding.
A couple of rpmlint complaints: W: php-pecl-Fileinfo summary-not-capitalized libmagic extension Indeed, the summary should be capitalized. But it would also be good to flesh the summary out a bit. E: php-pecl-Fileinfo zero-length /usr/share/doc/php-pecl-Fileinfo-1.0.3/EXPERIMENTAL In general you shouldn't package zero length files. Also, the %description could use a bit of grammatical cleanup. I suggest: ----- This extension allows the retrieval of file type information for the vast majority of files. This information may includes such information as dimensions or compression quality of images, duration of sound files, etc. Additionally, it can also be used to retrieve the MIME type for a particular file and, for text files, the proper language encoding. ----- You must use Requires: php-api = %{php_apiver}, not >=. If the PHP API version changes, you will need to recompile this module. Review: * source files match upstream: 799930038f76af23e391eef45789c607 Fileinfo-1.0.3.tgz * package meets naming and packaging guidelines. * specfile is properly named, is cleanly written and uses macros consistently. * dist tag is present. * build root is correct. * license field matches the actual license. * license is open source-compatible. License text included in package. * latest version is being packaged. * BuildRequires are proper. * compiler flags are appropriate. * %clean is present. * package builds in mock (development, x86_64). * package installs properly * debuginfo package looks complete. X rpmlint is silent. X final provides and requires are sane: config(php-pecl-Fileinfo) = 1.0.3-1.fc6 fileinfo.so()(64bit) php-Fileinfo = 1.0.3-1.fc6 php-pecl(Fileinfo) = 1.0.3-1.fc6 php-pecl-Fileinfo = 1.0.3-1.fc6 = config(php-pecl-Fileinfo) = 1.0.3-1.fc6 libmagic.so.1()(64bit) X php-api >= 20041225 * %check is not present; not test suite upstream. * no shared libraries are added to the regular linker search paths. * package is not relocatable. * owns the directories it creates. * doesn't own any directories it shouldn't. * no duplicates in %files. * file permissions are appropriate. * no scriptlets present. * code, not content. * documentation is small, so no -docs subpackage is necessary. * %docs are not necessary for the proper functioning of the package. * no headers. * no pkgconfig files. * no libtool .la droppings.
One comment : %setup -q -n Fileinfo-%{version} Is not safe because package.xml will be store in BUILD directory (can be overide by another build running at the same time). %setup -c -q cd Fileinfo-%{version} Seem safer This should probably be add to the PHP Guidelines (for PEAR and PECL)
Spec URL: http://theholbrooks.org/RPMS/php-pecl-Fileinfo.spec SRPM URL: http://theholbrooks.org/RPMS/php-pecl-Fileinfo-1.0.3-2.src.rpm Jason, I've made the changes you requested. Remi, I based this spec file off of you pecl-zip spec :), which I see has now been updated to reflect the changes you suggest. I agree extracting package.xml into the build directory is a very bad idea, and a good catch on your part BTW. I've made the same changes to this package, but I'm not thrilled about having to add 'Fileinfo-%{version}/' in front of my %doc files so RPM could find them. For pecl packages with more files, that gets even worse. For the moment, however, I can't think of any other way to do it. +1 for adding it to the guidelines (at least as a suggestion for now, if not a requirement).
Everything looks good to me now. I'll bring the issue with the guidelines before the packaging committee. APPROVED
Imported and Built
Brandon: I don't see this package in owners.list, can you please add it? http://fedoraproject.org/wiki/Extras/Contributors#head-f6f080b4c48fe519c98a29364a740953f90179e7
Done