Accepting request 180983 from Base:System

- to avoid a cycle with systemd, build the daemon in dbus-x11.spec.
  It would be wise to rename dbus-1.spec to dbus-1-libs.spec and 
  dbus-1-x11.spec to dbus-1.spec, but I first wanted to hear feedback (forwarded request 180884 from coolo)

OBS-URL: https://build.opensuse.org/request/show/180983
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dbus-1?expand=0&rev=103
This commit is contained in:
Stephan Kulow 2013-06-29 12:23:56 +00:00 committed by Git OBS Bridge
commit 15e6684a18
5 changed files with 382 additions and 194 deletions

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Tue Jun 25 14:09:30 UTC 2013 - coolo@suse.com
- to avoid a cycle with systemd, build the daemon in dbus-x11.spec.
It would be wise to rename dbus-1.spec to dbus-1-libs.spec and
dbus-1-x11.spec to dbus-1.spec, but I first wanted to hear feedback
-------------------------------------------------------------------
Sat Jun 22 22:01:17 UTC 2013 - hrvoje.senjan@gmail.com

View File

@ -16,6 +16,9 @@
#
%define with_systemd 1
%bcond_without docs
Name: dbus-1-x11
%define _name dbus
BuildRequires: pkgconfig(x11)
@ -23,10 +26,13 @@ Url: http://dbus.freedesktop.org/
Summary: D-Bus Message Bus System
License: GPL-2.0+ or AFL-2.1
Group: System/Daemons
# COMMON1-BEGIN
# COMMON1-BEGIN
BuildRequires: audit-devel
BuildRequires: doxygen
BuildRequires: update-desktop-files
BuildRequires: xmlto
%define with_systemd 1
# COMMON1-BEGIN
# COMMON1-BEGIN
%if ! %{with_systemd}
%if 0%{?suse_version} < 1230
@ -36,23 +42,15 @@ Group: System/Daemons
%endif
%endif
BuildRequires: audit-devel
BuildRequires: doxygen
BuildRequires: libexpat-devel
BuildRequires: libtool
BuildRequires: pkg-config
BuildRequires: update-desktop-files
BuildRequires: xmlto
%if %{with_systemd}
BuildRequires: pkgconfig(libsystemd-daemon)
BuildRequires: pkgconfig(libsystemd-login)
%endif
BuildRequires: libexpat-devel
BuildRequires: libtool
BuildRequires: pkg-config
Version: 1.7.4
Release: 0
# bug437293
%ifarch ppc64
Obsoletes: dbus-1-64bit
%endif
#
Source0: http://dbus.freedesktop.org/releases/dbus/%{_name}-%{version}.tar.gz
Source1: rc.boot.dbus
@ -64,11 +62,7 @@ Patch0: dbus-log-deny.patch
Patch1: dbus-do-autolaunch.patch
# PATCH-FIX-OPENSUSE hpj@suse.com bnc#802525 - Avoid clients hanging after move to /run
Patch2: dbus-fall-back-to-old-run-directory.patch
%if 0%{?suse_version} > 1100
%bcond_without selinux
%else
%bcond_with selinux
%endif
%if %{with selinux}
BuildRequires: libselinux-devel
%endif
@ -81,6 +75,42 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
D-Bus contains some tools that require Xlib to be installed, those are
in this separate package so server systems need not install X.
%package -n dbus-1-devel-doc
Summary: Developer documentation package for D-Bus
Group: Development/Libraries/Other
Requires: dbus-1 = %{version}
%if 0%{?suse_version} >= 1120
BuildArch: noarch
%endif
%description -n dbus-1-devel-doc
D-Bus is a message bus system, a simple way for applications to talk to
one another. D-BUS supplies both a system daemon and a
per-user-login-session daemon. Also, the message bus is built on top of
a general one-to-one message passing framework, which can be used by
any two apps to communicate directly (without going through the message
bus daemon).
%package -n dbus-1
Summary: D-Bus Message Bus System
Group: System/Daemons
# bug437293
%ifarch ppc64
Obsoletes: dbus-1-64bit
%endif
%if 0%{?suse_version} < 1230
PreReq: /sbin/insserv /etc/init.d/boot.localfs
%endif
PreReq: permissions /usr/sbin/groupadd /usr/sbin/useradd
%description -n dbus-1
D-Bus is a message bus system, a simple way for applications to talk to
one another. D-Bus supplies both a system daemon and a
per-user-login-session daemon. Also, the message bus is built on top of
a general one-to-one message passing framework, which can be used by
any two apps to communicate directly (without going through the message
bus daemon).
%prep
# COMMON2-BEGIN
# COMMON2-BEGIN
@ -105,11 +135,13 @@ export V=1
--disable-static \
--with-pic \
--bindir=/bin \
--libexecdir=/lib/%{name} \
--libexecdir=/lib/dbus-1 \
--libdir=/%{_lib} \
--with-init-scripts=suse \
--enable-inotify \
%if %{with docs}
--enable-doxygen-docs \
%endif
%if %{with selinux}
--enable-selinux \
%endif
@ -122,21 +154,67 @@ export V=1
--with-system-socket=/run/dbus/system_bus_socket \
--with-systemdsystemunitdir=%{_unitdir}
make %{?_smp_mflags}
%if %{with docs}
doxygen -u && doxygen
./cleanup-man-pages.sh
%endif
%install
# COMMON2-END
# COMMON2-END
tdir=$(mktemp -d)
make DESTDIR=$tdir install
make DESTDIR=%{buildroot} install
mkdir -p %{buildroot}/%{_bindir}
mkdir -p %{buildroot}/%{_mandir}/man1
mv $tdir/bin/dbus-launch %{buildroot}/%{_bindir}
mv $tdir/bin/dbus-run-session %{buildroot}/%{_bindir}
mv $tdir/%{_mandir}/man1/dbus-launch.1* %{buildroot}/%{_mandir}/man1
mv $tdir/%{_mandir}/man1/dbus-run-session.1* %{buildroot}/%{_mandir}/man1
rm -rf $tdir
mkdir -p %{buildroot}/etc/init.d
mkdir -p %{buildroot}/usr/sbin
mv %{buildroot}/bin/dbus-launch %{buildroot}/%{_bindir}
mv %{buildroot}/bin/dbus-run-session %{buildroot}/%{_bindir}
install -m 755 %{SOURCE1} %{buildroot}/%{_sysconfdir}/init.d/dbus
ln -sf %{_sysconfdir}/init.d/dbus %{buildroot}/%{_sbindir}/rcdbus
install -d %{buildroot}/run/dbus
mkdir -p %{buildroot}/%{_datadir}/susehelp/meta/Development/Libraries/
install -m 0644 %SOURCE2 \
%{buildroot}/%{_datadir}/susehelp/meta/Development/Libraries/dbus-1.desktop
mkdir -p %{buildroot}/%{_libdir}/pkgconfig
mkdir -p %{buildroot}/lib/dbus-1/system-services
mkdir -p %{buildroot}/%{_datadir}/dbus-1/system-services
mkdir -p %{buildroot}/%{_datadir}/dbus-1/interfaces
mkdir -p %{buildroot}/%{_libdir}/dbus-1.0/include/
chmod a-x AUTHORS COPYING HACKING NEWS README doc/*.txt doc/file-boilerplate.c doc/TODO
rm %{buildroot}%{_includedir}/dbus-1.0/dbus/*.h
rm %{buildroot}/%{_lib}/libdbus-1* %{buildroot}/%{_lib}/pkgconfig/*pc
rm %{buildroot}/%{_lib}/dbus-1.0/include/dbus/*.h
#
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
# Link the /bin/dbus-send binary to /usr/bin/dbus-send. This should be removed once dbus has been fully migrated to /usr
# Currently required to make upower work together with systemd
mkdir -p %{buildroot}/usr/bin
ln -sf /bin/dbus-send %{buildroot}/usr/bin/dbus-send
%pre -n dbus-1
/usr/sbin/groupadd -r messagebus 2> /dev/null || :
/usr/sbin/useradd -r -s /bin/false -c "User for D-Bus" -d /run/dbus -g messagebus messagebus 2> /dev/null || :
%preun -n dbus-1
%{stop_on_removal dbus}
%post -n dbus-1
/bin/dbus-uuidgen --ensure
%{insserv_force_if_yast dbus}
/sbin/ldconfig
%verifyscript
%verify_permissions -e /lib/dbus-1/dbus-daemon-launch-helper
%postun -n dbus-1
%{insserv_cleanup}
%files
%defattr(-,root,root)
@ -145,4 +223,69 @@ rm -rf $tdir
%{_mandir}/man1/dbus-launch.1*
%{_mandir}/man1/dbus-run-session.1*
%files -n dbus-1
%defattr(-, root, root)
%dir %{_localstatedir}/lib/dbus
%dir /lib/dbus-1
%dir /lib/dbus-1/system-services
%doc AUTHORS COPYING HACKING NEWS README
%config(noreplace) %{_sysconfdir}/dbus-1/session.conf
%config(noreplace) %{_sysconfdir}/dbus-1/system.conf
%{_sysconfdir}/init.d/dbus
%{_sysconfdir}/ConsoleKit
/bin/dbus-cleanup-sockets
/bin/dbus-daemon
/bin/dbus-monitor
/bin/dbus-send
/usr/bin/dbus-send
/bin/dbus-uuidgen
%{_mandir}/man1/dbus-cleanup-sockets.1.*
%{_mandir}/man1/dbus-daemon.1.*
%{_mandir}/man1/dbus-monitor.1.*
%{_mandir}/man1/dbus-send.1.*
%{_mandir}/man1/dbus-uuidgen.1.*
%{_sbindir}/rcdbus
# See doc/system-activation.txt in source tarball for the rationale
# behind these permissions
%attr(4750,root,messagebus) %verify(not mode) /lib/dbus-1/dbus-daemon-launch-helper
%ghost /run/dbus
%ghost %{_localstatedir}/lib/dbus/machine-id
%if ! %{with_systemd}
%if 0%{?suse_version} < 1230
%dir /lib/systemd
%else
%dir /usr/lib/systemd
%dir %{_unitdir}
%endif
%endif
%{_unitdir}/dbus.service
%{_unitdir}/dbus.socket
%dir %{_unitdir}/dbus.target.wants
%{_unitdir}/dbus.target.wants/dbus.socket
%dir %{_unitdir}/multi-user.target.wants
%{_unitdir}/multi-user.target.wants/dbus.service
%dir %{_unitdir}/sockets.target.wants
%{_unitdir}/sockets.target.wants/dbus.socket
%files -n dbus-1-devel-doc
%defattr(-,root,root)
%dir %{_datadir}/doc/dbus
%{_datadir}/doc/dbus/api/
%doc %{_datadir}/doc/dbus/dbus-faq.html
%doc %{_datadir}/doc/dbus/dbus-specification.html
%doc %{_datadir}/doc/dbus/dbus-test-plan.html
%doc %{_datadir}/doc/dbus/dbus-tutorial.html
%doc %{_datadir}/doc/dbus/diagram.*
%doc %{_datadir}/doc/dbus/system-activation.txt
%doc %{_datadir}/doc/dbus/dbus-cleanup-sockets.1.html
%doc %{_datadir}/doc/dbus/dbus-daemon.1.html
%doc %{_datadir}/doc/dbus/dbus-launch.1.html
%doc %{_datadir}/doc/dbus/dbus-run-session.1.html
%doc %{_datadir}/doc/dbus/dbus-monitor.1.html
%doc %{_datadir}/doc/dbus/dbus-send.1.html
%doc %{_datadir}/doc/dbus/dbus-uuidgen.1.html
%doc %{_datadir}/doc/dbus/dbus.devhelp
%doc doc/*.txt doc/file-boilerplate.c doc/TODO
%{_datadir}/susehelp
%changelog

View File

@ -15,6 +15,9 @@
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
%define with_systemd 1
%bcond_without docs
Name: dbus-1-x11
%define _name dbus
BuildRequires: pkgconfig(x11)
@ -22,6 +25,11 @@ Url: http://dbus.freedesktop.org/
License: GPL2+ or AFL 2.1
Group: System/Daemons
Summary: D-Bus Message Bus System
BuildRequires: audit-devel
BuildRequires: doxygen
BuildRequires: update-desktop-files
BuildRequires: xmlto
# COMMON1-BEGIN
# COMMON1-END
@ -29,18 +37,98 @@ Summary: D-Bus Message Bus System
D-Bus contains some tools that require Xlib to be installed, those are
in this separate package so server systems need not install X.
%package -n dbus-1-devel-doc
Summary: Developer documentation package for D-Bus
Group: Development/Libraries/Other
Requires: dbus-1 = %{version}
%if 0%{?suse_version} >= 1120
BuildArch: noarch
%endif
%description -n dbus-1-devel-doc
D-Bus is a message bus system, a simple way for applications to talk to
one another. D-BUS supplies both a system daemon and a
per-user-login-session daemon. Also, the message bus is built on top of
a general one-to-one message passing framework, which can be used by
any two apps to communicate directly (without going through the message
bus daemon).
%package -n dbus-1
Summary: D-Bus Message Bus System
Group: System/Daemons
# bug437293
%ifarch ppc64
Obsoletes: dbus-1-64bit
%endif
%if 0%{?suse_version} < 1230
PreReq: /sbin/insserv /etc/init.d/boot.localfs
%endif
PreReq: permissions /usr/sbin/groupadd /usr/sbin/useradd
%description -n dbus-1
D-Bus is a message bus system, a simple way for applications to talk to
one another. D-Bus supplies both a system daemon and a
per-user-login-session daemon. Also, the message bus is built on top of
a general one-to-one message passing framework, which can be used by
any two apps to communicate directly (without going through the message
bus daemon).
%prep
# COMMON2-BEGIN
# COMMON2-END
tdir=$(mktemp -d)
make DESTDIR=$tdir install
make DESTDIR=%{buildroot} install
mkdir -p %{buildroot}/%{_bindir}
mkdir -p %{buildroot}/%{_mandir}/man1
mv $tdir/bin/dbus-launch %{buildroot}/%{_bindir}
mv $tdir/bin/dbus-run-session %{buildroot}/%{_bindir}
mv $tdir/%{_mandir}/man1/dbus-launch.1* %{buildroot}/%{_mandir}/man1
mv $tdir/%{_mandir}/man1/dbus-run-session.1* %{buildroot}/%{_mandir}/man1
rm -rf $tdir
mkdir -p %{buildroot}/etc/init.d
mkdir -p %{buildroot}/usr/sbin
mv %{buildroot}/bin/dbus-launch %{buildroot}/%{_bindir}
mv %{buildroot}/bin/dbus-run-session %{buildroot}/%{_bindir}
install -m 755 %{SOURCE1} %{buildroot}/%{_sysconfdir}/init.d/dbus
ln -sf %{_sysconfdir}/init.d/dbus %{buildroot}/%{_sbindir}/rcdbus
install -d %{buildroot}/run/dbus
mkdir -p %{buildroot}/%{_datadir}/susehelp/meta/Development/Libraries/
install -m 0644 %SOURCE2 \
%{buildroot}/%{_datadir}/susehelp/meta/Development/Libraries/dbus-1.desktop
mkdir -p %{buildroot}/%{_libdir}/pkgconfig
mkdir -p %{buildroot}/lib/dbus-1/system-services
mkdir -p %{buildroot}/%{_datadir}/dbus-1/system-services
mkdir -p %{buildroot}/%{_datadir}/dbus-1/interfaces
mkdir -p %{buildroot}/%{_libdir}/dbus-1.0/include/
chmod a-x AUTHORS COPYING HACKING NEWS README doc/*.txt doc/file-boilerplate.c doc/TODO
rm %{buildroot}%{_includedir}/dbus-1.0/dbus/*.h
rm %{buildroot}/%{_lib}/libdbus-1* %{buildroot}/%{_lib}/pkgconfig/*pc
rm %{buildroot}/%{_lib}/dbus-1.0/include/dbus/*.h
#
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
# Link the /bin/dbus-send binary to /usr/bin/dbus-send. This should be removed once dbus has been fully migrated to /usr
# Currently required to make upower work together with systemd
mkdir -p %{buildroot}/usr/bin
ln -sf /bin/dbus-send %{buildroot}/usr/bin/dbus-send
%pre -n dbus-1
/usr/sbin/groupadd -r messagebus 2> /dev/null || :
/usr/sbin/useradd -r -s /bin/false -c "User for D-Bus" -d /run/dbus -g messagebus messagebus 2> /dev/null || :
%preun -n dbus-1
%{stop_on_removal dbus}
%post -n dbus-1
/bin/dbus-uuidgen --ensure
%{insserv_force_if_yast dbus}
/sbin/ldconfig
%verifyscript
%verify_permissions -e /lib/dbus-1/dbus-daemon-launch-helper
%postun -n dbus-1
%{insserv_cleanup}
%files
%defattr(-,root,root)
@ -49,4 +137,69 @@ rm -rf $tdir
%{_mandir}/man1/dbus-launch.1*
%{_mandir}/man1/dbus-run-session.1*
%files -n dbus-1
%defattr(-, root, root)
%dir %{_localstatedir}/lib/dbus
%dir /lib/dbus-1
%dir /lib/dbus-1/system-services
%doc AUTHORS COPYING HACKING NEWS README
%config(noreplace) %{_sysconfdir}/dbus-1/session.conf
%config(noreplace) %{_sysconfdir}/dbus-1/system.conf
%{_sysconfdir}/init.d/dbus
%{_sysconfdir}/ConsoleKit
/bin/dbus-cleanup-sockets
/bin/dbus-daemon
/bin/dbus-monitor
/bin/dbus-send
/usr/bin/dbus-send
/bin/dbus-uuidgen
%{_mandir}/man1/dbus-cleanup-sockets.1.*
%{_mandir}/man1/dbus-daemon.1.*
%{_mandir}/man1/dbus-monitor.1.*
%{_mandir}/man1/dbus-send.1.*
%{_mandir}/man1/dbus-uuidgen.1.*
%{_sbindir}/rcdbus
# See doc/system-activation.txt in source tarball for the rationale
# behind these permissions
%attr(4750,root,messagebus) %verify(not mode) /lib/dbus-1/dbus-daemon-launch-helper
%ghost /run/dbus
%ghost %{_localstatedir}/lib/dbus/machine-id
%if ! %{with_systemd}
%if 0%{?suse_version} < 1230
%dir /lib/systemd
%else
%dir /usr/lib/systemd
%dir %{_unitdir}
%endif
%endif
%{_unitdir}/dbus.service
%{_unitdir}/dbus.socket
%dir %{_unitdir}/dbus.target.wants
%{_unitdir}/dbus.target.wants/dbus.socket
%dir %{_unitdir}/multi-user.target.wants
%{_unitdir}/multi-user.target.wants/dbus.service
%dir %{_unitdir}/sockets.target.wants
%{_unitdir}/sockets.target.wants/dbus.socket
%files -n dbus-1-devel-doc
%defattr(-,root,root)
%dir %{_datadir}/doc/dbus
%{_datadir}/doc/dbus/api/
%doc %{_datadir}/doc/dbus/dbus-faq.html
%doc %{_datadir}/doc/dbus/dbus-specification.html
%doc %{_datadir}/doc/dbus/dbus-test-plan.html
%doc %{_datadir}/doc/dbus/dbus-tutorial.html
%doc %{_datadir}/doc/dbus/diagram.*
%doc %{_datadir}/doc/dbus/system-activation.txt
%doc %{_datadir}/doc/dbus/dbus-cleanup-sockets.1.html
%doc %{_datadir}/doc/dbus/dbus-daemon.1.html
%doc %{_datadir}/doc/dbus/dbus-launch.1.html
%doc %{_datadir}/doc/dbus/dbus-run-session.1.html
%doc %{_datadir}/doc/dbus/dbus-monitor.1.html
%doc %{_datadir}/doc/dbus/dbus-send.1.html
%doc %{_datadir}/doc/dbus/dbus-uuidgen.1.html
%doc %{_datadir}/doc/dbus/dbus.devhelp
%doc doc/*.txt doc/file-boilerplate.c doc/TODO
%{_datadir}/susehelp
%changelog

View File

@ -1,3 +1,10 @@
-------------------------------------------------------------------
Tue Jun 25 14:09:30 UTC 2013 - coolo@suse.com
- to avoid a cycle with systemd, build the daemon in dbus-x11.spec.
It would be wise to rename dbus-1.spec to dbus-1-libs.spec and
dbus-1-x11.spec to dbus-1.spec, but I first wanted to hear feedback
-------------------------------------------------------------------
Sat Jun 22 22:01:17 UTC 2013 - hrvoje.senjan@gmail.com

View File

@ -16,6 +16,9 @@
#
%define with_systemd 0
%bcond_with docs
Name: dbus-1
%define _name dbus
%define _libname libdbus-1-3
@ -23,9 +26,8 @@ Url: http://dbus.freedesktop.org/
Summary: D-Bus Message Bus System
License: GPL-2.0+ or AFL-2.1
Group: System/Daemons
# COMMON1-BEGIN
%define with_systemd 1
# COMMON1-BEGIN
%if ! %{with_systemd}
%if 0%{?suse_version} < 1230
@ -35,23 +37,15 @@ Group: System/Daemons
%endif
%endif
BuildRequires: audit-devel
BuildRequires: doxygen
BuildRequires: libexpat-devel
BuildRequires: libtool
BuildRequires: pkg-config
BuildRequires: update-desktop-files
BuildRequires: xmlto
%if %{with_systemd}
BuildRequires: pkgconfig(libsystemd-daemon)
BuildRequires: pkgconfig(libsystemd-login)
%endif
BuildRequires: libexpat-devel
BuildRequires: libtool
BuildRequires: pkg-config
Version: 1.7.4
Release: 0
# bug437293
%ifarch ppc64
Obsoletes: dbus-1-64bit
%endif
#
Source0: http://dbus.freedesktop.org/releases/dbus/%{_name}-%{version}.tar.gz
Source1: rc.boot.dbus
@ -63,44 +57,25 @@ Patch0: dbus-log-deny.patch
Patch1: dbus-do-autolaunch.patch
# PATCH-FIX-OPENSUSE hpj@suse.com bnc#802525 - Avoid clients hanging after move to /run
Patch2: dbus-fall-back-to-old-run-directory.patch
%if 0%{?suse_version} > 1100
%bcond_without selinux
%else
%bcond_with selinux
%endif
%if %{with selinux}
BuildRequires: libselinux-devel
%endif
BuildRequires: libcap-ng-devel
BuildRoot: %{_tmppath}/%{name}-%{version}-build
# COMMON1-END
%if 0%{?suse_version} < 1230
PreReq: /sbin/insserv /etc/init.d/boot.localfs
%endif
PreReq: permissions /usr/sbin/groupadd /usr/sbin/useradd
%package -n %{_libname}
Summary: Library package for D-Bus
Group: Development/Libraries/Other
%package -n dbus-1-devel
Summary: Developer package for D-Bus
Group: Development/Libraries/Other
Requires: %{_libname} = %{version}
Requires: dbus-1
Requires: glibc-devel
%package -n dbus-1-devel-doc
Summary: Developer documentation package for D-Bus
Group: Development/Libraries/Other
Requires: %{name} = %{version}
%if 0%{?suse_version} >= 1120
BuildArch: noarch
%endif
%description
D-Bus is a message bus system, a simple way for applications to talk to
one another. D-Bus supplies both a system daemon and a
@ -125,14 +100,6 @@ a general one-to-one message passing framework, which can be used by
any two apps to communicate directly (without going through the message
bus daemon).
%description -n dbus-1-devel-doc
D-Bus is a message bus system, a simple way for applications to talk to
one another. D-BUS supplies both a system daemon and a
per-user-login-session daemon. Also, the message bus is built on top of
a general one-to-one message passing framework, which can be used by
any two apps to communicate directly (without going through the message
bus daemon).
%prep
# COMMON2-BEGIN
%setup -n %{_name}-%{version} -q
@ -156,11 +123,13 @@ export V=1
--disable-static \
--with-pic \
--bindir=/bin \
--libexecdir=/lib/%{name} \
--libexecdir=/lib/dbus-1 \
--libdir=/%{_lib} \
--with-init-scripts=suse \
--enable-inotify \
%if %{with docs}
--enable-doxygen-docs \
%endif
%if %{with selinux}
--enable-selinux \
%endif
@ -173,119 +142,48 @@ export V=1
--with-system-socket=/run/dbus/system_bus_socket \
--with-systemdsystemunitdir=%{_unitdir}
make %{?_smp_mflags}
%if %{with docs}
doxygen -u && doxygen
./cleanup-man-pages.sh
%endif
%install
# COMMON2-END
make DESTDIR=%{buildroot} install
mkdir -p %{buildroot}/etc/init.d
mkdir -p %{buildroot}/usr/sbin
install -m 755 %{SOURCE1} %{buildroot}/%{_sysconfdir}/init.d/dbus
ln -sf %{_sysconfdir}/init.d/dbus %{buildroot}/%{_sbindir}/rcdbus
install -d %{buildroot}/run/dbus
mkdir -p %{buildroot}/%{_datadir}/susehelp/meta/Development/Libraries/
install -m 0644 %SOURCE2 \
%{buildroot}/%{_datadir}/susehelp/meta/Development/Libraries/dbus-1.desktop
mkdir -p %{buildroot}/%{_libdir}/pkgconfig
mkdir -p %{buildroot}/lib/dbus-1/system-services
mkdir -p %{buildroot}/%{_datadir}/dbus-1/system-services
mkdir -p %{buildroot}/%{_datadir}/dbus-1/interfaces
mkdir -p %{buildroot}/%{_libdir}/dbus-1.0/include/
mv -f %{buildroot}/%{_lib}/dbus-1.0/include/* %{buildroot}/%{_libdir}/dbus-1.0/include/
rm -f %{buildroot}/%{_lib}/*.la
tdir=$(mktemp -d)
make DESTDIR=$tdir install
# devel stuff must not be in /lib
%{__ln_s} -v /%{_lib}/$(readlink %{buildroot}/%{_lib}/lib%{name}.so) %{buildroot}%{_libdir}/lib%{name}.so
%{__rm} -v %{buildroot}/%{_lib}/lib%{name}.so
mkdir -p %{buildroot}%{_libdir}
%{__ln_s} -v /%{_lib}/$(readlink $tdir/%{_lib}/lib%{name}.so) %{buildroot}%{_libdir}/lib%{name}.so
%{__rm} -v $tdir/%{_lib}/lib%{name}.so
mkdir -p %{buildroot}/%{_libdir}/dbus-1.0/include/
mv -f $tdir/%{_lib}/dbus-1.0/include/* %{buildroot}/%{_libdir}/dbus-1.0/include/
rm -f $tdir/%{_lib}/*.la
# fix up pkgconfig file
sed -e 's@^\(libdir=\).*@\1%{_libdir}@' %{buildroot}/%{_lib}/pkgconfig/dbus-1.pc > %{buildroot}/%{_libdir}/pkgconfig/dbus-1.pc
rm -f %{buildroot}/%{_lib}/pkgconfig/dbus-1.pc
#
rm -f %{buildroot}/bin/dbus-launch
rm -f %{buildroot}/%{_mandir}/man1/dbus-launch.1*
rm -f %{buildroot}/bin/dbus-run-session
rm -f %{buildroot}/%{_mandir}/man1/dbus-run-session.1*
rm -f %{buildroot}/%{_datadir}/doc/dbus/dbus-run-session.1.html
chmod a-x AUTHORS COPYING HACKING 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}/%{_libdir}/pkgconfig
sed -e 's@^\(libdir=\).*@\1%{_libdir}@' $tdir/%{_lib}/pkgconfig/dbus-1.pc > %{buildroot}/%{_libdir}/pkgconfig/dbus-1.pc
rm -f $tdir/%{_lib}/pkgconfig/dbus-1.pc
# Link the /bin/dbus-send binary to /usr/bin/dbus-send. This should be removed once dbus has been fully migrated to /usr
# Currently required to make upower work together with systemd
mkdir -p %{buildroot}/usr/bin
ln -sf /bin/dbus-send %{buildroot}/usr/bin/dbus-send
pushd $tdir
filelist=$(mktemp)
find .%{_includedir} -type f > $filelist
find ./%{_lib} -name "*.so*" >> $filelist
cat $filelist | while read file; do
mkdir -p $(dirname %{buildroot}/$file)
cp -a $file %{buildroot}/$file
done
popd
rm -rf $tdir
%pre
/usr/sbin/groupadd -r messagebus 2> /dev/null || :
/usr/sbin/useradd -r -s /bin/false -c "User for D-Bus" -d /run/dbus -g messagebus messagebus 2> /dev/null || :
%if 0%{?suse_version:1}
%preun
%{stop_on_removal dbus}
%post
/bin/dbus-uuidgen --ensure
%{insserv_force_if_yast dbus}
/sbin/ldconfig
%verifyscript
%verify_permissions -e /lib/dbus-1/dbus-daemon-launch-helper
%postun
%{insserv_cleanup}
/sbin/ldconfig
%endif
for i in /etc/dbus-1/session.d /etc/dbus-1/system.d \
/usr/share/dbus-1/interfaces /usr/share/dbus-1/services /usr/share/dbus-1/system-services; do
mkdir -p %{buildroot}$i
done
%post -n %{_libname} -p /sbin/ldconfig
%postun -n %{_libname} -p /sbin/ldconfig
%files
%defattr(-, root, root)
%dir %{_localstatedir}/lib/dbus
%dir /lib/dbus-1
%dir /lib/dbus-1/system-services
%doc AUTHORS COPYING HACKING NEWS README
%config(noreplace) %{_sysconfdir}/dbus-1/session.conf
%config(noreplace) %{_sysconfdir}/dbus-1/system.conf
%{_sysconfdir}/init.d/dbus
%{_sysconfdir}/ConsoleKit
/bin/dbus-cleanup-sockets
/bin/dbus-daemon
/bin/dbus-monitor
/bin/dbus-send
/usr/bin/dbus-send
/bin/dbus-uuidgen
%{_mandir}/man1/dbus-cleanup-sockets.1.*
%{_mandir}/man1/dbus-daemon.1.*
%{_mandir}/man1/dbus-monitor.1.*
%{_mandir}/man1/dbus-send.1.*
%{_mandir}/man1/dbus-uuidgen.1.*
%{_sbindir}/rcdbus
# See doc/system-activation.txt in source tarball for the rationale
# behind these permissions
%attr(4750,root,messagebus) %verify(not mode) /lib/%{name}/dbus-daemon-launch-helper
%ghost /run/dbus
%ghost %{_localstatedir}/lib/dbus/machine-id
%if ! %{with_systemd}
%if 0%{?suse_version} < 1230
%dir /lib/systemd
%else
%dir /usr/lib/systemd
%dir %{_unitdir}
%endif
%endif
%{_unitdir}/dbus.service
%{_unitdir}/dbus.socket
%dir %{_unitdir}/dbus.target.wants
%{_unitdir}/dbus.target.wants/dbus.socket
%dir %{_unitdir}/multi-user.target.wants
%{_unitdir}/multi-user.target.wants/dbus.service
%dir %{_unitdir}/sockets.target.wants
%{_unitdir}/sockets.target.wants/dbus.socket
%files -n %{_libname}
%defattr(-, root, root)
/%{_lib}/libdbus-1.so.*
@ -307,24 +205,4 @@ ln -sf /bin/dbus-send %{buildroot}/usr/bin/dbus-send
%{_libdir}/dbus-1.0/include
%{_libdir}/pkgconfig/dbus-1.pc
%files -n dbus-1-devel-doc
%defattr(-,root,root)
%dir %{_datadir}/doc/dbus
%{_datadir}/doc/dbus/api/
%doc %{_datadir}/doc/dbus/dbus-faq.html
%doc %{_datadir}/doc/dbus/dbus-specification.html
%doc %{_datadir}/doc/dbus/dbus-test-plan.html
%doc %{_datadir}/doc/dbus/dbus-tutorial.html
%doc %{_datadir}/doc/dbus/diagram.*
%doc %{_datadir}/doc/dbus/system-activation.txt
%doc %{_datadir}/doc/dbus/dbus-cleanup-sockets.1.html
%doc %{_datadir}/doc/dbus/dbus-daemon.1.html
%doc %{_datadir}/doc/dbus/dbus-launch.1.html
%doc %{_datadir}/doc/dbus/dbus-monitor.1.html
%doc %{_datadir}/doc/dbus/dbus-send.1.html
%doc %{_datadir}/doc/dbus/dbus-uuidgen.1.html
%doc %{_datadir}/doc/dbus/dbus.devhelp
%doc doc/*.txt doc/file-boilerplate.c doc/TODO
%{_datadir}/susehelp
%changelog