Bug 1177739 - Review Request: rubygem-vte3 - Ruby binding of VTE
Summary: Review Request: rubygem-vte3 - Ruby binding of VTE
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: František Dvořák
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-12-30 07:45 UTC by Mamoru TASAKA
Modified: 2015-01-06 06:37 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-01-06 06:37:55 UTC
Type: ---
Embargoed:
valtri: fedora-review+
opensource: fedora-cvs+


Attachments (Terms of Use)

Description Mamoru TASAKA 2014-12-30 07:45:29 UTC
Spec URL: https://mtasaka.fedorapeople.org/Review_request/ruby-gnome2-suite/rubygem-vte3.spec
SRPM URL: https://mtasaka.fedorapeople.org/Review_request/ruby-gnome2-suite/rubygem-vte3-2.2.4-1.fc.src.rpm
Description: Ruby/VTE3 is a Ruby binding of VTE
Fedora Account System Username: mtasaka

Comment 1 František Dvořák 2014-12-31 10:32:09 UTC
Package Review
==============

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


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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Development (unversioned) .so files in -devel subpackage, if present.
     Note: Unversioned so-files in private %_libdir subdirectory (see
     attachment). Verify they are not in ld path.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

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]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "LGPL (v2.1 or later)", "Unknown or generated". 7 files have unknown
     license.
[x]: License file installed when any subpackage combination is installed.
[x]: Package must own all directories that it creates.
     Note: Directories without known owners: /usr/share/gems,
     /usr/share/gems/doc
