spec: change system bus socket location: /var/run/dbus/system_bus_socket → /run/dbus...
[platform/upstream/dbus.git] / packaging / dbus.spec
index 4ce10eb..93db9c1 100644 (file)
@@ -1,5 +1,3 @@
-%define dbus_user_uid           81
-
 %bcond_with coverage
 
 # Do not create provides from extension .so files because the main package
@@ -9,13 +7,13 @@
 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
@@ -24,21 +22,22 @@ BuildRequires:  libcap-ng-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
@@ -53,6 +52,7 @@ This package provides dbus-daemon.
 
 %package devel
 Summary:        Developer package for D-Bus
+License:        AFL-2.1
 Group:          Development/Libraries
 Requires:       dbus-libs = %{version}
 
@@ -63,8 +63,9 @@ one another.
 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
@@ -74,6 +75,7 @@ This package provides shared libraries.
 
 %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.
@@ -98,6 +100,7 @@ This package is intended for debug/test use only.
 
 %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
@@ -112,6 +115,9 @@ cp %{SOURCE1001} .
 # 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"
@@ -119,29 +125,27 @@ export CXXFLAGS="$CXXFLAGS -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}
@@ -158,29 +162,30 @@ popd
 # 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
@@ -190,27 +195,25 @@ find dbus -name '*.gcno' -exec cp '{}' coverage-objects ';'
 
 %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}
@@ -231,15 +234,10 @@ mkdir -p %{buildroot}/lib/dbus-1/system-services
 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
@@ -280,9 +278,20 @@ install -m 0644 coverage-objects/* %{cov_lib_dir}/objects
 
 %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}
@@ -291,7 +300,7 @@ popd
 
 %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
@@ -301,9 +310,8 @@ popd
 
 %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
@@ -322,24 +330,16 @@ popd
 # 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
@@ -348,25 +348,33 @@ popd
 %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