Bug 876995

Summary: Review Request: gtkspell3 - On-the-fly spell checking for GtkTextView widgets
Product: [Fedora] Fedora Reporter: Kalev Lember <kalevlember>
Component: Package ReviewAssignee: Michael S. <misc>
Status: CLOSED CURRENTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: manisandro, misc, notting, package-review, tcallawa
Target Milestone: ---Flags: misc: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-01-12 01:02:56 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Kalev Lember 2012-11-15 13:48:26 UTC
Spec URL: http://kalev.fedorapeople.org/gtkspell3.spec
SRPM URL: http://kalev.fedorapeople.org/gtkspell3-3.0.0-1.fc18.src.rpm
Description:
GtkSpell provides word-processor-style highlighting and replacement of
misspelled words in a GtkTextView widget as you type. Right-clicking a
misspelled word pops up a menu of suggested replacements.

Fedora Account System Username: kalev

Comment 1 Sandro Mani 2012-11-16 22:14:31 UTC
I'll do an unofficial review since I'm not sponsored. Based on fedora-review output.

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

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

===== 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
[-]: Macros in Summary, %description expandable at SRPM build time.
[-]: 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
     devel => ? seems a fedora-review bug, the Requires is there
[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 (v2 or later)", "Unknown or generated". 2 files have unknown
     license. Detailed output of licensecheck
[x]: License file installed when any subpackage combination is installed.
[x]: The spec file handles locales properly.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[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.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Package must own all directories that it creates.
     Only %{_includedir}/gtkspell-3.0/ is created, and is owned
[x]: Package does not own files or directories owned by other packages.
[x]: Package installs properly.
[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).
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[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 30720 bytes in 3 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)
[-]: 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.
[-]: 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.
[-]: %check is present and all tests pass.
[?]: Packages should try to preserve timestamps of original installed files.
[x]: Spec use %global instead of %define.

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

Generic:
[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.
[-]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.


Rpmlint
-------
Checking: gtkspell3-devel-3.0.0-1.fc19.x86_64.rpm
          gtkspell3-3.0.0-1.fc19.x86_64.rpm
          gtkspell3-3.0.0-1.fc19.src.rpm
          gtkspell3-debuginfo-3.0.0-1.fc19.x86_64.rpm
gtkspell3.x86_64: E: incorrect-fsf-address /usr/share/doc/gtkspell3-3.0.0/COPYING
4 packages and 0 specfiles checked; 1 errors, 0 warnings.

------------------------------------------------------------

No failed tests.

I've fixed the incorrect-fsf-address upstream.

Since I'm one of the upstream maintainers of the package, I could co-maintain once I'm sponsored.

Comment 2 Kalev Lember 2012-11-18 12:13:09 UTC
Hi Sandro,

Thanks for the review and for taking care of the COPYING file update! Any chance you could also add license headers to the source files while you are at this?

From the GPLv2 text:

            How to Apply These Terms to Your New Programs

/.../

  To do so, attach the following notices to the program.  It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.

    <one line to give the program's name and a brief idea of what it does.>
    Copyright (C) <year>  <name of author>

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License along
    with this program; if not, write to the Free Software Foundation, Inc.,
    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Comment 3 Sandro Mani 2012-11-18 13:25:14 UTC
Done!

Comment 4 Michael S. 2012-12-15 16:26:18 UTC
Kalev, would you be ok to have Sandro as co maintainer ? 

As the review was quite good and sandro seems to have some experience on packaging rpm, I am willing to sponsor him. 

I am looking at doing a formal review of this rpm.

Comment 5 Michael S. 2012-12-15 16:43:52 UTC
So nothing special to fix, and I think I found a few bug in fedora-review while testing it. So to me that's approved.

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

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



===== 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]: ldconfig called in %post and %postun if required.
[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.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FESCO 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 requires other packages for directories it uses.
[x]: Package uses nothing in %doc for runtime.
[x]: Package is not known to require ExcludeArch.
[x]: Fully versioned dependency in subpackages, if present.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in
     gtkspell3-devel
[x]: Package complies to the Packaging Guidelines
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "GPL (v2 or later)", "Unknown or generated". 2 files have unknown
     license. Detailed output of licensecheck in
     /home/misc/checkout/git/FedoraReview/876995-gtkspell3/licensecheck.txt
[x]: License file installed when any subpackage combination is installed.
[x]: The spec file handles locales properly.
[x]: Package consistently uses macro is (instead of hard-coded directory
     names).
[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 obeys FHS, except libexecdir and /usr/target.
[-]: 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.
[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.
[-]: Large documentation must go in a -doc subpackage.
     Note: Documentation size is 30720 bytes in 3 files.
[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]: Each %files section contains %defattr if rpm < 4.4
[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.
[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]: 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]: Packages must not store files under /srv, /opt or /usr/local
[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: CheckResultdir
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).

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

Generic:
[x]: Uses parallel make.
[-]: 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]: Final provides and requires are sane (rpm -q --provides and rpm -q
     --requires).
[?]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Scriptlets must be sane, if used.
[-]: 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.
[-]: Packages should try to preserve timestamps of original installed files.
[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.
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define.

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

Generic:
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[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: gtkspell3-3.0.0-1.fc18.x86_64.rpm
          gtkspell3-devel-3.0.0-1.fc18.x86_64.rpm
gtkspell3.x86_64: E: incorrect-fsf-address /usr/share/doc/gtkspell3-3.0.0/COPYING
2 packages and 0 specfiles checked; 1 errors, 0 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint gtkspell3 gtkspell3-devel
gtkspell3.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libgtkspell3-3.so.0.0.0 /lib64/libgdk-3.so.0
gtkspell3.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libgtkspell3-3.so.0.0.0 /lib64/libatk-1.0.so.0
gtkspell3.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libgtkspell3-3.so.0.0.0 /lib64/libgio-2.0.so.0
gtkspell3.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libgtkspell3-3.so.0.0.0 /lib64/libpangocairo-1.0.so.0
gtkspell3.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libgtkspell3-3.so.0.0.0 /lib64/libgdk_pixbuf-2.0.so.0
gtkspell3.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libgtkspell3-3.so.0.0.0 /lib64/libcairo-gobject.so.2
gtkspell3.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libgtkspell3-3.so.0.0.0 /lib64/libpango-1.0.so.0
gtkspell3.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libgtkspell3-3.so.0.0.0 /lib64/libcairo.so.2
gtkspell3.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libgtkspell3-3.so.0.0.0 /lib64/libgmodule-2.0.so.0
gtkspell3.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libgtkspell3-3.so.0.0.0 /lib64/librt.so.1
gtkspell3.x86_64: W: unused-direct-shlib-dependency /usr/lib64/libgtkspell3-3.so.0.0.0 /lib64/libpthread.so.0
gtkspell3.x86_64: E: incorrect-fsf-address /usr/share/doc/gtkspell3-3.0.0/COPYING
2 packages and 0 specfiles checked; 1 errors, 11 warnings.
# echo 'rpmlint-done:'



Requires
--------
gtkspell3 (rpmlib, GLIBC filtered):
    /sbin/ldconfig
    libatk-1.0.so.0()(64bit)
    libc.so.6()(64bit)
    libcairo-gobject.so.2()(64bit)
    libcairo.so.2()(64bit)
    libenchant.so.1()(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)
    libgmodule-2.0.so.0()(64bit)
    libgobject-2.0.so.0()(64bit)
    libgtk-3.so.0()(64bit)
    libpango-1.0.so.0()(64bit)
    libpangocairo-1.0.so.0()(64bit)
    libpthread.so.0()(64bit)
    librt.so.1()(64bit)
    rtld(GNU_HASH)

gtkspell3-devel (rpmlib, GLIBC filtered):
    /usr/bin/pkg-config
    gtkspell3(x86-64)
    libgtkspell3-3.so.0()(64bit)



Provides
--------
gtkspell3:
    gtkspell3
    gtkspell3(x86-64)
    libgtkspell3-3.so.0()(64bit)

gtkspell3-devel:
    gtkspell3-devel
    gtkspell3-devel(x86-64)
    pkgconfig(gtkspell3-3.0)



MD5-sum check
-------------
http://downloads.sourceforge.net/gtkspell/gtkspell3-3.0.0.tar.gz :
  CHECKSUM(SHA256) this package     : e70161532c8ae131b9df3164d3a38562de20a136a2933f026b4e1633adbb7796
  CHECKSUM(SHA256) upstream package : e70161532c8ae131b9df3164d3a38562de20a136a2933f026b4e1633adbb7796


Generated by fedora-review 0.2.0 (Unknown) last change: Unknown
Buildroot used: fedora-18-x86_64
Command line :./try-fedora-review -b 876995

Comment 6 Kalev Lember 2012-12-15 16:48:58 UTC
Thanks Michael, much appreciated.

Yes, I'm OK with Sandro being a (co-) maintainer of this. As a matter of fact, now that you've officially approved this package, I'd be happy to sponsor Sandro myself and work with him to get to know Fedora processes. Or you sponsor him, either way works really.

I've been holding back so far because I didn't want to get into this situation where I sponsor someone just so that he could approve my package. You know, conflict of interest on my part.

Comment 7 Kalev Lember 2012-12-15 16:55:09 UTC
New Package SCM Request
=======================
Package Name: gtkspell3
Short Description: On-the-fly spell checking for GtkTextView widgets
Owners: kalev
Branches: f18
InitialCC: smani

Comment 8 Sandro Mani 2012-12-15 17:03:04 UTC
I'd definitely be interested in becoming a package (co-)maintainer. Actually I was always sort of waiting for myself to bring one of my projects to a publishable state, but while close, I'm not there yet. Regardless, I've been creating packages for personal use for the past two years or so, so I should have some experience. But since this is not really relevant for this bug, I guess we should continue the discussion via email?
 
Thanks!

Comment 9 Michael S. 2012-12-15 17:04:27 UTC
Either way is fine for me. 
I am a new sponsor, so it was a easy win for me to have it sponsored and let the duty of explaining the processes to someone else, but now I said it, my secret plan is no longer secret, so please sponsor him :)

Comment 10 Gwyn Ciesla 2012-12-16 02:16:39 UTC
Git done (by process-git-requests).

Comment 11 Fedora Update System 2012-12-16 16:58:52 UTC
gtkspell3-3.0.0-1.fc18 has been submitted as an update for Fedora 18.
https://admin.fedoraproject.org/updates/gtkspell3-3.0.0-1.fc18

Comment 12 Fedora Update System 2012-12-17 18:30:38 UTC
gtkspell3-3.0.0-1.fc18 has been pushed to the Fedora 18 testing repository.

Comment 13 Fedora Update System 2013-01-12 01:02:57 UTC
gtkspell3-3.0.0-1.fc18 has been pushed to the Fedora 18 stable repository.