Bug 661615 - Review Request: bamf - Application matching framework
Summary: Review Request: bamf - Application matching framework
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Peter Robinson
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-12-09 08:25 UTC by Adam Williamson
Modified: 2013-04-22 12:57 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-01-29 22:02:29 UTC
Type: ---
Embargoed:
pbrobinson: fedora-review+


Attachments (Terms of Use)

Description Adam Williamson 2010-12-09 08:25:48 UTC
Spec URL: http://www.happyassassin.net/extras/bamf.spec
SRPM URL: http://www.happyassassin.net/extras/bamf-0.2.64-1.aw_fc15.src.rm
Description: BAMF removes the headache of applications matching into a simple DBus
daemon and C wrapper library. Currently features application matching
at amazing levels of accuracy (covering nearly every corner case). This
package contains the bamf library.

this is part of the Unity packaging project. includes one convenience patch, which upstream has already indicated they'll take, and is submitted there. rpmlint output:

[adamw@adam SPECS]$ rpmlint /var/lib/mock/fedora-rawhide-x86_64/result/*.rpm
bamf.src:35: W: macro-in-comment %{_libdir}
bamf.src:35: W: macro-in-comment %{_datadir}
bamf.src:37: W: macro-in-comment %{_datadir}
5 packages and 0 specfiles checked; 0 errors, 3 warnings.

those warnings are fine, it's intentional. Tested to build on current Rawhide.

Comment 1 Peter Robinson 2011-01-23 19:27:57 UTC
I'll review this

Comment 2 Peter Robinson 2011-01-23 20:00:03 UTC
SRPM actually is http://www.happyassassin.net/extras/bamf-0.2.64-1.aw_fc15.src.rpm

Comment 3 Peter Robinson 2011-01-23 20:16:51 UTC
A few minor issues:

- license matches the actual package license
  in bamf-0.2.64/lib/libbamf bamf-tab.c bamf-tab.h bamf-view-private.h are GPLv2+ so I think the overall library should be GPLv2+ 

- package successfully builds on at least one architecture
  tested using koji scratch build
  http://koji.fedoraproject.org/koji/taskinfo?taskID=2738391

? non -devel packages should require fully versioned base
I don't believe this is needed as the base package is a library and should be pulled in by the library. The only reason I could see is there might be issues ig soname isn't  bumped for every release

+ rpmlint output

rpmlint bamf.spec bamf-0.2.64-1.fc15.src.rpm bamf-0.2.64-1.fc15.x86_64.rpm bamf-devel-0.2.64-1.fc15.x86_64.rpm bamf-daemon-0.2.64-1.fc15.x86_64.rpm
bamf.spec:35: W: macro-in-comment %{_libdir}
bamf.spec:35: W: macro-in-comment %{_datadir}
bamf.spec:37: W: macro-in-comment %{_datadir}
bamf.src:35: W: macro-in-comment %{_libdir}
bamf.src:35: W: macro-in-comment %{_datadir}
bamf.src:37: W: macro-in-comment %{_datadir}
4 packages and 1 specfiles checked; 0 errors, 6 warnings.

+ package name satisfies the packaging naming guidelines
+ specfile name matches the package base name
+ package should satisfy packaging guidelines
+ license meets guidelines and is acceptable to Fedora
- license matches the actual package license
  in bamf-0.2.64/lib/libbamf bamf-tab.c bamf-tab.h bamf-view-private.h are GPLv2+ so I think the overall library should be GPLv2+ 
+ latest version packaged
+ %doc includes license file
+ spec file written in American English
+ spec file is legible
+ upstream sources match sources in the srpm
  ba433497562e4702a7cf93001491981a  bamf-0.2.64.tar.gz
- package successfully builds on at least one architecture
  tested using koji scratch build
  http://koji.fedoraproject.org/koji/taskinfo?taskID=2738391
+ BuildRequires list all build dependencies
n/a %find_lang instead of %{_datadir}/locale/*
+ binary RPM with shared library files must call ldconfig in %post and %postun+ does not use Prefix: /usr
n/a package owns all directories it creates
n/a no duplicate files in %files
+ Package perserves timestamps on install
+ Permissions on files must be set properly 
+ %defattr line
+ consistent use of macros
+ package must contain code or permissible content
n/a large documentation files should go in -doc subpackage
+ files marked %doc should not affect package runtime 
+ header files should be in -devel
n/a static libraries should be in -static
+ packages containing pkgconfig (.pc) files need 'Requires: pkgconfig'
+ libfoo.so must go in -devel
+ 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
+ packages must not own files or directories owned by other packages
+ filenames must be valid UTF-8

Optional:

+ if there is no license file, packager should query upstream to include it
n/a translations of description and summary for non-English languages, if
available
+ reviewer should build the package in mock/koji
n/a the package should build into binary RPMs on all supported architectures
n/a review should test the package functions as described
+ scriptlets should be sane
? non -devel packages should require fully versioned base
  I don't believe this is needed as the base package is a library and should be pulled in by the library. The only reason I could see is there might be issues ig soname isn't  bumped for every release 
+ pkgconfig files should go in -devel
+ shouldn't have file dependencies outside /etc /bin /sbin /usr/bin or /usr/sbin
n/a Package should have man files

Comment 4 Peter Robinson 2011-01-23 21:43:54 UTC
gcc-4.6.0-0.3.fc15.x86_64 actually breaks the build. It built on a local rawhide box with gcc-4.5.1-6.fc15.x86_64 but now fails with the newer gcc

Comment 5 Adam Williamson 2011-01-23 21:58:26 UTC
updated:

Spec URL: http://www.happyassassin.net/extras/bamf.spec
SRPM URL: http://www.happyassassin.net/extras/bamf-0.2.74-1.aw_fc15.src.rpm

fixed the license (I think, it's a complex situation; I've reported it to upstream, I think the GPL headers are simply errors). Fixed the build problem by disabling the warning that causes the trouble. Adjusted the file lists (installation of vala and gir stuff was disabled in 0.2.72 for some reason).

I haven't added any dependency on the 'base' package. Reasoning is that it's really a lib package, it only contains a library, and we should rely on auto-depends for libraries; I think it would actually violate another guideline to add an explicit dependency on it. It's actually correct to go with the soname requires even if it means you don't need the exact same version of the package, I think.

Comment 6 Peter Robinson 2011-01-23 22:16:06 UTC
License looks good. I agree that its likely an upstream oversight. I agree on the lib deps, it was a query.

Builds in rawhide: http://koji.fedoraproject.org/koji/taskinfo?taskID=2738565

APPROVED!

Comment 7 Adam Williamson 2011-01-23 22:31:44 UTC
New Package SCM Request
=======================
Package Name: bamf
Short Description: Application matching framework
Owners: adamwill
Branches: 
InitialCC:

Comment 8 Jason Tibbitts 2011-01-24 17:44:11 UTC
Git done (by process-git-requests).

Comment 9 Adam Williamson 2011-01-29 22:02:29 UTC
all done, thanks!

Comment 10 Michel Lind 2013-04-07 13:15:00 UTC
Please unretire the f19 and master branches; gnome-pie is still actively maintained and depends on bamf

Comment 11 Gwyn Ciesla 2013-04-08 12:47:44 UTC
Unretired.

Comment 12 Michel Lind 2013-04-20 07:22:35 UTC
(In reply to comment #11)
> Unretired.

fedpkg build fails on master branch (http://koji.fedoraproject.org/koji/taskinfo?taskID=5281650). Could all the blocked tags be unblocked? Thanks.

BuildError: package bamf is blocked for tag f20

Comment 13 Gwyn Ciesla 2013-04-22 12:56:56 UTC
File unblock ticket with rel-eng.


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