Ajustes em funções e plugins

This commit is contained in:
Christian Tosta
2025-08-01 15:34:26 -03:00
parent 56079c46be
commit 3116093ac8

View File

@@ -277,14 +277,14 @@ function system.create_user {
if ! [[ $(id -u ${_user} 2>/dev/null) ]]; then if ! [[ $(id -u ${_user} 2>/dev/null) ]]; then
if [[ "${_opts}" =~ "-r" ]] || [[ "${_opts}" =~ "--system" ]]; then if [[ "${_opts}" =~ "-r" ]] || [[ "${_opts}" =~ "--system" ]]; then
${ui}.status info $"Creating system user: %s" ${_user} ${ui}.status info $"Criando usuário do sistema: %s" ${_user}
useradd -M -U -G ${_groups} ${_opts} ${_user} useradd -M -U -G ${_groups} ${_opts} ${_user}
else else
${ui}.status info $"Creating user: %s" ${_user} ${ui}.status info $"Criando usuário: %s" ${_user}
useradd -m -d /home/${_user} -U -G ${_groups} ${_opts} ${_user} useradd -m -d /home/${_user} -U -G ${_groups} ${_opts} ${_user}
fi fi
else else
${ui}.status info $"Updating group membership for user: %s" ${_user} ${ui}.status info $"Atualizando grupos do usuário: %s" ${_user}
usermod -aG ${_groups} ${_user} usermod -aG ${_groups} ${_user}
fi fi
} }
@@ -576,14 +576,13 @@ function plugin.pyenv {
function plugin.pip { function plugin.pip {
local _metadata_cache="${CACHEDIR}" local _metadata_cache="${CACHEDIR}"
local _version_metadata="${_metadata_cache}/versions.yml" local _version_metadata="${_metadata_cache}/versions.yml"
#local _py_version=${@:1:1}
# Retorna com erro se o produto não estiver definido # Retorna com erro se o produto não estiver definido
[[ -z "${PRODUCT}" ]] && return 1 [[ -z "${PRODUCT}" ]] && return 1
local _product_cache="${CACHEDIR}/${PRODUCT}" local _product_cache="${CACHEDIR}/${PRODUCT}"
local __pip="runuser -l ${PRODUCT} -- python -m pip" local __pip="runuser -l ${PRODUCT} -- python -m pip"
local _pip_log="$(mktemp ${_product_cache}/${self}.pip.XXXXX)" local _pip_log="$(mktemp ${_product_cache}/${self}.pip.XXXXX).log"
_pip.download() { _pip.download() {
for _pkg in ${DOWNLOADS}; do for _pkg in ${DOWNLOADS}; do
@@ -617,14 +616,17 @@ function plugin.pip {
} }
_pip.install() { _pip.install() {
local _pip_opts=" \ local \
--disable-pip-version-check _pip_opts="--disable-pip-version-check" \
" _req_file
# Instala pacotes e módulos do python # Instala pacotes e módulos do python
( (
${__pip} ${_pip_opts} install --upgrade --user pip setuptools \ ${__pip} ${_pip_opts} install --upgrade --user pip setuptools \
&& find "${_product_cache}"/ -maxdepth 1 -name "requirements*.txt" \ && find "${_product_cache}"/ -maxdepth 1 -name "requirements*.txt" \
| xargs ${__pip} install -r | while read _req_file; do \
${__pip} install -r ${_req_file}
done
) 2>&1 \ ) 2>&1 \
| tee -a ${_pip_log} \ | tee -a ${_pip_log} \
| ${ui}.subprocess.output 10 \ | ${ui}.subprocess.output 10 \
@@ -677,15 +679,20 @@ function installer.download {
[[ -z "${_quiet}" ]] && ${ui}.status info $"Fazendo download [${_src}]" [[ -z "${_quiet}" ]] && ${ui}.status info $"Fazendo download [${_src}]"
#(echo ${_message} | base64 -d \ #(echo ${_message} | base64 -d \
# | bsdtar --passphrase ${_token_pass} -C $(dirname ${_token}) -xOf - > ${_token} \ # | bsdtar --passphrase ${_token_pass} -C $(dirname ${_token}) -xOf - > ${_token} \
local _err=;
(self.get_token > ${_token} \ (self.get_token > ${_token} \
&& chmod 0400 ${_token} \ && chmod 0400 ${_token} \
&& mkdir -p $(dirname "${_dst}") \ && mkdir -p $(dirname "${_dst}") \
&& scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \ && _err=$(scp -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \
-qi ${_token} "${_repo_user}@${_repo_home}/${_src}" "${_dst}" \ -qi ${_token} "${_repo_user}@${_repo_home}/${_src}" "${_dst}" 2>&1) \
&& color=green || color=red; \ && color=green || color=red; \
${ui}.color ${color}; \ ${ui}.tab 2; \
${ui}.color ${color} "$(${ui}.item '')"; \
! [[ "${_quiet}" == "silent" ]] \ ! [[ "${_quiet}" == "silent" ]] \
&& echo "${_src}" | sed "s/^\(.*\)/\ \ $(${ui}.item '')\1/g"; \ && (
echo -n "${_src}"; \
! [[ -z "${_err}" ]] && echo " (${_err^})" || echo;
)
${ui}.color none; \ ${ui}.color none; \
) )
rm -f ${_token} rm -f ${_token}
@@ -848,14 +855,14 @@ function product.download {
| jq ".${_k}" | jq ".${_k}"
) )
local _file; for _file in ${_files}; do local _file; for _file in ${_files}; do
_file="${_file//\$\{variant\}/${_prod_variant}}"
installer.download \ installer.download \
"${_files_root}/config/${PRODUCT}/${_file//\"}" \ "${_files_root}/config/${PRODUCT}/${_file//\"}" \
"${CACHEDIR}/${PRODUCT}/${_file//\"}" \ "${CACHEDIR}/${PRODUCT}/${_file//\"}" \
--quiet --quiet
done done
done done
${ui}.writeln
exit 1
chmod g+rx,o+rx ${CACHEDIR} chmod g+rx,o+rx ${CACHEDIR}
#${ui}.status info $"Download concluído." #${ui}.status info $"Download concluído."
@@ -1033,8 +1040,8 @@ function product.install {
product.setup_repos ${REPOS} product.setup_repos ${REPOS}
# -- Instalando pacotes necessários # -- Instalando pacotes necessários
#DEV## system.install_pkgs ${BUILD_REQUIRES} system.install_pkgs ${BUILD_REQUIRES}
#DEV## ${ui}.prompt "Aguarde ou pressione ENTER para continuar ..." -s -t 10 || : ${ui}.prompt "Aguarde ou pressione ENTER para continuar ..." -s -t 10 || :
# -- Compilando requisitos não empacotados # -- Compilando requisitos não empacotados
_builds=$(grep "^local/" ${metadata_cache}/${PRODUCT}.local.build) _builds=$(grep "^local/" ${metadata_cache}/${PRODUCT}.local.build)
@@ -1055,17 +1062,14 @@ function product.install {
fi fi
${ui}.subtitle $"Executando plugin: "${_args%@*} ${ui}.subtitle $"Executando plugin: "${_args%@*}
${_callback} ${_k_args//;/\ } ${_callback} ${_k_args//;/\ }
${ui}.prompt "Aguarde ou pressione ENTER para continuar ..." -s -t 10 || : ${ui}.prompt "Aguarde ou pressione ENTER para continuar ..." -s -t 10 || :
done done
echo "TODO: Configurar produto (function product.configure)"
## -- SIG ----------------------------- # ## -- SIG ----------------------------- #
# # Pip modules # # Pip modules
# ${ui}.status info $"Instalando produto [%s] ..." "${_name}"
# ${ui}.color gold
# for _lib in ${_libs}; do # for _lib in ${_libs}; do
# _lbpv=$(parsers.yaml ${CACHEDIR}/versions.yml libs.python${_pdpy/.*}.${_lib})
# runuser -l ${PRODUCT} -- python -m pip install --user \
# "${CACHEDIR}/${PRODUCT}/${_lib}-${_lbpv#*/}.tar.gz"
# if [[ "${_lib}" == "kiwi" ]]; then # if [[ "${_lib}" == "kiwi" ]]; then
# _f=/srv/sig/${PRODUCT}/.local/lib/python2.7/site-packages/kiwi/__installed__.py # _f=/srv/sig/${PRODUCT}/.local/lib/python2.7/site-packages/kiwi/__installed__.py
# find $(dirname ${_f})/ -name *.pyc -delete # find $(dirname ${_f})/ -name *.pyc -delete