Bug 736674 - Review Request: libgee06 - GObject collection library
Review Request: libgee06 - GObject collection library
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Michel Alexandre Salim
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2011-09-08 07:59 EDT by Michel Alexandre Salim
Modified: 2011-09-10 14:34 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-09-10 14:34:37 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
kalevlember: fedora‑review+
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Michel Alexandre Salim 2011-09-08 07:59:44 EDT
Spec URL: http://salimma.fedorapeople.org/specs/gnome/compat-libgee06.spec
SRPM URL: http://salimma.fedorapeople.org/specs/gnome/compat-libgee06-0.6.1-4.fc16.src.rpm
Description:
libgee 0.6.x, parallel-installable with the 0.7.x series now in Rawhide. Many dependent packages have not been updated for the new API, so this package would allow the Rawhide branch to be kept up-to-date while upstream transitions to the new API.

=====

libgee is a collection library providing GObject-based interfaces and
classes for commonly used data structures.

libgee provides the following interfaces:

* Iterable
  * Collection
    * List
    * Set
    * MultiSet
    * Queue
      * Deque
* Iterator
* Map
* MultiMap

The ArrayList, HashSet, HashMap, HashMultiSet, HashMultiMap,
LinkedList, PriorityQueue, TreeSet, TreeMap, TreeMultiSet, and
TreeMultiMap classes provide a reasonable sample implementation of
those interfaces. In addition, a set of abstract classes are provided
to ease the implementation of new collections.

Around that, the API provide means to retrieve read-only views,
efficient sort algorithms, simple, bi-directional or index-based
mutable iterators depending on the collection type.

libgee is written in Vala and can be used like any GObject-based C library.
It's planned to provide bindings for further languages.
Comment 1 Michel Alexandre Salim 2011-09-08 08:12:37 EDT
Koji scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=3335214

(for Rawhide; so that parallel installation can be tested on the Rawhide test machine)
Comment 2 Michel Alexandre Salim 2011-09-08 08:19:17 EDT
On Rawhide, pino, rygel etc. can now be installed, and compat-libgee06-devel and libgee-devel can be parallel-installed:

$ rpm -q pino rygel compat-libgee06-devel libgee-devel
pino-0.3-0.3.20101112hg.fc15.x86_64
rygel-0.11.3-1.fc17.x86_64
compat-libgee06-devel-0.6.1-4.fc17.x86_64
libgee-devel-0.7.0-1.fc17.x86_64
Comment 3 Michel Alexandre Salim 2011-09-08 14:43:05 EDT
accidentally set the review flag; removing
Comment 4 Kalev Lember 2011-09-08 14:53:12 EDT
Taking for review.

Are there any guidelines which say how to name compat packages? Most of the parallel-installable libraries appear to just follow the libgee06 naming scheme (without the compat- prefix).
Comment 5 Michel Alexandre Salim 2011-09-09 05:22:26 EDT
I'm not sure, and I'm fine with both naming schemes. I have the impression (I could be mistaken, though) that "compat-" indicates that an older version of the software is being packaged, while the lack of it indicates that it's a newer version?

Version suffix only:
====================
python3  (newer than the default python 2.x)
python26 (for RHEL; newer than stock Python)

compat- + version suffix:
=========================
compat-*gcc* -- older versions of the GCC compiler suite
compat-db* -- older Berkeley DB versions
compat-libstdc++
compat-readline5


but then again, as per
http://fedoraproject.org/wiki/Packaging:NamingGuidelines#Multiple_packages_with_the_same_base_name

older openssl versions are packaged without the compat- prefix. So I'll probably rename this to just libgee06 -- could you review the package as is, with the rename coming later, or should I rename now?
Comment 7 Kalev Lember 2011-09-09 08:54:07 EDT
Fedora review libgee06-0.6.1-4.fc15.src.rpm  2011-09-09

+ OK
! needs attention

$ rpmlint libgee06-0.6.1-4.fc16.src.rpm \
          libgee06-0.6.1-4.fc16.x86_64.rpm \
          libgee06-devel-0.6.1-4.fc16.x86_64.rpm \
          libgee06-debuginfo-0.6.1-4.fc16.x86_64.rpm
