Bug 427034 - Review Request: NNTPGrab - Usenet download program
Summary: Review Request: NNTPGrab - Usenet download program
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Mamoru TASAKA
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-12-30 14:08 UTC by Erik van Pienbroek
Modified: 2009-04-16 04:22 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-01-14 18:35:06 UTC
Type: ---
Embargoed:
mtasaka: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)
spec file for NNTPGrab, with feedback from comment #1 (4.49 KB, text/plain)
2008-01-11 19:51 UTC, Erik van Pienbroek
no flags Details
spec file for NNTPGrab, with feedback from comment #3 (4.65 KB, text/plain)
2008-01-12 15:09 UTC, Erik van Pienbroek
no flags Details

Description Erik van Pienbroek 2007-12-30 14:08:26 UTC
Spec URL: http://www.nntpgrab.nl/fedora/nntpgrab.spec
SRPM URL: http://nntpgrab.nl/fedora/nntpgrab-0.2.1-2.src.rpm
Description:

NNTPGrab is a usenet download program.

This program is developed by me and I would like to propose this package for inclusion in Fedora. This is my first try, so I'm in need for a sponsor.

While this project is still in early development it already has a great set of features. It is possible to import NZB files in the program and the program can download the contents mentioned in these NZB files to your local computer using a nice graphical interface.

Due to it's architecture, the frontend and backend are completely split from each other. This means that later in the development, new frontends (like a DBUS- or a web-based one) can be created.

In the past I've already maintained this package for Fedora users in a seperate yum repository. This is also the reason why there are some Obsoletes/Provides tags in the spec file. When the package is approved for inclusion in Fedora, users of my own yum repository can have a seamless upgrade.

I've already run rpmlint on the spec file and all the RPM's and the only issues which remain are :

$ rpmlint nntpgrab-0.2.1-2.i386.rpm 
nntpgrab.i386: W: no-documentation
nntpgrab.i386: E: no-binary
$ rpmlint nntpgrab-core-0.2.1-2.i386.rpm 
nntpgrab-core.i386: E: zero-length /usr/share/doc/nntpgrab-core-0.2.1/README
$ rpmlint nntpgrab-devel-0.2.1-2.i386.rpm 
nntpgrab-devel.i386: W: no-documentation
$ rpmlint nntpgrab-gui-0.2.1-2.i386.rpm 
nntpgrab-gui.i386: W: no-documentation
$ rpmlint nntpgrab-plugins-0.2.1-2.i386.rpm 
nntpgrab-plugins.i386: W: no-documentation
nntpgrab-plugins.i386: W: devel-file-in-non-devel-package /usr/lib/libnntpgrab_plugin_decoder.so
nntpgrab-plugins.i386: W: devel-file-in-non-devel-package /usr/lib/libnntpgrab_plugin_schedular.so
nntpgrab-plugins.i386: W: devel-file-in-non-devel-package /usr/lib/libnntpgrab_plugin_nntp.so

I assume the warnings about the missing documentation can be ignored, in the 'nntpgrab-core' package there are some documentation files placed and as you can see, it's just the README file which doesn't have any contents yet.

The error from the 'nntpgrab' package which says there are no binaries can also be ignored as that package is just a meta package to pull in 'nntpgrab-core', 'nntpgrab-plugins' and 'nntpgrab-gui'.

The final warnings, from the 'nntpgrab-plugins' package about the devel-file-in-non-devel-package needs to be ignored. This is because these plugins are dynamically loaded using g_module_open() which needs those .so files (not just the symlinks).

Comment 1 Mamoru TASAKA 2008-01-11 16:12:43 UTC
For general packaging guidelines, please refer to
http://fedoraproject.org/wiki/Packaging/Guidelines
http://fedoraproject.org/wiki/Packaging/ReviewGuidelines


For 0.2.1-2:

* disttag
  - Please consider to use %{?dist} tag.
    http://fedoraproject.org/wiki/Packaging/DistTag

* URL
  - Perhaps URL contains some typo :)

* Seemingly unneeded Provides
  - Why do you want to make -plugins subpackage have
    "Provides: nntpgrab-plugin-nntp" or so?

  - Also, "Obsoletes: nntpgrab-plugin-nntp" seems unneeded
    as perhaps Fedora has never had nntpgrab-plugin-nntp
    rpm.

* Dependency between subpackage
  - -devel subpackage should have 
    "Requires: %{name}-core = %{version}-%{release}"

* %configure
  - %configure should be moved to %build.

* Vendor name of desktop file
  - Usually the vendor id of desktop file should be "fedora".
    Do you want to have desktop file named "NNTPGrab-nntpgrab.desktop"?

