Followup-For: Bug #593607 Control: reassign -1 libfm 0.1.17-2 Control: affects -1 + pcmanfm Control: tags -1 + fixed
On my computer, copying a huge directory to a small loop device... - triggers the bug with libfm-0.1.17-2 - does not anymore with the attached patch So Ulrik is right. I consider his proposal as the best solution for wheezy. May I NMU to unstable?
diff -Nru libfm-0.1.17/debian/changelog libfm-0.1.17/debian/changelog --- libfm-0.1.17/debian/changelog 2012-04-16 22:32:23.000000000 +0200 +++ libfm-0.1.17/debian/changelog 2013-01-01 00:06:38.000000000 +0100 @@ -1,3 +1,13 @@ +libfm (0.1.17-2.1) UNRELEASED; urgency=low + + * Non-maintainer upload. + * patches/02-keep_source_when_copying.patch: keep source when + cut/pasting a directory across filesystems, avoiding data loss when + the copy fails. Next upstream really fixes #593607, but this + work-around downgrades its severity from critical to normal in wheezy. + + -- Nicolas Boulenguez <nico...@debian.org> Mon, 31 Dec 2012 23:36:03 +0100 + libfm (0.1.17-2) unstable; urgency=low * Updating maintainer field. diff -Nru libfm-0.1.17/debian/patches/02-keep_source_when_copying.patch libfm-0.1.17/debian/patches/02-keep_source_when_copying.patch --- libfm-0.1.17/debian/patches/02-keep_source_when_copying.patch 1970-01-01 01:00:00.000000000 +0100 +++ libfm-0.1.17/debian/patches/02-keep_source_when_copying.patch 2012-12-31 23:34:59.000000000 +0100 @@ -0,0 +1,15 @@ +diff --git a/src/job/fm-file-ops-job-xfer.c b/src/job/fm-file-ops-job-xfer.c +index 351ff1d..a46d9b9 100644 +--- a/src/job/fm-file-ops-job-xfer.c ++++ b/src/job/fm-file-ops-job-xfer.c +@@ -440,8 +440,8 @@ _retry_query_src_info: + } + /* if this is a cross-device move operation, delete source files. */ + /* ret == TRUE means the copy is successful. */ +- if( !fm_job_is_cancelled(fmjob) && ret && delete_src ) +- ret = _fm_file_ops_job_delete_file(FM_JOB(job), src, inf); /* delete the source file. */ ++ /* if( !fm_job_is_cancelled(fmjob) && ret && delete_src ) */ ++ /* ret = _fm_file_ops_job_delete_file(FM_JOB(job), src, inf); /\* delete the source file. *\/ */ + + if(new_dest) + g_object_unref(new_dest); diff -Nru libfm-0.1.17/debian/patches/series libfm-0.1.17/debian/patches/series --- libfm-0.1.17/debian/patches/series 2012-04-16 21:45:43.000000000 +0200 +++ libfm-0.1.17/debian/patches/series 2012-12-31 23:37:10.000000000 +0100 @@ -1 +1,2 @@ 01-lxde-conf.patch +02-keep_source_when_copying.patch