systemd/systemd.spec
Peter Jones 143c96cb24 Use --nostart on authconfig calls.
Don't start ypdomainname and such when we enable pam modules in the
scriptlets.  Starting these services causes mock composes to reset
the host system's yp domain name, causing login failures.
2011-04-08 14:06:01 -04:00

436 lines
15 KiB
RPMSpec

Name: systemd
Url: http://www.freedesktop.org/wiki/Software/systemd
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
Version: 20
Release: 1%{?dist}
License: GPLv2+
Group: System Environment/Base
Summary: A System and Service Manager
BuildRequires: libudev-devel >= 160
BuildRequires: libcap-devel
BuildRequires: tcp_wrappers-devel
BuildRequires: pam-devel
BuildRequires: libselinux-devel
BuildRequires: audit-libs-devel
BuildRequires: cryptsetup-luks-devel
BuildRequires: libxslt
BuildRequires: docbook-style-xsl
BuildRequires: vala >= 0.11
BuildRequires: pkgconfig
BuildRequires: gtk2-devel
BuildRequires: libnotify-devel >= 0.7
BuildRequires: automake
BuildRequires: autoconf
BuildRequires: libtool
BuildRequires: make
Requires(post): authconfig
Requires: systemd-units = %{version}-%{release}
Requires: dbus >= 1.3.2
Requires: udev >= 160
Requires: libudev >= 160
Requires: initscripts >= 9.22
Conflicts: selinux-policy < 3.8.7
Requires: kernel >= 2.6.35.2-9.fc14
Source0: http://www.freedesktop.org/software/systemd/%{name}-%{version}.tar.bz2
# Adds support for the %%{_unitdir} macro
Source1: macros.systemd
# For sysvinit tools
Obsoletes: SysVinit < 2.86-24, sysvinit < 2.86-24
Provides: SysVinit = 2.86-24, sysvinit = 2.86-24
Provides: sysvinit-userspace
Provides: systemd-sysvinit
Obsoletes: systemd-sysvinit
Obsoletes: upstart < 0.6.5-11
Obsoletes: upstart-sysvinit < 0.6.5-11
Conflicts: upstart-sysvinit
Obsoletes: readahead < 1:1.5.7-3
Provides: readahead = 1:1.5.7-3
%description
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.
%package units
Group: System Environment/Base
Summary: Configuration files, directories and installation tool for systemd
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
Group: System Environment/Base
Summary: Graphical frontend for systemd
Requires: %{name} = %{version}-%{release}
Requires: polkit
%description gtk
Graphical front-end for systemd.
%prep
%setup -q
%build
%configure --with-rootdir= --with-distro=fedora
make %{?_smp_mflags}
%install
rm -rf %{buildroot}
make DESTDIR=%{buildroot} install
find %{buildroot} \( -name '*.a' -o -name '*.la' \) -exec rm {} \;
# Create SysV compatibility symlinks. systemctl/systemd are smart
# enough to detect in which way they are called.
mkdir -p %{buildroot}/sbin
ln -s ../bin/systemd %{buildroot}/sbin/init
ln -s ../bin/systemctl %{buildroot}/sbin/reboot
ln -s ../bin/systemctl %{buildroot}/sbin/halt
ln -s ../bin/systemctl %{buildroot}/sbin/poweroff
ln -s ../bin/systemctl %{buildroot}/sbin/shutdown
ln -s ../bin/systemctl %{buildroot}/sbin/telinit
ln -s ../bin/systemctl %{buildroot}/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 %{buildroot}/etc/systemd/system/*.target.wants
# Make sure the ghost-ing below works
touch %{buildroot}%{_sysconfdir}/systemd/system/runlevel2.target
touch %{buildroot}%{_sysconfdir}/systemd/system/runlevel3.target
touch %{buildroot}%{_sysconfdir}/systemd/system/runlevel4.target
touch %{buildroot}%{_sysconfdir}/systemd/system/runlevel5.target
touch %{buildroot}%{_sysconfdir}/machine-id
# Make sure these directories are properly owned
mkdir -p %{buildroot}/lib/systemd/system/basic.target.wants
mkdir -p %{buildroot}/lib/systemd/system/default.target.wants
mkdir -p %{buildroot}/lib/systemd/system/dbus.target.wants
mkdir -p %{buildroot}/lib/systemd/system/syslog.target.wants
# Install RPM macros file for systemd
mkdir -p %{buildroot}%{_sysconfdir}/rpm/
install -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/rpm/
# Mask legacy stuff
ln -s rescue.service %{buildroot}/lib/systemd/system/single.service
%clean
rm -rf $RPM_BUILD_ROOT
%post
/bin/systemd-machine-id-setup > /dev/null 2>&1 || :
/bin/systemctl daemon-reexec > /dev/null 2>&1 || :
# Make sure pam_systemd is enabled
if ! /bin/grep -q pam_systemd /etc/pam.d/system-auth-ac ; then
/usr/sbin/authconfig --update --nostart >/dev/null 2>&1 || :
# Try harder
/bin/grep -q pam_systemd /etc/pam.d/system-auth-ac || /usr/sbin/authconfig --updateall --nostart >/dev/null 2>&1 || :
fi
%post units
if [ $1 -eq 1 ] ; then
# 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
target="/lib/systemd/system/graphical.target"
else
target="/lib/systemd/system/runlevel$runlevel.target"
fi
# And symlink what we found to the new-style default.target
/bin/ln -sf "$target" /etc/systemd/system/default.target > /dev/null 2>&1 || :
# Enable the services we install by default.
/bin/systemctl enable \
getty@.service \
getty.target \
remote-fs.target \
quotaon.service \
quotacheck.service \
systemd-readahead-replay.service \
systemd-readahead-collect.service \
hwclock-load.service > /dev/null 2>&1 || :
fi
%preun units
if [ $1 -eq 0 ] ; then
/bin/systemctl disable \
getty@.service \
getty.target \
remote-fs.target \
quotaon.service \
quotacheck.service \
systemd-readahead-replay.service \
systemd-readahead-collect.service \
hwclock-load.service > /dev/null 2>&1 || :
/bin/rm -f /etc/systemd/system/default.target > /dev/null 2>&1 || :
fi
%postun units
if [ $1 -ge 1 ] ; then
/bin/systemctl daemon-reload > /dev/null 2>&1 || :
fi
%files
%defattr(-,root,root,-)
%config(noreplace) %{_sysconfdir}/dbus-1/system.d/org.freedesktop.systemd1.conf
%config(noreplace) %{_sysconfdir}/systemd/system.conf
%dir %{_sysconfdir}/systemd/user
%{_sysconfdir}/xdg/systemd
%{_sysconfdir}/tmpfiles.d/systemd.conf
%{_sysconfdir}/tmpfiles.d/x11.conf
%ghost %config(noreplace) %{_sysconfdir}/machine-id
/bin/systemd
/bin/systemd-notify
/bin/systemd-ask-password
/bin/systemd-tty-ask-password-agent
/bin/systemd-machine-id-setup
/lib/systemd/systemd-*
/lib/udev/rules.d/*.rules
%dir /lib/systemd/system-generators
/lib/systemd/system-generators/systemd-cryptsetup-generator
/%{_lib}/security/pam_systemd.so
/sbin/init
/sbin/reboot
/sbin/halt
/sbin/poweroff
/sbin/shutdown
/sbin/telinit
/sbin/runlevel
%{_bindir}/systemd-cgls
%{_mandir}/man1/*
%exclude %{_mandir}/man1/systemctl.*
%{_mandir}/man3/*
%{_mandir}/man5/*
%{_mandir}/man7/*
%{_mandir}/man8/*
%{_datadir}/systemd
%{_datadir}/dbus-1/services/org.freedesktop.systemd1.service
%{_datadir}/dbus-1/system-services/org.freedesktop.systemd1.service
%{_datadir}/dbus-1/interfaces/org.freedesktop.systemd1.*.xml
%{_docdir}/systemd
%files units
%defattr(-,root,root,-)
%dir %{_sysconfdir}/systemd
%dir %{_sysconfdir}/systemd/system
%dir %{_sysconfdir}/tmpfiles.d
%dir %{_sysconfdir}/bash_completion.d
%dir /lib/systemd
/lib/systemd/system
/bin/systemctl
/bin/systemd-tmpfiles
%{_sysconfdir}/bash_completion.d/systemctl-bash-completion.sh
%{_sysconfdir}/rpm/macros.systemd
%{_mandir}/man1/systemctl.*
%{_datadir}/pkgconfig/systemd.pc
%{_docdir}/systemd/LICENSE
# Make sure we don't remove runlevel targets from F14 alpha installs,
# but make sure we don't create then anew.
%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel2.target
%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel3.target
%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel4.target
%ghost %config(noreplace) %{_sysconfdir}/systemd/system/runlevel5.target
%files gtk
%defattr(-,root,root,-)
%{_bindir}/systemadm
%{_bindir}/systemd-gnome-ask-password-agent
%{_datadir}/polkit-1/actions/org.freedesktop.systemd1.policy
%{_mandir}/man1/systemadm.*
%changelog
* Tue Mar 8 2011 Lennart Poettering <lpoetter@redhat.com> - 20-1
- New upstream release
* Tue Mar 1 2011 Lennart Poettering <lpoetter@redhat.com> - 19-1
- New upstream release
* Wed Feb 16 2011 Lennart Poettering <lpoetter@redhat.com> - 18-1
- New upstream release
* Mon Feb 14 2011 Bill Nottingham <notting@redhat.com> - 17-6
- bump upstart obsoletes (#676815)
* Wed Feb 9 2011 Tom Callaway <spot@fedoraproject.org> - 17-5
- add macros.systemd file for %%{_unitdir}
* Wed Feb 09 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 17-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
* Wed Feb 9 2011 Lennart Poettering <lpoetter@redhat.com> - 17-3
- Fix popen() of systemctl, #674916
* Mon Feb 7 2011 Bill Nottingham <notting@redhat.com> - 17-2
- add epoch to readahead obsolete
* Sat Jan 22 2011 Lennart Poettering <lpoetter@redhat.com> - 17-1
- New upstream release
* Tue Jan 18 2011 Lennart Poettering <lpoetter@redhat.com> - 16-2
- Drop console.conf again, since it is not shipped in pamtmp.conf
* Sat Jan 8 2011 Lennart Poettering <lpoetter@redhat.com> - 16-1
- New upstream release
* Thu Nov 25 2010 Lennart Poettering <lpoetter@redhat.com> - 15-1
- New upstream release
* Thu Nov 25 2010 Lennart Poettering <lpoetter@redhat.com> - 14-1
- Upstream update
- Enable hwclock-load by default
- Obsolete readahead
- Enable /var/run and /var/lock on tmpfs
* Fri Nov 19 2010 Lennart Poettering <lpoetter@redhat.com> - 13-1
- new upstream release
* Wed Nov 17 2010 Bill Nottingham <notting@redhat.com> 12-3
- Fix clash
* Wed Nov 17 2010 Lennart Poettering <lpoetter@redhat.com> - 12-2
- Don't clash with initscripts for now, so that we don't break the builders
* Wed Nov 17 2010 Lennart Poettering <lpoetter@redhat.com> - 12-1
- New upstream release
* Fri Nov 12 2010 Matthias Clasen <mclasen@redhat.com> - 11-2
- Rebuild with newer vala, libnotify
* Thu Oct 7 2010 Lennart Poettering <lpoetter@redhat.com> - 11-1
- New upstream release
* Wed Sep 29 2010 Jesse Keating <jkeating@redhat.com> - 10-6
- Rebuilt for gcc bug 634757
* Thu Sep 23 2010 Bill Nottingham <notting@redhat.com> - 10-5
- merge -sysvinit into main package
* Mon Sep 20 2010 Bill Nottingham <notting@redhat.com> - 10-4
- obsolete upstart-sysvinit too
* Fri Sep 17 2010 Bill Nottingham <notting@redhat.com> - 10-3
- Drop upstart requires
* Tue Sep 14 2010 Lennart Poettering <lpoetter@redhat.com> - 10-2
- Enable audit
- https://bugzilla.redhat.com/show_bug.cgi?id=633771
* Tue Sep 14 2010 Lennart Poettering <lpoetter@redhat.com> - 10-1
- New upstream release
- https://bugzilla.redhat.com/show_bug.cgi?id=630401
- https://bugzilla.redhat.com/show_bug.cgi?id=630225
- https://bugzilla.redhat.com/show_bug.cgi?id=626966
- https://bugzilla.redhat.com/show_bug.cgi?id=623456
* Fri Sep 3 2010 Bill Nottingham <notting@redhat.com> - 9-3
- move fedora-specific units to initscripts; require newer version thereof
* Fri Sep 3 2010 Lennart Poettering <lpoetter@redhat.com> - 9-2
- Add missing tarball
* Fri Sep 3 2010 Lennart Poettering <lpoetter@redhat.com> - 9-1
- New upstream version
- Closes 501720, 614619, 621290, 626443, 626477, 627014, 627785, 628913
* Fri Aug 27 2010 Lennart Poettering <lpoetter@redhat.com> - 8-3
- Reexecute after installation, take ownership of /var/run/user
- https://bugzilla.redhat.com/show_bug.cgi?id=627457
- https://bugzilla.redhat.com/show_bug.cgi?id=627634
* Thu Aug 26 2010 Lennart Poettering <lpoetter@redhat.com> - 8-2
- Properly create default.target link
* Wed Aug 25 2010 Lennart Poettering <lpoetter@redhat.com> - 8-1
- New upstream release
* Thu Aug 12 2010 Lennart Poettering <lpoetter@redhat.com> - 7-3
- Fix https://bugzilla.redhat.com/show_bug.cgi?id=623561
* Thu Aug 12 2010 Lennart Poettering <lpoetter@redhat.com> - 7-2
- Fix https://bugzilla.redhat.com/show_bug.cgi?id=623430
* Tue Aug 10 2010 Lennart Poettering <lpoetter@redhat.com> - 7-1
- New upstream release
* Fri Aug 6 2010 Lennart Poettering <lpoetter@redhat.com> - 6-2
- properly hide output on package installation
- pull in coreutils during package installtion
* Fri Aug 6 2010 Lennart Poettering <lpoetter@redhat.com> - 6-1
- New upstream release
- Fixes #621200
* Wed Aug 4 2010 Lennart Poettering <lpoetter@redhat.com> - 5-2
- Add tarball
* Wed Aug 4 2010 Lennart Poettering <lpoetter@redhat.com> - 5-1
- Prepare release 5
* Tue Jul 27 2010 Bill Nottingham <notting@redhat.com> - 4-4
- Add 'sysvinit-userspace' provide to -sysvinit package to fix upgrade/install (#618537)
* Sat Jul 24 2010 Lennart Poettering <lpoetter@redhat.com> - 4-3
- Add libselinux to build dependencies
* Sat Jul 24 2010 Lennart Poettering <lpoetter@redhat.com> - 4-2
- Use the right tarball
* Sat Jul 24 2010 Lennart Poettering <lpoetter@redhat.com> - 4-1
- New upstream release, and make default
* Tue Jul 13 2010 Lennart Poettering <lpoetter@redhat.com> - 3-3
- Used wrong tarball
* Tue Jul 13 2010 Lennart Poettering <lpoetter@redhat.com> - 3-2
- Own /cgroup jointly with libcgroup, since we don't dpend on it anymore
* Tue Jul 13 2010 Lennart Poettering <lpoetter@redhat.com> - 3-1
- New upstream release
* Fri Jul 9 2010 Lennart Poettering <lpoetter@redhat.com> - 2-0
- New upstream release
* Wed Jul 7 2010 Lennart Poettering <lpoetter@redhat.com> - 1-0
- First upstream release
* Tue Jun 29 2010 Lennart Poettering <lpoetter@redhat.com> - 0-0.7.20100629git4176e5
- New snapshot
- Split off -units package where other packages can depend on without pulling in the whole of systemd
* Tue Jun 22 2010 Lennart Poettering <lpoetter@redhat.com> - 0-0.6.20100622gita3723b
- Add missing libtool dependency.
* Tue Jun 22 2010 Lennart Poettering <lpoetter@redhat.com> - 0-0.5.20100622gita3723b
- Update snapshot
* Mon Jun 14 2010 Rahul Sundaram <sundaram@fedoraproject.org> - 0-0.4.20100614git393024
- Pull the latest snapshot that fixes a segfault. Resolves rhbz#603231
* Thu Jun 11 2010 Rahul Sundaram <sundaram@fedoraproject.org> - 0-0.3.20100610git2f198e
- More minor fixes as per review
* Thu Jun 10 2010 Rahul Sundaram <sundaram@fedoraproject.org> - 0-0.2.20100610git2f198e
- Spec improvements from David Hollis
* Wed Jun 09 2010 Rahul Sundaram <sundaram@fedoraproject.org> - 0-0.1.20090609git2f198e
- Address review comments
* Tue Jun 01 2010 Rahul Sundaram <sundaram@fedoraproject.org> - 0-0.0.git2010-06-02
- Initial spec (adopted from Kay Sievers)