]> git.pld-linux.org Git - packages/systemd.git/blobdiff - systemd.spec
- updated to 26
[packages/systemd.git] / systemd.spec
index 98def7a678f2a1e150e9d2c35452fc7348c90859..8c965780f18474e4eb312095cd2d75a8d152fc89 100644 (file)
@@ -1,49 +1,65 @@
 #
+# Conditional build:
+%bcond_without gtk             # build gtk tools (needs devel libnotify>=0.7 and gtk+2)
+%bcond_without selinux         # without SELinux support
+%bcond_without tcpd            # libwrap (tcp_wrappers) support
+%bcond_without pam             # PAM authentication support
+%bcond_without audit           # without audit support
+%bcond_without cryptsetup      # without cryptsetup support
 
-%bcond_with    gtk     # build gtk tools
-
-Summary:       systemd - a system and service manager for Linux
+Summary:       A System and Service Manager
 Summary(pl.UTF-8):     systemd - zarządca systemu i usług dla Linuksa
 Name:          systemd
-Version:       15
+Version:       26
 Release:       0.1
 License:       GPL v2+
 Group:         Base
 Source0:       http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.bz2
-# Source0-md5: 36011aa8593862ca78e3e909f6143570
+# Source0-md5: b7c468aa400c64d02d533eba6359e283
+Patch0:                target-pld.patch
+Patch1:                pld-port.patch
 URL:           http://www.freedesktop.org/wiki/Software/systemd
-#BuildRequires:        -
-BuildRequires: autoconf
-BuildRequires: automake
+%{?with_audit:BuildRequires:   audit-libs-devel}
+BuildRequires: autoconf >= 2.63
+BuildRequires: automake >= 1:1.11
+%{?with_cryptsetup:BuildRequires:      cryptsetup-luks-devel}
 BuildRequires: dbus-devel
-BuildRequires: gettext-devel
-%if %{with gtk}
-BuildRequires: libnotify-devel >= 0.7.0
-%endif
-BuildRequires: libtool
+BuildRequires: docbook-style-xsl
+%{?with_gtk:BuildRequires:     glib2-devel >= 1:2.26.1}
+%{?with_gtk:BuildRequires:     gtk+2-devel >= 2:2.24.0}
+BuildRequires: libcap-devel
+%{?with_gtk:BuildRequires:     libnotify-devel >= 0.7.0}
+%{?with_selinux:BuildRequires: libselinux-devel}
+BuildRequires: libtool >= 2:2.2
+%{?with_tcpd:BuildRequires:    libwrap-devel}
+BuildRequires: m4
+BuildRequires: libxslt-progs
+%{?with_pam:BuildRequires:     pam-devel}
+BuildRequires: pkgconfig
+BuildRequires: rpmbuild(macros) >= 1.527
 BuildRequires: udev-devel >= 160
-#Requires(postun):     -
-#Requires(pre,post):   -
-#Requires(preun):      -
-#Requires:     -
-#Provides:     -
-#Provides:     group(foo)
-#Provides:     user(foo)
-#Obsoletes:    -
-#Conflicts:    -
-#BuildArch:    noarch
-#ExclusiveArch:        %{ix86}
+BuildRequires: vala >= 0.10.0
+Requires:      %{name}-units = %{version}-%{release}
+Requires:      dbus >= 1.3.2
+Requires:      rc-scripts
+Requires:      udev-core >= 160
+Provides:      SysVinit = 2.86-23
+Provides:      readahead = 1:1.5.7-3
+Provides:      virtual(init-daemon)
+Obsoletes:     SysVinit < 2.86-23
+Obsoletes:     readahead < 1:1.5.7-3
+Obsoletes:     virtual(init-daemon)
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %description
-systemd is a system and service manager for Linux, compatible with 
+systemd is a system and service manager for Linux, compatible with
 SysV and LSB init scripts. systemd provides aggressive parallelization
 capabilities, uses socket and D-Bus activation for starting services,
 offers on-demand starting of daemons, keeps track of processes using
 Linux cgroups, supports snapshotting and restoring of the system
 state, maintains mount and automount points and implements an
 elaborate transactional dependency-based service control logic. It can
-work as a drop-in replacement for sysvinit. 
+work as a drop-in replacement for sysvinit.
 
 %description -l pl.UTF-8
 systemd jest zarządcą systemu i usług dla Linuksa, kompatybilny ze
@@ -53,32 +69,253 @@ oferuje uruchamianie usług na życzenie, monitoruje procesy używając
 linuksowych cgroups, wspomaga zapisywanie (snapshot) i odczytywanie
 (restore) stanu systemu, zarządza (auto)mount pointami oraz
 implementuje starannie opracowaną transakcjonalną, bazującą na
-zależnościach logikę kontroli usług. Może pracować jako zastepca dla
+zależnościach logikę kontroli usług. Może pracować jako zastępca dla
 sysvinit.
 
