Spec URL: https://raw.github.com/remicollet/remirepo/daf1eb5c9b21fcc75d66de95c4008deff66464c8/php/pecl/php-pecl-zip/php-pecl-zip.spec SRPM URL: http://rpms.famillecollet.com/SRPMS/php-pecl-zip-1.12.1-2.remi.src.rpm Description: Zip is an extension to create and read zip files. Fedora Account System Username: remi Target : fedora >= 20 which have libzip 0.11.1 and zip extension dropped from main php package.
Small refresh (BR pkgconfig(libzip) instead of libzip-devel) Spec: https://raw.github.com/remicollet/remirepo/76ed7286b8e42775e54cffad1758d2ce96a728e4/php/pecl/php-pecl-zip/php-pecl-zip.spec Srpm: http://rpms.famillecollet.com/SRPMS/php-pecl-zip-1.12.1-2.remi.src.rpm
Good: - rpmlint checks return: Lots of spurious executable perms and non-utf8 errors. php-pecl-zip.x86_64: W: unable-to-read-zip /usr/share/doc/php-pecl-zip-1.12.1/examples/test.zip: Bad magic number for central directory This one is expected. php-pecl-zip.x86_64: I: enchant-dictionary-not-found fr A dictionary for the Enchant spell checking library is not available for the language given in the info message. Spell checking will proceed with rpmlint's built-in implementation for localized tags in this language. For better spell checking results in this language, install the appropriate dictionary that Enchant will use for this language, often for example hunspell-* or aspell-*. - package meets naming guidelines - package meets packaging guidelines ! license ( PHP ) OK, text in %doc, matches source I also see BSD. - spec file legible, in am. english - source matches upstream - package compiles on devel (x86_64) ! no missing BR mock build on rawhide fails, missing zlib.h. - no unnecessary BR - no locales - not relocatable - owns all directories that it creates - no duplicate files - permissions ok - %clean ok - macro use consistent - code, not content - no need for -docs - nothing in %doc affects runtime - no need for .desktop file So it's just the logic around zlib-devel, executable perms, utf8, and verify the license tag.
Thanks for taking the review. - Your right zlib.h is included from lib/zipint.h which is used even using system libzip (uggly thing, I now). - License is really PHP (for the extension). I clarify the License tag when bundled libzip is used (even if not in our target f>=20). I will probably clear the backport stuff later. Changes: https://github.com/remicollet/remirepo/commit/0bf66f7fc83f0c56082836008980ba5ea825a334 Spec: https://raw.github.com/remicollet/remirepo/0bf66f7fc83f0c56082836008980ba5ea825a334/php/pecl/php-pecl-zip/php-pecl-zip.spec Srpm: http://rpms.famillecollet.com/SRPMS/php-pecl-zip-1.12.1-3.remi.src.rpm F20 koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=5841526
P.S. : I don't think file-not-utf8 make sense for zip files...
Stupid of me (I haven't bump the release for this minor change): https://github.com/remicollet/remirepo/commit/1fcb149986e2c0cce20083e8516505d0248b7e74 Spec: https://raw.github.com/remicollet/remirepo/1fcb149986e2c0cce20083e8516505d0248b7e74/php/pecl/php-pecl-zip/php-pecl-zip.spec Srpm: http://rpms.famillecollet.com/SRPMS/php-pecl-zip-1.12.1-3.remi.src.rpm
Looks better, but I'm still getting spurious executable perms. You may want to fix them with find/xargs, so you get them all.
> I'm still getting spurious executable perms. Probably a f19 build ;) (so with bundled libzip). Fixed: https://github.com/remicollet/remirepo/commit/f73fb5705153e6a3bc7fd8f6aa3d7ffd950b6421 Spec: https://raw.github.com/remicollet/remirepo/f73fb5705153e6a3bc7fd8f6aa3d7ffd950b6421/php/pecl/php-pecl-zip/php-pecl-zip.spec Srpm: http://rpms.famillecollet.com/SRPMS/php-pecl-zip-1.12.1-4.remi.src.rpm
Now it works on f19 but fails in rawhide. chmod: cannot access 'lib/*.c': No such file or directory This is why I suggested find. :)
(In reply to Jon Ciesla from comment #8) > This is why I suggested find. :) I should have follow you ;) and avoid doing too quick changes. /me needs more holiday... https://github.com/remicollet/remirepo/commit/9f3a0fdbb9b08a73f0ddbbf548e425446c86ad8d Spec: https://raw.github.com/remicollet/remirepo/9f3a0fdbb9b08a73f0ddbbf548e425446c86ad8d/php/pecl/php-pecl-zip/php-pecl-zip.spec Srpm: http://rpms.famillecollet.com/SRPMS/php-pecl-zip-1.12.1-5.remi.src.rpm F20 Scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=5841895
Much better. Yes, there's a lot of that going around. :) APPROVED. So I just replace php-zip with php-pecl-zip in the wordpress Requires and I should be good?
Thanks for the quick review (and for your patience...) New Package SCM Request ======================= Package Name: php-pecl-zip Short Description: A ZIP archive management extension Owners: remi Branches: f20 InitialCC:
Unretired, please take ownership in pkgdb and submit Package Change Request for f20 branch.
Package Change Request ====================== Package Name: php-pecl-zip New Branches: f20 Owners: remi InitialCC:
Git done (by process-git-requests).
This is built.
Hi Remi Collet, I have not understood the 'logic flow' to replace PHP's previous 'zip extension', other than your comment "As PHP only work with libzip 0.10 (use lot of private stuff), the zip extension is become unmaintainable, so have been dropped from php." As a Fedora 20 (devel) user, coder and programmer, I arrive at a 'issue' to interpret how the new Fedora PHP 5.5.4/5 RPM sources have placed a drop on including the original ZIP support and arrived at a kludge [patchy] PECL include? Now I find references to a 'new' PECL build of "php-pecl-zip" at http://koji.fedoraproject.org/koji/packageinfo?packageID=3452 I can see the logic of how Fedora 20 uses 'libzip 0.11' and not libzip 0.10', however, as fully successful 'build' based on http://koji.fedoraproject.org/koji/buildinfo?buildID=471936 [php-5.5.5-1.fc20.src.rpm] does simply remove the PHP tree use of the original supplied ZIP support. Using this 'successful' PHP build, I simply see that PHP zip support is now disabled! That is not good logic, without 'knowledge' or shared information on builds! Now I read 'hard to interpret' result of a new PECL PHP [src] derived from the code at https://github.com/pierrejoye/php_zip. Please encourage us 'developers' to see the full picture in this PHP tree for Fedora 20+.
Using the latest Drupal 7 CMS as the the PHP 'report agent' here: Warning: Zip archive support Missing PHP does not have the zip archive extension available. Webform module requires zip support for exporting submissions to Microsoft Excel.
Sorry I don't see any problem (or can't understand what is your problem). If a package need this extension it should, by Guidelines requires php-zip which is provided by php-common in older version and by php-pecl-zip in new version. As a Fedora 20 (devel) user, coder and programmer, you should know which extensions you need and install them.
Remi thanks, OK I will do that extra work to enable the 'new' ZIP change, but it is 'unusual' to need to resort to this practice in Fedora builds. If you need to drop PHP extensions out of the normal 'tree' build, then you might explain this in your much appreciated and regular builds at http://koji.fedoraproject.org/koji/ 'My issue' is the change to a predictable build on PHP, with or without any 'previous unknown' PECL packages being a supplement [an option].
Again, you need to know the full list of extensions you need to install. As for gettext, session, mbstring, mysql, intl, ... zip is not different. You should "never" rely on the packaging layout which have already change in the past, and will very probably change again in the future. If you need, p.e: zip + session + mbstring, then you have to yum install php-zip php-session php-mbstring And this, whatever the OS (RHEL, Fedora), OS version or PHP version are.
The simple 'PHP tree' logic 'solution' is replace the old "php-5.5.5/ext/zip' code with the git at https://github.com/pierrejoye/php_zip. In your 'words' this is a mandate for the Fedora 20 use of 'libzip 0.11'. Reading thought the latest Fedora 20 php.spec you kindly supplied illustrates this flow: %if 0%{?fedora} == 17 || 0%{?fedora} == 18 || 0%{?fedora} == 19 || 0%{?rhel} == 7 %global with_zip 1 %global with_libzip 1 %else %global with_zip 0 %global with_libzip 0 %endif %if %{with_libzip} BuildRequires: libzip-devel >= 0.10 BuildRequires: libzip-devel < 0.11 %endif There is no reference to 'php-pecl-zip' other than: %if %{with_zip} Provides: php-zip, php-zip%{?_isa} Obsoletes: php-pecl-zip < 1.11 %endif and here: * Mon Nov 27 2006 Joe Orton <jorton> 5.2.0-5 - build json and zip shared, in -common (Remi Collet, #215966) - obsolete php-json and php-pecl-zip
(In reply to Peter Bowey from comment #21) > The simple 'PHP tree' logic 'solution' is replace the old > "php-5.5.5/ext/zip' code with the git at > https://github.com/pierrejoye/php_zip. Definitively not acceptable.
Sorry Remi,(In reply to Remi Collet from comment #20) I build (compile) PHP based on the PHP's existing tree, or simply add valid extensions to the PHP tree, then compile! This works well for the 'new' remi based 'json', 'apcu' (with mods),and now PHP zip. It must be said that I am very appreciative of all the great support you do for Fedora / Redhat PHP devel!! > Again, you need to know the full list of extensions you need to install. I do know them well! > > As for gettext, session, mbstring, mysql, intl, ... zip is not different. > > You should "never" rely on the packaging layout which have already change in > the past, and will very probably change again in the future. Fedora was once a predictable creature until 'systemd' and 'php' bloomed into the new arts (@Lennart Poettering) > > If you need, p.e: zip + session + mbstring, then you have to > > yum install php-zip php-session php-mbstring > > And this, whatever the OS (RHEL, Fedora), OS version or PHP version are. Great reminders of the long journey for us *all*!
Thanks Remi, So what is 'acceptable', to avoid the future 'confusion' and 'loss' of developerds good code time. Are we all reduced to trials with changes, or can this be 'documented' for all interested? I am happy enough to encourage this strategic and work towards same great 'result'
Note added in https://fedoraproject.org/wiki/Common_F20_bugs#php-zip
Many thanks Remi!
Added CommonBugs link to the Whiteboard.