* libtool .la file <-> .so symlink
  - libtool .la file should be removed unless needed. Instead
   the symlink %{_libdir}/libnntpgrab.so should _not_ be removed
   and this symlink should be included in -devel subpackage.

* defattr
  - We now recommend %defattr(-,root,root,-)

* Directory ownership issue
  - %{_includedir}/nntpgrab is not owned by any packages.

* Dependency for -devel pacakage
  - %_libdir/pkgconfig/nntpgrab.pc contains the line:
--------------------------------------------------------
     9  Requires: glib-2.0
--------------------------------------------------------
    Also %_includedir/nntpgrab/nntpgrab.h contains
--------------------------------------------------------
    22  #include <glib.h>
--------------------------------------------------------
    This means that -devel subpackage should have
    "Requires: glib2-devel".

? plugins
  - By the way, if all files in -plugins package under %_libdir
    directory are only used as plugins called by only dlopen, is
    it possible
    - to move all plugins to some unique directory only used
      by nntpgrab, for example %_libdir/nntpgrab
    - and "rename" (not symlink) libnntpgrab_plugin_nntp.so.0.0.0 to
      libnntpgrab_plugin_nntp.so, for example (as dlopen'ed
      file name is libnntpgrab_plugin_nntp.so)
    (not a blocker) ?


Comment 2 Erik van Pienbroek 2008-01-11 19:51:04 UTC
Created attachment 291414 [details]
spec file for NNTPGrab, with feedback from comment #1

New srpm can be found at
http://www.nntpgrab.nl/fedora/nntpgrab-0.2.1-3.fc9.src.rpm

(In reply to comment #1)
> * disttag
>   - Please consider to use %{?dist} tag.
>     http://fedoraproject.org/wiki/Packaging/DistTag

Added in the Release field
 
> * URL
>   - Perhaps URL contains some typo :)

Fixed
 
> * Seemingly unneeded Provides
>   - Why do you want to make -plugins subpackage have
>     "Provides: nntpgrab-plugin-nntp" or so?
> 
>   - Also, "Obsoletes: nntpgrab-plugin-nntp" seems unneeded
>     as perhaps Fedora has never had nntpgrab-plugin-nntp
>     rpm.

This is because in a previous version of the .spec file, there were
sub-packages for each individual plugin. There already are several users which
have installed this previous version. Before proposing this package into
Fedora, I decided to merge those sub-packages to one -plugins sub-package. So
to provide the old users a seamless upgrade once this package hits Fedora, I
had to use the provides/obsoletes trick.

> * Dependency between subpackage
>   - -devel subpackage should have 
>     "Requires: %{name}-core = %{version}-%{release}"

Fixed

> * %configure
>   - %configure should be moved to %build.

Fixed

> * Vendor name of desktop file
>   - Usually the vendor id of desktop file should be "fedora".
>     Do you want to have desktop file named "NNTPGrab-nntpgrab.desktop"?

Vendor for the desktop file changed to 'fedora'

> * libtool .la file <-> .so symlink
>   - libtool .la file should be removed unless needed. Instead
>    the symlink %{_libdir}/libnntpgrab.so should _not_ be removed
>    and this symlink should be included in -devel subpackage.

Added the file %{_libdir}/libnntpgrab.so to the -devel subpackage.

> * defattr
>   - We now recommend %defattr(-,root,root,-)

Fixed
 
> * Directory ownership issue
>   - %{_includedir}/nntpgrab is not owned by any packages.

Fixed (I hope, couldn't find any good documentation about directory ownerships)

 
> * Dependency for -devel pacakage
>   - %_libdir/pkgconfig/nntpgrab.pc contains the line:
> --------------------------------------------------------
>      9  Requires: glib-2.0
> --------------------------------------------------------
>     Also %_includedir/nntpgrab/nntpgrab.h contains
> --------------------------------------------------------
>     22  #include <glib.h>
> --------------------------------------------------------
>     This means that -devel subpackage should have
>     "Requires: glib2-devel".

Fixed
 
> ? plugins
>   - By the way, if all files in -plugins package under %_libdir
>     directory are only used as plugins called by only dlopen, is
>     it possible
>     - to move all plugins to some unique directory only used
>	by nntpgrab, for example %_libdir/nntpgrab
>     - and "rename" (not symlink) libnntpgrab_plugin_nntp.so.0.0.0 to
>	libnntpgrab_plugin_nntp.so, for example (as dlopen'ed
>	file name is libnntpgrab_plugin_nntp.so)
>     (not a blocker) ?

For now, I've removed all the symlinks for the plugins and renamed them to
name_of_plugin.so. For the next version of NNTPGrab I will put the plugins in a
seperate directory (/usr/lib/nntpgrab)

Comment 3 Mamoru TASAKA 2008-01-12 06:59:15 UTC
For 0.2.1-3:

- If all plugins in -plugins subpackage are only dlopened, calling
  /sbin/ldconfig in %post(un) scriptlets (in -plugins subpackage)
  should not be needed.

- README file has 0 size, which should usually be removed.

- Would you have any reason to ship libtool .la file?
  (please check the section "Exclusion of Static Libraries" of
   http://fedoraproject.org/wiki/Packaging/Guidelines)

Anyway, almost okay. Then:
-------------------------------------------------------------
NOTE: Before being sponsored:

This package will be accepted with another few work. 
But before I accept this package, someone (I am a candidate) 
must sponsor you.

Once you are sponsored, you have the right to review other 
submitters' review requests and approve the packages formally. 
For this reason, the person who want to be sponsored (like you) 
are required to "show that you have an understanding 
of the process and of the packaging guidelines" as is described
on :
http://fedoraproject.org/wiki/PackageMaintainers/HowToGetSponsored

Usually there are two ways to show this.
A. submit other review requests with enough quality.
B. Do a "pre-review" of other person's review request
   (at the time you are not sponsored, you cannot do
   a formal review)

When you have submitted a new review request or have pre-reviewed other 
person's review request, please write the bug number on this bug report 
so that I can check your comments or review request.

Fedora package collection review requests which are waiting for someone to
review can be checked on:
http://fedoraproject.org/PackageReviewStatus/NEW.html
(NOTE: please don't choose "Merge Review")


Review guidelines are described mainly on:
http://fedoraproject.org/wiki/Packaging/ReviewGuidelines
http://fedoraproject.org/wiki/Packaging/Guidelines
http://fedoraproject.org/wiki/Packaging/ScriptletSnippets
------------------------------------------------------------


Comment 4 Erik van Pienbroek 2008-01-12 15:09:22 UTC
Created attachment 291466 [details]
spec file for NNTPGrab, with feedback from comment #3

0.2.1-4:
- Removed the %post{,un} scriptlets for the -plugins subpackage
- Removed README file from %doc as it is a zero-byte file
- Removed the .la file from the -devel subpackage

New srpm at http://www.nntpgrab.nl/fedora/nntpgrab-0.2.1-4.fc9.src.rpm

--

I've also just reviewed #427669, created a Fedora account (username
'epienbro'), signed the CLA and added myself to the roles 'cvsextras' and
'fedorabugs'. Is there anything else I need to do now or do I need to wait for
your approval?

Comment 5 Mamoru TASAKA 2008-01-12 16:58:12 UTC
Okay.

- This package itself is okay
- Your pre-review seems good for initial comments

--------------------------------------------------------------------
          This package (nntpgrab) is APPROVED by me
--------------------------------------------------------------------

Now I am sponsoring you.
Please follow the procedure according to:
http://fedoraproject.org/wiki/PackageMaintainers/Join

If you want to import this package into Fedora 7/8, you also have
to look at
http://fedoraproject.org/wiki/Infrastructure/UpdatesSystem/Bodhi-info-DRAFT
(after once you rebuilt this package on Fedora rebuilding system).

If you have questions, please ask me.

Comment 6 Erik van Pienbroek 2008-01-12 23:18:30 UTC
New Package CVS Request
=======================
Package Name: nntpgrab
Short Description: Usenet download program
Owners: epienbro
Branches: F-7 F-8
InitialCC: epienbro
Cvsextras Commits: no


Comment 7 Kevin Fenzi 2008-01-13 18:11:42 UTC
cvs done. 

Any particular reason to disallow cvsextras commits? 
That will make it harder for people to assist you or fix your package in the
event you are not available. 

Comment 8 Erik van Pienbroek 2008-01-13 19:44:26 UTC
There isn't any particular reason to disallow cvsextras commits. This is just my
first Fedora package, so I didn't know what the default value of that option is.
Apparently you advise me to allow cvsextras commits. I don't have any problems
with it being enabled, so here's a change request:

Package Change Request
======================
Package Name: nntpgrab
Cvsextras Commits: yes


Comment 9 Kevin Fenzi 2008-01-14 04:18:41 UTC
Yeah, I think having cvsextras commits yes is the way to go... 
I have changed this package. Thanks for your understanding. 

Comment 10 Mamoru TASAKA 2008-01-14 18:35:06 UTC
Closing as rebuilds are done on all branches and requests for F-8/7 are
already done on bodhi.

Comment 11 Erik van Pienbroek 2009-04-15 19:52:18 UTC
Package Change Request
======================
Package Name: nntpgrab
New Branches: EL-5

Comment 12 Kevin Fenzi 2009-04-16 04:22:13 UTC
cvs done.


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