Bug 962651 - Re-Review Request: bamf - Application matching framework [NEEDINFO]
Re-Review Request: bamf - Application matching framework
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Praveen Kumar
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-05-14 03:17 EDT by Michel Alexandre Salim
Modified: 2014-02-27 10:25 EST (History)
5 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2014-02-27 10:25:10 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
kumarpraveen.nitdgp: fedora‑review+
i: needinfo? (michel)
kumarpraveen.nitdgp: needinfo? (michel)


Attachments (Terms of Use)

  None (edit)
Description Michel Alexandre Salim 2013-05-14 03:17:16 EDT
Spec URL: http://salimma.fedorapeople.org/specs/gnome/bamf.spec
SRPM URL: http://salimma.fedorapeople.org/specs/gnome/bamf-0.3.6-1.fc18.src.rpm
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 is a re-review as the package was orphaned; needed for gnome-pie

Fedora Account System Username: salimma

Koji scratch build (F18):
http://koji.fedoraproject.org/koji/taskinfo?taskID=5377332
Comment 1 Michel Alexandre Salim 2013-05-14 03:22:04 EDT
Hi Praveen,

Please consider reviewing this - the release engineering team requires a re-review of Bamf before it can be unblocked, and we can't build gnome-pie on recent releases until that happens.

Note that the SRPM here builds fine on F18 and below, but not on F19 and above due to deprecation warnings treated as errors. Will work on updating the code and upstreaming the patch once this goes in.
Comment 2 Praveen Kumar 2013-05-14 22:54:14 EDT
Hi Michel,

Thanks for taking this package, I will do a formal review today. I am not changing "Assigned Flag" right now, will do it later.
Comment 3 Praveen Kumar 2013-05-14 23:58:14 EDT
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed

===== MUST items =====

C/C++:
[-]: Package does not contain kernel modules.
[-]: Package contains no static executables.
[x]: Header files in -devel subpackage, if present.
[x]: ldconfig called in %post and %postun if required.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.
[x]: Development (unversioned) .so files in -devel subpackage, if present.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[!]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
     Note: rm -rf %{buildroot} present but not required
[x]: Sources contain only permissible code or content.
[!]: Each %files section contains %defattr if rpm < 4.4
     Note: %defattr present but not needed
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[-]: Package requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Fully versioned dependency in subpackages, if present.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in bamf-devel
     , bamf-daemon
