Hello community, here is the log from the commit of package file-roller for openSUSE:Leap:15.2 checked in at 2020-05-26 18:32:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Leap:15.2/file-roller (Old) and /work/SRC/openSUSE:Leap:15.2/.file-roller.new.2738 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "file-roller" Tue May 26 18:32:27 2020 rev:28 rq:808209 version:3.32.5 Changes: -------- --- /work/SRC/openSUSE:Leap:15.2/file-roller/file-roller.changes 2020-03-06 12:39:51.294705325 +0100 +++ /work/SRC/openSUSE:Leap:15.2/.file-roller.new.2738/file-roller.changes 2020-05-26 18:32:35.241602921 +0200 @@ -1,0 +2,15 @@ +Tue May 12 23:50:42 UTC 2020 - Michael Gorse <[email protected]> + +- Update to version 3.32.5 (boo#1171486): + + libarchive: do not follow external links when extracting files + (boo#1169428 CVE-2020-11736). + + libarchive: overwrite symbolic links as well if requested by + the user. + + Updated translations. + +------------------------------------------------------------------- +Fri Apr 3 05:56:16 UTC 2020 - Martin Liška <[email protected]> + +- Add gcc-fno-common-fix.patch in order to fix boo#1160390. + +------------------------------------------------------------------- Old: ---- file-roller-3.32.4.tar.xz New: ---- file-roller-3.32.5.tar.xz gcc-fno-common-fix.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ file-roller.spec ++++++ --- /var/tmp/diff_new_pack.UyCeER/_old 2020-05-26 18:32:35.745604022 +0200 +++ /var/tmp/diff_new_pack.UyCeER/_new 2020-05-26 18:32:35.749604031 +0200 @@ -17,7 +17,7 @@ Name: file-roller -Version: 3.32.4 +Version: 3.32.5 Release: 0 Summary: An Archive Manager for GNOME License: GPL-2.0-or-later @@ -31,6 +31,8 @@ Patch1: file-roller-pkg-match.patch # PATCH-FIX-OPENSUSE file-roller-ignore-unrar-if-wrapper.patch bsc#1072118 [email protected] -- if unrar is a wrapper script for unar, then ignore it, and use unar instead. Patch2: file-roller-ignore-unrar-if-wrapper.patch +# PATCH-FIX-UPSTREAM gcc-fno-common-fix.patch boo#1160390 -- Fix build with fno-common +Patch3: gcc-fno-common-fix.patch # Needed for directory ownership BuildRequires: dbus-1 @@ -87,6 +89,7 @@ %patch0 -p1 %patch1 -p1 %patch2 -p1 +%patch3 -p1 translation-update-upstream po %{name} %build ++++++ file-roller-3.32.4.tar.xz -> file-roller-3.32.5.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/file-roller-3.32.4/NEWS new/file-roller-3.32.5/NEWS --- old/file-roller-3.32.4/NEWS 2020-02-15 19:59:21.891295400 +0100 +++ new/file-roller-3.32.5/NEWS 2020-04-19 19:37:52.230744400 +0200 @@ -1,3 +1,15 @@ +version 3.32.5 +-------------- + + Bugs fixed: + + * libarchive: do not follow external links when extracting files. + * libarchive: overwrite symbolic links as well if requested by the user. + + New or updated application translations: + + * Kurdish (Sorani) (Jwtiyar Nariman) + version 3.32.4 -------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/file-roller-3.32.4/meson.build new/file-roller-3.32.5/meson.build --- old/file-roller-3.32.4/meson.build 2020-02-15 19:59:21.897962000 +0100 +++ new/file-roller-3.32.5/meson.build 2020-04-19 19:37:52.240744400 +0200 @@ -1,6 +1,6 @@ project('file-roller', 'c', license : 'GPL2+', - version : '3.32.4', + version : '3.32.5', meson_version : '>=0.43' ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/file-roller-3.32.4/po/LINGUAS new/file-roller-3.32.5/po/LINGUAS --- old/file-roller-3.32.4/po/LINGUAS 2020-02-15 19:59:21.897962000 +0100 +++ new/file-roller-3.32.5/po/LINGUAS 2020-04-19 19:37:52.240744400 +0200 @@ -16,6 +16,7 @@ bs ca ca@valencia +ckb cs csb cy diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/file-roller-3.32.4/po/ckb.po new/file-roller-3.32.5/po/ckb.po --- old/file-roller-3.32.4/po/ckb.po 1970-01-01 01:00:00.000000000 +0100 +++ new/file-roller-3.32.5/po/ckb.po 2020-04-19 19:37:52.384077000 +0200 @@ -0,0 +1,1286 @@ +# Kurdish (Sorani) translation for file-roller +# Copyright (c) 2020 Rosetta Contributors and Canonical Ltd 2020 +# This file is distributed under the same license as the file-roller package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2020. +# +msgid "" +msgstr "" +"Project-Id-Version: file-roller\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2020-03-03 10:17+0000\n" +"PO-Revision-Date: 2020-03-05 19:41+0300\n" +"Last-Translator: Jwtiyar Nariman <[email protected]>\n" +"Language-Team: Kurdish (Sorani) <[email protected]>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Launchpad-Export-Date: 2020-03-05 16:09+0000\n" +"X-Generator: Poedit 2.3\n" +"Language: ckb\n" + +#: data/org.gnome.FileRoller.appdata.xml.in:9 +msgid "File Roller" +msgstr "ڕێکخەری ئەرشیف" + +#: data/org.gnome.FileRoller.appdata.xml.in:10 +msgid "Open, modify and create compressed archive files" +msgstr "کردنەوە، دەستکاری و دروستکردنی پەڕگەی ئەرشیفی پەستێنراو" + +#: data/org.gnome.FileRoller.appdata.xml.in:12 +msgid "" +"Archive Manager (also known as File Roller) is the default GNOME application " +"for opening, creating, and modifying archive and compressed archive files." +msgstr "" +"ڕێکخەری ئەرشیف داواناماەی بنەڕەتی گنۆم بۆ کردنەوە، دروستکردن، دەستکاریکردنی " +"پەڕگەی ئەرشیفی پەستێنراو." + +#: data/org.gnome.FileRoller.appdata.xml.in:16 +msgid "" +"Archive Manager supports a wide range of different archive files, including:" +msgstr "ڕێکخەری ئەرشیف پشتگییری چەند جۆرێکی زۆری پەڕگەی ئەرشیفی وەک:" + +#: data/org.gnome.FileRoller.appdata.xml.in:20 +msgid "gzip archives (.tar.gz, .tgz)" +msgstr "ئەرشیفی gzip (.tar.gz, .tgz)" + +#: data/org.gnome.FileRoller.appdata.xml.in:21 +msgid "bzip archives (.tar.bz, .tbz)" +msgstr "ئەرشیفی bzip (.tar.bz, .tbz)" + +#: data/org.gnome.FileRoller.appdata.xml.in:22 +msgid "zip archives (.zip)" +msgstr "ئەرشیفی (.zip)zip" + +#: data/org.gnome.FileRoller.appdata.xml.in:23 +msgid "xz archives (.tar.xz)" +msgstr "ئەرشیفی xz (.tar.xz)" + +#: data/org.gnome.FileRoller.desktop.in.in:3 src/fr-application.c:455 +#: src/fr-window.c:2022 src/fr-window.c:5532 +msgid "Archive Manager" +msgstr "ڕێکخەری ئەرشیف" + +#: data/org.gnome.FileRoller.desktop.in.in:4 +msgid "Create and modify an archive" +msgstr "دروستکردن و دەستکاریکردنی ئەرشیف" + +#. Translators: Search terms to find this application. Do NOT translate or localize the semicolons! The list MUST also end with a semicolon! +#: data/org.gnome.FileRoller.desktop.in.in:6 +msgid "zip;tar;extract;unpack;" +msgstr "zip;tar;extract;unpack;" + +#. Translators: Do NOT translate or transliterate this text (this is an icon file name)! +#: data/org.gnome.FileRoller.desktop.in.in:13 +msgid "org.gnome.ArchiveManager" +msgstr "org.gnome.ArchiveManager" + +#: data/org.gnome.FileRoller.gschema.xml:58 +msgid "How to sort files" +msgstr "چۆنیەتی ڕیزکردنی پەڕگەکان" + +#: data/org.gnome.FileRoller.gschema.xml:59 +msgid "" +"What criteria must be used to arrange files. Possible values: name, size, " +"type, time, path." +msgstr "" + +#: data/org.gnome.FileRoller.gschema.xml:63 +msgid "Sort type" +msgstr "جۆری ڕیزکردن" + +#: data/org.gnome.FileRoller.gschema.xml:64 +msgid "" +"Whether to sort in ascending or descending direction. Possible values: " +"ascending, descending." +msgstr "" + +#: data/org.gnome.FileRoller.gschema.xml:68 +msgid "List Mode" +msgstr "دۆخی لیستە" + +#: data/org.gnome.FileRoller.gschema.xml:69 +msgid "" +"Use “all-files” to view all the files in the archive in a single list, use " +"“as-folder” to navigate the archive as a folder." +msgstr "" + +#: data/org.gnome.FileRoller.gschema.xml:73 +msgid "Display type" +msgstr "جۆری پیشاندان" + +#: data/org.gnome.FileRoller.gschema.xml:74 +msgid "Display the type column in the main window." +msgstr "جۆرە ستوونەکان لە پەنجەرەی سەرەکی پیشان بدات." + +#: data/org.gnome.FileRoller.gschema.xml:78 +msgid "Display size" +msgstr "قەبارەی پیشاندان" + +#: data/org.gnome.FileRoller.gschema.xml:79 +msgid "Display the size column in the main window." +msgstr "" + +#: data/org.gnome.FileRoller.gschema.xml:83 +msgid "Display time" +msgstr "کاتی پیشاندان" + +#: data/org.gnome.FileRoller.gschema.xml:84 +msgid "Display the time column in the main window." +msgstr "" + +#: data/org.gnome.FileRoller.gschema.xml:88 +msgid "Display path" +msgstr "ڕێڕەوی پیشاندان" + +#: data/org.gnome.FileRoller.gschema.xml:89 +msgid "Display the path column in the main window." +msgstr "" + +#: data/org.gnome.FileRoller.gschema.xml:93 +msgid "Name column width" +msgstr "پانی ئەستوونی ناو" + +#: data/org.gnome.FileRoller.gschema.xml:94 +msgid "The default width of the name column in the file list." +msgstr "" + +#: data/org.gnome.FileRoller.gschema.xml:110 +msgid "View the sidebar" +msgstr "لاتوڵ ببینە" + +#: data/org.gnome.FileRoller.gschema.xml:111 +msgid "Whether to display the sidebar." +msgstr "چ کاتێک لاتوڵ پیشانبدرێت." + +#: data/org.gnome.FileRoller.gschema.xml:130 +msgid "Editors" +msgstr "دەستکاریکەران" + +#: data/org.gnome.FileRoller.gschema.xml:131 +msgid "" +"List of applications entered in the “Open File” dialog and not associated " +"with the file type." +msgstr "" + +#: data/org.gnome.FileRoller.gschema.xml:135 +msgid "Compression level" +msgstr "ئاستی پەستان" + +#: data/org.gnome.FileRoller.gschema.xml:136 +msgid "" +"Compression level used when adding files to an archive. Possible values: " +"very-fast, fast, normal, maximum." +msgstr "" + +#: data/org.gnome.FileRoller.gschema.xml:140 +#: data/org.gnome.FileRoller.gschema.xml:172 +msgid "Encrypt the archive header" +msgstr "" + +#: data/org.gnome.FileRoller.gschema.xml:141 +#: data/org.gnome.FileRoller.gschema.xml:173 +msgid "" +"Whether to encrypt the archive header. If the header is encrypted the " +"password will be required to list the archive content as well." +msgstr "" + +#: data/org.gnome.FileRoller.gschema.xml:155 +msgid "Do not overwrite newer files" +msgstr "پەڕگە نوێیەکان جێگۆڕکێ پێمەکە" + +#: data/org.gnome.FileRoller.gschema.xml:159 +msgid "Recreate the folders stored in the archive" +msgstr "ئەو بوخچانە دروست بکەرەوە کە هەڵگیراون لە ئەرشیف" + +#: data/org.gnome.FileRoller.gschema.xml:177 +msgid "Default volume size" +msgstr "قەبارەی دەنگی بنەڕەتی" + +#: data/org.gnome.FileRoller.gschema.xml:178 +msgid "The default size for volumes." +msgstr "قەبارەی بنەڕەتی دەنگ." + +#: nautilus/nautilus-fileroller.c:264 +msgid "Extract Here" +msgstr "لێرە دەریبهێنە" + +#. Translators: the current position is the current folder +#: nautilus/nautilus-fileroller.c:266 +msgid "Extract the selected archive to the current position" +msgstr "" + +#: nautilus/nautilus-fileroller.c:283 +msgid "Extract To…" +msgstr "دەرکێشان بۆ..." + +#: nautilus/nautilus-fileroller.c:284 +msgid "Extract the selected archive" +msgstr "ئەرشیفی دیاریکراو دەربهێنە" + +#: src/dlg-add.c:99 +msgid "Could not add the files to the archive" +msgstr "نەتوانرا پەڕگەکان بخرێتە سەر ئەرشیف" + +#: src/dlg-add.c:100 +#, c-format +msgid "You don’t have the right permissions to read files from folder “%s”" +msgstr "" + +#: src/dlg-add.c:167 +msgctxt "Window title" +msgid "Add Files" +msgstr "زیادکردنی پەڕگەکان" + +#: src/dlg-add.c:180 +msgid "_Options" +msgstr "ـ هەڵبژاردەکان" + +#. load options +#: src/dlg-add.c:189 +msgctxt "Action" +msgid "Load Options" +msgstr "هەڵبژاردەکان باربکە" + +#. save options +#: src/dlg-add.c:196 +msgctxt "Action" +msgid "Save Options" +msgstr "پاشەکەوتکردنی هەڵبژاردنەکانی" + +#. clear options +#: src/dlg-add.c:203 +msgid "Reset Options" +msgstr "سفرکردنەوەی ڕێکخستنەکان" + +#: src/dlg-add.c:745 +msgctxt "Window title" +msgid "Load Options" +msgstr "هەڵبژاردەکان باربکە" + +#: src/dlg-add.c:754 +msgid "_Apply" +msgstr "_جێبەجێکردن" + +#: src/dlg-add.c:755 src/dlg-delete.c:136 +msgid "_Delete" +msgstr "_سڕینەوە" + +#: src/dlg-add.c:837 +msgctxt "Window title" +msgid "Save Options" +msgstr "پاشەکەوتکردنی هەڵبژاردنەکانی" + +#: src/dlg-add.c:838 +msgid "_Options Name:" +msgstr "ـ ناوی هەڵبژاردنەکان:" + +#: src/dlg-ask-password.c:125 +msgid "_OK" +msgstr "ـباشە" + +#. Translators: %s is a filename +#: src/dlg-ask-password.c:148 +#, c-format +msgid "Password required for “%s”" +msgstr "وشەی تێپەڕبوون پێویستە بۆ “%s”" + +#: src/dlg-ask-password.c:157 +msgid "Wrong password." +msgstr "وشەی تێپەڕبوون هەڵەیە." + +#: src/dlg-batch-add.c:88 src/fr-application.c:226 src/fr-application.c:262 +#: src/fr-application.c:583 +msgid "Compress" +msgstr "پەستێنەر" + +#: src/dlg-extract.c:95 src/fr-window.c:6920 +#, c-format +msgid "" +"Destination folder “%s” does not exist.\n" +"\n" +"Do you want to create it?" +msgstr "" + +#: src/dlg-extract.c:103 src/fr-window.c:6928 +msgid "Create _Folder" +msgstr "بوخچەـدروستبکە" + +#: src/dlg-extract.c:122 src/dlg-extract.c:139 src/dlg-extract.c:166 +#: src/fr-window.c:4410 src/fr-window.c:6844 src/fr-window.c:6849 +#: src/fr-window.c:6949 src/fr-window.c:6968 src/fr-window.c:6973 +msgid "Extraction not performed" +msgstr "دەرهێنان جێبەجێنەکرا" + +#: src/dlg-extract.c:123 src/fr-window.c:6945 +#, c-format +msgid "Could not create the destination folder: %s." +msgstr "نەتوانرا بوخچە دروستبکرێت: %s." + +#: src/dlg-extract.c:167 src/fr-window.c:4637 src/fr-window.c:4739 +#, c-format +msgid "" +"You don’t have the right permissions to extract archives in the folder “%s”" +msgstr "" + +#: src/dlg-extract.c:279 +msgctxt "Window title" +msgid "Extract" +msgstr "دەرهێنان" + +#: src/dlg-package-installer.c:114 src/dlg-package-installer.c:227 +msgid "There was an internal error trying to search for applications:" +msgstr "" + +#: src/dlg-package-installer.c:296 src/dlg-package-installer.c:305 +#: src/dlg-package-installer.c:332 src/fr-archive.c:747 src/fr-window.c:4077 +#: src/fr-window.c:7651 src/fr-window.c:8008 src/fr-window.c:9523 +msgid "Archive type not supported." +msgstr "جۆری ئەرشیف پشتگیرنەکراوە." + +#: src/dlg-package-installer.c:315 +#, c-format +msgid "" +"There is no command installed for %s files.\n" +"Do you want to search for a command to open this file?" +msgstr "" + +#: src/dlg-package-installer.c:319 +msgid "Could not open this file type" +msgstr "نەتوانرا ئەم جۆرە پەڕگەیە بکرێتەوە" + +#: src/dlg-package-installer.c:322 +msgid "_Search Command" +msgstr "ـفرمانی گەڕان" + +#: src/dlg-password.c:109 +#, c-format +msgid "Enter a password for “%s”" +msgstr "وشەی تێپەڕبوون بنووسە بۆ “%s”" + +#: src/dlg-prop.c:107 +#, c-format +msgid "%s Properties" +msgstr "%s تایبەتمەندییەکان" + +#: src/dlg-update.c:162 +#, c-format +msgid "Update the file “%s” in the archive “%s”?" +msgstr "" + +#. secondary text +#: src/dlg-update.c:174 src/dlg-update.c:200 +#, c-format +msgid "" +"The file has been modified with an external application. If you don’t update " +"the file in the archive, all of your changes will be lost." +msgid_plural "" +"%d files have been modified with an external application. If you don’t " +"update the files in the archive, all of your changes will be lost." +msgstr[0] "" +msgstr[1] "" + +#: src/dlg-update.c:190 +#, c-format +msgid "Update the files in the archive “%s”?" +msgstr "" + +#: src/dlg-update.c:319 src/dlg-update.c:332 +msgid "_Update" +msgstr "_نوێکردنەوە" + +#: src/dlg-update.c:323 +msgid "Update Files" +msgstr "پەڕگەکان نوێبکەرەوە" + +#: src/fr-application-menu.c:130 +msgid "Copyright © 2001–2014 Free Software Foundation, Inc." +msgstr "مافی لەبەرگرتنەوە © 2001–2014 ڕێکخراوی نەرمەکاڵای ئازاد." + +#: src/fr-application-menu.c:131 +msgid "An archive manager for GNOME." +msgstr "ڕێکخەری ئەرشیف بۆ گنۆم." + +#: src/fr-application-menu.c:134 +msgid "translator-credits" +msgstr "" +"Launchpad Contributions:\n" +"\n" +"Jwtiyar Nariman https://launchpad.net/~jwtiyar" + +#: src/fr-application.c:61 +msgid "Add files to the specified archive and quit the program" +msgstr "" + +#: src/fr-application.c:62 +msgid "ARCHIVE" +msgstr "ARCHIVE" + +#: src/fr-application.c:65 +msgid "Add files asking the name of the archive and quit the program" +msgstr "" + +#: src/fr-application.c:69 +msgid "Extract archives to the specified folder and quit the program" +msgstr "" + +#: src/fr-application.c:70 src/fr-application.c:82 +msgid "FOLDER" +msgstr "FOLDER" + +#: src/fr-application.c:73 +msgid "Extract archives asking the destination folder and quit the program" +msgstr "" + +#: src/fr-application.c:77 +msgid "" +"Extract the contents of the archives in the archive folder and quit the " +"program" +msgstr "" + +#: src/fr-application.c:81 +msgid "Default folder to use for the “--add” and “--extract” commands" +msgstr "" + +#: src/fr-application.c:85 +msgid "Create destination folder without asking confirmation" +msgstr "بوخچەی داواکراو درووستبکە بێ داواکردنی دڵنیابوونەوە" + +#: src/fr-application.c:89 +msgid "Use the notification system to notify the operation completion" +msgstr "" + +#: src/fr-application.c:92 +msgid "Start as a service" +msgstr "وەک خزمەتگوزاری پێیبکە" + +#: src/fr-application.c:95 +msgid "Show version" +msgstr "وەشان پیشان بدە" + +#: src/fr-application.c:298 src/fr-application.c:324 src/fr-application.c:606 +msgctxt "Window title" +msgid "Extract archive" +msgstr "ئەرشیف دەربهێنە" + +#: src/fr-application.c:486 +msgid "— Create and modify an archive" +msgstr "--- دروستکردن و دەستکاریکردنی ئەرشیف" + +#: src/fr-archive.c:1848 +msgid "You don’t have the right permissions." +msgstr "تۆ دەسەڵاتی پێویستت نیە." + +#: src/fr-archive.c:1848 +msgid "This archive type cannot be modified" +msgstr "ئەم جۆرە ئەرشیفە دەستکاری ناکرێت" + +#: src/fr-archive.c:1862 src/fr-new-archive-dialog.c:478 +msgid "You can’t add an archive to itself." +msgstr "ناتوانیت ئەرشیف بکەیتە ناو خۆیەوە." + +#. Translators: %s is a filename. +#: src/fr-command-7z.c:306 src/fr-command-rar.c:495 src/fr-command-tar.c:325 +#, c-format +msgid "Adding “%s”" +msgstr "زیادکردنی “%s”" + +#. Translators: %s is a filename. +#: src/fr-command-7z.c:458 src/fr-command-rar.c:627 src/fr-command-tar.c:446 +#, c-format +msgid "Extracting “%s”" +msgstr "دەرهێنانی “%s”" + +#. Translators: %s is a filename. +#: src/fr-command-rar.c:576 src/fr-command-tar.c:391 +#, c-format +msgid "Removing “%s”" +msgstr "سڕینەوەی “%s”" + +#: src/fr-command-rar.c:758 +#, c-format +msgid "Could not find the volume: %s" +msgstr "" + +#: src/fr-command-tar.c:401 +msgid "Deleting files from archive" +msgstr "سڕینەوەی پەڕگەکان لە ئەرشیف" + +#: src/fr-command-tar.c:506 +msgid "Recompressing archive" +msgstr "دووبارە پەستاندنی ئەرشیف" + +#: src/fr-command-tar.c:825 +msgid "Decompressing archive" +msgstr "نەپەستاندنی ئەرشیف" + +#: src/fr-command.c:597 +#, c-format +msgid "Archive not found" +msgstr "ئەرشیف نەدۆزرایەوە" + +#: src/fr-file-selector-dialog.c:765 src/fr-file-selector-dialog.c:810 +msgid "Could not load the location" +msgstr "نەتوان شوێن باربکرێت" + +#: src/fr-new-archive-dialog.c:352 src/fr-new-archive-dialog.c:371 +#: src/fr-new-archive-dialog.c:387 src/fr-new-archive-dialog.c:436 +#: src/fr-new-archive-dialog.c:454 src/fr-new-archive-dialog.c:476 +#: src/fr-window.c:3034 +msgid "Could not create the archive" +msgstr "نەتوان ئەرشیف درووست بکرێت" + +#: src/fr-new-archive-dialog.c:354 src/fr-new-archive-dialog.c:373 +msgid "You have to specify an archive name." +msgstr "پێویستە ناوی ئەرشیف دیاریبکەیت." + +#: src/fr-new-archive-dialog.c:438 +msgid "You don’t have permission to create an archive in this folder" +msgstr "دەسەڵاتی پێویستت نیە بۆ دروستکردنی ئەرشیف لەم بوخچەیەدا" + +#. Translators: the name references to a filename. This message can appear when renaming a file. +#: src/fr-new-archive-dialog.c:456 src/fr-window.c:8322 +msgid "New name is the same as old one, please type other name." +msgstr "ناوەکە وەکو ناوە کۆنەکەیە، تکایە ناوێکی تر بنووسە." + +#: src/fr-new-archive-dialog.c:499 +#, c-format +msgid "A file named “%s” already exists. Do you want to replace it?" +msgstr "" + +#: src/fr-new-archive-dialog.c:500 +#, c-format +msgid "" +"The file already exists in “%s”. Replacing it will overwrite its contents." +msgstr "" + +#: src/fr-new-archive-dialog.c:506 src/fr-window.c:6764 +msgid "_Replace" +msgstr "ـجێگۆڕکێ" + +#: src/fr-new-archive-dialog.c:521 +msgid "Could not delete the old archive." +msgstr "نەتوانرا ئەرشیفی کۆن بسڕێتەوە." + +#: src/fr-window-actions-callbacks.c:289 +msgctxt "Window title" +msgid "Open" +msgstr "کردنەوە" + +#: src/fr-window-actions-callbacks.c:302 +msgid "All archives" +msgstr "هەموو ئەرشیفەکان" + +#: src/fr-window-actions-callbacks.c:309 +msgid "All files" +msgstr "هەموو پەڕگەکان" + +#: src/fr-window.c:1226 +msgid "Operation completed" +msgstr "کردارە تەواوبوو" + +#: src/fr-window.c:1639 +msgid "Folder" +msgstr "بوخچە" + +#: src/fr-window.c:2029 +msgid "[read only]" +msgstr "[read only]" + +#: src/fr-window.c:2168 +#, c-format +msgid "Could not display the folder “%s”" +msgstr "" + +#. Translators: %s is a filename +#: src/fr-window.c:2341 src/fr-window.c:2379 +#, c-format +msgid "Creating “%s”" +msgstr "دروستکردنی “%s”" + +#. Translators: %s is a filename +#: src/fr-window.c:2345 +#, c-format +msgid "Loading “%s”" +msgstr "باکردنی “%s”" + +#. Translators: %s is a filename +#: src/fr-window.c:2349 +#, c-format +msgid "Reading “%s”" +msgstr "خوێندنەوەی “%s”" + +#. Translators: %s is a filename +#: src/fr-window.c:2353 +#, c-format +msgid "Deleting the files from “%s”" +msgstr "سڕینەوەی پەڕگە لە “%s”" + +#. Translators: %s is a filename +#: src/fr-window.c:2357 +#, c-format +msgid "Testing “%s”" +msgstr "تاقیکردنەوەی “%s”" + +#: src/fr-window.c:2360 +msgid "Getting the file list" +msgstr "هێنانی لیستەی پەڕگە" + +#. Translators: %s is a filename +#: src/fr-window.c:2364 +#, c-format +msgid "Copying the files to add to “%s”" +msgstr "لەبەرگرتنەوەی ئەو پەڕگانەی کە دەخرێنە ناو “%s”" + +#. Translators: %s is a filename +#: src/fr-window.c:2368 +#, c-format +msgid "Adding the files to “%s”" +msgstr "زیادکردنی پەڕگە بۆ “%s”" + +#. Translators: %s is a filename +#: src/fr-window.c:2372 +#, c-format +msgid "Extracting the files from “%s”" +msgstr "دەرهێنانی پەڕگە لە “%s”" + +#: src/fr-window.c:2375 +msgid "Copying the extracted files to the destination" +msgstr "لەبەرگرتنەوەی پەڕگە دەرهێنراوەکان بۆ شوێنی مەبەست" + +#. Translators: %s is a filename +#: src/fr-window.c:2384 +#, c-format +msgid "Saving “%s”" +msgstr "پاشەکەوتکردنی “%s”" + +#. Translators: %s is a filename +#: src/fr-window.c:2391 +#, c-format +msgid "Renaming the files in “%s”" +msgstr "ناولێنانی پەڕگەکان لەناو “%s”" + +#. Translators: %s is a filename +#: src/fr-window.c:2395 +#, c-format +msgid "Updating the files in “%s”" +msgstr "نوێکردنەوەی پەڕگەکانی ناو “%s”" + +#: src/fr-window.c:2683 +#, c-format +msgid "%d file remaining" +msgid_plural "%'d files remaining" +msgstr[0] "%d پەڕگە ماوە" +msgstr[1] "%'d پەڕگە ماوە" + +#: src/fr-window.c:2687 src/fr-window.c:3311 +msgid "Please wait…" +msgstr "تکایە چاوەڕوانبە..." + +#: src/fr-window.c:2805 +msgid "Extraction completed successfully" +msgstr "دەرهێنان بەسەرکەوتووی تەواو بوو" + +#: src/fr-window.c:2808 +msgid "_Show the Files" +msgstr "ـ پەڕگەکان پیشانبدە" + +#. Translators: %s is a filename +#: src/fr-window.c:2825 src/fr-window.c:6250 +#, c-format +msgid "“%s” created successfully" +msgstr "“%s” بەسەرکەوتووی درووستکرا" + +#: src/fr-window.c:2832 +msgid "_Open the Archive" +msgstr "ـئەرشیف بکەرەوە" + +#: src/fr-window.c:2920 src/fr-window.c:3090 +msgid "Command exited abnormally." +msgstr "فرمانەکە دەرچو بە نائاسایی." + +#: src/fr-window.c:3039 +msgid "An error occurred while extracting files." +msgstr "هەڵەیەک ڕوویدا لە کاتی دەرهێنانی پەڕگەکان." + +#: src/fr-window.c:3045 +#, c-format +msgid "Could not open “%s”" +msgstr "ناتوانرێت “%s” بکرێتەوە" + +#: src/fr-window.c:3050 +msgid "An error occurred while loading the archive." +msgstr "هەڵەیەک ڕوویدا لە کاتی باکردنی ئەرشیف." + +#: src/fr-window.c:3054 +msgid "An error occurred while deleting files from the archive." +msgstr "هەڵەیەک ڕوویدا لە کاتی سڕینەوەی پەڕگە لەناو ئەرشیف." + +#: src/fr-window.c:3060 +msgid "An error occurred while adding files to the archive." +msgstr "هەڵەیەک ڕوویدا لە کاتی زیادکردنی پەڕگە بۆ ئەرشیف." + +#: src/fr-window.c:3064 +msgid "An error occurred while testing archive." +msgstr "هەڵەیەک ڕوویدا لە کاتی تاقیکردنەوەی ئەرشیف." + +#: src/fr-window.c:3069 +msgid "An error occurred while saving the archive." +msgstr "هەڵەیەک ڕوویدا لە کاتی پاشەکەوتکردنی ئەرشیف." + +#: src/fr-window.c:3073 +msgid "An error occurred while renaming the files." +msgstr "هەڵەیەک ڕوویدا لە کاتی لە کاتی ناوگۆڕینی ئەرشیف." + +#: src/fr-window.c:3077 +msgid "An error occurred while updating the files." +msgstr "هەڵەیەک ڕوویدا لە کاتی نوێکردنەوەی پەڕگەکان." + +#: src/fr-window.c:3081 +msgid "An error occurred." +msgstr "هەڵەیەک ڕوویدا." + +#: src/fr-window.c:3087 +msgid "Command not found." +msgstr "فرمان نەدۆزرایەوە." + +#: src/fr-window.c:3243 +msgid "Test Result" +msgstr "ئەنجامی تاقیکردنەوە" + +#: src/fr-window.c:4202 src/fr-window.c:9006 src/fr-window.c:9040 +#: src/fr-window.c:9320 +msgid "Could not perform the operation" +msgstr "ئەم کارە ناتوانرێت ئەنجام بدرێت" + +#: src/fr-window.c:4227 +msgid "" +"Do you want to add this file to the current archive or open it as a new " +"archive?" +msgstr "" + +#: src/fr-window.c:4256 +msgid "Do you want to create a new archive with these files?" +msgstr "دەتەوێت ئەرشیفێکی نوێ دروست بکەی کە ئەم پەڕگانەی تێدا بێت؟" + +#: src/fr-window.c:4259 +msgid "Create _Archive" +msgstr "ئەرشیفـدروستبکە" + +#: src/fr-window.c:4288 src/fr-window.c:7459 +msgid "New Archive" +msgstr "ئەرشیفی نوێ" + +#: src/fr-window.c:5002 +msgid "Folders" +msgstr "بوخچەکان" + +#: src/fr-window.c:5040 src/ui/file-selector.ui:221 +msgctxt "File" +msgid "Size" +msgstr "قەبارە" + +#: src/fr-window.c:5041 +msgctxt "File" +msgid "Type" +msgstr "جۆر" + +#: src/fr-window.c:5042 src/ui/file-selector.ui:237 +msgctxt "File" +msgid "Modified" +msgstr "دەستکاریکراوە" + +#: src/fr-window.c:5043 +msgctxt "File" +msgid "Location" +msgstr "شوێن" + +#: src/fr-window.c:5052 src/ui/file-selector.ui:190 +msgctxt "File" +msgid "Name" +msgstr "ناو" + +#: src/fr-window.c:5804 src/ui/extract-dialog-options.ui:20 +msgctxt "Action" +msgid "Extract" +msgstr "دەرهێنان" + +#: src/fr-window.c:5808 +msgctxt "Action" +msgid "Add Files" +msgstr "زیادکردنی پەڕگەکان" + +#: src/fr-window.c:5813 src/fr-window.c:5843 +msgid "Find files by name" +msgstr "پەڕگە بدۆزرەوە بەهۆی ناو" + +#: src/fr-window.c:5860 +msgid "Go to the previous visited location" +msgstr "بڕۆ بۆ شوێنی پێشوو" + +#: src/fr-window.c:5865 +msgid "Go to the next visited location" +msgstr "بڕۆ بۆ شوێنی داهاتوو" + +#: src/fr-window.c:5875 +msgid "Go to the home location" +msgstr "بڕۆ بۆ پەڕەی ماڵەوە" + +#. Translators: after the colon there is a folder name. +#: src/fr-window.c:5884 src/ui/file-selector.ui:98 +#: src/ui/new-archive-dialog.ui:93 +msgid "_Location:" +msgstr "_شوێن:" + +#: src/fr-window.c:6264 src/ui/menus.ui:7 src/ui/menus.ui:47 src/ui/menus.ui:83 +msgctxt "Action" +msgid "Open" +msgstr "کردنەوە" + +#: src/fr-window.c:6752 +#, c-format +msgid "Replace file “%s”?" +msgstr "جێگۆڕکێی پەڕگەی “%s”؟" + +#: src/fr-window.c:6755 +#, c-format +msgid "Another file with the same name already exists in “%s”." +msgstr "" + +#: src/fr-window.c:6761 +msgid "Replace _All" +msgstr "جێگۆڕکردنیـهەموو" + +#: src/fr-window.c:6762 +msgid "Replace _Nothing" +msgstr "جێگۆڕکێیـهیچ" + +#: src/fr-window.c:6763 +msgid "_Skip" +msgstr "ـپەڕاندن" + +#: src/fr-window.c:7643 src/fr-window.c:8000 +#, c-format +msgid "Could not save the archive “%s”" +msgstr "نەتوانرا ئەرشیف پاشەکەوتبکرێت “%s”" + +#: src/fr-window.c:7770 +msgid "Save" +msgstr "پاشەکەوتکردن" + +#: src/fr-window.c:8094 +msgid "Last Output" +msgstr "کۆتا دەرخستە" + +#. Translators: the name references to a filename. This message can appear when renaming a file. +#: src/fr-window.c:8317 +msgid "New name is void, please type a name." +msgstr "ناوی نوێ بەتاڵە، تکایە ناوێک بنووسە." + +#. Translators: the %s references to a filename. This message can appear when renaming a file. +#: src/fr-window.c:8327 +#, c-format +msgid "" +"Name “%s” is not valid because it contains at least one of the following " +"characters: %s, please type other name." +msgstr "" + +#: src/fr-window.c:8363 +#, c-format +msgid "" +"A folder named “%s” already exists.\n" +"\n" +"%s" +msgstr "" +"بوخچە بە ناوی “%s” پێشترهەبووە.\n" +"\n" +"%s" + +#: src/fr-window.c:8363 src/fr-window.c:8365 +msgid "Please use a different name." +msgstr "تکایە ناوێکی جیاواز بنووسە." + +#: src/fr-window.c:8365 +#, c-format +msgid "" +"A file named “%s” already exists.\n" +"\n" +"%s" +msgstr "" +"پەڕگە بە ناوی “%s” پێشترهەبووە.\n" +"\n" +"%s" + +#: src/fr-window.c:8435 +msgid "Rename" +msgstr "ناولێنان" + +#: src/fr-window.c:8436 +msgid "_New folder name:" +msgstr "ـناوی بوخچەی نوێ:" + +#: src/fr-window.c:8436 +msgid "_New file name:" +msgstr "ـناوی پەڕگەی نوێ:" + +#: src/fr-window.c:8440 +msgid "_Rename" +msgstr "_ناوگۆڕین" + +#: src/fr-window.c:8457 src/fr-window.c:8475 +msgid "Could not rename the folder" +msgstr "نەتوانرا ئەم بوخچە ناوبنرێت" + +#: src/fr-window.c:8457 src/fr-window.c:8475 +msgid "Could not rename the file" +msgstr "نەتوانرا پەڕگە ناوبنرێت" + +#. Translators: %s are archive filenames +#: src/fr-window.c:8913 +#, c-format +msgid "Moving the files from “%s” to “%s”" +msgstr "" + +#. Translators: %s are archive filenames +#: src/fr-window.c:8916 +#, c-format +msgid "Copying the files from “%s” to “%s”" +msgstr "لەبەرگرتنەوەی پەڕگەکان لە “%s” بۆ “%s”" + +#: src/fr-window.c:8967 +msgid "Paste Selection" +msgstr "دیاریکراوەکان بلکێنە" + +#: src/fr-window.c:8968 +msgid "_Destination folder:" +msgstr "بوخچهی _مهبهست:" + +#: src/fr-window.c:8972 src/ui/app-menubar.ui:61 +msgid "_Paste" +msgstr "_لكاندن" + +#. This is the time format used in the "Date Modified" column and +#. * in the Properties dialog. See the man page of strftime for an +#. * explanation of the values. +#: src/glib-utils.c:787 +msgid "%d %B %Y, %H:%M" +msgstr "%d %B %Y, %H:%M" + +#: src/gtk-utils.c:235 +msgid "C_ommand Line Output:" +msgstr "" + +#: src/gtk-utils.c:510 +msgid "Could not display help" +msgstr "ناتوانرێت یارمەتی پیشان بدرێت" + +#: src/gtk-utils.c:605 +msgid "Change password visibility" +msgstr "" + +#: src/gtk-utils.h:29 +msgid "_Add" +msgstr "_زۆرکردن" + +#: src/gtk-utils.h:30 +msgid "_Cancel" +msgstr "_هەڵوەشاندنەوە" + +#: src/gtk-utils.h:31 src/ui/app-menubar.ui:41 +msgid "_Close" +msgstr "_داخستن" + +#: src/gtk-utils.h:32 +msgid "C_reate" +msgstr "_دروستی بکە" + +#: src/gtk-utils.h:33 +msgid "_Extract" +msgstr "ـ دەرهێنان" + +#: src/gtk-utils.h:34 +msgid "_Open" +msgstr "_کردنەوە" + +#: src/gtk-utils.h:35 +msgid "_Save" +msgstr "ـپاشەکەوتکردن" + +#: src/ui/add-dialog-options.ui:19 +msgid "Add" +msgstr "زیادکردن" + +#: src/ui/add-dialog-options.ui:42 +msgid "Include _files:" +msgstr "" + +#: src/ui/add-dialog-options.ui:58 +msgid "E_xclude files:" +msgstr "" + +#: src/ui/add-dialog-options.ui:74 +msgid "_Exclude folders:" +msgstr "" + +#: src/ui/add-dialog-options.ui:89 src/ui/add-dialog-options.ui:104 +#: src/ui/add-dialog-options.ui:118 src/ui/extract-dialog-options.ui:104 +msgid "example: *.o; *.bak" +msgstr "نموونە: *.o; *.bak" + +#: src/ui/add-dialog-options.ui:153 src/ui/extract-dialog-options.ui:144 +msgid "Actions" +msgstr "کردارەکان" + +#: src/ui/add-dialog-options.ui:173 +msgid "Add only if _newer" +msgstr "" + +#: src/ui/add-dialog-options.ui:190 +msgid "_Follow symbolic links" +msgstr "" + +#: src/ui/app-menubar.ui:4 +msgid "_File" +msgstr "_پەڕگە" + +#: src/ui/app-menubar.ui:8 src/ui/gears-menu.ui:8 +msgid "_New Archive…" +msgstr "ـ ئەرشفی نوێ..." + +#: src/ui/app-menubar.ui:13 src/ui/gears-menu.ui:13 +msgid "_Open…" +msgstr "ـبیکەرەوە..." + +#: src/ui/app-menubar.ui:18 +msgid "_Extract Files…" +msgstr "ــپەڕگەکان دەربکە..." + +#: src/ui/app-menubar.ui:25 +msgid "Save _As…" +msgstr "پاشەکەوت ـوەک..." + +#: src/ui/app-menubar.ui:30 src/ui/gears-menu.ui:27 +msgid "_Test Integrity" +msgstr "" + +#: src/ui/app-menubar.ui:34 src/ui/gears-menu.ui:31 +msgid "Properties" +msgstr "تایبەتمەندییەکان" + +#: src/ui/app-menubar.ui:47 +msgid "_Edit" +msgstr "ـدەسکاریکردن" + +#: src/ui/app-menubar.ui:51 +msgid "Cu_t" +msgstr "بڕـین" + +#: src/ui/app-menubar.ui:56 +msgid "_Copy" +msgstr "ـلەبەرگرتنەوە" + +#: src/ui/app-menubar.ui:68 +msgid "_Add Files…" +msgstr "" + +#: src/ui/app-menubar.ui:72 src/ui/menus.ui:35 src/ui/menus.ui:71 +#: src/ui/menus.ui:107 +msgid "_Rename…" +msgstr "ـ ناولێنانەوە..." + +#: src/ui/app-menubar.ui:77 +msgid "_Delete Files…" +msgstr "_سڕینەوەی پەڕگەکان..." + +#: src/ui/app-menubar.ui:84 src/ui/file-selector.ui:11 +msgid "_Select All" +msgstr "_دیاری کردنی هەموو" + +#: src/ui/app-menubar.ui:89 +msgid "D_eselect All" +msgstr "" + +#: src/ui/app-menubar.ui:94 +msgid "_Find" +msgstr "_دۆزینەوە" + +#: src/ui/app-menubar.ui:101 +msgid "Set Pass_word…" +msgstr "" + +#: src/ui/app-menubar.ui:106 +msgid "_View" +msgstr "_بینین" + +#: src/ui/app-menubar.ui:110 src/ui/gears-menu.ui:49 +msgid "Sidebar" +msgstr "لاتەنیشت" + +#: src/ui/app-menubar.ui:116 src/ui/gears-menu.ui:38 +msgid "View All _Files" +msgstr "" + +#: src/ui/app-menubar.ui:122 src/ui/gears-menu.ui:43 +msgid "View as a F_older" +msgstr "" + +#: src/ui/app-menubar.ui:130 src/ui/gears-menu.ui:55 +msgid "_Help" +msgstr "_یارمەتی" + +#: src/ui/app-menubar.ui:133 +msgid "Contents" +msgstr "ناوەڕۆک" + +#: src/ui/app-menubar.ui:138 +msgid "_About" +msgstr "_دەربارە" + +#: src/ui/ask-password.ui:53 src/ui/new-archive-dialog.ui:160 +msgid "_Password:" +msgstr "_وشەی تێپەڕبوون" + +#: src/ui/delete.ui:13 src/ui/extract-dialog-options.ui:41 +msgid "_All files" +msgstr "_هەموو پەڕگەکان" + +#: src/ui/delete.ui:31 src/ui/extract-dialog-options.ui:59 +msgid "_Selected files" +msgstr "_پەڕگە دیاریکراوەکان" + +#: src/ui/delete.ui:54 src/ui/extract-dialog-options.ui:83 +msgid "_Files:" +msgstr "_پەڕگەکان:" + +#: src/ui/delete.ui:74 +msgid "example: *.txt; *.doc" +msgstr "نموونە: *.txt; *.doc" + +#: src/ui/extract-dialog-options.ui:165 +msgid "_Keep directory structure" +msgstr "" + +#: src/ui/extract-dialog-options.ui:182 +msgid "Do not _overwrite newer files" +msgstr "" + +#: src/ui/file-selector.ui:19 +msgid "Dese_lect All" +msgstr "_لابردنی دیاریکردنی هەموو" + +#: src/ui/file-selector.ui:33 +msgid "Show Hidden Files" +msgstr "پەڕگە شاراوەکان پیشان بدە" + +#: src/ui/file-selector.ui:127 src/ui/file-selector.ui:128 +msgid "Go up one level" +msgstr "" + +#: src/ui/gears-menu.ui:19 +msgid "Save As…" +msgstr "پاشەکەوتکردن وەک..." + +#: src/ui/gears-menu.ui:23 +msgid "Pass_word…" +msgstr "" + +#: src/ui/gears-menu.ui:60 +msgid "_About Archive Manager" +msgstr "دەربارەی ڕێکخەری ئەرشیف" + +#: src/ui/menus.ui:11 +msgid "_Open With…" +msgstr "_بیکەرەوە بەهۆی…" + +#: src/ui/menus.ui:17 src/ui/menus.ui:53 src/ui/menus.ui:89 +msgid "_Extract…" +msgstr "_دەرهێنان…" + +#: src/ui/menus.ui:23 src/ui/menus.ui:59 src/ui/menus.ui:95 +msgid "Cut" +msgstr "بڕین" + +#: src/ui/menus.ui:27 src/ui/menus.ui:63 src/ui/menus.ui:99 +msgid "Copy" +msgstr "لەبەرگرتنەوە" + +#: src/ui/menus.ui:31 src/ui/menus.ui:67 src/ui/menus.ui:103 +msgid "Paste" +msgstr "لكاندن" + +#: src/ui/menus.ui:39 src/ui/menus.ui:75 src/ui/menus.ui:111 +msgid "Delete" +msgstr "سڕینەوە" + +#: src/ui/new-archive-dialog.ui:27 +msgid "_Filename:" +msgstr "ناوی پەڕگە:" + +#: src/ui/new-archive-dialog.ui:110 +msgid "Location" +msgstr "شوێن" + +#: src/ui/new-archive-dialog.ui:193 +msgid "_Encrypt the file list too" +msgstr "" + +#. this is part of a sentence, for example "split into volumes of 10.0 MB", where MB stands for megabyte. +#: src/ui/new-archive-dialog.ui:215 +msgid "Split into _volumes of" +msgstr "" + +#: src/ui/new-archive-dialog.ui:236 +msgid "10,0" +msgstr "" + +#. MB means megabytes +#: src/ui/new-archive-dialog.ui:253 +msgid "MB" +msgstr "مێگابایت" + +#: src/ui/new-archive-dialog.ui:276 +msgid "_Other Options" +msgstr "" + +#: src/ui/password.ui:51 +msgid "_Encrypt the file list" +msgstr "" + +#: src/ui/properties.ui:15 +msgctxt "File" +msgid "Name:" +msgstr "ناو:" + +#. after the colon there is a folder name. +#: src/ui/properties.ui:45 +msgid "Location:" +msgstr "شوێن:" + +#. after the colon there is a file type. +#: src/ui/properties.ui:74 +msgid "Type:" +msgstr "جۆر:" + +#: src/ui/properties.ui:103 +msgid "Last modified:" +msgstr "دواگۆڕانكاریی:" + +#: src/ui/properties.ui:131 +msgid "Archive size:" +msgstr "قەبارەی ئەرشیف:" + +#: src/ui/properties.ui:159 +msgid "Content size:" +msgstr "قەبارەی ناوەڕۆک:" + +#: src/ui/properties.ui:186 +msgid "Compression ratio:" +msgstr "ڕێژەی پەستاوتن:" + +#: src/ui/properties.ui:213 +msgid "Number of files:" +msgstr "ژمارەی پەڕگەکان:" + +#: src/ui/update.ui:48 +msgid "S_elect the files you want to update:" +msgstr "" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/file-roller-3.32.4/src/fr-archive-libarchive.c new/file-roller-3.32.5/src/fr-archive-libarchive.c --- old/file-roller-3.32.4/src/fr-archive-libarchive.c 2020-02-15 19:59:21.921295600 +0100 +++ new/file-roller-3.32.5/src/fr-archive-libarchive.c 2020-04-19 19:37:52.507410000 +0200 @@ -603,6 +603,149 @@ } +static gboolean +_symlink_is_external_to_destination (GFile *file, + const char *symlink, + GFile *destination, + GHashTable *external_links); + + +static gboolean +_g_file_is_external_link (GFile *file, + GFile *destination, + GHashTable *external_links) +{ + GFileInfo *info; + gboolean external; + + if (g_hash_table_lookup (external_links, file) != NULL) + return TRUE; + + info = g_file_query_info (file, + G_FILE_ATTRIBUTE_STANDARD_IS_SYMLINK "," G_FILE_ATTRIBUTE_STANDARD_SYMLINK_TARGET, + G_FILE_QUERY_INFO_NOFOLLOW_SYMLINKS, + NULL, + NULL); + + if (info == NULL) + return FALSE; + + external = FALSE; + + if (g_file_info_get_is_symlink (info)) { + if (_symlink_is_external_to_destination (file, + g_file_info_get_symlink_target (info), + destination, + external_links)) + { + g_hash_table_insert (external_links, g_object_ref (file), GINT_TO_POINTER (1)); + external = TRUE; + } + } + + g_object_unref (info); + + return external; +} + + +static gboolean +_symlink_is_external_to_destination (GFile *file, + const char *symlink, + GFile *destination, + GHashTable *external_links) +{ + gboolean external = FALSE; + GFile *parent; + char **components; + int i; + + if ((file == NULL) || (symlink == NULL)) + return FALSE; + + if (symlink[0] == '/') + return TRUE; + + parent = g_file_get_parent (file); + components = g_strsplit (symlink, "/", -1); + for (i = 0; components[i] != NULL; i++) { + char *name = components[i]; + GFile *tmp; + + if ((name[0] == 0) || ((name[0] == '.') && (name[1] == 0))) + continue; + + if ((name[0] == '.') && (name[1] == '.') && (name[2] == 0)) { + if (g_file_equal (parent, destination)) { + external = TRUE; + break; + } + else { + tmp = g_file_get_parent (parent); + g_object_unref (parent); + parent = tmp; + } + } + else { + tmp = g_file_get_child (parent, components[i]); + g_object_unref (parent); + parent = tmp; + } + + if (_g_file_is_external_link (parent, destination, external_links)) { + external = TRUE; + break; + } + } + + g_strfreev (components); + g_object_unref (parent); + + return external; +} + + +static gboolean +_g_path_is_external_to_destination (const char *relative_path, + GFile *destination, + GHashTable *external_links) +{ + gboolean external = FALSE; + GFile *parent; + char **components; + int i; + + if (relative_path == NULL) + return FALSE; + + if (destination == NULL) + return TRUE; + + parent = g_object_ref (destination); + components = g_strsplit (relative_path, "/", -1); + for (i = 0; (components[i] != NULL) && (components[i + 1] != NULL); i++) { + GFile *tmp; + + if (components[i][0] == 0) + continue; + + tmp = g_file_get_child (parent, components[i]); + g_object_unref (parent); + parent = tmp; + + if (_g_file_is_external_link (parent, destination, external_links)) { + external = TRUE; + break; + } + } + + g_strfreev (components); + g_object_unref (parent); + + return external; +} + + static void extract_archive_thread (GSimpleAsyncResult *result, GObject *object, @@ -613,6 +756,7 @@ GHashTable *checked_folders; GHashTable *created_files; GHashTable *folders_created_during_extraction; + GHashTable *external_links; struct archive *a; struct archive_entry *entry; int r; @@ -623,6 +767,7 @@ checked_folders = g_hash_table_new_full (g_file_hash, (GEqualFunc) g_file_equal, g_object_unref, NULL); created_files = 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); + external_links = 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 (); @@ -654,6 +799,15 @@ fullpath = (*pathname == '/') ? g_strdup (pathname) : g_strconcat ("/", pathname, NULL); relative_path = _g_path_get_relative_basename_safe (fullpath, extract_data->base_dir, extract_data->junk_paths); if (relative_path == NULL) { + fr_archive_progress_inc_completed_files (load_data->archive, 1); + fr_archive_progress_inc_completed_bytes (load_data->archive, archive_entry_size_is_set (entry) ? archive_entry_size (entry) : 0); + archive_read_data_skip (a); + continue; + } + + if (_g_path_is_external_to_destination (relative_path, extract_data->destination, external_links)) { + fr_archive_progress_inc_completed_files (load_data->archive, 1); + fr_archive_progress_inc_completed_bytes (load_data->archive, archive_entry_size_is_set (entry) ? archive_entry_size (entry) : 0); archive_read_data_skip (a); continue; } @@ -858,10 +1012,22 @@ case AE_IFLNK: if (! g_file_make_symbolic_link (file, archive_entry_symlink (entry), cancellable, &local_error)) { - if (! g_error_matches (local_error, G_IO_ERROR, G_IO_ERROR_EXISTS)) + if (g_error_matches (local_error, G_IO_ERROR, G_IO_ERROR_EXISTS)) { + g_clear_error (&local_error); + if (g_file_delete (file, cancellable, &local_error)) { + g_clear_error (&local_error); + if (! g_file_make_symbolic_link (file, archive_entry_symlink (entry), cancellable, &local_error)) + load_data->error = g_error_copy (local_error); + } + else + load_data->error = g_error_copy (local_error); + } + else load_data->error = g_error_copy (local_error); g_clear_error (&local_error); } + if ((load_data->error == NULL) && _symlink_is_external_to_destination (file, archive_entry_symlink (entry), extract_data->destination, external_links)) + g_hash_table_insert (external_links, g_object_ref (file), GINT_TO_POINTER (1)); archive_read_data_skip (a); break; @@ -896,6 +1062,7 @@ g_hash_table_unref (folders_created_during_extraction); g_hash_table_unref (created_files); g_hash_table_unref (checked_folders); + g_hash_table_unref (external_links); archive_read_free (a); extract_data_free (extract_data); } ++++++ gcc-fno-common-fix.patch ++++++ diff --git a/src/fr-application.c b/src/fr-application.c index c148c4f..00ebe55 100644 --- a/src/fr-application.c +++ b/src/fr-application.c @@ -42,7 +42,6 @@ #define SERVICE_TIMEOUT 10 -gint ForceDirectoryCreation; static char **remaining_args; static char *arg_add_to = NULL; static int arg_add = FALSE;
