Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 258938 - app-text/calibre-0.5.3 version bump request
Summary: app-text/calibre-0.5.3 version bump request
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement with 1 vote (vote)
Assignee: Diego Elio Pettenò (RETIRED)
URL: http://calibre.kovidgoyal.net/downloa...
Whiteboard:
Keywords: InVCS
: 264296 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-02-14 04:33 UTC by coran.fisher@gmail.com
Modified: 2009-04-29 06:33 UTC (History)
7 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
*non-working* ebuild for calibre-0.4.141 - compiles, but doesn't install (calibre-0.4.141.ebuild,2.34 KB, text/plain)
2009-03-01 23:37 UTC, Anthony Staines
Details
Ebuild for calibre-0.5.2 based on exerbo's exlib (calibre-0.5.2.ebuild,3.00 KB, text/plain)
2009-03-20 14:18 UTC, Tim Dodge
Details
calibre-0.5.8.ebuild (calibre-0.5.8.ebuild,3.07 KB, text/plain)
2009-04-24 07:17 UTC, Ilya Hegai
Details
help2man-0.5.8.diff (help2man-0.5.8.diff,583 bytes, patch)
2009-04-24 07:18 UTC, Ilya Hegai
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description coran.fisher@gmail.com 2009-02-14 04:33:21 UTC
A really huge number of improvements and bugfixes have been made since the version in portage.
Current version is 0.4.137


http://calibre.kovidgoyal.net/wiki/Changelog

download instructins
http://calibre.kovidgoyal.net/download_linuxdownload 

Reproducible: Always
Comment 1 coran.fisher@gmail.com 2009-02-14 04:35:29 UTC
somehow I made a mistake in download instruction URL.  Here is the correction
http://calibre.kovidgoyal.net/download_linux
Comment 2 Patrick Lauer gentoo-dev 2009-03-01 16:38:01 UTC
Server is slow/broken, gives a 404 for the SRC_URI from the older ebuilds, so fetching .137 is currently not possible.

Can you please post a corrected SRC_URI for the ebuild?

Thanks,

Patrick
Comment 3 Anthony Staines 2009-03-01 22:34:35 UTC
http://calibre.kovidgoyal.net/downloads/calibre-0.4.141.tar.gz
 works for me (for 0.4.141), as far as I can sees 0.4.ny is not there for downloading,
Anthony

