From 992ff287b0041cc7975538b5814b5ed59311db72 Mon Sep 17 00:00:00 2001 From: Ionuț Arțăriși Date: Nov 01 2009 09:47:09 +0000 Subject: Initial CVS upload. --- diff --git a/.cvsignore b/.cvsignore index e69de29..d9fb2b6 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +calibre-0.6.19-nofonts.tar.gz diff --git a/calibre-cssprofiles.patch b/calibre-cssprofiles.patch new file mode 100644 index 0000000..3c8127f --- /dev/null +++ b/calibre-cssprofiles.patch @@ -0,0 +1,12 @@ +diff -up calibre/src/calibre/ebooks/oeb/stylizer.py.cssprofiles calibre/src/calibre/ebooks/oeb/stylizer.py +--- calibre/src/calibre/ebooks/oeb/stylizer.py.cssprofiles 2009-10-11 19:44:34.190050494 +0300 ++++ calibre/src/calibre/ebooks/oeb/stylizer.py 2009-10-11 19:44:54.840926064 +0300 +@@ -18,7 +18,7 @@ from xml.dom import SyntaxErr as CSSSynt + import cssutils + from cssutils.css import CSSStyleRule, CSSPageRule, CSSStyleDeclaration, \ + CSSValueList, CSSFontFaceRule, cssproperties +-from cssutils import profile as cssprofiles ++from calibre import cssutils_profiles as cssprofiles + from lxml import etree + from lxml.cssselect import css_to_xpath, ExpressionError, SelectorSyntaxError + from calibre.ebooks.oeb.base import XHTML, XHTML_NS, CSS_MIME, OEB_STYLES diff --git a/calibre-manpages.patch b/calibre-manpages.patch new file mode 100644 index 0000000..38f6f85 --- /dev/null +++ b/calibre-manpages.patch @@ -0,0 +1,32 @@ +diff -up calibre/src/calibre/linux.py.manpages calibre/src/calibre/linux.py +--- calibre/src/calibre/linux.py.manpages 2009-10-11 20:11:44.926081363 +0300 ++++ calibre/src/calibre/linux.py 2009-10-11 20:11:55.616050312 +0300 +@@ -331,7 +331,7 @@ class PostInstall: + continue + parser = parser() + raw = create_man_page(prog, parser) +- manfile = os.path.join(manpath, prog+'.1'+__appname__+'.bz2') ++ manfile = os.path.join(manpath, prog+'.1') + self.info('\tInstalling MAN page for', prog) + open(manfile, 'wb').write(raw) + self.manifest.append(manfile) +diff -up calibre/src/calibre/utils/help2man.py.manpages calibre/src/calibre/utils/help2man.py +--- calibre/src/calibre/utils/help2man.py.manpages 2009-10-11 20:12:24.795952999 +0300 ++++ calibre/src/calibre/utils/help2man.py 2009-10-11 20:12:52.463949704 +0300 +@@ -3,7 +3,7 @@ __license__ = 'GPL 3' + __copyright__ = '2009, Kovid Goyal ' + __docformat__ = 'restructuredtext en' + +-import time, bz2 ++import time + + from calibre.constants import __version__, __appname__, __author__ + +@@ -57,6 +57,6 @@ def create_man_page(prog, parser): + lines = [x if isinstance(x, unicode) else unicode(x, 'utf-8', 'replace') for + x in lines] + +- return bz2.compress((u'\n'.join(lines)).encode('utf-8')) ++ return (u'\n'.join(lines).encode('utf-8')) + + diff --git a/calibre.spec b/calibre.spec new file mode 100644 index 0000000..2c9862c --- /dev/null +++ b/calibre.spec @@ -0,0 +1,296 @@ +Name: calibre +Version: 0.6.19 +Release: 3%{?dist} +Summary: E-book converter and library management +Group: Applications/Multimedia +License: GPLv3 +URL: http://calibre.kovidgoyal.net/ + +# SourceURL: http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz + +# Upstream packages some unfree fonts which we cannot redistribute. +# While we're at it, also delete the liberation fonts which we already have. +# +# Download the upstream tarball and invoke this script while in the tarball's +# directory: +# ./generate-tarball.sh %{version} +Source0: %{name}-%{version}-nofonts.tar.gz +Source1: generate-tarball.sh +Patch0: %{name}-cssprofiles.patch +Patch1: %{name}-manpages.patch +BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) + +BuildRequires: python >= 2.6 +BuildRequires: python-devel >= 2.6 +BuildRequires: ImageMagick-devel +BuildRequires: python-setuptools-devel +BuildRequires: qt-devel +BuildRequires: PyQt4-devel +BuildRequires: poppler-qt4-devel >= 0.12 +BuildRequires: podofo-devel +BuildRequires: desktop-file-utils +BuildRequires: python-mechanize +BuildRequires: python-lxml +BuildRequires: python-dateutil +BuildRequires: python-imaging +BuildRequires: xdg-utils + +Requires: pyPdf +Requires: python-cherrypy +Requires: python-cssutils +Requires: ImageMagick +Requires: odfpy +Requires: django-tagging +Requires: python-lxml +Requires: python-imaging +Requires: python-mechanize +Requires: python-dateutil +Requires: python-genshi + +%description +Calibre is meant to be a complete e-library solution. It includes library +management, format conversion, news feeds to ebook conversion as well as +e-book reader sync features. + +Calibre is primarily a ebook cataloging program. It manages your ebook +collection for you. It is designed around the concept of the logical book, +i.e. a single entry in the database that may correspond to ebooks in several +formats. It also supports conversion to and from a dozen different ebook +formats. + +Supported input formats are: MOBI, LIT, PRC, EPUB, ODT, HTML, CBR, CBZ, RTF, +TXT, PDF and LRS. + +%prep +%setup -q -n %{name} + +# we've moved the profiles so we don't have to redistribute cssutils +%patch0 -p1 -b .cssprofiles + +# don't append calibre1 to the name of the manpages. No need to compress either +%patch1 -p1 -b .manpages + +# dos2unix newline conversion +%{__sed} -i 's/\r//' src/calibre/web/feeds/recipes/* + +# remove shebangs +%{__sed} -i -e '/^#!\//, 1d' src/calibre/*/*/*/*.py +%{__sed} -i -e '/^#!\//, 1d' src/calibre/*/*/*.py +%{__sed} -i -e '/^#![ ]*\//, 1d' src/calibre/*/*.py +%{__sed} -i -e '/^#!\//, 1d' src/calibre/*.py +%{__sed} -i -e '/^#!\//, 1d' resources/recipes/* + +%{__chmod} -x src/calibre/*/*/*/*.py +%{__chmod} -x src/calibre/*/*/*.py +%{__chmod} -x src/calibre/*/*.py +%{__chmod} -x src/calibre/*.py +%{__chmod} -x resources/recipes/* + + +%build +OVERRIDE_CFLAGS="%{optflags}" python setup.py build + +%install +rm -rf %{buildroot} + +# this is the only file we need from the provided cssutils package +# need it for the install +cp -p src/cssutils/profiles.py src/calibre/cssutils_profiles.py + +mkdir -p %{buildroot}%{_datadir} + +# create directories for xdg-utils +mkdir -p %{buildroot}%{_datadir}/icons +mkdir -p %{buildroot}%{_datadir}/icons/hicolor +mkdir -p %{buildroot}%{_datadir}/packages +mkdir -p %{buildroot}%{_datadir}/mime +mkdir -p %{buildroot}%{_datadir}/mime/packages +mkdir -p %{buildroot}%{_datadir}/applications +mkdir -p %{buildroot}%{_datadir}/desktop-directories + +XDG_DATA_DIRS="%{buildroot}%{_datadir}" \ +XDG_UTILS_INSTALL_MODE="system" \ +LIBPATH="%{_libdir}" \ +python setup.py install --root=%{buildroot}%{_prefix} \ + --prefix=%{_prefix} \ + --libdir=%{_libdir} \ + --staging-libdir=%{buildroot}%{_libdir} \ + +# icons +mkdir -p %{buildroot}%{_datadir}/pixmaps/ +cp -p resources/images/library.png \ + %{buildroot}%{_datadir}/pixmaps/%{name}.png +cp -p resources/images/viewer.svg \ + %{buildroot}%{_datadir}/pixmaps/calibre-viewer.svg + +# every file is empty here +find %{buildroot}%{_datadir}/mime -maxdepth 1 -type f|xargs rm -f + +# packages aren't allowed to register mimetypes like this +rm -f %{buildroot}%{_datadir}/applications/defaults.list + +# Version isn't used correctly and it's not required either +desktop-file-install \ +--remove-key="Version" \ +--dir=%{buildroot}%{_datadir}/applications \ +%{buildroot}%{_datadir}/applications/calibre-gui.desktop + +desktop-file-install \ +--remove-key="Version" \ +--dir=%{buildroot}%{_datadir}/applications \ +%{buildroot}%{_datadir}/applications/%{name}-lrfviewer.desktop + +desktop-file-install \ +--remove-key="Version" \ +--dir=%{buildroot}%{_datadir}/applications \ +%{buildroot}%{_datadir}/applications/calibre-ebook-viewer.desktop + + +mv %{buildroot}%{_datadir}/mime/packages/calibre-mimetypes \ + %{buildroot}%{_datadir}/mime/packages/calibre-mimetypes.xml + +# mimetype icon for lrf +rm -rf %{buildroot}%{_datadir}/icons/hicolor/128x128 +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable/mimetypes +mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable/apps +cp -p resources/images/mimetypes/lrf.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/mimetypes/application-x-sony-bbeb.svg +cp -p resources/images/viewer.svg \ + %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/calibre-viewer.svg + +# don't put bash completions in /usr/etc +mv %{buildroot}%{_prefix}%{_sysconfdir} %{buildroot} + +# these are provided as separate packages +rm -rf %{buildroot}%{_libdir}/%{name}/{odf,cherrypy,pyPdf,encutils,cssutils} +rm -rf %{buildroot}%{_libdir}/%{name}/cal/utils/genshi +rm -rf %{buildroot}%{_libdir}/%{name}/cal/trac + +# link to system fonts after we have deleted (see Source0) the non-free ones +ln -s %{_datadir}/fonts/liberation/LiberationSans-Regular.ttf \ + %{buildroot}%{_datadir}/%{name}/fonts/prs500/tt0003m_.ttf +ln -s %{_datadir}/fonts/liberation/LiberationSerif-Regular.ttf \ + %{buildroot}%{_datadir}/%{name}/fonts/prs500/tt0011m_.ttf +ln -s %{_datadir}/fonts/liberation/LiberationMono-Regular.ttf \ + %{buildroot}%{_datadir}/%{name}/fonts/prs500/tt0419m_.ttf + +# man pages +mv %{buildroot}%{_datadir}/%{name}/man %{buildroot}%{_mandir} + +# move locales +mv %{buildroot}%{_datadir}/%{name}/localization/locales \ + %{buildroot}%{_datadir}/locale +for file in %{buildroot}%{_datadir}/locale/*/LC_MESSAGES/messages.mo; do + lang=$(echo $file|%{__sed} 's:.*locale/\(.*\)/LC_MESSAGES.*:\1:') + mv %{buildroot}%{_datadir}/locale/$lang/LC_MESSAGES/messages.mo \ + %{buildroot}%{_datadir}/locale/$lang/LC_MESSAGES/%{name}.mo +done; +for file in %{buildroot}%{_datadir}/locale/*/LC_MESSAGES/iso639.mo; do + lang=$(echo $file|%{__sed} 's:.*locale/\(.*\)/LC_MESSAGES.*:\1:') + mv %{buildroot}%{_datadir}/locale/$lang/LC_MESSAGES/iso639.mo \ + %{buildroot}%{_datadir}/locale/$lang/LC_MESSAGES/%{name}_iso639.mo +done; +for file in %{buildroot}%{_datadir}/locale/*/LC_MESSAGES/qt.qm; do + lang=$(echo $file|%{__sed} 's:.*locale/\(.*\)/LC_MESSAGES.*:\1:') + mv $file %{buildroot}%{_datadir}/locale/$lang/LC_MESSAGES/%{name}_$lang.qm +done; + +%find_lang %{name} --with-qt --all-name + +# locales should be looked for in the proper place +%{__sed} -i -e "s:P('localization/locales:('/usr/share/locale:" \ + -e "s/messages.mo/calibre.mo/" \ + -e "s/iso639.mo/calibre_iso639.mo/" \ + %{buildroot}%{_libdir}/%{name}/%{name}/utils/localization.py + +# this is the only file we need from the provided cssutils package +cp -p src/cssutils/profiles.py %{buildroot}%{_libdir}/%{name}/%{name}/ + + +%{__rm} -f %{buildroot}%{_bindir}/%{name}-uninstall + +%clean +%{__rm} -rf %{buildroot} + +%post +update-desktop-database &> /dev/null ||: +update-mime-database %{_datadir}/mime &> /dev/null || : +touch --no-create %{_datadir}/icons/hicolor || : +if [ -x %{_bindir}/gtk-update-icon-cache ] ; then +%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +fi + +%postun +update-desktop-database &> /dev/null ||: +update-mime-database %{_datadir}/mime &> /dev/null || : +touch --no-create %{_datadir}/icons/hicolor || : +if [ -x %{_bindir}/gtk-update-icon-cache ] ; then +%{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || : +fi + +%files -f %{name}.lang +%defattr(-,root,root,-) +%doc COPYRIGHT LICENSE + +%{_bindir}/* +%config(noreplace) %{_sysconfdir}/bash_completion.d/ +%{_libdir}/%{name} +%{_prefix}/lib/udev/rules.d/* +%{_datadir}/%{name} +%{_datadir}/pixmaps/* +%{_datadir}/applications/* +%{_datadir}/mime/packages/* +%{_datadir}/icons/hicolor/scalable/mimetypes/* +%{_datadir}/icons/hicolor/scalable/apps/* +%{_mandir}/man1/* + +%changelog +* Thu Oct 22 2009 Ionuț C. Arțăriși - 0.6.19-3 +- removed unfree fonts from source package + +* Thu Oct 22 2009 Ionuț C. Arțăriși - 0.6.19-2 +- readability enhancements +- added python-genshi requires +- removed libwmf require since ImageMagick provides libwmf-lite as a + dependency and that's what we actually need + +* Wed Oct 21 2009 Ionuț Arțăriși - 0.6.19-1 +- new upstream version: + http://calibre.kovidgoyal.net/wiki/Changelog#Version0.6.1920Oct2009 +- delete fonts, calibre can find the system fonts +- specify libdir as an install option, so calibre will link properly + even on 64bit + +* Mon Oct 19 2009 Ionuț Arțăriși - 0.6.18-1 +- updated requires list +- new upstream release +- can override CFLAGS now +- removed trac and genshi duplicates +- use xdg env variables to do desktop integration in the buildroot +- added xdg-utils buildrequire +- install udev rules in /usr/lib even on 64bit and don't own the whole dir +- removed wrongly used Version field from .desktop files + +* Mon Oct 12 2009 Ionuț Arțăriși - 0.6.17-2 +- mimick what calibre's desktop-integration script does (mimetypes, icons etc.) +- removed unneeded INSTALL file +- marked bash completion file as config(noreplace) and take ownership of the dir + +* Sat Oct 10 2009 Ionuț Arțăriși - 0.6.17-1 +- new upstream release: http://calibre.kovidgoyal.net/wiki/Changelog#Version0.6.1709Oct2009 +- the install process changed significantly +- locales were added + +* Thu Sep 10 2009 Ionuț Arțăriși - 0.6.11-1 +- new upstream release: http://calibre.kovidgoyal.net/wiki/Changelog#Version0.6.1104Sep2009 +- minor path fixes +- rearranged files section + +* Fri Aug 28 2009 Ionuț Arțăriși 0.6.10-1 +- handle desktop files +- don't compress manpages and don't list them as duplicates +- added lrfviewer icon + +* Tue Aug 25 2009 Ionuț Arțăriși 0.6.8-1 +- Initial RPM release diff --git a/generate-tarball.sh b/generate-tarball.sh new file mode 100644 index 0000000..78236d6 --- /dev/null +++ b/generate-tarball.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +VERSION=$1 + +tar -xvzf calibre-$VERSION.tar.gz +rm -f calibre/resources/fonts/liberation/* +rm -f calibre/resources/fonts/prs500/* + +tar -cvzf calibre-$VERSION-nofonts.tar.gz calibre diff --git a/import.log b/import.log new file mode 100644 index 0000000..aeded6b --- /dev/null +++ b/import.log @@ -0,0 +1 @@ +calibre-0_6_19-3_fc11:F-12:calibre-0.6.19-3.fc11.src.rpm:1257068462 diff --git a/sources b/sources index e69de29..679bb37 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +087e8b4bdd098ea1d22598c025d6eaaf calibre-0.6.19-nofonts.tar.gz