]> git.pld-linux.org Git - packages/systemd.git/blobdiff - systemd.spec
- /lib/systemd and /usr/lib/tmpfiles.d moved to filesystem
[packages/systemd.git] / systemd.spec
index 3e18d9ca4b7f6b902afa3b1b5e38c5e70d2d3714..f1b876a204402c8f2200478cf28b48ce762b239d 100644 (file)
@@ -6,53 +6,72 @@
 #   /etc/timezone
 #   /etc/vconsole.conf
 #
+# TODO:        - move %_libexecdir/tmpfiles.d/* to /etc/tmpfiles.d?
+#      - shouldn't ../bin/systemctl symlinks be absolute? -no they shouldn't (think browsing mounted as chroot and seeing all blink due invalid link targets when doing ls)
+#      - separate init subpackage (with symlink), one can switch to
+#        systemd using init=/bin/systemd with other one installed
+#      - verify %_sysconfdir usage vs literal '/etc'
+#
 # 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_without gtk             # build gtk tools
+%bcond_without pam             # PAM authentication support
+%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:       37
-Release:       0.4
+Release:       0.7
 License:       GPL v2+
 Group:         Base
 Source0:       http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.bz2
 # Source0-md5: 1435f23be79c8c38d1121c6b150510f3
+Source1:       systemd-sysv-convert
 Patch0:                target-pld.patch
 URL:           http://www.freedesktop.org/wiki/Software/systemd
 %{?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: dbus-devel >= 1.3.2
 BuildRequires: docbook-style-xsl
-%{?with_gtk:BuildRequires:     glib2-devel >= 1:2.26.1}
+%if %{with gtk}
+BuildRequires: glib2-devel >= 1:2.26.1
+BuildRequires: gtk+2-devel >= 2:2.24.0
+BuildRequires: libnotify-devel >= 0.7.0
+%endif
 BuildRequires: gperf
-%{?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: libxslt-progs
 BuildRequires: m4
 %{?with_pam:BuildRequires:     pam-devel}
-BuildRequires: pkgconfig
+BuildRequires: pkgconfig >= 0.9.0
 BuildRequires: rpmbuild(macros) >= 1.527
 BuildRequires: udev-devel >= 160
 BuildRequires: vala >= 0.10.0
+Requires:      %{name}-libs = %{version}-%{release}
 Requires:      %{name}-units = %{version}-%{release}
+Requires:      SysVinit-tools
+Requires:      agetty
 Requires:      dbus >= 1.3.2
+Requires:      dbus-systemd
 # python modules required by systemd-analyze
+Requires:      filesystem >= 4.0
 Requires:      python-dbus
 Requires:      python-modules
 Requires:      rc-scripts
+Requires:      setup >= 2.8.0-2
 Requires:      udev-core >= 160
+Requires:      udev-systemd
+Suggests:      ConsoleKit-systemd
+Suggests:      rsyslog-systemd
+Suggests:      udev-systemd
 Provides:      SysVinit = 2.86-26
 Provides:      readahead = 1:1.5.7-3
 Provides:      virtual(init-daemon)
@@ -113,11 +132,18 @@ Requires: bash-completion
 %description -n bash-completion-systemd
 bash-completion for systemd.
 
+%package libs
+Summary:       Shared systemd library
+Group:         Libraries
+
+%description libs
+Shared systemd library.
+
 %package devel
 Summary:       Header files for systemd libraries
 Summary(pl.UTF-8):     Pliki nagłówkowe bibliotek systemd
 Group:         Development/Libraries
-Requires:      %{name} = %{version}-%{release}
+Requires:      %{name}-libs = %{version}-%{release}
 
 %description devel
 Header files for systemd libraries.
@@ -149,69 +175,78 @@ Pliki nagłówkowe bibliotek systemd.
 
 %install
 rm -rf $RPM_BUILD_ROOT
+
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT
 
-%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}
-%{__rm} $RPM_BUILD_ROOT/%{_lib}/security/pam_systemd.la
-%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
-
-%if %{without gtk}
-# to shut up check-files
-rm -f $RPM_BUILD_ROOT%{_bindir}/systemadm
-rm -f $RPM_BUILD_ROOT%{_bindir}/systemd-gnome-ask-password-agent
-rm -f $RPM_BUILD_ROOT%{_mandir}/man1/systemadm.1*
-%endif
+for lib in libsystemd-daemon libsystemd-login; do
+       %{__mv} $RPM_BUILD_ROOT{%{_libdir}/$lib.so.*,/%{_lib}}
+       ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/$lib.so.*.*.*) $RPM_BUILD_ROOT%{_libdir}/$lib.so
+done
 
 # 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/reboot
+ln -s ../bin/systemctl $RPM_BUILD_ROOT/sbin/runlevel
 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