(In reply to comment #2)
> Server is slow/broken, gives a 404 for the SRC_URI from the older ebuilds, so
> fetching .137 is currently not possible.
> 
> Can you please post a corrected SRC_URI for the ebuild?
> 
> Thanks,
> 
> Patrick
> 

Comment 4 Anthony Staines 2009-03-01 23:37:51 UTC
Created attachment 183626 [details]
*non-working* ebuild for calibre-0.4.141 - compiles, but doesn't install

Installing calibre script to /var/tmp/portage/app-text/calibre-0.4.141/image/usr/bin
/bin/sh: calibre_postinstall: command not found
Traceback (most recent call last):
  File "setup.py", line 183, in <module>
    subprocess.check_call('calibre_postinstall', shell=True)
  File "/usr/lib/python2.5/subprocess.py", line 462, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'calibre_postinstall' returned non-zero exit status 127
 *
 * ERROR: app-text/calibre-0.4.141 failed.
 * Call stack:
 *               ebuild.sh, line   49:  Called src_install
 *             environment, line 2437:  Called distutils_src_install
 *             environment, line  684:  Called die
 * The specific snippet of code:
 *           ${python} setup.py install --root="${D}" --no-compile "$@" || die "python setup.py install failed";
 *  The die message:
 *   python setup.py install failed
 *
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/tmp/portage/app-text/calibre-0.4.141/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/app-text/calibre-0.4.141/temp/environment'.
Comment 5 Anthony Staines 2009-03-01 23:43:02 UTC
(In reply to comment #4)
> Created an attachment (id=183626) [edit]
> *non-working* ebuild for calibre-0.4.141 - compiles, but doesn't install

Hi,
I've been fiddling with this for a while, bu I know no Python, so I'm not getting very far. I've put in the dependencies from the Linux download page for calibre (http://calibre.kovidgoyal.net/download_linux). The ebuild, which is crudely hacked from the earlier version in Portage compiles fine, but dies with the message :-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Installing calibre script to /var/tmp/portage/app-text/calibre-0.4.141/image/usr/bin
/bin/sh: calibre_postinstall: command not found
Traceback (most recent call last):
  File "setup.py", line 183, in <module>
    subprocess.check_call('calibre_postinstall', shell=True)
  File "/usr/lib/python2.5/subprocess.py", line 462, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command 'calibre_postinstall' returned non-zero exit status 127
^^^^^^^^^^^^^^^^^^^^^^^^^^^

the installation instructions are :- 

wget -O- http://calibre.kovidgoyal.net/downloads/calibre-0.4.141.tar.gz | tar xvz 
cd calibre*
python setup.py build && sudo python setup.py install
sudo calibre_postinstall
                         
with the comment
"The calibre_postinstall step is required for device detection and integration with your desktop environment."

The older ebuild has quite  a bit of stuff at the end which presumably does this, but it doesn;t work for the new calibre, and I don't understand it well enough to fix it myself.
Comment 6 Diego Elio Pettenò (RETIRED) gentoo-dev 2009-03-02 09:27:03 UTC
Sorry I know I have been neglecting this, but it's for the same reason you hit: installing calibre is non-trivial for a distributions, both because of the actual post installation of calibre itself, and because of xdg-utils being absolutely unusable for distributions packaging.

I have relied on OSX myself since I wasted almost a full week on that and gave up until I could hear from xdg-utils guys, which I didn't.
Comment 7 Patrick Lauer gentoo-dev 2009-03-07 14:02:46 UTC
Current version is .143
Comment 8 Tim Dodge 2009-03-20 14:18:41 UTC
Created attachment 185625 [details]
Ebuild for calibre-0.5.2 based on exerbo's exlib

I've not tried running this yet, but it installs okay for me.

Based on exherbo's exlib
Comment 9 Diego Elio Pettenò (RETIRED) gentoo-dev 2009-03-20 14:24:15 UTC
Please don't even try attaching untested ebuilds, unless calibre dropped xdg-utils, it's going to require LOTS of patching around.
Comment 10 Tim Dodge 2009-03-20 14:57:46 UTC
Thank you, you're welcome.

It seems to have done the sensible thing with the .desktop files and icons.

And it does basically the same as the build in exherbo's tree. I only haven't run it yet as I only have ssh access to my machine at the moment.
Comment 11 Tim Dodge 2009-03-23 14:39:15 UTC
I've been using calibre 0.5.2 and it all seems fine, apart from the ability to convert RAR-based formats (like .cbr comics).

It needs libunrar.so to process these files, which is not packaged by the unrar ebuild (see bug http://bugs.gentoo.org/show_bug.cgi?id=177402).
Comment 12 coran.fisher@gmail.com 2009-03-24 17:42:12 UTC
BTW Tim your ebuild builds but fails on installing man pages for me. 
Installing from source and running the supplied post install works and is how I am using calibre now.

Installing lrfviewer script to /var/tmp/portage/app-text/calibre-0.5.2/image/usr/bin  
Installing calibre script to /var/tmp/portage/app-text/calibre-0.5.2/image/usr/bin    
QA: Static ELF: /sbin/ldconfig: /sbin/ldconfig -p                                     
QA: Static ELF: /sbin/ldconfig: /sbin/ldconfig -p                                     
Setting up desktop integration...                                                     
Installing MAN pages...                                                               
        Installing MAN page for lrf-meta                                              
        Installing MAN page for rtf-meta                                              
        Installing MAN page for pdf-meta                                              
        Installing MAN page for opf-meta                                              
        Installing MAN page for epub-meta                                             
        Installing MAN page for mobi-meta                                             
        Installing MAN page for txt2lrf                                               
        Installing MAN page for html2lrf                                              
        Installing MAN page for html2oeb                                              
        Installing MAN page for html2epub                                             
        Installing MAN page for odt2oeb                                               
        Installing MAN page for lit2lrf                                               
        Installing MAN page for epub2lrf                                              
        Installing MAN page for rtf2lrf                                               
        Installing MAN page for web2disk                                              
Traceback (most recent call last):                                                    
  File "/var/tmp/portage/app-text/calibre-0.5.2/work/calibre-0.5.2/src/calibre/linux.py", line 600, in <module>                                                             
    post_install()                                                                    
  File "/var/tmp/portage/app-text/calibre-0.5.2/work/calibre-0.5.2/src/calibre/linux.py", line 446, in post_install                                                         
    manifest += install_man_pages(opts.fatal_errors, use_destdir)                     
  File "/var/tmp/portage/app-text/calibre-0.5.2/work/calibre-0.5.2/src/calibre/linux.py", line 430, in install_man_pages                                                    
    raw = create_man_page(prog, parser)                                               
  File "build/bdist.linux-x86_64/egg/calibre/utils/help2man.py", line 57, in create_man_page                                                                                
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 21: ordinal not in range(128)                                                                          
 *                                                                                    
 * ERROR: app-text/calibre-0.5.2 failed.                                              
 * Call stack:                                                                        
 *               ebuild.sh, line   48:  Called src_install                            
 *             environment, line 2624:  Called die                                    
 * The specific snippet of code:                                                      
 *       PATH="${T}:${PATH}" KDEDIRS="${D}/usr" XDG_DATA_DIRS="${D}/usr/share" DESTDIR="${D}" PYTHONPATH="${S}/build/lib" python "${S}"/src/${PN}/linux.py --use-destdir --do-not-reload-udev-hal --group-file="${ROOT}"/etc/group --dont-check-root || die "post-installation failed.";                                                                
 *  The die message:                                                                  
 *   post-installation failed.                                                        
 *                                                                                    
 * If you need support, post the topmost build error, and the call stack if relevant. 
 * A complete build log is located at '/var/log/portage/app-text:calibre-0.5.2:20090324-173518.log'.                                                                        
 * The ebuild environment file is located at '/var/tmp/portage/app-text/calibre-0.5.2/temp/environment'.                                                                    
 * This ebuild is from an overlay: '/usr/local/portage/'                              
 *                                                                                    

>>> Failed to emerge app-text/calibre-0.5.2, Log file:

>>>  '/var/log/portage/app-text:calibre-0.5.2:20090324-173518.log'

 * Messages for package app-text/calibre-0.5.2:

 *
 * ERROR: app-text/calibre-0.5.2 failed.
 * Call stack:
 *               ebuild.sh, line   48:  Called src_install
 *             environment, line 2624:  Called die
 * The specific snippet of code:
 *       PATH="${T}:${PATH}" KDEDIRS="${D}/usr" XDG_DATA_DIRS="${D}/usr/share" DESTDIR="${D}" PYTHONPATH="${S}/build/lib" python "${S}"/src/${PN}/linux.py --use-destdir --do-not-reload-udev-hal --group-file="${ROOT}"/etc/group --dont-check-root || die "post-installation failed.";
 *  The die message:
 *   post-installation failed.
 *
Comment 13 Tim Dodge 2009-03-24 20:38:37 UTC
I wonder if your error is related to this bug:
http://bugs.gentoo.org/show_bug.cgi?id=263081

The next man page (feeds2disk) does have unicode characters in it.
Comment 14 Patrick Lauer gentoo-dev 2009-03-30 14:00:54 UTC
*** Bug 264296 has been marked as a duplicate of this bug. ***
Comment 15 Patrick Lauer gentoo-dev 2009-03-30 14:01:35 UTC
Update summary: 0.5.3 is what we want
Comment 16 Tim Dodge 2009-03-30 15:35:06 UTC
Version 0.5.3 requires >=dev-python/lxml-2.1.5

(BTW, copying the 0.5.2 ebuild and updating the RDEPEND is working for me)
Comment 17 Ilya Hegai 2009-04-24 07:17:22 UTC
Created attachment 189294 [details]
calibre-0.5.8.ebuild
Comment 18 Ilya Hegai 2009-04-24 07:18:06 UTC
Created attachment 189295 [details, diff]
help2man-0.5.8.diff
Comment 19 Dodo 2009-04-27 04:59:14 UTC
(In reply to comment #18)
> Created an attachment (id=189295) [edit]
> help2man-0.5.8.diff
> 

Hi, 

I get the following sandbox violation errors when trying to emerge the 0.5.8 ebuild (see below for emerge --info) :

$ sudo emerge -v calibre

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N    ] app-text/calibre-0.5.8  USE="bash-completion" 0 kB [1]

Total: 1 package (1 new), Size of downloads: 0 kB
Portage tree and overlays:
 [0] /usr/portage
 [1] /usr/local/portage


>>> Verifying ebuild manifests

>>> Emerging (1 of 1) app-text/calibre-0.5.8 from unknown repo
 * calibre-0.5.8.tar.gz RMD160 SHA1 SHA256 size ;-) ...                  [ ok ]
 * checking ebuild checksums ;-) ...                                     [ ok ]
 * checking auxfile checksums ;-) ...                                    [ ok ]
 * checking miscfile checksums ;-) ...                                   [ ok ]
