Bug 920310 - Review Request: apitrace - OpenGL(ES) tools for trace and replay
Summary: Review Request: apitrace - OpenGL(ES) tools for trace and replay
Keywords:
Status: CLOSED DUPLICATE of bug 1030107
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Nobody's working on this, feel free to take it
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-03-11 18:57 UTC by Rob Clark
Modified: 2013-11-13 22:59 UTC (History)
7 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2013-11-13 22:59:45 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Rob Clark 2013-03-11 18:57:41 UTC
Spec URL: http://people.freedesktop.org/~robclark/rpmbuild/apitrace/apitrace.spec
SRPM URL: http://people.freedesktop.org/~robclark/rpmbuild/SRPMS/apitrace-3.0-1.fc19.src.rpm
Description: Tools for trace and replay of OpenGL(ES) API calls.
Fedora Account System Username: rclark

Comment 1 Martin Preisler 2013-03-31 23:14:08 UTC
Hi,
just informal review for now.

When I try to build the spec I get the following errors:

Processing files: apitrace-3.0-1.fc18.x86_64
error: File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/unpickle.pyo
error: File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/highlight.pyo
error: File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/tracediff.pyo
error: File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/snapdiff.pyc
error: File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/tracecheck.pyc
error: File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/jsondiff.pyo
error: File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/tracecheck.pyo
error: File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/jsondiff.pyc
error: File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/retracediff.pyc
error: File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/retracediff.pyo
error: File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/profileshader.pyc
error: File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/unpickle.pyc
error: File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/profileshader.pyo
error: File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/tracediff.pyc
error: File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/highlight.pyc
error: File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/snapdiff.pyo


RPM build errors:
    File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/unpickle.pyo
    File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/highlight.pyo
    File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/tracediff.pyo
    File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/snapdiff.pyc
    File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/tracecheck.pyc
    File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/jsondiff.pyo
    File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/tracecheck.pyo
    File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/jsondiff.pyc
    File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/retracediff.pyc
    File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/retracediff.pyo
    File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/profileshader.pyc
    File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/unpickle.pyc
    File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/profileshader.pyo
    File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/tracediff.pyc
    File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/highlight.pyc
    File not found: /home/mpreisle/rpmbuild/BUILDROOT/apitrace-3.0-1.fc18.x86_64/usr/lib64/apitrace/scripts/snapdiff.pyo

I think the reason for this is that you are not https://fedoraproject.org/wiki/Packaging:Python#Byte_compiling

Furthermore, when I sidestepped this issue and tried to apitrace an OpenGL application, I get this:

$ apitrace trace --api gl SomeApplicationHere
error: failed to find glxtrace.so

Comment 2 Rob Clark 2013-04-22 15:31:28 UTC
btw, the %{python_sitelib} tip in that link doesn't seem to work out for apitrace, which puts it's .py files in %{_libdir}/apitrace/scripts.. although that is perhaps a non-standard location.  So I'm not entirely sure the best way to handle this.

Comment 3 Christopher Meng 2013-09-07 06:53:10 UTC
1. Use tags.


https://github.com/apitrace/apitrace/releases

So please also modify Source0 URL.

2. Remove %defattr(-,root,root,-)


3. Wrong:

%dir %{_libdir}/apitrace/wrappers
%{_libdir}/apitrace/wrappers
%{_libdir}/apitrace/wrappers/glxtrace.so
%{_libdir}/apitrace/wrappers/egltrace.so
%dir %{_libdir}/apitrace/scripts
%{_libdir}/apitrace/scripts/highlight.py
%{_libdir}/apitrace/scripts/unpickle.pyo
%{_libdir}/apitrace/scripts/tracecheck.py
%{_libdir}/apitrace/scripts/snapdiff.py
%{_libdir}/apitrace/scripts/highlight.pyo
%{_libdir}/apitrace/scripts/profileshader.py
%{_libdir}/apitrace/scripts/tracediff.pyo
%{_libdir}/apitrace/scripts/snapdiff.pyc
%{_libdir}/apitrace/scripts/tracecheck.pyc
%{_libdir}/apitrace/scripts/tracediff.py
%{_libdir}/apitrace/scripts/jsondiff.pyo
%{_libdir}/apitrace/scripts/retracediff.py
%{_libdir}/apitrace/scripts/tracecheck.pyo
%{_libdir}/apitrace/scripts/jsondiff.pyc
%{_libdir}/apitrace/scripts/retracediff.pyc
%{_libdir}/apitrace/scripts/retracediff.pyo
%{_libdir}/apitrace/scripts/profileshader.pyc
%{_libdir}/apitrace/scripts/unpickle.pyc
%{_libdir}/apitrace/scripts/jsondiff.py
%{_libdir}/apitrace/scripts/profileshader.pyo
%{_libdir}/apitrace/scripts/tracediff.pyc
%{_libdir}/apitrace/scripts/unpickle.py
%{_libdir}/apitrace/scripts/highlight.pyc
%{_libdir}/apitrace/scripts/snapdiff.pyo

