Bug 519652

Summary: Review Request: sabnzbdplus - Heavily Featured Automatic Binary Newsgrabber
Product: [Fedora] Fedora Reporter: Conrad Meyer <cse.cem+redhatbugz>
Component: Package ReviewAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED CANTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: carl, cse.cem+redhatbugz, erik-fedora, fedora-package-review, j, keesdejong+dev, mike, pviktori, tcallawa
Target Milestone: ---Flags: besser82: fedora-review?
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-09-18 02:02:28 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:
Bug Depends On: 917328, 917329, 917330, 1627158    
Bug Blocks:    

Description Conrad Meyer 2009-08-27 10:12:35 UTC
Spec URL: http://konradm.fedorapeople.org/fedora/SPECS/sabnzbdplus.spec
SRPM URL: http://konradm.fedorapeople.org/fedora/SRPMS/sabnzbdplus-0.4.11-2.fc11.src.rpm
Description:
Fully automatic Binary Newsgrabber. Supports multiple Operating Systems.
Server-oriented using a web-interface. The active successor of the
abandoned SABnzbd project.

Comment 1 Conrad Meyer 2009-08-27 10:14:29 UTC
Note, this package contains code that works with rar files, I'm not sure if this is a legal concern or not. The relavent code in upstream svn is here:

  http://svn2.assembla.com/svn/SABnzbd/trunk/main/sabnzbd/utils/rarfile.py

I'm going to block this on FE-legal until this matter is clarified.

Comment 2 Felix Kaechele 2009-09-27 15:22:38 UTC
Just a short comment on this review:

The functionality of http://svn2.assembla.com/svn/SABnzbd/trunk/main/sabnzbd/utils/json.py is provided by python-json which is in Fedora already. You should try and use that.

Comment 3 Conrad Meyer 2009-09-27 17:35:51 UTC
If I delete the json.py from sabnzbd and Require: python-json and then symlink in /usr/lib/python2.6/site-packages/json.py, that ought to work, yes? It looks like (from the diff) sabnzbd's copy of json.py is a subset of the functionality of the original json.py (it strips reading and some types of writing that it doesn't use).

Comment 4 Tom "spot" Callaway 2009-10-06 14:20:37 UTC
Looking this over, the code doesn't actually decompress RAR files, it just calls out to unrar to do the work. (It also does a lot of header checking and manipulation, but none of that is taken from the proprietary unrar code).

Lifting FE-Legal.

Comment 6 Conrad Meyer 2010-04-27 06:22:22 UTC
The latest upstream version, 0.5.0, requires an unreleased version of python-cherrypy (3.2.0).

Comment 7 Jason Tibbitts 2010-11-02 02:45:25 UTC
I looked at the spec link above, but it's for 0.5.0 which, if it really requires cherrypy 3.2.0, can't even be run on rawhide currently.  Setting NotReady; please clear the Whiteboard above if this becomes reviewable.

Comment 8 Conrad Meyer 2010-11-03 16:07:49 UTC
Yeah, I'm waiting on cherrypy.

Comment 9 Conrad Meyer 2011-07-17 00:20:44 UTC
CherryPy 3.2.x has hit Rawhide, finally: https://bugzilla.redhat.com/show_bug.cgi?id=722645

So I'm unblocking this.

Additionally, here's the latest upstream version:

http://konradm.fedorapeople.org/fedora/SPECS/sabnzbdplus.spec
http://konradm.fedorapeople.org/fedora/SRPMS/sabnzbdplus-0.6.5-1.fc14.src.rpm

I've tested this with python-cherrypy 3.2.1 from rawhide and it works great.

Comment 10 Major Hayden 🤠 2012-01-02 23:13:39 UTC
Conrad -

Are you still working on this package?  If not, I'll be glad to pick it up.

Comment 11 Conrad Meyer 2012-01-02 23:17:59 UTC
Still waiting for a review ;-).

Comment 12 Major Hayden 🤠 2012-01-03 01:42:39 UTC
I'm not a reviewer but I'll give the package a look and try to find someone to review it.

Comment 13 Jason Tibbitts 2012-04-19 19:52:54 UTC
I didn't notice that this had dropped back into the queue.  A few comments:

rpmlint says:
  sabnzbdplus.noarch: E: incorrect-fsf-address
   /usr/share/doc/sabnzbdplus-0.6.5/licenses/License-json.txt
  sabnzbdplus.noarch: E: incorrect-fsf-address
   /usr/share/sabnzbdplus/licenses/License-json.txt