>>> Unpacking source...
...
...
...
Installing calibre script to /var/tmp/portage/app-text/calibre-0.5.8/image/usr/bin
/var/tmp/portage/app-text/calibre-0.5.8/work/calibre-0.5.8/build/lib/calibre/constants.py:52: UserWarning: Module calibre was already imported from /var/tmp/portage/app-text/calibre-0.5.8/work/calibre-0.5.8/build/lib/calibre/__init__.py, but /usr/lib64/python2.6/site-packages/calibre-0.5.8-py2.6-linux-x86_64.egg is being added to sys.path
  import pkg_resources
Setting up desktop integration...
ACCESS DENIED  open_wr:      /usr/share/gnome/apps/calibre-gui.desktop
/usr/bin/xdg-desktop-menu: line 1247: /usr/share/gnome/apps/calibre-gui.desktop: Permission denied
ACCESS DENIED  open_wr:      /usr/share/gnome/apps/calibre-lrfviewer.desktop
/usr/bin/xdg-desktop-menu: line 1247: /usr/share/gnome/apps/calibre-lrfviewer.desktop: Permission denied
Installing MAN pages...
	Installing MAN page for lrf-meta
	Installing MAN page for rtf-meta
	Installing MAN page for pdf-meta
Traceback (most recent call last):
  File "/var/tmp/portage/app-text/calibre-0.5.8/work/calibre-0.5.8/src/calibre/linux.py", line 603, in <module>
    post_install()
  File "/var/tmp/portage/app-text/calibre-0.5.8/work/calibre-0.5.8/src/calibre/linux.py", line 449, in post_install
    manifest += install_man_pages(opts.fatal_errors, use_destdir)
  File "/var/tmp/portage/app-text/calibre-0.5.8/work/calibre-0.5.8/src/calibre/linux.py", line 428, in install_man_pages
    module = __import__(right.split(':')[0].strip(), fromlist=['a'])
  File "/var/tmp/portage/app-text/calibre-0.5.8/work/calibre-0.5.8/build/lib/calibre/ebooks/metadata/lit.py", line 11, in <module>
    from calibre.ebooks.lit.reader import LitReader
  File "/var/tmp/portage/app-text/calibre-0.5.8/work/calibre-0.5.8/build/lib/calibre/ebooks/lit/reader.py", line 19, in <module>
    from calibre.ebooks.oeb.base import urlnormalize
  File "/var/tmp/portage/app-text/calibre-0.5.8/work/calibre-0.5.8/build/lib/calibre/ebooks/oeb/base.py", line 23, in <module>
    from calibre.ebooks.metadata.epub import CoverRenderer
  File "/var/tmp/portage/app-text/calibre-0.5.8/work/calibre-0.5.8/build/lib/calibre/ebooks/metadata/epub.py", line 14, in <module>
    from PyQt4.QtWebKit import QWebPage
