]> git.pld-linux.org Git - packages/systemd.git/blobdiff - systemd.spec
- if there are no submounts, try get over with it without tmpdir
[packages/systemd.git] / systemd.spec
index cfe72ade9b5b2b6730def5ae30f2cba9b974aa0f..8525e06e75f8f0a19de58e10b6695094a9e44122 100644 (file)
@@ -7,33 +7,38 @@
 # Conditional build:
 %bcond_without audit           # without audit support
 %bcond_without cryptsetup      # without cryptsetup support
-%bcond_without gtk             # build gtk tools
 %bcond_without pam             # PAM authentication support
-%bcond_with    plymouth        # plymouth support
+%bcond_without plymouth        # do not install plymouth units
 %bcond_without selinux         # without SELinux support
 %bcond_without tcpd            # libwrap (tcp_wrappers) support
 
 Summary:       A System and Service Manager
 Summary(pl.UTF-8):     systemd - zarządca systemu i usług dla Linuksa
 Name:          systemd
-Version:       43
-Release:       2
+Version:       44
+Release:       8
 License:       GPL v2+
 Group:         Base
 Source0:       http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.xz
-# Source0-md5: 446cc6db7625617af67e2d8e5f503a49
+# Source0-md5: 11f44ff74c87850064e4351518bcff17
 Source1:       %{name}-sysv-convert
 Source2:       %{name}_booted.c
-Source3:       ifup@.service
-Source4:       network-post.service
-Source5:       network.service
-Source6:       compat-pld-media.tmpfiles
-Source7:       compat-pld-var-run.tmpfiles
+Source3:       network.service
+Source4:       compat-pld-media.tmpfiles
+Source5:       compat-pld-var-run.tmpfiles
+Source10:      pld-storage-init-late.service
+Source11:      pld-storage-init.service
+Source12:      pld-wait-storage.service
+Source13:      pld-storage-init.sh
+Source14:      pld-clean-tmp.service
+Source15:      pld-clean-tmp.sh
 Patch0:                target-pld.patch
 Patch1:                config-pld.patch
 Patch2:                shut-sysv-up.patch
 Patch3:                pld-sysv-network.patch
 Patch4:                tmpfiles-not-fatal.patch
+Patch5:                CVE-2012-1174.patch
+Patch6:                dont-trash-X-sessions.patch
 URL:           http://www.freedesktop.org/wiki/Software/systemd
 BuildRequires: acl-devel
 %{?with_audit:BuildRequires:   audit-libs-devel}
@@ -56,15 +61,7 @@ BuildRequires:       m4
 BuildRequires: pkgconfig >= 0.9.0
 BuildRequires: rpmbuild(macros) >= 1.627
 BuildRequires: udev-devel >= 1:172
-# not required for building from release (which contains *.c for *.vala)
-#BuildRequires:        vala >= 0.10.0
 BuildRequires: xz-devel
-%if %{with gtk}
-BuildRequires: glib2-devel >= 1:2.26.1
-BuildRequires: gtk+2-devel >= 2:2.24.0
-BuildRequires: libgee-devel
-BuildRequires: libnotify-devel >= 0.7.0
-%endif
 Requires:      %{name}-libs = %{version}-%{release}
 Requires:      %{name}-units = %{version}-%{release}
 Requires:      /etc/os-release
@@ -72,19 +69,17 @@ Requires:   SysVinit-tools
 Requires:      agetty
 Requires:      dbus >= 1.4.16-6
 Requires:      filesystem >= 4.0-2
-Requires:      rc-scripts >= 0.4.5.1-7
+Requires:      libutempter
+Requires:      rc-scripts >= 0.4.5.3-7
 Requires:      setup >= 2.8.0-2
 Requires:      udev-core >= 1:175-5
 Requires:      udev-libs >= 1:172
 Requires:      virtual(module-tools)
+Suggests:      %{name}-no-compat-tmpfiles
 Suggests:      ConsoleKit
 Suggests:      fsck >= 2.20
 Suggests:      kmod >= 5
 Suggests:      nss_myhostname
-# python modules required by systemd-analyze
-Suggests:      %{name}-no-compat-tmpfiles
-Suggests:      python-dbus
-Suggests:      python-modules
 Suggests:      service(klogd)
 Suggests:      service(syslog)
 Provides:      udev-acl
@@ -94,7 +89,8 @@ Conflicts:    binfmt-detector
 Conflicts:     pam < 1:1.1.5-5
 # ...and sudo hates it
 Conflicts:     sudo < 1:1.7.8p2-4
-Conflicts:     upstart
+# for prefdm script
+Conflicts:     xinitrc-ng < 1.0
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _libexecdir     %{_prefix}/lib
@@ -130,6 +126,7 @@ Provides:   virtual(init-daemon)
 Obsoletes:     SysVinit
 Obsoletes:     readahead < 1:1.5.7-3
 Obsoletes:     virtual(init-daemon)
