]> git.pld-linux.org Git - packages/SysVinit.git/blobdiff - SysVinit.spec
switch from wtmpx to wtmp
[packages/SysVinit.git] / SysVinit.spec
index b424aca05271c9c9ec60284b0222890d982edf7a..6925a69edd7d1de5304b90de7f8101a0de49b789 100644 (file)
@@ -1,6 +1,5 @@
 #
 # Conditional build:
-%bcond_with    preconfigured
 %bcond_without selinux         # build without SELinux support
 #
 Summary:       System V initialization program
@@ -13,48 +12,49 @@ Summary(ru.UTF-8):  Программы, управляющие базовыми 
 Summary(tr.UTF-8):     System V başlatma programı
 Summary(uk.UTF-8):     Програми, що керують базовими системними процесами
 Name:          SysVinit
-Version:       2.86
-Release:       12
-License:       GPL
+Version:       2.88
+Release:       16
+License:       GPL v2+
 Group:         Base
-Source0:       ftp://ftp.cistron.nl/pub/people/miquels/software/sysvinit-%{version}.tar.gz
-# Source0-md5: 7d5d61c026122ab791ac04c8a84db967
+Source0:       http://download.savannah.gnu.org/releases/sysvinit/sysvinit-%{version}dsf.tar.bz2
+# Source0-md5: 6eda8a97b86e0a6f59dabbf25202aa6f
 Source1:       sysvinit.logrotate
 Source2:       http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/sysvinit-non-english-man-pages.tar.bz2
+Source3:       crypttab.5
 # Source2-md5: 9ae8a63a4685368fae19707f95475cca
 Patch0:                sysvinit-paths.patch
 Patch1:                sysvinit-bequiet.patch
-Patch2:                sysvinit-md5-bigendian.patch
-Patch3:                sysvinit-wtmp.patch
-Patch4:                sysvinit-man.patch
-Patch5:                sysvinit-halt.patch
-Patch6:                sysvinit-blowfish.patch
-Patch7:                sysvinit-autofsck.patch
-Patch8:                sysvinit-pidof.patch
-Patch9:                sysvinit-killall5.patch
-Patch10:       sysvinit-selinux.patch
-Patch11:       sysvinit-nopowerstates-single.patch
-Patch12:       sysvinit-lastlog.patch
-Patch13:       sysvinit-alt-fixes.patch
+Patch2:                sysvinit-wtmp.patch
+Patch3:                sysvinit-man.patch
+Patch4:                sysvinit-halt.patch
+Patch5:                sysvinit-autofsck.patch
+Patch6:                sysvinit-pidof.patch
+Patch7:                sysvinit-killall5.patch
+Patch8:                sysvinit-nopowerstates-single.patch
+Patch9:                sysvinit-lastlog.patch
+Patch10:       sysvinit-alt-fixes.patch
+Patch11:       sysvinit-quiet.patch
+Patch12:       sysvinit-rebootconfirmation.patch
+URL:           http://savannah.nongnu.org/projects/sysvinit/
 %if %{with selinux}
 BuildRequires: libselinux-devel >= 1.28
+BuildRequires: libsepol-devel
 %endif
 BuildRequires: rpmbuild(macros) >= 1.202
-Requires(post):        fileutils
 Requires(postun):      /usr/sbin/groupdel
 Requires(pre): /usr/bin/getgid
 Requires(pre): /usr/sbin/groupadd
+Requires:      %{name}-tools = %{version}-%{release}
 Requires:      /bin/awk
-Requires:      login
-%if %{with preconfigured}
-Requires:      logrotate
-%endif
 %{?with_selinux:Requires:      libselinux >= 1.18}
+Requires:      login
 Requires:      mingetty
+Requires:      util-linux >= 2.24-1
 Provides:      group(utmp)
 Provides:      virtual(init-daemon)
 Obsoletes:     virtual(init-daemon)
 Obsoletes:     vserver-SysVinit