ImportError: No module named QtWebKit
 * 
 * ERROR: app-text/calibre-0.5.8 failed.
 * Call stack:
 *               ebuild.sh, line   48:  Called src_install
 *             environment, line 2606:  Called die
 * The specific snippet of code:
 *       PATH="${T}:${PATH}" KDEDIRS="${D}/usr" XDG_DATA_DIRS="${D}/usr/share" DESTDIR="${D}" PYTHONPATH="${S}/build/lib" python "${S}"/src/${PN}/linux.py --use-destdir --do-not-reload-udev-hal --group-file="${ROOT}"/etc/group --dont-check-root || die "post-installation failed.";
 *  The die message:
 *   post-installation failed.
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/log/portage/app-text:calibre-0.5.8:20090427-044933.log'.
 * The ebuild environment file is located at '/var/tmp/portage/app-text/calibre-0.5.8/temp/environment'.
 * This ebuild is from an overlay: '/usr/local/portage/'
 * 
--------------------------- ACCESS VIOLATION SUMMARY ---------------------------
LOG FILE "/var/log/sandbox/sandbox-28334.log"

VERSION 1.0
FORMAT: F - Function called
FORMAT: S - Access Status
FORMAT: P - Path as passed to function
FORMAT: A - Absolute Path (not canonical)
FORMAT: R - Canonical Path
FORMAT: C - Command Line

F: open_wr
S: deny
P: /usr/share/gnome/apps/calibre-gui.desktop
A: /usr/share/gnome/apps/calibre-gui.desktop
R: /usr/share/gnome/apps/calibre-gui.desktop
C: cp ./calibre-gui.desktop /usr/share/gnome/apps/calibre-gui.desktop 

F: open_wr
S: deny
P: /usr/share/gnome/apps/calibre-gui.desktop
A: /usr/share/gnome/apps/calibre-gui.desktop
R: /usr/share/gnome/apps/calibre-gui.desktop
C: /bin/sh /usr/bin/xdg-desktop-menu install ./calibre-gui.desktop ./calibre-lrfviewer.desktop 

F: open_wr
S: deny
P: /usr/share/gnome/apps/calibre-lrfviewer.desktop
A: /usr/share/gnome/apps/calibre-lrfviewer.desktop
R: /usr/share/gnome/apps/calibre-lrfviewer.desktop
C: cp ./calibre-lrfviewer.desktop /usr/share/gnome/apps/calibre-lrfviewer.desktop 

F: open_wr
S: deny
P: /usr/share/gnome/apps/calibre-lrfviewer.desktop
A: /usr/share/gnome/apps/calibre-lrfviewer.desktop
R: /usr/share/gnome/apps/calibre-lrfviewer.desktop
C: /bin/sh /usr/bin/xdg-desktop-menu install ./calibre-gui.desktop ./calibre-lrfviewer.desktop 
--------------------------------------------------------------------------------

>>> Failed to emerge app-text/calibre-0.5.8, Log file:

>>>  '/var/log/portage/app-text:calibre-0.5.8:20090427-044933.log'

 * Messages for package app-text/calibre-0.5.8:

 * 
 * ERROR: app-text/calibre-0.5.8 failed.
 * Call stack:
 *               ebuild.sh, line   48:  Called src_install
 *             environment, line 2606:  Called die
 * The specific snippet of code:
 *       PATH="${T}:${PATH}" KDEDIRS="${D}/usr" XDG_DATA_DIRS="${D}/usr/share" DESTDIR="${D}" PYTHONPATH="${S}/build/lib" python "${S}"/src/${PN}/linux.py --use-destdir --do-not-reload-udev-hal --group-file="${ROOT}"/etc/group --dont-check-root || die "post-installation failed.";
 *  The die message:
 *   post-installation failed.
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/log/portage/app-text:calibre-0.5.8:20090427-044933.log'.
 * The ebuild environment file is located at '/var/tmp/portage/app-text/calibre-0.5.8/temp/environment'.
 * This ebuild is from an overlay: '/usr/local/portage/'
 * 
================================================================================

Here's my emerge --info:

