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 | 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 | 26 | # vim: set ts=4 sw=4: | ... | ... |
... | ... | @@ -87,12 +87,12 @@ gather_dist_info() { |
87 | 87 | eval ${GREP} -iq ${DIST} \${FILES_${CHK}} || DIST="Unknown" |
88 | 88 | fi |
89 | 89 | |
90 | - CLASSES="${CLASSES}${DIST} ";; | |
90 | + set_class ${CLASSES} ${DIST};; | |
91 | 91 | *) |
92 | 92 | DIST="${OS}" |
93 | 93 | esac |
94 | 94 | |
95 | - export DIST CLASSES | |
95 | + export DIST | |
96 | 96 | } |
97 | 97 | |
98 | 98 | # vim: set ts=4 sw=4: | ... | ... |
... | ... | @@ -10,10 +10,10 @@ gather_host_info() { |
10 | 10 | PLATFORM="$(${UNAME} -m)" |
11 | 11 | HOSTNAME="$(${UNAME} -n)" |
12 | 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 | 14 | export OS KERNEL VERSION PLATFORM HOSTNAME CLASSES |
15 | + | |
16 | + set_class ${OS} ${GNU} ${KERNEL} ${VERSION} ${PLATFORM} ${HOSTNAME} | |
17 | 17 | } |
18 | 18 | |
19 | 19 | # vim: set ts=4 sw=4: | ... | ... |
... | ... | @@ -22,7 +22,6 @@ gather_interface_info() { |
22 | 22 | fi |
23 | 23 | |
24 | 24 | export NINTERFACES |
25 | - export CLASSES | |
26 | 25 | |
27 | 26 | while [ ${NO} -le ${NINTERFACES:=0} ] |
28 | 27 | do |
... | ... | @@ -56,7 +55,7 @@ gather_if_info_ip() { |
56 | 55 | classes="" |
57 | 56 | } |
58 | 57 | END { |
59 | - print "CLASSES=\"${CLASSES}" classes " \";"; | |
58 | + print "set_class " classes ";"; | |
60 | 59 | print "NINTERFACES=" FNR ";" |
61 | 60 | }') |
62 | 61 | |
... | ... | @@ -78,12 +77,13 @@ gather_if_info_ip() { |
78 | 77 | classes="" |
79 | 78 | } |
80 | 79 | END { |
81 | - print "CLASSES=\"${CLASSES}" classes " \";" | |
80 | + print "set_class " classes ";" | |
82 | 81 | }') |
83 | 82 | } |
84 | 83 | |
85 | 84 | ## |
86 | 85 | # get interface data via the ifconfig tool |
86 | +# FIXME This is outdated. It does not set classes at all. | |
87 | 87 | # |
88 | 88 | gather_if_info_ifconfig() { |
89 | 89 | eval $(${IFCONFIG} -a | ${AWK} ' | ... | ... |
... | ... | @@ -9,4 +9,18 @@ has_class() { |
9 | 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 | 26 | # vim: set ts=4 sw=4: | ... | ... |
Please
register
or
login
to post a comment