libgee06.src: W: spelling-error Summary(en_US) GObject -> G Object, Object
libgee06.src: W: spelling-error %description -l en_US libgee -> lib gee, lib-gee, libel
libgee06.src:9: W: mixed-use-of-spaces-and-tabs (spaces: line 1, tab: line 9)
libgee06.x86_64: W: spelling-error Summary(en_US) GObject -> G Object, Object
libgee06.x86_64: W: spelling-error %description -l en_US libgee -> lib gee, lib-gee, libel
libgee06.x86_64: W: file-not-utf8 /usr/share/doc/libgee06-0.6.1/ChangeLog
libgee06-devel.x86_64: W: no-documentation
4 packages and 0 specfiles checked; 0 errors, 7 warnings.

! Not strictly necessary, but would be nice to silence the
  mixed-use-of-spaces-and-tabs rpmlint warning and ask upstream to 
  ship the ChangeLog file as UTF-8. Other warnings are just noise.
+ The package is named according to Fedora packaging guidelines
+ The spec file name matches the package base name
+ 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 spec file matches the actual license
+ The package contains the license file (COPYING)
+ Spec file is written in American English
+ Spec file is legible
+ Upstream sources match sources in the srpm. md5sum:
  9cf60f41f3aa10ac7f1f7e1d094e05a1  libgee-0.6.1.tar.bz2
  9cf60f41f3aa10ac7f1f7e1d094e05a1  Download/libgee-0.6.1.tar.bz2
+ The package builds in koji
n/a ExcludeArch bugs filed
+ BuildRequires look sane
n/a The spec file MUST handle locales properly
+ ldconfig in %post and %postun
+ Package does not bundle copies of system libraries
n/a Package isn't relocatable
+ No duplicated files in %files section
+ Permissions are properly set
+ Consistent use of macros
+ The package must contain code or permissible content
n/a Large documentation files should go in -doc subpackage
+ Files marked %doc should not affect package
+ Header files should be in -devel
n/a Static libraries should be in -static
+ Library files that end in .so must go in a -devel package
+ -devel must require the fully versioned base
+ Packages should not contain libtool .la files
n/a Packages containing GUI apps must include %{name}.desktop file
+ Directory ownership sane
+ Filenames are valid UTF-8


In addition to the rpmlint comment above, some small nits about the spec file,
none of which would be review blockers:
 - Requires: pkgconfig in the -devel package is redundant because rpmbuild
   automatically generates a dep on /usr/bin/pkg-config
 - the 'rm -rf $RPM_BUILD_ROOT' at the beginning of %install and the
   %defattr(-,root,root,-) lines are no longer needed with recent rpmbuild
 - The comment "It's planned to provide bindings for further languages." in
   description is misleading because the package now includes
   gobject-introspection based bindings.
Comment 8 Michel Alexandre Salim 2011-09-09 12:19:50 EDT
Thanks! Here's the latest spec and SRPM, with the requested changes:

http://salimma.fedorapeople.org/specs/gnome/libgee06.spec
http://salimma.fedorapeople.org/specs/gnome/libgee06-0.6.1-5.fc15.src.rpm

- tabs converted to spaces
- dropped manual Requires: pkgconfig for -devel
- remove unnecessary buildroot and defattr lines
- remove language bindings reference from description
Comment 9 Kalev Lember 2011-09-09 12:29:26 EDT
Thanks, looks good. There's still one more unnecessary defattr() in -devel file list, which you could just remove before importing to git.

APPROVED
Comment 10 Michel Alexandre Salim 2011-09-09 14:25:48 EDT
Good point; will do. Thanks!

New Package SCM Request
=======================
Package Name: libgee06
Short Description: GObject collection library
Owners: salimma
Branches: 
InitialCC:
Comment 11 Gwyn Ciesla 2011-09-09 14:29:34 EDT
Summary and SCM request package names don't match.  Please correct.
Comment 12 Michel Alexandre Salim 2011-09-09 18:17:10 EDT
(In reply to comment #11)
> Summary and SCM request package names don't match.  Please correct.

Jon, the SCM request name is correct; summary is outdated. I've fixed it now.

New Package SCM Request
=======================
Package Name: libgee06
Short Description: GObject collection library
Owners: salimma
Branches: 
InitialCC:
Comment 13 Gwyn Ciesla 2011-09-10 11:07:04 EDT
Git done (by process-git-requests).
Comment 14 Michel Alexandre Salim 2011-09-10 14:34:37 EDT
Thanks; Rawhide build done

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