+Conflicts:     upstart
 
 %description init
 Install this package when you are ready to final switch to systemd.
@@ -163,6 +160,7 @@ Summary:    Plymouth support units for systemd
 Summary(pl.UTF-8):     Jednostki wspierające Plymouth dla systemd
 Group:         Base
 Requires:      %{name}-units = %{version}-%{release}
+Requires:      plymouth
 
 %description plymouth
 Plymouth (graphical boot) support units for systemd.
@@ -170,18 +168,19 @@ Plymouth (graphical boot) support units for systemd.
 %description plymouth -l pl.UTF-8
 Jednostki wspierające Plymouth (graficzny start systemu) dla systemd.
 
-%package gtk
-Summary:       Graphical frontend for systemd
-Summary(pl.UTF-8):     Graficzny interfejs do systemd
+%package analyze
+Summary:       Tool for processing systemd profiling information
 Group:         Base
 Requires:      %{name} = %{version}-%{release}
-Requires:      polkit
-
-%description gtk
-Graphical front-end for systemd.
+Requires:      python-dbus
+Requires:      python-modules
+Requires:      python-pycairo
+Conflicts:     %{name} < 44-3
 
-%description gtk -l pl.UTF-8
-Graficzny interfejs do systemd.
+%description analyze
+'systemd-analyze blame' lists which systemd unit needed how much time
+to finish initialization at boot. 'systemd-analyze plot' renders an
+SVG visualizing the parallel start of units at boot.
 
 %package libs
 Summary:       Shared systemd libraries
@@ -314,6 +313,8 @@ Force update of packages that provide tmpfiles.d configuration
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
+%patch5 -p1
+%patch6 -p1
 cp -p %{SOURCE2} src/systemd_booted.c
 
 %build
@@ -324,7 +325,7 @@ cp -p %{SOURCE2} src/systemd_booted.c
 %configure \
        %{__enable_disable audit} \
        %{__enable_disable cryptsetup libcryptsetup} \
-       %{__enable_disable gtk} \
+       --disable-gtk \
        %{__enable_disable pam} \
        %{__enable_disable plymouth} \
        %{__enable_disable selinux} \
@@ -341,11 +342,12 @@ cp -p %{SOURCE2} src/systemd_booted.c
 
 %install
 rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT/var/lib/%{name}/coredump
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
-./libtool --mode=install install -m755 systemd_booted $RPM_BUILD_ROOT/bin/systemd_booted
+./libtool --mode=install install -p -m755 systemd_booted $RPM_BUILD_ROOT/bin/systemd_booted
 
 # Main binary has been moved, but we don't want to break existing installs
 ln -s ../lib/systemd/systemd $RPM_BUILD_ROOT/bin/systemd
@@ -362,25 +364,36 @@ ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/shutdown
 ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/telinit
 
 ln -s ../modules $RPM_BUILD_ROOT%{_sysconfdir}/modules-load.d/modules.conf
-# disable random and console SYSV service
-ln -s /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/random.service
+
+# disable redundant SYSV services
+ln -s /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/allowlogin.service
 ln -s /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/console.service
+ln -s /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/cpusets.service
+ln -s /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/killall.service
+ln -s /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/netfs.service
+ln -s /dev/null $RPM_BUILD_ROOT%{systemdunitdir}/random.service
 
 # add static (non-NetworkManager) networking
-install %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/ifup@.service
-install %{SOURCE4} $RPM_BUILD_ROOT%{systemdunitdir}/network-post.service
-install %{SOURCE5} $RPM_BUILD_ROOT%{systemdunitdir}/network.service
+cp -p %{SOURCE3} $RPM_BUILD_ROOT%{systemdunitdir}/network.service
 
 # install compatibility tmpfiles configs
-install %{SOURCE6} $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d/compat-pld-media.conf
-install %{SOURCE7} $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d/compat-pld-var-run.conf
+cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d/compat-pld-media.conf
+cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d/compat-pld-var-run.conf
 
