diff sbin/fpkg @ 452:d5591ebc303d

Use "--" for jexec and chroot to accept more unconvenient jail names and/or directories
author Franz Glasner <fzglas.hg@dom66.de>
date Fri, 10 May 2024 13:42:10 +0200
parents e7eba671bd74
children 847ae246f3cc
line wrap: on
line diff
--- a/sbin/fpkg	Fri May 10 09:16:57 2024 +0200
+++ b/sbin/fpkg	Fri May 10 13:42:10 2024 +0200
@@ -137,7 +137,7 @@
     _jail="$1"
 
     _host_version=$(/bin/freebsd-version -u) || exit 1
-    _jail_version=$(jexec -l "${_jail}" /bin/freebsd-version -u) || exit 1
+    _jail_version=$(jexec -l -- "${_jail}" /bin/freebsd-version -u) || exit 1
     if [ "${_host_version%%-*}" = "${_jail_version%%-*}" ]; then
         return 0
     fi
@@ -151,7 +151,7 @@
     '
     echo "LOCALHOST: $(/bin/freebsd-version -u)"
     for _jail in $(jls -N | awk '{if(NR>1)print $1}' | sort); do
-        echo "${_jail}: $(jexec -l "${_jail}" /bin/freebsd-version -u)"
+        echo "${_jail}: $(jexec -l -- "${_jail}" /bin/freebsd-version -u)"
     done
 }
 
@@ -291,7 +291,7 @@
         if has_same_userland_version "${_j}"; then
             # This prints the value on the *host* also
             #pkg -j "${_j}" config "${_name}"
-            jexec "${_j}" pkg config "${_name}"
+            jexec -- "${_j}" pkg config "${_name}"
         else
             echo "${FPKG_SKIPSIGN}SKIPPED because of different userland"
         fi