dbus-broker/dbus-broker.spec
hongjinghao cb49d2fd7b sync patches from dbus-broker community
(cherry picked from commit b97c929f2c140dd789519c501582c4ccda16766d)
2023-06-25 10:39:25 +08:00

120 lines
3.5 KiB
RPMSpec

Name: dbus-broker
Version: 29
Release: 7
Summary: Linux D-Bus Message Broker
License: Apache License 2.0
URL: https://github.com/bus1/dbus-broker
Source0: https://github.com/bus1/dbus-broker/releases/download/v%{version}/%{name}-%{version}.tar.xz
Patch0001: backport-CVE-2022-31213.patch
Patch0002: backport-CVE-2022-31212.patch
Patch0003: enable-dbus-broker-to-reexecute.patch
Patch0004: add-unit-test-for-dbus-broker.patch
Patch0005: backport-bus-peer-fix-catching-OOM-when-linking-match-rules.patch
BuildRequires: cmake gcc glibc-devel meson python-docutils dbus
BuildRequires: pkgconfig(expat) pkgconfig(libsystemd) pkgconfig(libselinux)
BuildRequires: pkgconfig(systemd) pkgconfig(audit) pkgconfig(libcap-ng)
%description
dbus-broker is an implementation of a message bus as defined by the D-Bus specification.
Its aim is to provide high performance and reliability, while keeping compatibility to
the D-Bus reference implementation. It is exclusively written for Linux systems, and
makes use of many modern features provided by recent linux kernel releases.
%prep
%autosetup -n %{name}-%{version} -p1
%build
CONFIGURE_OPTS=(
-Daudit=true
-Dselinux=true
-Ddocs=true
-Dsystem-console-users=gdm
-Dlinux-4-17=true
)
%meson "${CONFIGURE_OPTS[@]}"
%meson_build
%install
%meson_install
%check
# Enable test-parallel
export CRBTREE_TEST_PTRACE=1
%meson_test
%pre
# Add the "dbus" user and group
getent group dbus > /dev/null || groupadd -f -g 81 -r dbus
if ! getent passwd dbus > /dev/null ; then
if ! getent passwd 81 > /dev/null ; then
useradd -r -u 81 -c 'D-Bus' -g dbus -s /sbin/nologin -d %{_localstatedir}/run/dbus dbus
else
useradd -r -g dbus -c 'D-Bus' -s /sbin/nologin -d %{_localstatedir}/run/dbus dbus
fi
fi
%preun
%systemd_user_preun dbus-broker.service
# Disable and stop dbus-broker.service after pre uninstalling
if [ $1 == 0 ] && [ -x /usr/bin/systemctl ]; then
systemctl disable dbus-broker.service &>/dev/null || :
systemctl reset-failed dbus-broker.service &>/dev/null || :
systemctl stop dbus-broker.service &>/dev/null || :
fi
%post
%systemd_user_post dbus-broker.service
# Enable after installing
if [ $1 == 1 ] && [ -x /usr/bin/systemctl ]; then
systemctl --no-reload enable dbus-broker.service &>/dev/null || :
fi
# Reexec after upgrading
if [ $1 == 2 ]; then
dbus-broker-launch --reexec &>/dev/null || :
fi
%postun
%systemd_user_postun dbus-broker.service
%files
%license AUTHORS
%license LICENSE
%{_bindir}/dbus-broker*
%{_journalcatalogdir}/dbus-broker*.catalog
%{_mandir}/man1/dbus-broker*.1*
%{_unitdir}/dbus-broker.service
%{_userunitdir}/dbus-broker.service
%changelog
* Sun Jun 25 2023 hongjinghao<hongjinghao@huawei.com> - 29-7
- sync patches from dbus-broker community
* Wed Jun 7 2023 hongjinghao<hongjinghao@huawei.com> - 29-6
- Enable dbus-broker to reexecute without disconnection
* Thu Dec 01 2022 licunlong<licunlong1@huawei.com> - 29-5
- Optimize installing and removing dbus-broker
* Tue Nov 22 2022 hongjinghao<hongjinghao@huawei.com> - 29-4
- Fix CVE-2022-31212 and CVE-31213
* Tue Nov 08 2022 licunlong<licunlong1@huawei.com> - 29-3
- Enable test-parallel
* Tue Feb 22 2022 licunlong<licunlong1@huawei.com> - 29-2
- Type:bugfix
- CVE:NA
- SUG:NA
- DESC:don't enable/disable dbus.socket when install/uninstall dbus-broker.
* Thu Dec 16 2021 licunlong<licunlong1@huawei.com> - 29-1
- Type:enhance
- CVE:NA
- SUG:NA
- DESC:update dbus-broker to v29
* Thu Aug 05 2021 openEuler BuildTeam <buildteam@openeuler.org> - 28-1
- Package Init.