+#
+# Conditional build:
%bcond_with preconfigured
+%bcond_without selinux # build without SELinux support
+#
Summary: System V initialization program
Summary(de): System V-Intialisierungsprogramm
Summary(es): Programa de inicialización System V
Summary(tr): System V baþlatma programý
Summary(uk): ðÒÏÇÒÁÍÉ, ÝÏ ËÅÒÕÀÔØ ÂÁÚÏ×ÉÍÉ ÓÉÓÔÅÍÎÉÍÉ ÐÒÏÃÅÓÁÍÉ
Name: SysVinit
-Version: 2.85
-Release: 7
+Version: 2.86
+Release: 6
License: GPL
Group: Base
Source0: ftp://ftp.cistron.nl/pub/people/miquels/software/sysvinit-%{version}.tar.gz
-# Source0-md5: 8a2d8f1ed5a2909da04132fefa44905e
+# Source0-md5: 7d5d61c026122ab791ac04c8a84db967
Source1: sysvinit.logrotate
Source2: http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/sysvinit-non-english-man-pages.tar.bz2
# Source2-md5: 9ae8a63a4685368fae19707f95475cca
Patch4: sysvinit-man.patch
Patch5: sysvinit-halt.patch
Patch6: sysvinit-blowfish.patch
-Patch7: sysvinit-initctl.patch
-Patch8: sysvinit-autofsck.patch
-Patch9: sysvinit-pidof.patch
-Patch10: sysvinit-log-signals.patch
-Patch11: sysvinit-killall5.patch
+Patch7: sysvinit-autofsck.patch
+Patch8: sysvinit-pidof.patch
+Patch9: sysvinit-killall5.patch
# based on http://www.nsa.gov/selinux/patches/sysvinit-selinux.patch.gz
-Patch12: sysvinit-selinux.patch
-BuildRequires: libselinux-devel >= 1.14
+Patch10: sysvinit-selinux.patch
+Patch11: sysvinit-nopowerstates-single.patch
+%if %{with selinux}
+BuildRequires: libselinux-devel >= 1.18
+BuildRequires: libsepol-devel
+%endif
+BuildRequires: rpmbuild(macros) >= 1.202
Requires(pre): /usr/bin/getgid
Requires(pre): /usr/sbin/groupadd
Requires(post): fileutils
Requires: login
%if %{with preconfigured}
Requires: logrotate
-Requires: mingetty
%endif
-Requires: libselinux >= 1.14
+Requires: mingetty
+%{?with_selinux:Requires: libselinux >= 1.18}
+Obsoletes: vserver-SysVinit
+Provides: group(utmp)
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _sbindir /sbin
+# as in original flags
+%define specflags -fomit-frame-pointer
%description
The SysVinit package contains a group of processes that control the
%patch7 -p1
%patch8 -p1
%patch9 -p1
-%patch10 -p1
+%{?with_selinux:%patch10 -p1}
%patch11 -p1
-%patch12 -p1
%build
%{__make} -C src \
CC="%{__cc}" \
LCRYPT="-lcrypt" \
- OPTIMIZE="%{rpmcflags}"
+ OPTIMIZE="%{rpmcflags}" \
+ LDFLAGS="%{rpmldflags}"
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_sbindir},%{_mandir}/man{1,5,8}} \
- $RPM_BUILD_ROOT{%{_sysconfdir},/etc/logrotate.d,/var/log}
+install -d $RPM_BUILD_ROOT{/bin,%{_bindir},%{_sbindir},%{_mandir}/man{1,5,8}} \
+ $RPM_BUILD_ROOT{%{_includedir},%{_sysconfdir},/etc/logrotate.d,/var/log}
%{__make} install -C src \
ROOT=$RPM_BUILD_ROOT \
rm -rf $RPM_BUILD_ROOT
%pre
-if [ -n "`/usr/bin/getgid utmp`" ]; then
- if [ "`/usr/bin/getgid utmp`" != "22" ]; then
- echo "Error: group utmp doesn't have gid=22. Correct this before installing SysVinit." 1>&2
- exit 1
- fi
-else
- /usr/sbin/groupadd -g 22 -r -f utmp
-fi
+%groupadd -g 22 utmp
%post
-touch %{_sysconfdir}/ioctl.save /var/log/{fail,last}log
+touch %{_sysconfdir}/ioctl.save /var/log/{{fail,last}log,btmpx}
chmod 000 %{_sysconfdir}/ioctl.save /var/log/{fail,last}log
chown root:root %{_sysconfdir}/ioctl.save /var/log/faillog
chown root:utmp /var/log/lastlog
chmod 600 %{_sysconfdir}/ioctl.save
chmod 640 /var/log/faillog
chmod 660 /var/log/lastlog
+chmod 640 /var/log/btmpx
%{_sbindir}/telinit u || :
%postun
if [ "$1" = "0" ]; then
- /usr/sbin/groupdel utmp
+ %groupremove utmp
fi
%files
%defattr(644,root,root,755)
%doc doc/{Propaganda,Changelog,*.lsm}
+%attr(755,root,root) /bin/mountpoint
%attr(755,root,root) %{_sbindir}/*
%attr(755,root,root) %{_bindir}/last
%attr(755,root,root) %{_bindir}/lastb
%lang(ja) %{_mandir}/ja/man[158]/*
%lang(ko) %{_mandir}/ko/man[158]/*
%lang(pl) %{_mandir}/pl/man[158]/*
+
+# devel?
+#%{_includedir}/initreq.h