]> git.pld-linux.org Git - packages/SysVinit.git/blobdiff - SysVinit.spec
- doc src/initscript.sample
[packages/SysVinit.git] / SysVinit.spec
index bde09ccdd4492ba2966496405ea2a0163b7ff087..bdf395a7747b3060a55637318f746a5730b8bd37 100644 (file)
@@ -1,19 +1,24 @@
+#
+# 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(fr):   Programme d'initialisation Sys V
-Summary(pl):   Program inicjalizuj±cy w Systemie V
-Summary(pt_BR):        Programa de inicialização System V
-Summary(ru):   ðÒÏÇÒÁÍÍÙ, ÕÐÒÁ×ÌÑÀÝÉÅ ÂÁÚÏ×ÙÍÉ ÓÉÓÔÅÍÎÙÍÉ ÐÒÏÃÅÓÓÁÍÉ
-Summary(tr):   System V baþlatma programý
-Summary(uk):   ðÒÏÇÒÁÍÉ, ÝÏ ËÅÒÕÀÔØ ÂÁÚÏ×ÉÍÉ ÓÉÓÔÅÍÎÉÍÉ ÐÒÏÃÅÓÁÍÉ
+Summary(de.UTF-8):     System V-Intialisierungsprogramm
+Summary(es.UTF-8):     Programa de inicialización System V
+Summary(fr.UTF-8):     Programme d'initialisation Sys V
+Summary(pl.UTF-8):     Program inicjalizujący w Systemie V
+Summary(pt_BR.UTF-8):  Programa de inicialização System V
+Summary(ru.UTF-8):     Программы, управляющие базовыми системными процессами
+Summary(tr.UTF-8):     System V başlatma programı
+Summary(uk.UTF-8):     Програми, що керують базовими системними процесами
 Name:          SysVinit
-Version:       2.85
-Release:       5
+Version:       2.86
+Release:       20
 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
@@ -24,24 +29,45 @@ Patch3:             sysvinit-wtmp.patch
 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
-Patch12:       sysvinit-selinux.patch
-BuildRequires: libselinux-devel
-Requires(pre): /usr/bin/getgid
-Requires(pre): /usr/sbin/groupadd
+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
+Patch14:       sysvinit-chroot.patch
+Patch15:       sysvinit-console-open.patch
+Patch16:       sysvinit-godot.patch
+Patch17:       sysvinit-haltname.patch
+Patch18:       sysvinit-ipv6.patch
+Patch19:       sysvinit-maxproclen.patch
+Patch20:       sysvinit-quiet.patch
+Patch21:       sysvinit-timeval.patch
+Patch22:       sysvinit-no-abort.patch
+Patch23:       sysvinit-rebootconfirmation.patch
+%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:      /bin/awk
+%{?with_selinux:Requires:      libselinux >= 1.18}
 Requires:      login
-Requires:      logrotate
 Requires:      mingetty
+Provides:      group(utmp)
+Provides:      virtual(init-daemon)
+Obsoletes:     virtual(init-daemon)
+Obsoletes:     vserver-SysVinit
 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
@@ -50,48 +76,48 @@ program, the first program started by the Linux kernel when the system
 boots. Init then controls the startup, running and shutdown of all
 other programs.
 
-%description -l de
+%description -l de.UTF-8
 SysVinit ist das erste Programm, das beim Systemstart vom Linux-Kernel
-gestartet wird. Es steuert das Starten, Ausführen und Beenden aller
+gestartet wird. Es steuert das Starten, Ausführen und Beenden aller
 anderen Programme.
 
-%description -l es
+%description -l es.UTF-8
 SysVinit es el primer programa ejecutado por el kernel Linux cuando se
 inicia el sistema. Controla arranque, funcionamiento y cierre de todos
 los otros programas.
 
