diff --git a/plist b/plist index 1585279d5..07e2becde 100644 --- a/plist +++ b/plist @@ -890,6 +890,7 @@ /usr/local/opnsense/scripts/firmware/lock.sh /usr/local/opnsense/scripts/firmware/plugin.sh /usr/local/opnsense/scripts/firmware/product.php +/usr/local/opnsense/scripts/firmware/query.sh /usr/local/opnsense/scripts/firmware/read.sh /usr/local/opnsense/scripts/firmware/reboot.sh /usr/local/opnsense/scripts/firmware/register.php @@ -898,7 +899,6 @@ /usr/local/opnsense/scripts/firmware/resync.sh /usr/local/opnsense/scripts/firmware/running.sh /usr/local/opnsense/scripts/firmware/security.sh -/usr/local/opnsense/scripts/firmware/sets.sh /usr/local/opnsense/scripts/firmware/sync.sh /usr/local/opnsense/scripts/firmware/sync.subr.sh /usr/local/opnsense/scripts/firmware/unlock.sh diff --git a/src/opnsense/scripts/firmware/sets.sh b/src/opnsense/scripts/firmware/query.sh similarity index 69% rename from src/opnsense/scripts/firmware/sets.sh rename to src/opnsense/scripts/firmware/query.sh index a122bae4e..0f27417bc 100755 --- a/src/opnsense/scripts/firmware/sets.sh +++ b/src/opnsense/scripts/firmware/query.sh @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright (C) 2017-2021 Franco Fichtner +# Copyright (C) 2017-2023 Franco Fichtner # All rights reserved. # # Redistribution and use in source and binary forms, with or without @@ -27,23 +27,38 @@ LIC="BSD2CLAUSE" OS="FreeBSD" REPO="OPNsense" -SEP=${1:-","} +SEP="|||" -read BN BV BS << EOF +case "${1}" in +local) + read BN BV BS << EOF $(opnsense-version -nvs base) EOF -read KN KV KS << EOF + read KN KV KS << EOF $(opnsense-version -nvs kernel) EOF -BL=0 -KL=0 + BL=0 + KL=0 -opnsense-update -Tb || BL=1 -opnsense-update -Tk || KL=1 + opnsense-update -Tb || BL=1 + opnsense-update -Tk || KL=1 cat << EOF -${BN}${SEP}${BV}${SEP}${OS} userland set${SEP}${BS}${SEP}${BL}${SEP}0${SEP}${LIC}${SEP}${REPO}${SEP} -${KN}${SEP}${KV}${SEP}${OS} kernel set${SEP}${KS}${SEP}${KL}${SEP}0${SEP}${LIC}${SEP}${REPO}${SEP} +${BN}${SEP}${BV}${SEP}${OS} userland set${SEP}${BS}${SEP}${BL}${SEP}0${SEP}${LIC}${SEP}${REPO}${SEP}opnsense/base +${KN}${SEP}${KV}${SEP}${OS} kernel set${SEP}${KS}${SEP}${KL}${SEP}0${SEP}${LIC}${SEP}${REPO}${SEP}opnsense/kernel EOF + + pkg query "%n|||%v|||%c|||%sh|||%k|||%a|||%L|||%R|||%o" + ;; +remote) + pkg update -q && pkg rquery -U "%n|||%v|||%c|||%sh|||0|||0|||%L|||%R|||%o" + ;; +tiers) + # fetching annotations is not as easy to query so always ask for annotations from remote end + pkg update -q && pkg rquery '%n|||%At|||%Av' | grep '|||product_tier|||' + ;; +*) + ;; +esac diff --git a/src/opnsense/service/conf/actions.d/actions_firmware.conf b/src/opnsense/service/conf/actions.d/actions_firmware.conf index 46ec20188..25de3e64d 100644 --- a/src/opnsense/service/conf/actions.d/actions_firmware.conf +++ b/src/opnsense/service/conf/actions.d/actions_firmware.conf @@ -181,18 +181,23 @@ type:script_output message:Querying %s package details [local] -command:pkg query "%n|||%v|||%c|||%sh|||%k|||%a|||%L|||%R|||%o"; \ - /usr/local/opnsense/scripts/firmware/sets.sh '|||' +command:/usr/local/opnsense/scripts/firmware/query.sh local parameters: type:script_output message:view local packages [remote] -command:pkg update -q && pkg rquery -U "%n|||%v|||%c|||%sh|||0|||0|||%L|||%R|||%o" +command:/usr/local/opnsense/scripts/firmware/query.sh remote parameters: type:script_output message:view remote packages +[tiers] +command:/usr/local/opnsense/scripts/firmware/query.sh tiers +parameters: +type:script_output +message:view plugin tiers + [product] command:/usr/local/opnsense/scripts/firmware/product.php parameters: