Fedora Account System
Red Hat Associate
Red Hat Customer
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
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
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.
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.
(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.)
(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.
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!
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.
(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 :-)
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 ***