From 70a830f22abb6988dd1356b519c9197bf96d8fbe Mon Sep 17 00:00:00 2001 From: Ian Kelling Date: Wed, 16 Feb 2022 17:45:10 -0500 Subject: [PATCH] remove trash-put support, it is too annoying 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 | 36 +++++++----------------------------- 1 file changed, 7 insertions(+), 29 deletions(-) diff --git a/lnf b/lnf index 8a9df12..bfb2c2a 100755 --- 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 -- 2.30.2