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
 #!/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
 
 _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
 
 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
@@ -92,7 +110,7 @@ links to each TARGET in DIRECTORY.
 
 
   local -a to_remove to_link
 
 
   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
   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 $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