The branch main has been updated by bapt:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=4ab0193290255dffce3e123b7b9eec8f768740de

commit 4ab0193290255dffce3e123b7b9eec8f768740de
Author:     Baptiste Daroussin <[email protected]>
AuthorDate: 2023-10-05 15:16:31 +0000
Commit:     Baptiste Daroussin <[email protected]>
CommitDate: 2023-10-05 15:30:17 +0000

    bsdconfig: simplify pkg installation and ABI detection
---
 usr.sbin/bsdconfig/share/packages/musthavepkg.subr | 34 ++++++++--------------
 1 file changed, 12 insertions(+), 22 deletions(-)

diff --git a/usr.sbin/bsdconfig/share/packages/musthavepkg.subr 
b/usr.sbin/bsdconfig/share/packages/musthavepkg.subr
index 9b5d94675345..0a1026afe86c 100644
--- a/usr.sbin/bsdconfig/share/packages/musthavepkg.subr
+++ b/usr.sbin/bsdconfig/share/packages/musthavepkg.subr
@@ -44,26 +44,16 @@ f_include $BSDCFG_SHARE/mustberoot.subr
 f_musthavepkg_init()
 {
        local funcname=f_musthavepkg_init
-       local pkg_abi_awk=' # BEGIN-AWK
-               $1 ~ /^ABI/ && $0 = $NF, sub(/^"/, "") && sub(/".*/, "") {
-                       print; found = 1; exit
-               } END { exit ! found }
-       ' # END-AWK
 
-       if [ "$PKG_ABI" ]; then # Already set
-               f_dprintf "PKG_ABI=[%s]" "$PKG_ABI"
-               export PKG_ABI
-               f_quietly pkg -N -vv # return status (pkg(8) functional?)
-               return $?
-       fi
-
-       # Attempt to get PKG_ABI without prematurely bootstrapping pkg(8)
-       if f_eval_catch -k PKG_ABI $funcname pkg \
-               "pkg -N -vv | awk '%s'" "$pkg_abi_awk"
-       then
-               f_dprintf "PKG_ABI=[%s]" "$PKG_ABI"
-               export PKG_ABI
-               return $SUCCESS
+       if f_quietly pkg -N; then
+               if [ -n "$PKG_ABI" ]; then
+                       export PKG_ABI
+                       return $SUCCESS
+               fi
+               if f_eval_catch -k PKG_ABI $funcname pkg "pkg config abi"; then
+                       export PKG_ABI
+                       return $SUCCESS
+               fi
        fi
 
        # pkg(8) not yet bootstrapped; ask for permission unless nonInteractive
@@ -74,10 +64,10 @@ f_musthavepkg_init()
 
        # Bootstrap pkg(8)
        f_dialog_info "$msg_bootstrapping_pkg"
-       f_eval_catch -k PKG_ABI $funcname pkg \
-               "ASSUME_ALWAYS_YES=1 pkg -vv | awk '%s'" "$pkg_abi_awk" ||
+       f_eval_catch $funcname pkg \
+               "pkg bootstrap -y" ||
                f_die 1 "$msg_must_have_pkg_to_execute" "$pgm"
-
+       f_eval_catch -k PKG_ABI $funcname pkg "pkg config abi"
        f_dprintf "PKG_ABI=[%s]" "$PKG_ABI"
        export PKG_ABI
        return $SUCCESS

Reply via email to