[openbeos] unrar

  • From: "Fredrik Ekdahl" <fredrik.ekdahl@xxxxxxx>
  • To: openbeos@xxxxxxxxxxxxx
  • Date: Thu, 27 Jan 2005 23:11:08 +0100

Hi!
Since rar is a very common compressed format on the internet, especially on 
file sharing networks, I think that it should work "out of the box" in Haiku. 
So I made it build with jam and work in Haiku's Expander. It would be great if 
you want to add it to the CVS.

It seems to be ok with the license too:

   2. The unRAR sources may be used in any software to handle RAR
      archives without limitations free of charge, but cannot be used
      to re-create the RAR compression algorithm, which is proprietary.
      Distribution of modified unRAR sources in separate form or as a
      part of other software is permitted, provided that it is clearly
      stated in the documentation and source comments that the code may
      not be used to develop a RAR (WinRAR) compatible archiver.

   3. The unRAR utility may be freely distributed. No person or company 
      may charge a fee for the distribution of unRAR without written
      permission from the copyright holder.

Here's how to do it if you want to add it:

The unrar source is at http://www.ida.his.se/~a04freek/unrar.zip
Extract the file to src/apps/bin/

Add this line to headers/posix/stdio.h

extern void             setbuf(FILE *file, char *buff);

Add these lines to src/apps/expander/ExpanderRules.cpp

        fList.AddItem(new ExpanderRule("application/x-rar-compressed",  ".rar", 
        "unrar vb %s",                                  "unrar x -y %s"));
        fList.AddItem(new ExpanderRule("application/x-rar-compressed",  ".RAR", 
        "unrar vb %s",                                  "unrar x -y %s"));
        fList.AddItem(new ExpanderRule("",                                      
                        ".rar",         "unrar vb %s",                          
        "unrar x -y %s"));
        fList.AddItem(new ExpanderRule("",                                      
                        ".RAR",         "unrar vb %s",                          
        "unrar x -y %s"));

Another thing I've noticed is that when you click "Show Contents", there is 
just too much information shown for tar files. It never fits in the default 
window size. To make it easier to see I suggest changing the listing commands 
from "tar -tvf -" to "tar -tf -" in src/apps/expander/ExpanderRules.cpp. This 
only lists the folders and files.

Regards
Fredrik Ekdahl



Other related posts: