Bug 500074 - Review Request: libplist - Library for manipulating Apple Binary and XML Property Lists
Review Request: libplist - Library for manipulating Apple Binary and XML Prop...
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
low Severity medium
: ---
: ---
Assigned To: Bastien Nocera
Jochen Schmitt
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2009-05-10 13:52 EDT by Peter Robinson
Modified: 2009-05-13 06:15 EDT (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2009-05-13 06:15:25 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
bnocera: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Peter Robinson 2009-05-10 13:52:30 EDT
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 15:02:13 EDT
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 15:21:21 EDT
> 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 15:49:35 EDT
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 09:29:05 EDT
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 12:49:31 EDT
> 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 07:14:38 EDT
(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 07:53:20 EDT
Excellent, thanks will do.
Comment 8 Peter Robinson 2009-05-12 08:03:44 EDT
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 01:03:04 EDT
cvs done.
Comment 10 Peter Robinson 2009-05-13 06:15:25 EDT
Imported. Built for F-9 - F-12.

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