Bug 500074 - Review Request: libplist - Library for manipulating Apple Binary and XML Property Lists
Summary: Review Request: libplist - Library for manipulating Apple Binary and XML Prop...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Bastien Nocera
QA Contact: Jochen Schmitt
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-05-10 17:52 UTC by Peter Robinson
Modified: 2009-05-13 10:15 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-05-13 10:15:25 UTC
Type: ---
Embargoed:
bnocera: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)

Description Peter Robinson 2009-05-10 17:52:30 UTC
SPEC: http://pbrobinson.fedorapeople.org/libplist.spec
SRPM: http://pbrobinson.fedorapeople.org/libplist-0.12.0-1.20090510gite925e6f.fc11.src.rpm

libplist is a Library for manipulating Apple Binary and XML Property Lists

Comment 1 Jochen Schmitt 2009-05-10 19:02:13 UTC
Good:
+ Basename of SPECE files matches with package name
+ Package contains valid License tag
+ License tag has LGPLv2+ as valid OSS license
+ Copyrith notes in source match with license tag
+ Package contains verbatin copy of the license text
+ Package has several sub packages
+ Sub package has proper BRs and Req.

+ consistently usage of rpm macros


Bad:
- Local build doesn't works
- Koji build fails
  The readme told me, that we need swig, but build fails even
  if I have added swig as an BR. Please see.
  http://koji.fedoraproject.org/koji/taskinfo?taskID=1346448
- git-archive seem no to exist anymore, so please fix the comment
  how you have create th tar ball

Comment 2 Peter Robinson 2009-05-10 19:21:21 UTC
> Bad:
> - Local build doesn't works
> - Koji build fails

Looking at them now.

>   The readme told me, that we need swig, but build fails even
>   if I have added swig as an BR. Please see.

I think its optional.

> - git-archive seem no to exist anymore, so please fix the comment
>   how you have create th tar ball  

Well its still in Fedora 10 which is what I used to generate the tarball. I'll have a look to see what replaces it.

Comment 3 Peter Robinson 2009-05-10 19:49:35 UTC
OK, the build is now working in koji (it was before for me locally), helpfully upstream have now also provided a release tarball :)

SPEC: http://pbrobinson.fedorapeople.org/libplist.spec
SRPM: http://pbrobinson.fedorapeople.org/libplist-0.12-1.fc11.src.rpm

http://koji.fedoraproject.org/koji/taskinfo?taskID=1346529

Comment 4 Bastien Nocera 2009-05-11 13:29:05 UTC
REVIEW:

- rpmlint is not silent:

libplist-devel.x86_64: W: no-documentation
libplist-python.x86_64: W: unstripped-binary-or-object /usr/lib64/python/site-packages/libplist/_PList.so
libplist-python.x86_64: W: no-documentation

I guess the "no-documentation" ones can be ignored.
You should also use the python_sitelib macro, as the module should live in /usr/lib64/python2.5/...

+ The package is named according to the Package Naming Guidelines.
+ The spec file name matches the base package %{name}, in the format
%{name}.spec.
+ The package meets the Packaging Guidelines.
+ The package is licensed with a Fedora approved license and meets the
Licensing Guidelines .
+ The License field in the package spec file must matches the actual license.
+ The file, containing the text of the license(s) for the package, is included
in %doc.

For the sub-packages, I'd rather have:
Development files for %{name}, <insert short description>.

Similar for the python sub-package.

+ The spec file is written in American English.
+ The spec file for the package is legible.
+ The sources used to build the package matches the upstream source:

$ sha1sum libplist-0.12.tar.bz2 ../SOURCES/libplist-0.12.tar.bz2 
bdcaff582eaf82910df580631cd1a07f22b351ca  libplist-0.12.tar.bz2
bdcaff582eaf82910df580631cd1a07f22b351ca  ../SOURCES/libplist-0.12.tar.bz2

+ The package successfully compiles and builds into binary rpms on at least one
primary architecture (see koji log above).
+ All build dependencies are listed in BuildRequires. 
+ The package does not list a file more than once in the spec file's %files
listings. 
+ Permissions on files are set properly.
+ The package has a %clean section, which contains rm -rf %{buildroot} (or
$RPM_BUILD_ROOT).
+ The package consistently uses macros.
+ The package contains code, or permissable content.
+ No large documentation files.
+ Everything, the package includes as %doc, does not affect the runtime of the
application.
+ Header files are in a -devel package.
+ No static libraries.
+ The library files that ends in .so (without suffix) are in a -devel package.
+ The devel sub-package requires the base package using a fully versioned
dependency: Requires: %{name} = %{version}-%{release}
+ The package does NOT contain any .la libtool archives.
+ Not a GUI application.
+ The package does not own files or directories already owned by other
packages. 
+ At the beginning of %install, the package runs rm -rf %{buildroot} (or
$RPM_BUILD_ROOT).
+ All filenames in rpm packages must be valid UTF-8.

I think the -python sub-package is missing a python requires. Rest looks good.

Comment 5 Peter Robinson 2009-05-11 16:49:31 UTC
> I guess the "no-documentation" ones can be ignored.
> You should also use the python_sitelib macro, as the module should live in
> /usr/lib64/python2.5/...

Plan on doing that but it somewhere slightly non default (looking at my system its not the only one that does it) but I have reported it upstream and will correct.
 
> For the sub-packages, I'd rather have:
> Development files for %{name}, <insert short description>.
> 
> Similar for the python sub-package.

No problems. Fixed.
 
> I think the -python sub-package is missing a python requires. Rest looks good.  

I thought that python was automatically done. It appears not. Fixed.

SPEC is same spot as before.
SRPM: http://pbrobinson.fedorapeople.org/libplist-0.12-2.fc11.src.rpm

Comment 6 Bastien Nocera 2009-05-12 11:14:38 UTC
(In reply to comment #5)
> > I guess the "no-documentation" ones can be ignored.
> > You should also use the python_sitelib macro, as the module should live in
> > /usr/lib64/python2.5/...
> 
> Plan on doing that but it somewhere slightly non default (looking at my system
> its not the only one that does it) but I have reported it upstream and will
> correct.

You'd just need to move the directory in your install section. With that fix done, approved.

Comment 7 Peter Robinson 2009-05-12 11:53:20 UTC
Excellent, thanks will do.

Comment 8 Peter Robinson 2009-05-12 12:03:44 UTC
New Package CVS Request
=======================
Package Name: libplist
Short Description: Library for manipulating Apple Binary and XML Property Lists
Owners: pbrobinson
Branches: F-9 F-10 F-11
InitialCC:

Comment 9 Kevin Fenzi 2009-05-13 05:03:04 UTC
cvs done.

Comment 10 Peter Robinson 2009-05-13 10:15:25 UTC
Imported. Built for F-9 - F-12.


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