Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package libfm-qt Problem: Recursive moving of folders is prohibited in some cases New version fixes #927708 which renders pcmanfm-qt nearly unusable for basic tasks in file management. Solution was to port back the upstream fix. diff --git a/debian/changelog b/debian/changelog index e5012f5..9bc9b25 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,15 @@ +libfm-qt (0.14.1-8) unstable; urgency=medium + + * Removed the wrongly introduced build dependency on lxqt-qtplugin + + -- Alf Gaida <aga...@siduction.org> Sat, 27 Apr 2019 18:40:25 +0200 + +libfm-qt (0.14.1-7) unstable; urgency=medium + + * Workaround for GLib's recursive moving error (Closes: #927708) + + -- Alf Gaida <aga...@siduction.org> Sat, 27 Apr 2019 10:50:16 +0200 + libfm-qt (0.14.1-6) unstable; urgency=medium * Fixed ignored creation-deletion sequences (Closes: #927707) diff --git a/debian/patches/series b/debian/patches/series index 3a2195c..1a4dd71 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,3 +1,4 @@ fix-smb-recursive-copy.patch fix-license-headers.patch dont-ignore-crea-del-sequences.patch +workaround-glib-recursive-moving-error.patch diff --git a/debian/patches/workaround-glib-recursive-moving-error.patch b/debian/patches/workaround-glib-recursive-moving-error.patch new file mode 100644 index 0000000..838ff29 --- /dev/null +++ b/debian/patches/workaround-glib-recursive-moving-error.patch @@ -0,0 +1,33 @@ +From 476dded99de11a57c64103b4610f0de3dbdbc769 Mon Sep 17 00:00:00 2001 +From: Tsu Jan <tsujan2...@gmail.com> +Date: Mon, 22 Apr 2019 00:07:07 +0430 +Subject: [PATCH] Workaround for GLib's recursive moving error, e.g. with bound + mounts + +`g_file_move()` may not work recursively on the same filesystem, especially +with bound mounts (to `/mnt`, for example) and give the `G_IO_ERROR_WOULD_RECURSE` +error. This patch ignores the error and tries our `FileTransferJob::copyFile()`. + +Closes https://github.com/lxqt/pcmanfm-qt/issues/943 +--- + src/core/filetransferjob.cpp | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/src/core/filetransferjob.cpp b/src/core/filetransferjob.cpp +index c3d5851..32f0f89 100644 +--- a/src/core/filetransferjob.cpp ++++ b/src/core/filetransferjob.cpp +@@ -83,6 +83,13 @@ bool FileTransferJob::moveFileSameFs(const FilePath& srcPath, const GFileInfoPtr + // do the file operation + if(!g_file_move(srcPath.gfile().get(), destPath.gfile().get(), GFileCopyFlags(flags), cancellable().get(), + nullptr, this, &err)) { ++ // Specially with mounts bound to /mnt, g_file_move() may give the recursive error ++ // and fail, in which case, we ignore the error and try copying and deleting. ++ if(err.code() == G_IO_ERROR_WOULD_RECURSE) { ++ if(auto parent = destPath.parent()) { ++ return copyFile(srcPath, srcInfo, parent, destPath.baseName().get()); ++ } ++ } + retry = handleError(err, srcPath, srcInfo, destPath, flags); + } + else { unblock libfm-qt/0.14.1-8 -- System Information: Debian Release: 10.0 APT prefers unstable-debug APT policy: (500, 'unstable-debug'), (500, 'testing-debug'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.0.11-towo.2-siduction-amd64 (SMP w/8 CPU cores; PREEMPT) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_OOT_MODULE Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8), LANGUAGE= (charmap=UTF-8) Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system)