eb3cff4f6f
from viq
112 lines
5.6 KiB
Plaintext
112 lines
5.6 KiB
Plaintext
$OpenBSD: patch-src_calibre_linux_py,v 1.1 2011/09/05 12:38:36 jasper Exp $
|
|
|
|
Lifted from ArchLinux, saves mime and desktop files on disk
|
|
instead of trying to add them directly.
|
|
|
|
--- src/calibre/linux.py.orig Sun Jul 17 13:26:34 2011
|
|
+++ src/calibre/linux.py Sun Jul 17 13:37:59 2011
|
|
@@ -140,19 +140,7 @@ class PostInstall:
|
|
self.install_man_pages()
|
|
if islinux or isbsd:
|
|
self.setup_desktop_integration()
|
|
- self.create_uninstaller()
|
|
|
|
- from calibre.utils.config import config_dir
|
|
- if os.path.exists(config_dir):
|
|
- os.chdir(config_dir)
|
|
- if islinux or isbsd:
|
|
- for f in os.listdir('.'):
|
|
- if os.stat(f).st_uid == 0:
|
|
- import shutil
|
|
- shutil.rmtree(f) if os.path.isdir(f) else os.unlink(f)
|
|
- if os.stat(config_dir).st_uid == 0:
|
|
- os.rmdir(config_dir)
|
|
-
|
|
if warn is None and self.warnings:
|
|
self.info('There were %d warnings'%len(self.warnings))
|
|
for args, kwargs in self.warnings:
|
|
@@ -321,7 +309,7 @@ class PostInstall:
|
|
if isbsd:
|
|
manfile = os.path.join(manpath, prog+'.1')
|
|
else:
|
|
- manfile = os.path.join(manpath, prog+'.1'+__appname__+'.bz2')
|
|
+ manfile = os.path.join(manpath, prog+'.1'+'.bz2')
|
|
self.info('\tInstalling MAN page for', prog)
|
|
open(manfile, 'wb').write(raw)
|
|
self.manifest.append(manfile)
|
|
@@ -339,51 +327,39 @@ class PostInstall:
|
|
|
|
with TemporaryDirectory() as tdir:
|
|
with CurrentDir(tdir):
|
|
- render_img('mimetypes/lrf.png', 'calibre-lrf.png')
|
|
- check_call('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-lrf.png application-lrf', shell=True)
|
|
- self.icon_resources.append(('mimetypes', 'application-lrf', '128'))
|
|
- check_call('xdg-icon-resource install --noupdate --context mimetypes --size 128 calibre-lrf.png text-lrs', shell=True)
|
|
- self.icon_resources.append(('mimetypes', 'application-lrs',
|
|
- '128'))
|
|
- render_img('lt.png', 'calibre-gui.png')
|
|
- check_call('xdg-icon-resource install --noupdate --size 128 calibre-gui.png calibre-gui', shell=True)
|
|
- self.icon_resources.append(('apps', 'calibre-gui', '128'))
|
|
- render_img('viewer.png', 'calibre-viewer.png')
|
|
- check_call('xdg-icon-resource install --size 128 calibre-viewer.png calibre-viewer', shell=True)
|
|
- self.icon_resources.append(('apps', 'calibre-viewer', '128'))
|
|
+ dir = os.path.join(self.opts.staging_sharedir,'../pixmaps')
|
|
+ os.mkdir(dir)
|
|
+ render_img('mimetypes/lrf.png', os.path.join(dir,'calibre-lrf.png'))
|
|
+ render_img('lt.png', os.path.join(dir, 'calibre-gui.png'))
|
|
+ render_img('viewer.png', os.path.join(dir, 'calibre-viewer.png'))
|
|
|
|
mimetypes = set([])
|
|
for x in all_input_formats():
|
|
mt = guess_type('dummy.'+x)[0]
|
|
- if mt and 'chemical' not in mt and 'ctc-posml' not in mt:
|
|
+ if mt and 'chemical' not in mt and 'text' not in mt and 'pdf' not in mt and 'xhtml' not in mt:
|
|
mimetypes.add(mt)
|
|
|
|
def write_mimetypes(f):
|
|
f.write('MimeType=%s;\n'%';'.join(mimetypes))
|
|
|
|
- f = open('calibre-lrfviewer.desktop', 'wb')
|
|
+ dir = os.path.join(self.opts.staging_sharedir,'../applications')
|
|
+ os.mkdir(dir)
|
|
+ f = open(os.path.join(dir, 'calibre-lrfviewer.desktop'), 'wb')
|
|
f.write(VIEWER)
|
|
f.close()
|
|
- f = open('calibre-ebook-viewer.desktop', 'wb')
|
|
+ f = open(os.path.join(dir, 'calibre-ebook-viewer.desktop'), 'wb')
|
|
f.write(EVIEWER)
|
|
write_mimetypes(f)
|
|
f.close()
|
|
- f = open('calibre-gui.desktop', 'wb')
|
|
+ f = open(os.path.join(dir, 'calibre-gui.desktop'), 'wb')
|
|
f.write(GUI)
|
|
write_mimetypes(f)
|
|
f.close()
|
|
- des = ('calibre-gui.desktop', 'calibre-lrfviewer.desktop',
|
|
- 'calibre-ebook-viewer.desktop')
|
|
- for x in des:
|
|
- cmd = ['xdg-desktop-menu', 'install', '--noupdate', './'+x]
|
|
- check_call(' '.join(cmd), shell=True)
|
|
- self.menu_resources.append(x)
|
|
- check_call(['xdg-desktop-menu', 'forceupdate'])
|
|
- f = open('calibre-mimetypes', 'wb')
|
|
+ dir = os.path.join(self.opts.staging_sharedir,'../mime/packages/')
|
|
+ os.makedirs(dir)
|
|
+ f = open(os.path.join(dir, 'calibre.xml'), 'wb')
|
|
f.write(MIME)
|
|
f.close()
|
|
- self.mime_resources.append('calibre-mimetypes')
|
|
- check_call('xdg-mime install ./calibre-mimetypes', shell=True)
|
|
except Exception:
|
|
if self.opts.fatal_errors:
|
|
raise
|
|
@@ -521,7 +497,7 @@ GUI = '''\
|
|
[Desktop Entry]
|
|
Version=1.0
|
|
Type=Application
|
|
-Name=calibre
|
|
+Name=Calibre
|
|
GenericName=E-book library management
|
|
Comment=E-book library management: Convert, view, share, catalogue all your e-books
|
|
TryExec=calibre
|