$ emerge --info
Portage 2.1.6.11 (default/linux/amd64/2008.0/desktop, gcc-4.3.3, glibc-2.9_p20081201-r2, 2.6.28-gentoo-r4 x86_64)
=================================================================
System uname: Linux-2.6.28-gentoo-r4-x86_64-AMD_Phenom-tm-_8750_Triple-Core_Processor-with-gentoo-2.0.0
Timestamp of tree: Mon, 27 Apr 2009 00:00:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:     4.0_p17-r1
dev-java/java-config: 1.3.7-r1, 2.1.7
dev-lang/python:     2.4.4-r15, 2.5.4-r2, 2.6.2
dev-python/pycrypto: 2.0.1-r8
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.6.3-r1
sys-apps/baselayout: 2.0.0
sys-apps/openrc:     0.4.3-r2
sys-apps/sandbox:    1.9
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.5, 1.7.9-r1, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.19.1-r1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.28-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=athlon64 -msse3 -pipe -ftracer -frename-registers -ftree-vectorize"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O2 -march=athlon64 -msse3 -pipe -ftracer -frename-registers -ftree-vectorize"
DISTDIR="/usr/portage/distfiles"
FEATURES="ccache collision-protect distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="ftp://gentoo.arcticnetwork.ca/pub/gentoo ftp://mirrors.tera-byte.com/pub/gentoo ftp://gentoo.chem.wisc.edu/gentoo http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="en_CA.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--warn-once"
LINGUAS="en en_GB"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/jokey /usr/local/portage/layman/jokey /usr/local/portage /usr/local/portage /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X a52 aac acl acpi alsa amd64 avahi bash-completion berkdb bluetooth branding bzip2 cairo cdparanoia cdr cli cracklib crypt cups dbus dga dri dts dvd dvdr dvdread eds emboss encode esd evo exif fam ffmpeg fftw firefox flac foomaticdb fortran gdbm gif gimp gnome gphoto2 gpm gstreamer gtk gtkhtml hal iconv imagemagick ipv6 isdnlog jabber java java6 javascript jpeg lapack latex ldap libnotify live lm_sensors mad midi mikmod mmx mmxext mp3 mpeg mudflap multilib ncurses nls nptl nptlonly ogg opengl openmp pam pcre pdf perl png ppds pppd python quicktime readline reflection sdl seamonkey session smp spell spl sse sse2 ssl startup-notification svg sysfs tcpd theora tiff truetype unicode usb v4l v4l2 vorbis wifi x264 xml xorg xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_GB" USERLAND="GNU" VIDEO_CARDS="radeonhd vesa"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

Comment 20 Zac Medico gentoo-dev 2009-04-27 07:12:53 UTC
Thanks everyone, 0.5.9 is in the tree now.

(In reply to comment #12)                                   
>   File "build/bdist.linux-x86_64/egg/calibre/utils/help2man.py", line 57, in
> create_man_page                                                                 
> UnicodeDecodeError: 'ascii' codec can't decode byte 0xe6 in position 21:
> ordinal not in range(128)                                                       

I didn't include the help2man patch since I wasn't able to reproduce it (maybe it's fixed in 0.5.9 already). Please advise if the problem still exists.
Comment 21 Dodo 2009-04-28 06:15:12 UTC
(In reply to comment #20)
> Thanks everyone, 0.5.9 is in the tree now.

Sorry, it's still a no go for me:

$ sudo emerge -v calibre

>>> Verifying ebuild manifests

>>> Emerging (1 of 1) app-text/calibre-0.5.9
 * calibre-0.5.9.tar.gz RMD160 SHA1 SHA256 size ;-) ...                  [ ok ]
 * checking ebuild checksums ;-) ...                                     [ ok ]
 * checking auxfile checksums ;-) ...                                    [ ok ]
 * checking miscfile checksums ;-) ...                                   [ ok ]
>>> Unpacking source...
>>> Unpacking calibre-0.5.9.tar.gz to /var/tmp/portage/app-text/calibre-0.5.9/work
>>> Source unpacked in /var/tmp/portage/app-text/calibre-0.5.9/work
>>> Compiling source in /var/tmp/portage/app-text/calibre-0.5.9/work/calibre-0.5.9 
...
...
...
...
...
Installing calibre script to /var/tmp/portage/app-text/calibre-0.5.9/image/usr/bin
/var/tmp/portage/app-text/calibre-0.5.9/work/calibre-0.5.9/build/lib/calibre/constants.py:52: UserWarning: Module calibre was already imported from /var/tmp/portage/app-text/calibre-0.5.9/work/calibre-0.5.9/build/lib/calibre/__init__.py, but /usr/lib64/python2.6/site-packages/calibre-0.5.8-py2.6-linux-x86_64.egg is being added to sys.path
  import pkg_resources
Setting up desktop integration...
ACCESS DENIED  open_wr:      /usr/share/gnome/apps/calibre-gui.desktop
/usr/bin/xdg-desktop-menu: line 1247: /usr/share/gnome/apps/calibre-gui.desktop: Permission denied
ACCESS DENIED  open_wr:      /usr/share/gnome/apps/calibre-lrfviewer.desktop
/usr/bin/xdg-desktop-menu: line 1247: /usr/share/gnome/apps/calibre-lrfviewer.desktop: Permission denied
Installing MAN pages...
	Installing MAN page for lrf-meta
	Installing MAN page for rtf-meta
	Installing MAN page for pdf-meta
Traceback (most recent call last):
  File "/var/tmp/portage/app-text/calibre-0.5.9/work/calibre-0.5.9/src/calibre/linux.py", line 603, in <module>
    post_install()
  File "/var/tmp/portage/app-text/calibre-0.5.9/work/calibre-0.5.9/src/calibre/linux.py", line 449, in post_install
    manifest += install_man_pages(opts.fatal_errors, use_destdir)
  File "/var/tmp/portage/app-text/calibre-0.5.9/work/calibre-0.5.9/src/calibre/linux.py", line 428, in install_man_pages
    module = __import__(right.split(':')[0].strip(), fromlist=['a'])
  File "/var/tmp/portage/app-text/calibre-0.5.9/work/calibre-0.5.9/build/lib/calibre/ebooks/metadata/lit.py", line 11, in <module>
    from calibre.ebooks.lit.reader import LitReader
  File "/var/tmp/portage/app-text/calibre-0.5.9/work/calibre-0.5.9/build/lib/calibre/ebooks/lit/reader.py", line 19, in <module>
    from calibre.ebooks.oeb.base import urlnormalize
  File "/var/tmp/portage/app-text/calibre-0.5.9/work/calibre-0.5.9/build/lib/calibre/ebooks/oeb/base.py", line 23, in <module>
    from calibre.ebooks.metadata.epub import CoverRenderer
  File "/var/tmp/portage/app-text/calibre-0.5.9/work/calibre-0.5.9/build/lib/calibre/ebooks/metadata/epub.py", line 14, in <module>
    from PyQt4.QtWebKit import QWebPage