-# All wants links are created at %post to make sure they are not owned
-# and hence overriden by rpm if the user deletes them (missingok?)
-%{__rm} -r $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system/*.target.wants
+# Install and enable storage subsystems support services (RAID, LVM, etc.)
+cp -p %{SOURCE10} $RPM_BUILD_ROOT%{systemdunitdir}/pld-storage-init-late.service
+cp -p %{SOURCE11} $RPM_BUILD_ROOT%{systemdunitdir}/pld-storage-init.service
+cp -p %{SOURCE12} $RPM_BUILD_ROOT%{systemdunitdir}/pld-wait-storage.service
+cp -p %{SOURCE14} $RPM_BUILD_ROOT%{systemdunitdir}/pld-clean-tmp.service
+install -p %{SOURCE13} $RPM_BUILD_ROOT/lib/systemd/pld-storage-init
+install -p %{SOURCE15} $RPM_BUILD_ROOT/lib/systemd/pld-clean-tmp
 
-# it is in rc-scripts pkg
-%{__rm} $RPM_BUILD_ROOT%{systemdunitdir}/rc-local.service
+ln -s ../pld-storage-init-late.service $RPM_BUILD_ROOT%{systemdunitdir}/local-fs.target.wants
+ln -s ../pld-storage-init.service $RPM_BUILD_ROOT%{systemdunitdir}/local-fs.target.wants
+ln -s ../pld-clean-tmp.service $RPM_BUILD_ROOT%{systemdunitdir}/local-fs.target.wants
+
+# handled by rc-local sysv service, no need for generator
+%{__rm} $RPM_BUILD_ROOT/lib/systemd/system-generators/systemd-rc-local-generator
 
 # Make sure these directories are properly owned:
 #      - halt,kexec,poweroff,reboot: generic ones used by ConsoleKit-systemd,
@@ -398,9 +411,7 @@ install -d $RPM_BUILD_ROOT/var/log
 :> $RPM_BUILD_ROOT/var/log/btmp
 :> $RPM_BUILD_ROOT/var/log/wtmp
 
-%if %{without gtk}
 %{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/systemadm.1*
-%endif
 
 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
 %{__rm} $RPM_BUILD_ROOT/%{_lib}/security/pam_systemd.la
@@ -441,49 +452,26 @@ if [ $1 -eq 1 ]; then
                echo $HOSTNAME > /etc/hostname
                chmod 644 /etc/hostname
        fi
+
+       # Enable the services we install by default.
+       /bin/systemctl enable \
+               getty@.service \
+               network.service \
+               remote-fs.target \
+               systemd-readahead-replay.service \
+               systemd-readahead-collect.service >/dev/null 2>&1 || :
 fi
-# Enable the services we install by default.
-/bin/systemctl enable \
-       getty@.service \
-       network.service \
-       network-post.service \
-       remote-fs.target \
-       systemd-readahead-replay.service \
-       systemd-readahead-collect.service >/dev/null 2>&1 || :
-
-# Find and enable all installed interfaces
-mkdir -p %{_sysconfdir}/systemd/system/network.target.wants >/dev/null 2>&1 || :
-for f in /etc/sysconfig/interfaces/ifcfg-* ; do
-       ff=$(basename $f)
-       ff=${ff##ifcfg-}
-       case "$ff" in
-       *.rpmorig|*.rpmnew|*.rpmsave|*~|*.orig)
-               continue
-               ;;
-       *)
-               DEVICE="" ; ONBOOT="" ; USERS=""
-               . $f 2>/dev/null
-               [ ${USERS:-no} != no ] && continue
-               if [ "$DEVICE" = "$ff" -a ${ONBOOT:-no} = "yes" ]; then
-                       ln -s %{systemdunitdir}/ifup@.service \
-                               %{_sysconfdir}/systemd/system/network.target.wants/ifcfg@$ff.service >/dev/null 2>&1 || :
-               fi
-               ;;
-       esac
-done
 
 %preun units
 if [ $1 -eq 0 ] ; then
        /bin/systemctl disable \
                getty@.service \
                network.service \
-               network-post.service \
                remote-fs.target \
                systemd-readahead-replay.service \
                systemd-readahead-collect.service >/dev/null 2>&1 || :
 
        %{__rm} -f %{_sysconfdir}/systemd/system/default.target >/dev/null 2>&1 || :
-       %{__rm} -f %{_sysconfdir}/systemd/system/network.target.wants/ifcfg@*.service >/dev/null 2>&1 || :
 fi
 
 %postun units
@@ -491,9 +479,22 @@ if [ $1 -ge 1 ]; then
        /bin/systemctl daemon-reload > /dev/null 2>&1 || :
 fi
 
+%triggerpostun units -- %{name}-units < 43-7
+# Remove design fialures
+rm -f %{_sysconfdir}/systemd/system/network.target.wants/ifcfg@*.service >/dev/null 2>&1 || :
+rm -f %{_sysconfdir}/systemd/system/network.target.wants/network-post.service >/dev/null 2>&1 || :
+rm -f %{_sysconfdir}/systemd/system/multi-user.target.wants/network-post.service >/dev/null 2>&1 || :
+/bin/systemctl reenable network.service >/dev/null 2>&1 || :
+
 %post no-compat-tmpfiles
 %{__sed} -i -e '/^#/!s/^/# /g' %{_sysconfdir}/tmpfiles.d/compat-pld-var-run.conf
 
+%post plymouth
+%systemd_reload
+
+%postun plymouth
+%systemd_reload
+
 %files
 %defattr(644,root,root,755)
 %doc DISTRO_PORTING README TODO
@@ -510,6 +511,9 @@ fi
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/vconsole.conf
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/systemd/*.conf
 %dir %{_sysconfdir}/systemd/user
+%dir %{_sysconfdir}/systemd/system/*.target.wants
+%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/systemd/system/*.target.wants/*.service
+%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/systemd/system/*.target.wants/*.target
 /etc/xdg/systemd
 %attr(755,root,root) /bin/systemd
 %attr(755,root,root) /bin/systemd-ask-password
@@ -518,13 +522,13 @@ fi
 %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-analyze
 %attr(755,root,root) %{_bindir}/systemd-cat
 %attr(755,root,root) %{_bindir}/systemd-cgtop
 %attr(755,root,root) %{_bindir}/systemd-cgls
 %attr(755,root,root) %{_bindir}/systemd-nspawn
 %attr(755,root,root) %{_bindir}/systemd-stdio-bridge
 %attr(755,root,root) %{_bindir}/systemd-sysv-convert
+%attr(755,root,root) /lib/systemd/pld-storage-init
 %attr(755,root,root) /lib/systemd/systemd-*
 %dir /lib/systemd/system-generators
 %attr(755,root,root) /lib/systemd/systemd
@@ -557,15 +561,6 @@ fi
 %{_datadir}/systemd/kbd-model-map
 %{_mandir}/man1/systemd.1*
 %{_mandir}/man1/systemd-*.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*
@@ -575,6 +570,7 @@ fi
 %{_mandir}/man5/os-release.5*
 %{_mandir}/man5/sysctl.d.5*
 %{_mandir}/man5/systemd.*.5*
+%{_mandir}/man5/systemd-journald.conf.5*
 %{_mandir}/man5/systemd-logind.conf.5*
 %{_mandir}/man5/timezone.5*
 %{_mandir}/man5/vconsole.conf.5*
@@ -583,6 +579,8 @@ fi
 %{_mandir}/man7/sd-login.7*
 %{_mandir}/man7/sd-readahead.7*
 %{_mandir}/man7/systemd.special.7*
+%dir /var/lib/%{name}
+%dir /var/lib/%{name}/coredump
 %attr(640,root,root) %ghost /var/log/btmp
 %attr(664,root,utmp) %ghost /var/log/wtmp
 
@@ -698,13 +696,9 @@ fi
 %config(noreplace,missingok) %{systemdunitdir}/sysinit.target.wants/plymouth-start.service
 %endif
 
-%if %{with gtk}
-%files gtk
+%files analyze
 %defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/systemadm
-%attr(755,root,root) %{_bindir}/systemd-gnome-ask-password-agent
-%{_mandir}/man1/systemadm.1*
-%endif
+%attr(755,root,root) %{_bindir}/systemd-analyze
 
 %files libs
 %defattr(644,root,root,755)
@@ -728,21 +722,34 @@ fi
 %{_pkgconfigdir}/libsystemd-id128.pc
 %{_pkgconfigdir}/libsystemd-journal.pc
 %{_pkgconfigdir}/libsystemd-login.pc
+%{_mandir}/man3/sd_booted.3*
 %{_mandir}/man3/sd_get_seats.3*
 %{_mandir}/man3/sd_get_sessions.3*
 %{_mandir}/man3/sd_get_uids.3*
+%{_mandir}/man3/sd_is_fifo.3*
 %{_mandir}/man3/sd_is_mq.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_login_monitor_flush.3*
 %{_mandir}/man3/sd_login_monitor_get_fd.3*
 %{_mandir}/man3/sd_login_monitor_new.3*
 %{_mandir}/man3/sd_login_monitor_unref.3*
+%{_mandir}/man3/sd_notify.3*
+%{_mandir}/man3/sd_notifyf.3
 %{_mandir}/man3/sd_pid_get_owner_uid.3*
 %{_mandir}/man3/sd_pid_get_session.3*
 %{_mandir}/man3/sd_pid_get_unit.3*
+%{_mandir}/man3/sd_readahead.3*
 %{_mandir}/man3/sd_seat_can_multi_session.3*
 %{_mandir}/man3/sd_seat_get_active.3*
 %{_mandir}/man3/sd_seat_get_sessions.3*
+%{_mandir}/man3/sd_session_get_class.3*
+%{_mandir}/man3/sd_session_get_display.3*
 %{_mandir}/man3/sd_session_get_seat.3*
+%{_mandir}/man3/sd_session_get_service.3*
+%{_mandir}/man3/sd_session_get_type.3*
 %{_mandir}/man3/sd_session_get_uid.3*
 %{_mandir}/man3/sd_session_is_active.3*
 %{_mandir}/man3/sd_uid_get_seats.3*
This page took 0.223229 seconds and 4 git commands to generate.