+%package units
+Summary:       Configuration files, directories and installation tool for systemd
+Group:         Base
+Requires:      pkgconfig
+Requires(post):        coreutils
+Requires(post):        gawk
+
+%description units
+Basic configuration files, directories and installation tool for the
+systemd system and service manager.
+
+%package gtk
+Summary:       Graphical frontend for systemd
+Group:         Base
+Requires:      %{name} = %{version}-%{release}
+Requires:      polkit
+
+%description gtk
+Graphical front-end for systemd.
+
+%package -n bash-completion-systemd
+Summary:       bash-completion for systemd
+Group:         Applications/Shells
+Requires:      %{name}
+Requires:      bash-completion
+
+%description -n bash-completion-systemd
+bash-completion for systemd.
+
 %prep
 %setup -q
+%patch0 -p1
+%patch1 -p1
 
 %build
-%{__gettextize}
-%{__libtoolize}
 %{__aclocal} -I m4
 %{__autoconf}
+%{__autoheader}
 %{__automake}
 %configure \
-       --with-distro="PLD Linux" \
-       --%{?with_gtk:en}%{!?with_gtk:dis}able-gtk
+       %{__enable_disable audit} \
+       %{__enable_disable cryptsetup libcryptsetup} \
+       %{__enable_disable gtk} \
+       %{__enable_disable pam} \
+       %{__enable_disable selinux} \
+       %{__enable_disable tcpd tcpwrap} \
+       --disable-silent-rules \
+       --with-distro=pld \
+       --with-rootdir=
+
 %{__make}
 
 %install
 rm -rf $RPM_BUILD_ROOT
