X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=dbus.spec;h=99096ceb5f1e0e7f3e163356d05ffc66ccfc11df;hb=8cc70fcc5f264b16fc887f790a0da13bdad4a365;hp=a5ec3e41ef9c808bae1de2d29fa8895a3d142dbf;hpb=8ad9eb575f19b28d8524c2b753123428745a0dfb;p=packages%2Fdbus.git diff --git a/dbus.spec b/dbus.spec index a5ec3e4..99096ce 100644 --- a/dbus.spec +++ b/dbus.spec @@ -1,39 +1,52 @@ +# TODO: +# - enable ducktype-docs when it works +# - move /etc/dbus-1 from -libs to base after external packages transition to /usr/share/dbus-1 # # Conditional build: -%bcond_without selinux # build without SELinux support -# +%bcond_without apparmor # AppArmor support +%bcond_without selinux # SELinux support +%bcond_without systemd # systemd at_console support +%bcond_without X11 # X11 support + %define expat_version 1:1.95.5 Summary: D-BUS message bus Summary(pl.UTF-8): Magistrala przesyłania komunikatów D-BUS Name: dbus -Version: 1.2.14 +Version: 1.10.24 Release: 1 License: AFL v2.1 or GPL v2 Group: Libraries -Source0: http://dbus.freedesktop.org/releases/dbus/%{name}-%{version}.tar.gz -# Source0-md5: 2c267ccd45d0b18db8c9edacad63ec98 +Source0: https://dbus.freedesktop.org/releases/dbus/%{name}-%{version}.tar.gz +# Source0-md5: d548ae16f9a3268fe4650ccc86a3f06f Source1: messagebus.init Source2: %{name}-daemon-1-profile.d-sh Source3: %{name}-sysconfig Source4: %{name}-xinitrc.sh +Source5: %{name}.tmpfiles Patch0: %{name}-nolibs.patch Patch1: %{name}-config.patch Patch2: %{name}-no_fatal_checks.patch Patch3: %{name}-allow-introspection.patch -URL: http://www.freedesktop.org/Software/dbus +URL: https://www.freedesktop.org/Software/dbus BuildRequires: audit-libs-devel -BuildRequires: autoconf >= 2.52 -BuildRequires: automake +BuildRequires: autoconf >= 2.63 +BuildRequires: automake >= 1:1.13 +BuildRequires: docbook-dtd44-xml BuildRequires: doxygen BuildRequires: expat-devel >= %{expat_version} -BuildRequires: libcap-devel +%{?with_apparmor:BuildRequires: libapparmor-devel >= 1:2.8.95} +BuildRequires: libcap-ng-devel %{?with_selinux:BuildRequires: libselinux-devel} -BuildRequires: libtool +BuildRequires: libtool >= 2:2.0 +BuildRequires: libxslt-progs BuildRequires: pkgconfig -BuildRequires: rpmbuild(macros) >= 1.268 +#BuildRequires: python3-ducktype +BuildRequires: rpmbuild(macros) >= 1.626 BuildRequires: sed >= 4.0 +%{?with_systemd:BuildRequires: systemd-devel >= 32} BuildRequires: xmlto -BuildRequires: xorg-lib-libX11-devel +%{?with_X11:BuildRequires: xorg-lib-libX11-devel} +BuildRequires: yelp-tools Requires(post,postun): /sbin/ldconfig Requires(post,preun): /sbin/chkconfig Requires(postun): /usr/sbin/groupdel @@ -42,14 +55,15 @@ Requires(pre): /bin/id Requires(pre): /usr/bin/getgid Requires(pre): /usr/sbin/groupadd Requires(pre): /usr/sbin/useradd -Requires: %{name}-dirs = %{version}-%{release} +Requires(post,preun,postun): systemd-units >= 38 Requires: %{name}-libs = %{version}-%{release} Requires: expat >= %{expat_version} -Requires: rc-scripts >= 0.4.1.23 +Requires: rc-scripts >= 0.4.3.0 +Requires: systemd-units >= 38 Provides: group(messagebus) Provides: user(messagebus) -Obsoletes: dbus-X11 Obsoletes: dbus-glib-tools +Obsoletes: dbus-systemd Conflicts: pam < 0.99.7.1 # not available for dbus 0.9x yet(?) #Obsoletes: dbus-gtk dbus-gcj dbus-gcj-devel dbus-gcj-static @@ -65,51 +79,74 @@ D-BUS to system przesyłania komunikatów pomiędzy aplikacjami. Jest używany zarówno jako ogólnosystemowa usługa magistrali komunikatów jak i możliwość przesyłania komunikatów w ramach jednej sesji użytkownika. -%package dirs -Summary: D-BUS directories -Summary(pl.UTF-8): Katalogi D-BUS -Group: Libraries - -%description dirs -D-BUS directories. - -%description dirs -l pl.UTF-8 -Katalogi D-BUS. - %package libs -Summary: D-BUS libraries -Summary(pl.UTF-8): Biblioteki D-BUS +Summary: D-BUS library +Summary(pl.UTF-8): Biblioteka D-BUS Group: Libraries +%{?with_systemd:Requires: systemd-libs >= 32} +Obsoletes: dbus-dirs %description libs -D-BUS libraries. +D-BUS library. %description libs -l pl.UTF-8 -Biblioteki D-BUS. +Biblioteka D-BUS. %package devel -Summary: Header files for D-BUS -Summary(pl.UTF-8): Pliki nagłówkowe D-BUS +Summary: Header files for D-BUS library +Summary(pl.UTF-8): Pliki nagłówkowe biblioteki D-BUS Group: Development/Libraries Requires: %{name}-libs = %{version}-%{release} +%{?with_systemd:Requires: systemd-devel >= 32} %description devel -Header files for D-BUS. +Header files for D-BUS library. %description devel -l pl.UTF-8 -Pliki nagłówkowe D-BUS. +Pliki nagłówkowe biblioteki D-BUS. %package static -Summary: Static D-BUS libraries -Summary(pl.UTF-8): Statyczne biblioteki D-BUS +Summary: Static D-BUS library +Summary(pl.UTF-8): Statyczna biblioteka D-BUS Group: Development/Libraries Requires: %{name}-devel = %{version}-%{release} %description static -Static D-BUS libraries. +Static D-BUS library. %description static -l pl.UTF-8 -Statyczne biblioteki D-BUS. +Statyczna biblioteka D-BUS. + +%package apidocs +Summary: D-BUS API documentation +Summary(pl.UTF-8): Dokumentacja API D-BUS +Group: Documentation +# dbus.devhelp refers also to common docs packaged in -devel +Requires: %{name}-devel = %{version}-%{release} +%if "%{_rpmversion}" >= "5" +BuildArch: noarch +%endif + +%description apidocs +D-BUS API documentation. + +%description apidocs -l pl.UTF-8 +Dokumentacja API D-BUS. + +%package x11 +Summary: X11 session support for D-BUS +Summary(pl.UTF-8): Obsługa sesji X11 dla D-BUS +Group: X11/Applications +Requires: %{name} = %{version}-%{release} +Obsoletes: dbus-X11 + +%description x11 +This package contains D-BUS utilities to start D-BUS service together +with user X11 session. + +%description x11 -l pl.UTF-8 +Ten pakiet zawiera narzędzia D-BUS pozwalające na uruchomienie usługi +D-BUS wraz z sesją X11 użytkownika. %prep %setup -q @@ -120,41 +157,50 @@ Statyczne biblioteki D-BUS. %build %{__libtoolize} -%{__aclocal} +%{__aclocal} -I m4 %{__autoconf} %{__autoheader} %{__automake} %configure \ - %{?debug:--enable-verbose-mode} \ + %{!?with_apparmor:--disable-apparmor} \ --disable-asserts \ + --disable-ducktype-docs \ + %{?debug:--enable-verbose-mode} \ + %{!?with_selinux:--disable-selinux} \ + --disable-silent-rules \ + %{!?with_systemd:--disable-systemd} \ --disable-tests \ - --enable-abstract-sockets \ - %{?with_selinux:--enable-selinux} \ + --enable-user-session \ --with-console-auth-dir=%{_localstatedir}/run/console/ \ --with-session-socket-dir=/tmp \ --with-system-pid-file=%{_localstatedir}/run/dbus.pid \ - --with-xml=expat + --with-systemdsystemunitdir=%{systemdunitdir} \ + %{!?with_X11:--without-x} %{__make} %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT/etc/{profile.d,rc.d/init.d,sysconfig,X11/xinit/xinitrc.d} \ +install -d $RPM_BUILD_ROOT%{_sysconfdir}/{profile.d,rc.d/init.d,sysconfig,X11/xinit/xinitrc.d} \ $RPM_BUILD_ROOT%{_datadir}/dbus-1/{services,interfaces} \ $RPM_BUILD_ROOT%{_localstatedir}/run/dbus \ - $RPM_BUILD_ROOT/%{_lib} + $RPM_BUILD_ROOT%{_localstatedir}/lib/dbus \ + $RPM_BUILD_ROOT/%{_lib} \ + $RPM_BUILD_ROOT%{systemdtmpfilesdir} %{__make} install \ DESTDIR=$RPM_BUILD_ROOT -install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/messagebus -install %{SOURCE2} $RPM_BUILD_ROOT/etc/profile.d/dbus-daemon-1.sh -install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/messagebus -install %{SOURCE4} $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d +install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/messagebus +install -p %{SOURCE2} $RPM_BUILD_ROOT/etc/profile.d/dbus-daemon-1.sh +cp -p %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/messagebus +install -p %{SOURCE4} $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d + +cp -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf + +ln -s dbus.service $RPM_BUILD_ROOT%{systemdunitdir}/messagebus.service -# upstart (/sbin/init) requires libdbus so it must be in /lib(64) -mv -f $RPM_BUILD_ROOT%{_libdir}/libdbus-1.so.* $RPM_BUILD_ROOT/%{_lib} -ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/libdbus-1.so.*.*.*) \ - $RPM_BUILD_ROOT%{_libdir}/libdbus-1.so +# for local configuration in dbus 1.10+ +install -d $RPM_BUILD_ROOT/etc/dbus-1/{session.d,system.d} %clean rm -rf $RPM_BUILD_ROOT @@ -165,7 +211,9 @@ rm -rf $RPM_BUILD_ROOT %post /sbin/chkconfig --add messagebus -%service messagebus restart "D-Bus daemon" +%service -n messagebus restart "D-Bus daemon" +export NORESTART="yes" +%systemd_post messagebus.service %preun if [ "$1" = "0" ];then @@ -178,16 +226,10 @@ if [ "$1" = "0" ]; then %userremove messagebus %groupremove messagebus fi +%systemd_reload -%post libs -p /sbin/ldconfig -%postun libs -p /sbin/ldconfig - -%triggerpostun -- %{name} < 0.92 -%banner %{name} << EOF -WARNING!!! -configuration file /etc/sysconfig/dbus has been moved to /etc/sysconfig/messagebus! -EOF - +%triggerpostun -- dbus < 1.4.16-5 +%systemd_trigger messagebus.service if [ -f /etc/sysconfig/dbus ]; then mv -f /etc/sysconfig/messagebus{,.rpmnew} mv -f /etc/sysconfig/{dbus,messagebus} @@ -196,57 +238,93 @@ elif [ -f /etc/sysconfig/dbus.rpmsave ]; then mv -f /etc/sysconfig/{dbus.rpmsave,messagebus} fi +%post libs -p /sbin/ldconfig +%postun libs -p /sbin/ldconfig + %files %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/dbus-cleanup-sockets %attr(755,root,root) %{_bindir}/dbus-daemon %attr(755,root,root) %{_bindir}/dbus-uuidgen -# R: libX11 -%attr(755,root,root) %{_bindir}/dbus-launch %attr(755,root,root) %{_bindir}/dbus-monitor +%attr(755,root,root) %{_bindir}/dbus-run-session %attr(755,root,root) %{_bindir}/dbus-send +%attr(755,root,root) %{_bindir}/dbus-test-tool +%attr(755,root,root) %{_bindir}/dbus-update-activation-environment %attr(4754,root,messagebus) %{_libdir}/dbus-daemon-launch-helper -%dir %{_libdir}/dbus-1 -%dir %{_datadir}/dbus-1 -%dir %{_datadir}/dbus-1/interfaces %dir %{_datadir}/dbus-1/services %dir %{_datadir}/dbus-1/system-services -%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dbus-1/*.conf +%{_datadir}/dbus-1/session.conf +%{_datadir}/dbus-1/system.conf +%config(noreplace) %verify(not md5 mtime size) /etc/dbus-1/session.conf +%config(noreplace) %verify(not md5 mtime size) /etc/dbus-1/system.conf %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/messagebus -%attr(754,root,root) /etc/rc.d/init.d/* +%attr(754,root,root) /etc/rc.d/init.d/messagebus %attr(755,root,root) /etc/profile.d/dbus-daemon-1.sh -%attr(755,root,root) /etc/X11/xinit/xinitrc.d/*.sh +%{systemdtmpfilesdir}/%{name}.conf +%dir %{_localstatedir}/lib/dbus %dir %{_localstatedir}/run/dbus -%dir /var/lib/dbus %{_mandir}/man1/dbus-cleanup-sockets.1* %{_mandir}/man1/dbus-daemon.1* %{_mandir}/man1/dbus-uuidgen.1* -%{_mandir}/man1/dbus-launch.1* %{_mandir}/man1/dbus-monitor.1* +%{_mandir}/man1/dbus-run-session.1* %{_mandir}/man1/dbus-send.1* - -%files dirs -%defattr(644,root,root,755) -%dir %{_sysconfdir}/dbus-1 -%dir %{_sysconfdir}/dbus-1/system.d -%dir %{_sysconfdir}/dbus-1/session.d +%{_mandir}/man1/dbus-test-tool.1* +%{_mandir}/man1/dbus-update-activation-environment.1* + +%{systemdunitdir}/dbus.service +%{systemdunitdir}/dbus.socket +%{systemdunitdir}/dbus.target.wants/dbus.socket +%{systemdunitdir}/messagebus.service +%{systemdunitdir}/multi-user.target.wants/dbus.service +%{systemdunitdir}/sockets.target.wants/dbus.socket +%{systemduserunitdir}/dbus.service +%{systemduserunitdir}/dbus.socket +%{systemduserunitdir}/sockets.target.wants/dbus.socket %files libs %defattr(644,root,root,755) %doc AUTHORS COPYING ChangeLog NEWS README doc/TODO -%attr(755,root,root) /%{_lib}/libdbus-1.so.*.*.* -%attr(755,root,root) %ghost /%{_lib}/libdbus-1.so.3 +%attr(755,root,root) %{_libdir}/libdbus-1.so.*.*.* +%attr(755,root,root) %ghost %{_libdir}/libdbus-1.so.3 +%dir %{_datadir}/dbus-1 +%dir %{_datadir}/dbus-1/session.d +%dir %{_datadir}/dbus-1/system.d +# interfaces is basically devel thing, but keep dir here +# in case something uses it at runtime +%dir %{_datadir}/dbus-1/interfaces +# TODO: now it's only for local configuration - move to base dbus package +# after all packages place constant configuration in %{_datadir}/dbus-1 +%dir /etc/dbus-1 +%dir /etc/dbus-1/session.d +%dir /etc/dbus-1/system.d %files devel %defattr(644,root,root,755) -%doc doc/*.{html,txt} %attr(755,root,root) %{_libdir}/libdbus-1.so %{_libdir}/libdbus-1.la %dir %{_libdir}/dbus-1.0 %{_libdir}/dbus-1.0/include -%{_pkgconfigdir}/dbus-1.pc %{_includedir}/dbus-1.0 +%{_pkgconfigdir}/dbus-1.pc +%dir %{_docdir}/dbus +%{_docdir}/dbus/*.html +%{_docdir}/dbus/*.png +%{_docdir}/dbus/*.svg +%{_docdir}/dbus/*.txt %files static %defattr(644,root,root,755) %{_libdir}/libdbus-1.a + +%files apidocs +%defattr(644,root,root,755) +%{_docdir}/dbus/api +%{_docdir}/dbus/dbus.devhelp + +%files x11 +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/dbus-launch +%{_mandir}/man1/dbus-launch.1* +%attr(755,root,root) /etc/X11/xinit/xinitrc.d/dbus-xinitrc.sh