dbus-broker/dbus-broker.spec
licunlong 6fabed0dd9 Optimize installing and removing dbus-broker
(cherry picked from commit d2d3f3d4d7559386e84a0ff08641a5de0f759651)
2022-12-02 16:02:21 +08:00

107 lines
3.0 KiB
RPMSpec

Name: dbus-broker
Version: 29
Release: 5
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
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
%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
* 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.