Skip to content

Commit e14a732

Browse files
committed
Release 2026.3.1 - See CHANGELOG.md
1 parent fbbc195 commit e14a732

6 files changed

Lines changed: 53 additions & 86 deletions

File tree

CHANGELOG.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
## 2026.3.1 2026-03-14 <code at nfastack dot com>
2+
3+
### Added
4+
- Zabbix 7.4.8
5+
6+
### Changed
7+
- Speedup clone_git_repo function
8+
- Performance optimizations
9+
- Environmetn variable parsing upgrades when weird edge cases arise down-down-down stream
10+
11+
112
## 2026.3.0 2026-03-09 <code at nfastack dot com>
213

314
### Added

rootfs/container/base/functions/container/available/_aaa-core/aaa-core

Lines changed: 16 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,18 @@ get_base_function() {
7575

7676
get_defaults_advanced() {
7777
output_off
78+
79+
_env_print_debug() {
80+
if [ "$(basename "$0")" = "shell" ]; then
81+
return 0
82+
fi
83+
if command -v print_debug >/dev/null 2>&1; then
84+
print_debug "$@"
85+
else
86+
return 0
87+
fi
88+
}
89+
7890
_source_name="$(caller | awk '{print $2}')"
7991
_source_base="$(basename "${_source_name}")"
8092
_source_dir="$(dirname "${_source_name}")"
@@ -83,21 +95,21 @@ get_defaults_advanced() {
8395
if [ -f "${_source_dir}/_${_source_base}/${_source_base}.advanced" ]; then
8496
source "${_source_dir}/_${_source_base}/${_source_base}.advanced"
8597
if [ "${_source_name}" != "/container/base/defaults/container" ] ; then
86-
print_debug "Sourcing ${_source_dir}/_${_source_base}/${_source_base}.advanced"
98+
_env_print_debug "Sourcing ${_source_dir}/_${_source_base}/${_source_base}.advanced"
8799
fi
88100
elif [ -f "${_source_dir}/_${_source_base}/${_source_base}" ]; then
89101
source "${_source_dir}/_${_source_base}/${_source_base}"
90102
if [ "${_source_name}" != "/container/base/defaults/container" ] ; then
91-
print_debug "Sourcing ${_source_dir}/_${_source_base}/${_source_base}"
103+
_env_print_debug "Sourcing ${_source_dir}/_${_source_base}/${_source_base}"
92104
fi
93105
else
94106
if [ "${_source_name}" != "/container/base/defaults/container" ] ; then
95-
print_debug "Nothing to source from ${_source_dir}/_${source_base}"
107+
_env_print_debug "Nothing to source from ${_source_dir}/_${source_base}"
96108
fi
97109
fi
98110
else
99111
if [ "${_source_name}" != "/container/base/defaults/container" ] ; then
100-
print_debug "${_source_dir}/_${_source_base} doesn't exist"
112+
_env_print_debug "${_source_dir}/_${_source_base} doesn't exist"
101113
fi
102114
fi
103115
output_on
@@ -368,23 +380,6 @@ transform_var() {
368380
seg_name="${segment}"
369381
seg_default=""
370382
fi
371-
# support simple case modifiers appended to the variable name
372-
# ',,' -> all lower-case, '^^' -> all upper-case
373-
# '^' -> first-letter upper-case, ',' -> first-letter lower-case
374-
seg_mod=""
375-
if [[ "${seg_name}" == *,,* ]]; then
376-
seg_mod="lower_all"
377-
seg_name="${seg_name%,,}"
378-
elif [[ "${seg_name}" == *^^ ]]; then
379-
seg_mod="upper_all"
380-
seg_name="${seg_name%^^}"
381-
elif [[ "${seg_name}" == *^ ]]; then
382-
seg_mod="upper_first"
383-
seg_name="${seg_name%^}"
384-
elif [[ "${seg_name}" == *, ]]; then
385-
seg_mod="lower_first"
386-
seg_name="${seg_name%,}"
387-
fi
388383
if [ -z "${!seg_name}" ] && [ ${sourced} -eq 0 ]; then
389384
if [ -d /container/defaults ]; then
390385
for _default in /container/defaults/*; do
@@ -407,23 +402,6 @@ transform_var() {
407402
else
408403
seg_val="${seg_default}"
409404
fi
410-
# apply case modifier if requested
411-
if [ -n "${seg_mod}" ]; then
412-
case "${seg_mod}" in
413-
lower_all)
414-
seg_val="${seg_val,,}"
415-
;;
416-
upper_all)
417-
seg_val="${seg_val^^}"
418-
;;
419-
upper_first)
420-
seg_val="${seg_val^}"
421-
;;
422-
lower_first)
423-
seg_val="${seg_val,}"
424-
;;
425-
esac
426-
fi
427405
if [ -z "${segment_values}" ]; then
428406
segment_values="${seg_val}"
429407
else

rootfs/container/base/functions/container/available/_aaa-core/aaa-core.advanced

Lines changed: 16 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,18 @@ get_base_function() {
7474

7575
get_defaults_advanced() {
7676
output_off
77+
78+
_env_print_debug() {
79+
if [ "$(basename "$0")" = "shell" ]; then
80+
return 0
81+
fi
82+
if command -v print_debug >/dev/null 2>&1; then
83+
print_debug "$@"
84+
else
85+
return 0
86+
fi
87+
}
88+
7789
_source_name="$(caller | awk '{print $2}')"
7890
_source_base="$(basename "${_source_name}")"
7991
_source_dir="$(dirname "${_source_name}")"
@@ -82,21 +94,21 @@ get_defaults_advanced() {
8294
if [ -f "${_source_dir}/_${_source_base}/${_source_base}.advanced" ]; then
8395
source "${_source_dir}/_${_source_base}/${_source_base}.advanced"
8496
if [ "${_source_name}" != "/container/base/defaults/container" ] ; then
85-
print_debug "Sourcing ${_source_dir}/_${_source_base}/${_source_base}.advanced"
97+
_env_print_debug "Sourcing ${_source_dir}/_${_source_base}/${_source_base}.advanced"
8698
fi
8799
elif [ -f "${_source_dir}/_${_source_base}/${_source_base}" ]; then
88100
source "${_source_dir}/_${_source_base}/${_source_base}"
89101
if [ "${_source_name}" != "/container/base/defaults/container" ] ; then
90-
print_debug "Sourcing ${_source_dir}/_${_source_base}/${_source_base}"
102+
_env_print_debug "Sourcing ${_source_dir}/_${_source_base}/${_source_base}"
91103
fi
92104
else
93105
if [ "${_source_name}" != "/container/base/defaults/container" ] ; then
94-
print_debug "Nothing to source from ${_source_dir}/_${source_base}"
106+
_env_print_debug "Nothing to source from ${_source_dir}/_${source_base}"
95107
fi
96108
fi
97109
else
98110
if [ "${_source_name}" != "/container/base/defaults/container" ] ; then
99-
print_debug "${_source_dir}/_${_source_base} doesn't exist"
111+
_env_print_debug "${_source_dir}/_${_source_base} doesn't exist"
100112
fi
101113
fi
102114
output_on
@@ -367,23 +379,6 @@ transform_var() {
367379
seg_name="${segment}"
368380
seg_default=""
369381
fi
370-
# support simple case modifiers appended to the variable name
371-
# ',,' -> all lower-case, '^^' -> all upper-case
372-
# '^' -> first-letter upper-case, ',' -> first-letter lower-case
373-
seg_mod=""
374-
if [[ "${seg_name}" == *,,* ]]; then
375-
seg_mod="lower_all"
376-
seg_name="${seg_name%,,}"
377-
elif [[ "${seg_name}" == *^^ ]]; then
378-
seg_mod="upper_all"
379-
seg_name="${seg_name%^^}"
380-
elif [[ "${seg_name}" == *^ ]]; then
381-
seg_mod="upper_first"
382-
seg_name="${seg_name%^}"
383-
elif [[ "${seg_name}" == *, ]]; then
384-
seg_mod="lower_first"
385-
seg_name="${seg_name%,}"
386-
fi
387382
if [ -z "${!seg_name}" ] && [ ${sourced} -eq 0 ]; then
388383
if [ -d /container/defaults ]; then
389384
for _default in /container/defaults/*; do
@@ -406,23 +401,6 @@ transform_var() {
406401
else
407402
seg_val="${seg_default}"
408403
fi
409-
# apply case modifier if requested
410-
if [ -n "${seg_mod}" ]; then
411-
case "${seg_mod}" in
412-
lower_all)
413-
seg_val="${seg_val,,}"
414-
;;
415-
upper_all)
416-
seg_val="${seg_val^^}"
417-
;;
418-
upper_first)
419-
seg_val="${seg_val^}"
420-
;;
421-
lower_first)
422-
seg_val="${seg_val,}"
423-
;;
424-
esac
425-
fi
426404
if [ -z "${segment_values}" ]; then
427405
segment_values="${seg_val}"
428406
else

rootfs/container/base/functions/container/available/_file/file

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,8 @@ create_folder() {
2525

2626
if [ -n "${1}" ]; then
2727
for folder in $(echo "${1}" | tr ',' ' '); do
28-
echo "** FOLDER_PRE is .$folder."
29-
# Trim leading and trailing whitespace without spawning external commands
3028
folder="${folder#"${folder%%[![:space:]]*}"}"
3129
folder="${folder%"${folder##*[![:space:]]}"}"
32-
echo "** FOLDER_XARGS is .$folder."
3330
if [ ! -d "${folder}" ] ; then
3431
mkdir -p "${folder}"
3532
fi

rootfs/container/base/functions/container/available/build_log

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ container_build_log() {
3939
if [ -n "${BUILD_ENV}" ]; then
4040
_container_build_env "${BUILD_ENV}"
4141
fi
42-
_container_build_env_import
42+
_container_build_env_import "$(basename "$PWD")"
4343
;;
4444
remove )
4545
le="${ts} | REMOVE: ${2}"

rootfs/container/base/functions/container/available/env

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,11 @@ _container_build_env_import() {
144144
if [ "$(basename "$0")" = "shell" ]; then
145145
return 0
146146
fi
147-
print_debug "$@"
147+
if command -v print_debug >/dev/null 2>&1; then
148+
print_debug "$@"
149+
else
150+
return 0
151+
fi
148152
}
149153

150154
_source_respecting_container_env() {
@@ -156,9 +160,9 @@ _container_build_env_import() {
156160
tmpf=$(mktemp)
157161
grep -Ev "${container_env_pattern}" "${file}" > "${tmpf}"
158162
src="${tmpf}"
159-
if var_false "${silent_mode}" ; then print_debug "[build_env_import] Sourcing ${file} (${label}) with container overrides preserved"; fi
163+
if var_false "${silent_mode}" ; then _env_print_debug "[build_env_import] Sourcing ${file} (${label}) with container overrides preserved"; fi
160164
else
161-
if var_false "${silent_mode}" ; then print_debug "[build_env_import] Sourcing ${file} (${label})"; fi
165+
if var_false "${silent_mode}" ; then _env_print_debug "[build_env_import] Sourcing ${file} (${label})"; fi
162166
fi
163167

164168
if [ -r "${src}" ]; then
@@ -170,7 +174,6 @@ _container_build_env_import() {
170174
local vname vval
171175
vname="${line%%=*}"
172176
vval="${line#*=}"
173-
# trim possible surrounding single or double quotes
174177
if [[ "${vval}" == "'"*"'" ]]; then
175178
vval="${vval:1:-1}"
176179
elif [[ "${vval}" == '"'*'"' ]]; then
@@ -310,9 +313,9 @@ _container_run_env_import() {
310313
tmpf=$(mktemp) || return 1
311314
grep -Ev "${container_env_pattern}" "${file}" > "${tmpf}" || true
312315
src="${tmpf}"
313-
if var_false "${silent_mode}" ; then print_debug "[run_env_import] Sourcing ${file} (${label}) with container overrides preserved"; fi
316+
if var_false "${silent_mode}" ; then _env_print_debug "[run_env_import] Sourcing ${file} (${label}) with container overrides preserved"; fi
314317
else
315-
if var_false "${silent_mode}" ; then print_debug "[run_env_import] Sourcing ${file} (${label})"; fi
318+
if var_false "${silent_mode}" ; then _env_print_debug "[run_env_import] Sourcing ${file} (${label})"; fi
316319
fi
317320

318321
if [ -r "${src}" ]; then

0 commit comments

Comments
 (0)