-%description -l fr
-SysVinit est le premier programme exécuté par le noyau de Linux
-lorsque le système démarre, il contrôle le lancement, l'exécution et
-l'arrêt de tous les autres programmes.
-
-%description -l pl
-SysVinit jest pierwszym programem uruchamianym przez j±dro podczas
-startu systemu. Kontroluje start, pracê oraz zamykanie wszystkich
-innych programów.
-
-%description -l pt_BR
-SysVinit é o primeiro programa executado pelo kernel Linux quando o
-sistema é inicializado. Controla inicialização, funcionamento e
-finalização de todos os outros programas.
-
-%description -l ru
-ðÁËÅÔ SysVinit ÓÏÄÅÒÖÉÔ ÇÒÕÐÐÕ ÐÒÏÃÅÓÓÏ×, ËÏÔÏÒÙÅ ÕÐÒÁ×ÌÑÀÔ ÓÁÍÙÍÉ
-ÂÁÚÏ×ÙÍÉ ÆÕÎËÃÉÑÍÉ ×ÁÛÅÊ ÓÉÓÔÅÍÙ. SysVinit ×ËÌÀÞÁÅÔ ÐÒÏÇÒÁÍÍÕ init,
-ÓÁÍÕÀ ÐÅÒ×ÕÀ ÐÒÏÇÒÁÍÍÕ, ËÏÔÏÒÁÑ ÚÁÐÕÓËÁÅÔÓÑ ÑÄÒÏÍ Linux ÐÒÉ ÚÁÇÒÕÚËÅ
-ÓÉÓÔÅÍÙ. ðÏÓÌÅ ÜÔÏÇÏ init ÕÐÒÁ×ÌÑÅÔ ÚÁÐÕÓËÏÍ, ÉÓÐÏÌÎÅÎÉÅÍ É ÏÓÔÁÎÏ×ÏÍ
-×ÓÅÈ ÏÓÔÁÌØÎÙÈ ÐÒÏÇÒÁÍÍ.
-
-%description -l tr
-SysVinit, sistem açýlýrken Linux çekirdeði tarafýndan çalýþtýrýlan ilk
-programdýr. Diðer programlarýn baþlamalarýný, çalýþmalarýný ve
-sonlanmalarýný saðlar/denetler.
-
-%description -l uk
-ðÁËÅÔ SysVinit Í¦ÓÔÉÔØ ÇÒÕÐÕ ÐÒÏÃÅÓ¦×, ËÏÔÒ¦ ËÅÒÕÀÔØ ÓÁÍÉÍÉ ÂÁÚÏ×ÉÍÉ
-ÆÕÎËæÑÍÉ ×ÁÛϧ ÓÉÓÔÅÍÉ. SysVinit Í¦ÓÔÉÔØ ÐÒÏÇÒÁÍÕ init, ÐÅÒÛÕ
ÒÏÇÒÁÍÕ, ÑËÕ ÚÁÐÕÓËÁ¤ ÑÄÒÏ Linux Ð¦Ä ÞÁÓ ÚÁÇÒÕÚËÉ ÓÉÓÔÅÍÉ. ð¦ÓÌÑ
-ÃØÏÇÏ init ËÅÒÕ¤ ÚÁÐÕÓËÏÍ, ×ÉËÏÎÁÎÎÑÍ ÔÁ ÚÕÐÉÎËÏÀ ×ӦȠ¦ÎÛÉÈ ÐÒÏÇÒÁÍ.
+%description -l fr.UTF-8
+SysVinit est le premier programme exécuté par le noyau de Linux
+lorsque le système démarre, il contrôle le lancement, l'exécution et
+l'arrêt de tous les autres programmes.
+
+%description -l pl.UTF-8
+SysVinit jest pierwszym programem uruchamianym przez jądro podczas
+startu systemu. Kontroluje start, pracę oraz zamykanie wszystkich
+innych programów.
+
+%description -l pt_BR.UTF-8
+SysVinit é o primeiro programa executado pelo kernel Linux quando o
+sistema é inicializado. Controla inicialização, funcionamento e
+finalização de todos os outros programas.
+
+%description -l ru.UTF-8
+Пакет SysVinit содержит группу процессов, которые управляют самыми
+базовыми функциями вашей системы. SysVinit включает программу init,
+самую первую программу, которая запускается ядром Linux при загрузке
+системы. После этого init управляет запуском, исполнением и остановом
+всех остальных программ.
+
+%description -l tr.UTF-8
+SysVinit, sistem açılırken Linux çekirdeği tarafından çalıştırılan ilk
+programdır. Diğer programların başlamalarını, çalışmalarını ve
+sonlanmalarını sağlar/denetler.
+
+%description -l uk.UTF-8
+Пакет SysVinit містить групу процесів, котрі керують самими базовими
+функціями вашої системи. SysVinit містить програму init, першу
¿Ñ\80огÑ\80амÑ\83, Ñ\8fкÑ\83 Ð·Ð°Ð¿Ñ\83Ñ\81каÑ\94 Ñ\8fдÑ\80о Linux Ð¿Ñ\96д Ñ\87аÑ\81 Ð·Ð°Ð³Ñ\80Ñ\83зки Ñ\81иÑ\81Ñ\82еми. Ð\9fÑ\96Ñ\81лÑ\8f
+цього init керує запуском, виконанням та зупинкою всіх інших програм.
 
 %prep
 %setup -q -n sysvinit-%{version}
@@ -105,19 +131,32 @@ sonlanmalar
 %patch7 -p1
 %patch8 -p1
 %patch9 -p1
-%patch10 -p1
+%{?with_selinux:%patch10 -p1}
 %patch11 -p1
 %patch12 -p1
+%patch13 -p1
+%patch14 -p1
+%patch15 -p1
+%patch16 -p1
+%patch17 -p1
+%patch18 -p1
+%patch19 -p1
+%patch20 -p1
+%patch21 -p1
+%patch22 -p1
+%patch23 -p0
 
 %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,run}}
 
 %{__make} install -C src \
        ROOT=$RPM_BUILD_ROOT \
@@ -129,6 +168,7 @@ 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
 
+> $RPM_BUILD_ROOT/var/run/initrunlvl
 > $RPM_BUILD_ROOT%{_sysconfdir}/ioctl.save
 > $RPM_BUILD_ROOT/var/log/faillog
 > $RPM_BUILD_ROOT/var/log/lastlog
@@ -140,40 +180,45 @@ 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
+
+cp -a man/intl/* $RPM_BUILD_ROOT%{_mandir}
 
 %clean
 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
+if [ -p /dev/initctl ]; then
+       %{_sbindir}/telinit u || :
+fi
 
-%{_sbindir}/telinit u || :
+%triggerpostun -- glibc
+if [ -p /dev/initctl ]; then
+       %{_sbindir}/telinit u || :
+fi
 
 %postun
 if [ "$1" = "0" ]; then
-       /usr/sbin/groupdel utmp
+       %groupremove utmp
 fi
 
 %files
 %defattr(644,root,root,755)
-%doc doc/{Propaganda,Changelog,*.lsm}
+%doc doc/{Propaganda,Changelog,*.lsm} src/initscript.sample
 
+%attr(755,root,root) /bin/mountpoint
 %attr(755,root,root) %{_sbindir}/*
 %attr(755,root,root) %{_bindir}/last
 %attr(755,root,root) %{_bindir}/lastb
@@ -183,6 +228,7 @@ fi
 
 %attr(640,root,root) /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
@@ -190,6 +236,7 @@ fi
 %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]/*
@@ -200,3 +247,8 @@ fi
 %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]/*
+
+# devel?
+#%{_includedir}/initreq.h
This page took 0.076606 seconds and 4 git commands to generate.