Name: sabnzbdplus Version: 0.7.11 Release: 7%{?dist} Summary: Heavily Featured Automatic Binary Newsgrabber Group: Applications/Internet # Here is a list of which files belong to which licenses: #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 #./sabnzbd/utils/servertests.py #./sabnzbd/utils/upload.py #./tools/make_mo.py #./interfaces/Classic/ #./interfaces/wizard/ #./util/ #./po/ # #LGPLv2.1+ (explicit): #./sabnzbd/utils/certgen.py # #MIT (explicit): #./sabnzbd/utils/rarfile.py # #GPLv3+ (explicit): #./sabnzbd/utils/pathbrowser.py # #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 LGPL: #./interfaces/Plush/ # #Apache 2.0 and BSD and MIT and LGPLv2.1+ and CC-BY 2.5 and GPLv2+: #./interfaces/smpl/ License: GPLv2+ and MIT and LGPLv2+ and GPLv3+ and ASL 2.0 and BSD and CC-BY URL: http://www.sabnzbd.org/ Source0: http://downloads.sourceforge.net/project/sabnzbdplus/sabnzbdplus/%{version}/SABnzbd-%{version}-src.tar.gz Source1: sabnzbdplus-start.sh # Import system copy of python-configobj Patch0: SABnzbd-0.7.11-config.py-use-system-configobj.diff # Import system copy of python-feedparser Patch1: SABnzbd-0.7.11-rss.py-use-system-feedparser.diff # Use python-lib JSON implementation instead of bundled lib Patch2: SABnzbd-0.7.11-api.py-use-py27-json.diff # Use system python-tgscheduler (kronos.py) instead of bundled lib Patch3: SABnzbd-0.7.11-scheduler.py-use-system-kronos.diff # Use system python-listquote Patch4: SABnzbd-0.7.11-config.py-use-system-listquote.diff # Use system rsslib Patch5: SABnzbd-0.7.11-api.py-interface.py-use-system-rsslib.diff # Use system SMTP_SSL from python-libs smtplib Patch6: SABnzbd-0.7.11-emailer.py-use-system-ssl-smtp-lib.diff # Don't pass -n flag to system msgfmt, which doesn't understand it Patch7: SABnzbd-0.7.11-make_mo.py-use-system-msgfmt.diff BuildArch: noarch BuildRequires: python2-devel BuildRequires: gettext Requires: par2cmdline Requires: pyOpenSSL Requires: python-cheetah Requires: python-cherrypy >= 3.2.0 Requires: python-configobj Requires: python-feedparser Requires: python-gntp Requires: python-listquote Requires: python-rsslib Requires: python-tgscheduler Requires: python-yenc Requires: unzip #Recommends: unrar %description Fully automatic Binary Newsgrabber. Supports multiple Operating Systems. Server-oriented using a web-interface. The active successor of the abandoned SABnzbd project. %prep %setup -q -n SABnzbd-%{version} # Remove (possible) pre-compiled python bytecode. find . -type f -name "*.pyc" -o -name "*.pyo" -exec rm -f '{}' \; # Remove bundled msgfmt.py script. Will fall back to the system 'msgfmt' # binary, provided by 'gettext'. rm -f tools/msgfmt.py rm -f licenses/License-msgfmt.txt # msgfmt.py understands a -n flag that system msgfmt does not. It strips # newlines from translations; however, I don't see newlines outside of # the GPL text. So leaving them seems okay. %patch7 -p1 # Remove bundled copy of system lib (python-cherrypy2) rm -rf cherrypy/ rm -f licenses/License-CherryPy.txt # Remove bundled copy of gntp (Python client library for Growl Network # Protocol). rm -rf gntp/ rm -f licenses/License-gntp.txt # Remove bundled copy of python-configobj, patch to import system copy %patch0 -p0 rm -f sabnzbd/utils/configobj.py rm -f licenses/License-configobj.txt # Remove bundled copy of python-feedparser %patch1 -p0 rm -f sabnzbd/utils/feedparser.py rm -f licenses/License-feedparser.txt # Remove bundled json-py %patch2 -p0 rm -f sabnzbd/utils/json.py rm -f licenses/License-json.txt # Remove bundled Kronos %patch3 -p0 rm -f sabnzbd/utils/kronos.py rm -f licenses/License-kronos.txt # Remove bundled listquote %patch4 -p0 rm -f sabnzbd/utils/listquote.py rm -f licenses/License-listquote.txt # Remove bundled rsslib %patch5 -p0 rm -f sabnzbd/utils/rsslib.py rm -f licenses/License-rsslib.txt # Remove bundled ssmptlib %patch6 -p0 rm -f sabnzbd/utils/ssmtplib.py rm -f licenses/License-ssmtplib.txt # Remove bundled SysTrayIcon(Thread) (Win32 only) rm -f sabnzbd/utils/systrayiconthread.py rm -f sabnzbd/sabtray.py rm -f licenses/License-systrayicon.txt # Clean up patch spam for rpmlint rm -f sabnzbd/*.py.orig* # Copy startup script into working dir. cp -a %{SOURCE1} %{name} # Fix permissions on a documentation script example. chmod 644 Sample-PostProc.sh # Remove spurious shebangs: for d in */; do find "$d" -name '*.py' -exec sed -i -e '/^#!\//, 1d' '{}' \; done # Move BSD license to standard license directory (for %%doc): mv interfaces/Mobile/licenses/LICENSE-BSD.txt licenses/ %build # This package is entirely python source, and doesn't use distutils / # setuputils. # Generate translations: python tools/make_mo.py rm -rf tools/ %install # Install translations to locale directory for langdir in locale/*; do install -d -m 755 "$RPM_BUILD_ROOT%{_datadir}/${langdir}/LC_MESSAGES/" if [ -f "${langdir}/LC_MESSAGES/SABnzbd.mo" ]; then install -pm 644 "${langdir}/LC_MESSAGES/SABnzbd.mo" "$RPM_BUILD_ROOT%{_datadir}/${langdir}/LC_MESSAGES/" fi done rm -rf locale/ # Install package to /usr/share. install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/%{name} for d in */; do cp -r "$d" $RPM_BUILD_ROOT%{_datadir}/%{name}/ done install -pm 755 SABnzbd.py $RPM_BUILD_ROOT%{_datadir}/%{name}/ # SABHelper.py is windows-only; we don't want it. # Install startup script (sets up PYTHONPATH for cherrypy, then launches # SABnzbd.py in /usr/lib/sabnzbdplus). install -d -m 755 $RPM_BUILD_ROOT%{_bindir} install -pm 755 %{name} $RPM_BUILD_ROOT%{_bindir}/ %find_lang SABnzbd %files -f SABnzbd.lang %doc COPYRIGHT.txt CHANGELOG.txt GPL2.txt GPL3.txt ISSUES.txt README.txt Sample-PostProc.sh licenses/ %{_datadir}/%{name} %{_bindir}/%{name} %changelog * Sun Oct 20 2013 Conrad Meyer - 0.7.11-7 - Add License-BSD.txt to %%doc * Sun Oct 20 2013 Conrad Meyer - 0.7.11-6 - Clarify licensing for interfaces/ * Sun Oct 20 2013 Conrad Meyer - 0.7.11-5 - Unbundle msgfmt.py - Audit licensing and comment to clarify in Spec file * Sun Oct 20 2013 Conrad Meyer - 0.7.11-4 - Clean up python-devel -> python2-devel - Preserve timestamps (cp -> cp -a, install -> install -p) - Drop unused UTF8 conversion * Sun Mar 3 2013 Conrad Meyer - 0.7.11-3 - Clean up rpmlint * Sat Mar 2 2013 Conrad Meyer - 0.7.11-2 - De-bundle python-gntp, python-configobj, python-feedparser, json-py, kronos, python-listquote, python-rsslib, ssmtplib (now part of python stdlib), SysTrayIcon * Sat Mar 2 2013 Conrad Meyer - 0.7.11-1 - Bump to latest upstream. * Thu Apr 19 2012 Conrad Meyer - 0.6.15-1 - Bump to latest version. - Clean up old RPMisms * Sat Jul 16 2011 Conrad Meyer - 0.6.5-1 - Bump to latest version. * Mon Apr 26 2010 Conrad Meyer - 0.5.0-1 - Bump to newest release - Release notes for 0.5.0 are at http://wiki.sabnzbd.org/release-0-5-0 * Thu Oct 15 2009 Conrad Meyer - 0.4.12-1 - Bump to new maintainence release. ChangeLog info: - Relevant bugs fixed: - Don't show NZBs no longer present in the RSS feed in the preview (they won't be matched anyway) - Default skin: Hitting enter after changing the RSS definition would delete the definition. - Send Group did not always work properly - New features: - Add Cheetah 2.2 compatibility (primarily for Linux) - Add field to API-qstatus XML output. * Tue Aug 25 2009 Conrad Meyer - 0.4.11-2 - Install to _datadir instead, still using startup script. * Mon Aug 24 2009 Conrad Meyer - 0.4.11-1 - Initial package. Install to /usr/lib/sabnzbdplus. Startup script installed to _bindir.