1 Summary: Programs which control basic system processes
7 Url: http://savannah.nongnu.org/projects/sysvinit
11 Source: %{name}-%{version}dsf.tar.gz
15 Source1001: %{name}.manifest
17 Patch0: 21_ifdown_kfreebsd.patch
18 Patch1: 50_bootlogd_devsubdir.patch
19 Patch2: 54_bootlogd_findptyfail.patch
20 Patch3: 55_bootlogd_flush.patch
21 Patch4: 60_init_selinux_ifdef.patch
22 Patch5: 62_init_freebsdterm.patch
23 Patch6: 63_init_keep_utf8_ttyflag.patch
24 Patch7: 70_compiler_warnings.patch
25 Patch8: 91_sulogin_lockedpw.patch
26 Patch9: 94_fstab-decode.patch
27 Patch10: 96_shutdown_acctoff.patch
28 Patch11: 97_init_starttest.patch
29 Patch12: 98_installtarget.patch
30 Patch13: startpar.patch
31 Patch14: always_use_lcrypt.patch
32 Patch15: dont_set_ownership.patch
33 Patch16: add_initscripts.patch
34 Patch18: 64_init_add_cmd_for_reboot.dpatch
35 Patch19: 0001-Fixing-syntax-error-in-start-stop-daemon.c.patch
38 The sysvinit package contains a group of processes that control
39 the very basic functions of your system. sysvinit includes the init
40 program, the first program started by the Linux kernel when the
41 system boots. Init then controls the startup, running, and shutdown
42 of all other programs.
45 Summary: System-V-like utilities
47 Provides: /usr/sbin/service
51 This package contains the important System-V-like utilities.
52 Specifically, this package includes:
53 killall5, last, lastb, mesg, pidof, service, sulogin
55 %package -n initscripts
56 Summary: scripts for initializing the system
58 Requires: /lib/lsb/init-functions
60 %description -n initscripts
61 scripts for initializing and shutting down the system
62 The scripts in this package initialize a system at boot time
63 and shut it down at halt or reboot time.
68 %setup -q -n %{name}-%{version}dsf
70 %patch0 -p1 -b .ifdown_kfreebsd
71 %patch1 -p1 -b .bootlogd_devsubdir
72 %patch2 -p1 -b .bootlogd_findptyfail
73 %patch3 -p1 -b .bootlogd_flush
74 %patch4 -p1 -b .init_selinux_ifdef
75 %patch5 -p1 -b .init_freebsdterm
76 %patch6 -p1 -b .init_keep_utf8_ttyflag
77 %patch7 -p1 -b .compiler_warnings
78 %patch8 -p1 -b .sulogin_lockedpw
79 %patch9 -p1 -b .fstab-decode
80 %patch10 -p1 -b .shutdown_acctoff
81 %patch11 -p1 -b .init_starttest
82 %patch12 -p1 -b .installtarget
83 %patch13 -p1 -b .startpar
84 %patch14 -p1 -b .always_use_lcrypt
85 %patch15 -p1 -b .dont_set_ownership
95 export CFLAGS='-ansi -W -Wall -O2 -fomit-frame-pointer -D_GNU_SOURCE'
97 gcc $LDFLAGS -o start-stop-daemon contrib/start-stop-daemon.c
100 make -C src ROOT=$RPM_BUILD_ROOT install
101 make -C startpar DESTDIR=$RPM_BUILD_ROOT install
102 make -C initscripts DESTDIR=$RPM_BUILD_ROOT install
104 install -d $RPM_BUILD_ROOT/%{_datadir}/%{name}/
105 install %SOURCE1 $RPM_BUILD_ROOT/%{_datadir}/%{name}/
106 install %SOURCE2 $RPM_BUILD_ROOT/%{_datadir}/%{name}/
107 install -d $RPM_BUILD_ROOT/usr/sbin/
108 install %SOURCE3 $RPM_BUILD_ROOT/usr/sbin/
110 install start-stop-daemon $RPM_BUILD_ROOT/usr/sbin/
112 rm -f $RPM_BUILD_ROOT/usr/bin/wall
113 rm -f $RPM_BUILD_ROOT/usr/bin/lastb
114 rm -f $RPM_BUILD_ROOT/usr/bin/utmpdump
115 rm -f $RPM_BUILD_ROOT/usr/share/man/man1/wall.1*
116 rm -f $RPM_BUILD_ROOT%{_includedir}/initreq.h
118 rm -rf %{buildroot}/%{_docdir}
120 mkdir -p $RPM_BUILD_ROOT%{_datadir}/license
121 for keyword in LICENSE COPYING COPYRIGHT;
123 for file in `find %{_builddir} -name $keyword`;
125 cat $file >> $RPM_BUILD_ROOT%{_datadir}/license/%{name};
131 echo ".... sysvinit post ....."
132 [ -f /etc/inittab ] || /bin/cp -p /usr/share/sysvinit/inittab /etc/inittab
140 # Initialize rcS default file.
142 if [ ! -f /etc/default/rcS ]
144 cp -p /usr/share/initscripts/default.rcS /etc/default/rcS
148 # When installing for the first time or upgrading from version before
149 # 2.86.ds1-27, a reboot is needed to make the /lib/init/rw/ tmpfs
150 # available. Flag this using notify-reboot-required. Not mounting it
151 # here as it creates problem for debootstrap, vservers, pbuilder and
154 if [ -x /usr/share/update-notifier/notify-reboot-required ]; then
155 /usr/share/update-notifier/notify-reboot-required
159 # Create initial log files
161 for F in /var/log/dmesg /var/log/boot /var/log/fsck/checkroot /var/log/fsck/checkfs
163 if [ ! -f "$F" ] && touch "$F" >/dev/null 2>&1
165 echo "(Nothing has been logged yet.)" >| "$F"
166 # root UID is 0, adm GID is ordinary 4
173 # Set up nologin symlink so that dynamic-login-disabling will work
174 # (when DELAYLOGIN is set to "yes")
176 if [ ! -L /etc/nologin ] && [ ! -e /etc/nologin ]
178 rm -f /var/lib/initscripts/nologin
179 ln -s /var/lib/initscripts/nologin /etc/nologin
183 # Set up motd stuff, putting variable file in /var/run/
185 if [ ! -f /etc/motd.tail ]
189 sed 1d /etc/motd > /etc/motd.tail
190 [ -s /etc/motd.tail ] || rm -f /etc/motd.tail
193 if [ ! -f /var/run/motd ]
197 cat /etc/motd > /var/run/motd
202 if [ ! -L /etc/motd ]
204 [ -f /etc/default/rcS ] && . /etc/default/rcS
205 if [ "$EDITMOTD" = no ]
207 cat /var/run/motd > /etc/motd.static
208 ln -sf motd.static /etc/motd
210 ln -sf /var/run/motd /etc/motd
215 # Mount kernel virtual filesystems...not.
216 # This causes problems in pbuilder.
219 #if [ -x /etc/init.d/mountkernfs.sh ]
221 # if which invoke-rc.d >/dev/null 2>&1
223 # invoke-rc.d mountkernfs.sh start || :
225 # /etc/init.d/mountkernfs.sh start
230 # Create /dev/pts, /dev/shm directories
232 if [ "$(uname -s)" = Linux ]
235 # Only create /dev/{pts,shm} if /dev is on the
236 # root file system. If some package has mounted a
237 # seperate /dev (ramfs from udev, devfs) it is
238 # responsible for the presence of those subdirs.
239 # (it is OK for these to fail under fakechroot)
241 if ! mountpoint -q /dev
244 [ -d /dev/pts ] || { mkdir --mode=755 /dev/pts ; chown 0:0 /dev/pts || [ "$FAKECHROOT" = true ]; }
245 [ -d /dev/shm ] || { mkdir --mode=755 /dev/shm ; chown 0:0 /dev/shm || [ "$FAKECHROOT" = true ]; }
250 # Create /etc/rc.local on first time install and when upgrading from
251 # versions before "2.86.ds1-16"
253 if [ ! -e /etc/rc.local ]; then
254 cat << EOF > /etc/rc.local
259 # This script is executed at the end of each multiuser runlevel.
260 # Make sure that the script will "exit 0" on success or any other
263 # In order to enable or disable this script just change the execution
266 # By default this script does nothing.
270 # make sure it's enabled by default.
271 chmod 755 /etc/rc.local
275 rm -rf $RPM_BUILD_ROOT
281 %manifest %{name}.manifest
282 %defattr(-,root,root)
283 %{_datadir}/license/%{name}
289 %exclude /sbin/poweroff
290 %exclude /sbin/reboot
297 %{_datadir}/%{name}/inittab
298 %{_datadir}/%{name}/update-rc.d
299 #%{_includedir}/initreq.h
302 %manifest %{name}.manifest
309 /usr/sbin/start-stop-daemon
310 %attr(755,root,root)/usr/sbin/service
314 %files -n initscripts
315 %manifest %{name}.manifest
316 %{_sysconfdir}/init.d/*
317 %{_sysconfdir}/init.d/.slp
318 %{_sysconfdir}/default/*
319 %{_datadir}/initscripts/default.rcS
320 /etc/network/if-up.d/mountnfs