Add support for The Unarchiver command line utilities (unar/lsar) to operate on RARv3 files

Review Request #106294 - Created Aug. 31, 2012 and discarded

Andrius Štikonas
This patch is based on (Luke Shumaker <>)

This patch will allow Ark to use The Unarchiver command line utilities
(unar/lsar) to operate on RAR files, particularly RARv3.

Now, Ark selects which plugin to use based on MIME type, and the
X-KDE-Priority of the plugin.  Unfortunately, there is currently no
mechanism for a fallback, say one plugin doesn't work, to use
another.  So, for right now users wishing to use Ark with RAR files
must either choose between clirarplugin (which either uses unrar-free
or unrar-nonfree), and cliunarchiverplugin (which uses unar and lsar),
with Ark not being able to just detect which is installed.

To change the X-KDE-Priority, you just need to edit some .desktop
files.  In the source they are
`ark/plugins/*plugin/kerfuffle_*.desktop', which on many systems get
installed to `/usr/share/kde4/services/kerfuffle_*.desktop'. The
plugin with the highest priority is used. The clirarplugin has a
defualt priority of 120, I've given cliunarchiverplugin a priority of
150.  This is probably best set by the package maintainer of an OS;
for example, many systems will prefer unrar-nonfree, but I created
this with Parabola in mind, on which unrar-nonfree does not exist, and
this is the only way that RARv3 files will be opened.

Honestly though, this setup sucks, because unrar-free and unar/lsar
both have their own stengths (basically, unar/lsar suck, but
unrar-free doesn't work on RARv3), and the ideal setup would be to use
unrar-free in most cases, but to fall back to unar/lsar for RARv3
files that unrar-free can't handle.  Actually, I guess the ideal setup
would be to make unar/lsar suck less, or to add RARv3 to rar-free.

=== Known Bugs ===

The program should be able to look at which version of RAR the file
is, but currently doesn't.  (I mean just within lsar) This is simply
because I don't know which field to look at.

=== ChangeLog (Luke Shumaker <>)===

00 - Initial patch
01 - Enable clirar, but make cliunarchiver higher priority
02 - Reformat patch
03 - Reformat patch so that ReviewBoard recognizes it

=== Changelog (Andrius Štikonas <>) ===

04 - new versions of unar can extract password protected files and have
     the ability to extract single files from the archive.
     Make the patch compile with latest git versions of ark.

Raphael Kubo da Costa
Elvis Angelaccio
Elvis Angelaccio
Andrius Štikonas
Review request changed

Status: Discarded