Should be repoorted upstream.

  sabnzbdplus.noarch: E: zero-length
   /usr/share/sabnzbdplus/interfaces/Classic/templates/static/placeholder.txt
Seems like this file is supposed to be empty, so OK.

  sabnzbdplus.noarch: W: no-manual-page-for-binary sabnzbdplus
It's nice to have documentation but not required.

The first two, however,  are interesting.  In fact, the licenses directory is filled with licenses of other code, which seem to correspond to what's in the sabnzbd/utils directory, which all seems to be bits of code pulled from other projects.  It's a bit confusing because that directory includes, say, feedparser but the package also depends on python-feedparser so I'm not sure if you've done work to eliminate this kind of bundling already.

As for form, since this obviously isn't targeted at EPEL, the spec can be cleaned up a bit:

No need for BuildRoot:
No need for the first line of %install.
No need for the entire %clean section.
No need for %defattr in %files.

Comment 14 Conrad Meyer 2012-04-20 03:51:16 UTC
(In reply to comment #13)
> …
>   sabnzbdplus.noarch: E: incorrect-fsf-address
>    /usr/share/sabnzbdplus/licenses/License-json.txt
> Should be repoorted upstream.

https://github.com/sabnzbd/sabnzbd/issues/33

> The first two, however,  are interesting.  In fact, the licenses directory is
> filled with licenses of other code, which seem to correspond to what's in the
> sabnzbd/utils directory, which all seems to be bits of code pulled from other
> projects.  It's a bit confusing because that directory includes, say,
> feedparser but the package also depends on python-feedparser so I'm not sure if
> you've done work to eliminate this kind of bundling already.

Everything is still bundled for now. This is probably a blocker, isn't it? Damn. I've bumped the version for now, but haven't worked on unbundling libs yet.
 
> As for form, since this obviously isn't targeted at EPEL, the spec can be
> cleaned up a bit:
> 
> No need for BuildRoot:
> No need for the first line of %install.
> No need for the entire %clean section.
> No need for %defattr in %files.

Fixed.

Comment 16 Jason Tibbitts 2012-04-20 04:41:11 UTC
Yeah, bundling is a blocker unless you can get an exception: http://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries

The package looks OK otherwise.  I didn't dig into the licensing but I'm sure it would change in any case if the bundling gets cleaned up.

Comment 17 Jason Tibbitts 2012-04-24 18:50:49 UTC
Going to mark this as notready until the bundling is cleaned up or an exception is granted.  Please clear the whiteboard if there's progress.

Comment 18 Conrad Meyer 2013-03-03 09:16:50 UTC
Clearing notready:

Bumped to latest upstream (0.7.11), removed all bundled libs (some of which are new Review Requests now, see Blockers).

SPEC: http://konradm.fedorapeople.org/fedora/SPECS/sabnzbdplus.spec
SRPM: http://konradm.fedorapeople.org/fedora/SRPMS/sabnzbdplus-0.7.11-2.fc17.src.rpm

Comment 19 Conrad Meyer 2013-03-03 09:22:04 UTC
Rpm lint is ugly, let me fix that...

rpmlint sabnzbdplus.spec ../SRPMS/sabnzbdplus-0.7.11-2.fc17.src.rpm ../RPMS/noarch/sabnzbdplus-0.7.11-2.fc17.noarch.rpm 
sabnzbdplus.noarch: E: explicit-lib-dependency python-rsslib
sabnzbdplus.noarch: E: backup-file-in-package /usr/share/sabnzbdplus/sabnzbd/interface.py.orig
sabnzbdplus.noarch: E: non-executable-script /usr/share/sabnzbdplus/sabnzbd/interface.py.orig 0644L /usr/bin/python
sabnzbdplus.noarch: E: backup-file-in-package /usr/share/sabnzbdplus/sabnzbd/api.py.orig
sabnzbdplus.noarch: E: non-executable-script /usr/share/sabnzbdplus/sabnzbd/api.py.orig 0644L /usr/bin/python
sabnzbdplus.noarch: E: backup-file-in-package /usr/share/sabnzbdplus/sabnzbd/config.py.orig
sabnzbdplus.noarch: E: non-executable-script /usr/share/sabnzbdplus/sabnzbd/config.py.orig 0644L /usr/bin/python
sabnzbdplus.noarch: E: backup-file-in-package /usr/share/sabnzbdplus/sabnzbd/rss.py.orig
sabnzbdplus.noarch: E: non-executable-script /usr/share/sabnzbdplus/sabnzbd/rss.py.orig 0644L /usr/bin/python
sabnzbdplus.noarch: E: zero-length /usr/share/sabnzbdplus/interfaces/Classic/templates/static/placeholder.txt
sabnzbdplus.noarch: E: backup-file-in-package /usr/share/sabnzbdplus/sabnzbd/emailer.py.orig
sabnzbdplus.noarch: E: non-executable-script /usr/share/sabnzbdplus/sabnzbd/emailer.py.orig 0644L /usr/bin/python
sabnzbdplus.noarch: W: no-manual-page-for-binary sabnzbdplus
2 packages and 1 specfiles checked; 12 errors, 1 warnings.

Comment 20 Conrad Meyer 2013-03-03 09:25:50 UTC
Sorted, bumped rev. rpmlint now:

sabnzbdplus.noarch: E: explicit-lib-dependency python-rsslib
sabnzbdplus.noarch: E: zero-length /usr/share/sabnzbdplus/interfaces/Classic/templates/static/placeholder.txt
sabnzbdplus.noarch: W: no-manual-page-for-binary sabnzbdplus
2 packages and 1 specfiles checked; 2 errors, 1 warnings.

First error is an rpmlint mis-feature, this isn't a C program.

Second error is part of their templating system, if it's a blocker I can dig further but I'd rather not.

Warning is not a blocker.

SPEC: http://konradm.fedorapeople.org/fedora/SPECS/sabnzbdplus.spec
SRPM: http://konradm.fedorapeople.org/fedora/SRPMS/sabnzbdplus-0.7.11-3.fc17.src.rpm

Comment 21 Mario Blättermann 2013-06-08 13:59:23 UTC
The same as for bug #917328, don't set the fedora-review? flag for your own packages.

Comment 22 Björn 'besser82' Esser 2013-10-19 09:31:31 UTC
taken  ;)

