Bug 846488 - Review Request: babeltrace - Trace Viewer and Converter, mainly for the Common Trace Format
Review Request: babeltrace - Trace Viewer and Converter, mainly for the Commo...
Status: CLOSED CURRENTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Brendan Jones
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-08-07 18:31 EDT by Yannick Brosseau
Modified: 2013-02-12 23:38 EST (History)
4 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-02-12 23:38:48 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
yannick.brosseau: fedora‑review?
limburgher: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Yannick Brosseau 2012-08-07 18:31:44 EDT
Spec URL: http://www.dorsal.polymtl.ca/~ybrosseau/fedora/SPECS/babeltrace.spec 
SRPM URL: http://www.dorsal.polymtl.ca/~ybrosseau/fedora/SRPMS/babeltrace-1.0.0-0.1.rc4.fc17.src.rpm
Description: This project provides trace read and write libraries, as well as a trace
converter. A plugin can be created for any trace format to allow its conversion
to/from another trace format.

The main format expected to be converted to/from is the Common Trace
Format (CTF). See http://www.efficios.com/ctf.

Fedora Account System Username: greenscientist
Comment 1 Erik Schilling 2012-08-28 15:14:07 EDT
Hi just a quick note:

The %defattr lines can be dropped.

Best regards
Erik Schillig (Ablu)
Comment 2 Yannick Brosseau 2012-08-30 16:31:53 EDT
(In reply to comment #1)
> Hi just a quick note:
> 
> The %defattr lines can be dropped.
> 
> Best regards
> Erik Schillig (Ablu)

Thanks, I forgot that one.
Comment 3 Volker Fröhlich 2012-09-30 15:52:09 EDT
Shared lib calls exit. This should be reported upstream.

Please make the build verbose.

You can use the name macro once more in Source0, if you want.

I'm not sure about the license. I wonder why include/babeltrace/list.h claims LGPLv2. That one test is GPLv2, which I find a little strange. Should that really make it GPL instead of LGPL?

Only include the license files in the libs-subpackage.

The descriptions should reflect the content of the actual packages.

The clean section is obsolete.

Can you use make %{?_smp_mflags}?

The main package needs no ldconfig.

Change *.1.gz to *.1*

Requires must contain the isa macro: http://fedoraproject.org/wiki/Packaging:Guidelines#Requiring_Base_Package

Your main package should require the lib sub-package.

Can you run the tests?
Comment 4 Yannick Brosseau 2012-10-02 17:49:41 EDT
(In reply to comment #3)
> Shared lib calls exit. This should be reported upstream.
> 
See bug: http://bugs.lttng.org/issues/322

> 
> Can you run the tests?

Right now, the make check does nothing. Working with upstream to fix that.
Comment 5 Yannick Brosseau 2012-10-02 17:57:30 EDT
(In reply to comment #3)

> 
> I'm not sure about the license. I wonder why include/babeltrace/list.h
> claims LGPLv2. That one test is GPLv2, which I find a little strange. Should
> that really make it GPL instead of LGPL?

I don't understand this part, 

The file clearly state that it is LGPL (and it comes from GLIBC which is LGPL)
Comment 7 Yannick Brosseau 2012-10-29 17:13:08 EDT
Finally we have the 1.0 release, 
Updated spec and SRPM:
SPEC: http://www.dorsal.polymtl.ca/~ybrosseau/fedora/SPECS/babeltrace.spec 
SRPM: http://www.dorsal.polymtl.ca/~ybrosseau/fedora/SRPMS/babeltrace-1.0.0-1.fc17.src.rpm
Comment 8 Brendan Jones 2013-01-09 01:38:58 EST
A few things. You have the same file being owned my multiple packages.

You only need to include the license file once if a package that it is provided by a parent package.

Use %doc in the main package and then remove them from the sub-packages. As long as the license files are present for every possibly combination of installed packages.

/usr/share/doc/babeltrace/ChangeLog
/usr/share/doc/babeltrace/gpl-2.0.txt
/usr/share/doc/babeltrace/mit-license.txt
/usr/share/doc/babeltrace/std-ext-lib.txt
/usr/share/doc/babeltrace/LICENSE

would become 

%doc LICENSE gpl-2.0.txt mit-license.txt ChangeLog

in only the main babeltrace and libbabeltrace packages.

You could then drop the /usr/share/doc/babeltrace directory altogether.

You should also run the binary generated under tests in the %check section
Comment 9 Brendan Jones 2013-01-13 02:34:36 EST
ping
Comment 10 Yannick Brosseau 2013-01-14 14:45:16 EST
(In reply to comment #8)
> A few things. You have the same file being owned my multiple packages.
> 
> You only need to include the license file once if a package that it is
> provided by a parent package.
> 
> Use %doc in the main package and then remove them from the sub-packages. As
> long as the license files are present for every possibly combination of
> installed packages.
> %doc LICENSE gpl-2.0.txt mit-license.txt ChangeLog
> in only the main babeltrace and libbabeltrace packages.
> You could then drop the /usr/share/doc/babeltrace directory altogether.

From what I understand, I cannot do that, because these documentation files are installed by the make install of the upstream package. 
%doc seems to be used if you have non installed file that you want to add to the package. 


> You should also run the binary generated under tests in the %check section

The make check entry is running the test normally.
Comment 11 Brendan Jones 2013-01-15 01:40:20 EST
Here's how you can do it (your tests are being built, but not run).

--- babeltrace.spec	2012-10-29 22:04:15.000000000 +0100
+++ babeltrace_mod.spec	2013-01-15 07:38:44.571167794 +0100
@@ -45,7 +45,7 @@ to/from another trace format.
 
 %build
 
-%configure --docdir=%{_docdir}/%{name}  --disable-static
+%configure --docdir=%{_docdir}/%{name}-%{version}  --disable-static
 #Remove RPath
 sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
 sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
@@ -54,6 +54,7 @@ make %{?_smp_mflags} V=1
 
 %check
 make check
+./tests/test-bitfield
 
 %install
 make DESTDIR=%{buildroot} install
@@ -63,22 +64,17 @@ rm -vf %{buildroot}%{_libdir}/*.la
 %postun -n lib%{name} -p /sbin/ldconfig
 
 %files
+%doc ChangeLog LICENSE *.txt
 %{_bindir}/%{name}*
-%dir %{_docdir}/%{name}
-%{_docdir}/%{name}/ChangeLog
-
-%{_docdir}/%{name}/*.txt
 %{_mandir}/man1/*.1*
 
 %files -n lib%{name}
+%doc ChangeLog LICENSE *.txt
 %{_libdir}/*.so.*
-%{_docdir}/%{name}/LICENSE
-
 
 %files -n lib%{name}-devel
 %{_prefix}/include/*
 %{_libdir}/*.so
-%{_docdir}/%{name}/LICENSE
 
 %changelog
 * Mon Oct 29 2012 Yannick Brosseau <yannick.brosseau@gmail.com> - 1.0.0-1
Comment 12 Yannick Brosseau 2013-01-15 20:11:10 EST
Ok, thanks about this pointer on the doc, I was not aware of it. 

new version:
SPEC: http://www.dorsal.polymtl.ca/~ybrosseau/fedora/SPECS/babeltrace.spec 
SRPM: http://www.dorsal.polymtl.ca/~ybrosseau/fedora/SRPMS/babeltrace-1.0.0-3.fc17.src.rpm
Comment 13 Brendan Jones 2013-01-17 10:08:34 EST
Good to go!


Package Review
==============

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


Issues:
=======
[!]: Package installs properly.
     Note: Installation errors (see attachment)
See: https://fedoraproject.org/wiki/Packaging:Guidelines
[+]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
     Note: Check did not completechecksum differs and there are problems
     running diff. Please verify manually.
See: http://fedoraproject.org/wiki/Packaging/SourceURL


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

C/C++:
[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]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[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]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package contains no bundled libraries.
[x]: Changelog in prescribed format.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Sources contain only permissible code or content.
[x]: Each %files section contains %defattr if rpm < 4.4
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: 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]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Fully versioned dependency in subpackages, if present.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in %package -n
     lib%{name}-devel, %package -n lib%{name}
[x]: Package complies to the Packaging Guidelines
[x]: Spec file lacks Packager, Vendor, PreReq tags.
[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]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "GPL", "LGPL", "GPL (v2 or later)", "GPL (v3 or later)", "Unknown or
     generated", "MIT/X11 (BSD like)". 6 files have unknown license. Detailed
     output of licensecheck in /home/bsjones/rpmbuild/SRPMS/review-
     babeltrace/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[x]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.
[x]: Package is named using only allowed ASCII characters.
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
     Note: Package contains no Conflicts: tag(s)
[x]: Package do not use a name that already exist
[x]: Package obeys FHS, except libexecdir and /usr/target.
[x]: 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.
[!]: Package installs properly.
     Note: Installation errors (see attachment)
[x]: Package is not relocatable.
[x]: Requires correct, justified where necessary.
[x]: CheckResultdir
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[!]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
     Note: Check did not completechecksum differs and there are problems
     running diff. Please verify manually.
[x]: Spec file is legible and written in American English.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[-: Package contains systemd file(s) if in need.
[x]: File names are valid UTF-8.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 81920 bytes in 10 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

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

Generic:
[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]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.
[x]: Dist tag is present.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: Scriptlets must be sane, if used.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX / PatchY prefixed with %{name}.
[x]: SourceX is a working URL.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[?]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed files.
[x]: Spec use %global instead of %define.

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

Generic:
[!]: Rpmlint is run on all installed packages.
     Note: Mock build failed
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
Comment 14 Yannick Brosseau 2013-01-17 13:03:53 EST
New Package SCM Request
=======================
Package Name: babeltrace
Short Description: Trace Viewer and Converter, mainly for the Common Trace Format
Owners: greenscientist
Branches: f18 f17 el6
InitialCC:
Comment 15 Gwyn Ciesla 2013-01-17 13:21:14 EST
Git done (by process-git-requests).
Comment 16 Fedora Update System 2013-01-17 23:34:51 EST
babeltrace-1.0.0-3.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/babeltrace-1.0.0-3.fc18
Comment 17 Fedora Update System 2013-01-19 22:06:54 EST
babeltrace-1.0.0-3.fc18 has been pushed to the Fedora 18 testing repository.
Comment 18 Fedora Update System 2013-02-12 23:38:50 EST
babeltrace-1.0.0-3.fc18 has been pushed to the Fedora 18 stable repository.

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