]> git.pld-linux.org Git - packages/SysVinit.git/blobdiff - SysVinit.spec
- add patch23
[packages/SysVinit.git] / SysVinit.spec
index 9d63d99d0fa2bc47a338a5f20acfcc89c8c04cfa..02542681ffba037592e933f517d847ce820d2999 100644 (file)
@@ -1,40 +1,75 @@
+#
+# Conditional build:
+%bcond_with    preconfigured
+%bcond_without selinux         # build without SELinux support
+#
 Summary:       System V initialization program
 Summary:       System V initialization program
-Summary(de):   System V-Intialisierungsprogramm
-Summary(fr):   Programme d'initialisation Sys V
-Summary(pl):   Program inicjalizuj±cy w Systemie V 
-Summary(tr):   System V baþlatma programý
+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
 Name:          SysVinit
-Version:       2.78
-Release:       24
+Version:       2.86
+Release:       16
 License:       GPL
 Group:         Base
 License:       GPL
 Group:         Base
-Group(de):     Gründsätzlich
-Group(pl):     Podstawowe
 Source0:       ftp://ftp.cistron.nl/pub/people/miquels/software/sysvinit-%{version}.tar.gz
 Source0:       ftp://ftp.cistron.nl/pub/people/miquels/software/sysvinit-%{version}.tar.gz
+# Source0-md5: 7d5d61c026122ab791ac04c8a84db967
 Source1:       sysvinit.logrotate
 Source1:       sysvinit.logrotate
+Source2:       http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/sysvinit-non-english-man-pages.tar.bz2
+# Source2-md5: 9ae8a63a4685368fae19707f95475cca
 Patch0:                sysvinit-paths.patch
 Patch1:                sysvinit-bequiet.patch
 Patch2:                sysvinit-md5-bigendian.patch
 Patch3:                sysvinit-wtmp.patch
 Patch4:                sysvinit-man.patch
 Patch0:                sysvinit-paths.patch
 Patch1:                sysvinit-bequiet.patch
 Patch2:                sysvinit-md5-bigendian.patch
 Patch3:                sysvinit-wtmp.patch
 Patch4:                sysvinit-man.patch
-Patch5:                sysvinit-sigint.patch
-Patch6:                sysvinit-ai64.patch
-Patch7:                sysvinit-halt.patch
-Patch8:                sysvinit-blowfish.patch
-Patch9:                sysvinit-notty.patch
-Patch10:       sysvinit-wall-n.patch
-Patch11:       sysvinit-owl-bound-format.patch
-Patch12:       sysvinit-cread.patch
-Patch13:       sysvinit-umask.patch
-BuildRequires: glibc-devel
-Prereq:                shadow
-Prereq:                make
-Prereq:                /bin/awk
+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
+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
 Requires:      logrotate
 Requires:      mingetty
-Requires:      login
+Provides:      group(utmp)
+Provides:      virtual(init-daemon)
+Obsoletes:     virtual(init-daemon)
+Obsoletes:     vserver-SysVinit
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 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
 very basic functions of your system. SysVinit includes the init
 %description
 The SysVinit package contains a group of processes that control the
 very basic functions of your system. SysVinit includes the init
@@ -42,25 +77,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.
 
 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
 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.
 
 anderen Programme.
 
-%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 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 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.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, першу
+програму, яку запускає ядро Linux під час загрузки системи. Після
+цього init керує запуском, виконанням та зупинкою всіх інших програм.
 
 %prep
 %setup -q -n sysvinit-%{version}
 
 %prep
 %setup -q -n sysvinit-%{version}
@@ -74,19 +132,32 @@ sonlanmalar
 %patch7 -p1
 %patch8 -p1
 %patch9 -p1
 %patch7 -p1
 %patch8 -p1
 %patch9 -p1
-%patch10 -p1
+%{?with_selinux:%patch10 -p1}
 %patch11 -p1
 %patch12 -p1
 %patch13 -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
 
 %build
