diff options
author | Pacho Ramos <pacho@gentoo.org> | 2014-11-13 10:42:12 +0000 |
---|---|---|
committer | Pacho Ramos <pacho@gentoo.org> | 2014-11-13 10:42:12 +0000 |
commit | 0141cc3a2502ef05e1a2cc5998f4849b5bb27b70 (patch) | |
tree | 56d785c1cbae3bd634462736c3f20b4dd53fc71e /app-arch | |
parent | Remove old. (diff) | |
download | gentoo-2-0141cc3a2502ef05e1a2cc5998f4849b5bb27b70.tar.gz gentoo-2-0141cc3a2502ef05e1a2cc5998f4849b5bb27b70.tar.bz2 gentoo-2-0141cc3a2502ef05e1a2cc5998f4849b5bb27b70.zip |
Drop old (#508854)
(Portage version: 2.2.14/cvs/Linux x86_64, signed Manifest commit with key A188FBD4)
Diffstat (limited to 'app-arch')
8 files changed, 9 insertions, 799 deletions
diff --git a/app-arch/file-roller/ChangeLog b/app-arch/file-roller/ChangeLog index 5439aafb3987..bb8ce0b48bb2 100644 --- a/app-arch/file-roller/ChangeLog +++ b/app-arch/file-roller/ChangeLog @@ -1,6 +1,14 @@ # ChangeLog for app-arch/file-roller # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/app-arch/file-roller/ChangeLog,v 1.339 2014/07/23 15:12:59 ago Exp $ +# $Header: /var/cvsroot/gentoo-x86/app-arch/file-roller/ChangeLog,v 1.340 2014/11/13 10:42:12 pacho Exp $ + + 13 Nov 2014; Pacho Ramos <pacho@gentoo.org> -file-roller-2.32.2.ebuild, + -file-roller-3.10.2.1.ebuild, -file-roller-3.12.1.ebuild, + -files/file-roller-3.8.4-extract-failure.patch, + -files/file-roller-3.8.4-ignore-errors.patch, + -files/file-roller-3.8.4-modifications-time.patch, + -files/file-roller-3.8.4-rar-5.patch: + Drop old (#508854) 23 Jul 2014; Agostino Sarubbo <ago@gentoo.org> file-roller-3.12.2.ebuild: Stable for x86, wrt bug #512012 diff --git a/app-arch/file-roller/file-roller-2.32.2.ebuild b/app-arch/file-roller/file-roller-2.32.2.ebuild deleted file mode 100644 index aa51498932a2..000000000000 --- a/app-arch/file-roller/file-roller-2.32.2.ebuild +++ /dev/null @@ -1,85 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-arch/file-roller/file-roller-2.32.2.ebuild,v 1.10 2014/02/20 07:12:55 pacho Exp $ - -EAPI="3" -GCONF_DEBUG="no" - -inherit eutils gnome2 multilib - -DESCRIPTION="Archive manager for GNOME" -HOMEPAGE="http://fileroller.sourceforge.net/" - -LICENSE="GPL-2+" -SLOT="0" -KEYWORDS="alpha amd64 ~arm ia64 ppc ppc64 sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux" -IUSE="nautilus" - -RDEPEND=">=dev-libs/glib-2.25.5:2 - >=x11-libs/gtk+-2.21.4:2 - >=gnome-base/gconf-2.6:2 - nautilus? ( >=gnome-base/nautilus-2.22.2 )" -DEPEND="${RDEPEND} - sys-devel/gettext - >=dev-util/intltool-0.35 - virtual/pkgconfig - app-text/gnome-doc-utils" -# eautoreconf needs: -# gnome-base/gnome-common - -pkg_setup() { - G2CONF="${G2CONF} - --disable-dependency-tracking - --disable-scrollkeeper - --disable-run-in-place - --disable-static - --disable-packagekit - --disable-deprecations - --with-gtk=2.0 - $(use_enable nautilus nautilus-actions)" - DOCS="AUTHORS ChangeLog HACKING MAINTAINERS NEWS README TODO" -} - -src_prepare() { - gnome2_src_prepare - - # Use absolute path to GNU tar since star doesn't have the same - # options. On Gentoo, star is /usr/bin/tar, GNU tar is /bin/tar - epatch "${FILESDIR}"/${PN}-2.10.3-use_bin_tar.patch - - # Drop DEPRECATED flags as configure option doesn't do it, bug #385453 - sed -i -e 's:-D[A-Z_]*DISABLE_DEPRECATED:$(NULL):g' \ - copy-n-paste/Makefile.am copy-n-paste/Makefile.in || die -} - -src_install() { - gnome2_src_install - if use nautilus; then - find "${ED}"usr/$(get_libdir)/nautilus -name "*.la" -delete \ - || die "la file removal failed" - fi -} - -pkg_postinst() { - gnome2_pkg_postinst - - elog "${PN} is a frontend for several archiving utilities. If you want a" - elog "particular archive format support, see ${HOMEPAGE}" - elog "and install the relevant package." - elog - elog "for example:" - elog " 7-zip - app-arch/p7zip" - elog " ace - app-arch/unace" - elog " arj - app-arch/arj" - elog " cpio - app-arch/cpio" - elog " deb - app-arch/dpkg" - elog " iso - app-cdr/cdrtools" - elog " jar,zip - app-arch/zip and app-arch/unzip" - elog " lha - app-arch/lha" - elog " lzma - app-arch/xz-utils" - elog " lzop - app-arch/lzop" - elog " rar - app-arch/unrar" - elog " rpm - app-arch/rpm" - elog " unstuff - app-arch/stuffit" - elog " zoo - app-arch/zoo" -} diff --git a/app-arch/file-roller/file-roller-3.10.2.1.ebuild b/app-arch/file-roller/file-roller-3.10.2.1.ebuild deleted file mode 100644 index cba18ac7c16f..000000000000 --- a/app-arch/file-roller/file-roller-3.10.2.1.ebuild +++ /dev/null @@ -1,99 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-arch/file-roller/file-roller-3.10.2.1.ebuild,v 1.6 2014/03/09 11:53:07 pacho Exp $ - -EAPI="5" -GCONF_DEBUG="no" -GNOME2_LA_PUNT="yes" - -inherit eutils gnome2 readme.gentoo - -DESCRIPTION="Archive manager for GNOME" -HOMEPAGE="http://fileroller.sourceforge.net/" - -LICENSE="GPL-2+ CC-BY-SA-3.0" -SLOT="0" -IUSE="nautilus packagekit" -KEYWORDS="~alpha amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux" - -# gdk-pixbuf used extensively in the source -# cairo used in eggtreemultidnd.c -# pango used in fr-window -RDEPEND=" - >=app-arch/libarchive-3:= - >=dev-libs/glib-2.36:2 - >=dev-libs/json-glib-0.14 - >=x11-libs/gtk+-3.9.3:3 - >=x11-libs/libnotify-0.4.3:= - sys-apps/file - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/libICE - x11-libs/libSM - x11-libs/pango - nautilus? ( >=gnome-base/nautilus-3 ) - packagekit? ( app-admin/packagekit-base ) -" -DEPEND="${RDEPEND} - dev-util/desktop-file-utils - >=dev-util/intltool-0.40.0 - sys-devel/gettext - virtual/pkgconfig -" -# eautoreconf needs: -# gnome-base/gnome-common - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -${PN} is a frontend for several archiving utilities. If you want a -particular archive format support, see ${HOMEPAGE} -and install the relevant package. For example: -7-zip - app-arch/p7zip -ace - app-arch/unace -arj - app-arch/arj -cpio - app-arch/cpio -deb - app-arch/dpkg -iso - app-cdr/cdrtools -jar,zip - app-arch/zip and app-arch/unzip -lha - app-arch/lha -lzop - app-arch/lzop -rar - app-arch/unrar or app-arch/unar -rpm - app-arch/rpm -unstuff - app-arch/stuffit -zoo - app-arch/zoo" - -src_prepare() { - # Use absolute path to GNU tar since star doesn't have the same - # options. On Gentoo, star is /usr/bin/tar, GNU tar is /bin/tar - epatch "${FILESDIR}"/${PN}-2.10.3-use_bin_tar.patch - - # File providing Gentoo package names for various archivers - cp -f "${FILESDIR}/3.6.0-packages.match" data/packages.match || die - - gnome2_src_prepare -} - -src_configure() { - DOCS="AUTHORS ChangeLog HACKING MAINTAINERS NEWS README* TODO" - # --disable-debug because enabling it adds -O0 to CFLAGS - gnome2_src_configure \ - --disable-run-in-place \ - --disable-static \ - --disable-debug \ - --enable-magic \ - --enable-libarchive \ - --with-smclient=xsmp \ - $(use_enable nautilus nautilus-actions) \ - $(use_enable packagekit) \ - ITSTOOL=$(type -P true) -} - -src_install() { - gnome2_src_install - readme.gentoo_create_doc -} - -pkg_postinst() { - gnome2_pkg_postinst - readme.gentoo_print_elog -} diff --git a/app-arch/file-roller/file-roller-3.12.1.ebuild b/app-arch/file-roller/file-roller-3.12.1.ebuild deleted file mode 100644 index fcdf61ced9a4..000000000000 --- a/app-arch/file-roller/file-roller-3.12.1.ebuild +++ /dev/null @@ -1,99 +0,0 @@ -# Copyright 1999-2014 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/app-arch/file-roller/file-roller-3.12.1.ebuild,v 1.1 2014/04/27 15:21:49 eva Exp $ - -EAPI="5" -GCONF_DEBUG="no" -GNOME2_LA_PUNT="yes" - -inherit eutils gnome2 readme.gentoo - -DESCRIPTION="Archive manager for GNOME" -HOMEPAGE="http://fileroller.sourceforge.net/" - -LICENSE="GPL-2+ CC-BY-SA-3.0" -SLOT="0" -IUSE="nautilus packagekit" -KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux" - -# gdk-pixbuf used extensively in the source -# cairo used in eggtreemultidnd.c -# pango used in fr-window -RDEPEND=" - >=app-arch/libarchive-3:= - >=dev-libs/glib-2.36:2 - >=dev-libs/json-glib-0.14 - >=x11-libs/gtk+-3.9.3:3 - >=x11-libs/libnotify-0.4.3:= - sys-apps/file - x11-libs/cairo - x11-libs/gdk-pixbuf:2 - x11-libs/libICE - x11-libs/libSM - x11-libs/pango - nautilus? ( >=gnome-base/nautilus-3 ) - packagekit? ( app-admin/packagekit-base ) -" -DEPEND="${RDEPEND} - dev-util/desktop-file-utils - >=dev-util/intltool-0.40.0 - sys-devel/gettext - virtual/pkgconfig -" -# eautoreconf needs: -# gnome-base/gnome-common - -DISABLE_AUTOFORMATTING="yes" -DOC_CONTENTS=" -${PN} is a frontend for several archiving utilities. If you want a -particular archive format support, see ${HOMEPAGE} -and install the relevant package. For example: -7-zip - app-arch/p7zip -ace - app-arch/unace -arj - app-arch/arj -cpio - app-arch/cpio -deb - app-arch/dpkg -iso - app-cdr/cdrtools -jar,zip - app-arch/zip and app-arch/unzip -lha - app-arch/lha -lzop - app-arch/lzop -rar - app-arch/unrar or app-arch/unar -rpm - app-arch/rpm -unstuff - app-arch/stuffit -zoo - app-arch/zoo" - -src_prepare() { - # Use absolute path to GNU tar since star doesn't have the same - # options. On Gentoo, star is /usr/bin/tar, GNU tar is /bin/tar - epatch "${FILESDIR}"/${PN}-2.10.3-use_bin_tar.patch - - # File providing Gentoo package names for various archivers - cp -f "${FILESDIR}/3.6.0-packages.match" data/packages.match || die - - gnome2_src_prepare -} - -src_configure() { - DOCS="AUTHORS ChangeLog HACKING MAINTAINERS NEWS README* TODO" - # --disable-debug because enabling it adds -O0 to CFLAGS - gnome2_src_configure \ - --disable-run-in-place \ - --disable-static \ - --disable-debug \ - --enable-magic \ - --enable-libarchive \ - --with-smclient=xsmp \ - $(use_enable nautilus nautilus-actions) \ - $(use_enable packagekit) \ - ITSTOOL=$(type -P true) -} - -src_install() { - gnome2_src_install - readme.gentoo_create_doc -} - -pkg_postinst() { - gnome2_pkg_postinst - readme.gentoo_print_elog -} diff --git a/app-arch/file-roller/files/file-roller-3.8.4-extract-failure.patch b/app-arch/file-roller/files/file-roller-3.8.4-extract-failure.patch deleted file mode 100644 index fa9d68d2b7bd..000000000000 --- a/app-arch/file-roller/files/file-roller-3.8.4-extract-failure.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 40d2c298a7b938a974fe83b609293348a7d59bbd Mon Sep 17 00:00:00 2001 -From: Paolo Bacchilega <paobac@src.gnome.org> -Date: Sun, 29 Sep 2013 16:30:29 +0000 -Subject: libarchive: fixed failure when extracting some tar archives - -do not try to restore the creation time; -do not set the G_FILE_ATTRIBUTE_TIME_CREATED_USEC attribute - -[bug #709035] ---- -diff --git a/src/fr-archive-libarchive.c b/src/fr-archive-libarchive.c -index 37e3008..e465fe8 100644 ---- a/src/fr-archive-libarchive.c -+++ b/src/fr-archive-libarchive.c -@@ -428,15 +428,8 @@ _g_file_info_create_from_entry (struct archive_entry *entry, - - /* times */ - -- if (archive_entry_ctime_is_set (entry)) { -- g_file_info_set_attribute_uint64 (info, G_FILE_ATTRIBUTE_TIME_CREATED, archive_entry_ctime (entry)); -- g_file_info_set_attribute_uint32 (info, G_FILE_ATTRIBUTE_TIME_CREATED_USEC, archive_entry_ctime_nsec (entry)); -- } -- -- if (archive_entry_mtime_is_set (entry)) { -+ if (archive_entry_mtime_is_set (entry)) - g_file_info_set_attribute_uint64 (info, G_FILE_ATTRIBUTE_TIME_MODIFIED, archive_entry_mtime (entry)); -- g_file_info_set_attribute_uint32 (info, G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC, archive_entry_mtime_nsec (entry)); -- } - - /* username */ - -@@ -529,7 +522,8 @@ restore_modification_time (GHashTable *created_folders, - - info = g_file_info_new (); - g_file_info_set_attribute_uint64 (info, G_FILE_ATTRIBUTE_TIME_MODIFIED, g_file_info_get_attribute_uint64 (original_info, G_FILE_ATTRIBUTE_TIME_MODIFIED)); -- g_file_info_set_attribute_uint32 (info, G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC, g_file_info_get_attribute_uint32 (original_info, G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC)); -+ if (g_file_info_get_attribute_status (original_info, G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC) == G_FILE_ATTRIBUTE_STATUS_SET) -+ g_file_info_set_attribute_uint32 (info, G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC, g_file_info_get_attribute_uint32 (original_info, G_FILE_ATTRIBUTE_TIME_MODIFIED_USEC)); - result = _g_file_set_attributes_from_info (file, info, cancellable, error); - - g_object_unref (info); --- -cgit v0.9.2 diff --git a/app-arch/file-roller/files/file-roller-3.8.4-ignore-errors.patch b/app-arch/file-roller/files/file-roller-3.8.4-ignore-errors.patch deleted file mode 100644 index 712ba7497001..000000000000 --- a/app-arch/file-roller/files/file-roller-3.8.4-ignore-errors.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 80c36ae3c84dce8716eb5b74ddb8c73da5824f13 Mon Sep 17 00:00:00 2001 -From: Paolo Bacchilega <paobac@src.gnome.org> -Date: Fri, 11 Oct 2013 19:38:27 +0000 -Subject: ignore errors when setting file attributes - -[bug #709932] ---- -diff --git a/src/fr-archive-libarchive.c b/src/fr-archive-libarchive.c -index 44aaad2..19c5a1d 100644 ---- a/src/fr-archive-libarchive.c -+++ b/src/fr-archive-libarchive.c -@@ -751,7 +751,7 @@ extract_archive_thread (GSimpleAsyncResult *result, - GFileInfo *info; - - info = _g_file_info_create_from_entry (entry, extract_data); -- _g_file_set_attributes_from_info (file, info, cancellable, &load_data->error); -+ _g_file_set_attributes_from_info (file, info, cancellable, NULL); - g_hash_table_insert (created_folders, g_object_ref (file), g_object_ref (info)); - - g_object_unref (info); -@@ -774,7 +774,7 @@ extract_archive_thread (GSimpleAsyncResult *result, - if (r != ARCHIVE_EOF) - load_data->error = g_error_new_literal (FR_ERROR, FR_ERROR_COMMAND_ERROR, archive_error_string (a)); - else -- _g_file_set_attributes_from_entry (file, entry, extract_data, cancellable, &load_data->error); -+ _g_file_set_attributes_from_entry (file, entry, extract_data, cancellable, NULL); - break; - - case AE_IFLNK: -@@ -805,7 +805,7 @@ extract_archive_thread (GSimpleAsyncResult *result, - } - - if (load_data->error == NULL) -- restore_modification_time (created_folders, cancellable, &load_data->error); -+ restore_modification_time (created_folders, cancellable, NULL); - - if ((load_data->error == NULL) && (r != ARCHIVE_EOF)) - load_data->error = g_error_new_literal (FR_ERROR, FR_ERROR_COMMAND_ERROR, archive_error_string (a)); --- -cgit v0.9.2 diff --git a/app-arch/file-roller/files/file-roller-3.8.4-modifications-time.patch b/app-arch/file-roller/files/file-roller-3.8.4-modifications-time.patch deleted file mode 100644 index d6c7baa882fe..000000000000 --- a/app-arch/file-roller/files/file-roller-3.8.4-modifications-time.patch +++ /dev/null @@ -1,186 +0,0 @@ -From 4bf8552f8e60c8d4ec65e360451c6998198052db Mon Sep 17 00:00:00 2001 -From: Paolo Bacchilega <paobac@src.gnome.org> -Date: Wed, 04 Sep 2013 10:02:11 +0000 -Subject: libarchive: restore the folders modification time correctly - -when honoring the skip_older and overwrite flags ignore the -directories created during the extraction process. - -[bug #697756] ---- -diff --git a/src/fr-archive-libarchive.c b/src/fr-archive-libarchive.c -index 3b73c48..37e3008 100644 ---- a/src/fr-archive-libarchive.c -+++ b/src/fr-archive-libarchive.c -@@ -33,6 +33,7 @@ - #include "file-utils.h" - #include "fr-error.h" - #include "fr-archive-libarchive.h" -+#include "gio-utils.h" - #include "glib-utils.h" - #include "typedefs.h" - -@@ -547,6 +548,7 @@ extract_archive_thread (GSimpleAsyncResult *result, - LoadData *load_data; - GHashTable *checked_folders; - GHashTable *created_folders; -+ GHashTable *folders_created_during_extraction; - struct archive *a; - struct archive_entry *entry; - int r; -@@ -556,6 +558,7 @@ extract_archive_thread (GSimpleAsyncResult *result, - - checked_folders = g_hash_table_new_full (g_file_hash, (GEqualFunc) g_file_equal, g_object_unref, NULL); - created_folders = g_hash_table_new_full (g_file_hash, (GEqualFunc) g_file_equal, g_object_unref, g_object_unref); -+ folders_created_during_extraction = g_hash_table_new_full (g_file_hash, (GEqualFunc) g_file_equal, g_object_unref, NULL); - fr_archive_progress_set_total_files (load_data->archive, extract_data->n_files_to_extract); - - a = archive_read_new (); -@@ -590,11 +593,14 @@ extract_archive_thread (GSimpleAsyncResult *result, - archive_read_data_skip (a); - continue; - } -+ - file = g_file_get_child (extract_data->destination, relative_path); - - /* honor the skip_older and overwrite options */ - -- if (extract_data->skip_older || ! extract_data->overwrite) { -+ if ((g_hash_table_lookup (folders_created_during_extraction, file) == NULL) -+ && (extract_data->skip_older || ! extract_data->overwrite)) -+ { - GFileInfo *info; - - info = g_file_query_info (file, -@@ -652,7 +658,18 @@ extract_archive_thread (GSimpleAsyncResult *result, - && (g_hash_table_lookup (checked_folders, parent) == NULL) - && ! g_file_query_exists (parent, cancellable)) - { -- if (g_file_make_directory_with_parents (parent, cancellable, &load_data->error)) { -+ if (! _g_file_make_directory_with_parents (parent, -+ folders_created_during_extraction, -+ cancellable, -+ &local_error)) -+ { -+ if (! g_error_matches (local_error, G_IO_ERROR, G_IO_ERROR_EXISTS)) -+ load_data->error = local_error; -+ else -+ g_clear_error (&local_error); -+ } -+ -+ if (load_data->error == NULL) { - GFile *grandparent; - - grandparent = g_object_ref (parent); -@@ -736,7 +753,7 @@ extract_archive_thread (GSimpleAsyncResult *result, - load_data->error = g_error_copy (local_error); - g_error_free (local_error); - } -- else { -+ if (load_data->error == NULL) { - GFileInfo *info; - - info = _g_file_info_create_from_entry (entry, extract_data); -@@ -803,6 +820,7 @@ extract_archive_thread (GSimpleAsyncResult *result, - if (load_data->error != NULL) - g_simple_async_result_set_from_error (result, load_data->error); - -+ g_hash_table_unref (folders_created_during_extraction); - g_hash_table_unref (created_folders); - g_hash_table_unref (checked_folders); - archive_read_free (a); -diff --git a/src/gio-utils.c b/src/gio-utils.c -index 9d9f708..b317694 100644 ---- a/src/gio-utils.c -+++ b/src/gio-utils.c -@@ -1483,3 +1483,73 @@ _g_file_load_buffer_finish (GFile *file, - - return TRUE; - } -+ -+ -+static gboolean -+_g_file_make_directory_and_add_to_created_folders (GFile *file, -+ GHashTable *created_folders, -+ GCancellable *cancellable, -+ GError **error) -+{ -+ gboolean result; -+ -+ result = g_file_make_directory (file, cancellable, error); -+ if (result && (g_hash_table_lookup (created_folders, file) == NULL)) -+ g_hash_table_insert (created_folders, g_object_ref (file), GINT_TO_POINTER (1)); -+ -+ return result; -+} -+ -+ -+gboolean -+_g_file_make_directory_with_parents (GFile *file, -+ GHashTable *created_folders, -+ GCancellable *cancellable, -+ GError **error) -+{ -+ GError *local_error = NULL; -+ GFile *work_file = NULL; -+ GList *list = NULL, *l; -+ -+ g_return_val_if_fail (G_IS_FILE (file), FALSE); -+ -+ _g_file_make_directory_and_add_to_created_folders (file, created_folders, cancellable, &local_error); -+ if ((local_error == NULL) || (local_error->code != G_IO_ERROR_NOT_FOUND)) { -+ if (local_error != NULL) -+ g_propagate_error (error, local_error); -+ return local_error == NULL; -+ } -+ -+ work_file = g_object_ref (file); -+ while ((local_error != NULL) && (local_error->code == G_IO_ERROR_NOT_FOUND)) { -+ GFile *parent_file; -+ -+ parent_file = g_file_get_parent (work_file); -+ if (parent_file == NULL) -+ break; -+ -+ g_clear_error (&local_error); -+ _g_file_make_directory_and_add_to_created_folders (parent_file, created_folders, cancellable, &local_error); -+ -+ g_object_unref (work_file); -+ work_file = g_object_ref (parent_file); -+ -+ if ((local_error != NULL) && (local_error->code == G_IO_ERROR_NOT_FOUND)) -+ list = g_list_prepend (list, parent_file); /* Transfer ownership of ref */ -+ else -+ g_object_unref (parent_file); -+ } -+ -+ for (l = list; (local_error == NULL) && (l != NULL); l = l->next) -+ _g_file_make_directory_and_add_to_created_folders ((GFile *) l->data, created_folders, cancellable, &local_error); -+ -+ _g_object_unref (work_file); -+ _g_object_list_unref (list); -+ -+ if (local_error != NULL) { -+ g_propagate_error (error, local_error); -+ return FALSE; -+ } -+ -+ return _g_file_make_directory_and_add_to_created_folders (file, created_folders, cancellable, error); -+} -diff --git a/src/gio-utils.h b/src/gio-utils.h -index f784c41..0d7dd3c 100644 ---- a/src/gio-utils.h -+++ b/src/gio-utils.h -@@ -177,5 +177,10 @@ gboolean _g_file_load_buffer_finish (GFile *file, - char **buffer, - gsize *buffer_size, - GError **error); -+gboolean _g_file_make_directory_with_parents -+ (GFile *file, -+ GHashTable *created_folders, -+ GCancellable *cancellable, -+ GError **error); - - #endif /* _GIO_UTILS_H */ --- -cgit v0.9.2 diff --git a/app-arch/file-roller/files/file-roller-3.8.4-rar-5.patch b/app-arch/file-roller/files/file-roller-3.8.4-rar-5.patch deleted file mode 100644 index 73168e8b5982..000000000000 --- a/app-arch/file-roller/files/file-roller-3.8.4-rar-5.patch +++ /dev/null @@ -1,246 +0,0 @@ -From 065550880248b6a66c2fa3143adc0962d0473283 Mon Sep 17 00:00:00 2001 -From: Alexandre Rostovtsev <tetromino@gentoo.org> -Date: Sun, 8 Sep 2013 19:02:10 -0400 -Subject: [PATCH] rar: add support for rar-5.00 - -https://bugzilla.gnome.org/show_bug.cgi?id=707568 ---- - src/fr-command-rar.c | 153 +++++++++++++++++++++++++++++++++++++-------------- - src/fr-command-rar.h | 3 +- - 2 files changed, 115 insertions(+), 41 deletions(-) - -diff --git a/src/fr-command-rar.c b/src/fr-command-rar.c -index b67db1f..938bf8c 100644 ---- a/src/fr-command-rar.c -+++ b/src/fr-command-rar.c -@@ -84,6 +84,82 @@ mktime_from_string (char *date_s, - return mktime (&tm); - } - -+/* Sample rar-5 listing output: -+ -+RAR 5.00 beta 8 Copyright (c) 1993-2013 Alexander Roshal 22 Aug 2013 -+Trial version Type RAR -? for help -+ -+Archive: test.rar -+Details: RAR 4 -+ -+ Attributes Size Packed Ratio Date Time Checksum Name -+----------- --------- -------- ----- -------- ----- -------- ---- -+ -rw-r--r-- 453 304 67% 05-09-13 09:55 56DA5EF3 loremipsum.txt -+----------- --------- -------- ----- -------- ----- -------- ---- -+ 453 304 67% 1 -+ -+ * -+ * Sample rar-4 listing output: -+ * -+ -+RAR 4.20 Copyright (c) 1993-2012 Alexander Roshal 9 Jun 2012 -+Trial version Type RAR -? for help -+ -+Archive test.rar -+ -+Pathname/Comment -+ Size Packed Ratio Date Time Attr CRC Meth Ver -+------------------------------------------------------------------------------- -+ loremipsum.txt -+ 453 304 67% 05-09-13 09:55 -rw-r--r-- 56DA5EF3 m3b 2.9 -+------------------------------------------------------------------------------- -+ 1 453 304 67% -+ -+ */ -+ -+static void -+parse_name_field (char *line, -+ FrCommandRar *rar_comm) -+{ -+ const char *name_field; -+ FileData *fdata; -+ -+ rar_comm->fdata = fdata = file_data_new (); -+ -+ /* read file name. */ -+ -+ fdata->encrypted = (line[0] == '*') ? TRUE : FALSE; -+ -+ if (rar_comm->rar4_odd_line) -+ name_field = line + 1; -+ else -+ /* rar-5 output adds trailing spaces to short file names :( */ -+ name_field = g_strchomp (_g_str_get_last_field (line, 8)); -+ -+ if (*name_field == '/') { -+ fdata->full_path = g_strdup (name_field); -+ fdata->original_path = fdata->full_path; -+ } -+ else { -+ fdata->full_path = g_strconcat ("/", name_field, NULL); -+ fdata->original_path = fdata->full_path + 1; -+ } -+ -+ fdata->link = NULL; -+ fdata->path = _g_path_remove_level (fdata->full_path); -+} -+ -+static gboolean -+attr_field_is_dir (const char *attr_field, -+ FrCommandRar *rar_comm) -+{ -+ if ((attr_field[0] == 'd') || -+ (rar_comm->rar5 && attr_field[3] == 'D') || -+ (!rar_comm->rar5 && attr_field[1] == 'D')) -+ return TRUE; -+ -+ return FALSE; -+} - - static void - process_line (char *line, -@@ -92,14 +168,18 @@ process_line (char *line, - FrCommand *comm = FR_COMMAND (data); - FrCommandRar *rar_comm = FR_COMMAND_RAR (comm); - char **fields; -- const char *name_field; - - g_return_if_fail (line != NULL); - - if (! rar_comm->list_started) { -- if (strncmp (line, "--------", 8) == 0) { -+ if (strncmp (line, "Details:", 8) == 0) { -+ rar_comm->rar5 = TRUE; -+ return; -+ } -+ else if (strncmp (line, "--------", 8) == 0) { - rar_comm->list_started = TRUE; -- rar_comm->odd_line = TRUE; -+ if (! rar_comm->rar5) -+ rar_comm->rar4_odd_line = TRUE; - } - else if (strncmp (line, "Volume ", 7) == 0) - FR_ARCHIVE (comm)->multi_volume = TRUE; -@@ -111,24 +191,43 @@ process_line (char *line, - return; - } - -- if (! rar_comm->odd_line) { -- FileData *fdata; -+ if (rar_comm->rar4_odd_line || rar_comm->rar5) -+ parse_name_field (line, rar_comm); -+ -+ if (! rar_comm->rar4_odd_line) { -+ FileData *fdata; -+ const char *size_field, *ratio_field, *date_field, *time_field, *attr_field; - - fdata = rar_comm->fdata; - - /* read file info. */ - - fields = _g_str_split_line (line, 6); -+ if (rar_comm->rar5) { -+ size_field = fields[1]; -+ ratio_field = fields[3]; -+ date_field = fields[4]; -+ time_field = fields[5]; -+ attr_field = fields[0]; -+ } -+ else { -+ size_field = fields[0]; -+ ratio_field = fields[2]; -+ date_field = fields[3]; -+ time_field = fields[4]; -+ attr_field = fields[5]; -+ } - if (g_strv_length (fields) < 6) { - /* wrong line format, treat this line as a filename line */ - g_strfreev (fields); - file_data_free (rar_comm->fdata); - rar_comm->fdata = NULL; -- rar_comm->odd_line = TRUE; -+ rar_comm->rar4_odd_line = TRUE; -+ parse_name_field (line, rar_comm); - } - else { -- if ((strcmp (fields[2], "<->") == 0) -- || (strcmp (fields[2], "<--") == 0)) -+ if ((strcmp (ratio_field, "<->") == 0) -+ || (strcmp (ratio_field, "<--") == 0)) - { - /* ignore files that span more volumes */ - -@@ -136,10 +235,10 @@ process_line (char *line, - rar_comm->fdata = NULL; - } - else { -- fdata->size = g_ascii_strtoull (fields[0], NULL, 10); -- fdata->modified = mktime_from_string (fields[3], fields[4]); -+ fdata->size = g_ascii_strtoull (size_field, NULL, 10); -+ fdata->modified = mktime_from_string (date_field, time_field); - -- if ((fields[5][1] == 'D') || (fields[5][0] == 'd')) { -+ if (attr_field_is_dir (attr_field, rar_comm)) { - char *tmp; - - tmp = fdata->full_path; -@@ -155,7 +254,7 @@ process_line (char *line, - } - else { - fdata->name = g_strdup (_g_path_get_basename (fdata->full_path)); -- if (fields[5][0] == 'l') -+ if (attr_field[0] == 'l') - fdata->link = g_strdup (_g_path_get_basename (fdata->full_path)); - } - -@@ -167,34 +266,8 @@ process_line (char *line, - } - } - -- if (rar_comm->odd_line) { -- FileData *fdata; -- -- rar_comm->fdata = fdata = file_data_new (); -- -- /* read file name. */ -- -- fdata->encrypted = (line[0] == '*') ? TRUE : FALSE; -- -- name_field = line + 1; -- -- if (*name_field == '/') { -- fdata->full_path = g_strdup (name_field); -- fdata->original_path = fdata->full_path; -- } -- else { -- fdata->full_path = g_strconcat ("/", name_field, NULL); -- fdata->original_path = fdata->full_path + 1; -- } -- -- fdata->link = NULL; -- fdata->path = _g_path_remove_level (fdata->full_path); -- } -- else { -- -- } -- -- rar_comm->odd_line = ! rar_comm->odd_line; -+ if (! rar_comm->rar5) -+ rar_comm->rar4_odd_line = ! rar_comm->rar4_odd_line; - } - - -diff --git a/src/fr-command-rar.h b/src/fr-command-rar.h -index d60e422..09ed270 100644 ---- a/src/fr-command-rar.h -+++ b/src/fr-command-rar.h -@@ -42,7 +42,8 @@ struct _FrCommandRar - FrCommand __parent; - - gboolean list_started; -- gboolean odd_line; -+ gboolean rar4_odd_line; -+ gboolean rar5; - FileData *fdata; - }; - --- -1.8.3.2 - |