+
+ln -s ../modules $RPM_BUILD_ROOT%{_sysconfdir}/modules-load.d/modules.conf
 
 # 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
+%{__rm} -r $RPM_BUILD_ROOT%{_sysconfdir}/systemd/system/*.target.wants
+
+# do not cover /media (system-specific removable mountpoints) for now
+# needs %post code to convert existing /media structure to tmpfiles
+%{__rm} -f $RPM_BUILD_ROOT/lib/systemd/local-fs.target.wants/media.mount
+# do not cover /var/run until packages need rpm-provided-only subdirectories
+%{__rm} -f $RPM_BUILD_ROOT/lib/systemd/local-fs.target.wants/var-run.mount
 
 # Make sure these directories are properly owned
-install -d $RPM_BUILD_ROOT/lib/systemd/system/basic.target.wants
-install -d $RPM_BUILD_ROOT/lib/systemd/system/dbus.target.wants
-install -d $RPM_BUILD_ROOT/lib/systemd/system/default.target.wants
-install -d $RPM_BUILD_ROOT/lib/systemd/system/halt.target.wants
-install -d $RPM_BUILD_ROOT/lib/systemd/system/kexec.target.wants
-install -d $RPM_BUILD_ROOT/lib/systemd/system/poweroff.target.wants
-install -d $RPM_BUILD_ROOT/lib/systemd/system/reboot.target.wants
-install -d $RPM_BUILD_ROOT/lib/systemd/system/syslog.target.wants
+install -d $RPM_BUILD_ROOT/lib/systemd/system/{basic,dbus,default,halt,kexec,poweroff,reboot,syslog}.target.wants
 
 # Create new-style configuration files so that we can ghost-own them
-touch $RPM_BUILD_ROOT%{_sysconfdir}/hostname
-touch $RPM_BUILD_ROOT%{_sysconfdir}/locale.conf
-touch $RPM_BUILD_ROOT%{_sysconfdir}/machine-id
-touch $RPM_BUILD_ROOT%{_sysconfdir}/machine-info
-touch $RPM_BUILD_ROOT%{_sysconfdir}/os-release
-touch $RPM_BUILD_ROOT%{_sysconfdir}/timezone
-touch $RPM_BUILD_ROOT%{_sysconfdir}/vconsole.conf
+touch $RPM_BUILD_ROOT%{_sysconfdir}/{hostname,locale.conf,machine-id,machine-info,os-release,timezone,vconsole.conf}
+
+# Install SysV conversion tool for systemd
+install -m 0755 %{SOURCE1} $RPM_BUILD_ROOT/%{_bindir}/
+
+install -d $RPM_BUILD_ROOT/var/log
+> $RPM_BUILD_ROOT/var/log/btmp
+> $RPM_BUILD_ROOT/var/log/wtmp
+
+%if %{without gtk}
+# to shut up check-files
+rm -f $RPM_BUILD_ROOT%{_bindir}/systemadm
+rm -f $RPM_BUILD_ROOT%{_bindir}/systemd-gnome-ask-password-agent
+%{__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
+%{__rm} $RPM_BUILD_ROOT%{_libdir}/*.la
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
 %post
-/sbin/ldconfig
 /bin/systemd-machine-id-setup > /dev/null 2>&1 || :
 /bin/systemctl daemon-reexec > /dev/null 2>&1 || :
 
 %postun
-/sbin/ldconfig
 if [ $1 -ge 1 ]; then
        /bin/systemctl try-restart systemd-logind.service >/dev/null 2>&1 || :
 fi
 
+%post   libs -p /sbin/ldconfig
+%postun libs -p /sbin/ldconfig
+
 %post units
 if [ $1 -eq 1 ]; then
        # Try to read default runlevel from the old inittab if it exists
@@ -257,11 +292,9 @@ fi
 /etc/dbus-1/system.d/org.freedesktop.login1.conf
 /etc/dbus-1/system.d/org.freedesktop.systemd1.conf
 /etc/dbus-1/system.d/org.freedesktop.timedate1.conf
-%dir %{_sysconfdir}/systemd
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/systemd/system.conf
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/systemd/systemd-logind.conf
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/systemd/user.conf
 %ghost %config(noreplace) %{_sysconfdir}/machine-id
+%dir %{_sysconfdir}/systemd
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/systemd/*.conf
 /etc/xdg/systemd
 %attr(755,root,root) /bin/systemd
 %attr(755,root,root) /bin/systemd-ask-password
@@ -269,9 +302,10 @@ 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-cgls
 %attr(755,root,root) %{_bindir}/systemd-analyze
+%attr(755,root,root) %{_bindir}/systemd-cgls
 %attr(755,root,root) %{_bindir}/systemd-nspawn
+%attr(755,root,root) %{_bindir}/systemd-sysv-convert
 %attr(755,root,root) %{_bindir}/systemd-stdio-bridge
 %attr(755,root,root) /sbin/halt
 %attr(755,root,root) /sbin/init
@@ -281,27 +315,16 @@ fi
 %attr(755,root,root) /sbin/shutdown
 %attr(755,root,root) /sbin/telinit
 %attr(755,root,root) /lib/systemd/systemd-*
-%attr(755,root,root) %{_libdir}/libsystemd-daemon.so.*.*.*
-%ghost %{_libdir}/libsystemd-daemon.so.0
-%attr(755,root,root) %{_libdir}/libsystemd-login.so.*.*.*
-%ghost %{_libdir}/libsystemd-login.so.0
-
-%dir %{_libexecdir}/systemd
-%{_libexecdir}/systemd/user
 %dir /lib/systemd/system-generators
-%if %{with cryptsetup}
-%attr(755,root,root) /lib/systemd/system-generators/systemd-cryptsetup-generator
-%endif
-%attr(755,root,root) /lib/systemd/system-generators/systemd-getty-generator
+%attr(755,root,root) /lib/systemd/system-generators/systemd-*-generator
 %dir /lib/systemd/system-shutdown
 /lib/udev/rules.d/99-systemd.rules
 /lib/udev/rules.d/70-uaccess.rules
 /lib/udev/rules.d/71-seat.rules
 /lib/udev/rules.d/73-seat-late.rules
-%{_libexecdir}/tmpfiles.d/legacy.conf
-%{_libexecdir}/tmpfiles.d/systemd.conf
-%{_libexecdir}/tmpfiles.d/x11.conf
-%{_libexecdir}/tmpfiles.d/tmp.conf
+%dir %{_libexecdir}/systemd
+%{_libexecdir}/systemd/user
+%config(noreplace,missingok) %{_libexecdir}/tmpfiles.d/*.conf
 %{_datadir}/dbus-1/interfaces/org.freedesktop.hostname1.xml
 %{_datadir}/dbus-1/interfaces/org.freedesktop.locale1.xml
 %{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml
@@ -343,22 +366,10 @@ fi
 %{_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}/man5/systemd.*.5*
 %{_mandir}/man5/systemd-logind.conf.5*
 %{_mandir}/man5/timezone.5*
+%{_mandir}/man5/vconsole.conf.5*
 %{_mandir}/man7/daemon.7*
 %{_mandir}/man7/sd-daemon.7*
 %{_mandir}/man7/sd-readahead.7*
@@ -369,30 +380,37 @@ fi
 %{_mandir}/man8/runlevel.8*
 %{_mandir}/man8/shutdown.8*
 %{_mandir}/man8/telinit.8*
+%attr(640,root,root) %ghost /var/log/btmp
+%attr(664,root,utmp) %ghost /var/log/wtmp
 
 %if %{with pam}
 %attr(755,root,root) /%{_lib}/security/pam_systemd.so
 %{_mandir}/man8/pam_systemd.8*
 %endif
 
+%files libs
+%defattr(644,root,root,755)
+%attr(755,root,root) /%{_lib}/libsystemd-daemon.so.*.*.*
+%attr(755,root,root) %ghost /%{_lib}/libsystemd-daemon.so.0
+%attr(755,root,root) /%{_lib}/libsystemd-login.so.*.*.*
+%attr(755,root,root) %ghost /%{_lib}/libsystemd-login.so.0
+
 %files units
 %defattr(644,root,root,755)
 %dir %{_sysconfdir}/binfmt.d
 %dir %{_sysconfdir}/modules-load.d
+%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/modules-load.d/modules.conf
 %dir %{_sysconfdir}/sysctl.d
 %dir %{_sysconfdir}/systemd
 %dir %{_sysconfdir}/systemd/system
 %dir %{_sysconfdir}/tmpfiles.d
-%dir /lib/systemd
-/lib/systemd/system
 %dir %{_libexecdir}/binfmt.d
 %dir %{_libexecdir}/modules-load.d
 %dir %{_libexecdir}/sysctl.d
-%dir %{_libexecdir}/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}/man5/tmpfiles.d.5*
 %{_mandir}/man8/systemd-tmpfiles.8*
 %{_npkgconfigdir}/systemd.pc
 
@@ -411,7 +429,7 @@ fi
 %files devel
 %defattr(644,root,root,755)
 %{_includedir}/systemd
-%{_libdir}/libsystemd-daemon.so
-%{_libdir}/libsystemd-login.so
+%attr(755,root,root) %{_libdir}/libsystemd-daemon.so
+%attr(755,root,root) %{_libdir}/libsystemd-login.so
 %{_pkgconfigdir}/libsystemd-daemon.pc
 %{_pkgconfigdir}/libsystemd-login.pc
This page took 0.896714 seconds and 4 git commands to generate.