Bug 238373 - Review Request: libopenraw - decode camera RAW files.
Summary: Review Request: libopenraw - decode camera RAW files.
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Bernard Johnson
QA Contact: Fedora Package Reviews List
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-04-29 22:58 UTC by Trond Danielsen
Modified: 2007-11-30 22:12 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-06-14 19:34:29 UTC
Type: ---
Embargoed:
bjohnson: fedora-review+
jwboyer: fedora-cvs+


Attachments (Terms of Use)

Description Trond Danielsen 2007-04-29 22:58:09 UTC
Spec URL: ftp://open-gnss.org/pub/fedora/libopenraw/libopenraw.spec
SRPM URL: ftp://open-gnss.org/pub/fedora/libopenraw/libopenraw-0.0.2-1.src.rpm
Description: libopenraw is an ongoing project to provide a free software implementation for camera RAW files decoding. One of the main reason is that dcraw is not suited for easy integration into applications, and there is a need for an easy to use API to build free software digital image processing application.

Package builds in mock. rpmlint reports no error except from a warning regarding documentation for the devel package.

Comment 1 Ralf Corsepius 2007-04-30 03:49:11 UTC
Building on a system which doesn't have glib2-devel installed:
...
checking pkg-config is at least version 0.9.0... yes
checking for LIBGLIB... configure: WARNING: glib-2.0 missing, ignore GdkPixbuf
support.

Are you intentionally building without glib2/gnome support?
If yes, you probably want --disable-gnome:
./configure --help
..
--disable-gnome
..

If no, you probably want
BuildRequires: glib2-devel