Do you need a sponsor?  Please provide your FAS-name.

Comment 23 Michael Schwendt 2013-10-19 12:34:29 UTC
No sponsor needed:
https://admin.fedoraproject.org/accounts/user/view/konradm

Comment 24 Conrad Meyer 2013-10-19 21:42:06 UTC
(In reply to Michael Schwendt from comment #23)
> No sponsor needed:
> https://admin.fedoraproject.org/accounts/user/view/konradm

Correct :).

Comment 25 Björn 'besser82' Esser 2013-10-20 07:52:25 UTC
Package has issues.  :(

#####

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

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


Issues:
=======
- Package contains BR: python2-devel or python3-devel

  ---> By new Python-guideline thou shalt use `python2-devel`
       over `python-devel`.

- Package uses %{__python2} or %{__python3}

  ---> Change `python tools/make_mo.py` to `%{__python2} tools/make_mo.py`


- 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.
  Note: Cannot find LICENSE-BSD.txt in rpm(s)
  See:
  http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text

  ---> Please pick that up as %doc.

- You can drop these lines from the spec-file, since the file gets deleted
  before you invoke this:

    # Fix non-UTF8 file:
    for file in licenses/License-msgfmt.txt; do
      iconv -f ISO-8859-1 -t UTF-8 -o "$file.new" "$file" && \
      touch -r "$file" "$file.new" && \
      mv "$file.new" "$file"
    done

- Try to preserve timestamps:

  ---> `cp %{SOURCE1} %{name}` ---> `cp -a %{SOURCE1} %{name}`

- Files with zero-length are present in build rpm(s):
  /usr/share/sabnzbdplus/interfaces/Classic/templates/static/placeholder.txt

  ---> You should either nuke or %ghost this file, please.


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

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:
     "ISC", "*No copyright* GPL (v3 or later)", "GPL (v2 or later)", "Unknown
     or generated". 5 files have unknown license. Detailed output of
     licensecheck in
     /home/besser82/shared/fedora/review/519652-sabnzbdplus/licensecheck.txt

     ---> It is not clear to me which file has which license.
          Please clarify.

[!]: If the package is under multiple licenses, the licensing breakdown must
     be documented in the spec.

     ---> Please clarify which file has which license.  You should use
          some comments about that in spec-file.

[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.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: The spec file handles locales properly.
[!]: Package consistently uses macros (instead of hard-coded directory names).

     ---> `python` ---> `%{__python2}`

[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]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 112640 bytes in 10 files.
[!]: Package complies to the Packaging Guidelines

     ---> Issues are present.

[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 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]: 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]: 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]: Packages must not store files under /srv, /opt or /usr/local