-
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
+find $RPM_BUILD_ROOT '(' -name '*.a' -o -name '*.la' ')' | xargs -r rm -v
+
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
+
+# no -devel (yet)
+rm -f $RPM_BUILD_ROOT%{_npkgconfigdir}/systemd.pc
+
+%if %{without gtk}
+# to shut up check-files
+rm -f $RPM_BUILD_ROOT%{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy
+rm -f $RPM_BUILD_ROOT%{_bindir}/systemadm
+rm -f $RPM_BUILD_ROOT%{_bindir}/systemd-gnome-ask-password-agent
+rm -f $RPM_BUILD_ROOT%{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy
+rm -f $RPM_BUILD_ROOT%{_mandir}/man1/systemadm.1*
+%endif
+
+# Create SysV compatibility symlinks. systemctl/systemd are smart
+# enough to detect in which way they are called.
+install -d $RPM_BUILD_ROOT/sbin
+ln -s ../bin/systemd $RPM_BUILD_ROOT/sbin/init
+ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/reboot
+ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/halt
+ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/poweroff
+ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/shutdown
+ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/telinit
+ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/runlevel
+
+# We create all wants links manually at installation time to make sure
+# they are not owned and hence overriden by rpm after the used deleted
+# them.
+rm -r $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system/*.target.wants
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%post
+/bin/systemctl daemon-reexec > /dev/null 2>&1 || :
+
+%post units
+if [ $1 -ne 1 ]; then
+       exit 0
+fi
+
+# Try to read default runlevel from the old inittab if it exists
+runlevel=$(/bin/awk -F ':' '$3 == "initdefault" && $1 !~ "^#" { print $2 }' /etc/inittab 2> /dev/null)
+if [ -z "$runlevel" ] ; then
+       runlevel=3
+fi
+target="/lib/systemd/system/runlevel$runlevel.target"
+
+# And symlink what we found to the new-style default.target
+ln -sf "$target" %{_sysconfdir}/systemd/system/default.target > /dev/null 2>&1 || :
+#/bin/systemctl enable SERVICES > /dev/null 2>&1 || :
+
+%preun units
+if [ $1 -ne 0 ]; then
+       exit 0
+fi
+#/bin/systemctl disable SERVICES > /dev/null 2>&1 || :
+rm -f %{_sysconfdir}/systemd/system/default.target > /dev/null 2>&1 || :
+
+%postun
+if [ $1 -ge 1 ] ; then
+       /bin/systemctl daemon-reload > /dev/null 2>&1 || :
+fi
+
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS CREDITS ChangeLog NEWS README THANKS TODO
+%doc DISTRO_PORTING README TODO
+/etc/dbus-1/system.d/org.freedesktop.hostname1.conf
+/etc/dbus-1/system.d/org.freedesktop.systemd1.conf
+%dir %{_sysconfdir}/systemd
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/systemd/system.conf
+%dir /etc/xdg/systemd
+/etc/xdg/systemd/user
+%attr(755,root,root) /bin/systemd
+%attr(755,root,root) /bin/systemd-ask-password
+%attr(755,root,root) /bin/systemd-machine-id-setup
+%attr(755,root,root) /bin/systemd-notify
+%attr(755,root,root) /bin/systemd-tty-ask-password-agent
+%attr(755,root,root) %{_bindir}/systemd-cgls
+%attr(755,root,root) %{_bindir}/systemd-analyze
+%attr(755,root,root) %{_bindir}/systemd-nspawn
+%attr(755,root,root) %{_bindir}/systemd-stdio-bridge
+%attr(755,root,root) /sbin/halt
+%attr(755,root,root) /sbin/init
+%attr(755,root,root) /sbin/poweroff
+%attr(755,root,root) /sbin/reboot
+%attr(755,root,root) /sbin/runlevel
+%attr(755,root,root) /sbin/shutdown
+%attr(755,root,root) /sbin/telinit
+%dir /lib/systemd
+/lib/systemd/systemd-*
+%dir %{_libdir}/systemd
+%{_libdir}/systemd/user
+%dir %{_libdir}/systemd/user-generators
+%dir /lib/systemd/system-generators
+/lib/systemd/system-generators/systemd-getty-generator
+/lib/udev/rules.d/99-systemd.rules
+%{_prefix}/lib/tmpfiles.d/legacy.conf
+%{_prefix}/lib/tmpfiles.d/systemd.conf
+%{_prefix}/lib/tmpfiles.d/x11.conf
+%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml
+%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service
+%{_datadir}/dbus-1/system-services/org.freedesktop.hostname1.service
+%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service
+%{_datadir}/polkit-1/actions/org.freedesktop.hostname1.policy
+%{_mandir}/man1/init.1
+%{_mandir}/man1/systemd.1*
+%{_mandir}/man1/systemd-ask-password.1*
+%{_mandir}/man1/systemd-cgls.1*
+%{_mandir}/man1/systemd-notify.1*
+%{_mandir}/man1/systemd-nspawn.1*
+%{_mandir}/man3/sd_booted.3*
+%{_mandir}/man3/sd_is_fifo.3*
+%{_mandir}/man3/sd_is_socket.3
+%{_mandir}/man3/sd_is_socket_inet.3
+%{_mandir}/man3/sd_is_socket_unix.3
+%{_mandir}/man3/sd_listen_fds.3*
+%{_mandir}/man3/sd_notify.3*
+%{_mandir}/man3/sd_notifyf.3
+%{_mandir}/man3/sd_readahead.3*
+%{_mandir}/man5/binfmt.d.5*
+%{_mandir}/man5/hostname.5*
+%{_mandir}/man5/locale.conf.5*
+%{_mandir}/man5/machine-id.5*
+%{_mandir}/man5/machine-info.5*
+%{_mandir}/man5/modules-load.d.5*
+%{_mandir}/man5/os-release.5*
+%{_mandir}/man5/sysctl.d.5*
+%{_mandir}/man5/systemd.automount.5*
+%{_mandir}/man5/systemd.conf.5*
+%{_mandir}/man5/systemd.device.5*
+%{_mandir}/man5/systemd.exec.5*
+%{_mandir}/man5/systemd.mount.5*
+%{_mandir}/man5/systemd.path.5*
+%{_mandir}/man5/systemd.service.5*
+%{_mandir}/man5/systemd.snapshot.5*
+%{_mandir}/man5/systemd.socket.5*
+%{_mandir}/man5/systemd.swap.5*
+%{_mandir}/man5/systemd.target.5*
+%{_mandir}/man5/systemd.timer.5*
+%{_mandir}/man5/systemd.unit.5*
+%{_mandir}/man5/vconsole.conf.5*
+%{_mandir}/man7/daemon.7*
+%{_mandir}/man7/sd-daemon.7*
+%{_mandir}/man7/sd-readahead.7*
+%{_mandir}/man7/systemd.special.7*
+%{_mandir}/man8/halt.8*
+%{_mandir}/man8/poweroff.8
+%{_mandir}/man8/reboot.8
+%{_mandir}/man8/runlevel.8*
+%{_mandir}/man8/shutdown.8*
+%{_mandir}/man8/telinit.8*
+
+%if %{with cryptsetup}
+/lib/systemd/system-generators/systemd-cryptsetup-generator
+%endif
+
+%if %{with pam}
+%attr(755,root,root) /%{_lib}/security/pam_systemd.so
+%{_mandir}/man8/pam_systemd.8*
+%endif
+
+%files units
+%defattr(644,root,root,755)
+%dir %{_sysconfdir}/systemd
+%dir %{_sysconfdir}/systemd/system
+%dir %{_sysconfdir}/tmpfiles.d
+%dir /lib/systemd
+/lib/systemd/system
+%dir %{_prefix}/lib/tmpfiles.d
+%attr(755,root,root) /bin/systemctl
+%attr(755,root,root) /bin/systemd-tmpfiles
+%{_mandir}/man5/tmpfiles.d.5*
+%{_mandir}/man1/systemctl.1*
+%{_mandir}/man8/systemd-tmpfiles.8*
+
+%if %{with gtk}
+%files gtk
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_bindir}/systemadm
+%attr(755,root,root) %{_bindir}/systemd-gnome-ask-password-agent
+%{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy
+%{_mandir}/man1/systemadm.1*
+%endif
+
+%files -n bash-completion-systemd
+%defattr(644,root,root,755)
+/etc/bash_completion.d/systemctl-bash-completion.sh
This page took 0.123909 seconds and 4 git commands to generate.