remove trash-put support, it is too annoying
authorIan Kelling <iank@fsf.org>
Wed, 16 Feb 2022 22:45:10 +0000 (17:45 -0500)
committerIan Kelling <iank@fsf.org>
Wed, 16 Feb 2022 22:45:10 +0000 (17:45 -0500)
Using trash-put on a file in ~/sieve caused this to go in my syslog:
Feb 16 16:23:51 kd gvfsd-trash[812297]: *** Unsupported operation detected on trash directory
Feb 16 16:23:51 kd gvfsd-trash[812297]:   dir: /home/iank/.local/share/Trash/files, file: files, type: 4

A web search gives me no help on figuring out what that means. free
desktop has so many undocumented things, avoid it. Already had to
special case a bunch of undocumented trash-put stuff, enough is enough.

lnf

diff --git a/lnf b/lnf
index 8a9df12631969a491bee07b1abad07685aa79174..bfb2c2a9f0b91cad4faba6f9a3ec38ff6d89a76b 100755 (executable)
--- a/lnf
+++ b/lnf
@@ -43,9 +43,8 @@ Create symlinks forcefully
 
 If the link already exists, make it's ownership be the same as if it was
 newly created (only chown if we are root).  Removes existing files using
 
 If the link already exists, make it's ownership be the same as if it was
 newly created (only chown if we are root).  Removes existing files using
-trash-put or rm -rf if it is not available, or if trash-put fails due to a
-limitation such as a cross-filesystem link. Create directory of link if
-needed. Slightly more restrictive arguments than ln.
+rm -rf. Create directory of link if needed. Slightly more restrictive
+arguments than ln.
 
 In the 1st form, create a link to TARGET with the name LINK_NAME.  In the 2nd
 form, create a link to TARGET in the current directory.  In the 3rd form, create
 
 In the 1st form, create a link to TARGET with the name LINK_NAME.  In the 2nd
 form, create a link to TARGET in the current directory.  In the 3rd form, create
@@ -132,32 +131,11 @@ links to each TARGET in DIRECTORY.
     if $do_exit; then return 0; fi
   fi
   if (( ${#to_remove[@]} >= 1 )); then
     if $do_exit; then return 0; fi
   fi
   if (( ${#to_remove[@]} >= 1 )); then
-    if type -P trash-put >/dev/null; then
-      if $verbose; then
-        echo "lnf: trash-put -- ${to_remove[*]}"
-      fi
-      if ! $dry_run; then
-        trash-put -- "${to_remove[@]}" || ret=$?
-      fi
-      # trash-put will fail to trash a link that goes across filesystems (72),
-      # and for empty files (74)
-      # so revert to rm -rf in that case
-      if [[ $ret == 72 ]]; then
-        echo "lnf: using rm -rf to overcome cross filesystem trash-put limitation"
-        rm -rf -- "${to_remove[@]}" || return $?
-      elif [[ $ret == 74 ]]; then
-        echo "lnf: using rm -rf to overcome empty file & hardlink trash-put limitation"
-        rm -rf -- "${to_remove[@]}"
-      elif [[ $ret && $ret != 0 ]]; then
-        return $x
-      fi
-    else
-      if $verbose; then
-        echo "lnf: rm -rf -- ${to_remove[*]}"
-      fi
-      if ! $dry_run; then
-        rm -rf -- "${to_remove[@]}"
-      fi
+    if $verbose; then
+      echo "lnf: rm -rf -- ${to_remove[*]}"
+    fi
+    if ! $dry_run; then
+      rm -rf -- "${to_remove[@]}"
     fi
   fi
 
     fi
   fi