[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.
[-]: Package contains desktop file if it is a GUI application.
[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.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[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]: Package is not known to require an ExcludeArch tag.
[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 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 uses either %{buildroot} or $RPM_BUILD_ROOT
[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]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[-]: 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.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 0 bytes in 0 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

Ruby:
[x]: Platform dependent files must all go under %{gem_extdir_mri}, platform
     independent under %{gem_dir}.
[x]: Gem package must not define a non-gem subpackage
[x]: Macro %{gem_extdir} is deprecated.
[x]: Gem package is named rubygem-%{gem_name}
[x]: Package contains BuildRequires: rubygems-devel.
[x]: Gem package must define %{gem_name} macro.
[x]: Package does not contain Requires: ruby(abi).

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

Generic:
[x]: Avoid bundling fonts in non-fonts packages.
     Note: Package contains font files
[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.
     Note: proper way would be to include license text in each gem by upstream.
[x]: Final provides and requires are sane (see attachments).
[x]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in rubygem-
     vte3-devel , rubygem-vte3-doc
[x]: Package functions as described.
     OK: ruby -e "require 'vte3'"
     OK: examples from doc
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
     Note: proper way would be to include license text in each gem by upstream.
[-]: 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.
     Note: not available and properly commented in spec
[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 (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.

Ruby:
[x]: Specfile should use macros from rubygem-devel package.
[x]: Gem package should exclude cached Gem.
[x]: Gem should use %gem_install macro.
[x]: Test suite should not be run by rake.
[x]: Test suite of the library should be run.

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

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


Rpmlint
-------
Checking: rubygem-vte3-2.2.4-1.fc22.x86_64.rpm
          rubygem-vte3-devel-2.2.4-1.fc22.x86_64.rpm
          rubygem-vte3-doc-2.2.4-1.fc22.noarch.rpm
          rubygem-vte3-2.2.4-1.fc22.src.rpm
rubygem-vte3.x86_64: W: no-documentation
rubygem-vte3.x86_64: E: zero-length /usr/lib64/gems/ruby/vte3-2.2.4/gem.build_complete
rubygem-vte3-devel.x86_64: W: only-non-binary-in-usr-lib
rubygem-vte3-devel.x86_64: W: no-documentation
4 packages and 0 specfiles checked; 1 errors, 3 warnings.




Rpmlint (installed packages)
----------------------------
]0;<mock-chroot><mock-chroot>[root@forkys2 /]# rpmlint rubygem-vte3-doc rubygem-vte3 rubygem-vte3-devel
rubygem-vte3.x86_64: W: no-documentation
rubygem-vte3.x86_64: E: zero-length /usr/lib64/gems/ruby/vte3-2.2.4/gem.build_complete
rubygem-vte3-devel.x86_64: W: only-non-binary-in-usr-lib
rubygem-vte3-devel.x86_64: W: no-documentation
3 packages and 0 specfiles checked; 1 errors, 3 warnings.
]0;<mock-chroot><mock-chroot>[root@forkys2 /]# echo 'rpmlint-done:'



Requires
--------
rubygem-vte3-doc (rpmlib, GLIBC filtered):
    /usr/bin/env
    rubygem-vte3

rubygem-vte3 (rpmlib, GLIBC filtered):
    libX11.so.6()(64bit)
    libXext.so.6()(64bit)
    libatk-1.0.so.0()(64bit)
    libc.so.6()(64bit)
    libcairo-gobject.so.2()(64bit)
    libcairo.so.2()(64bit)
    libcrypt.so.1()(64bit)
    libdl.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)
    libm.so.6()(64bit)
    libpango-1.0.so.0()(64bit)
    libpangocairo-1.0.so.0()(64bit)
    libpthread.so.0()(64bit)
    libruby.so.2.1()(64bit)
    libvte2_90.so.9()(64bit)
    rtld(GNU_HASH)
    ruby(rubygems)
    rubygem(gtk3)

rubygem-vte3-devel (rpmlib, GLIBC filtered):
    /usr/bin/pkg-config
    rubygem-vte3(x86-64)



Provides
--------
rubygem-vte3-doc:
    rubygem-vte3-doc

rubygem-vte3:
    rubygem(vte3)
    rubygem-vte3
    rubygem-vte3(x86-64)

rubygem-vte3-devel:
    pkgconfig(ruby-vte3)
    rubygem-vte3-devel
    rubygem-vte3-devel(x86-64)



Unversioned so-files
--------------------
rubygem-vte3: /usr/lib64/gems/ruby/vte3-2.2.4/vte3.so

Source checksums
----------------
https://rubygems.org/gems/vte3-2.2.4.gem :
  CHECKSUM(SHA256) this package     : 5844f337c3569f5b9e67d0768295a8fa864fb3fb899d6ea532c285f0df1cdf11
  CHECKSUM(SHA256) upstream package : 5844f337c3569f5b9e67d0768295a8fa864fb3fb899d6ea532c285f0df1cdf11


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

======

No real issues found. Package APPROVED!


Consider looking at these details:

1) relaxing of version dependencies: better to specify also the name of the dependency (=gtk3) in the regular expression, not only the version number

2) "--with-cflags='%{optflags}" is not needed, it is added already by %gem_install, so currently it is used two-times

3) cosmetics:
 - license: What does the comment "Various files in gem" mean? Maybe it could be removed. I would expect the files without copyright are also under LPGL.
 - installation of C extension is different from the example in guidelines (but it's OK and there is no problem with that)
 - description: there should be a dot at the end
 - why the '-c' argument in the install commands?

Comment 2 Mamoru TASAKA 2014-12-31 16:11:25 UTC
Thank you!

1) Usually rubygem-glib2 dependency is the most important, so for now
   I write BR version dependency only for rubygem-glib2-devel.

2) Ah... well, %gem_install in /usr/lib/rpm/macros.d/macros.rubygems
   may have to fix, I will check this (there can be a problem
   when we want to change CONFIGURE_ARGS - currently it seems okay,
   however when we change ruby to 2.2 on F-22, perhaps it is better
   to modify /usr/lib/rpm/macros.d/macros.rubygems at this timing)

3) - ruby-gnome2 suite all is currently under LGPLv2+. I will change to
     better comments.
   - I will modify description
   - -c option for install command is actually not needed (does nothing),
     just my habit :)

Comment 3 Mamoru TASAKA 2014-12-31 16:13:06 UTC
New Package SCM Request
=======================
Package Name: rubygem-vte3
Short Description: Ruby binding of VTE
Upstream URL: http://ruby-gnome2.sourceforge.jp/
Owners: mtasaka
Branches: f21
InitialCC:

Comment 4 Till Maas 2015-01-01 23:06:13 UTC
Git done (by process-git-requests).

Comment 5 Mamoru TASAKA 2015-01-06 06:37:55 UTC
Pushed into rawhide, push requested on F-21, closing.

Thank you for review and git procedure.


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