diff options
author | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2014-09-04 07:32:21 -0300 |
---|---|---|
committer | André Fabian Silva Delgado <emulatorman@parabola.nu> | 2014-09-04 07:32:21 -0300 |
commit | a1037cb127e862a3383537910a63097bb050a4ea (patch) | |
tree | 1b5e9daee7790c3da0ffe34c8650df3405f7199d /libre/xarchiver | |
parent | 827d13d88fa4fd0a895314feb3192ff61a2ed1e1 (diff) | |
download | abslibre-a1037cb127e862a3383537910a63097bb050a4ea.tar.gz abslibre-a1037cb127e862a3383537910a63097bb050a4ea.tar.bz2 abslibre-a1037cb127e862a3383537910a63097bb050a4ea.zip |
xarchiver: remove libre suffix and add complex pkgrel
Diffstat (limited to 'libre/xarchiver')
-rw-r--r-- | libre/xarchiver/PKGBUILD | 74 | ||||
-rw-r--r-- | libre/xarchiver/xarchiver-0.5.3-add-mime-types.patch | 17 | ||||
-rw-r--r-- | libre/xarchiver/xarchiver-0.5.3-fix-double-escaping.patch | 32 | ||||
-rw-r--r-- | libre/xarchiver/xarchiver-0.5.3-fix-password-protected.patch | 42 | ||||
-rw-r--r-- | libre/xarchiver/xarchiver-0.5.3-fix-rpm-support.patch | 86 | ||||
-rw-r--r-- | libre/xarchiver/xarchiver-0.5.3-remove-nonfree-unrar-support.patch | 525 | ||||
-rw-r--r-- | libre/xarchiver/xarchiver.install | 12 |
7 files changed, 788 insertions, 0 deletions
diff --git a/libre/xarchiver/PKGBUILD b/libre/xarchiver/PKGBUILD new file mode 100644 index 000000000..35728b96a --- /dev/null +++ b/libre/xarchiver/PKGBUILD @@ -0,0 +1,74 @@ +# $Id: PKGBUILD 111012 2014-05-12 01:13:40Z bgyorgy $ +# Maintainer (Arch): Balló György <ballogyor+arch at gmail dot com> +# Contributor (Arch): Alexander Fehr <pizzapunk gmail com> +# Contributor (Arch): Andrew Simmons <andrew.simmons@gmail.com> +# Maintainer: André Silva <emulatorman@parabola.nu> + +pkgname=xarchiver +pkgver=0.5.3 +pkgrel=4.parabola1 +pkgdesc="GTK+ frontend to various command line archivers, without nonfree unrar support" +arch=('i686' 'x86_64' 'mips64el') +url="http://xarchiver.sourceforge.net/" +license=('GPL') +conflicts=("${pkgname}-libre") +replaces=("${pkgname}-libre") +depends=('gtk2' 'desktop-file-utils') +makedepends=('intltool') +optdepends=('zip: ZIP support' + 'unzip: ZIP support' + 'p7zip: 7z support' + 'arj: ARJ support' + 'lzop: LZOP support' + 'cpio: RPM support') +install=xarchiver.install +source=(http://downloads.sourceforge.net/xarchiver/xarchiver-$pkgver.tar.bz2 + xarchiver-0.5.3-fix-rpm-support.patch + xarchiver-0.5.3-fix-double-escaping.patch + xarchiver-0.5.3-fix-password-protected.patch + xarchiver-0.5.3-add-mime-types.patch + xarchiver-0.5.3-remove-nonfree-unrar-support.patch) +md5sums=('fd390bbd2df76a5f8a007bdeae82d4aa' + '812b93339f5e3332621f3c5abebfe277' + '6178d7ab679b761469c880a8db991907' + '35ab96d98521a0a36f3e9e9ec0969107' + '0cee887b3c989ba2cdce9154813843fb' + 'cf1788c180145adc3bc5d3572f8a883b') + +prepare() { + cd $pkgname-$pkgver + + # Fix RPM support + patch -Np1 -i ../xarchiver-0.5.3-fix-rpm-support.patch + + # Fix error when trying to create archives with spaces + patch -Np1 -i ../xarchiver-0.5.3-fix-double-escaping.patch + + # Fix segfault when handling password protected files + patch -Np1 -i ../xarchiver-0.5.3-fix-password-protected.patch + + # Add more MIME types in the desktop file + patch -Np1 -i ../xarchiver-0.5.3-add-mime-types.patch + + # Remove nonfree unRAR support + patch -Np1 -i ../xarchiver-0.5.3-remove-nonfree-unrar-support.patch + rm -v src/rar.{c,h} + + # Fix po files + cd po + for file in *.po; do + intltool-update ${file%.*} + msgattrib --no-obsolete -o $file $file + done +} + +build() { + cd $pkgname-$pkgver + ./configure --prefix=/usr --libexecdir=/usr/lib/xfce4 + make +} + +package() { + cd $pkgname-$pkgver + make DESTDIR="$pkgdir" install +} diff --git a/libre/xarchiver/xarchiver-0.5.3-add-mime-types.patch b/libre/xarchiver/xarchiver-0.5.3-add-mime-types.patch new file mode 100644 index 000000000..ec427b99a --- /dev/null +++ b/libre/xarchiver/xarchiver-0.5.3-add-mime-types.patch @@ -0,0 +1,17 @@ +diff -Naur xarchiver-0.5.3.orig/xarchiver.desktop.in xarchiver-0.5.3/xarchiver.desktop.in +--- xarchiver-0.5.3.orig/xarchiver.desktop.in 2014-05-12 01:08:12.159131913 +0000 ++++ xarchiver-0.5.3/xarchiver.desktop.in 2014-05-12 01:09:02.585526393 +0000 +@@ -4,11 +4,11 @@ + _Name=Xarchiver + _Comment=A GTK+2 only archive manager + _GenericName=Archive manager +-Exec=xarchiver ++Exec=xarchiver %f + Icon=xarchiver + Terminal=false + Type=Application + X-MultipleArgs=false + Categories=GTK;Archiving;Utility; + StartupNotify=true +-MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-rar;application/x-rar-compressed;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;multipart/x-zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar; ++MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-rar;application/x-rar-compressed;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-xz;application/x-xz-compressed-tar;application/x-deb;application/x-rpm; diff --git a/libre/xarchiver/xarchiver-0.5.3-fix-double-escaping.patch b/libre/xarchiver/xarchiver-0.5.3-fix-double-escaping.patch new file mode 100644 index 000000000..8b44d91a0 --- /dev/null +++ b/libre/xarchiver/xarchiver-0.5.3-fix-double-escaping.patch @@ -0,0 +1,32 @@ +From: =?UTF-8?q?Guido=20Berh=C3=B6rster?= <gber@opensuse.org> +Date: Sat, 19 Jan 2013 09:27:36 +0100 +Subject: fix-double-escaping + +Do not escape file names twice. Fixes an error when trying to create archives +with spaces. + +Bug: http://bugs.debian.org/697493. +--- + src/main.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/main.c b/src/main.c +index a13d737..a6a7f93 100644 +--- a/src/main.c ++++ b/src/main.c +@@ -208,13 +208,13 @@ int main (int argc, char **argv) + g_free(_current_dir); + GSList *files = NULL; + _current_dir = g_path_get_basename(add_files); +- files = g_slist_append(files,xa_escape_filename(_current_dir,"$'`\"\\!?* ()[]&|:;<>#")); ++ files = g_slist_append(files,g_strdup(_current_dir)); + g_free(_current_dir); + g_free(add_files); + for (x = 1; x< argc; x++) + { + _current_dir = g_path_get_basename(argv[x]); +- files = g_slist_append(files,xa_escape_filename(_current_dir,"$'`\"\\!?* ()[]&|:;<>#")); ++ files = g_slist_append(files,g_strdup(_current_dir)); + g_free (_current_dir); + } + xa_execute_add_commands(archive,files,NULL); diff --git a/libre/xarchiver/xarchiver-0.5.3-fix-password-protected.patch b/libre/xarchiver/xarchiver-0.5.3-fix-password-protected.patch new file mode 100644 index 000000000..00969349d --- /dev/null +++ b/libre/xarchiver/xarchiver-0.5.3-fix-password-protected.patch @@ -0,0 +1,42 @@ +diff -Naur xarchiver-0.5.3.orig/src/window.c xarchiver-0.5.2/src/window.c +--- xarchiver-0.5.3.orig/src/window.c 2014-01-24 08:10:09.305990000 +0100 ++++ xarchiver-0.5.3/src/window.c 2014-01-24 08:42:45.110729290 +0100 +@@ -1694,7 +1694,7 @@ + { + if (archive->passwd == NULL) + { +- archive->passwd = xa_create_password_dialog(NULL); ++ archive->passwd = xa_create_password_dialog(archive); + if ( archive->passwd == NULL) + { + gtk_drag_finish (dc,FALSE,FALSE,t); +@@ -2702,9 +2702,12 @@ + + if (entry->is_encrypted) + { +- archive[idx]->passwd = xa_create_password_dialog(archive[idx]); + if (archive[idx]->passwd == NULL) +- return; ++ { ++ archive[idx]->passwd = xa_create_password_dialog(archive[idx]); ++ if (archive[idx]->passwd == NULL) ++ return; ++ } + } + filename = g_strconcat(archive[idx]->tmp,"/",entry->filename,NULL); + if (g_file_test(filename,G_FILE_TEST_EXISTS)) +@@ -2768,8 +2771,12 @@ + { + if (entry->is_encrypted) + { +- if (archive->passwd == NULL) +- return; ++ if (archive->passwd == NULL) ++ { ++ archive->passwd = xa_create_password_dialog(archive); ++ if (archive->passwd == NULL) ++ return; ++ } + } + if (archive->extraction_path) + { diff --git a/libre/xarchiver/xarchiver-0.5.3-fix-rpm-support.patch b/libre/xarchiver/xarchiver-0.5.3-fix-rpm-support.patch new file mode 100644 index 000000000..cf17ff738 --- /dev/null +++ b/libre/xarchiver/xarchiver-0.5.3-fix-rpm-support.patch @@ -0,0 +1,86 @@ +diff -Naur xarchiver-0.5.3.orig/src/rpm.c xarchiver-0.5.3/src/rpm.c +--- xarchiver-0.5.3.orig/src/rpm.c 2014-02-09 16:26:24.000000000 +0100 ++++ xarchiver-0.5.3/src/rpm.c 2014-02-19 07:54:27.744136749 +0100 +@@ -23,8 +23,11 @@ + + void xa_open_rpm (XArchive *archive) + { ++ unsigned char bytes[8]; + unsigned short int i; +- int response; ++ int dl,il,sigsize,offset,response; ++ gchar *ibs,*executable; ++ gchar *gzip_tmp = NULL; + GSList *list = NULL; + FILE *stream; + gboolean result; +@@ -53,14 +56,68 @@ + archive->column_types[i] = types[i]; + + xa_create_liststore (archive,names); ++ if (fseek ( stream, 104 , SEEK_CUR ) ) ++ { ++ fclose (stream); ++ response = xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't fseek to position 104:"),g_strerror(errno)); ++ return; ++ } ++ if ( fread ( bytes, 1, 8, stream ) == 0 ) ++ { ++ fclose ( stream ); ++ response = xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't read data from file:"),g_strerror(errno)); ++ return; ++ } ++ il = 256 * ( 256 * ( 256 * bytes[0] + bytes[1]) + bytes[2] ) + bytes[3]; ++ dl = 256 * ( 256 * ( 256 * bytes[4] + bytes[5]) + bytes[6] ) + bytes[7]; ++ sigsize = 8 + 16 * il + dl; ++ offset = 104 + sigsize + ( 8 - ( sigsize % 8 ) ) % 8 + 8; ++ if (fseek ( stream, offset , SEEK_SET ) ) ++ { ++ fclose (stream); ++ response = xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't fseek in file:"),g_strerror(errno)); ++ return; ++ } ++ if ( fread ( bytes, 1, 8, stream ) == 0 ) ++ { ++ fclose ( stream ); ++ response = xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't read data from file:"),g_strerror(errno)); ++ return; ++ } ++ il = 256 * ( 256 * ( 256 * bytes[0] + bytes[1]) + bytes[2] ) + bytes[3]; ++ dl = 256 * ( 256 * ( 256 * bytes[4] + bytes[5]) + bytes[6] ) + bytes[7]; ++ sigsize = 8 + 16 * il + dl; ++ offset = offset + sigsize; ++ fclose (stream); + + /* Create a unique temp dir in /tmp */ + result = xa_create_temp_directory (archive); + if (!result) + return; + ++ gzip_tmp = g_strconcat (archive->tmp,"/file.gz_bz",NULL); ++ ibs = g_strdup_printf ( "%u" , offset ); ++ + /* Now I run dd to have the bzip2 / gzip compressed cpio archive in /tmp */ +- gchar *command = g_strconcat ( "sh -c \"rpm2cpio ",archive->escaped_path," > ",archive->tmp, "/file.cpio\"",NULL); ++ gchar *command = g_strconcat ( "dd if=",archive->escaped_path," ibs=",ibs," skip=1 of=",gzip_tmp,NULL); ++ g_free (ibs); ++ list = g_slist_append(list,command); ++ batch_mode = TRUE; ++ result = xa_run_command (archive,list); ++ if (result == FALSE) ++ { ++ g_free (gzip_tmp); ++ return; ++ } ++ if (xa_detect_archive_type (gzip_tmp) == XARCHIVETYPE_GZIP) ++ executable = "gzip -dc "; ++ else if (xa_detect_archive_type (gzip_tmp) == XARCHIVETYPE_BZIP2) ++ executable = "bzip2 -dc "; ++ else ++ executable = "xz -dc "; ++ ++ command = g_strconcat("sh -c \"",executable,gzip_tmp," > ",archive->tmp,"/file.cpio\"",NULL); ++ g_free(gzip_tmp); + list = NULL; + list = g_slist_append(list,command); + result = xa_run_command (archive,list); diff --git a/libre/xarchiver/xarchiver-0.5.3-remove-nonfree-unrar-support.patch b/libre/xarchiver/xarchiver-0.5.3-remove-nonfree-unrar-support.patch new file mode 100644 index 000000000..e8ba41d59 --- /dev/null +++ b/libre/xarchiver/xarchiver-0.5.3-remove-nonfree-unrar-support.patch @@ -0,0 +1,525 @@ +diff -Nur xarchiver-0.5.3.orig/doc/html/ch01.html xarchiver-0.5.3/doc/html/ch01.html +--- xarchiver-0.5.3.orig/doc/html/ch01.html 2008-11-10 06:05:07.000000000 -0200 ++++ xarchiver-0.5.3/doc/html/ch01.html 2014-05-05 16:32:35.166604039 -0300 +@@ -23,13 +23,13 @@ + <li>Archives are detected by their magic header and not by the extension except for .tar.bz2 and .tar.gz</li> + <li>Drag and drop from and to Xarchiver window</li> + <li>Progress window when using Xarchiver from the cmd-line or from a file-manager</li> +- <li>ARJ, RAR and ZIP archive comment are supported</li> ++ <li>ARJ and ZIP archive comment are supported</li> + <li>Ability to convert the archive to self-extracting for those archive types which support it</li> +- <li>Smart detection of arj, zip and rar password encrypted archives</li> ++ <li>Smart detection of arj and zip password encrypted archives</li> + <li>All the the output of the cmd-line archiver is displayed in the Xarchiver window</li> +- <li>All common formats are supported: arj, bzip2, gzip, lha, lzma, 7z, rar, tar, tar.bz2, tar.gz, tar.lzma, tar.lzop, zip, deb and rpm packages (open and extract only)</li> ++ <li>All common formats are supported: arj, bzip2, gzip, lha, lzma, 7z, tar, tar.bz2, tar.gz, tar.lzma, tar.lzop, zip, deb and rpm packages (open and extract only)</li> + <li>Deb and Rpm packages are handled internally, their package managers are NOT required.</li> +- <li>Zip, rar, arj and 7z password encrypted archives are fully supported (7z automatic password detection is not supported)</li> ++ <li>Zip, arj and 7z password encrypted archives are fully supported (7z automatic password detection is not supported)</li> + </ul></div><p></p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="index.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ch01s02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> + Xarchiver 0.5.2 + </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Where to get it</td></tr></table></div></body></html> +diff -Nur xarchiver-0.5.3.orig/doc/html/ch03s03.html xarchiver-0.5.3/doc/html/ch03s03.html +--- xarchiver-0.5.3.orig/doc/html/ch03s03.html 2008-11-03 04:49:49.000000000 -0200 ++++ xarchiver-0.5.3/doc/html/ch03s03.html 2014-05-05 16:25:59.026943013 -0300 +@@ -1,7 +1,7 @@ + <?xml version="1.0" encoding="UTF-8" standalone="no"?> + <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> + <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>General</title><link rel="stylesheet" href="xarchiver.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.71.0" /><link rel="start" href="index.html" title="Xarchiver 0.5" /><link rel="up" href="ch03.html" title="Chapter 3. Usage" /><link rel="prev" href="ch03s02.html" title="Command line options" /><link rel="next" href="ch03s04.html" title="Xarchiver menu" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">General</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch03s02.html">Prev</a> </td><th width="60%" align="center">Chapter 3. Usage</th><td width="20%" align="right"> <a accesskey="n" href="ch03s04.html">Next</a></td></tr></table><hr /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="general"></a>General</h2></div></div></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="general_startup"></a>Startup</h3></div></div></div><p> +- At startup, Xarchiver detects the available installed archivers (tar,rar,zip etc) and the script <i>xdg-open</i> for handling different file types. Since Xarchiver is a frontend (a graphic user interface to the cmd-line executables) it can't create archives whose archiver is not available. For instance if you have the free edition of rar, unrar, Xarchiver can't create rar archives since unrar allows rar archives to be opened, tested and extracted but not to be created. ++ At startup, Xarchiver detects the available installed archivers (tar,zip etc) and the script <i>xdg-open</i> for handling different file types. Since Xarchiver is a frontend (a graphic user interface to the cmd-line executables) it can't create archives whose archiver is not available. + </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="how_it_works"></a>How it works</h3></div></div></div><p> + Xarchiver will run in the background the cmd-line executable of the archiver with the archiver's proper switches to perform the selected operation. If something goes wrong Xarchiver reports the full output of the archiver executable in the command line output window. From the release 0.5 the files in the archive can be opened within Xarchiver. The script <i>xdg-open</i> will detect the file type and run the proper application to handle it. If you don't have such script installed in your system (it's found in the xdg-utils package) Xarchiver will recognize HTML, txt and images files only. The Preferences dialog will notify this to you when you click the Advanced section inside it. + </p></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h3 class="title"><a id="dnd"></a>Drag and Drop</h3></div></div></div><p> +diff -Nur xarchiver-0.5.3.orig/doc/html/ch04s02.html xarchiver-0.5.3/doc/html/ch04s02.html +--- xarchiver-0.5.3.orig/doc/html/ch04s02.html 2007-08-23 07:27:40.000000000 -0300 ++++ xarchiver-0.5.3/doc/html/ch04s02.html 2014-05-05 16:31:53.479628949 -0300 +@@ -1,5 +1,5 @@ + <?xml version="1.0" encoding="UTF-8" standalone="no"?> + <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>How can I create an archive with some files password protected and others not?</title><link rel="stylesheet" href="xarchiver.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.71.0" /><link rel="start" href="index.html" title="Xarchiver 0.5" /><link rel="up" href="ch04.html" title="Chapter 4. FAQ" /><link rel="prev" href="ch04.html" title="Chapter 4. FAQ" /><link rel="next" href="ch04s03.html" title="Why does Xarchiver emit this error message when handling tar archives?" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">How can I create an archive with some files password protected and others not?</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04.html">Prev</a> </td><th width="60%" align="center">Chapter 4. FAQ</th><td width="20%" align="right"> <a accesskey="n" href="ch04s03.html">Next</a></td></tr></table><hr /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="second"></a>How can I create an archive with some files password protected and others not?</h2></div></div></div><p>First of all choose 'New' and select one of arj, 7zip, rar or zip archive formats and choose 'Add' from the Action menu. Do NOT check "Password" in the Add dialog. Add your files and then reopen the Add dialog again but this time check "Password" and ++<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>How can I create an archive with some files password protected and others not?</title><link rel="stylesheet" href="xarchiver.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.71.0" /><link rel="start" href="index.html" title="Xarchiver 0.5" /><link rel="up" href="ch04.html" title="Chapter 4. FAQ" /><link rel="prev" href="ch04.html" title="Chapter 4. FAQ" /><link rel="next" href="ch04s03.html" title="Why does Xarchiver emit this error message when handling tar archives?" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">How can I create an archive with some files password protected and others not?</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04.html">Prev</a> </td><th width="60%" align="center">Chapter 4. FAQ</th><td width="20%" align="right"> <a accesskey="n" href="ch04s03.html">Next</a></td></tr></table><hr /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="second"></a>How can I create an archive with some files password protected and others not?</h2></div></div></div><p>First of all choose 'New' and select one of arj, 7zip or zip archive formats and choose 'Add' from the Action menu. Do NOT check "Password" in the Add dialog. Add your files and then reopen the Add dialog again but this time check "Password" and + enter your password. From now on all the files you add to the archive will be password protected. + </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch04s03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Chapter 4. FAQ </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Why does Xarchiver emit this error message when handling tar archives?</td></tr></table></div></body></html> +diff -Nur xarchiver-0.5.3.orig/doc/html/ch04s06.html xarchiver-0.5.3/doc/html/ch04s06.html +--- xarchiver-0.5.3.orig/doc/html/ch04s06.html 2008-11-03 04:49:49.000000000 -0200 ++++ xarchiver-0.5.3/doc/html/ch04s06.html 2014-05-05 16:33:00.806793156 -0300 +@@ -1,4 +1,4 @@ + <?xml version="1.0" encoding="UTF-8" standalone="no"?> + <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +-<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?</title><link rel="stylesheet" href="xarchiver.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.71.0" /><link rel="start" href="index.html" title="Xarchiver 0.5" /><link rel="up" href="ch04.html" title="Chapter 4. FAQ" /><link rel="prev" href="ch04s06.html" title="What is the meaning of this error message?" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s06.html">Prev</a> </td><th width="60%" align="center">Chapter 4. FAQ</th><td width="20%" align="right"> </td></tr></table><hr /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="seventh"></a>Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?</h2></div></div></div><p>Because rar and arj executable do not allow to do so. Zip and 7z convertion to self-extracting is made by appending an sfx module to the archive so it's possible to choose a different path. ++<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?</title><link rel="stylesheet" href="xarchiver.css" type="text/css" /><meta name="generator" content="DocBook XSL Stylesheets V1.71.0" /><link rel="start" href="index.html" title="Xarchiver 0.5" /><link rel="up" href="ch04.html" title="Chapter 4. FAQ" /><link rel="prev" href="ch04s06.html" title="What is the meaning of this error message?" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch04s06.html">Prev</a> </td><th width="60%" align="center">Chapter 4. FAQ</th><td width="20%" align="right"> </td></tr></table><hr /></div><div class="section" lang="en" xml:lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="seventh"></a>Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?</h2></div></div></div><p>Because arj executable do not allow to do so. Zip and 7z convertion to self-extracting is made by appending an sfx module to the archive so it's possible to choose a different path. + </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch04s05.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch04.html">Up</a></td><td width="40%" align="right"> </td></tr><tr><td width="40%" align="left" valign="top">Why does Xarchiver sometimes report errors but the Error messages window is empty? </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html> +diff -Nur xarchiver-0.5.3.orig/doc/xarchiver.docbook xarchiver-0.5.3/doc/xarchiver.docbook +--- xarchiver-0.5.3.orig/doc/xarchiver.docbook 2007-08-22 07:49:19.000000000 -0300 ++++ xarchiver-0.5.3/doc/xarchiver.docbook 2014-05-05 16:25:17.863287969 -0300 +@@ -50,14 +50,14 @@ + <listitem><para>The most used archiver cmd-line options are supported in the Add and Extract dialog</para></listitem> + <listitem><para>Archives are detected by their magic header and not by the extension except for .tar.bz2 and .tar.gz</para></listitem> + <listitem><para>Drag and drop from and to Xarchiver window is supported with XDS protocol</para></listitem> +- <listitem><para>ZIP and ARJ archive comment are supported. RAR comment is not yet supported because it's compressed inside the archive itself</para></listitem> ++ <listitem><para>ZIP and ARJ archive comment are supported.</para></listitem> + <listitem><para>Tabs Firefox style support</para></listitem> + <listitem><para>Ability to convert the archive to self-extracting for those archive types which support it</para></listitem> +- <listitem><para>Smart detection of arj, zip and rar password encrypted archives</para></listitem> ++ <listitem><para>Smart detection of arj and zip password encrypted archives</para></listitem> + <listitem><para>All the the output of the cmd-line archiver is displayed in the Xarchiver window</para></listitem> +- <listitem><para>All common formats are supported: arj, bzip2, lha, gzip, 7z, rar, tar, tar.bz2, tar.gz, zip, DEB and RPM (only open,view and extract)</para></listitem> ++ <listitem><para>All common formats are supported: arj, bzip2, lha, gzip, 7z, tar, tar.bz2, tar.gz, zip, DEB and RPM (only open,view and extract)</para></listitem> + <listitem><para>Support of RPM files without RPM executable. This is useful on not RPM-based distributions like Slackware and Arch Linux</para></listitem> +- <listitem><para>Zip, rar, arj and 7z password encrypted archives are fully supported (7z automatic password detection is not supported)</para></listitem> ++ <listitem><para>Zip, arj and 7z password encrypted archives are fully supported (7z automatic password detection is not supported)</para></listitem> + </itemizedlist> + </para> + </section> +@@ -204,7 +204,7 @@ + <section id="general_startup"> + <title>Startup</title> + <para> +- At startup, &app; detects the available installed archivers (tar,rar,zip etc). Since Xarchiver is a frontend (a graphic user interface to the cmd-line executables) it can't create archives whose archiver is not available. For instance if you have the free edition of rar, unrar, Xarchiver can't create rar archives since unrar allows rar archives to be opened, tested and extracted but not to be created. ++ At startup, &app; detects the available installed archivers (tar,zip etc). Since Xarchiver is a frontend (a graphic user interface to the cmd-line executables) it can't create archives whose archiver is not available. + </para> + </section> + <section id="how_it_works"> +@@ -244,7 +244,7 @@ + <title>Open</title> + <para> + Opens a new archive. If you force &app; to open an unsupported archive +- type an error message will be emitted. The archive type is detected by its magic header and not by the extension. Password protected archives are supported also. The password detection is done by looking for the password flag inside the archive structure except for rar ones since encrypted files in rar archives have an asterisk right before their filename. 7zip encrypted archives are not detected due to the complexity of 7zip format. Please see <ulink url="http://sourceforge.net/forum/forum.php?thread_id=1378003&forum_id=383044"> ++ type an error message will be emitted. The archive type is detected by its magic header and not by the extension. Password protected archives are supported also. The password detection is done by looking for the password flag inside the archive structure. 7zip encrypted archives are not detected due to the complexity of 7zip format. Please see <ulink url="http://sourceforge.net/forum/forum.php?thread_id=1378003&forum_id=383044"> + <citetitle>this thread on sf.net</citetitle> + </ulink>for more information. + </para> +@@ -394,7 +394,7 @@ + </section> + <section id="second"> + <title>How can I create an archive with some files password protected and others not?</title> +- <para>First of all choose 'New' and select one of arj, 7zip, rar or zip archive formats and choose 'Add' from the Action menu. Do NOT check "Password" in the Add dialog. Add your files and then reopen the Add dialog again but this time check "Password" and ++ <para>First of all choose 'New' and select one of arj, 7zip or zip archive formats and choose 'Add' from the Action menu. Do NOT check "Password" in the Add dialog. Add your files and then reopen the Add dialog again but this time check "Password" and + enter your password. From now on all the files you add to the archive will be password protected. + </para> + </section> +@@ -427,7 +427,7 @@ + </section> + <section id="seventh"> + <title>Why Xarchiver doesn't allow me to choose the archive self-extracting path as it happens with zip and 7z?</title> +- <para>Because rar and arj executable do not allow to do so. Zip and 7z convertion to self-extracting is made by appending an sfx module to the archive so it's possible to choose a different path. ++ <para>Because arj executable do not allow to do so. Zip and 7z convertion to self-extracting is made by appending an sfx module to the archive so it's possible to choose a different path. + </para> + </section> + </chapter> +diff -Nur xarchiver-0.5.3.orig/po/POTFILES.in xarchiver-0.5.3/po/POTFILES.in +--- xarchiver-0.5.3.orig/po/POTFILES.in 2008-08-26 08:53:27.000000000 -0300 ++++ xarchiver-0.5.3/po/POTFILES.in 2014-05-05 16:28:26.154740706 -0300 +@@ -15,7 +15,6 @@ + src/open-with-dlg.c + src/new_dialog.c + src/pref_dialog.c +-src/rar.c + src/rpm.c + src/tar.c + src/zip.c +diff -Nur xarchiver-0.5.3.orig/src/Makefile.am xarchiver-0.5.3/src/Makefile.am +--- xarchiver-0.5.3.orig/src/Makefile.am 2008-09-23 03:39:50.000000000 -0300 ++++ xarchiver-0.5.3/src/Makefile.am 2014-05-05 16:30:14.628892353 -0300 +@@ -16,7 +16,6 @@ + arj.c arj.h \ + deb.c deb.h \ + zip.c zip.h \ +- rar.c rar.h \ + 7zip.c 7zip.h \ + tar.c tar.h \ + bzip2.c bzip2.h \ +diff -Nur xarchiver-0.5.3.orig/src/Makefile.in xarchiver-0.5.3/src/Makefile.in +--- xarchiver-0.5.3.orig/src/Makefile.in 2008-11-12 05:50:37.000000000 -0200 ++++ xarchiver-0.5.3/src/Makefile.in 2014-05-05 16:30:50.625828168 -0300 +@@ -57,7 +57,7 @@ + xarchiver-archive.$(OBJEXT) xarchiver-interface.$(OBJEXT) \ + xarchiver-window.$(OBJEXT) xarchiver-arj.$(OBJEXT) \ + xarchiver-deb.$(OBJEXT) xarchiver-zip.$(OBJEXT) \ +- xarchiver-rar.$(OBJEXT) xarchiver-7zip.$(OBJEXT) \ ++ xarchiver-7zip.$(OBJEXT) \ + xarchiver-tar.$(OBJEXT) xarchiver-bzip2.$(OBJEXT) \ + xarchiver-gzip.$(OBJEXT) xarchiver-rpm.$(OBJEXT) \ + xarchiver-lha.$(OBJEXT) xarchiver-extract_dialog.$(OBJEXT) \ +@@ -267,7 +267,6 @@ + arj.c arj.h \ + deb.c deb.h \ + zip.c zip.h \ +- rar.c rar.h \ + 7zip.c 7zip.h \ + tar.c tar.h \ + bzip2.c bzip2.h \ +@@ -381,7 +380,6 @@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xarchiver-new_dialog.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xarchiver-open-with-dlg.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xarchiver-pref_dialog.Po@am__quote@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xarchiver-rar.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xarchiver-rpm.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xarchiver-sexy-icon-entry.Po@am__quote@ + @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xarchiver-socket.Po@am__quote@ +@@ -595,20 +593,6 @@ + @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ + @am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -c -o xarchiver-zip.obj `if test -f 'zip.c'; then $(CYGPATH_W) 'zip.c'; else $(CYGPATH_W) '$(srcdir)/zip.c'; fi` + +-xarchiver-rar.o: rar.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -MT xarchiver-rar.o -MD -MP -MF "$(DEPDIR)/xarchiver-rar.Tpo" -c -o xarchiver-rar.o `test -f 'rar.c' || echo '$(srcdir)/'`rar.c; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xarchiver-rar.Tpo" "$(DEPDIR)/xarchiver-rar.Po"; else rm -f "$(DEPDIR)/xarchiver-rar.Tpo"; exit 1; fi +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rar.c' object='xarchiver-rar.o' libtool=no @AMDEPBACKSLASH@ +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -c -o xarchiver-rar.o `test -f 'rar.c' || echo '$(srcdir)/'`rar.c +- +-xarchiver-rar.obj: rar.c +-@am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -MT xarchiver-rar.obj -MD -MP -MF "$(DEPDIR)/xarchiver-rar.Tpo" -c -o xarchiver-rar.obj `if test -f 'rar.c'; then $(CYGPATH_W) 'rar.c'; else $(CYGPATH_W) '$(srcdir)/rar.c'; fi`; \ +-@am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xarchiver-rar.Tpo" "$(DEPDIR)/xarchiver-rar.Po"; else rm -f "$(DEPDIR)/xarchiver-rar.Tpo"; exit 1; fi +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='rar.c' object='xarchiver-rar.obj' libtool=no @AMDEPBACKSLASH@ +-@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +-@am__fastdepCC_FALSE@ $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -c -o xarchiver-rar.obj `if test -f 'rar.c'; then $(CYGPATH_W) 'rar.c'; else $(CYGPATH_W) '$(srcdir)/rar.c'; fi` +- + xarchiver-7zip.o: 7zip.c + @am__fastdepCC_TRUE@ if $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(xarchiver_CFLAGS) $(CFLAGS) -MT xarchiver-7zip.o -MD -MP -MF "$(DEPDIR)/xarchiver-7zip.Tpo" -c -o xarchiver-7zip.o `test -f '7zip.c' || echo '$(srcdir)/'`7zip.c; \ + @am__fastdepCC_TRUE@ then mv -f "$(DEPDIR)/xarchiver-7zip.Tpo" "$(DEPDIR)/xarchiver-7zip.Po"; else rm -f "$(DEPDIR)/xarchiver-7zip.Tpo"; exit 1; fi +diff -Nur xarchiver-0.5.3.orig/src/interface.c xarchiver-0.5.3/src/interface.c +--- xarchiver-0.5.3.orig/src/interface.c 2014-02-09 13:26:24.000000000 -0200 ++++ xarchiver-0.5.3/src/interface.c 2014-05-05 17:04:24.879755668 -0300 +@@ -45,7 +45,7 @@ + { "text/uri-list",0,0 }, + }; + +-extern gboolean unrar,batch_mode; ++extern gboolean batch_mode; + + static gboolean xa_progress_dialog_delete_event (GtkWidget *caller,GdkEvent *event,GPid pid); + static void xa_progress_dialog_stop_action (GtkWidget *widget,GPid pid); +@@ -600,7 +600,7 @@ + if (selection != NULL) + xa_row_selected(selection,archive[id]); + +- if (archive[id]->type == XARCHIVETYPE_7ZIP || archive[id]->type == XARCHIVETYPE_ZIP || archive[id]->type == XARCHIVETYPE_RAR || archive[id]->type == XARCHIVETYPE_RAR5 || archive[id]->type == XARCHIVETYPE_ARJ) ++ if (archive[id]->type == XARCHIVETYPE_7ZIP || archive[id]->type == XARCHIVETYPE_ZIP || archive[id]->type == XARCHIVETYPE_ARJ) + gtk_widget_set_sensitive (comment_menu,TRUE); + else + gtk_widget_set_sensitive (comment_menu,FALSE); +@@ -623,12 +623,7 @@ + { + gtk_widget_show(selected_frame); + gtk_widget_set_sensitive(deselect_all,TRUE); +- if ((archive[id]->type == XARCHIVETYPE_RAR || archive[id]->type == XARCHIVETYPE_RAR5) && unrar) +- { +- gtk_widget_set_sensitive (delete_menu,FALSE); +- gtk_widget_set_sensitive (rename_menu,FALSE); +- } +- else if (archive[id]->type == XARCHIVETYPE_BZIP2 || archive[id]->type == XARCHIVETYPE_GZIP || archive[id]->type == XARCHIVETYPE_DEB || archive[id]->type == XARCHIVETYPE_RPM || archive[id]->type == XARCHIVETYPE_LZMA || archive[id]->type == XARCHIVETYPE_XZ || archive[id]->type == XARCHIVETYPE_LZOP) ++ if (archive[id]->type == XARCHIVETYPE_BZIP2 || archive[id]->type == XARCHIVETYPE_GZIP || archive[id]->type == XARCHIVETYPE_DEB || archive[id]->type == XARCHIVETYPE_RPM || archive[id]->type == XARCHIVETYPE_LZMA || archive[id]->type == XARCHIVETYPE_XZ || archive[id]->type == XARCHIVETYPE_LZOP) + { + gtk_widget_set_sensitive (delete_menu,FALSE); + gtk_widget_set_sensitive (rename_menu,FALSE); +diff -Nur xarchiver-0.5.3.orig/src/main.c xarchiver-0.5.3/src/main.c +--- xarchiver-0.5.3.orig/src/main.c 2014-02-09 13:30:28.000000000 -0200 ++++ xarchiver-0.5.3/src/main.c 2014-05-05 16:23:04.132223201 -0300 +@@ -33,13 +33,11 @@ + gchar *add_files; + gboolean error_output, file_to_open, ask_and_extract, ask_and_add, multi_extract; + gboolean batch_mode = FALSE; +-gboolean unrar = FALSE; + gboolean sevenzr = FALSE, sevenza = FALSE, xdg_open = FALSE; + static gboolean show_version = FALSE; + int response; + extern gchar *current_open_directory; + extern int status; +-extern int rar_version; + + extern Progress_bar_data *pb; + Prefs_dialog_data *prefs_window = NULL; +@@ -315,7 +313,6 @@ + open_archive[XARCHIVETYPE_GZIP] = &xa_open_gzip; + open_archive[XARCHIVETYPE_LZMA] = &xa_open_bzip2_lzma; + open_archive[XARCHIVETYPE_XZ] = &xa_open_bzip2_lzma; +- open_archive[XARCHIVETYPE_RAR] = open_archive[XARCHIVETYPE_RAR5] = &xa_open_rar; + open_archive[XARCHIVETYPE_RPM] = &xa_open_rpm; + open_archive[XARCHIVETYPE_TAR] = open_archive[XARCHIVETYPE_TAR_BZ2] = open_archive[XARCHIVETYPE_TAR_GZ] = open_archive[XARCHIVETYPE_TAR_LZMA] = open_archive[XARCHIVETYPE_TAR_XZ] = open_archive[XARCHIVETYPE_TAR_LZOP] = &xa_open_tar; + open_archive[XARCHIVETYPE_ZIP] = &xa_open_zip; +@@ -330,7 +327,6 @@ + delete[XARCHIVETYPE_GZIP] = 0; + delete[XARCHIVETYPE_LZMA] = 0; + delete[XARCHIVETYPE_XZ] = 0; +- delete[XARCHIVETYPE_RAR] = delete[XARCHIVETYPE_RAR5] = &xa_rar_delete; + delete[XARCHIVETYPE_RPM] = 0; + delete[XARCHIVETYPE_TAR] = delete[XARCHIVETYPE_TAR_BZ2] = delete[XARCHIVETYPE_TAR_GZ] = delete[XARCHIVETYPE_TAR_LZMA] = delete[XARCHIVETYPE_TAR_XZ] = delete[XARCHIVETYPE_TAR_LZOP] = &xa_tar_delete; + delete[XARCHIVETYPE_ZIP] = &xa_zip_delete; +@@ -343,7 +339,6 @@ + add[XARCHIVETYPE_ARJ] = &xa_arj_add; + add[XARCHIVETYPE_DEB] = 0; + add[XARCHIVETYPE_BZIP2] = add[XARCHIVETYPE_GZIP] = add[XARCHIVETYPE_LZMA] = add[XARCHIVETYPE_XZ] = add[XARCHIVETYPE_LZOP] = &xa_tar_add; +- add[XARCHIVETYPE_RAR] = add[XARCHIVETYPE_RAR5] = &xa_rar_add; + add[XARCHIVETYPE_RPM] = 0; + add[XARCHIVETYPE_TAR] = add[XARCHIVETYPE_TAR_BZ2] = add[XARCHIVETYPE_TAR_GZ] = add[XARCHIVETYPE_TAR_LZMA] = add[XARCHIVETYPE_TAR_XZ] = add[XARCHIVETYPE_TAR_LZOP] = &xa_tar_add; + add[XARCHIVETYPE_ZIP] = &xa_zip_add; +@@ -354,7 +349,6 @@ + extract[XARCHIVETYPE_ARJ] = &xa_arj_extract; + extract[XARCHIVETYPE_DEB] = &xa_deb_extract;; + extract[XARCHIVETYPE_BZIP2] = extract[XARCHIVETYPE_GZIP] = extract[XARCHIVETYPE_LZMA] = extract[XARCHIVETYPE_XZ] = extract[XARCHIVETYPE_LZOP] = &xa_tar_extract; +- extract[XARCHIVETYPE_RAR] = extract[XARCHIVETYPE_RAR5] = &xa_rar_extract; + extract[XARCHIVETYPE_RPM] = &xa_rpm_extract; + extract[XARCHIVETYPE_TAR] = extract[XARCHIVETYPE_TAR_BZ2] = extract[XARCHIVETYPE_TAR_GZ] = extract[XARCHIVETYPE_TAR_LZMA] = extract[XARCHIVETYPE_TAR_XZ] = extract[XARCHIVETYPE_TAR_LZOP] = &xa_tar_extract; + extract[XARCHIVETYPE_ZIP] = &xa_zip_extract; +@@ -364,7 +358,6 @@ + test[XARCHIVETYPE_7ZIP] = &xa_7zip_test; + test[XARCHIVETYPE_ARJ] = &xa_arj_test; + test[XARCHIVETYPE_DEB] = test[XARCHIVETYPE_BZIP2] = test[XARCHIVETYPE_GZIP] = test[XARCHIVETYPE_LZMA] = test[XARCHIVETYPE_XZ] = test[XARCHIVETYPE_LZOP] = &xa_tar_test; +- test[XARCHIVETYPE_RAR] = test[XARCHIVETYPE_RAR5] = &xa_rar_test; + test[XARCHIVETYPE_RPM] = 0; + test[XARCHIVETYPE_TAR] = test[XARCHIVETYPE_TAR_BZ2] = test[XARCHIVETYPE_TAR_GZ] = test[XARCHIVETYPE_TAR_LZMA] = test[XARCHIVETYPE_TAR_XZ] = test[XARCHIVETYPE_TAR_LZOP] = &xa_tar_test; + test[XARCHIVETYPE_ZIP] = &xa_zip_test; +@@ -435,39 +428,6 @@ + //ArchiveSuffix = g_list_append(ArchiveSuffix, ""); + } + +- absolute_path = g_find_program_in_path ("rar"); +- if ( absolute_path ) +- { +- ArchiveType = g_list_append(ArchiveType, "rar"); +- ArchiveSuffix = g_list_append(ArchiveSuffix, "*.rar"); +- // Is RAR v5 ? +- xa_rar_checkversion (absolute_path); +- if (rar_version == 5) +- { +- ArchiveType = g_list_append(ArchiveType, "rar5"); +- ArchiveSuffix = g_list_append(ArchiveSuffix, "*.rar5"); +- } +- g_free (absolute_path); +- } +- else +- { +- absolute_path = g_find_program_in_path("unrar"); +- if ( absolute_path ) +- { +- unrar = TRUE; +- ArchiveType = g_list_append(ArchiveType, "rar"); +- ArchiveSuffix = g_list_append(ArchiveSuffix, "*.rar"); +- // Is RAR v5 ? +- xa_rar_checkversion (absolute_path); +- if (rar_version == 5) +- { +- ArchiveType = g_list_append(ArchiveType, "rar5"); +- ArchiveSuffix = g_list_append(ArchiveSuffix, "*.rar5"); +- } +- g_free (absolute_path); +- } +- } +- + absolute_path = g_find_program_in_path("cpio"); + if ( absolute_path ) + { +diff -Nur xarchiver-0.5.3.orig/src/mime.c xarchiver-0.5.3/src/mime.c +--- xarchiver-0.5.3.orig/src/mime.c 2008-11-05 07:53:22.000000000 -0200 ++++ xarchiver-0.5.3/src/mime.c 2014-05-05 16:31:28.126107426 -0300 +@@ -44,7 +44,7 @@ + icon_name = "gnome-mime-application-vnd.ms-excel"; + else if (strcmp(mime,"application/vnd.ms-powerpoint") == 0 || strcmp (mime,"application/vnd.oasis.opendocument.presentation") == 0) + icon_name = "gnome-mime-application-vnd.ms-powerpoint"; +- else if (strcmp(mime,"application/zip") == 0 || strcmp(mime,"application/x-rar") == 0 || strcmp(mime,"application/x-tar") == 0 ++ else if (strcmp(mime,"application/zip") == 0 || strcmp(mime,"application/x-tar") == 0 + || strcmp(mime,"application/x-7z-compressed") == 0 || strcmp(mime,"application/x-bzip-compressed-tar") == 0 + || strcmp (mime,"application/x-compressed-tar") == 0 || strcmp (mime,"application/x-lha") == 0 + || strcmp (mime,"application/x-rpm") == 0 || strcmp (mime,"application/x-deb") == 0 +diff -Nur xarchiver-0.5.3.orig/src/new_dialog.c xarchiver-0.5.3/src/new_dialog.c +--- xarchiver-0.5.3.orig/src/new_dialog.c 2014-02-09 13:26:24.000000000 -0200 ++++ xarchiver-0.5.3/src/new_dialog.c 2014-05-05 16:21:07.714600036 -0300 +@@ -24,7 +24,6 @@ + #include "string_utils.h" + #include "main.h" + +-extern gboolean unrar; + extern Prefs_dialog_data *prefs_window; + gchar *current_new_directory = NULL; + gint new_combo_box = -1; +@@ -100,11 +99,6 @@ + Name = g_list_first (ArchiveType); + + while (Name) +- { +- if (!(strncmp(Name->data, "rar", 3) == 0 && unrar)) +- gtk_combo_box_append_text(GTK_COMBO_BOX(combo_box),Name->data); +- Name = g_list_next (Name); +- } + if (new_combo_box == -1) + gtk_combo_box_set_active(GTK_COMBO_BOX(combo_box),gtk_combo_box_get_active(GTK_COMBO_BOX(prefs_window->combo_prefered_format))); + else +@@ -227,16 +221,6 @@ + type = XARCHIVETYPE_LZOP; + format = "LZOP"; + } +- else if (strcmp (ComboArchiveType,"rar") == 0) +- { +- type = XARCHIVETYPE_RAR; +- format = "RAR"; +- } +- else if (strcmp (ComboArchiveType,"rar5") == 0) +- { +- type = XARCHIVETYPE_RAR5; +- format = "RAR5"; +- } + else if (strcmp (ComboArchiveType,"tar") == 0) + { + type = XARCHIVETYPE_TAR; +diff -Nur xarchiver-0.5.3.orig/src/pref_dialog.c xarchiver-0.5.3/src/pref_dialog.c +--- xarchiver-0.5.3.orig/src/pref_dialog.c 2014-02-09 13:26:24.000000000 -0200 ++++ xarchiver-0.5.3/src/pref_dialog.c 2014-05-05 17:29:05.494321392 -0300 +@@ -23,7 +23,6 @@ + #include "main.h" + #include "support.h" + +-extern gboolean unrar; + extern gboolean xdg_open; + extern Extract_dialog_data *extract_window; + extern Add_dialog_data *add_window; +@@ -103,9 +102,7 @@ + while ( archive_type != NULL ) + { + if (strcmp(archive_type->data, "tgz") == 0 || +- strcmp(archive_type->data, "rpm") == 0 || +- (strncmp(archive_type->data, "rar", 3) == 0 && unrar) ) +- goto next; ++ strcmp(archive_type->data, "rpm") == 0); + else + gtk_combo_box_append_text (GTK_COMBO_BOX (prefs_data->combo_prefered_format),archive_type->data ); + next: +diff -Nur xarchiver-0.5.3.orig/src/window.c xarchiver-0.5.3/src/window.c +--- xarchiver-0.5.3.orig/src/window.c 2014-02-09 13:49:07.000000000 -0200 ++++ xarchiver-0.5.3/src/window.c 2014-05-05 17:19:54.769288791 -0300 +@@ -26,7 +26,6 @@ + + extern GList *ArchiveType; + extern GList *ArchiveSuffix; +-extern gboolean unrar; + extern gboolean xdg_open; + extern Prefs_dialog_data *prefs_window; + extern Extract_dialog_data *extract_window; +@@ -326,11 +325,7 @@ + + /* Does the user open an archive from the command line whose archiver is not installed? */ + gchar *ext = NULL; +- if (type == XARCHIVETYPE_RAR) +- ext = "rar"; +- else if (type == XARCHIVETYPE_RAR5) +- ext = "rar5"; +- else if (type == XARCHIVETYPE_7ZIP) ++ if (type == XARCHIVETYPE_7ZIP) + ext = "7z"; + else if (type == XARCHIVETYPE_ARJ) + ext = "arj"; +@@ -358,7 +353,7 @@ + g_free (path); + return; + } +- /* Detect archive comment,rar one is detected in rar.c */ ++ /* Detect archive comment */ + if (type == XARCHIVETYPE_ZIP) + archive[current_page]->has_comment = xa_detect_archive_comment (XARCHIVETYPE_ZIP,path,archive[current_page]); + else if (type == XARCHIVETYPE_ARJ) +@@ -780,13 +775,6 @@ + archive[idx]->status = XA_ARCHIVESTATUS_SFX; + switch ( archive[idx]->type) + { +- case XARCHIVETYPE_RAR: +- case XARCHIVETYPE_RAR5: +- command = g_strconcat ("rar s -o+ ",archive[idx]->escaped_path,NULL); +- list = g_slist_append(list,command); +- xa_run_command (archive[idx],list); +- break; +- + case XARCHIVETYPE_ZIP: + { + gchar *archive_name = NULL; +@@ -964,7 +952,7 @@ + void xa_about (GtkMenuItem *menuitem,gpointer user_data) + { + static GtkWidget *about = NULL; +- const char *authors[] = {"Main developer:\nGiuseppe Torelli <colossus73@gmail.com>\n\nArchive navigation code:\nJohn Berthels\n\nCode fixing:\nEnrico Tröger\n\nLHA and DEB support:\nŁukasz Zemczak <sil2100@vexillium.org>\n\nLZMA support:\nThomas Dy <dysprosium66@gmail.com>\n\nLZOP support:\nKevin Day\n\nRAR5, XZ, TAR.XZ support:\nFrederick GUERIN <fguerin01@gmail.com>\n",NULL}; ++ const char *authors[] = {"Main developer:\nGiuseppe Torelli <colossus73@gmail.com>\n\nArchive navigation code:\nJohn Berthels\n\nCode fixing:\nEnrico Tröger\n\nLHA and DEB support:\nŁukasz Zemczak <sil2100@vexillium.org>\n\nLZMA support:\nThomas Dy <dysprosium66@gmail.com>\n\nLZOP support:\nKevin Day\n\nXZ, TAR.XZ support:\nFrederick GUERIN <fguerin01@gmail.com>\n",NULL}; + const char *documenters[] = {"Special thanks to Bjoern Martensen for\nbugs hunting and Xarchiver Tango logo.\n\nThanks to:\nBenedikt Meurer\nStephan Arts\nBruno Jesus <00cpxxx@gmail.com>\nUracile for the stunning logo\n",NULL}; + + if (about == NULL) +@@ -1122,10 +1110,6 @@ + xx = XARCHIVETYPE_ZIP; + else if (memcmp (magic,"\x60\xea",2) == 0) + xx = XARCHIVETYPE_ARJ; +- else if (memcmp ( magic,"\x52\x61\x72\x21\x1a\x07\x00",7) == 0) +- xx = XARCHIVETYPE_RAR; +- else if (memcmp ( magic,"\x52\x61\x72\x21\x1a\x07\x01",7) == 0) +- xx = XARCHIVETYPE_RAR5; + else if (memcmp ( magic,"\x42\x5a\x68",3) == 0) + xx = XARCHIVETYPE_BZIP2; + else if (memcmp ( magic,"\x1f\x8b",2) == 0 || memcmp ( magic,"\x1f\x9d",2) == 0) +@@ -1479,8 +1463,6 @@ + pos = 3; + break; + +- case XARCHIVETYPE_RAR: +- case XARCHIVETYPE_RAR5: + case XARCHIVETYPE_ARJ: + case XARCHIVETYPE_7ZIP: + pos = 2; +@@ -1545,8 +1527,6 @@ + pos = 3; + break; + +- case XARCHIVETYPE_RAR: +- case XARCHIVETYPE_RAR5: + case XARCHIVETYPE_ARJ: + case XARCHIVETYPE_7ZIP: + pos = 2; +@@ -1584,7 +1564,7 @@ + gtk_widget_show(selected_frame); + gtk_widget_set_sensitive(deselect_all,TRUE); + } +- if ( (archive->type == XARCHIVETYPE_RAR && unrar) || (archive->type == XARCHIVETYPE_RAR5 && unrar) || archive->type == XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA || archive->type == XARCHIVETYPE_XZ || archive->type == XARCHIVETYPE_LZOP) ++ if (archive->type == XARCHIVETYPE_BZIP2 || archive->type == XARCHIVETYPE_GZIP || archive->type == XARCHIVETYPE_LZMA || archive->type == XARCHIVETYPE_XZ || archive->type == XARCHIVETYPE_LZOP) + { + gtk_widget_set_sensitive (delete_menu,FALSE); + gtk_widget_set_sensitive (rename_menu,FALSE); +@@ -1801,11 +1781,6 @@ + else + idx = xa_find_archive_index (current_page); + +- if ((archive[idx]->type == XARCHIVETYPE_RAR || archive[idx]->type == XARCHIVETYPE_RAR5) && unrar) +- { +- response = xa_show_message_dialog (GTK_WINDOW (xa_main_window),GTK_DIALOG_MODAL,GTK_MESSAGE_ERROR,GTK_BUTTONS_OK,_("Can't perform this action:"),_("You have to install rar package!")); +- return; +- } + if (archive[idx]->type == XARCHIVETYPE_DEB || archive[idx]->type == XARCHIVETYPE_RPM) + { + gchar *msg; +@@ -2111,11 +2086,6 @@ + command = g_strconcat ("arj c ",archive[idx]->escaped_path," -z",tmp,NULL); + break; + +- case XARCHIVETYPE_RAR: +- case XARCHIVETYPE_RAR5: +- command = g_strconcat ("rar c ",archive[idx]->escaped_path," -z",tmp,NULL); +- break; +- + case XARCHIVETYPE_ZIP: + command = g_strconcat ("sh -c \"zip ",archive[idx]->escaped_path," -z <",tmp,"\"",NULL); + break; +diff -Nur xarchiver-0.5.3.orig/src/window.h xarchiver-0.5.3/src/window.h +--- xarchiver-0.5.3.orig/src/window.h 2008-10-24 07:26:51.000000000 -0200 ++++ xarchiver-0.5.3/src/window.h 2014-05-05 16:29:42.841987069 -0300 +@@ -40,7 +40,6 @@ + #include "deb.h" + #include "lha.h" + #include "zip.h" +-#include "rar.h" + #include "tar.h" + #include "7zip.h" + #include "bzip2.h" +diff -Nur xarchiver-0.5.3.orig/xarchiver.desktop.in xarchiver-0.5.3/xarchiver.desktop.in +--- xarchiver-0.5.3.orig/xarchiver.desktop.in 2014-05-12 02:00:44.138672823 -0300 ++++ xarchiver-0.5.3/xarchiver.desktop.in 2014-05-12 02:01:31.452361143 -0300 +@@ -11,4 +11,4 @@ + X-MultipleArgs=false + Categories=GTK;Archiving;Utility; + StartupNotify=true +-MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-rar;application/x-rar-compressed;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-xz;application/x-xz-compressed-tar;application/x-deb;application/x-rpm; ++MimeType=application/x-arj;application/arj;application/x-bzip;application/x-bzip-compressed-tar;application/x-gzip;application/x-tar;application/x-zip;application/x-zip-compressed;application/zip;application/x-7z-compressed;application/x-compressed-tar;application/x-bzip2;application/x-bzip2-compressed-tar;application/x-lzma;application/x-lzma-compressed-tar;application/x-lzop;application/x-lzop-compressed-tar;application/x-xz;application/x-xz-compressed-tar;application/x-deb;application/x-rpm; diff --git a/libre/xarchiver/xarchiver.install b/libre/xarchiver/xarchiver.install new file mode 100644 index 000000000..c317fbaca --- /dev/null +++ b/libre/xarchiver/xarchiver.install @@ -0,0 +1,12 @@ +post_install() { + update-desktop-database -q + gtk-update-icon-cache -q -t -f usr/share/icons/hicolor +} + +post_upgrade() { + post_install +} + +post_remove() { + post_install +} |