First, these files shouldn't be installed to libdir.

Please use %python_sitearch, not %python_sitelib.

----------
%dir %{_datadir}/doc/apitrace
%{_datadir}/doc/apitrace/LICENSE-snappy.txt
%{_datadir}/doc/apitrace/LICENSE-zlib.txt
%{_datadir}/doc/apitrace/NEWS.markdown
%{_datadir}/doc/apitrace/BUGS.markdown
%{_datadir}/doc/apitrace/LICENSE.txt
%{_datadir}/doc/apitrace/LICENSE-libpng.txt
%{_datadir}/doc/apitrace/LICENSE-qjson.txt
%{_datadir}/doc/apitrace/README.markdown

These are wrong, too.

Use %doc to mark them, don't write down in the %files with full path.

Comment 4 Rob Clark 2013-09-09 14:05:39 UTC
(In reply to Christopher Meng from comment #3)
> 3. Wrong:
> 
> %dir %{_libdir}/apitrace/wrappers
> %{_libdir}/apitrace/wrappers
> %{_libdir}/apitrace/wrappers/glxtrace.so
> %{_libdir}/apitrace/wrappers/egltrace.so
> %dir %{_libdir}/apitrace/scripts
> %{_libdir}/apitrace/scripts/highlight.py
> %{_libdir}/apitrace/scripts/unpickle.pyo
...
> %{_libdir}/apitrace/scripts/highlight.pyc
> %{_libdir}/apitrace/scripts/snapdiff.pyo
> 
> First, these files shouldn't be installed to libdir.

note that apitrace does not install it's py stuff to %{python_sitelib} like a normal py package should, and changing this is beyond the scope of just packaging.  (Although it looks like I could use %py_byte_compile or something similar to handle the byte compiled files properly.)

Comment 5 Ralf Corsepius 2013-09-09 16:27:45 UTC
(In reply to Rob Clark from comment #4)

> note that apitrace does not install it's py stuff to %{python_sitelib} like
> a normal py package should, and changing this is beyond the scope of just
> packaging. 
Well, providing proper packaging and system integration IS part of a packager's job.

Anyway, this package contains plenty of bundled libs and applications.
AFAIS, some of them are being used (Amongst them zlib and libpng). Make sure these bundled libs/apps are not being used, or apply for an exception from FPC.

Comment 6 Daniel Drake 2013-10-23 23:38:51 UTC
Failed to build here under mock, I think it is missing BuildRequires python


CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
  Could NOT find PythonInterp (missing: PYTHON_EXECUTABLE)
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/cmake/Modules/FindPythonInterp.cmake:139 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:60 (find_package)
  CMakeLists.txt:64 (find_host_package)
-- Configuring incomplete, errors occurred!

Comment 7 Sandro Mani 2013-11-13 22:35:42 UTC
I'd also like to see this in fedora. Here is the package I'm currently using:
SPEC: http://smani.fedorapeople.org/review/apitrace.spec
SRPM: http://smani.fedorapeople.org/review/apitrace-4.0-1.fc21.src.rpm

It packages the latest 4.0 release and unbundles all libraries (except the khronos headers).

@Rob: Are you still pursuing this? Otherwise, I'd be happy to continue.

Comment 8 Rob Clark 2013-11-13 22:40:36 UTC
(In reply to Sandro Mani from comment #7)
> I'd also like to see this in fedora. Here is the package I'm currently using:
> SPEC: http://smani.fedorapeople.org/review/apitrace.spec
> SRPM: http://smani.fedorapeople.org/review/apitrace-4.0-1.fc21.src.rpm
> 
> It packages the latest 4.0 release and unbundles all libraries (except the
> khronos headers).
> 
> @Rob: Are you still pursuing this? Otherwise, I'd be happy to continue.

Sandro, no, I've not really had time.  If you've managed to unbundle all the libs, etc, please by all means continue.  I'll be a happy user of your package :-)

Comment 9 Sandro Mani 2013-11-13 22:59:45 UTC
Ok! I've posted a review for my package at #1030107 . I'm closing this as duplicate.

*** This bug has been marked as a duplicate of bug 1030107 ***


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