From ac5a71232b6486f65486323403baa8e843e3e778 Mon Sep 17 00:00:00 2001 From: pkgagent Date: Wed, 6 May 2026 16:19:50 +0800 Subject: [PATCH 1/4] Upgrade bluechi to latest version --- bluechi.spec | 101 +++++++++++++++++++++++++++++++++------------------ sources | 2 +- 2 files changed, 66 insertions(+), 37 deletions(-) diff --git a/bluechi.spec b/bluechi.spec index e6ac21f..0bb878b 100644 --- a/bluechi.spec +++ b/bluechi.spec @@ -3,8 +3,8 @@ %endif Name: bluechi -Version: 0.7.0 -Release: 2%{?dist} +Version: 1.2.2 +Release: 1%{?dist} Summary: A systemd service controller for multi-nodes environments License: LGPL-2.1-or-later AND CC0-1.0 URL: https://github.com/eclipse-bluechi/bluechi @@ -14,9 +14,9 @@ BuildRequires: git-core BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: meson +BuildRequires: libselinux-devel BuildRequires: systemd-devel BuildRequires: systemd-rpm-macros -BuildRequires: golang-github-cpuguy83-md2man %description BlueChi is a systemd service controller for multi-node environments with a @@ -48,21 +48,28 @@ This package contains the controller service. %files controller %ghost %{_sysconfdir}/bluechi/controller.conf +%dir %{_sysconfdir}/bluechi +%dir %{_sysconfdir}/bluechi/controller.conf.d %doc README.md %doc README.developer.md %license LICENSE -%dir %{_sysconfdir}/bluechi -%dir %{_sysconfdir}/bluechi/controller.conf.d %{_libexecdir}/bluechi-controller -%{_datadir}/dbus-1/interfaces/org.eclipse.bluechi.*.xml +%{_datadir}/dbus-1/interfaces/org.eclipse.bluechi.Job.xml +%{_datadir}/dbus-1/interfaces/org.eclipse.bluechi.Controller.xml +%{_datadir}/dbus-1/interfaces/org.eclipse.bluechi.Monitor.xml +%{_datadir}/dbus-1/interfaces/org.eclipse.bluechi.Node.xml %{_datadir}/dbus-1/system.d/org.eclipse.bluechi.conf %{_datadir}/bluechi/config/controller.conf -%{_mandir}/man1/bluechi-controller.* -%{_mandir}/man5/bluechi-controller.conf.* + %{_sysconfdir}/bluechi/controller.conf.d/README.md %{_unitdir}/bluechi-controller.service %{_unitdir}/bluechi-controller.socket +# Create UDS directory on install and setup tmpfile for reboots +%dir %{_rundir}/bluechi +%attr(700, root, root) %{_rundir}/bluechi +%{_tmpfilesdir}/%{name}.conf + %package agent Summary: BlueChi service controller agent @@ -97,9 +104,7 @@ This package contains the node agent. %{_datadir}/dbus-1/system.d/org.eclipse.bluechi.Agent.conf %{_datadir}/bluechi-agent/config/agent.conf %{_datadir}/dbus-1/interfaces/org.eclipse.bluechi.Agent.xml -%{_mandir}/man1/bluechi-agent.* -%{_mandir}/man1/bluechi-proxy.* -%{_mandir}/man5/bluechi-agent.conf.* + %{_sysconfdir}/bluechi/agent.conf.d/README.md %{_unitdir}/bluechi-agent.service %{_userunitdir}/bluechi-agent.service @@ -133,31 +138,28 @@ SELinux policy associated with the bluechi and bluechi-agent daemons %files selinux %{_datadir}/selinux/devel/include/services/bluechi.if %{_datadir}/selinux/packages/bluechi.pp.bz2 -%{_mandir}/man8/bluechi*selinux.* + %post selinux +# Remove hirte policy if [ $1 -eq 1 ]; then - semanage port -N -d -p udp 842 2>/dev/null || true - semanage port -N -d -p tcp 842 2>/dev/null || true semodule -N -X 200 -r hirte 2>/dev/null || true fi -%selinux_modules_install -s %{selinuxtype} %{_datadir}/selinux/packages/bluechi.pp.bz2 +. %{_sysconfdir}/selinux/config +%selinux_modules_install -s ${SELINUXTYPE} %{_datadir}/selinux/packages/bluechi.pp.bz2 restorecon -R %{_bindir}/bluechi* &> /dev/null || : -semanage port -a -t bluechi_port_t -p udp 842 2>/dev/null || semanage port -m -t bluechi_port_t -p udp 842 -semanage port -a -t bluechi_port_t -p tcp 842 2>/dev/null || semanage port -m -t bluechi_port_t -p tcp 842 +restorecon -R %{_rundir}/bluechi/ &> /dev/null || : +restorecon -R %{_localstatedir}/%{_rundir}/bluechi/ &> /dev/null || : %postun selinux if [ $1 -eq 0 ]; then - semanage port -d -p udp 842 2>/dev/null || true - semanage port -d -p tcp 842 2>/dev/null || true - %selinux_modules_uninstall -s %{selinuxtype} bluechi + . %{_sysconfdir}/selinux/config + %selinux_modules_uninstall -s ${SELINUXTYPE} bluechi restorecon -R %{_bindir}/bluechi* &> /dev/null || : + restorecon -R %{_rundir}/bluechi/ &> /dev/null || : + restorecon -R %{_localstatedir}/%{_rundir}/bluechi/ &> /dev/null || : fi -%triggerpostun selinux -- hirte-selinux -semanage port -a -t bluechi_port_t -p udp 842 2>/dev/null || semanage port -m -t bluechi_port_t -p udp 842 -semanage port -a -t bluechi_port_t -p tcp 842 2>/dev/null || semanage port -m -t bluechi_port_t -p tcp 842 - %package ctl @@ -167,7 +169,7 @@ Provides: bluechictl = %{version} Provides: hirte-ctl = %{version}-%{release} %description ctl -BlueChi is a systemd service controller for multi-nodes environements with a +BlueChi is a systemd service controller for multi-nodes environments with a predefined number of nodes and with a focus on highly regulated environment such as those requiring functional safety (for example in cars). This package contains the service controller command line tool. @@ -176,29 +178,46 @@ This package contains the service controller command line tool. %doc README.md %license LICENSE %{_bindir}/bluechictl -%{_mandir}/man1/bluechictl.* + + + +%package is-online +Summary: Command line tool to monitor the connection state of BlueChi's components +Recommends: bluechi-controller = %{version}-%{release} +Recommends: bluechi-agent = %{version}-%{release} + +%description is-online +BlueChi is a systemd service controller for multi-nodes environments with a +predefined number of nodes and with a focus on highly regulated environment +such as those requiring functional safety (for example in cars). +This package contains a command line tool for checking and monitoring the +connection state of BlueChi's core components. + +%files is-online +%doc README.md +%license LICENSE +%{_bindir}/bluechi-is-online + %if %{with_python} %package -n python3-bluechi Summary: Python bindings for BlueChi +BuildArch: noarch BuildRequires: python3-devel BuildRequires: python3-setuptools +BuildRequires: python3-wheel Requires: python3-dasbus Provides: python3-pyhirte = %{version}-%{release} -BuildArch: noarch %description -n python3-bluechi -pybluechi is a python module to access the public D-Bus API of bluechi. -It contains typed python code that is auto-generated from bluechi's +bluechi is a python module to access the public D-Bus API of BlueChi project. +It contains typed python code that is auto-generated from BlueChi's API description and manually written code to simplify recurring tasks. %files -n python3-bluechi -%license LICENSE -%doc README.md -%{python3_sitelib}/bluechi-*.egg-info/ -%{python3_sitelib}/bluechi/ +%{python3_sitelib} %endif @@ -206,13 +225,19 @@ API description and manually written code to simplify recurring tasks. %prep %autosetup -S git_am +%if %{with_python} +ln -s src/bindings/python/pyproject.toml pyproject.toml +%generate_buildrequires +%pyproject_buildrequires +%endif + %build -%meson -Dapi_bus=system +%meson -Dapi_bus=system -Dwith_man_pages=false %meson_build %if %{with_python} pushd src/bindings/python -%py3_build +%pyproject_wheel popd %endif @@ -221,7 +246,7 @@ popd %if %{with_python} pushd src/bindings/python -%py3_install +%pyproject_install popd %endif @@ -230,6 +255,10 @@ popd %changelog +* Wed May 06 2026 PkgAgent Robot - 1.2.2-1 +- [Type] sync +- [DESC] update to Version 1.2.2 + * Tue Jun 03 2025 bbrucezhang - 0.7.0-2 - Rebuilt for loongarch64 diff --git a/sources b/sources index 028546d..83e19d9 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (bluechi-0.7.0.tar.gz) = 2fb929ab56e27985f3a2382b9f588b73540f3c646d023626228153fc93a38e417bbce4564956d98b2b6e1231d493f31d0c7f359a85c73d914cbd702eb329817a +SHA512 (bluechi-1.2.2.tar.gz) = 90c07d07cae8d987b533a2afcd95c3da346ca0a6b5919d98ba6c5334f7c7a59c2a7f274c94db231371d05f01e10a9dc5f837b8647f42d27273186a93ccb93b1d -- Gitee From 90d1312da473df934addf30878503bb75247d060 Mon Sep 17 00:00:00 2001 From: pkgagent Date: Thu, 6 Aug 2026 10:44:38 +0800 Subject: [PATCH 2/4] fix: mark CVE-2025-2515 fix as security in changelog --- bluechi.spec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bluechi.spec b/bluechi.spec index 0bb878b..1eae647 100644 --- a/bluechi.spec +++ b/bluechi.spec @@ -256,8 +256,8 @@ popd %changelog * Wed May 06 2026 PkgAgent Robot - 1.2.2-1 -- [Type] sync -- [DESC] update to Version 1.2.2 +- [Type] security +- [DESC] Update to 1.2.2 (fixes CVE-2025-2515) * Tue Jun 03 2025 bbrucezhang - 0.7.0-2 - Rebuilt for loongarch64 -- Gitee From 0a2feffa01404b144538e6c40e6434352553b068 Mon Sep 17 00:00:00 2001 From: pkgagent Date: Thu, 6 Aug 2026 11:14:05 +0800 Subject: [PATCH 3/4] chore: align spec with Fedora (man pages, Obsoletes, selinux cleanup) - Re-enable man pages: use OCS-native BuildRequires go-md2man instead of golang-github-cpuguy83-md2man, drop -Dwith_man_pages=false, restore all %{_mandir} file entries for controller/agent/selinux/ctl/is-online - Add hirte/bluechi transition Obsoletes to all subpackages - selinux: drop dead %global selinuxtype, add conditional Requires(post) selinux-policy-base/any Co-Authored-By: Claude Opus 4.7 --- bluechi.spec | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/bluechi.spec b/bluechi.spec index 1eae647..521ae08 100644 --- a/bluechi.spec +++ b/bluechi.spec @@ -17,6 +17,7 @@ BuildRequires: meson BuildRequires: libselinux-devel BuildRequires: systemd-devel BuildRequires: systemd-rpm-macros +BuildRequires: go-md2man %description BlueChi is a systemd service controller for multi-node environments with a @@ -27,7 +28,9 @@ such as those requiring functional safety (for example in cars). Summary: BlueChi service controller Requires: systemd Recommends: bluechi-selinux +Obsoletes: hirte < 0.6.0 Provides: hirte = %{version}-%{release} +Obsoletes: bluechi < 0.7.0 Provides: bluechi = %{version}-%{release} %description controller @@ -60,6 +63,8 @@ This package contains the controller service. %{_datadir}/dbus-1/interfaces/org.eclipse.bluechi.Node.xml %{_datadir}/dbus-1/system.d/org.eclipse.bluechi.conf %{_datadir}/bluechi/config/controller.conf +%{_mandir}/man1/bluechi-controller.* +%{_mandir}/man5/bluechi-controller.conf.* %{_sysconfdir}/bluechi/controller.conf.d/README.md %{_unitdir}/bluechi-controller.service @@ -75,6 +80,7 @@ This package contains the controller service. Summary: BlueChi service controller agent Requires: systemd Recommends: bluechi-selinux +Obsoletes: hirte-agent < 0.6.0 Provides: hirte-agent = %{version}-%{release} %description agent @@ -104,6 +110,9 @@ This package contains the node agent. %{_datadir}/dbus-1/system.d/org.eclipse.bluechi.Agent.conf %{_datadir}/bluechi-agent/config/agent.conf %{_datadir}/dbus-1/interfaces/org.eclipse.bluechi.Agent.xml +%{_mandir}/man1/bluechi-agent.* +%{_mandir}/man1/bluechi-proxy.* +%{_mandir}/man5/bluechi-agent.conf.* %{_sysconfdir}/bluechi/agent.conf.d/README.md %{_unitdir}/bluechi-agent.service @@ -128,9 +137,13 @@ Requires(post): policycoreutils Requires(post): policycoreutils-python-utils Requires(postun): policycoreutils-python-utils -Provides: hirte-selinux = %{version}-%{release} +%if "%{_selinux_policy_version}" != "" +Requires(post): selinux-policy-base >= %_selinux_policy_version +Requires(post): selinux-policy-any >= %_selinux_policy_version +%endif -%global selinuxtype targeted +Obsoletes: hirte-selinux < 0.6.0 +Provides: hirte-selinux = %{version}-%{release} %description selinux SELinux policy associated with the bluechi and bluechi-agent daemons @@ -138,6 +151,7 @@ SELinux policy associated with the bluechi and bluechi-agent daemons %files selinux %{_datadir}/selinux/devel/include/services/bluechi.if %{_datadir}/selinux/packages/bluechi.pp.bz2 +%{_mandir}/man8/bluechi*selinux.* %post selinux @@ -166,6 +180,7 @@ fi Summary: BlueChi service controller command line tool Requires: %{name} = %{version}-%{release} Provides: bluechictl = %{version} +Obsoletes: hirte-ctl < 0.6.0 Provides: hirte-ctl = %{version}-%{release} %description ctl @@ -178,6 +193,7 @@ This package contains the service controller command line tool. %doc README.md %license LICENSE %{_bindir}/bluechictl +%{_mandir}/man1/bluechictl.* @@ -197,6 +213,7 @@ connection state of BlueChi's core components. %doc README.md %license LICENSE %{_bindir}/bluechi-is-online +%{_mandir}/man1/bluechi-is-online.* @@ -209,6 +226,7 @@ BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-wheel Requires: python3-dasbus +Obsoletes: python3-hirte < 0.6.0 Provides: python3-pyhirte = %{version}-%{release} %description -n python3-bluechi @@ -232,7 +250,7 @@ ln -s src/bindings/python/pyproject.toml pyproject.toml %endif %build -%meson -Dapi_bus=system -Dwith_man_pages=false +%meson -Dapi_bus=system %meson_build %if %{with_python} -- Gitee From 9d901b2111e0a80d2b110217c520430bc7ffeabf Mon Sep 17 00:00:00 2001 From: pkgagent Date: Thu, 6 Aug 2026 11:34:22 +0800 Subject: [PATCH 4/4] fix: correct Obsoletes to match OCS EPOL history OCS EPOL shipped hirte-0.4.0 with binary packages: hirte, hirte-agent, hirte-selinux, hirte-ctl, python3-pyhirte. Adjust Obsoletes accordingly: - drop bluechi < 0.7.0 (OCS never shipped a top-level bluechi binary pkg; bluechi-0.7.0 built bluechi-controller subpackage only) - change python3-hirte -> python3-pyhirte (matches OCS history and the python3-bluechi Provides) Co-Authored-By: Claude Opus 4.7 --- bluechi.spec | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/bluechi.spec b/bluechi.spec index 521ae08..f3a9b97 100644 --- a/bluechi.spec +++ b/bluechi.spec @@ -30,7 +30,6 @@ Requires: systemd Recommends: bluechi-selinux Obsoletes: hirte < 0.6.0 Provides: hirte = %{version}-%{release} -Obsoletes: bluechi < 0.7.0 Provides: bluechi = %{version}-%{release} %description controller @@ -226,7 +225,7 @@ BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-wheel Requires: python3-dasbus -Obsoletes: python3-hirte < 0.6.0 +Obsoletes: python3-pyhirte < 0.6.0 Provides: python3-pyhirte = %{version}-%{release} %description -n python3-bluechi -- Gitee