+Conflicts:     rc-scripts < 0.4.9-1
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _sbindir        /sbin
@@ -111,8 +111,23 @@ sonlanmalarını sağlar/denetler.
 програму, яку запускає ядро Linux під час загрузки системи. Після
 цього init керує запуском, виконанням та зупинкою всіх інших програм.
 
+%package tools
+Summary:       Tools used for process and utmp management
+Summary(pl.UTF-8):     Narzędzia do zarządzania procesami i bazą utmp
+Group:         Base
+Obsoletes:     upstart-SysVinit
+Conflicts:     SysVinit < 2.86-27
+Conflicts:     rc-scripts < 0.4.5.1-6
+Conflicts:     util-linux < 2.22
+
+%description tools
+This package contains various tools used for process management.
+
+%description tools -l pl.UTF-8
+Ten pakiet zawiera różne narzędzia do zarządzania procesami.
+
 %prep
-%setup -q -n sysvinit-%{version}
+%setup -q -n sysvinit-%{version}dsf
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
@@ -123,16 +138,16 @@ sonlanmalarını sağlar/denetler.
 %patch7 -p1
 %patch8 -p1
 %patch9 -p1
-%{?with_selinux:%patch10 -p1}
+%patch10 -p1
 %patch11 -p1
-%patch12 -p1
-%patch13 -p1
+%patch12 -p0
 
 %build
 %{__make} -C src \
+       %{?with_selinux:WITH_SELINUX=yes} \
        CC="%{__cc}" \
        LCRYPT="-lcrypt" \
-       OPTIMIZE="%{rpmcflags}" \
+       CFLAGS="%{rpmcflags}" \
        LDFLAGS="%{rpmldflags}"
 
 %install
@@ -147,26 +162,36 @@ install -d $RPM_BUILD_ROOT{/bin,%{_bindir},%{_sbindir},%{_mandir}/man{1,5,8}} \
 
 install %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/sysvinit
 
-ln -sf ../var/run/initrunlvl $RPM_BUILD_ROOT%{_sysconfdir}
-ln -sf killall5 $RPM_BUILD_ROOT%{_sbindir}/pidof
+ln -s ../var/run/initrunlvl $RPM_BUILD_ROOT%{_sysconfdir}
+ln -s killall5 $RPM_BUILD_ROOT%{_sbindir}/pidof
 
-> $RPM_BUILD_ROOT/var/run/initrunlvl
 > $RPM_BUILD_ROOT%{_sysconfdir}/ioctl.save
+> $RPM_BUILD_ROOT/var/log/btmp
 > $RPM_BUILD_ROOT/var/log/faillog
 > $RPM_BUILD_ROOT/var/log/lastlog
-> $RPM_BUILD_ROOT/var/log/wtmpx
-> $RPM_BUILD_ROOT/var/log/btmpx
+> $RPM_BUILD_ROOT/var/log/wtmp
+> $RPM_BUILD_ROOT/var/run/initrunlvl
 
-echo .so last.1 > $RPM_BUILD_ROOT%{_mandir}/man1/lastb.1
 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/poweroff.8
 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/reboot.8
 echo .so init.8 > $RPM_BUILD_ROOT%{_mandir}/man8/telinit.8
 bzip2 -dc %{SOURCE2} | tar xf - -C $RPM_BUILD_ROOT%{_mandir}