[x]: Package complies to the Packaging Guidelines
[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "GPL", "GPL (v2 or later)", "GPL (v3 or later)", "Unknown or generated",
     "LGPL (v3 or later)", "GPL (v3)". 18 files have unknown license. Detailed
     output of licensecheck in /home/daredevil/962651-bamf/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[-]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 245760 bytes in 9 files.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[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]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: No rpmlint messages.

===== SHOULD items =====

Generic:
[-]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[ ]: Final provides and requires are sane (see attachments).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[-]: Scriptlets must be sane, if used.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[?]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Uses parallel make.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define.

===== EXTRA items =====

Generic:
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: bamf-0.3.6-1.fc17.x86_64.rpm
          bamf-devel-0.3.6-1.fc17.x86_64.rpm
          bamf-daemon-0.3.6-1.fc17.x86_64.rpm
3 packages and 0 specfiles checked; 0 errors, 0 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint bamf bamf-daemon bamf-devel
bamf.x86_64: W: unused-direct-Shelia-dependency /usr/lib64/libbamf.so.0.0.0 /lib64/libm.so.6
bamf.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libbamf.so.0.0.0 /lib64/libgtk-x11-2.0.so.0
bamf.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libbamf.so.0.0.0 /lib64/libgdk-x11-2.0.so.0
bamf.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libbamf.so.0.0.0 /lib64/libatk-1.0.so.0
bamf.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libbamf.so.0.0.0 /lib64/libpangoft2-1.0.so.0
bamf.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libbamf.so.0.0.0 /lib64/libpangocairo-1.0.so.0
bamf.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libbamf.so.0.0.0 /lib64/libgdk_pixbuf-2.0.so.0
bamf.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libbamf.so.0.0.0 /lib64/libcairo.so.2
bamf.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libbamf.so.0.0.0 /lib64/libpango-1.0.so.0
bamf.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libbamf.so.0.0.0 /lib64/libfreetype.so.6
bamf.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libbamf.so.0.0.0 /lib64/libfontconfig.so.1
bamf.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libbamf.so.0.0.0 /lib64/libdbus-1.so.3
bamf.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libbamf.so.0.0.0 /lib64/libpthread.so.0
bamf.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libbamf.so.0.0.0 /lib64/librt.so.1
3 packages and 0 specfiles checked; 0 errors, 14 warnings.
# echo 'rpmlint-done:'
- Please refer http://fedoraproject.org/wiki/Common_Rpmlint_issues#unused-direct-shlib-dependency


Requires
--------
bamf (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    libatk-1.0.so.0()(64bit)
    libc.so.6()(64bit)
    libcairo.so.2()(64bit)
    libdbus-1.so.3()(64bit)
    libdbus-glib-1.so.2()(64bit)
    libfontconfig.so.1()(64bit)
    libfreetype.so.6()(64bit)
    libgdk-x11-2.0.so.0()(64bit)
    libgdk_pixbuf-2.0.so.0()(64bit)
    libgio-2.0.so.0()(64bit)
    libglib-2.0.so.0()(64bit)
    libgobject-2.0.so.0()(64bit)
    libgtk-x11-2.0.so.0()(64bit)
    libm.so.6()(64bit)
    libpango-1.0.so.0()(64bit)
    libpangocairo-1.0.so.0()(64bit)
    libpangoft2-1.0.so.0()(64bit)
    libpthread.so.0()(64bit)
    librt.so.1()(64bit)
    rtld(GNU_HASH)

bamf-daemon (rpmlib, GLIBC filtered):
    libX11.so.6()(64bit)
    libatk-1.0.so.0()(64bit)
    libc.so.6()(64bit)
    libcairo-gobject.so.2()(64bit)
    libcairo.so.2()(64bit)
    libgdk-3.so.0()(64bit)
    libgdk_pixbuf-2.0.so.0()(64bit)
    libgio-2.0.so.0()(64bit)
    libglib-2.0.so.0()(64bit)
    libgobject-2.0.so.0()(64bit)
    libgtk-3.so.0()(64bit)
    libgtop-2.0.so.7()(64bit)
    libm.so.6()(64bit)
    libpango-1.0.so.0()(64bit)
    libpangocairo-1.0.so.0()(64bit)
    libpthread.so.0()(64bit)
    libwnck-3.so.0()(64bit)
    rtld(GNU_HASH)

bamf-devel (rpmlib, GLIBC filtered):
    /usr/bin/pkg-config
    bamf
    libbamf.so.0()(64bit)
    pkgconfig
    pkgconfig(glib-2.0)
    pkgconfig(libwnck-1.0)



Provides
--------
bamf:
    bamf
    bamf(x86-64)
    libbamf.so.0()(64bit)

bamf-daemon:
    bamf-daemon
    bamf-daemon(x86-64)

bamf-devel:
    bamf-devel
    bamf-devel(x86-64)
    pkgconfig(libbamf)



Source checksums
----------------
http://launchpad.net/bamf/0.3/0.3.6/+download/bamf-0.3.6.tar.gz :
  CHECKSUM(SHA256) this package     : df7c7e3635329e0bc702941ec9b0d026b773017e85eb6c62c9a2af9f8957aa7a
  CHECKSUM(SHA256) upstream package : df7c7e3635329e0bc702941ec9b0d026b773017e85eb6c62c9a2af9f8957aa7a


Generated by fedora-review 0.4.1 (b2e211f) last change: 2013-04-29
Buildroot used: fedora-17-x86_64
Command line :/usr/bin/fedora-review -b 962651

Issues:
=======
- Package do not use a name that already exist
  Note: A package already exist with this name, please check
  https://admin.fedoraproject.org/pkgdb/acls/name/bamf
  See: https://fedoraproject.org/wiki/Packaging/NamingGuidelines#Conflicting_Package_Names
- Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install.
- Each %files section contains %defattr if rpm < 4.4 
      Note: %defattr present but not needed
- License field in the package spec file matches the actual license.
   It should be v2+ and v3+.
     GPL (v2 or later)
     -----------------
     /var/lib/mock/fedora-17-x86_64/root/builddir/build/BUILD/bamf-0.3.6/lib/libbamf/bamf-application-private.h
     /var/lib/mock/fedora-17-x86_64/root/builddir/build/BUILD/bamf-0.3.6/lib/libbamf/bamf-tab.c
     /var/lib/mock/fedora-17-x86_64/root/builddir/build/BUILD/bamf-0.3.6/lib/libbamf/bamf-tab.h
     /var/lib/mock/fedora-17-x86_64/root/builddir/build/BUILD/bamf-0.3.6/lib/libbamf/bamf-view-private.h
     /var/lib/mock/fedora-17-x86_64/root/builddir/build/BUILD/bamf-0.3.6/ltmain.sh

     GPL (v3 or later)
     -----------------
    /var/lib/mock/fedora-17-x86_64/root/builddir/build/BUILD/bamf-0.3.6/tests/libbamf/test-libbamf.c
    /var/lib/mock/fedora-17-x86_64/root/builddir/build/BUILD/bamf-0.3.6/tests/libbamf/test-matcher.c
Comment 4 MartinKG 2013-05-19 12:29:45 EDT
the package bamf-0.3.6-2 from
https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/source/SRPMS/b/bamf-0.3.6-2.fc20.src.rpm builds on f19 + f20 but not on f18.

Koji scratch build (F19):
http://koji.fedoraproject.org/koji/taskinfo?taskID=5398119
Comment 5 Michel Alexandre Salim 2013-06-02 02:05:40 EDT
Hi both,

bamf 0.3.6 requires Vala 0.20, which is why it does not build on F18. Do you want to just base the review on bamf 0.3.6? I won't do a major update on F18 as it's already released, and we don't want to break dependent apps (in this case gnome-pie), we just need to get bamf unblocked so we can actually build gnome-pie against it

Could one of you do a formal review? Thanks
Comment 6 Praveen Kumar 2013-06-02 22:01:46 EDT
Hi Michel,

I already did a formal review, is below issues resolved? As you said we don't have to provide a major update for f18, just have to unblock it for dependent applications. I assigned it to myself now.

Issues:
=======
- Package do not use a name that already exist
  Note: A package already exist with this name, please check
  https://admin.fedoraproject.org/pkgdb/acls/name/bamf
  See: https://fedoraproject.org/wiki/Packaging/NamingGuidelines#Conflicting_Package_Names
- Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install.
- Each %files section contains %defattr if rpm < 4.4 
      Note: %defattr present but not needed
- License field in the package spec file matches the actual license.
   It should be v2+ and v3+.
     GPL (v2 or later)
     -----------------
     /var/lib/mock/fedora-17-x86_64/root/builddir/build/BUILD/bamf-0.3.6/lib/libbamf/bamf-application-private.h
     /var/lib/mock/fedora-17-x86_64/root/builddir/build/BUILD/bamf-0.3.6/lib/libbamf/bamf-tab.c
     /var/lib/mock/fedora-17-x86_64/root/builddir/build/BUILD/bamf-0.3.6/lib/libbamf/bamf-tab.h
     /var/lib/mock/fedora-17-x86_64/root/builddir/build/BUILD/bamf-0.3.6/lib/libbamf/bamf-view-private.h
     /var/lib/mock/fedora-17-x86_64/root/builddir/build/BUILD/bamf-0.3.6/ltmain.sh

     GPL (v3 or later)
     -----------------
    /var/lib/mock/fedora-17-x86_64/root/builddir/build/BUILD/bamf-0.3.6/tests/libbamf/test-libbamf.c
    /var/lib/mock/fedora-17-x86_64/root/builddir/build/BUILD/bamf-0.3.6/tests/libbamf/test-matcher.c
Comment 7 Michel Alexandre Salim 2013-06-04 08:01:33 EDT
Hi Praveen,

I've fixed the other issues you pointed out, but the license situation is thornier than expected:

- some files are GPLv2+ and GPLv3+, as you pointed out
- all bamf-*.c files in src/ are GPLv3 *only* (without +)
- some files in lib are GPLv2 or GPLv3

I *think* the v3-only code are out of the library, and everything in libbamf is either (LGPLv2+) or (LGPLv2 or LGPLv3), and either way, linking from GPL code to LGPL code should be fine anyway, but let me take a more thorough look at the files first - it's likely that the subpackages might end up with different license descriptions.

An updated spec will suffice, I take it, as the requested changes only affects the packaging metadata?

Thanks!
Comment 8 Praveen Kumar 2013-06-10 08:56:04 EDT
Hi Salim,

Yes a updated SPEC and SRPM will be enough for this review, what is the progress on License issue?
Comment 9 Michel Alexandre Salim 2013-06-13 10:20:02 EDT
Hi Praveen,

Sorry for the delay, been busy with work.

http://salimma.fedorapeople.org/specs/gnome/bamf.spec
http://salimma.fedorapeople.org/specs/gnome/bamf-0.3.6-3.fc19.src.rpm

As for the license, it looks like the current license tags are already accurate. As explained in the comment above the first license field, libbamf contains some files that are marked GPL, so the combination of those with LGPL files are effectively under the GPL, not LGPL.

I'll file a bug upstream, but is that alright if we get the review done and I'll make the license update as soon as update fixes them?
Comment 10 Praveen Kumar 2013-06-15 08:19:37 EDT
Looks like below issue is fix now.
 [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install.
 [x]: Each %files section contains %defattr if rpm < 4.4
 [!]Package do not use a name that already exist
  Note: A package already exist with this name, please check
  https://admin.fedoraproject.org/pkgdb/acls/name/bamf
  See: https://fedoraproject.org/wiki/Packaging/NamingGuidelines#Conflicting_Package_Names
But it's not a blocker since it is a re-review request after package drop.

Please update upstream about License issue and update spec accordingly.

========================================================
APPROVED
========================================================
Comment 11 Michel Alexandre Salim 2013-06-17 22:15:34 EDT
Thanks, requesting unblocking in the rel-eng trac

https://fedorahosted.org/rel-eng/ticket/5589
Comment 12 Praveen Kumar 2013-10-04 00:21:46 EDT
Hi Salim,

As per rel-eng ticket looks like it's unblocked, if this resolve your issue please close this bug or do needful.
Comment 13 Praveen Kumar 2014-02-27 10:18:43 EST
Hi Salim,

This package is really becoming a blocker for other gnome-pie bugs, can you please provide your input?

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