tag 698995 +patch
thanks
Hi,
Attached is a patch that adds support to open cbr archives with unar. I
simply replaced the unrar support with unar, as this gets rid of an
unfree suggests.
It would probably be better to rewrite comix to use libarchive, but
that's quite a bit more work.
--
Cheers,
Sven Arvidsson
http://www.whiz.se
PGP Key ID 6FAB5CD5
diff -urp comix-4.0.4/debian/changelog comix-4.0.4-patch/debian/changelog
--- comix-4.0.4/debian/changelog 2015-04-04 20:56:16.0 +0200
+++ comix-4.0.4-patch/debian/changelog 2015-04-04 20:59:13.068719082 +0200
@@ -1,3 +1,12 @@
+comix (4.0.4-2) UNRELEASED; urgency=medium
+
+ [ Sven Arvidsson ]
+ * Apply patch to use unar in place of unrar (Closes: #698995).
+ * Recommends unar in place of suggesting non-free unrar (Closes: #415915).
+ * Update description to mention unar.
+
+ -- Sven Arvidsson s...@whiz.se Sat, 04 Apr 2015 20:41:36 +0200
+
comix (4.0.4-1) unstable; urgency=low
* New upstream release
diff -urp comix-4.0.4/debian/control comix-4.0.4-patch/debian/control
--- comix-4.0.4/debian/control 2015-04-04 20:56:16.0 +0200
+++ comix-4.0.4-patch/debian/control 2015-04-04 20:59:23.532917509 +0200
@@ -9,7 +9,8 @@ Standards-Version: 3.7.2
Package: comix
Architecture: all
Depends: ${misc:Depends}, python (= 2.4), python-gtk2 (= 2.12), python-imaging (= 1.1.5)
-Suggests: unrar, python (=2.5)|python-sqllite2
+Recommends: unar
+Suggests: python (=2.5)|python-sqllite2
Description: GTK Comic Book Viewer
Comix is a comic book viewer. It reads zip, rar, tar, tar.gz and
tar.bz2 archives (often called .cbz, .cbr and .cbt) as well as
@@ -37,7 +38,7 @@ Description: GTK Comic Book Viewer
* Translated to English, Swedish, Simplified Chinese, Spanish,
Brazilian Portuguese and German.
* Reads the JPEG, PNG, TIFF, GIF, BMP, ICO, XPM and XBM image formats.
- * Reads ZIP and tar archives natively, and RAR archives through the unrar
+ * Reads ZIP and tar archives natively, and RAR archives through the unar
program.
* Runs on Linux, FreeBSD, NetBSD and virtually any other UNIX-like OS.
* More!
Only in comix-4.0.4-patch/debian: .pc
diff -urp comix-4.0.4/src/archive.py comix-4.0.4-patch/src/archive.py
--- comix-4.0.4/src/archive.py 2009-04-03 19:11:43.0 +0200
+++ comix-4.0.4-patch/src/archive.py 2015-04-04 20:55:21.628330407 +0200
@@ -14,6 +14,7 @@ import process
ZIP, RAR, TAR, GZIP, BZIP2 = range(5)
_rar_exec = None
+_rar_list = None
class Extractor:
@@ -57,19 +58,20 @@ class Extractor:
self._files = self._tfile.getnames()
elif self._type == RAR:
global _rar_exec
+global _rar_list
if _rar_exec is None:
-_rar_exec = _get_rar_exec()
+_rar_exec, _rar_list = _get_rar_exec()
if _rar_exec is None:
print '! Could not find RAR file extractor.'
dialog = gtk.MessageDialog(None, 0, gtk.MESSAGE_WARNING,
gtk.BUTTONS_CLOSE,
_(Could not find RAR file extractor!))
dialog.format_secondary_markup(
-_(You need either the irar/i or the iunrar/i program installed in order to read RAR (.cbr) files.))
+_(You need the iunar/i program installed in order to read RAR (.cbr) files.))
dialog.run()
dialog.destroy()
return None
-proc = process.Process([_rar_exec, 'vb', '--', src])
+proc = process.Process([_rar_list, '--', src])
fd = proc.spawn()
self._files = [name.rstrip(os.linesep) for name in fd.readlines()]
fd.close()
@@ -173,8 +175,7 @@ class Extractor:
print '! Non-local tar member:', name, '\n'
elif self._type == RAR:
if _rar_exec is not None:
-proc = process.Process([_rar_exec, 'x', '-kb', '-p-',
-'-o-', '-inul', '--', self._src, name, self._dst])
+proc = process.Process([_rar_exec, '-q', '-f', '-o', self._dst, '--', self._src, name])
proc.spawn()
proc.wait()
else:
@@ -331,7 +332,8 @@ def _get_rar_exec():
Return the name of the RAR file extractor executable, or None if
no such executable is found.
-for command in ('unrar', 'rar'):
-if process.Process([command]).spawn() is not None:
-return command
-return None
+commands = ('unar', 'lsar')
+if process.Process(commands[1]).spawn() is not None:
+return commands
+else:
+return (None, None)
signature.asc
Description: This is a digitally signed message part