Comment 2 Trond Danielsen 2007-04-30 06:20:36 UTC
(In reply to comment #1)
> Building on a system which doesn't have glib2-devel installed:
> ...
> checking pkg-config is at least version 0.9.0... yes
> checking for LIBGLIB... configure: WARNING: glib-2.0 missing, ignore GdkPixbuf
> support.
> 
> Are you intentionally building without glib2/gnome support?
> If yes, you probably want --disable-gnome:
> ./configure --help
> ..
> --disable-gnome
> ..
> 
> If no, you probably want
> BuildRequires: glib2-devel

New BuildRequires added; updated spec file and source rpm at
ftp://open-gnss.org/pub/fedora/libopenraw

Comment 3 Bernard Johnson 2007-04-30 23:56:43 UTC
I'll provide a review soon, but noticed this in the build:

Options:

  Gnome support:     no


You might be missing some BRs, perhaps libgnome-devel

Comment 4 Bernard Johnson 2007-05-01 00:12:37 UTC
(In reply to comment #3)
> You might be missing some BRs, perhaps libgnome-devel

Actually gtk2-devel


Comment 5 Trond Danielsen 2007-05-01 06:20:58 UTC
Sorry for the obvious mistakes; they should all be fixed now. New versions at
ftp://open-gnss.org/pub/fedora/libopenraw

Comment 6 Bernard Johnson 2007-05-01 18:38:30 UTC
(In reply to comment #5)
> Sorry for the obvious mistakes; they should all be fixed now.

No need to apologize... that's what the peer reviews are for...  more eyes, less
errors.

Now that gtk2-devel is in the BR, new files (and dependencies) are generated:

rpm -qpl libopenraw-0.0.2-3.fc6.i386.rpm 
/usr/lib/libopenraw.so.1
/usr/lib/libopenraw.so.1.0.0
/usr/lib/libopenrawgnome.so.1   <-- NEW FILE
/usr/lib/libopenrawgnome.so.1.0.0   <-- NEW FILE
/usr/share/doc/libopenraw-0.0.2
/usr/share/doc/libopenraw-0.0.2/AUTHORS
/usr/share/doc/libopenraw-0.0.2/COPYING
/usr/share/doc/libopenraw-0.0.2/ChangeLog
/usr/share/doc/libopenraw-0.0.2/NEWS
/usr/share/doc/libopenraw-0.0.2/README
/usr/share/doc/libopenraw-0.0.2/TODO

rpm -qpl libopenraw-devel-0.0.2-3.fc6.i386.rpm 
/usr/include/libopenraw-1.0
/usr/include/libopenraw-1.0/libopenraw
/usr/include/libopenraw-1.0/libopenraw-gnome
/usr/include/libopenraw-1.0/libopenraw-gnome/gdkpixbuf.h   <-- NEW FILE
/usr/include/libopenraw-1.0/libopenraw/consts.h
/usr/include/libopenraw-1.0/libopenraw/debug.h
/usr/include/libopenraw-1.0/libopenraw/io.h
/usr/include/libopenraw-1.0/libopenraw/libopenraw.h
/usr/include/libopenraw-1.0/libopenraw/thumbnails.h
/usr/include/libopenraw-1.0/libopenraw/types.h
/usr/lib/libopenraw.so
/usr/lib/libopenrawgnome.so   <-- NEW FILE
/usr/lib/pkgconfig/libopenraw-1.0.pc
/usr/lib/pkgconfig/libopenraw-gnome-1.0.pc  <-- NEW FILE

You now have gui dependencies.  Do you intend to break the package into
something like:

libopenraw
libopenraw-gnome
libopenraw-devel

or do you think that the majority of users of the package will want all the
components even at the expense of pulling in gui components and all of their
dependencies?

Comment 7 Trond Danielsen 2007-05-02 06:35:48 UTC
(In reply to comment #6) 
> You now have gui dependencies.  Do you intend to break the package into
> something like:
> 
> libopenraw
> libopenraw-gnome
> libopenraw-devel
> 
> or do you think that the majority of users of the package will want all the
> components even at the expense of pulling in gui components and all of their
> dependencies?

That is a good idea! I do not know of anything atm that could make use of
libopenraw without the GNOME component, but I assume that it might be useful at
some point (perhaps a ImageMagick-style application).

Question: Should separate -devel packages be created for libopenraw and
libopenraw-gnome, or is it enough to add a requirement for all components to the
devel package?


Comment 8 Ralf Corsepius 2007-05-02 06:42:16 UTC
(In reply to comment #7)
> (In reply to comment #6) 

> Question: Should separate -devel packages be created for libopenraw and
> libopenraw-gnome, or is it enough to add a requirement for all components to the
> devel package?

It's up to you. I'd prefer seeing separate *-devel's and runtime packages for
each of them.



Comment 9 Moritz Barsnick 2007-05-02 11:44:25 UTC
(In reply to comment #1)

I don't want to be picky, but:

> checking pkg-config is at least version 0.9.0... yes

Shouldn't this imply:
BuildRequires: pkgconfig >= 0.9.0
??

Perhaps you might want to version the
Requires: pkgconfig
for -devel as well, dunno. *shrug*

Note: This isn't a package specific requirement, but seems to be introduced by 
autoconf. The requirement or the versioning _may_ therefore be obsolete or 
quietly ignorable. pkgconfig interestingly _is not_ in the exception list for 
BRs: http://fedoraproject.org/wiki/Extras/FullExceptionList

Re the versioning: The Fedora packaging guidelines (http://fedoraproject.org/
wiki/Packaging/Guidelines#head-0711805dd733fe3b31741e9d5236d72941a79d94) say:
"First, if the lowest possible requirement is so old that nobody has a version 
older than that installed on any target distribution release, there's no need 
to include the version in the dependency at all." This may very much be the 
case for this pkgconfig version. :)

Moritz,
off to build his own gthumb with this lib, thanks for the package!

Comment 10 Bernard Johnson 2007-05-02 17:27:56 UTC
(In reply to comment #9)
> I don't want to be picky, but:
> 
> > checking pkg-config is at least version 0.9.0... yes
> 
> Shouldn't this imply:
> BuildRequires: pkgconfig >= 0.9.0
> ??

Since FC-5+ contains pkgconfig = 0.20, this would be an unnecessary versioning
(as I see you point out as well towards the bottom of your msg).

> Note: This isn't a package specific requirement, but seems to be introduced by 
> autoconf. The requirement or the versioning _may_ therefore be obsolete or 
> quietly ignorable. pkgconfig interestingly _is not_ in the exception list for 
> BRs: http://fedoraproject.org/wiki/Extras/FullExceptionList

It is automatically pulled in because several of the other BRs require
pkgconfig.  While everyone tells me that I should just let this magic happen, I
tend to agree with you and list stuff like this :)

Comment 11 Trond Danielsen 2007-05-02 18:11:03 UTC
New version of spec file and source RPM available at
ftp://open-gnss.org/pub/fedora/libopenraw. There is now a separate -gnome
package, so it should now be possible to use libopenraw on X/GTK-less machines.

Comment 12 Bernard Johnson 2007-05-02 21:52:54 UTC
Package Review
==============

Key:
 - = N/A
 x = Check
 ! = Problem
 ? = Not evaluated

=== REQUIRED ITEMS ===
 [x] Package is named according to the Package Naming Guidelines.
 [x] Spec file name must match the base package %{name}, in the format %{name}.spec.
 [x] Package meets the Packaging Guidelines.
 [x] Package successfully compiles and builds into binary rpms on at least one
supported architecture.
     Tested on: FC-6 / i386
 [x] Rpmlint output:
       W: libopenraw-devel no-documentation
       W: libopenraw-gnome no-documentation
       W: libopenraw-gnome-devel no-documentation
     These are all ok.
 [x] Package is not relocatable.
 [x] Buildroot is correct
(%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n))
 [x] Package is licensed with an open-source compatible license and meets other
legal requirements as defined in the legal section of Packaging Guidelines.
 [!] License field in the package spec file matches the actual license.
     License type: GPL in package spec, but LGPL in package
 [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] Spec file is legible and written in American English.
 [x] Sources used to build the package matches the upstream source, as provided
in the spec URL.
     MD5SUM this package    : eae40ecaa92f69d99b27ae3bad8aa8ae
     MD5SUM upstream package: eae40ecaa92f69d99b27ae3bad8aa8ae
 [x] Package is not known to require ExcludeArch, OR:
     Arches excluded:
     Why:
 [x] All build dependencies are listed in BuildRequires, except for any that are
listed in the exceptions section of Packaging Guidelines.
 [-] The spec file handles locales properly.
 [x] ldconfig called in %post and %postun if required.
 [!] Package must own all directories that it creates.
 [x] Package requires other packages for directories it uses.
 [x] Package does not contain duplicates in %files.
 [x] Permissions on files are set properly.
 [x] Package has a %clean section, which contains rm -rf %{buildroot} (or
$RPM_BUILD_ROOT).
 [x] Package consistently uses macros.
 [x] Package contains code, or permissable content.
 [-] Large documentation files are in a -doc subpackage, if required.
 [x] Package uses nothing in %doc for runtime.
 [x] Header files in -devel subpackage, if present.
 [x] Static libraries in -devel subpackage, if present.
 [x] Package requires pkgconfig, if .pc files are present.
 [x] Development .so files in -devel subpackage, if present.
 [x] Fully versioned dependency in subpackages, if present.
 [x] Package does not contain any libtool archives (.la).
 [-] Package contains a properly installed %{name}.desktop file if it is a GUI
application.
 [x] Package does not own files or directories owned by other packages.

=== SUGGESTED ITEMS ===
 [x] Latest version is packaged.
 [x] Package does not include license text files separate from upstream.
 [-] Description and summary sections in the package spec file contains
translations for supported Non-English languages, if available.
 [x] Reviewer should test that the package builds in mock.
     Tested on: FC-6 / i386
 [-] Package should compile and build into binary rpms on all supported
architectures.
     Tested on:
 [?] Package functions as described.
 [x] Scriptlets must be sane, if used.
 [x] The placement of pkgconfig(.pc) files are correct.
 [-] File based requires are sane.


=== Issues ===
1. Package is LGPL licensed, not GPL
2. Please use wget -N or similar to download the source tarball so that the
source timestamp is preserved.
3. /usr/include/libopenraw-1.0 is unowned an should be owned by libopenraw-devel
(you can use %dir to do this)
4. Shouldn't package libopenraw-gnome-devel also require libopenraw-devel?

=== Final Notes ===
1.


Comment 13 Trond Danielsen 2007-05-03 06:35:38 UTC
(In reply to comment #12)
>
> [...]
>
> === Issues ===
> 1. Package is LGPL licensed, not GPL

FIXED.

> 2. Please use wget -N or similar to download the source tarball so that the
> source timestamp is preserved.

FIXED. New source tarball downloaded.

> 3. /usr/include/libopenraw-1.0 is unowned an should be owned by libopenraw-devel
> (you can use %dir to do this)

FIXED.

> 4. Shouldn't package libopenraw-gnome-devel also require libopenraw-devel?

FIXED. It should, so I have added it to the list of requirements.

New versions are available at:
http://libopenraw.freedesktop.org/download/libopenraw-0.0.2.tar.gz

Comment 14 Bernard Johnson 2007-05-03 07:08:59 UTC
 [x] License field in the package spec file matches the actual license.
     License type: GPL in package spec, but LGPL in package
 [x] Sources used to build the package matches the upstream source, as provided
in the spec URL.
     MD5SUM this package    : eae40ecaa92f69d99b27ae3bad8aa8ae
     MD5SUM upstream package: eae40ecaa92f69d99b27ae3bad8aa8ae
 [x] Package must own all directories that it creates.

================
*** APPROVED ***
================



Comment 15 Trond Danielsen 2007-05-03 07:22:46 UTC
New Package CVS Request
=======================
Package Name: libopenraw
Short Description: decode camera RAW files
Owners: trond.danielsen
Branches: FC-6
InitialCC: 

Comment 16 Bernard Johnson 2007-06-14 18:58:55 UTC
This package appears to have been successfully imported and built.  If there are
no further issues with this review, please close the review in accordance with
the Fedora Package Contributor Guide:
http://fedoraproject.org/wiki/PackageMaintainers/Join#head-b43ecb6816897576064ffea1121d8d08de01e350


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