Summary: Programs which control basic system processes.
Summary(ja): 基本的なシステムプロセスを制御するプログラム
Name: SysVinit
Version: 2.86
Release: 1%{_dist_release}
License: GPL
Group: System Environment/Base
Source: ftp://ftp.cistron.nl/pub/people/miquels/sysvinit/sysvinit-%{version}.tar.gz
Patch1: sysvinit-2.78-man.patch
Patch2: sysvinit-2.77-md5-be.patch
Patch3: sysvinit-2.78-halt.patch
Patch4: sysvinit-2.86-autofsck.patch
Patch5: sysvinit-2.86-loginshell.patch
Patch6: sysvinit-2.86-makefile.patch
Patch7: sysvinit-2.86-chroot.patch
Patch8: sysvinit-2.86-inittab.patch
Patch9: sysvinit-2.86-environ.patch
Patch10: sysvinit-2.86-pidof.patch
Patch11: sysvinit-2.86-haltname.patch
Patch12: sysvinit-2.86-haltman.patch
Patch13: sysvinit-2.86-single.patch
Patch14: sysvinit-2.86-maxproclen.patch
Patch15: sysvinit-2.86-ipv6.patch
Patch16: sysvinit-2.86-quiet.patch
Patch17: sysvinit-2.86-godot.patch
Patch18: sysvinit-2.86-timeval.patch
Patch19: sysvinit-2.86-console-open.patch
Patch22: 81_killall_avoid_init.dpatch
Source1: change_console
Source2: change_console.8
Buildroot: %{_tmppath}/%{name}-%{version}-root
Requires: pam >= 0.66-5

%description
The SysVinit package contains a group of processes that control
the very basic functions of your system. SysVinit includes the init
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 ja
SysVinit パッケージには，システムの非常に基本的な機能を制御する
プロセスが収められています．例えば，システム起動時に Linux カーネルに
よって最初に起動されるプログラムである init 等です．init はその後
システムの起動や，他のプログラムの起動/終了を制御します．


%prep
%setup -q -n sysvinit-%{version}
# We use a shell, not sulogin. Other random man fixes go here (such as #192804)
%patch1 -p1 -b .manpatch
# Handle bigendian MD5
%patch2 -p1 -b .be
# Create /halt or /poweroff on shutdown
%patch3 -p1 -b .halt
# Unlink /.autofsck on shutdown -f
%patch4 -p1 -b .autofsck
# Invoke single-user shell as a login shell (#105653)
%patch5 -p1 -b .loginshell
# Various makefile adjustments
%patch6 -p1 -b .makefile
# Add -c option for only matching processes with the same root
%patch7 -p1 -b .chroot
# Adjust examples in inittab(5) to more accurately reflect RH/Fedora
# usage (#173572)
%patch8 -p1 -b .inittabdocs
# Assumedly, if we're passing an environment as the last arg, we
# want execle, not execl.
%patch9 -p1 -b .environ
# Fix various things in pidof - pidof /x/y matching /z/y, pidof -x
# for scripts, etc.
%patch10 -p1 -b .pidof
# Fix halt when called by login
%patch11 -p1 -b .haltname
# Document pam_console usage
%patch12 -p1 -b .haltman
# Fix single user mode (#176348)
%patch13 -p1 -b .single
# Fix under-copy of proc title (#188160)
%patch14 -p1 -b .maxproclen
# ipv6 support in last
%patch15 -p1 -b .ipv6
# Be less verbose when booted with 'quiet'
%patch16 -p1 -b .quiet
# Preserve 'waiting' across re-exec (#199305, #201146, #143289)
%patch17 -p1 -b .godot
# Don't overwrite ut_addr_v6 on 64-bit platforms (#176494)
%patch18 -p1 -b .timeval
# Allow some time for failed opens to resolve themselves (#181546)
%patch19 -p1 -b .console-open
%patch22 -p1 -b .nopid1

%build
make %{?_smp_mflags} CC=%{__cc} -C src

%install
rm -rf $RPM_BUILD_ROOT
for I in sbin %{_bindir} %{_mandir}/man{1,3,5,8} etc var/run dev %{_includedir}; do
	mkdir -p $RPM_BUILD_ROOT/$I
done
install -d $RPM_BUILD_ROOT/bin
make -C src ROOT=$RPM_BUILD_ROOT MANDIR=%{_mandir} \
	BIN_OWNER=`id -nu` BIN_GROUP=`id -ng` install

# If this already exists, just do nothing (the ||: part)
mknod --mode=0600 $RPM_BUILD_ROOT/dev/initctl p ||:
ln -snf killall5 $RPM_BUILD_ROOT/sbin/pidof

chmod 755 $RPM_BUILD_ROOT%{_bindir}/utmpdump

install -m 755 %{SOURCE1} $RPM_BUILD_ROOT/sbin/change_console
install -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_mandir}/man8/change_console.8
install -m 644 src/initreq.h $RPM_BUILD_ROOT%{_includedir}