Python:
[-]: Python eggs must not download any dependencies during the build process.
[-]: A package which is used by another package via an egg interface should
     provide egg info.
[!]: Package meets the Packaging Guidelines::Python

     ---> as explained above

[x]: Binary eggs must be removed in %prep

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

Generic:
[-]: 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 (see attachments).
[x]: Package functions as described.
[x]: Latest version is packaged.
[!]: Package does not include license text files separate from upstream.

     ---> Cannot find LICENSE-BSD.txt in rpm(s)

[x]: Patches link to upstream bugs/comments/lists or are otherwise justified.
[-]: 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.

     ---> no testsuite available

[!]: Packages should try to preserve timestamps of original installed files.

     ---> `cp` ---> `cp -a` || `install -m`  ---> `install -pm`

[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]: Fully versioned dependency in subpackages if applicable.
[x]: SourceX tarball generation or download is documented.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

Generic:
[!]: Spec file according to URL is the same as in SRPM.
     Note: Spec file as given by url is not the same as in SRPM (see attached
     diff).
     See: (this test has no URL)

     ---> rebuild SRPM on recent spec, please.

[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.


Rpmlint
-------
Checking: sabnzbdplus-0.7.11-3.fc21.noarch.rpm
          sabnzbdplus-0.7.11-3.fc21.src.rpm
sabnzbdplus.noarch: E: explicit-lib-dependency python-rsslib
sabnzbdplus.noarch: E: zero-length /usr/share/sabnzbdplus/interfaces/Classic/templates/static/placeholder.txt
sabnzbdplus.noarch: W: no-manual-page-for-binary sabnzbdplus
2 packages and 0 specfiles checked; 2 errors, 1 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint sabnzbdplus
sabnzbdplus.noarch: E: explicit-lib-dependency python-rsslib
sabnzbdplus.noarch: E: zero-length /usr/share/sabnzbdplus/interfaces/Classic/templates/static/placeholder.txt
sabnzbdplus.noarch: W: no-manual-page-for-binary sabnzbdplus
1 packages and 0 specfiles checked; 2 errors, 1 warnings.
# echo 'rpmlint-done:'



Requires
--------
sabnzbdplus (rpmlib, GLIBC filtered):
    /bin/sh
    /usr/bin/python
    par2cmdline
    pyOpenSSL
    python-cheetah
    python-cherrypy
    python-configobj
    python-feedparser
    python-gntp
    python-listquote
    python-rsslib
    python-tgscheduler
    python-yenc
    unzip



Provides
--------
sabnzbdplus:
    sabnzbdplus



Diff spec file in url and in SRPM
---------------------------------
--- /home/besser82/shared/fedora/review/519652-sabnzbdplus/srpm/sabnzbdplus.spec	2013-10-19 11:54:33.992999050 +0200
+++ /home/besser82/shared/fedora/review/519652-sabnzbdplus/srpm-unpacked/sabnzbdplus.spec	2013-03-03 10:19:56.000000000 +0100
@@ -171,5 +171,5 @@
 %changelog
 * Sun Mar 3 2013 Conrad Meyer <cemeyer> - 0.7.11-3
-- Clean up rpmlint
+- Clean up rpm lint
 
 * Sat Mar 2 2013 Conrad Meyer <cemeyer> - 0.7.11-2


Source checksums
----------------
http://downloads.sourceforge.net/project/sabnzbdplus/sabnzbdplus/0.7.11/SABnzbd-0.7.11-src.tar.gz :
  CHECKSUM(SHA256) this package     : de9c22377e89b081b7c264993c159588acb86206d1b82a465554e2f9df39b311
  CHECKSUM(SHA256) upstream package : de9c22377e89b081b7c264993c159588acb86206d1b82a465554e2f9df39b311


Generated by fedora-review 0.5.0 (920221d) last change: 2013-08-30
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 519652
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Python, Shell-api
Disabled plugins: Java, C/C++, SugarActivity, Perl, R, PHP, Ruby
Disabled flags: EPEL5, EXARCH, DISTTAG

#####

Please fix those issues and I'll run another review.

Comment 26 Conrad Meyer 2013-10-20 15:32:31 UTC
(In reply to Björn "besser82" Esser from comment #25)
> Issues:
> =======
> - Package contains BR: python2-devel or python3-devel
> 
>   ---> By new Python-guideline thou shalt use `python2-devel`
>        over `python-devel`.

This review request may just predate python3 in Fedora :). I'll fix it...

> - Package uses %{__python2} or %{__python3}
> 
>   ---> Change `python tools/make_mo.py` to `%{__python2} tools/make_mo.py`

I don't see this anywhere in the Python guidelines -- only that %{__python} is
deprecated in favor of %{__python2}. Neither macro is used in this package. Changing /usr/bin/python to be python3 will break so many things, I think I'd prefer to deal with the fallout when FESCO makes that decision years down the road.

> - 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.
>   Note: Cannot find LICENSE-BSD.txt in rpm(s)
>   See:
>   http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text
> 
>   ---> Please pick that up as %doc.

The source package does not include the text of the BSD license. Non-issue.

> - You can drop these lines from the spec-file, since the file gets deleted
>   before you invoke this:
> 
>     # Fix non-UTF8 file:
>     for file in licenses/License-msgfmt.txt; do
>       iconv -f ISO-8859-1 -t UTF-8 -o "$file.new" "$file" && \
>       touch -r "$file" "$file.new" && \
>       mv "$file.new" "$file"
>     done

Ah, so I can :). Thanks, will fix.
 