ImportError: No module named QtWebKit
 * 
 * ERROR: app-text/calibre-0.5.9 failed.
 * Call stack:
 *               ebuild.sh, line   48:  Called src_install
 *             environment, line 2595:  Called die
 * The specific snippet of code:
 *       PATH="${T}:${PATH}" KDEDIRS="${D}/usr" XDG_DATA_DIRS="${D}/usr/share" DESTDIR="${D}" PYTHONPATH="${S}/build/lib" python "${S}"/src/${PN}/linux.py --use-destdir --do-not-reload-udev-hal --group-file="${ROOT}"/etc/group --dont-check-root || die "post-installation failed.";
 *  The die message:
 *   post-installation failed.
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/log/portage/app-text:calibre-0.5.9:20090428-060825.log'.
 * The ebuild environment file is located at '/var/tmp/portage/app-text/calibre-0.5.9/temp/environment'.
 * 
--------------------------- ACCESS VIOLATION SUMMARY ---------------------------
LOG FILE "/var/log/sandbox/sandbox-7310.log"

VERSION 1.0
FORMAT: F - Function called
FORMAT: S - Access Status
FORMAT: P - Path as passed to function
FORMAT: A - Absolute Path (not canonical)
FORMAT: R - Canonical Path
FORMAT: C - Command Line

F: open_wr
S: deny
P: /usr/share/gnome/apps/calibre-gui.desktop
A: /usr/share/gnome/apps/calibre-gui.desktop
R: /usr/share/gnome/apps/calibre-gui.desktop
C: cp ./calibre-gui.desktop /usr/share/gnome/apps/calibre-gui.desktop 

F: open_wr
S: deny
P: /usr/share/gnome/apps/calibre-gui.desktop
A: /usr/share/gnome/apps/calibre-gui.desktop
R: /usr/share/gnome/apps/calibre-gui.desktop
C: /bin/sh /usr/bin/xdg-desktop-menu install ./calibre-gui.desktop ./calibre-lrfviewer.desktop 

F: open_wr
S: deny
P: /usr/share/gnome/apps/calibre-lrfviewer.desktop
A: /usr/share/gnome/apps/calibre-lrfviewer.desktop
R: /usr/share/gnome/apps/calibre-lrfviewer.desktop
C: cp ./calibre-lrfviewer.desktop /usr/share/gnome/apps/calibre-lrfviewer.desktop 

F: open_wr
S: deny
P: /usr/share/gnome/apps/calibre-lrfviewer.desktop
A: /usr/share/gnome/apps/calibre-lrfviewer.desktop
R: /usr/share/gnome/apps/calibre-lrfviewer.desktop
C: /bin/sh /usr/bin/xdg-desktop-menu install ./calibre-gui.desktop ./calibre-lrfviewer.desktop 
--------------------------------------------------------------------------------

>>> Failed to emerge app-text/calibre-0.5.9, Log file:

>>>  '/var/log/portage/app-text:calibre-0.5.9:20090428-060825.log'

 * Messages for package app-text/calibre-0.5.9:

 * 
 * ERROR: app-text/calibre-0.5.9 failed.
 * Call stack:
 *               ebuild.sh, line   48:  Called src_install
 *             environment, line 2595:  Called die
 * The specific snippet of code:
 *       PATH="${T}:${PATH}" KDEDIRS="${D}/usr" XDG_DATA_DIRS="${D}/usr/share" DESTDIR="${D}" PYTHONPATH="${S}/build/lib" python "${S}"/src/${PN}/linux.py --use-destdir --do-not-reload-udev-hal --group-file="${ROOT}"/etc/group --dont-check-root || die "post-installation failed.";
 *  The die message:
 *   post-installation failed.
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/log/portage/app-text:calibre-0.5.9:20090428-060825.log'.
 * The ebuild environment file is located at '/var/tmp/portage/app-text/calibre-0.5.9/temp/environment'.
 * 