%post
[ -e /var/run/initrunlvl ] && ln -s ../var/run/initrunlvl /etc/initrunlvl
[ -x /sbin/telinit -a -p /dev/initctl -a -f /proc/1/exe -a -d /proc/1/root ] && /sbin/telinit u
exit 0

%clean
rm -rf $RPM_BUILD_ROOT

%files
%defattr(-,root,root)
%doc doc/Changelog doc/Install
%doc doc/sysvinit-%{version}.lsm contrib/start-stop-daemon.* 
/sbin/halt
/sbin/init
/sbin/killall5
/sbin/pidof
/sbin/poweroff
/sbin/reboot
/sbin/runlevel
/sbin/shutdown
/sbin/sulogin
/sbin/telinit
/sbin/change_console
%{_includedir}/initreq.h
%{_bindir}/last
%{_bindir}/lastb
%{_bindir}/mesg
%{_bindir}/utmpdump
%{_sysbindir}/mountpoint
%attr(2555,root,tty)  %{_bindir}/wall
%{_mandir}/*/*
/dev/initctl

%changelog
* Mon Aug 04 2008 Daisuke SUZUKI <daisuke@linux.or.jp> 2.86-1
- new upstream release

* Thu Jul 06 2006 Shu KONNO <owa@bg.wakwak.com> 2.85-5vl3
- add script to create $RPM_BUILD_ROOT/bin in %%install section

* Wed Dec 10 2003 <tkoba@vinelinux.org> 2.85-5vl2
- install initreq.h

* Fri Nov 21 2003 Daisuke SUZUKI <daisuke@linux.or.jp> 2.85-5vl1
- new upstream release
- merged with fedora package.
  * Tue Jul 17 2001 <sagami@vinelinux.org>
  - 2.78-10vl3: fix orphan symlink in %%doc
  * Tue Jan 23 2001 MATSUBAYASHI 'Shaolin' Kohji <shaolin@rhythmaning.org>
  - 2.78-10vl1
  - rebuilt under new %%{_mandir} definition
  - added Japanese summary and description
  * Sat Nov 18 2000 Satoshi MACHINO <machino@vinelinux.org> 2.78-10vl1
  - build with gcc-2.95.3
  - partially used rpmmacros

* Mon Sep 22 2003 Bill Nottingham <notting@redhat.com> 2.85-5
- add change_console, for changing console used by init

* Wed Jun 25 2003 Bill Nottingham <notting@redhat.com> 2.85-4
- block signals when calling syslog() (#97534, <joden@lee.k12.nc.us>)

* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
- rebuilt

* Fri May 23 2003 Bill Nottingham <notting@redhat.com> 2.85-2
- clean up killall5 some

* Thu May 22 2003 Florian La Roche <Florian.LaRoche@redhat.de>
- update to 2.85, remove already applied patches

* Mon Feb 10 2003 Bill Nottingham <notting@redhat.com> 2.84-13
- fix s390x build
- fix silly warning (#83943)

* Mon Feb 10 2003 Arjan van de Ven <arjanv@redhat.com>
- fix wait() handling wrt setting SIGCHLD to SIG_IGN in shutdown
- fix segfault in spawn() function in shutdown

* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
- rebuilt

* Thu Dec 05 2002 Elliot Lee <sopwith@redhat.com> 2.84-7
- Pass __cc macro to build, to facilitate cross-compiling
- _smp_mflags

* Mon Dec  2 2002 Bill Nottingham <notting@redhat.com> 2.84-6
- rebuild on all arches
- change sulogin message to be slightly more correct (#65828)

* Thu Jul 18 2002 Bill Nottingham <notting@redhat.com>
- don't strip binaries
- have wall not write to non-ttys (#65412)
- update usage for halt/reboot (#57753)
- allow '-t' argument to last for checking state at certain times (#56863)
- make 'pidof /foo/bar' not match /baz/bar (#53918)

* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
- automated rebuild

* Thu May 23 2002 Tim Powers <timp@redhat.com>
- automated rebuild

* Thu Mar 12 2002 Bill Nottingham <notting@redhat.com> 2.84-2
- add patch to log messages on shutdown/reboot

* Fri Feb 22 2002 Bill Nottingham <notting@redhat.com> 2.84-1
- update to 2.84

* Wed Jan 09 2002 Tim Powers <timp@redhat.com>
- automated rebuild

* Fri Nov  9 2001 Bernhard Rosenkraenzer <bero@redhat.com> 2.79-2
- Fix pidof -o (#55954)
- Handle RPM_OPT_FLAGS
- s/Copyright/License/

* Mon Sep 17 2001 Bill Nottingham <notting@redhat.com>
- update to 2.79

* Tue Aug 28 2001 Bill Nottingham <notting@redhat.com>
- unlink /.autofsck on shutdown -f

* Sun Jun 24 2001 Elliot Lee <sopwith@redhat.com>
- Bump release + rebuild.

* Thu Jun 21 2001 Bill Nottingham <notting@redhat.com>
- update 'no logout' patch
- fix setting of CREAD to work with 2.4.3+ kernels (#45284)

* Tue Jun 12 2001 Bill Nottingham <notting@redhat.com>
- show users with no login pid but no logout record as gone (#42550,
  <cwolf@starclass.com>)
- fix sulogin to *always* work without a tty (#40934)

* Tue Apr  3 2001 Bill Nottingham <notting@redhat.com>
- set umask 022 on startup
- manpage tweaks (#21628, #27173)

* Mon Apr  2 2001 Bill Nottingham <notting@redhat.com>
- fix dangling symlink in %%doc (#34383)

* Thu Mar 15 2001 Bill Nottingham <notting@redhat.com>
- don't run telinit u if we don't appear to be on the root fs

* Fri Feb 16 2001 Bill Nottingham <notting@redhat.com>
- run telinit u on upgrade

* Wed Jan 31 2001 Bill Nottingham <notting@redhat.com>
- document '-n' option to wall, make it root-only (#18672)
- don't open files in sulogin unless they're really ttys (#21862)

* Tue Aug  8 2000 Bill Nottingham <notting@redhat.com>
- set SHLVL in sulogin so /etc/profile.d stuff isn't run by default

* Wed Jul 12 2000 Prospector <bugzilla@redhat.com>
- automatic rebuild

* Thu Jun  8 2000 Bill Nottingham <notting@redhat.com>
- fix the md5 code (#11534)
- rebuild for FHS & the like

* Wed Apr 19 2000 Bill Nottingham <notting@redhat.com>
- ignore sigint in sulogin (#9803)
- touch file in root directory if powering off (#7318)

* Tue Mar  7 2000 Jeff Johnson <jbj@redhat.com>
- rebuild for sparc baud rates > 38400.

* Thu Feb 24 2000 Bill Nottingham <notting@redhat.com>
- update to 2.78-final

* Mon Feb  7 2000 Bill Nottingham <notting@redhat.com>
- handle compressed manpages

* Mon Jan 31 2000 Cristian Gafton <gafton@redhat.com>
- build to fix dependency problem

* Tue Jan 10 2000 Bill Nottingham <notting@redhat.com>
- update to 2.78

* Mon Sep 06 1999 Jakub Jelinek <jj@ultra.linux.cz>
- on big endian machines use a kludge for broken pam md5 passwords

* Fri Aug 27 1999 Bill Nottingham <notting@redhat.com>
- update to 2.77

* Tue Jul 06 1999 Bill Nottingham <notting@redhat.com>
- move pam_console stuff to usermode package

* Fri Jul 02 1999 Cristian Gafton <gafton@redhat.com>
- requires usermode to express the dependency on /usr/bin/consolehelper
(#2813)

* Wed Jun 23 1999 Bill Nottingham <notting@redhat.com>
- make man page references to single-user mode consistent with RH usage

* Sat Apr 17 1999 Jeff Johnson <jbj@redhat.com>
- remove /etc/initlvl compatibility symlink from file list (#2236).

* Fri Mar 26 1999 Michael Johnson <johnsonm@redhat.com>
- pam.d files marked noreplace
- added poweroff as a console application

* Mon Mar 22 1999 Michael Johnson <johnsonm@redhat.com>
- marked config files as such in consolehelper part of filelist

* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com> 
- auto rebuild in the new build environment (release 8)

* Fri Mar 19 1999 Michael Johnson <johnsonm@redhat.com>
- consolehelper support

* Wed Jan 06 1999 Cristian Gafton <gafton@redhat.com>
- glibc 2.1

* Sun Aug 23 1998 Jeff Johnson <jbj@redhat.com>
- poweroff symlink not included (problem #762)

* Thu Jul 09 1998 Chris Evans <chris@ferret.lmh.ox.ac.uk>
- Fix a securelevel releated security hole. Go on, try and break append
  only files + securelevel now ;-)

* Wed Jul  8 1998 Jeff Johnson <jbj@redhat.com>
- remove /etc/nologin at end of shutdown.
- compile around missing SIGPWR on sparc

* Thu May 07 1998 Prospector System <bugs@redhat.com>
- translations modified for de, fr, tr

* Wed Apr 08 1998 Cristian Gafton <gafton@redhat.com>
- upgraded to 2.74
- fixed the package source url... (yeah, it was wrong !)

* Wed Oct 1 1997 Cristian Gafton <gafton@redhat.com>
- fixed the MD5 check in sulogin (128 hash bits encoded with base64 gives
  22 bytes, not 24...). Fix in -md5.patch

* Thu Sep 11 1997 Christian 'Dr. Disk' Hechelmann <drdisk@ds9.au.s.shuttle.de>
- /etc/initrunlvl gets linked to /tmp/init-root/var/run/initrunlvl which is
  just plain wrong..
- /usr/bin/utmpdump was missing in the files section, although it was
  explicitly patched into PROGS.
- added attr's to the files section.
- various small fixes.

* Tue Jun 17 1997 Erik Troan <ewt@redhat.com>
- updated to 2.71
- built against glibc 2.0.4

* Fri Feb 07 1997 Michael K. Johnson <johnsonm@redhat.com>
- Added sulogin.8 man page to file list.