> - Try to preserve timestamps:
> 
>   ---> `cp %{SOURCE1} %{name}` ---> `cp -a %{SOURCE1} %{name}`

Sure, good eye.
 
> - Files with zero-length are present in build rpm(s):
>   /usr/share/sabnzbdplus/interfaces/Classic/templates/static/placeholder.txt
> 
>   ---> You should either nuke or %ghost this file, please.

As far as I understand, this zero-length file is actually needed (so nuke is not acceptable). What does %ghost do? Thanks.

> ===== MUST items =====
> 
> Generic:
> [?]: License field in the package spec file matches the actual license.
>      Note: Checking patched sources after %prep for licenses. Licenses found:
>      "ISC", "*No copyright* GPL (v3 or later)", "GPL (v2 or later)", "Unknown
>      or generated". 5 files have unknown license. Detailed output of
>      licensecheck in
>      /home/besser82/shared/fedora/review/519652-sabnzbdplus/licensecheck.txt
> 
>      ---> It is not clear to me which file has which license.
>           Please clarify.
>
> [!]: If the package is under multiple licenses, the licensing breakdown must
>      be documented in the spec.
> 
>      ---> Please clarify which file has which license.  You should use
>           some comments about that in spec-file.

Okay... I'll do this as a separate comment once I have the answers for you :).
 
> [!]: Package consistently uses macros (instead of hard-coded directory
> names).
> 
>      ---> `python` ---> `%{__python2}`

Again, not sure this is a real issue.

> ===== SHOULD items =====
> 
> Generic:
> [!]: Package does not include license text files separate from upstream.
> 
>      ---> Cannot find LICENSE-BSD.txt in rpm(s)

Cannot find LICENSE-BSD.txt in upstream source tarball, either :).

> [!]: Packages should try to preserve timestamps of original installed files.
> 
>      ---> `cp` ---> `cp -a` || `install -m`  ---> `install -pm`

Will fix.

> Rpmlint
> -------
> Checking: sabnzbdplus-0.7.11-3.fc21.noarch.rpm
>           sabnzbdplus-0.7.11-3.fc21.src.rpm
> sabnzbdplus.noarch: E: explicit-lib-dependency python-rsslib

Not a C library; no implicit dependencies with python.

> sabnzbdplus.noarch: E: zero-length
> /usr/share/sabnzbdplus/interfaces/Classic/templates/static/placeholder.txt

Please clarify re: %ghost usage :).

> sabnzbdplus.noarch: W: no-manual-page-for-binary sabnzbdplus
> 2 packages and 0 specfiles checked; 2 errors, 1 warnings.

Bummer, but upstream doesn't provide one.

Comment 27 Conrad Meyer 2013-10-20 15:37:40 UTC
New spec, SRPM:

http://konradm.fedorapeople.org/fedora/SPECS/sabnzbdplus.spec
http://konradm.fedorapeople.org/fedora/SRPMS/sabnzbdplus-0.7.11-4.fc19.src.rpm

