diff options
author | 2014-05-12 03:51:05 +0000 | |
---|---|---|
committer | 2014-05-12 03:51:05 +0000 | |
commit | cdf3747c4ddf6da898b1f558abdcdc0ac134babf (patch) | |
tree | dc5fb8e534b269858058fe658a620fa56d092404 /app-arch/xarchiver | |
parent | add pypy support (diff) | |
download | historical-cdf3747c4ddf6da898b1f558abdcdc0ac134babf.tar.gz historical-cdf3747c4ddf6da898b1f558abdcdc0ac134babf.tar.bz2 historical-cdf3747c4ddf6da898b1f558abdcdc0ac134babf.zip |
Import ArchLinux patchset, including fixes for RPMs, archives with spaces, segfaults with password protected archives, more mime types, and rar5 files with white spaces.
Package-Manager: portage-2.2.10/cvs/Linux x86_64
Manifest-Sign-Key: 0x4868F14D
Diffstat (limited to 'app-arch/xarchiver')
7 files changed, 292 insertions, 7 deletions
diff --git a/app-arch/xarchiver/Manifest b/app-arch/xarchiver/Manifest index 4b4f28d84b60..a8ebc76bde82 100644 --- a/app-arch/xarchiver/Manifest +++ b/app-arch/xarchiver/Manifest @@ -1,18 +1,24 @@ -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 +AUX xarchiver-0.5.3-add-mime-types.patch 1436 SHA256 9fee60d67b43aeca0934db0c5be97c87254079dbf6bc01c0616d416bfab08d97 SHA512 a11bedb1ddd28571cca950d6b61a1f292d01c44f4077401c5a2f75cc99cb7a311b3593c1b1da6355a988aceeb35fb13714ad28ad3b707dd1b26f4a0e9d14b136 WHIRLPOOL b836355c80014d2ee1a16d5a2cc14ac6023a4c693c656d0edc3ace6349acd05d8223c0fcf10bb75df560801a2526bd50790674178e14dae6c98b081b3e4557f0 +AUX xarchiver-0.5.3-fix-double-escaping.patch 1132 SHA256 76e08db4f0b085a9ee221f74b8c3b42cc7cb6ea8881f12475184d093777aa938 SHA512 e987ffb9d8ee559a478914a0e78b53919cc884870650dd70bbffed75e21e50f2bbf0e81894448b0a118640db9f1741c8f0e95b1c4e8a0650ba55d68fd735ce7d WHIRLPOOL d182c01ddb7c36ddbc32b4e2d623e9f1fb8aee4c3b47cac6a43946885ee2b98425188581c797ff5e9300537d2bfa5c7eea4bdb0745af44b497703dec3f6525ba +AUX xarchiver-0.5.3-fix-password-protected.patch 1213 SHA256 f8bfd2e8087d55520e1fb330a10670b79fb568a52be678d93cf4144a5b3b5d71 SHA512 bd38943d8afdc0e023195c31c8bee78a7fdd5ec6a276c3f66c395dc41779b18bf829356dea4d794329abc0bd8ac81a58bbd961283b95f74a9008006826be9a75 WHIRLPOOL b0f53f407ceeca21a69a4892dc3859d6f73b1f8c60fcd4ece5d0583d400a58f611631877a921a92661bfabf6bcb7350ffef28ada6b281f6d28b94a8902b8fb57 +AUX xarchiver-0.5.3-fix-rpm-support.patch 3291 SHA256 f570238c818b88092bc459ebc37b9d58669baf92b969197b29c8662bf8783315 SHA512 4ea64799b765ceadb34d4ea48df8f1e1748749a128a3b734265c7e9aa414bbc4a443007d3ae2b767cb3d6c3cae6b6bfb3866f76584cbbf66b8cc4afa34a76ebd WHIRLPOOL e56dd6e7c33a245f34cc37befffa0311a7bf762106c2d810f127bb198d12b4f91e74d8a885cbf47ec2b950102e90be60a90094d3f15c20a6eff27fc8cbe01ab8 +AUX xarchiver-0.5.3-rar5-whitespace.patch 978 SHA256 f611ea9e88f68afc24d4ad57da3e83b6f11c2ae072910e9e8216a62c98671369 SHA512 15b7c4f560bdffc63396236ada635ffd594cdf02faec66a8aecf407af25da2714fdbaec7cefe51576ef0bbcebf85210b5f9bb8bf4a32f74243d9386ceda0cb1f WHIRLPOOL c86e97484222f0dc6ba2abeffc957bcf09057025bd5b2789d09f896f9fac8396f6d3168ced6ac2899f8240bd90d425ba6fa5929dbddb896628cdcd114a74f56b DIST xarchiver-0.5.3.tar.bz2 778871 SHA256 c5899cb495e83a63f89b5eea002d2dd1c691db8d7b6343b3c182ce6e00c16d81 SHA512 b8719a1b7f71c999952390fca999a66baf709e1058f307b40a6b0500d5d268f3923bded742b2fbc0d8c760c43f33b7d5d4971f36a6dc4659310ad41ca7a045d6 WHIRLPOOL 97aac076be74e84c5379294a9a049b6aa727b8cdc5f9788d126795fd221e59415223eb62af931a4920f5f25779d842f0942ae001aa5f49cc05e22fb140f1bc7f +EBUILD xarchiver-0.5.3-r1.ebuild 1540 SHA256 cbbb6ea4f3b637e6bb43e6fef6e150f4ee1efbd3985ba884fa906fca9abd27ed SHA512 af788d4c92d2698882ba6a13e14c77ab94c52bd43103e31b8dccebf27b1d7ad72254ea64e1781f1cd5cab1f4f5e2138cea949da59f6124f06292db19238173f4 WHIRLPOOL 5f29c22c02edab18d7d00a9a76ddc8c626926b45c593db85c1b96ae19fa0d08ffb77316a315bd69a3fc5dd6400c7558c3a9e91be3f2b69cb030d1138fdb7a9d0 EBUILD xarchiver-0.5.3.ebuild 1296 SHA256 c0332dac4174cb92cdc17c710aa39699d18029ebb5c1a43b2eeb57d0fb06422e SHA512 aa2517ea48bad7ef9f3cb137ef6275e1075211ff84f3586146531e448e075c8f680ab20ac269378587978d6ad96fd8ca27184d4566f74725f6586ed11061f1e0 WHIRLPOOL 62f53543a308fe14857ac390391e271e6ad95e993a3085b006bd0bdbec20090cd99e5573d025be5ea80fc021e9b71c7787a086f6b97280f71cf29a312bb3a1d5 MISC ChangeLog 405 SHA256 d0dad9884389ca02d61ba0979480b3897b27e3c92bd5e5b278d4a0f33f44815a SHA512 90c84f903e698d91a295fda515255aa5736db77ee766a6fcfcc4398b3262dcb102b8094e35d764e31798c660a7d02a6386050a6034ec503bea366dd572c5f357 WHIRLPOOL def59afc7bfdad0c22d85feac4d38fb36ae07ea62bd4fa8d795701bd63179b02ee00386e2b8742f85953f77422688660b7e2cfdf3c1756763fdd4b81f1fc1bff MISC metadata.xml 159 SHA256 900ea49b6703fce452e205b85226bf1f994725963e5840da501182e7487d0e63 SHA512 000eb10e453390fb27843585adf354d725e77d881553d97a1a242bf06578a402ee4a924d9d8205a3fa687a59e2402bc9f3e1c227e448e05026354c196cf0a4f3 WHIRLPOOL 6f01aa01b8124d752be8e6c550ffdfc9093d45b206771c924ce25ce3f0daf006a669721d1385ff1bc803df342322d1c264f2905d3ccc44686c937deae8308ec3 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (GNU/Linux) -iQEcBAEBCAAGBQJTb7m8AAoJEEdUh39IaPFNe60H/2tQNQhlg5Hg1VfGnqwwsLa4 -QES7+H5FPrawCu2UtsEgeVTBU8nEhsN1wjnwLYuw9u7VuSRlY8JQTxrLQPlGa6rY -PyVR+9n9h71SuPDtsb5kggWmPNZ1oC1HA24hYsMTzbr2xqx0umVU8wRG1AmyCUIl -FxgYjdqV93zk/v4Z+ktS9VbmRYzzlYrsqzZ2YLJ34cAqQ9h/GYClL2lzzUozggDd -0bHGKR9teLaKKITQXueGudcQf/uQFpxiLPqU3ZnsG8TUmNhVLHHKZimv/FTpZhyH -mkb+uNsGeL+2l2CvET/XgQFT+73rUvXv9Z+PyGHjvqXg2oM++4ixjSs0r9k2pB4= -=rwlF +iQEcBAEBCAAGBQJTcETuAAoJEEdUh39IaPFNovsIAIY6Tn7AK6uMNqWIFxafZqSl +jmVsUh005KbHNybKI4oLBagnN/qWTTUtWtvy4e90xz9JlMwLYko1HURhHReoc6rY +qQflcBpRG3nywO4TQuMcOoyUkRTt9CQc/7pDX24G589THbMbyjuT71Re+WZa9NGl +/1OOsO1N02bEh6/Vxgh3Sybej/W6GMrWlWH8JyP3SlyThCgj2TZKMrPsSWPZ3NNP +Axh1UYWopNsJVsjZZdgmPXEpoOPihvGv7Go2INx5XhVNcfyTVPPUpk4PdiveL96i +czkS9ppQg1uzDB3IXE1WPyxqJ6jQ+k1zwaJOzVJm7+HoEt7N7G+hlSu8h+TPf1w= +=CRew -----END PGP SIGNATURE----- diff --git a/app-arch/xarchiver/files/xarchiver-0.5.3-add-mime-types.patch b/app-arch/xarchiver/files/xarchiver-0.5.3-add-mime-types.patch new file mode 100644 index 000000000000..ec427b99aeee --- /dev/null +++ b/app-arch/xarchiver/files/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/app-arch/xarchiver/files/xarchiver-0.5.3-fix-double-escaping.patch b/app-arch/xarchiver/files/xarchiver-0.5.3-fix-double-escaping.patch new file mode 100644 index 000000000000..8b44d91a0e58 --- /dev/null +++ b/app-arch/xarchiver/files/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/app-arch/xarchiver/files/xarchiver-0.5.3-fix-password-protected.patch b/app-arch/xarchiver/files/xarchiver-0.5.3-fix-password-protected.patch new file mode 100644 index 000000000000..00969349db01 --- /dev/null +++ b/app-arch/xarchiver/files/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/app-arch/xarchiver/files/xarchiver-0.5.3-fix-rpm-support.patch b/app-arch/xarchiver/files/xarchiver-0.5.3-fix-rpm-support.patch new file mode 100644 index 000000000000..cf17ff7385cb --- /dev/null +++ b/app-arch/xarchiver/files/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/app-arch/xarchiver/files/xarchiver-0.5.3-rar5-whitespace.patch b/app-arch/xarchiver/files/xarchiver-0.5.3-rar5-whitespace.patch new file mode 100644 index 000000000000..0d317e41e9de --- /dev/null +++ b/app-arch/xarchiver/files/xarchiver-0.5.3-rar5-whitespace.patch @@ -0,0 +1,44 @@ +--- xarchiver-0.5.3.orig/src/rar.c ++++ xarchiver-0.5.3/src/rar.c +@@ -345,7 +345,7 @@ + unsigned short int i = 0; + unsigned int linesize,n,a; + gboolean dir = FALSE; +- static gchar *filename; ++ static gchar *filename, *end; + + if (last_line) + return; +@@ -388,7 +388,6 @@ + last_line = TRUE; + return; + } +- + archive->nr_of_files++; + + /* Permissions */ +@@ -453,15 +452,15 @@ + for(; n < linesize && line[n] != ' '; n++); + line[n] = '\0'; + item[i] = line + a; +- i++; +- n++; +- +- /* fileName */ +- for(n=64; n < linesize && line[n] == ' '; n++); +- a = n; +- for(; n < linesize && line[n] != ' ' && line[n] != '\n'; n++); +- line[n]='\0'; +- filename = g_strdup(line + a); ++ ++ /* FileName */ ++ line[linesize - 1] = '\0'; ++ filename = g_strdup(line+64); ++ ++ /* Strip trailing whitespace */ ++ end = filename + strlen(filename) - 1; ++ while(end >= filename && *end == ' ') end--; ++ *(end + 1) = '\0'; + + /* Work around for rar which doesn't + * output / with directories */ diff --git a/app-arch/xarchiver/xarchiver-0.5.3-r1.ebuild b/app-arch/xarchiver/xarchiver-0.5.3-r1.ebuild new file mode 100644 index 000000000000..43a84d4b396e --- /dev/null +++ b/app-arch/xarchiver/xarchiver-0.5.3-r1.ebuild @@ -0,0 +1,58 @@ +# Copyright 1999-2014 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-arch/xarchiver/xarchiver-0.5.3-r1.ebuild,v 1.1 2014/05/12 03:51:01 ssuominen Exp $ + +EAPI=5 +inherit xfconf + +DESCRIPTION="a GTK+ based and advanced archive manager that can be used with Thunar" +HOMEPAGE="http://xarchiver.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux" +IUSE="debug" + +RDEPEND=">=dev-libs/glib-2 + >=x11-libs/gtk+-2.24:2" +DEPEND="${RDEPEND} + dev-util/intltool + sys-devel/gettext + virtual/pkgconfig" + +pkg_setup() { + PATCHES=( + "${FILESDIR}"/${P}-add-mime-types.patch + "${FILESDIR}"/${P}-fix-password-protected.patch + "${FILESDIR}"/${P}-rar5-whitespace.patch + "${FILESDIR}"/${P}-fix-double-escaping.patch + "${FILESDIR}"/${P}-fix-rpm-support.patch + ) + + XFCONF=( + $(xfconf_use_debug) + ) + + DOCS=( AUTHORS ChangeLog README TODO ) +} + +src_prepare() { + sed -e '/COPYING/d' -e '/NEWS/d' -i doc/Makefile.in || die + xfconf_src_prepare +} + +src_install() { + xfconf_src_install DOCDIR="${ED}/usr/share/doc/${PF}" +} + +pkg_postinst() { + xfconf_pkg_postinst + elog "You need external programs for some formats, including:" + elog "7zip - app-arch/p7zip" + elog "arj - app-arch/unarj app-arch/arj" + elog "lha - app-arch/lha" + elog "lzop - app-arch/lzop" + elog "rar - app-arch/unrar app-arch/rar" + elog "zip - app-arch/unzip app-arch/zip" +} |