From b96ad5e3865cddab57231af780db4acb0a0df5d9 Mon Sep 17 00:00:00 2001 From: "Wayne E. Seguin" Date: Thu, 6 Oct 2011 09:20:28 -0400 Subject: [PATCH] Adjusted service staus, corrected patterns for zsh. --- core/internal/shell/package/functions | 33 +++++++++++++-------------- core/internal/shell/service/functions | 17 +++++--------- 2 files changed, 22 insertions(+), 28 deletions(-) diff --git a/core/internal/shell/package/functions b/core/internal/shell/package/functions index d4b3d5cf..d384f77e 100644 --- a/core/internal/shell/package/functions +++ b/core/internal/shell/package/functions @@ -129,53 +129,53 @@ __sm.package.define() fi case "$key" in - name) + (name) package_name="${value}" ;; - version) + (version) package_version="${value}" ;; - file) + (file) package_file="${value}" ;; - dir) + (dir) package_dir="${value}" ;; - url) + (url) package_url="${value}" ;; - base_url) + (base_url) package_base_url="${value}" ;; - docs_url) + (docs_url) package_docs_url="${value}" ;; - patches_url) + (patches_url) package_patches_url="${value}" ;; - md5_url) + (md5_url) package_md5_url="${value}" ;; - bin_path) + (bin_path) bin_path="${value}" ;; - packages_path) + (packages_path) packages_path="${value}" ;; - source_path) + (source_path) source_path="${value}" ;; - target_path) + (target_path) target_path="${value}" ;; - archive_format) + (archive_format) archive_format="${value}" ;; # TODO: Simplify into #(+([[[:alnum:]]|])_path|name|version|url|md5_url) # eval "${key}=${value}" # ;; - *) + (*) __sm.log.fail "Unknown key '${key}' (value: ${value})." ;; esac @@ -308,8 +308,7 @@ __sm.package.gnu.install() __sm.package.set.cc __sm.package.set.ldflags - if __sm.package.versions.installed | grep -q "${package_version}" && - [[ "${force_flag}" != "1" ]] + if __sm.package.versions.installed | grep -q "${package_version}" && (( force_flag != 1 )) then log "The ${package_name} ${package_version} package is already installed. To force it to reinstall, call:\n\tsm ${package_name} package install force\n" diff --git a/core/internal/shell/service/functions b/core/internal/shell/service/functions index 665ccb5b..63c32d6b 100644 --- a/core/internal/shell/service/functions +++ b/core/internal/shell/service/functions @@ -781,14 +781,9 @@ __sm.service.status() if __sm.command.exists lsof then - typeset cwd binary libraries tcp_ports udp_ports sockets logs string - cwd="" - binary="" - libraries=() - tcp_ports=() - udp_ports=() - sockets=() - logs=() + typeset cwd binary + typeset -a libraries tcp_ports udp_ports sockets logs string + while read -r line do case "$line" in @@ -799,7 +794,7 @@ __sm.service.status() binary="${line##* }" ;; (*/lib/*) - string="${line%% (*}" + string="${line%% \(*}" libraries+=("${string##* }") ;; (*.log*) @@ -809,12 +804,12 @@ __sm.service.status() sockets+=("${line##* }") ;; (*TCP*) - string="${line%% (*}" + string="${line%% \(*}" tcp_ports+=("${string##* }") ;; (*) true # ignore - ;; + ;; esac done < <(lsof -U -p ${pid})