* Sun Oct 20 2013 Conrad Meyer <cemeyer> - 0.7.11-4
- Clean up python-devel -> python2-devel
- Preserve timestamps (cp -> cp -a, install -> install -p)
- Drop unused UTF8 conversion

Comment 28 Conrad Meyer 2013-10-20 16:13:45 UTC
Re: licenses for specific files, I did a quick audit of the tarball's files and here's what I came up with:

================================8<===================================
GPLv2+ (implicit):
./Sample-PostProc.cmd
./Sample-PostProc.sh
./sabnzbd/utils/__init__.py
./email/*.tmpl
./locale/*/*/*.mo
./icons/

GPLv2+ (explicit):
./SABnzbd.py
./SABHelper.py
./sabnzbd/*.py (checked about 25%)
./sabnzbd/utils/servertests.py
./sabnzbd/utils/upload.py
./tools/make_mo.py
./interfaces/
./util/
./po/

LGPLv2.1+ (explicit):
./sabnzbd/utils/certgen.py

MIT (explicit):
./sabnzbd/utils/rarfile.py

GPLv3+ (explicit):
./sabnzbd/utils/pathbrowser.py
================================8<===================================

I also discovered tools/msgfmt.py, which I had thought was already removed. So I remove it in %prep and add a patch to tools/make_mo.py to use the system (gettext) 'msgfmt'.

Since I did not find any BSD files, I removed BSD from SPEC Licenses and added LGPLv2+.

Here's the new spec, SRPM:

http://konradm.fedorapeople.org/fedora/SPECS/sabnzbdplus.spec
http://konradm.fedorapeople.org/fedora/SRPMS/sabnzbdplus-0.7.11-5.fc19.src.rpm

* Sun Oct 20 2013 Conrad Meyer <cemeyer> - 0.7.11-5
- Unbundle msgfmt.py
- Audit licensing and comment to clarify in Spec file

Comment 29 Conrad Meyer 2013-10-20 16:32:53 UTC
Okay, a little more digging, the licensing on the interfaces is pretty messy.

Here's the good news: These ones are GPLv2+:
./interfaces/Classic/
./interfaces/wizard/

These ones have a few more licenses:
MIT or GPL:
./interfaces/Config/

MIT and (MIT or GPL) and BSD and GPL:
./interfaces/Mobile/

MIT and (MIT or GPL) and BSD and GPL and GPLv3+ and WebToolkit and LGPL:
./interfaces/Plush/

Apache 2.0 and BSD and MIT and LGPLv2.1+ and CC-BY 2.5 and GPLv2+:
./interfaces/smpl/

Comment 30 Conrad Meyer 2013-10-20 16:37:40 UTC
Clarify licensing comment for interfaces/ subdirectories, re-add BSD to Licenses, add CC-BY to Licenses:

http://konradm.fedorapeople.org/fedora/SPECS/sabnzbdplus.spec
http://konradm.fedorapeople.org/fedora/SRPMS/sabnzbdplus-0.7.11-6.fc19.src.rpm

Comment 32 Kees de Jong 2014-12-19 11:34:40 UTC
Why wasn't it uploaded? If it's the license, then why didn't you put it in rpmfusion?

Comment 33 Mike Goodwin 2016-09-18 03:45:36 UTC
I'm willing to pick this up, what needs to be done?

It's at 1.1.0 stable right now, btw

Does this need to be abandoned and resubmitted?

Comment 34 Conrad Meyer 2018-09-11 16:42:46 UTC
@Mike, if you want to take this on, please go ahead.  It seems python-yenc is going to be killed by the Python3 true believers unless you manage to rescue it, though.  And also python-listquote and rsslib.  Though maybe 1.1.0 has different dependencies than 0.7.11 did.

Comment 35 Petr Viktorin (pviktori) 2018-09-11 18:04:54 UTC
> It seems python-yenc is going to be killed [...]  And also python-listquote and rsslib.

And don't forget python2 itself! The reason behind removing these packages is that the volunteers who currently maintain python2 want to step down, and have not found anyone who'd take over.

Comment 36 Conrad Meyer 2018-09-18 02:02:28 UTC
RIP this 9 year review request.

https://sabnzbd.org/wiki/installation/install-off-modules

> SABnzbd requires Python 2.7.
> Python 3.x is not supported.

Good thing we're killing all Python2 software.