Bug 1207938 - Review Request: virglrenderer - 3D backend rendering library for qemu virtio GPU
Summary: Review Request: virglrenderer - 3D backend rendering library for qemu virtio GPU
Keywords:
Status: CLOSED RAWHIDE
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: 2015-04-01 03:36 UTC by Dave Airlie
Modified: 2016-01-11 13:30 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-01-11 13:30:38 UTC
Type: ---
Embargoed:
marcandre.lureau: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Description Dave Airlie 2015-04-01 03:36:15 UTC
Spec URL: https://fedorapeople.org/~airlied/virglrenderer/virglrenderer.spec
SRPM URL: https://fedorapeople.org/~airlied/virglrenderer/virglrenderer-0.1-0.20150401gita9ba2c442.fc23.src.rpm
Description: Virgil3D rendering library for use in qemu virtio GPU to provide 3D rendering capabilities.
Fedora Account System Username: airlied

Comment 1 Marc-Andre Lureau 2015-04-14 12:13:28 UTC
Summary:
- a few source files are missing license
- there is no seperate license file
- there is an obsolete automake macro
- %{?_smp_mflags} missing
- rpmlint E: library-without-ldconfig-postin

Probably fine:
- no %check
- no excludearch

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

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


Issues:
=======
- Package does not contain duplicates in %files.
  Note: warning: File listed twice: /usr/include/virgl
  See: http://fedoraproject.org/wiki/Packaging/Guidelines#DuplicateFiles
- Package uses either %{buildroot} or $RPM_BUILD_ROOT
  Note: Using both %{buildroot} and $RPM_BUILD_ROOT
  See: http://fedoraproject.org/wiki/Packaging/Guidelines#macros
- ldconfig called in %post and %postun if required.
  Note: /sbin/ldconfig not called in virglrenderer
  See: http://fedoraproject.org/wiki/Packaging/Guidelines#Shared_Libraries


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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Header files in -devel subpackage, if present.
[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.
[?]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "MIT/X11 (BSD like)", "BSD (3 clause)", "Unknown or generated". 17 files
     have unknown license:

It's probably worth to add license in the following files:
src/gallium/auxiliary/util/u_atomic.h
src/gallium/auxiliary/util/u_box.h
src/gallium/auxiliary/util/u_dual_blend.h
src/gallium/auxiliary/util/u_format_etc.c
src/gallium/include/pipe/p_config.h
src/virgl_hw.h
src/virgl_protocol.h
src/virtgpu_hw.h
tests/testvirgl_encode.c
tests/testvirgl_encode.h
vtest/vtest.h
vtest/vtest_protocol.h
vtest/vtest_renderer.c
vtest/vtest_server.c

[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[x]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory names).
[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.
[x]: Spec file is legible and written in American English.
[?]: Package is not known to require an ExcludeArch tag.
[x]: Packages must not store files under /srv, /opt or /usr/local
[x]: Package complies to the Packaging Guidelines
[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: There are rpmlint messages (see attachment).
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[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.

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

Generic:
[!]: Uses parallel make %{?_smp_mflags} macro.
[?]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.

Why not?

[x]: Final provides and requires are sane.
[?]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in
     virglrenderer-devel , virglrenderer-test-server
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: SourceX tarball generation or download is documented.
[?]: Package should compile and build into binary rpms on all supported
     architectures.
[?]: %check is present and all tests pass.

It's probably not that reliable to enable it on build

[x]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[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 (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

Generic:
[!]: Package should not use obsolete m4 macros
     Note: Some obsoleted macros found, see the attachment.
     See: https://fedorahosted.org/FedoraReview/wiki/AutoTools
[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: virglrenderer-0.1-0.20150401gita9ba2c442.fc21.x86_64.rpm
          virglrenderer-devel-0.1-0.20150401gita9ba2c442.fc21.x86_64.rpm
          virglrenderer-test-server-0.1-0.20150401gita9ba2c442.fc21.x86_64.rpm
          virglrenderer-0.1-0.20150401gita9ba2c442.fc21.src.rpm
virglrenderer.x86_64: W: spelling-error Summary(en_US) Virgl -> Virgil, Virgo, Viral
virglrenderer.x86_64: W: summary-ended-with-dot C Virgl Rendering library.
virglrenderer.x86_64: W: spelling-error %description -l en_US qemu -> emu, q emu
virglrenderer.x86_64: W: spelling-error %description -l en_US virtio -> virtuoso
virglrenderer.x86_64: W: no-url-tag
virglrenderer.x86_64: W: unstripped-binary-or-object /usr/lib64/libvirglrenderer.so.0.1.0
virglrenderer.x86_64: W: no-documentation
virglrenderer.x86_64: E: library-without-ldconfig-postin /usr/lib64/libvirglrenderer.so.0.1.0
virglrenderer.x86_64: E: library-without-ldconfig-postun /usr/lib64/libvirglrenderer.so.0.1.0
virglrenderer-devel.x86_64: W: no-dependency-on virglrenderer/virglrenderer-libs/libvirglrenderer
virglrenderer-devel.x86_64: W: spelling-error Summary(en_US) renderer -> tenderer, rendered, render er
virglrenderer-devel.x86_64: W: spelling-error %description -l en_US renderer -> tenderer, rendered, render er
virglrenderer-devel.x86_64: W: spelling-error %description -l en_US qemu -> emu, q emu
virglrenderer-devel.x86_64: W: no-url-tag
virglrenderer-devel.x86_64: W: only-non-binary-in-usr-lib
virglrenderer-devel.x86_64: W: no-documentation
virglrenderer-test-server.x86_64: W: spelling-error Summary(en_US) renderer -> tenderer, rendered, render er
virglrenderer-test-server.x86_64: W: spelling-error %description -l en_US renderer -> tenderer, rendered, render er
virglrenderer-test-server.x86_64: W: spelling-error %description -l en_US virgl -> viral, Virgil
virglrenderer-test-server.x86_64: W: no-url-tag
virglrenderer-test-server.x86_64: W: unstripped-binary-or-object /usr/bin/virgl_test_server
virglrenderer-test-server.x86_64: W: no-documentation
virglrenderer-test-server.x86_64: W: no-manual-page-for-binary virgl_test_server
virglrenderer.src: W: spelling-error Summary(en_US) Virgl -> Virgil, Virgo, Viral
virglrenderer.src: W: summary-ended-with-dot C Virgl Rendering library.
virglrenderer.src: W: spelling-error %description -l en_US qemu -> emu, q emu
virglrenderer.src: W: spelling-error %description -l en_US virtio -> virtuoso
virglrenderer.src: W: no-url-tag
virglrenderer.src: W: invalid-url Source0: virglrenderer-20150401.tar.xz
4 packages and 0 specfiles checked; 2 errors, 27 warnings.



AutoTools: Obsoleted m4s found
------------------------------
  AC_PROG_LIBTOOL found in: virglrenderer-20150401/configure.ac:23


Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14
Command line :/usr/bin/fedora-review -b 1207938
Buildroot used: fedora-21-x86_64
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG

Comment 2 Dave Airlie 2015-04-20 01:21:59 UTC
Spec URL: https://fedorapeople.org/~airlied/virglrenderer/virglrenderer.spec
SRPM URL: https://fedorapeople.org/~airlied/virglrenderer/virglrenderer-0.1-0.20150420gitc4fb40201.fc23.src.rpm
Description: Virgil3D rendering library for use in qemu virtio GPU to provide 3D rendering capabilities.
Fedora Account System Username: airlied

I've updated upstream with some of the fixes, and rebuild the package from it.

Thanks,
Dave.

Comment 3 Marc-Andre Lureau 2015-04-21 15:07:27 UTC
Just a nitpick, upstream version is 0.0.1, but spec is 0.1 (-0.20150420gitc4fb40201)

You may want to keep 0.0.1 in the spec too?

other than that looks fine to me

Comment 4 Dave Airlie 2015-04-22 01:19:16 UTC
New Package SCM Request
=======================
Package Name: virglrenderer
Short Description: 3D rendering library for virtual GPU
Upstream URL: https://virgil3d.github.io/
Owners: airlied
Branches: f21 f22 epel7
InitialCC:

Comment 5 Gwyn Ciesla 2015-04-22 11:35:05 UTC
Git done (by process-git-requests).

Comment 6 Marc-Andre Lureau 2016-01-11 13:30:38 UTC
upstream for a while, closing


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