Comment 22 Zac Medico gentoo-dev 2009-04-28 07:31:41 UTC
(In reply to comment #21)
> Setting up desktop integration...
> ACCESS DENIED  open_wr:      /usr/share/gnome/apps/calibre-gui.desktop
> /usr/bin/xdg-desktop-menu: line 1247:
> /usr/share/gnome/apps/calibre-gui.desktop: Permission denied
> ACCESS DENIED  open_wr:      /usr/share/gnome/apps/calibre-lrfviewer.desktop
> /usr/bin/xdg-desktop-menu: line 1247:
> /usr/share/gnome/apps/calibre-lrfviewer.desktop: Permission denied

This might be a sandbox bug because the relevant code inside /usr/bin/xdg-desktop-menu looks like this:

   gnome_global_dir="/usr/share/gnome/apps"
   [ -w $gnome_global_dir ] || gnome_global_dir=

It seems like sandbox should make that [ -w $gnome_global_dir ] call return false and prevent anything from being installed there. Which version of sys-apps/sandbox do you have now? Make sure you have the latest version.

>   File
> "/var/tmp/portage/app-text/calibre-0.5.9/work/calibre-0.5.9/build/lib/calibre/ebooks/metadata/epub.py",
> line 14, in <module>
>     from PyQt4.QtWebKit import QWebPage
> ImportError: No module named QtWebKit

I've updated the ebuild to require that USE=webkit be enabled for PyQt4.
Comment 23 Tim Dodge 2009-04-28 08:00:31 UTC
Would it be possible to add an optional dependency on dev-python/reportlab? It's needed to run the comic2pdf script.

PDF is the best format for landscape mode comic viewing. More details about this here: http://calibre.kovidgoyal.net/ticket/1331

Thanks

Comment 24 Zac Medico gentoo-dev 2009-04-28 10:12:14 UTC
(In reply to comment #21)
> Setting up desktop integration...
> ACCESS DENIED  open_wr:      /usr/share/gnome/apps/calibre-gui.desktop
> /usr/bin/xdg-desktop-menu: line 1247:
> /usr/share/gnome/apps/calibre-gui.desktop: Permission denied
> ACCESS DENIED  open_wr:      /usr/share/gnome/apps/calibre-lrfviewer.desktop
> /usr/bin/xdg-desktop-menu: line 1247:
> /usr/share/gnome/apps/calibre-lrfviewer.desktop: Permission denied

I was able to reproduce this after I created the /usr/share/gnome/apps directory. Now it's fixed in the ebuild with 'addpredict /usr/share/gnome/apps'.

(In reply to comment #23)
> Would it be possible to add an optional dependency on dev-python/reportlab?
> It's needed to run the comic2pdf script.

Thanks, I just added it as an unconditional dep. We can add USE flag if that bothers people.
Comment 25 Luyang Han 2009-04-28 10:18:24 UTC
The calibre-0.5.9 ebuild causes file collision with pyPdf from the portage. Since the calibre is carrying its own pyPdf files.
Comment 26 Zac Medico gentoo-dev 2009-04-28 17:22:54 UTC
(In reply to comment #25)
> The calibre-0.5.9 ebuild causes file collision with pyPdf from the portage.
> Since the calibre is carrying its own pyPdf files.

Thanks, it's fixed in cvs now.
Comment 27 Dodo 2009-04-29 03:35:58 UTC
(In reply to comment #22)
> (In reply to comment #21)
> > Setting up desktop integration...
> > ACCESS DENIED  open_wr:      /usr/share/gnome/apps/calibre-gui.desktop
> > /usr/bin/xdg-desktop-menu: line 1247:
> > /usr/share/gnome/apps/calibre-gui.desktop: Permission denied
> > ACCESS DENIED  open_wr:      /usr/share/gnome/apps/calibre-lrfviewer.desktop
> > /usr/bin/xdg-desktop-menu: line 1247:
> > /usr/share/gnome/apps/calibre-lrfviewer.desktop: Permission denied
> 
> This might be a sandbox bug because the relevant code inside
> /usr/bin/xdg-desktop-menu looks like this:
> 
>    gnome_global_dir="/usr/share/gnome/apps"
>    [ -w $gnome_global_dir ] || gnome_global_dir=
> 
> It seems like sandbox should make that [ -w $gnome_global_dir ] call return
> false and prevent anything from being installed there. Which version of
> sys-apps/sandbox do you have now? Make sure you have the latest version.

I do have the latest version of sandbox

$ equery list sandbox
[ Searching for package 'sandbox' in all categories among: ]
 * installed packages
[I--] [ ~] sys-apps/sandbox-1.9 (0)

> >   File
> > "/var/tmp/portage/app-text/calibre-0.5.9/work/calibre-0.5.9/build/lib/calibre/ebooks/metadata/epub.py",
> > line 14, in <module>
> >     from PyQt4.QtWebKit import QWebPage
> > ImportError: No module named QtWebKit
> 
> I've updated the ebuild to require that USE=webkit be enabled for PyQt4.
> 

Thanks. I reemerged PyQt4 with the webkit flag enabled, and tried to reemerge calibre, only to run into a different set of errors this time:

$ sudo emerge -v calibre

These are the packages that would be merged, in order:

Calculating dependencies   * waiting for lock on /var/db/.pkg.portage_lockfile
 ...                [ ok ]
... done!
[ebuild  N    ] app-text/calibre-0.5.9-r1  USE="bash-completion" 0 kB

Total: 1 package (1 new), Size of downloads: 0 kB


>>> Verifying ebuild manifests

>>> Emerging (1 of 1) app-text/calibre-0.5.9-r1
 * calibre-0.5.9.tar.gz RMD160 SHA1 SHA256 size ;-) ...                  [ ok ]
 * checking ebuild checksums ;-) ...                                     [ ok ]
 * checking auxfile checksums ;-) ...                                    [ ok ]
 * checking miscfile checksums ;-) ...                                   [ ok ]
>>> Unpacking source...
...
...
...
...
Installing calibre script to /var/tmp/portage/app-text/calibre-0.5.9-r1/image/usr/bin
/var/tmp/portage/app-text/calibre-0.5.9-r1/work/calibre-0.5.9/build/lib/calibre/constants.py:52: UserWarning: Module calibre was already imported from /var/tmp/portage/app-text/calibre-0.5.9-r1/work/calibre-0.5.9/build/lib/calibre/__init__.py, but /usr/lib64/python2.6/site-packages/calibre-0.5.8-py2.6-linux-x86_64.egg is being added to sys.path
  import pkg_resources
Setting up desktop integration...
/usr/bin/xdg-desktop-menu: line 1247: /usr/share/gnome/apps/calibre-gui.desktop: Permission denied
/usr/bin/xdg-desktop-menu: line 1247: /usr/share/gnome/apps/calibre-lrfviewer.desktop: Permission denied
Installing MAN pages...
	Installing MAN page for lrf-meta
	Installing MAN page for rtf-meta
	Installing MAN page for pdf-meta
	Installing MAN page for opf-meta
	Installing MAN page for epub-meta
	Installing MAN page for mobi-meta
	Installing MAN page for txt2lrf
	Installing MAN page for html2lrf
	Installing MAN page for html2oeb
	Installing MAN page for html2epub
	Installing MAN page for odt2oeb
	Installing MAN page for lit2lrf
	Installing MAN page for epub2lrf
	Installing MAN page for rtf2lrf
	Installing MAN page for web2disk
	Installing MAN page for feeds2disk
Traceback (most recent call last):
  File "/var/tmp/portage/app-text/calibre-0.5.9-r1/work/calibre-0.5.9/src/calibre/linux.py", line 603, in <module>
    post_install()
  File "/var/tmp/portage/app-text/calibre-0.5.9-r1/work/calibre-0.5.9/src/calibre/linux.py", line 449, in post_install
    manifest += install_man_pages(opts.fatal_errors, use_destdir)
  File "/var/tmp/portage/app-text/calibre-0.5.9-r1/work/calibre-0.5.9/src/calibre/linux.py", line 428, in install_man_pages
    module = __import__(right.split(':')[0].strip(), fromlist=['a'])
  File "/var/tmp/portage/app-text/calibre-0.5.9-r1/work/calibre-0.5.9/build/lib/calibre/library/server.py", line 24, in <module>
    from calibre.library.database2 import LibraryDatabase2, FIELD_MAP
  File "/var/tmp/portage/app-text/calibre-0.5.9-r1/work/calibre-0.5.9/build/lib/calibre/library/database2.py", line 19, in <module>
    from calibre.library.database import LibraryDatabase
  File "/var/tmp/portage/app-text/calibre-0.5.9-r1/work/calibre-0.5.9/build/lib/calibre/library/database.py", line 6, in <module>
    import sqlite3 as sqlite
  File "/usr/lib64/python2.6/sqlite3/__init__.py", line 24, in <module>
    from dbapi2 import *
  File "/usr/lib64/python2.6/sqlite3/dbapi2.py", line 27, in <module>
    from _sqlite3 import *
ImportError: No module named _sqlite3
 * 
 * ERROR: app-text/calibre-0.5.9-r1 failed.
 * Call stack:
 *               ebuild.sh, line   48:  Called src_install
 *             environment, line 2604:  Called die
 * The specific snippet of code:
 *       PATH="${T}:${PATH}" KDEDIRS="${D}/usr" XDG_DATA_DIRS="${D}/usr/share" DESTDIR="${D}" PYTHONPATH="${S}/build/lib" python "${S}"/src/${PN}/linux.py --use-destdir --do-not-reload-udev-hal --group-file="${ROOT}"/etc/group --dont-check-root || die "post-installation failed.";
 *  The die message:
 *   post-installation failed.
 * 
 * If you need support, post the topmost build error, and the call stack if relevant.
 * A complete build log is located at '/var/log/portage/app-text:calibre-0.5.9-r1:20090429-032252.log'.
 * The ebuild environment file is located at '/var/tmp/portage/app-text/calibre-0.5.9-r1/temp/environment'.
 * 

>>> Failed to emerge app-text/calibre-0.5.9-r1, Log file:

>>>  '/var/log/portage/app-text:calibre-0.5.9-r1:20090429-032252.log'

I must be missing something pretty obvious here. Thanks very much for your help. I appreciate it. 
Comment 28 Zac Medico gentoo-dev 2009-04-29 04:49:53 UTC
(In reply to comment #27)
> I do have the latest version of sandbox

Don't worry about because I've already added a workaround in the ebuild, as said in comment #24.

>   File "/usr/lib64/python2.6/sqlite3/dbapi2.py", line 27, in <module>
>     from _sqlite3 import *
> ImportError: No module named _sqlite3

You'll have to enable USE=sqlite for dev-lang/python. I've updated the ebuild to require that.
Comment 29 Dodo 2009-04-29 06:33:31 UTC
Success at last! 

Thanks a lot for all your help. 

(In reply to comment #28)
> (In reply to comment #27)
> > I do have the latest version of sandbox
> 
> Don't worry about because I've already added a workaround in the ebuild, as
> said in comment #24.
> 
> >   File "/usr/lib64/python2.6/sqlite3/dbapi2.py", line 27, in <module>
> >     from _sqlite3 import *
> > ImportError: No module named _sqlite3
> 
> You'll have to enable USE=sqlite for dev-lang/python. I've updated the ebuild
> to require that.
>