- Base library:
- Implement VSL (Version Stack Log),
- ISL:
- Add VSL support,
- URPMI-Setup
- Add VSL support.
This commit is contained in:
@@ -46,45 +46,27 @@ shopt -s extglob
|
||||
# Global Variable
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
declare -g NAME=""
|
||||
declare -g VERSION=""
|
||||
declare -Ag LIB_VSL_TAB=()
|
||||
declare -g LIB_VSL_ID_LIST=""
|
||||
declare -g LIB_VSL_ID_NB=0
|
||||
declare -g LIB_VSL_NAME_LEN=0
|
||||
declare -g LIB_VSL_VERSION_LEN=0
|
||||
|
||||
declare -g DUMP="FALSE"
|
||||
declare -g DRY_RUN="FALSE"
|
||||
declare -g HELP=""
|
||||
declare -g VERBOSE="FALSE"
|
||||
declare LIB_NAME="Base"
|
||||
declare LIB_VERSION="1.2.0"
|
||||
|
||||
declare -g LOG_FILE=""
|
||||
declare -g LOG_LOCK=""
|
||||
declare -g LOG_ECHO=""
|
||||
declare -g LOG_TRACE="DISABLED"
|
||||
declare -g NAME=""
|
||||
declare -g VERSION=""
|
||||
|
||||
declare -g DUMP="FALSE"
|
||||
declare -g DRY_RUN="FALSE"
|
||||
declare -g HELP=""
|
||||
declare -g VERBOSE="FALSE"
|
||||
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Version Print
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
version_print()
|
||||
{
|
||||
# echo "${VERSION}" | sed -e 's/.*: //' -e 's/-/ /' -e 's/_/\./g' -e 's/\$$//'
|
||||
echo "${NAME} V${VERSION}"
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Help Print
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
help_print()
|
||||
{
|
||||
echo "${NAME} ${HELP}"
|
||||
}
|
||||
declare -g LOG_FILE=""
|
||||
declare -g LOG_LOCK=""
|
||||
declare -g LOG_ECHO=""
|
||||
declare -g LOG_TRACE="DISABLED"
|
||||
|
||||
|
||||
|
||||
@@ -243,6 +225,30 @@ sh_exec()
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Print
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
print()
|
||||
{
|
||||
local inline="${1}"
|
||||
shift
|
||||
|
||||
|
||||
if [[ "${inline}" == "TRUE" ]]
|
||||
then
|
||||
str="%s"'\\n'
|
||||
else
|
||||
str="%s"'\n'
|
||||
fi
|
||||
|
||||
cmd_exec printf "${str}" "$*"
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# Tab Assign
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
@@ -294,6 +300,171 @@ var_assign()
|
||||
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# VSL Add
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
vsl_add()
|
||||
{
|
||||
local name
|
||||
local version
|
||||
local file
|
||||
|
||||
|
||||
if [[ "${BASH_SOURCE[1]}" == "$0" ]]
|
||||
then
|
||||
name="${NAME}"
|
||||
version="${VERSION}"
|
||||
file="${0}"
|
||||
else
|
||||
name="${LIB_NAME}"
|
||||
version="${LIB_VERSION}"
|
||||
file="${BASH_SOURCE[1]}"
|
||||
fi
|
||||
|
||||
var_assign LIB_VSL_ID_LIST "${LIB_VSL_ID_NB}" INC
|
||||
|
||||
tab_assign LIB_VSL_TAB "${LIB_VSL_ID_NB},Name" "${name}"
|
||||
tab_assign LIB_VSL_TAB "${LIB_VSL_ID_NB},Version" "${version}"
|
||||
tab_assign LIB_VSL_TAB "${LIB_VSL_ID_NB},File" "${file}"
|
||||
|
||||
if [[ "${#name}" -gt "${LIB_VSL_NAME_LEN}" ]]
|
||||
then
|
||||
LIB_VSL_NAME_LEN="${#name}"
|
||||
fi
|
||||
|
||||
if [[ "${#version}" -gt "${LIB_VSL_VERSION_LEN}" ]]
|
||||
then
|
||||
LIB_VSL_VERSION_LEN="${#version}"
|
||||
fi
|
||||
|
||||
LIB_VSL_ID_NB=$(( ${LIB_VSL_ID_NB} + 1))
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# VSL HTML Dump
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
vsl_html_dump()
|
||||
{
|
||||
local reverse="$1"
|
||||
local inline="$2"
|
||||
|
||||
local i=1
|
||||
local j=1
|
||||
local vsl_id
|
||||
local vsl_id_list
|
||||
local name
|
||||
local version
|
||||
local file
|
||||
|
||||
|
||||
if [[ "${reverse}" == "TRUE" ]]
|
||||
then
|
||||
vsl_id_list="$( echo "${LIB_VSL_ID_LIST}" | tr ' ' '\n' | tac)"
|
||||
else
|
||||
vsl_id_list="$( echo "${LIB_VSL_ID_LIST}" | tr ' ' '\n')"
|
||||
fi
|
||||
|
||||
for vsl_id in ${vsl_id_list}
|
||||
do
|
||||
name=${LIB_VSL_TAB["${vsl_id},Name"]}
|
||||
version=${LIB_VSL_TAB["${vsl_id},Version"]}
|
||||
file=${LIB_VSL_TAB["${vsl_id},File"]}
|
||||
|
||||
if [[ $(( $i % 2)) -eq 0 ]]
|
||||
then
|
||||
print "${inline}" ' <tr class="shade">'
|
||||
else
|
||||
print "${inline}" " <tr>"
|
||||
fi
|
||||
|
||||
print "${inline}" " <th>${i}</th><td>${name}</td><td>${version}</td>"
|
||||
|
||||
if [[ "${VERBOSE}" == "TRUE" ]]
|
||||
then
|
||||
print "${inline}" "<td>${file}</td>"
|
||||
fi
|
||||
|
||||
print "${inline}" " </tr>"
|
||||
i=$(( $i + 1))
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Version Print
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
version_print()
|
||||
{
|
||||
local full="${1-TRUE}"
|
||||
|
||||
local name_len
|
||||
local version_len
|
||||
local vsl_id_list
|
||||
local vsl_id
|
||||
local name
|
||||
local version
|
||||
local file
|
||||
|
||||
|
||||
if [[ "${full}" == "TRUE" ]]
|
||||
then
|
||||
vsl_id_list="$( echo "${LIB_VSL_ID_LIST}" | tr ' ' '\n' | tac)"
|
||||
name_len="${LIB_VSL_NAME_LEN}"
|
||||
version_len="${LIB_VSL_VERSION_LEN}"
|
||||
else
|
||||
vsl_id_list="$(( ${LIB_VSL_ID_NB} - 1))"
|
||||
name_len="${#LIB_VSL_TAB["${vsl_id_list},Name"]}"
|
||||
version_len="${#LIB_VSL_TAB["${vsl_id_list},Version"]}"
|
||||
fi
|
||||
|
||||
name_len=$(( ${name_len} + 1 ))
|
||||
version_len=$(( ${version_len} + 1 ))
|
||||
|
||||
for vsl_id in ${vsl_id_list}
|
||||
do
|
||||
name=${LIB_VSL_TAB["${vsl_id},Name"]}
|
||||
version=${LIB_VSL_TAB["${vsl_id},Version"]}
|
||||
file=${LIB_VSL_TAB["${vsl_id},File"]}
|
||||
|
||||
str="$(printf "%s%*sV %s" "${name}" "$((${name_len} - ${#name}))" " " "${version}")"
|
||||
|
||||
if [[ "${VERBOSE}" == "TRUE" ]]
|
||||
then
|
||||
str+="$(printf "%*s%s" "$((${version_len} - ${#version}))" " " "${file}")"
|
||||
fi
|
||||
|
||||
echo "${str}"
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
# Help Print
|
||||
#-----------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
help_print()
|
||||
{
|
||||
version_print
|
||||
echo "${NAME} ${HELP}"
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# File Dir Init
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
@@ -510,3 +681,13 @@ log_error()
|
||||
{
|
||||
log_print "${LOG_FILE}" "${LOG_LOCK}" "${LOG_ECHO}" "ERR" "$@"
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
# Main
|
||||
#--------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
vsl_add
|
||||
|
||||
Reference in New Issue
Block a user