license change
[lnf] / lnf
diff --git a/lnf b/lnf
index 8a9df12631969a491bee07b1abad07685aa79174..28f77ee7e8aa0d69cf650e1537d2c054ff3ff8d0 100755 (executable)
--- a/lnf
+++ b/lnf
@@ -1,6 +1,25 @@
 #!/bin/bash
-# Copyright (C) 2014-2016 Ian Kelling
-# This program is under GPL v. 3 or later, see <http://www.gnu.org/licenses/>
+# I, Ian Kelling, follow the GNU license recommendations at
+# https://www.gnu.org/licenses/license-recommendations.en.html. They
+# recommend that small programs, < 300 lines, be licensed under the
+# Apache License 2.0. This file contains or is part of one or more small
+# programs. If a small program grows beyond 300 lines, I plan to switch
+# its license to GPL.
+
+# Copyright 2024 Ian Kelling
+
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+
+#     http://www.apache.org/licenses/LICENSE-2.0
+
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
 
 _lnf_existing_link() {
   local target dest_file dest_dir
@@ -43,9 +62,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
@@ -92,7 +110,7 @@ links to each TARGET in DIRECTORY.
 
 
   local -a to_remove to_link
-  local ret prefix dest_dir grp target
+  local ret prefix dest_dir grp target
   local mkdir=false
 
   if [[ $nodir ]]; then
@@ -132,32 +150,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