X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=dbus.spec;h=d4f1ac6d3cd3d6b25393e78219c5a342c1717246;hb=38fee88a01df487296f68314426ae3187c3bd60e;hp=4e6c49570bd2311acd139d5f843c6c7ab507c8da;hpb=83b42483569891bd5631df8aa3ab36c5bcf37c0f;p=packages%2Fdbus.git diff --git a/dbus.spec b/dbus.spec index 4e6c495..d4f1ac6 100644 --- a/dbus.spec +++ b/dbus.spec @@ -1,41 +1,55 @@ +# 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 X11 # build without X11 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.4.10 +Version: 1.12.20 Release: 2 -License: AFL v2.1 or GPL v2 +License: AFL v2.1 or GPL v2+ Group: Libraries -Source0: http://dbus.freedesktop.org/releases/dbus/%{name}-%{version}.tar.gz -# Source0-md5: 402a2f8102bedbe236e2891b2b0f31c2 +Source0: https://dbus.freedesktop.org/releases/dbus/%{name}-%{version}.tar.gz +# Source0-md5: dfe8a71f412e0b53be26ed4fbfdc91c4 Source1: messagebus.init Source2: %{name}-daemon-1-profile.d-sh Source3: %{name}-sysconfig Source4: %{name}-xinitrc.sh -Source5: messagebus.upstart +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 +Patch4: %{name}-autoconf-archive.patch +URL: https://www.freedesktop.org/Software/dbus BuildRequires: audit-libs-devel BuildRequires: autoconf >= 2.63 -BuildRequires: automake >= 1:1.10 +BuildRequires: autoconf-archive >= 2019.01.06 +BuildRequires: automake >= 1:1.13 +BuildRequires: docbook-dtd44-xml BuildRequires: doxygen BuildRequires: expat-devel >= %{expat_version} +%{?with_apparmor:BuildRequires: libapparmor-devel >= 1:2.10} BuildRequires: libcap-ng-devel -%{?with_selinux:BuildRequires: libselinux-devel} +%{?with_selinux:BuildRequires: libselinux-devel >= 2.0.86} BuildRequires: libtool >= 2:2.0 +BuildRequires: libxslt-progs BuildRequires: pkgconfig -BuildRequires: rpmbuild(macros) >= 1.561 +#BuildRequires: python3-ducktype +BuildRequires: rpm-build >= 4.6 +BuildRequires: rpmbuild(macros) >= 2.011 BuildRequires: sed >= 4.0 +%{?with_systemd:BuildRequires: systemd-devel >= 32} BuildRequires: xmlto %{?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 @@ -44,14 +58,17 @@ 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 >= 250.1 Requires: %{name}-libs = %{version}-%{release} Requires: expat >= %{expat_version} -Requires: rc-scripts >= 0.4.1.26 +%{?with_apparmor:Requires: libapparmor >= 1:2.10} +%{?with_selinux:Requires: libselinux >= 2.0.86} +Requires: rc-scripts >= 0.4.3.0 +Requires: systemd-units >= 250.1 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 @@ -67,34 +84,12 @@ 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 upstart -Summary: Upstart job description for system message bus -Summary(pl.UTF-8): Opis zadania Upstart dla magistrali systemowej DBus -Group: Daemons -Requires: %{name} = %{version}-%{release} -Requires: upstart >= 0.6 - -%description upstart -Upstart job description for system message bus. - -%description upstart -l pl.UTF-8 -Opis zadania Upstart dla magistrali systemowej DBus. - -%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 library Summary(pl.UTF-8): Biblioteka D-BUS Group: Libraries +%{?with_systemd:Requires: systemd-libs >= 32} +Obsoletes: dbus-dirs %description libs D-BUS library. @@ -107,6 +102,7 @@ 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 library. @@ -126,12 +122,44 @@ Static D-BUS library. %description static -l pl.UTF-8 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} +BuildArch: noarch + +%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 %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 + +%{__sed} -i -e '1s,/usr/bin/env python,%{__python},' tools/GetAllMatchRules.py %build %{__libtoolize} @@ -140,41 +168,50 @@ Statyczna biblioteka D-BUS. %{__autoheader} %{__automake} %configure \ + %{!?with_apparmor:--disable-apparmor} \ + --disable-asserts \ + --disable-ducktype-docs \ %{?debug:--enable-verbose-mode} \ + %{!?with_selinux:--disable-selinux} \ --disable-silent-rules \ - --disable-asserts \ + %{!?with_systemd:--disable-systemd} \ --disable-tests \ - --enable-abstract-sockets=auto \ - %{?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/{init,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 %{SOURCE5} $RPM_BUILD_ROOT/etc/init/messagebus.conf +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 -# 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 +cp -p %{SOURCE5} $RPM_BUILD_ROOT%{systemdtmpfilesdir}/%{name}.conf -%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/dbus/api +%if %{with systemd} +ln -s dbus.service $RPM_BUILD_ROOT%{systemdunitdir}/messagebus.service + +# we are creating messagebus user from rpm pre +%{__rm} $RPM_BUILD_ROOT/usr/lib/sysusers.d/dbus.conf +%endif + +# 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 @@ -185,37 +222,27 @@ 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 +%systemd_user_post dbus.service dbus.socket %preun if [ "$1" = "0" ];then %service messagebus stop /sbin/chkconfig --del messagebus fi +%systemd_user_preun dbus.service dbus.socket %postun if [ "$1" = "0" ]; then %userremove messagebus %groupremove messagebus fi +%systemd_reload -%if 0 -%post upstart -%upstart_post messagebus - -%postun upstart -%upstart_postun messagebus -%endif - -%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} @@ -224,62 +251,96 @@ 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(4754,root,messagebus) %{_libdir}/dbus-daemon-launch-helper -%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 +%attr(755,root,root) %{_bindir}/dbus-test-tool +%attr(755,root,root) %{_bindir}/dbus-update-activation-environment +%attr(4754,root,messagebus) %{_libexecdir}/dbus-daemon-launch-helper +%{_datadir}/dbus-1/session.conf +%{_datadir}/dbus-1/system.conf +%{_datadir}/xml/dbus-1 +%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* - -%if "%{pld_release}" != "ti" -%files upstart -%defattr(644,root,root,755) -%config(noreplace) %verify(not md5 mtime size) /etc/init/messagebus.conf +%{_mandir}/man1/dbus-test-tool.1* +%{_mandir}/man1/dbus-update-activation-environment.1* + +%if %{with systemd} +%{systemdunitdir}/dbus.service +%{systemdunitdir}/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 %endif -%files dirs -%defattr(644,root,root,755) -%dir %{_sysconfdir}/dbus-1 -%dir %{_sysconfdir}/dbus-1/system.d -%dir %{_sysconfdir}/dbus-1/session.d - %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 +%dir %{_datadir}/dbus-1/services +%dir %{_datadir}/dbus-1/system-services +# 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 +%{_libdir}/cmake/DBus1 %{_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.devhelp2 + +%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