-%{__make} -C src LCRYPT="-lcrypt" \
-       OPTIMIZE="%{rpmcflags}"
+%{__make} -C src \
+       CC="%{__cc}" \
+       LCRYPT="-lcrypt" \
+       OPTIMIZE="%{rpmcflags}" \
+       LDFLAGS="%{rpmldflags}"
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},/sbin,%{_mandir}/man{1,5,8}} \
-       $RPM_BUILD_ROOT/{etc/{logrotate.d,sysconfig},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 \
 
 %{__make} install -C src \
        ROOT=$RPM_BUILD_ROOT \
@@ -96,48 +167,89 @@ install -d $RPM_BUILD_ROOT{%{_bindir},/sbin,%{_mandir}/man{1,5,8}} \
 install %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/sysvinit
 
 ln -sf ../var/run/initrunlvl $RPM_BUILD_ROOT%{_sysconfdir}
 install %{SOURCE1} $RPM_BUILD_ROOT/etc/logrotate.d/sysvinit
 
 ln -sf ../var/run/initrunlvl $RPM_BUILD_ROOT%{_sysconfdir}
-ln -sf killall5 $RPM_BUILD_ROOT/sbin/pidof
-
-touch $RPM_BUILD_ROOT/var/log/{lastlog,wtmpx,btmpx}
+ln -sf killall5 $RPM_BUILD_ROOT%{_sbindir}/pidof
 
 
-rm -f $RPM_BUILD_ROOT%{_mandir}/man8/poweroff.8
-rm -f $RPM_BUILD_ROOT%{_mandir}/man8/telinit.8
-rm -f $RPM_BUILD_ROOT%{_mandir}/man8/reboot.8
+> $RPM_BUILD_ROOT/var/run/initrunlvl
+> $RPM_BUILD_ROOT%{_sysconfdir}/ioctl.save
+> $RPM_BUILD_ROOT/var/log/faillog
+> $RPM_BUILD_ROOT/var/log/lastlog
+> $RPM_BUILD_ROOT/var/log/wtmpx
+> $RPM_BUILD_ROOT/var/log/btmpx
 
 
+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
 echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/reboot.8
 echo .so init.8 > $RPM_BUILD_ROOT%{_mandir}/man8/telinit.8
-echo .so halt.8 > $RPM_BUILD_ROOT%{_mandir}/man8/poweroff.8
-echo .so last.1 > $RPM_BUILD_ROOT%{_mandir}/man1/lastb.1
+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
 
 
-gzip -9nf doc/Propaganda debian/changelog doc/sysvinit-%{version}.lsm  
+cp -a man/intl/* $RPM_BUILD_ROOT%{_mandir}
+
+%clean
+rm -rf $RPM_BUILD_ROOT
 
 %pre
 
 %pre
-GROUP=utmp; GID=22; %groupadd
+%groupadd -g 22 utmp
 
 %post
 
 %post
-/sbin/telinit u || :
+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
+
+%triggerpostun -- glibc
+if [ -p /dev/initctl ]; then
+       %{_sbindir}/telinit u || :
+fi
 
 %postun
 
 %postun
-GROUP=utmp; %groupdel
-
-%clean
-rm -rf $RPM_BUILD_ROOT
+if [ "$1" = "0" ]; then
+       %groupremove utmp
+fi
 
 %files
 %defattr(644,root,root,755)
 
 %files
 %defattr(644,root,root,755)
-%doc doc/Propaganda.gz debian/changelog.gz doc/sysvinit-%{version}.lsm.gz
+%doc doc/{Propaganda,Changelog,*.lsm}
 
 
-%attr(755,root,root) /sbin/*
+%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(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(2555,root,tty) %{_bindir}/wall
+%attr(2755,root,tty) %{_bindir}/wall
 
 
-%attr(640,root,root) /etc/logrotate.d/*
+%attr(640,root,root) /etc/logrotate.d/sysvinit
 %ghost %{_sysconfdir}/initrunlvl
 %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(660,root,utmp) %ghost /var/log/lastlog
-%attr(660,root,utmp) %ghost /var/log/wtmpx
+%attr(664,root,utmp) %ghost /var/log/wtmpx
 %attr(640,root,root) %ghost /var/log/btmpx
 
 %attr(640,root,root) %ghost /var/log/btmpx
 
-%{_mandir}/man*/*
+%{_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]/*
+
+# devel?
+#%{_includedir}/initreq.h
This page took 0.0466839999999999 seconds and 4 git commands to generate.