Bug#698995: comix: please add unar support

2015-05-02 Thread Sven Arvidsson
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


Bug#698995: comix: please add unar support

2013-01-25 Thread duck

Package: comix
Version: 4.0.4-1
Severity: wishlist


Coin,

Unar is able to open RAR 3 files and is Free. It should be used 
preferably to unrar.


The package should then suggests unar | unrar, or even only unar.

Regards.

--
Marc Dequènes


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org