-%define dbus_user_uid 81
-
%bcond_with coverage
# Do not create provides from extension .so files because the main package
Name: dbus
Url: http://dbus.freedesktop.org/
Summary: D-Bus Message Bus System
-License: GPL-2.0+ or AFL-2.1, BSD-2.0, LGPL-2.1+, MIT, Apache-2.0
+License: GPL-2.0+, LGPL-2.1+, MIT, AFL-2.1, BSD-3-Clause
Group: Base/IPC
# COMMON1-BEGIN
%define with_systemd 1
-BuildRequires: libzio
+BuildRequires: autoconf-archive
BuildRequires: libtool
BuildRequires: pkg-config
BuildRequires: expat-devel
BuildRequires: pkgconfig(libsystemd)
%endif
BuildRequires: pkgconfig(glib-2.0)
-BuildRequires: pkgconfig(libsmack)
BuildRequires: pkgconfig(cynara-client)
BuildRequires: pkgconfig(cynara-session)
BuildRequires: pkgconfig(cynara-client-async)
BuildRequires: pkgconfig(libdbuspolicy1)
-Version: 1.10.6
-Release: 0
+Version: 1.12.16
+Release: 3
Source0: http://dbus.freedesktop.org/releases/dbus/dbus-%{version}.tar.gz
-Source1: rc.boot.dbus
Source3: dbus_at_console.ck
Source4: baselibs.conf
Source7: dbus.sh
Source1001: dbus.manifest
# COMMON1-END
-Requires(pre): /usr/sbin/groupadd /usr/sbin/useradd
+Requires: security-config
+Requires(pre): /usr/bin/getent
+Requires(pre): /usr/sbin/useradd
+Requires(pre): /usr/sbin/groupadd
Provides: dbus-1
%description
%package devel
Summary: Developer package for D-Bus
+License: AFL-2.1
Group: Development/Libraries
Requires: dbus-libs = %{version}
This package provides development libraries.
%package libs
-Summary: Library package for D-Bus
-Group: System/Libraries
+Summary: Library package for D-Bus
+License: AFL-2.1
+Group: System/Libraries
%description libs
D-Bus is a message bus system, a simple way for applications to talk to
%package tests
Summary: Package with binaries and data for dbus tests
+License: MIT
%description tests
This package contains installable tests. Tests are compatible with 'dbus-integration-tests' framework.
%package -n dbus-libs-extension-kdbus
Summary: Extension for dbus to support KDBUS in Tizen
+License: AFL-2.1
Requires: dbus = %{version}-%{release}
%description -n dbus-libs-extension-kdbus
# We use -fpie/-pie for the whole build; this is the recommended way to harden
# the build upstream, see discussion in fdo#46570
export CFLAGS="${RPM_OPT_FLAGS} -fno-strict-aliasing -fPIC -fpie"
+%ifarch %{arm}
+export CFLAGS=${CFLAGS/-Wa,-mimplicit-it=thumb/}" -marm"
+%endif
export LDFLAGS="-pie"
export CXXFLAGS="${RPM_OPT_FLAGS} -fno-strict-aliasing"
export CFLAGS="$CFLAGS -fstack-protector"
export V=1
# Create kdbus extension first (dbus)
-%reconfigure \
- --disable-static \
- --with-pic \
- --with-dbus-user=dbus \
- --libexecdir=%{_libdir}/%{name} \
- --libdir=%{_libdir} \
- --with-init-scripts=suse \
- --enable-inotify \
- --disable-doxygen-docs \
- --disable-xml-docs \
+%reconfigure \
+ --disable-static \
+ --with-pic \
+ --with-dbus-user=dbus \
+ --libexecdir=%{_libdir}/%{name} \
+ --libdir=%{_libdir} \
+ --enable-inotify \
+ --disable-doxygen-docs \
+ --disable-xml-docs \
%if %{with_systemd}
- --enable-systemd \
+ --enable-systemd \
%endif
- --enable-kdbus-transport \
- --enable-libdbuspolicy \
- --with-system-pid-file=/tmp/dbus_launch \
- --with-console-auth-dir=/var/run/dbus/at_console/ \
- --with-systemdsystemunitdir=%{_unitdir} \
- --with-systemduserunitdir=%{_unitdir_user} \
- --enable-user-session \
- --enable-smack \
- --enable-cynara \
- --enable-modular-tests \
+ --enable-kdbus-transport \
+ --enable-libdbuspolicy \
+ --with-console-auth-dir=/var/run/dbus/at_console/ \
+ --with-system-socket=/run/dbus/system_bus_socket \
+ --with-systemdsystemunitdir=%{_unitdir} \
+ --with-systemduserunitdir=%{_unitdir_user} \
+ --enable-user-session \
+ --enable-cynara \
+ --enable-modular-tests \
--enable-installed-tests
make %{?_smp_mflags}
# WARNING: if coverage build is enabled, incremental builds will not work correctly.
# Use the option only to generate dbus-coverage packages.
%if %{with coverage}
-%reconfigure \
- --disable-static \
- --with-pic \
- --with-dbus-user=dbus \
- --libexecdir=%{_libdir}/%{name} \
- --libdir=%{_libdir} \
- --with-init-scripts=suse \
- --enable-inotify \
- --disable-doxygen-docs \
- --disable-xml-docs \
+%reconfigure \
+ --disable-static \
+ --with-pic \
+ --with-dbus-user=dbus \
+ --libexecdir=%{_libdir}/%{name} \
+ --libdir=%{_libdir} \
+ --enable-inotify \
+ --disable-doxygen-docs \
+ --disable-xml-docs \
%if %{with_systemd}
- --enable-systemd \
+ --enable-systemd \
%endif
- --with-system-pid-file=/tmp/dbus_launch \
- --with-console-auth-dir=/var/run/dbus/at_console/ \
- --with-systemdsystemunitdir=%{_unitdir} \
- --with-systemduserunitdir=%{_unitdir_user} \
- --enable-user-session \
- --enable-smack \
- --enable-cynara \
- --enable-modular-tests \
- --enable-installed-tests \
- --enable-compiler-coverage
+ --enable-kdbus-transport \
+ --enable-libdbuspolicy \
+ --with-console-auth-dir=/var/run/dbus/at_console/ \
+ --with-system-socket=/run/dbus/system_bus_socket \
+ --with-systemdsystemunitdir=%{_unitdir} \
+ --with-systemduserunitdir=%{_unitdir_user} \
+ --enable-user-session \
+ --enable-cynara \
+ --enable-modular-tests \
+ --enable-installed-tests \
+ --enable-compiler-coverage
+
make %{?_smp_mflags}
mkdir coverage
cp dbus/.libs/libdbus-1.so.3 coverage
%endif
-%reconfigure \
- --disable-static \
- --with-pic \
- --with-dbus-user=dbus \
- --libexecdir=%{_libdir}/%{name} \
- --libdir=%{_libdir} \
- --with-init-scripts=suse \
- --enable-inotify \
- --disable-doxygen-docs \
- --disable-xml-docs \
+%reconfigure \
+ --disable-static \
+ --with-pic \
+ --with-dbus-user=dbus \
+ --libexecdir=%{_libdir}/%{name} \
+ --libdir=%{_libdir} \
+ --enable-inotify \
+ --disable-doxygen-docs \
+ --disable-xml-docs \
%if %{with_systemd}
- --enable-systemd \
+ --enable-systemd \
%endif
- --with-system-pid-file=/tmp/dbus_launch \
- --with-console-auth-dir=/var/run/dbus/at_console/ \
- --with-systemdsystemunitdir=%{_unitdir} \
- --with-systemduserunitdir=%{_unitdir_user} \
- --enable-user-session \
- --enable-smack \
- --enable-cynara \
- --enable-modular-tests \
+ --with-console-auth-dir=/var/run/dbus/at_console/ \
+ --with-system-socket=/run/dbus/system_bus_socket \
+ --with-systemdsystemunitdir=%{_unitdir} \
+ --with-systemduserunitdir=%{_unitdir_user} \
+ --enable-user-session \
+ --enable-cynara \
+ --enable-modular-tests \
--enable-installed-tests
make %{?_smp_mflags}
mkdir -p %{buildroot}/%{_datadir}/dbus-1/system-services
mkdir -p %{buildroot}/%{_datadir}/dbus-1/interfaces
#
-chmod a-x AUTHORS COPYING HACKING NEWS README doc/*.txt doc/file-boilerplate.c doc/TODO
+chmod a-x AUTHORS CONTRIBUTING.md NEWS README doc/*.txt doc/file-boilerplate.c doc/TODO
#
install -d %{buildroot}%{_sysconfdir}/ConsoleKit/run-session.d
install -m 755 %{SOURCE3} %{buildroot}%{_sysconfdir}/ConsoleKit/run-session.d
-mkdir -p %{buildroot}%{_localstatedir}/lib/dbus
-touch %{buildroot}/%{_localstatedir}/lib/dbus/machine-id
-
-mkdir -p %{buildroot}%{_unitdir_user}/basic.target.wants
-ln -sf ../dbus.service %{buildroot}%{_unitdir_user}/basic.target.wants/dbus.service
rm -rf %{buildroot}/%{_libdir}/*.la
rm -rf %{buildroot}/%{_bindir}/dbus-launch
%pre
# Add the "dbus" user and group
-/usr/sbin/groupadd -r -g %{dbus_user_uid} dbus 2>/dev/null || :
-/usr/sbin/useradd -c 'System message bus' -u %{dbus_user_uid} -g %{dbus_user_uid} \
- -s /sbin/nologin -r -d '/' dbus 2> /dev/null || :
+getent group dbus > /dev/null || /usr/sbin/groupadd -r -g 81 dbus 2> /dev/null || :
+getent passwd dbus > /dev/null || /usr/sbin/useradd -c 'System message bus' -u 81 -g 81 \
+ -s /sbin/nologin -r -d '/' dbus 2> /dev/null || :
+
+%post
+# Set the smack label of executable binary tools
+chsmack %{_bindir}/dbus-cleanup-sockets -a "System::Tools"
+chsmack %{_bindir}/dbus-daemon -a "System::Tools"
+chsmack %{_bindir}/dbus-monitor -a "System::Tools" -e "System"
+chsmack %{_bindir}/dbus-run-session -a "System::Tools"
+chsmack %{_bindir}/dbus-send -a "System::Tools"
+chsmack %{_bindir}/dbus-uuidgen -a "System::Tools"
+chsmack %{_bindir}/dbus-test-tool -a "System::Tools"
+chsmack %{_bindir}/dbus-update-activation-environment -a "System::Tools"
%post -n dbus-libs-extension-kdbus
pushd %{_libdir}
%files -n dbus-libs-extension-kdbus
%manifest %{name}.manifest
-%license LICENSE.AFL2.1 LICENSE.BSD2.0 LICENSE.LGPL2.1 LICENSE.MIT LICENSE.APACHE2.0
+%license LICENSE.AFL-2.1
%{_libdir}/libdbus*.so.*.extension-kdbus
%post libs -p /sbin/ldconfig
%files
%manifest %{name}.manifest
-%license LICENSE.AFL2.1 LICENSE.BSD2.0 LICENSE.LGPL2.1 LICENSE.MIT LICENSE.APACHE2.0
+%license LICENSE.AFL-2.1 LICENSE.BSD-3-Clause LICENSE.LGPL-2.1+ LICENSE.MIT LICENSE.GPL-2.0+
%defattr(-, root, root)
-%dir %{_localstatedir}/lib/dbus
%dir /lib/dbus-1
%dir /lib/dbus-1/system-services
%config(noreplace) %{_sysconfdir}/dbus-1/session.conf
# See doc/system-activation.txt in source tarball for the rationale
# behind these permissions
%attr(4750,root,dbus) %verify(not mode) %{_libdir}/dbus/dbus-daemon-launch-helper
-%ghost %{_localstatedir}/run/dbus
-%ghost %{_localstatedir}/lib/dbus/machine-id
%dir %{_unitdir}
%{_unitdir}/dbus.socket
%{_unitdir}/dbus.service
%dir %{_unitdir}/sockets.target.wants
%{_unitdir}/sockets.target.wants/dbus.socket
-%dir %{_unitdir}/multi-user.target.wants
-%{_unitdir}/multi-user.target.wants/dbus.service
-%dir %{_unitdir}/dbus.target.wants
-%{_unitdir}/dbus.target.wants/dbus.socket
%dir %{_unitdir_user}
%{_unitdir_user}/dbus.socket
%{_unitdir_user}/dbus.service
%dir %{_unitdir_user}/sockets.target.wants
%{_unitdir_user}/sockets.target.wants/dbus.socket
-%dir %{_unitdir_user}/basic.target.wants
-%{_unitdir_user}/basic.target.wants/dbus.service
%dir %{_sysconfdir}/dbus-1
%dir %{_datadir}/dbus-1/session.d
%dir %{_datadir}/dbus-1/system.d
%dir %{_datadir}/dbus-1/services
%dir %{_datadir}/dbus-1/system-services
%{_sysconfdir}/profile.d/dbus.sh
+%{_prefix}/lib/sysusers.d/dbus.conf
+%{_prefix}/lib/tmpfiles.d/dbus.conf
%files libs
%manifest %{name}.manifest
-%license LICENSE.AFL2.1 LICENSE.BSD2.0 LICENSE.LGPL2.1 LICENSE.MIT LICENSE.APACHE2.0
+%license LICENSE.AFL-2.1
%exclude %{_libdir}/libdbus*.so.*.extension-kdbus
%defattr(-, root, root)
%{_libdir}/libdbus-1.so.*
%files devel
%manifest %{name}.manifest
+%license LICENSE.AFL-2.1
%defattr(-,root,root)
%{_includedir}/*
%{_libdir}/libdbus-1.so
%{_libdir}/dbus-1.0/include
%{_libdir}/pkgconfig/dbus-1.pc
%dir %{_libdir}/dbus-1.0
+%{_libdir}/cmake/DBus1/DBus1Config.cmake
+%{_libdir}/cmake/DBus1/DBus1ConfigVersion.cmake
+%{_datadir}/xml/dbus-1/busconfig.dtd
+%{_datadir}/xml/dbus-1/introspect.dtd
%files tests
%manifest %{name}.manifest
+%license LICENSE.MIT LICENSE.AFL-2.1
%defattr(-,root,root)
%{_libdir}/dbus-tests/test-suites/dbus-tests
%{_libdir}/dbus-tests/runner/dbus-tests