-rm -f $RPM_BUILD_ROOT%{_includedir}/initreq.h
-rm -f $RPM_BUILD_ROOT%{_mandir}/README.sysvinit-non-english-man-pages
+%{__rm} $RPM_BUILD_ROOT%{_includedir}/initreq.h
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/README.sysvinit-non-english-man-pages
 
 cp -a man/intl/* $RPM_BUILD_ROOT%{_mandir}
 
+cp %{SOURCE3} $RPM_BUILD_ROOT%{_mandir}/man5
+
+# in util-linux
+%{__rm} $RPM_BUILD_ROOT{/bin/mountpoint,%{_mandir}/man1/mountpoint.1*}
+%{__rm} $RPM_BUILD_ROOT{/sbin/sulogin,%{_mandir}/man8/sulogin.8*,%{_mandir}/*/man8/sulogin.8*}
+%{__rm} $RPM_BUILD_ROOT{/usr/bin/utmpdump,%{_mandir}/man1/utmpdump.1*}
+%{__rm} $RPM_BUILD_ROOT{/usr/bin/{last,lastb,mesg},%{_mandir}/man1/{last,lastb,mesg}.1*,%{_mandir}/*/man1/{last,lastb,mesg}.1*}
+
+# fools rpm-build-macros, don't package this file
+:>$RPM_BUILD_ROOT%{_mandir}/man1/utmpdump.1
+
 %clean
 rm -rf $RPM_BUILD_ROOT
 
@@ -174,14 +199,14 @@ rm -rf $RPM_BUILD_ROOT
 %groupadd -g 22 utmp
 
 %post
-touch %{_sysconfdir}/ioctl.save /var/log/{{fail,last}log,btmpx}
+touch %{_sysconfdir}/ioctl.save /var/log/{btmp,{fail,last}log}
 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/btmp
 chmod 640 /var/log/faillog
-chmod 660 /var/log/lastlog
-chmod 640 /var/log/btmpx
+chmod 664 /var/log/lastlog
 if [ -p /dev/initctl ]; then
        %{_sbindir}/telinit u || :
 fi
@@ -196,41 +221,145 @@ if [ "$1" = "0" ]; then
        %groupremove utmp
 fi
 
+%triggerpostun -- SysVinit < 2.88-16
+if [ -e /var/log/wtmpx ]; then
+       # wtmp always takes precedence, it's safe to remove wtmpx
+       if [ -s /var/log/wtmp ]; then
+               rm -f /var/log/wtmpx
+       else
+               mv /var/log/wtmpx /var/log/wtmp
+       fi
+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
-%attr(755,root,root) %{_bindir}/mesg
-%attr(755,root,root) %{_bindir}/utmpx-dump
-%attr(2755,root,tty) %{_bindir}/wall
+%doc COPYRIGHT README doc/{Changelog,Propaganda} src/initscript.sample
 
-%attr(640,root,root) /etc/logrotate.d/sysvinit
+%attr(755,root,root) %{_sbindir}/bootlogd
+%attr(755,root,root) %{_sbindir}/halt
+%attr(755,root,root) %{_sbindir}/init
+%attr(755,root,root) %{_sbindir}/poweroff
+%attr(755,root,root) %{_sbindir}/reboot
+%attr(755,root,root) %{_sbindir}/runlevel
+%attr(755,root,root) %{_sbindir}/shutdown
+%attr(755,root,root) %{_sbindir}/telinit
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/sysvinit
 %ghost %{_sysconfdir}/initrunlvl
 %ghost /var/run/initrunlvl
 %attr(600,root,root) %ghost %{_sysconfdir}/ioctl.save
-%attr(640,root,root) %ghost /var/log/faillog
-%attr(660,root,utmp) %ghost /var/log/lastlog
-%attr(664,root,utmp) %ghost /var/log/wtmpx
-%attr(640,root,root) %ghost /var/log/btmpx
-
-%{_mandir}/man[158]/*
-%lang(cs) %{_mandir}/cs/man[158]/*
-%lang(de) %{_mandir}/de/man[158]/*
-%lang(es) %{_mandir}/es/man[158]/*
-%lang(fi) %{_mandir}/fi/man[158]/*
-%lang(fr) %{_mandir}/fr/man[158]/*
-%lang(hu) %{_mandir}/hu/man[158]/*
-%lang(id) %{_mandir}/id/man[158]/*
-%lang(it) %{_mandir}/it/man[158]/*
-%lang(ja) %{_mandir}/ja/man[158]/*
-%lang(ko) %{_mandir}/ko/man[158]/*
-%lang(pl) %{_mandir}/pl/man[158]/*
-%lang(ru) %{_mandir}/ru/man[158]/*
-%lang(sv) %{_mandir}/sv/man[158]/*
+%attr(640,root,root) %ghost /var/log/btmp
+%attr(664,root,utmp) %ghost /var/log/wtmp
+
+%{_mandir}/man5/crypttab.5*
+%{_mandir}/man5/inittab.5*
+%{_mandir}/man5/initscript.5*
+%{_mandir}/man8/bootlogd.8*
+%{_mandir}/man8/halt.8*
+%{_mandir}/man8/init.8*
+%{_mandir}/man8/poweroff.8
+%{_mandir}/man8/reboot.8
+%{_mandir}/man8/runlevel.8*
+%{_mandir}/man8/shutdown.8*
+%{_mandir}/man8/telinit.8
+%lang(de) %{_mandir}/de/man8/init.8*
+%lang(de) %{_mandir}/de/man8/telinit.8
+%lang(es) %{_mandir}/es/man5/initscript.5*
+%lang(es) %{_mandir}/es/man5/inittab.5*
+%lang(es) %{_mandir}/es/man8/halt.8*
+%lang(es) %{_mandir}/es/man8/init.8*
+%lang(es) %{_mandir}/es/man8/poweroff.8
+%lang(es) %{_mandir}/es/man8/reboot.8
+%lang(es) %{_mandir}/es/man8/runlevel.8*
+%lang(es) %{_mandir}/es/man8/shutdown.8*
+%lang(es) %{_mandir}/es/man8/telinit.8
+%lang(fr) %{_mandir}/fr/man8/halt.8*
+%lang(fr) %{_mandir}/fr/man8/reboot.8
+%lang(fr) %{_mandir}/fr/man8/runlevel.8*
+%lang(fr) %{_mandir}/fr/man8/shutdown.8*
+%lang(hu) %{_mandir}/hu/man5/inittab.5*
+%lang(hu) %{_mandir}/hu/man8/init.8*
+%lang(hu) %{_mandir}/hu/man8/shutdown.8*
+%lang(hu) %{_mandir}/hu/man8/telinit.8
+%lang(id) %{_mandir}/id/man8/halt.8*
+%lang(id) %{_mandir}/id/man8/reboot.8
+%lang(id) %{_mandir}/id/man8/shutdown.8*
+%lang(it) %{_mandir}/it/man5/initscript.5*
+%lang(it) %{_mandir}/it/man5/inittab.5*
+%lang(it) %{_mandir}/it/man8/halt.8*
+%lang(it) %{_mandir}/it/man8/init.8*
+%lang(it) %{_mandir}/it/man8/reboot.8
+%lang(it) %{_mandir}/it/man8/runlevel.8*
+%lang(it) %{_mandir}/it/man8/shutdown.8*
+%lang(it) %{_mandir}/it/man8/telinit.8
+%lang(ja) %{_mandir}/ja/man5/initscript.5*
+%lang(ja) %{_mandir}/ja/man5/inittab.5*
+%lang(ja) %{_mandir}/ja/man8/halt.8*
+%lang(ja) %{_mandir}/ja/man8/init.8*
+%lang(ja) %{_mandir}/ja/man8/poweroff.8
+%lang(ja) %{_mandir}/ja/man8/reboot.8
+%lang(ja) %{_mandir}/ja/man8/runlevel.8*
+%lang(ja) %{_mandir}/ja/man8/shutdown.8*
+%lang(ja) %{_mandir}/ja/man8/telinit.8
+%lang(ko) %{_mandir}/ko/man5/initscript.5*
+%lang(ko) %{_mandir}/ko/man5/inittab.5*
+%lang(ko) %{_mandir}/ko/man8/halt.8*
+%lang(ko) %{_mandir}/ko/man8/init.8*
+%lang(ko) %{_mandir}/ko/man8/reboot.8
+%lang(ko) %{_mandir}/ko/man8/runlevel.8*
+%lang(ko) %{_mandir}/ko/man8/shutdown.8*
+%lang(ko) %{_mandir}/ko/man8/telinit.8
+%lang(pl) %{_mandir}/pl/man5/initscript.5*
+%lang(pl) %{_mandir}/pl/man5/inittab.5*
+%lang(pl) %{_mandir}/pl/man8/halt.8*
+%lang(pl) %{_mandir}/pl/man8/init.8*
+%lang(pl) %{_mandir}/pl/man8/poweroff.8
+%lang(pl) %{_mandir}/pl/man8/reboot.8
+%lang(pl) %{_mandir}/pl/man8/runlevel.8*
+%lang(pl) %{_mandir}/pl/man8/shutdown.8*
+%lang(pl) %{_mandir}/pl/man8/telinit.8
 
 # devel?
 #%{_includedir}/initreq.h
+
+%files tools
+%defattr(644,root,root,755)
+%attr(755,root,root) /bin/pidof
+%attr(755,root,root) %{_sbindir}/fstab-decode
+%attr(755,root,root) %{_sbindir}/killall5
+%attr(755,root,root) %{_sbindir}/lastlog
+%attr(755,root,root) %{_sbindir}/pidof
+%attr(2755,root,tty) %{_bindir}/wall
+%attr(640,root,root) %ghost /var/log/faillog
+%attr(664,root,utmp) %ghost /var/log/lastlog
+%{_mandir}/man1/wall.1*
+%{_mandir}/man8/killall5.8*
+%{_mandir}/man8/lastlog.8*
+%{_mandir}/man8/pidof.8*
+%{_mandir}/man8/fstab-decode.8*
+%lang(cs) %{_mandir}/cs/man8/lastlog.8*
+%lang(es) %{_mandir}/es/man1/wall.1*
+%lang(es) %{_mandir}/es/man8/killall5.8*
+%lang(es) %{_mandir}/es/man8/pidof.8*
+%lang(fi) %{_mandir}/fi/man1/wall.1*
+%lang(fr) %{_mandir}/fr/man1/wall.1*
+%lang(fr) %{_mandir}/fr/man8/killall5.8*
+%lang(fr) %{_mandir}/fr/man8/lastlog.8*
+%lang(fr) %{_mandir}/fr/man8/pidof.8*
+%lang(hu) %{_mandir}/hu/man1/wall.1*
+%lang(hu) %{_mandir}/hu/man8/lastlog.8*
+%lang(it) %{_mandir}/it/man1/wall.1*
+%lang(it) %{_mandir}/it/man8/killall5.8*
+%lang(it) %{_mandir}/it/man8/lastlog.8*
+%lang(it) %{_mandir}/it/man8/pidof.8*
+%lang(ja) %{_mandir}/ja/man1/wall.1*
+%lang(ja) %{_mandir}/ja/man8/killall5.8*
+%lang(ja) %{_mandir}/ja/man8/lastlog.8*
+%lang(ja) %{_mandir}/ja/man8/pidof.8*
+%lang(ko) %{_mandir}/ko/man8/killall5.8*
+%lang(ko) %{_mandir}/ko/man8/pidof.8*
+%lang(pl) %{_mandir}/pl/man1/wall.1*
+%lang(pl) %{_mandir}/pl/man8/killall5.8*
+%lang(pl) %{_mandir}/pl/man8/lastlog.8*
+%lang(pl) %{_mandir}/pl/man8/pidof.8*
+%lang(ru) %{_mandir}/ru/man8/lastlog.8*
+%lang(sv) %{_mandir}/sv/man8/lastlog.8*
This page took 0.139422 seconds and 4 git commands to generate.