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
-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
@@ -132,32 +131,11 @@ links to each TARGET in DIRECTORY.
     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