Changeset View
Changeset View
Standalone View
Standalone View
usr.sbin/fwget/fwget.sh
| Property | Old Value | New Value |
|---|---|---|
| File Mode | 100644 | 100755 |
| Show All 32 Lines | |||||
| { | { | ||||
| cat <<EOF | cat <<EOF | ||||
| Usage: $(basename "$0") [options] [subsystem] | Usage: $(basename "$0") [options] [subsystem] | ||||
| Supported subsystems | Supported subsystems | ||||
| pci | pci | ||||
| Options: | Options: | ||||
| -n -- Do not install package, only print the results | -n -- Do not install packages, only print the results | ||||
| -q -- Quiet mode. If used with -n only prints a package a line | |||||
| -v -- More verbose | -v -- More verbose | ||||
| EOF | EOF | ||||
| exit 1 | exit 1 | ||||
| } | } | ||||
| log() | log() | ||||
| { | { | ||||
| echo "$@" | echo "$@" | ||||
| Show All 20 Lines | *) # Avoid duplicates. | ||||
| case " ${packages} " in | case " ${packages} " in | ||||
| *\ ${_p}\ *) ;; # duplicate | *\ ${_p}\ *) ;; # duplicate | ||||
| *) packages="${packages} ${_p}" ;; | *) packages="${packages} ${_p}" ;; | ||||
| esac | esac | ||||
| esac | esac | ||||
| } | } | ||||
| DRY_RUN=n | DRY_RUN=n | ||||
| QUIET=n | |||||
| VERBOSE=n | VERBOSE=n | ||||
| while [ $# -gt 0 ]; do | while getopts ":nqv" _arg; do | ||||
| case $1 in | case ${_arg} in | ||||
| -n) | n) | ||||
| DRY_RUN=y | DRY_RUN=y | ||||
| ;; | ;; | ||||
| -v) | q) | ||||
| QUIET=y | |||||
| ;; | |||||
| v) | |||||
| VERBOSE=y | VERBOSE=y | ||||
| ;; | ;; | ||||
| *) | ?) | ||||
| subsystems="${subsystems} $1" | usage | ||||
| ;; | ;; | ||||
| esac | esac | ||||
| shift | |||||
| done | done | ||||
| shift $(($OPTIND - 1)) | |||||
| subsystems="$@" | |||||
| # Default searching PCI subsystem | # Default searching PCI subsystem | ||||
| if [ -z "${subsystems}" ]; then | if [ -z "${subsystems}" ]; then | ||||
| subsystems="pci" | subsystems="pci" | ||||
| fi | fi | ||||
| # Fail early on unsupported subsystem | # Fail early on unsupported subsystem | ||||
| for subsystem in ${subsystems}; do | for subsystem in ${subsystems}; do | ||||
| if [ ! -f "${LIBEXEC_PATH}"/"${subsystem}" ]; then | if [ ! -f "${LIBEXEC_PATH}"/"${subsystem}" ]; then | ||||
| usage | usage | ||||
| fi | fi | ||||
| . "${LIBEXEC_PATH}"/"${subsystem}" | . "${LIBEXEC_PATH}"/"${subsystem}" | ||||
| done | done | ||||
| packages="" | packages="" | ||||
| for subsystem in ${subsystems}; do | for subsystem in ${subsystems}; do | ||||
| "${subsystem}"_search_packages | "${subsystem}"_search_packages | ||||
| done | done | ||||
| case "${packages}" in | case "${packages}" in | ||||
| ""|^[[:space:]]*$) | ""|^[[:space:]]*$) | ||||
| if [ "${QUIET}" != "y" ]; then | |||||
| echo "No firmware packages to install." | echo "No firmware packages to install." | ||||
| fi | |||||
| exit 0 | exit 0 | ||||
| ;; | ;; | ||||
| esac | esac | ||||
| if [ "${QUIET}" != "y" ]; then | |||||
| echo "Needed firmware packages: '${packages}'" | echo "Needed firmware packages: '${packages}'" | ||||
| fi | |||||
| if [ "${DRY_RUN}" = "y" ]; then | if [ "${DRY_RUN}" = "y" ]; then | ||||
| if [ "${QUIET}" = "y" ]; then | |||||
| for pkg in ${packages}; do | |||||
bz: remove "" otherwise multi-pkg show up as one long line | |||||
| case "${pkg}" in | |||||
| ""|^[[:space:]]*$) continue ;; | |||||
| esac | |||||
| echo "${pkg}" | |||||
| done | |||||
| fi | |||||
| exit 0 | exit 0 | ||||
| fi | fi | ||||
| pkg install -qy ${packages} | pkg install -qy ${packages} | ||||
remove "" otherwise multi-pkg show up as one long line