Bug 859713 - Review Request: php-cloudfiles - PHP API for the Cloud Files storage system
Review Request: php-cloudfiles - PHP API for the Cloud Files storage system
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Joseph Marrero
Fedora Extras Quality Assurance
:
Depends On:
Blocks: 858841
  Show dependency treegraph
 
Reported: 2012-09-23 09:07 EDT by Gregor Tätzner
Modified: 2012-11-22 12:32 EST (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2012-11-14 21:27:37 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
jmarrero: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Gregor Tätzner 2012-09-23 09:07:55 EDT
Spec URL: http://brummbq.fedorapeople.org/php-cloudfiles.spec
SRPM URL: http://brummbq.fedorapeople.org/php-cloudfiles-1.7.11-1.fc17.src.rpm
Description:
PHP bindings for the Rackspace Cloud Files RESTful API. Features:

  * Enable your application to upload files programmatically
  * Enable Cloud Files CDN integration on any container for public distribution
  * Create Containers programmatically
  * Retrieve lists of containers and files
Fedora Account System Username: brummbq
Comment 1 Eduardo Echeverria 2012-09-25 15:07:47 EDT
Hi Gregor 
requires php-common
Regards
Comment 2 Gregor Tätzner 2012-10-02 09:18:24 EDT
Do I have to add this dep regardless of the fact that php-mbstring already requires php-common?
Comment 3 Eduardo Echeverria 2012-10-02 13:00:26 EDT
[!]: MUST Package requires php-common instead of php.
See: http://fedoraproject.org/wiki/Packaging:PHP

Requires:         php-common >= $VERSION.
Comment 4 Remi Collet 2012-10-02 13:18:13 EDT
@eduardo "Package requires php-common instead of php" this means that the package "must not" requires php

See https://fedoraproject.org/wiki/Packaging:PHP
   "PHP library must not have an explicit Requires on php or httpd ..."

Best practice is to require all the required extensions (php-common only usefull for miimum version, until php(language) provides in RHEL php packages)

Tips:
$ phpci print --recursive --report extension /usr/share/php/php-cloudfiles
...
-------------------------------------------------------------------------------
  EXTENSION                                        PECL   VERSION         COUNT
-------------------------------------------------------------------------------
  Core                                             5.4.7  4.0.0             413
  SPL                                                0.2  5.0.0              14
  curl                                                    4.0.2              93
  date                                                    4.0.0               1
  fileinfo                                         1.0.5  4.0.0               8
  hash                                               1.0  4.0.0               4
  json                                             1.2.1  5.2.0               2
  mbstring                                                4.0.6               1
  pcre                                                    4.0.0               2
  standard                                         5.4.7  4.0.0             275
-------------------------------------------------------------------------------
Comment 5 Gregor Tätzner 2012-10-02 14:10:55 EDT
that's a nice one. But I think my next question is obvious: How can I create a connection between the output of phpci and the package management system? I have no idea in which packages these extensions are residing.

Are there attempts to create an automatic runtime dependency resolver for php libs, similar to C/C++?
Comment 6 Remi Collet 2012-10-02 14:19:42 EDT
(In reply to comment #5)
> that's a nice one. But I think my next question is obvious: How can I create
> a connection between the output of phpci and the package management system?
> I have no idea in which packages these extensions are residing.

You don't have to know in which package are the extensions
(as this can change in the future)

Just need :
Requires: php-curl, php-date, php-fileinfo, php-hash, php-json
Requires: php-mbstring, php-pcre, php-spl

notes:
- all names are lowercase
- core and standard can be omitted, always present (and not yet provided by RHEL packages)
Comment 8 Joseph Marrero 2012-11-03 00:05:13 EDT
##
rpmlint php-cloudfiles-1.7.11-2.fc17.src.rpm 
php-cloudfiles.src: W: spelling-error %description -l en_US programmatically -> pro grammatically, pro-grammatically, programmatic ally
1 packages and 0 specfiles checked; 0 errors, 1 warnings.
Comment 9 Joseph Marrero 2012-11-03 00:24:04 EDT
== APPROVED ==

No Blockers,
documentation, licencing, macros, php requirements all seems in line, builds and installs OK.


Package Review
==============

Key:
[x] = Pass
[!] = Fail
[-] = Not applicable
[?] = Not evaluated
[ ] = Manual review needed

===== MUST items =====

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: %build honors applicable compiler flags or justifies otherwise.
[-]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package contains no bundled libraries.
[x]: Changelog in prescribed format.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Sources contain only permissible code or content.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package complies to the Packaging Guidelines
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[x]: Large documentation files are in a -doc subpackage, if required.
[x]: 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]: License field in the package spec file matches the actual license.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: Package is named using only allowed ASCII characters.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package do not use a name that already exist
[x]: Package obeys FHS, except libexecdir and /usr/target.
[x]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Package installs properly.
[x]: Package is not relocatable.
[x]: Requires correct, justified where necessary.
[x]: CheckResultdir
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see comment #8).
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file is legible and written in American English.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[-]: Package contains systemd file(s) if in need.
[x]: File names are valid UTF-8.

PHP:
[x]: Package requires php-common instead of php.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see comment #8).
[x]: Spec file according to URL is the same as in SRPM.
Comment 10 Gregor Tätzner 2012-11-03 06:29:42 EDT
New Package SCM Request
=======================
Package Name: php-cloudfiles
Short Description: PHP API for the Cloud Files storage system
Owners: brummbq
Branches: f17 f18 el6
InitialCC:
Comment 11 Gwyn Ciesla 2012-11-03 11:59:22 EDT
Git done (by process-git-requests).
Comment 12 Fedora Update System 2012-11-04 12:17:36 EST
php-cloudfiles-1.7.11-2.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/php-cloudfiles-1.7.11-2.fc17
Comment 13 Fedora Update System 2012-11-04 12:17:49 EST
php-cloudfiles-1.7.11-2.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/php-cloudfiles-1.7.11-2.fc18
Comment 14 Fedora Update System 2012-11-04 12:18:01 EST
php-cloudfiles-1.7.11-2.el6 has been submitted as an update for Fedora EPEL 6.
https://admin.fedoraproject.org/updates/php-cloudfiles-1.7.11-2.el6
Comment 15 Fedora Update System 2012-11-04 14:19:33 EST
php-cloudfiles-1.7.11-2.fc18 has been pushed to the Fedora 18 testing repository.
Comment 16 Fedora Update System 2012-11-14 21:27:41 EST
php-cloudfiles-1.7.11-2.fc17 has been pushed to the Fedora 17 stable repository.
Comment 17 Fedora Update System 2012-11-22 12:32:36 EST
php-cloudfiles-1.7.11-2.el6 has been pushed to the Fedora EPEL 6 stable repository.

Note You need to log in before you can comment on or make changes to this bug.