dbus-1/dbus-1-x11.spec

118 lines
3.9 KiB
RPMSpec
Raw Normal View History

#
# spec file for package dbus-1-x11
#
# Copyright (c) 2019 SUSE LLC.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define _name dbus
%define _libname libdbus-1-3
%if 0%{?suse_version} <= 1320
%define _userunitdir %{_prefix}/lib/systemd/user
%endif
%bcond_without selinux
Name: dbus-1-x11
Accepting request 670264 from home:scarabeus_iv:branches:Base:System - Update to 1.12.12: * Reference the freedesktop.org Code of Conduct (Simon McVittie) * Stop the dbus-daemon leaking memory (an error message) if delivering the message that triggered auto-activation is forbidden. This is technically a denial of service because the dbus-daemon will run out of memory eventually, but it's a very slow and noisy one, because all the rejected messages are also very likely to have been logged to the system log, and its scope is typically limited by the finite number of activatable services available. (dbus#234, Simon McVittie) * Remove __attribute__((__malloc__)) attribute on dbus_realloc(), which does not meet the criteria for that attribute in gcc 4.7+, potentially leading to miscompilation (fd.o #107741, Simon McVittie) * Fix some small O(1) memory leaks (fd.o #107320, Simon McVittie) * Fix printf formats for pointer-sized integers on 64-bit Windows (fd.o #105662, Ralf Habacker) * Always use select()-based poll() emulation on Darwin-based OSs (macOS, etc.) and on Interix, similar to what libcurl does (dbus#232, dbus!19; Simon McVittie) * Extend a test timeout to avoid spurious failures in CI (dbus!26, Simon McVittie) - Add patch to build with new autoconf-archive, there is now bash variable AX_BLA that gets detected and autoreconf aborts; thus rather just disable the pointless check: * dbus-no-ax-check.patch - Add patch to fix codecoverage m4 macro changes in autoconf-archive: * dbus-new-autoconf-archive.patch - Update to 1.12.12: OBS-URL: https://build.opensuse.org/request/show/670264 OBS-URL: https://build.opensuse.org/package/show/Base:System/dbus-1?expand=0&rev=277
2019-01-31 10:20:00 +01:00
Version: 1.12.12
Release: 0
Summary: D-Bus Message Bus System
License: GPL-2.0-or-later OR AFL-2.1
Group: System/Daemons
URL: http://dbus.freedesktop.org/
Source0: http://dbus.freedesktop.org/releases/dbus/%{_name}-%{version}.tar.gz
Source2: dbus-1.desktop
Source3: dbus_at_console.ck
Source4: baselibs.conf
Patch0: feature-suse-log-deny.patch
# PATCH-FIX-OPENSUSE coolo@suse.de -- force a feature configure won't accept without x11 in buildrequires
Patch1: feature-suse-do-autolaunch.patch
# Patch-Feature-opensuse sflees@suse.de, users shouldn't be allowed to start / stop the dbus service.
Patch2: feature-suse-refuse-manual-start-stop.patch
Accepting request 670264 from home:scarabeus_iv:branches:Base:System - Update to 1.12.12: * Reference the freedesktop.org Code of Conduct (Simon McVittie) * Stop the dbus-daemon leaking memory (an error message) if delivering the message that triggered auto-activation is forbidden. This is technically a denial of service because the dbus-daemon will run out of memory eventually, but it's a very slow and noisy one, because all the rejected messages are also very likely to have been logged to the system log, and its scope is typically limited by the finite number of activatable services available. (dbus#234, Simon McVittie) * Remove __attribute__((__malloc__)) attribute on dbus_realloc(), which does not meet the criteria for that attribute in gcc 4.7+, potentially leading to miscompilation (fd.o #107741, Simon McVittie) * Fix some small O(1) memory leaks (fd.o #107320, Simon McVittie) * Fix printf formats for pointer-sized integers on 64-bit Windows (fd.o #105662, Ralf Habacker) * Always use select()-based poll() emulation on Darwin-based OSs (macOS, etc.) and on Interix, similar to what libcurl does (dbus#232, dbus!19; Simon McVittie) * Extend a test timeout to avoid spurious failures in CI (dbus!26, Simon McVittie) - Add patch to build with new autoconf-archive, there is now bash variable AX_BLA that gets detected and autoreconf aborts; thus rather just disable the pointless check: * dbus-no-ax-check.patch - Add patch to fix codecoverage m4 macro changes in autoconf-archive: * dbus-new-autoconf-archive.patch - Update to 1.12.12: OBS-URL: https://build.opensuse.org/request/show/670264 OBS-URL: https://build.opensuse.org/package/show/Base:System/dbus-1?expand=0&rev=277
2019-01-31 10:20:00 +01:00
# PATCH-FIX-UPSTREAM
Patch3: dbus-no-ax-check.patch
# PATCH-FIX-UPSTREAM tchvatal@suse.com -- work with new autoconf-archive
Patch4: dbus-new-autoconf-archive.patch
BuildRequires: autoconf-archive
BuildRequires: libcap-ng-devel
BuildRequires: libexpat-devel
BuildRequires: libtool
BuildRequires: pkgconfig
BuildRequires: pkgconfig(libsystemd) >= 209
BuildRequires: pkgconfig(x11)
Requires(post): update-alternatives
Requires(preun): update-alternatives
Supplements: packageand(dbus-1:libX11-6)
Provides: dbus-launch
%if %{with selinux}
BuildRequires: libselinux-devel
%endif
%description
D-Bus contains some tools that require Xlib to be installed, those are
in this separate package so server systems need not install X.
%prep
%setup -q -n %{_name}-%{version}
%autopatch -p1
%build
echo 'HTML_TIMESTAMP=NO' >> Doxyfile.in
autoreconf -fi
# 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="%{optflags} -fno-strict-aliasing -fPIC -fpie"
export LDFLAGS="-pie"
export CXXFLAGS="%{optflags} -fno-strict-aliasing"
export V=1
%configure \
--disable-static \
--libexecdir=%{_libexecdir}/dbus-1 \
--enable-inotify \
--disable-doxygen-docs \
%if %{with selinux}
--enable-selinux \
%endif
--enable-systemd \
--enable-user-session \
--enable-libaudit \
--with-console-auth-dir=/run/dbus/at_console/ \
--with-system-pid-file=/run/dbus/pid \
--with-system-socket=/run/dbus/system_bus_socket \
--with-systemdsystemunitdir=%{_unitdir} \
--with-systemduserunitdir=%{_userunitdir} \
--with-x
make %{?_smp_mflags}
%install
tdir=$(mktemp -d)
make DESTDIR=$tdir install
mkdir -p %{buildroot}/%{_bindir}
mv $tdir/%{_bindir}/dbus-launch %{buildroot}/%{_bindir}/dbus-launch.x11
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
ln -s -f %{_sysconfdir}/alternatives/dbus-launch %{buildroot}%{_bindir}/dbus-launch
%post
%{_sbindir}/update-alternatives --install %{_bindir}/dbus-launch dbus-launch %{_bindir}/dbus-launch.x11 20
%preun
if [ "$1" = 0 ] ; then
%{_sbindir}/update-alternatives --remove dbus-launch %{_bindir}/dbus-launch.x11
fi
%files
%ghost %{_sysconfdir}/alternatives/dbus-launch
%{_bindir}/dbus-launch
%{_bindir}/dbus-launch.x11
%changelog