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
36 Patch20: systemd_param.patch
39 The sysvinit package contains a group of processes that control
40 the very basic functions of your system. sysvinit includes the init
41 program, the first program started by the Linux kernel when the
42 system boots. Init then controls the startup, running, and shutdown
43 of all other programs.
46 Summary: System-V-like utilities
48 Provides: /usr/sbin/service
52 This package contains the important System-V-like utilities.
53 Specifically, this package includes:
54 killall5, last, lastb, mesg, pidof, service, sulogin
56 %package -n initscripts
57 Summary: scripts for initializing the system
59 Requires: /lib/lsb/init-functions
61 %description -n initscripts
62 scripts for initializing and shutting down the system
63 The scripts in this package initialize a system at boot time
64 and shut it down at halt or reboot time.
69 %setup -q -n %{name}-%{version}dsf
71 %patch0 -p1 -b .ifdown_kfreebsd
72 %patch1 -p1 -b .bootlogd_devsubdir
73 %patch2 -p1 -b .bootlogd_findptyfail
74 %patch3 -p1 -b .bootlogd_flush
75 %patch4 -p1 -b .init_selinux_ifdef
76 %patch5 -p1 -b .init_freebsdterm
77 %patch6 -p1 -b .init_keep_utf8_ttyflag
78 %patch7 -p1 -b .compiler_warnings
79 %patch8 -p1 -b .sulogin_lockedpw
80 %patch9 -p1 -b .fstab-decode
81 %patch10 -p1 -b .shutdown_acctoff
82 %patch11 -p1 -b .init_starttest
83 %patch12 -p1 -b .installtarget
84 %patch13 -p1 -b .startpar
85 %patch14 -p1 -b .always_use_lcrypt
86 %patch15 -p1 -b .dont_set_ownership
97 export CFLAGS='-ansi -W -Wall -O2 -fomit-frame-pointer -D_GNU_SOURCE'
99 gcc $LDFLAGS -o start-stop-daemon contrib/start-stop-daemon.c
102 make -C src ROOT=$RPM_BUILD_ROOT install
103 make -C startpar DESTDIR=$RPM_BUILD_ROOT install
104 make -C initscripts DESTDIR=$RPM_BUILD_ROOT install
106 install -d $RPM_BUILD_ROOT/%{_datadir}/%{name}/
107 install %SOURCE1 $RPM_BUILD_ROOT/%{_datadir}/%{name}/
108 install %SOURCE2 $RPM_BUILD_ROOT/%{_datadir}/%{name}/
109 install -d $RPM_BUILD_ROOT/usr/sbin/
110 install %SOURCE3 $RPM_BUILD_ROOT/usr/sbin/
112 install start-stop-daemon $RPM_BUILD_ROOT/usr/sbin/
114 rm -f $RPM_BUILD_ROOT/usr/bin/wall
115 rm -f $RPM_BUILD_ROOT/usr/bin/lastb
116 rm -f $RPM_BUILD_ROOT/usr/bin/utmpdump
117 rm -f $RPM_BUILD_ROOT/usr/share/man/man1/wall.1*
118 rm -f $RPM_BUILD_ROOT%{_includedir}/initreq.h
120 rm -rf %{buildroot}/%{_docdir}
122 mkdir -p $RPM_BUILD_ROOT%{_datadir}/license
123 for keyword in LICENSE COPYING COPYRIGHT;
125 for file in `find %{_builddir} -name $keyword`;
127 cat $file >> $RPM_BUILD_ROOT%{_datadir}/license/%{name};
133 echo ".... sysvinit post ....."
134 [ -f /etc/inittab ] || /bin/cp -p /usr/share/sysvinit/inittab /etc/inittab
142 # Initialize rcS default file.
144 if [ ! -f /etc/default/rcS ]
146 cp -p /usr/share/initscripts/default.rcS /etc/default/rcS
150 # When installing for the first time or upgrading from version before
151 # 2.86.ds1-27, a reboot is needed to make the /lib/init/rw/ tmpfs
152 # available. Flag this using notify-reboot-required. Not mounting it
153 # here as it creates problem for debootstrap, vservers, pbuilder and
156 if [ -x /usr/share/update-notifier/notify-reboot-required ]; then
157 /usr/share/update-notifier/notify-reboot-required
161 # Create initial log files
163 for F in /var/log/dmesg /var/log/boot /var/log/fsck/checkroot /var/log/fsck/checkfs
165 if [ ! -f "$F" ] && touch "$F" >/dev/null 2>&1
167 echo "(Nothing has been logged yet.)" >| "$F"
168 # root UID is 0, adm GID is ordinary 4
175 # Set up nologin symlink so that dynamic-login-disabling will work
176 # (when DELAYLOGIN is set to "yes")
178 if [ ! -L /etc/nologin ] && [ ! -e /etc/nologin ]
180 rm -f /var/lib/initscripts/nologin
181 ln -s /var/lib/initscripts/nologin /etc/nologin
185 # Set up motd stuff, putting variable file in /var/run/
187 if [ ! -f /etc/motd.tail ]
191 sed 1d /etc/motd > /etc/motd.tail
192 [ -s /etc/motd.tail ] || rm -f /etc/motd.tail
195 if [ ! -f /var/run/motd ]
199 cat /etc/motd > /var/run/motd
204 if [ ! -L /etc/motd ]
206 [ -f /etc/default/rcS ] && . /etc/default/rcS
207 if [ "$EDITMOTD" = no ]
209 cat /var/run/motd > /etc/motd.static
210 ln -sf motd.static /etc/motd
212 ln -sf /var/run/motd /etc/motd
217 # Mount kernel virtual filesystems...not.
218 # This causes problems in pbuilder.
221 #if [ -x /etc/init.d/mountkernfs.sh ]
223 # if which invoke-rc.d >/dev/null 2>&1
225 # invoke-rc.d mountkernfs.sh start || :
227 # /etc/init.d/mountkernfs.sh start
232 # Create /dev/pts, /dev/shm directories
234 if [ "$(uname -s)" = Linux ]
237 # Only create /dev/{pts,shm} if /dev is on the
238 # root file system. If some package has mounted a
239 # seperate /dev (ramfs from udev, devfs) it is
240 # responsible for the presence of those subdirs.
241 # (it is OK for these to fail under fakechroot)
243 if ! mountpoint -q /dev
246 [ -d /dev/pts ] || { mkdir --mode=755 /dev/pts ; chown 0:0 /dev/pts || [ "$FAKECHROOT" = true ]; }
247 [ -d /dev/shm ] || { mkdir --mode=755 /dev/shm ; chown 0:0 /dev/shm || [ "$FAKECHROOT" = true ]; }
252 # Create /etc/rc.local on first time install and when upgrading from
253 # versions before "2.86.ds1-16"
255 if [ ! -e /etc/rc.local ]; then
256 cat << EOF > /etc/rc.local
261 # This script is executed at the end of each multiuser runlevel.
262 # Make sure that the script will "exit 0" on success or any other
265 # In order to enable or disable this script just change the execution
268 # By default this script does nothing.
272 # make sure it's enabled by default.
273 chmod 755 /etc/rc.local
277 rm -rf $RPM_BUILD_ROOT
283 %manifest %{name}.manifest
284 %defattr(-,root,root)
285 %{_datadir}/license/%{name}
291 %exclude /sbin/poweroff
292 %exclude /sbin/reboot
299 %{_datadir}/%{name}/inittab
300 %{_datadir}/%{name}/update-rc.d
301 #%{_includedir}/initreq.h
304 %manifest %{name}.manifest
311 /usr/sbin/start-stop-daemon
312 %attr(755,root,root)/usr/sbin/service
316 %files -n initscripts
317 %manifest %{name}.manifest
318 %{_sysconfdir}/init.d/*
319 %{_sysconfdir}/init.d/.slp
320 %{_sysconfdir}/default/*
321 %{_datadir}/initscripts/default.rcS
322 /etc/network/if-up.d/mountnfs