about summary refs log tree commit diff
path: root/tools/install.sh
diff options
context:
space:
mode:
authorLaurent Bercot <ska-skaware@skarnet.org>2024-10-09 14:29:03 +0000
committerLaurent Bercot <ska@appnovation.com>2024-10-09 14:29:03 +0000
commit159b8567a6f39849572c50155e07ae95d859f62f (patch)
tree7faef5b3d3e7f370a0705748b0c99f47557d9aa3 /tools/install.sh
parent01386893e8a4d1ebde7a8673ba352124e62062d4 (diff)
downloadsmtpd-starttls-proxy-159b8567a6f39849572c50155e07ae95d859f62f.tar.gz
smtpd-starttls-proxy-159b8567a6f39849572c50155e07ae95d859f62f.tar.xz
smtpd-starttls-proxy-159b8567a6f39849572c50155e07ae95d859f62f.zip
version: 0.0.1.5 v0.0.1.5 main
Signed-off-by: Laurent Bercot <ska@appnovation.com>
Diffstat (limited to 'tools/install.sh')
-rwxr-xr-xtools/install.sh11
1 files changed, 8 insertions, 3 deletions
diff --git a/tools/install.sh b/tools/install.sh
index 89f9428..e96dd7b 100755
--- a/tools/install.sh
+++ b/tools/install.sh
@@ -1,19 +1,21 @@
 #!/bin/sh
 
 usage() {
-  echo "usage: $0 [-D] [-l] [-m mode] src dst" 1>&2
+  echo "usage: $0 [ -D ] [ -l ] [ -m mode ] [ -O owner:group ] src dst" 1>&2
   exit 1
 }
 
 mkdirp=false
 symlink=false
 mode=0755
+og=
 
-while getopts Dlm: name ; do
+while getopts Dlm:O: name ; do
   case "$name" in
     D) mkdirp=true ;;
     l) symlink=true ;;
     m) mode=$OPTARG ;;
+    O) og=$OPTARG ;;
     ?) usage ;;
   esac
 done
@@ -46,7 +48,10 @@ if $symlink ; then
   ln -s "$src" "$tmp"
 else
   cat < "$1" > "$tmp"
-  chmod "$mode" "$tmp"
+  if test -n "$og" ; then
+    chown -- "$og" "$tmp"
+  fi
+  chmod -- "$mode" "$tmp"
 fi
 
 mv -f "$tmp" "$dst"