Commit 4c700f3ae15b3ddb82fa88836a87137b8dd6ace2
1 parent
f54c398c
add and use a set_class function. This adds one or more class(es) to the CLASSES…
… environment variable
Showing
5 changed files
with
22 additions
and
9 deletions
@@ -20,8 +20,7 @@ gather_cpu_info() { | @@ -20,8 +20,7 @@ gather_cpu_info() { | ||
20 | /Virtualization/ { print "export CPU_VIRT=\"" $2 "\";" }') | 20 | /Virtualization/ { print "export CPU_VIRT=\"" $2 "\";" }') |
21 | } | 21 | } |
22 | 22 | ||
23 | - CLASSES="${CLASSES}${NCPUS}cpus ${CPU_VIRT} ${BYTE_ORDER} ${OP_MODES} " | ||
24 | - CLASSES="$(${ECHO} "${CLASSES}" | "${SED}" 's/ \+/ /g')" | 23 | + set_class ${NCPUS}cpus ${CPU_VIRT} ${BYTE_ORDER} ${OP_MODES} |
25 | } | 24 | } |
26 | 25 | ||
27 | # vim: set ts=4 sw=4: | 26 | # vim: set ts=4 sw=4: |
@@ -87,12 +87,12 @@ gather_dist_info() { | @@ -87,12 +87,12 @@ gather_dist_info() { | ||
87 | eval ${GREP} -iq ${DIST} \${FILES_${CHK}} || DIST="Unknown" | 87 | eval ${GREP} -iq ${DIST} \${FILES_${CHK}} || DIST="Unknown" |
88 | fi | 88 | fi |
89 | 89 | ||
90 | - CLASSES="${CLASSES}${DIST} ";; | 90 | + set_class ${CLASSES} ${DIST};; |
91 | *) | 91 | *) |
92 | DIST="${OS}" | 92 | DIST="${OS}" |
93 | esac | 93 | esac |
94 | 94 | ||
95 | - export DIST CLASSES | 95 | + export DIST |
96 | } | 96 | } |
97 | 97 | ||
98 | # vim: set ts=4 sw=4: | 98 | # vim: set ts=4 sw=4: |
@@ -10,10 +10,10 @@ gather_host_info() { | @@ -10,10 +10,10 @@ gather_host_info() { | ||
10 | PLATFORM="$(${UNAME} -m)" | 10 | PLATFORM="$(${UNAME} -m)" |
11 | HOSTNAME="$(${UNAME} -n)" | 11 | HOSTNAME="$(${UNAME} -n)" |
12 | GNU="$([ "${OS%GNU*}" != ${OS} ] && echo "GNU")" | 12 | GNU="$([ "${OS%GNU*}" != ${OS} ] && echo "GNU")" |
13 | - CLASSES="${OS}\n${GNU}\n${KERNEL}\n${VERSION}\n${PLATFORM}\n${HOSTNAME}" | ||
14 | - CLASSES="$(${ECHO} -e "${CLASSES}" | ${SORT} -u | ${TR} "\n" " ")" | ||
15 | 13 | ||
16 | export OS KERNEL VERSION PLATFORM HOSTNAME CLASSES | 14 | export OS KERNEL VERSION PLATFORM HOSTNAME CLASSES |
15 | + | ||
16 | + set_class ${OS} ${GNU} ${KERNEL} ${VERSION} ${PLATFORM} ${HOSTNAME} | ||
17 | } | 17 | } |
18 | 18 | ||
19 | # vim: set ts=4 sw=4: | 19 | # vim: set ts=4 sw=4: |
@@ -22,7 +22,6 @@ gather_interface_info() { | @@ -22,7 +22,6 @@ gather_interface_info() { | ||
22 | fi | 22 | fi |
23 | 23 | ||
24 | export NINTERFACES | 24 | export NINTERFACES |
25 | - export CLASSES | ||
26 | 25 | ||
27 | while [ ${NO} -le ${NINTERFACES:=0} ] | 26 | while [ ${NO} -le ${NINTERFACES:=0} ] |
28 | do | 27 | do |
@@ -56,7 +55,7 @@ gather_if_info_ip() { | @@ -56,7 +55,7 @@ gather_if_info_ip() { | ||
56 | classes="" | 55 | classes="" |
57 | } | 56 | } |
58 | END { | 57 | END { |
59 | - print "CLASSES=\"${CLASSES}" classes " \";"; | 58 | + print "set_class " classes ";"; |
60 | print "NINTERFACES=" FNR ";" | 59 | print "NINTERFACES=" FNR ";" |
61 | }') | 60 | }') |
62 | 61 | ||
@@ -78,12 +77,13 @@ gather_if_info_ip() { | @@ -78,12 +77,13 @@ gather_if_info_ip() { | ||
78 | classes="" | 77 | classes="" |
79 | } | 78 | } |
80 | END { | 79 | END { |
81 | - print "CLASSES=\"${CLASSES}" classes " \";" | 80 | + print "set_class " classes ";" |
82 | }') | 81 | }') |
83 | } | 82 | } |
84 | 83 | ||
85 | ## | 84 | ## |
86 | # get interface data via the ifconfig tool | 85 | # get interface data via the ifconfig tool |
86 | +# FIXME This is outdated. It does not set classes at all. | ||
87 | # | 87 | # |
88 | gather_if_info_ifconfig() { | 88 | gather_if_info_ifconfig() { |
89 | eval $(${IFCONFIG} -a | ${AWK} ' | 89 | eval $(${IFCONFIG} -a | ${AWK} ' |
@@ -9,4 +9,18 @@ has_class() { | @@ -9,4 +9,18 @@ has_class() { | ||
9 | test "${CHECK}" != "${CHECK% ${1} *}" | 9 | test "${CHECK}" != "${CHECK% ${1} *}" |
10 | } | 10 | } |
11 | 11 | ||
12 | +## | ||
13 | +# add one or more classes given as arguments to this function | ||
14 | +# Using ${@} here effectively eliminates multiple spaces between | ||
15 | +# the classnames. | ||
16 | +# A class might be defined multiple times...I don't eliminate these | ||
17 | +# duplicates as this might involve calling uniq which is unneccesary | ||
18 | +# overhead as I see no harm in duplicates now. | ||
19 | +# | ||
20 | +set_class() { | ||
21 | + [ -z "${CLASSES}" ] && | ||
22 | + { CLASSES="${@}"; export CLASSES; } || | ||
23 | + CLASSES="${CLASSES} ${@}" | ||
24 | +} | ||
25 | + | ||
12 | # vim: set ts=4 sw=4: | 26 | # vim: set ts=4 sw=4: |
Please
register
or
login
to post a comment