- Base library: Add optionnal "FORCE" flag to cmd_exec & sh_exec functions to overstep Test mode,

- Split between rx3-base, rx3-base-config, rx3-base-libs and rx3-base-tools RPM packages.
This commit is contained in:
2026-05-03 11:15:13 +02:00
parent 98b85c14b4
commit e53a87d56a
3 changed files with 79 additions and 13 deletions

View File

@@ -1,7 +1,9 @@
------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------
Rx3-Base V 1.1.2 - A. GIBERT - 2026/05/02 Rx3-Base V 1.1.2 - A. GIBERT - 2026/05/03
------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------
- Base library: Add optionnal "FORCE" flag to cmd_exec & sh_exec functions to overstep Test mode,
- Split between rx3-base, rx3-base-config, rx3-base-libs and rx3-base-tools RPM packages,
- Move lib dir into top dir & remove usr, - Move lib dir into top dir & remove usr,
- Add www/cgi-bin dir, - Add www/cgi-bin dir,
- Add urpmi-setup-dump.cgi and package it as example, - Add urpmi-setup-dump.cgi and package it as example,

View File

@@ -36,11 +36,12 @@
# Package # Package
#----------------------------------------------------------------------------------------------------------------------------------- #-----------------------------------------------------------------------------------------------------------------------------------
Summary: Rx3 Base Package
Name: %{name} Name: %{name}
Version: %{version} Version: %{version}
Release: %{release} Release: %{release}
Summary: Rx3 Base Meta Package
License: GPL 3.0 License: GPL 3.0
URL: https://git.rx3.org/gitea/rx3/%{name} URL: https://git.rx3.org/gitea/rx3/%{name}
Group: System Group: System
@@ -51,6 +52,10 @@ Packager: Arnaud G. GIBERT <arnaud@rx3.net>
BuildArch: noarch BuildArch: noarch
Requires: %{name}-config
Requires: %{name}-libs
Requires: %{name}-tools
Source0: https://git.rx3.org/gitea/rx3/%{name}/archive/%{name}-%{version}.tar.gz Source0: https://git.rx3.org/gitea/rx3/%{name}/archive/%{name}-%{version}.tar.gz
@@ -59,7 +64,34 @@ Source0: https://git.rx3.org/gitea/rx3/%{name}/ar
This is the base component of an Rx3 system: This is the base component of an Rx3 system:
- Default config files, - Default config files,
- Base bash libraries, - Base bash libraries,
- Default tools. - Base tools.
This meta packe will install all the depencies.
%package config
Summary: Rx3 Base Config
%description config
This is a base component of an Rx3 system: Default config files.
%package libs
Summary: Rx3 Base Libraires
%description libs
This is a base component of an Rx3 system: Base bash libraries.
%package tools
Summary: Rx3 Base Tools
Requires: %{name}-libs
%description tools
This is a base component of an Rx3 system: Base tools.
@@ -113,13 +145,24 @@ cp sbin/* %{buildroot}%{_sbindir}
# Files # Files
#----------------------------------------------------------------------------------------------------------------------------------- #-----------------------------------------------------------------------------------------------------------------------------------
%files %files config
%doc ReadMe.txt ReleaseNotes.txt ToDo.txt www/cgi-bin/urpmi-setup-dump.cgi %doc ReadMe.txt ReleaseNotes.txt ToDo.txt
%license COPYING COPYING.LESSER GNU_GPL-3.0.txt GNU_LGPL-3.0.txt GNU_FDL-1.3.txt %license COPYING COPYING.LESSER GNU_GPL-3.0.txt GNU_LGPL-3.0.txt GNU_FDL-1.3.txt
%defattr(644,root,root) %defattr(644,root,root)
%{_sysconfdir}/profile.d/* %{_sysconfdir}/profile.d/*
%{_sysconfdir}/bash_completion.d/*
%files libs
%doc ReadMe.txt ReleaseNotes.txt ToDo.txt
%license COPYING COPYING.LESSER GNU_GPL-3.0.txt GNU_LGPL-3.0.txt GNU_FDL-1.3.txt
%defattr(644,root,root)
%{_prefix}/lib/rx3/* %{_prefix}/lib/rx3/*
%files tools
%doc ReadMe.txt ReleaseNotes.txt ToDo.txt www/cgi-bin/urpmi-setup-dump.cgi
%license COPYING COPYING.LESSER GNU_GPL-3.0.txt GNU_LGPL-3.0.txt GNU_FDL-1.3.txt
%defattr(644,root,root)
%{_sysconfdir}/bash_completion.d/*
%attr(0755,root,root) %{_sbindir}/* %attr(0755,root,root) %{_sbindir}/*
@@ -131,8 +174,9 @@ cp sbin/* %{buildroot}%{_sbindir}
#----------------------------------------------------------------------------------------------------------------------------------- #-----------------------------------------------------------------------------------------------------------------------------------
%changelog %changelog
* Sat May 2 2026 Arnaud G. GIBERT <arnaud@rx3.net> - 1.1.2-1rx3.mga9 * Sun May 3 2026 Arnaud G. GIBERT <arnaud@rx3.net> - 1.1.2-1rx3.mga9
- Update to 1.1.2, - Update to 1.1.2
- Split between rx3-base, rx3-base-config, rx3-base-libs and rx3-base-tools packages
- Move lib source dir - Move lib source dir
- Add cgi-bin example as doc - Add cgi-bin example as doc

View File

@@ -161,6 +161,16 @@ echo_error()
cmd_exec() cmd_exec()
{ {
local force="FALSE"
if [[ "$1" == "FORCE" ]]
then
force="TRUE"
shift
fi
if [[ "${VERBOSE}" == "TRUE" ]] if [[ "${VERBOSE}" == "TRUE" ]]
then then
local caller="${FUNCNAME[1]:-MAIN}" local caller="${FUNCNAME[1]:-MAIN}"
@@ -171,12 +181,12 @@ cmd_exec()
echo >&2 echo >&2
fi fi
if [[ ${DUMP} == "TRUE" ]] if [[ ( "${force}" != "TRUE" ) && ( "${DUMP}" == "TRUE" ) ]]
then then
printf '%q ' "$@" printf '%q ' "$@"
echo echo
else else
if [[ "${DRY_RUN}" != "TRUE" ]] if [[ ( "${force}" == "TRUE" ) || ( "${DRY_RUN}" != "TRUE" ) ]]
then then
"$@" "$@"
fi fi
@@ -193,9 +203,19 @@ cmd_exec()
sh_exec() sh_exec()
{ {
local force="FALSE"
if [[ "$1" == "FORCE" ]]
then
force="TRUE"
shift
fi
if [[ "$#" -ne 1 ]] || [[ -z "$1" ]] if [[ "$#" -ne 1 ]] || [[ -z "$1" ]]
then then
echo_error "sh_exec expects exactly 1 non empty argument" echo_error "sh_exec expects exactly 1 non empty argument after FORCE optional flag"
return 1 return 1
fi fi
@@ -208,11 +228,11 @@ sh_exec()
printf 'bash -c %q\n' "${NAME}" "${caller}" "$1" >&2 printf 'bash -c %q\n' "${NAME}" "${caller}" "$1" >&2
fi fi
if [[ ${DUMP} == "TRUE" ]] if [[ ( "${force}" != "TRUE" ) && ( "${DUMP}" == "TRUE" ) ]]
then then
printf 'bash -c %q\n' "${NAME}" "${caller}" "$1" printf 'bash -c %q\n' "${NAME}" "${caller}" "$1"
else else
if [[ "${DRY_RUN}" != "TRUE" ]] if [[ ( "${force}" == "TRUE" ) || ( "${DRY_RUN}" != "TRUE" ) ]]
then then
bash -o errexit -o pipefail -o nounset -O extglob -c -- "$1" bash bash -o errexit -o pipefail -o nounset -O extglob -c -- "$1" bash
fi fi