[packages/SysVinit] - partial update to 2.90; man and alt-fixes patches need update/drop

arekm arekm at pld-linux.org
Tue Jun 19 12:29:12 CEST 2018


commit f7d5edc72f08a7e13d2b1fe536d73afcf777fa28
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Tue Jun 19 12:29:04 2018 +0200

    - partial update to 2.90; man and alt-fixes patches need update/drop

 63_init_keep_utf8_ttyflag.patch        |  21 ---
 64_init_selinux_enabled.patch          |  40 -----
 95_kfreebsd_bootlogd.patch             |  43 -----
 96_allow_multiple_console_output.patch | 294 ---------------------------------
 SysVinit.spec                          |  30 ++--
 sysvinit-killall5.patch                |  61 -------
 sysvinit-lastlog.patch                 |  16 +-
 sysvinit-paths.patch                   |   4 +-
 sysvinit-pidof.patch                   |  40 -----
 9 files changed, 20 insertions(+), 529 deletions(-)
---
diff --git a/SysVinit.spec b/SysVinit.spec
index 89cb6ca..b6597e8 100644
--- a/SysVinit.spec
+++ b/SysVinit.spec
@@ -12,33 +12,28 @@ Summary(ru.UTF-8):	Программы, управляющие базовыми 
 Summary(tr.UTF-8):	System V başlatma programı
 Summary(uk.UTF-8):	Програми, що керують базовими системними процесами
 Name:		SysVinit
-Version:	2.88
-Release:	19
+Version:	2.90
+Release:	0.1
 License:	GPL v2+
 Group:		Base
-Source0:	http://download.savannah.gnu.org/releases/sysvinit/sysvinit-%{version}dsf.tar.bz2
-# Source0-md5:	6eda8a97b86e0a6f59dabbf25202aa6f
+Source0:	http://download.savannah.gnu.org/releases/sysvinit/sysvinit-%{version}.tar.xz
+# Source0-md5:	7b6a16bde3da494b6aac7283b79c81de
 Source1:	sysvinit.logrotate
 Source2:	http://www.mif.pg.gda.pl/homepages/ankry/man-PLD/sysvinit-non-english-man-pages.tar.bz2
-Source3:	crypttab.5
 # Source2-md5:	9ae8a63a4685368fae19707f95475cca
+Source3:	crypttab.5
 Patch0:		sysvinit-paths.patch
 Patch1:		sysvinit-bequiet.patch
 Patch2:		sysvinit-wtmp.patch
 Patch3:		sysvinit-man.patch
 Patch4:		sysvinit-halt.patch
 Patch5:		sysvinit-autofsck.patch
-Patch6:		sysvinit-pidof.patch
-Patch7:		sysvinit-killall5.patch
+
 Patch8:		sysvinit-nopowerstates-single.patch
 Patch9:		sysvinit-lastlog.patch
 Patch10:	sysvinit-alt-fixes.patch
 Patch11:	sysvinit-quiet.patch
 Patch12:	sysvinit-rebootconfirmation.patch
-Patch13:	63_init_keep_utf8_ttyflag.patch
-Patch14:	64_init_selinux_enabled.patch
-Patch15:	95_kfreebsd_bootlogd.patch
-Patch16:	96_allow_multiple_console_output.patch
 URL:		http://savannah.nongnu.org/projects/sysvinit/
 %if %{with selinux}
 BuildRequires:	libselinux-devel >= 1.28
@@ -131,24 +126,19 @@ This package contains various tools used for process management.
 Ten pakiet zawiera różne narzędzia do zarządzania procesami.
 
 %prep
-%setup -q -n sysvinit-%{version}dsf
+%setup -q -n sysvinit-%{version}
 %patch0 -p1
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
-%patch6 -p1
-%patch7 -p1
+
 %patch8 -p1
 %patch9 -p1
 %patch10 -p1
 %patch11 -p1
 %patch12 -p0
-%patch13 -p1
-%patch14 -p1
-%patch15 -p1
-%patch16 -p1
 
 %build
 %{__make} -C src \
@@ -192,7 +182,6 @@ cp -a man/intl/* $RPM_BUILD_ROOT%{_mandir}
 cp %{SOURCE3} $RPM_BUILD_ROOT%{_mandir}/man5
 
 # in util-linux
-%{__rm} $RPM_BUILD_ROOT{/bin/mountpoint,%{_mandir}/man1/mountpoint.1*}
 %{__rm} $RPM_BUILD_ROOT{/sbin/sulogin,%{_mandir}/man8/sulogin.8*,%{_mandir}/*/man8/sulogin.8*}
 %{__rm} $RPM_BUILD_ROOT{/usr/bin/utmpdump,%{_mandir}/man1/utmpdump.1*}
 %{__rm} $RPM_BUILD_ROOT{/usr/bin/{last,lastb,mesg},%{_mandir}/man1/{last,lastb,mesg}.1*,%{_mandir}/*/man1/{last,lastb,mesg}.1*}
@@ -240,7 +229,7 @@ fi
 
 %files
 %defattr(644,root,root,755)
-%doc COPYRIGHT README doc/{Changelog,Propaganda} src/initscript.sample
+%doc COPYRIGHT README doc/{Changelog,Propaganda} doc/initscript.sample
 
 %attr(755,root,root) %{_sbindir}/bootlogd
 %attr(755,root,root) %{_sbindir}/halt
@@ -258,6 +247,7 @@ fi
 %attr(664,root,utmp) %ghost /var/log/wtmp
 
 %{_mandir}/man5/crypttab.5*
+%{_mandir}/man5/initctl.5*
 %{_mandir}/man5/inittab.5*
 %{_mandir}/man5/initscript.5*
 %{_mandir}/man8/bootlogd.8*
diff --git a/63_init_keep_utf8_ttyflag.patch b/63_init_keep_utf8_ttyflag.patch
deleted file mode 100644
index e16831f..0000000
--- a/63_init_keep_utf8_ttyflag.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Purpose: Make sure the utf-8 flag is not cleared from the tty.
-Authour: Samuel Thibault
-Fixes:   #547073
-Status:  applied upstream
-
---- a/src/init.c
-+++ b/src/init.c
-@@ -786,10 +786,11 @@ void console_stty(void)
- 	/*
- 	 *	Set pre and post processing
- 	 */
--	tty.c_iflag = IGNPAR|ICRNL|IXON|IXANY;
-+	tty.c_iflag = IGNPAR|ICRNL|IXON|IXANY
- #ifdef IUTF8 /* Not defined on FreeBSD */
--	tty.c_iflag |= IUTF8;
-+		      | (tty.c_iflag & IUTF8)
- #endif /* IUTF8 */
-+		;
- 	tty.c_oflag = OPOST|ONLCR;
- 	tty.c_lflag = ISIG|ICANON|ECHO|ECHOCTL|ECHOPRT|ECHOKE;
- 
diff --git a/64_init_selinux_enabled.patch b/64_init_selinux_enabled.patch
deleted file mode 100644
index 47584df..0000000
--- a/64_init_selinux_enabled.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Purpose: Try to fix the logic used to enable SELinux
-Authour: Petter Reinholdtsen
-Fixes:   #580272
-Status:  applied upstream
-
---- a/src/init.c
-+++ b/src/init.c
-@@ -54,10 +54,6 @@
- 
- #ifdef WITH_SELINUX
- #  include <selinux/selinux.h>
--#  include <sys/mount.h>
--#  ifndef MNT_DETACH /* present in glibc 2.10, missing in 2.7 */
--#    define MNT_DETACH 2
--#  endif
- #endif
- 
- #ifdef __i386__
-@@ -2872,11 +2868,9 @@ int main(int argc, char **argv)
- 
- #ifdef WITH_SELINUX
- 	if (getenv("SELINUX_INIT") == NULL) {
--	  const int rc = mount("proc", "/proc", "proc", 0, 0);
--	  if (is_selinux_enabled() > 0) {
--	    putenv("SELINUX_INIT=YES");
--	    if (rc == 0) umount2("/proc", MNT_DETACH);
-+	  if (is_selinux_enabled() != 1) {
- 	    if (selinux_init_load_policy(&enforce) == 0) {
-+	      putenv("SELINUX_INIT=YES");
- 	      execv(myname, argv);
- 	    } else {
- 	      if (enforce > 0) {
-@@ -2887,7 +2881,6 @@ int main(int argc, char **argv)
- 	      }
- 	    }
- 	  }
--	  if (rc == 0) umount2("/proc", MNT_DETACH);
- 	}
- #endif  
- 	/* Start booting. */
diff --git a/95_kfreebsd_bootlogd.patch b/95_kfreebsd_bootlogd.patch
deleted file mode 100644
index 4ce4852..0000000
--- a/95_kfreebsd_bootlogd.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-Description: Adapt TIOCCONS call to kfreebsd.
- Isolate Linux-only forms of ioctl call with TIOCCONS. The BSD form of
- this needs a pointer to an integer, and its fails with a NULL pointer.
-Author: Mats Erik Andersson <debian at gisladisker.se>
-Last-Update: 2012-04-03
-Fixes:   #576443
-Status:  applied upstream
-
---- sysvinit-2.88dsf.debian/src/bootlogd.c
-+++ sysvinit-2.88dsf/src/bootlogd.c
-@@ -482,6 +482,9 @@
- 	int		realfd;
- 	int		n, m, i;
- 	int		todo;
-+#ifndef __linux__	/* BSD-style ioctl needs an argument. */
-+	int		on = 1;
-+#endif
- 
- 	fp = NULL;
- 	logfile = LOGFILE;
-@@ -554,15 +557,20 @@
- 		return 1;
- 	}
- 
-+#ifdef __linux__
- 	(void)ioctl(0, TIOCCONS, NULL);
--#if 1
- 	/* Work around bug in 2.1/2.2 kernels. Fixed in 2.2.13 and 2.3.18 */
- 	if ((n = open("/dev/tty0", O_RDWR)) >= 0) {
- 		(void)ioctl(n, TIOCCONS, NULL);
- 		close(n);
- 	}
- #endif
--	if (ioctl(pts, TIOCCONS, NULL) < 0) {
-+#ifdef __linux__
-+	if (ioctl(pts, TIOCCONS, NULL) < 0)
-+#else	/* BSD usage of ioctl TIOCCONS. */
-+	if (ioctl(pts, TIOCCONS, &on) < 0)
-+#endif
-+	{
- 		fprintf(stderr, "bootlogd: ioctl(%s, TIOCCONS): %s\n",
- 			buf, strerror(errno));
- 		return 1;
diff --git a/96_allow_multiple_console_output.patch b/96_allow_multiple_console_output.patch
deleted file mode 100644
index 028e732..0000000
--- a/96_allow_multiple_console_output.patch
+++ /dev/null
@@ -1,294 +0,0 @@
-Description: Allow multiple console output
- When booting a kernel with multiple serial console support, or multuiple
- console arguments ala "console=tty1 console=ttyS0,9600" the kernel will output
- messages to all consoles, init however will not. It will only send output to,
- and accept input from, the last of the consoles.
- .
- This patch fixes it.
-Author: Martin Buck <m at rtin-buck.de>
-Origin: other, https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=181756
-Bug-Debian: https://bugs.debian.org/181756
-Forwarded: no
-Last-Update: 2014-07-20
-
-Index: sysvinit-2.88dsf/src/bootlogd.c
-===================================================================
---- sysvinit-2.88dsf.orig/src/bootlogd.c	2010-03-23 15:37:01.000000000 +0100
-+++ sysvinit-2.88dsf/src/bootlogd.c	2013-07-15 09:56:55.953975300 +0200
-@@ -57,6 +57,7 @@
- char *Version = "@(#) bootlogd 2.86 03-Jun-2004 miquels at cistron.nl";
- 
- #define LOGFILE	"/var/log/boot"
-+#define MAX_CONSOLES 16
- 
- char ringbuf[32768];
- char *endptr = ringbuf + sizeof(ringbuf);
-@@ -73,6 +74,11 @@
- 	int pos;
- } line;
- 
-+struct real_cons {
-+	char name[1024];
-+	int fd;
-+};
-+
- /*
-  *	Console devices as listed on the kernel command line and
-  *	the mapping to actual devices in /dev
-@@ -235,10 +241,10 @@
- }
- 
- /*
-- *	Find out the _real_ console. Assume that stdin is connected to
-+ *	Find out the _real_ console(s). Assume that stdin is connected to
-  *	the console device (/dev/console).
-  */
--int consolename(char *res, int rlen)
-+int consolenames(struct real_cons *cons, int max_consoles)
- {
- #ifdef TIOCGDEV
- 	unsigned int	kdev;
-@@ -247,34 +253,9 @@
- 	char		buf[256];
- 	char		*p;
- 	int		didmount = 0;
--	int		n, r;
-+	int		n;
- 	int		fd;
--
--	fstat(0, &st);
--	if (major(st.st_rdev) != 5 || minor(st.st_rdev) != 1) {
--		/*
--		 *	Old kernel, can find real device easily.
--		 */
--		int r = findtty(res, "/dev", rlen, st.st_rdev);
--		if (0 != r)
--			fprintf(stderr, "bootlogd: cannot find console device "
--				"%d:%d under /dev\n", major(st.st_rdev), minor(st.st_rdev));
--		return r;
--	}
--
--#ifdef TIOCGDEV
--# ifndef  ENOIOCTLCMD
--#  define ENOIOCTLCMD	515
--# endif
--	if (ioctl(0, TIOCGDEV, &kdev) == 0) {
--		int r = findtty(res, "/dev", rlen, (dev_t)kdev);
--		if (0 != r)
--			fprintf(stderr, "bootlogd: cannot find console device "
--				"%d:%d under /dev\n", major(kdev), minor(kdev));
--		return r;
--	}
--	if (errno != ENOIOCTLCMD) return -1;
--#endif
-+	int		considx, num_consoles = 0;
- 
- #ifdef __linux__
- 	/*
-@@ -283,7 +264,7 @@
- 	stat("/", &st);
- 	if (stat("/proc", &st2) < 0) {
- 		perror("bootlogd: /proc");
--		return -1;
-+		return 0;
- 	}
- 	if (st.st_dev == st2.st_dev) {
- 		if (mount("proc", "/proc", "proc", 0, NULL) < 0) {
-@@ -293,21 +274,21 @@
- 		didmount = 1;
- 	}
- 
--	n = 0;
--	r = -1;
-+	n = -1;
- 	if ((fd = open("/proc/cmdline", O_RDONLY)) < 0) {
- 		perror("bootlogd: /proc/cmdline");
- 	} else {
- 		buf[0] = 0;
--		if ((n = read(fd, buf, sizeof(buf) - 1)) >= 0)
--			r = 0;
--		else
-+		if ((n = read(fd, buf, sizeof(buf) - 1)) < 0)
- 			perror("bootlogd: /proc/cmdline");
- 		close(fd);
- 	}
- 	if (didmount) umount("/proc");
-+                
-+
-+	if (n < 0) return 0;
-+
- 
--	if (r < 0) return r;
- 
- 	/*
- 	 *	OK, so find console= in /proc/cmdline.
-@@ -315,21 +296,32 @@
- 	 */
- 	p = buf + n;
- 	*p-- = 0;
--	r = -1;
- 	while (p >= buf) {
- 		if (*p == ' ' || *p == '\t' || *p == '\r' || *p == '\n') {
- 			*p-- = 0;
- 			continue;
- 		}
- 		if (strncmp(p, "console=", 8) == 0 &&
--		    isconsole(p + 8, res, rlen)) {
--			r = 0;
--			break;
-+			isconsole(p + 8, cons[num_consoles].name, sizeof(cons[num_consoles].name))) {
-+				/*
-+				 *	Suppress duplicates
-+				 */
-+				for (considx = 0; considx < num_consoles; considx++) {
-+					if (!strcmp(cons[num_consoles].name, cons[considx].name)) {
-+						goto dontuse;
-+					}
-+				}
-+			
-+			num_consoles++;
-+			if (num_consoles >= max_consoles) {
-+				break;
-+			}
- 		}
-+dontuse:
- 		p--;
- 	}
- 
--	if (r == 0) return r;
-+	if (num_consoles > 0) return num_consoles;
- #endif
- 
- 	/*
-@@ -337,12 +329,12 @@
- 	 *	guess the default console.
- 	 */
- 	for (n = 0; defcons[n]; n++)
--		if (isconsole(defcons[n], res, rlen))
--			return 0;
-+		if (isconsole(defcons[n], cons[0].name, sizeof(cons[0].name))) 
-+			return 1;
- 
- 	fprintf(stderr, "bootlogd: cannot deduce real console device\n");
- 
--	return -1;
-+	return 0;
- }
- 
- 
-@@ -472,7 +464,6 @@
- 	struct timeval	tv;
- 	fd_set		fds;
- 	char		buf[1024];
--	char		realcons[1024];
- 	char		*p;
- 	char		*logfile;
- 	char		*pidfile;
-@@ -485,6 +476,9 @@
- #ifndef __linux__	/* BSD-style ioctl needs an argument. */
- 	int		on = 1;
- #endif
-+	int		considx;
-+	struct real_cons cons[MAX_CONSOLES];
-+	int		num_consoles, consoles_left;
- 
- 	fp = NULL;
- 	logfile = LOGFILE;
-@@ -531,18 +525,22 @@
- 	/*
- 	 *	Open console device directly.
- 	 */
--	if (consolename(realcons, sizeof(realcons)) < 0)
--		return 1;
--
--	if (strcmp(realcons, "/dev/tty0") == 0)
--		strcpy(realcons, "/dev/tty1");
--	if (strcmp(realcons, "/dev/vc/0") == 0)
--		strcpy(realcons, "/dev/vc/1");
--
--	if ((realfd = open_nb(realcons)) < 0) {
--		fprintf(stderr, "bootlogd: %s: %s\n", buf, strerror(errno));
-+	if ((num_consoles = consolenames(cons, MAX_CONSOLES)) <= 0)
- 		return 1;
-+	consoles_left = num_consoles;
-+	for (considx = 0; considx < num_consoles; considx++) {
-+		if (strcmp(cons[considx].name, "/dev/tty0") == 0)
-+			strcpy(cons[considx].name, "/dev/tty1");
-+		if (strcmp(cons[considx].name, "/dev/vc/0") == 0)
-+			strcpy(cons[considx].name, "/dev/vc/1");
-+
-+		if ((cons[considx].fd = open_nb(cons[considx].name)) < 0) {
-+			fprintf(stderr, "bootlogd: %s: %s\n", cons[considx].name, strerror(errno));
-+			consoles_left--;
-+		}
- 	}
-+	if (!consoles_left)
-+		return 1;
- 
- 	/*
- 	 *	Grab a pty, and redirect console messages to it.
-@@ -626,26 +624,34 @@
- 			if ((n = read(ptm, inptr, endptr - inptr)) >= 0) {
- 				/*
- 				 *	Write data (in chunks if needed)
--				 *	to the real output device.
-+				 *	to the real output devices.
- 				 */
--				m = n;
--				p = inptr;
--				while (m > 0) {
--					i = write(realfd, p, m);
--					if (i >= 0) {
--						m -= i;
--						p += i;
--						continue;
--					}
--					/*
--					 *	Handle EIO (somebody hung
--					 *	up our filedescriptor)
--					 */
--					realfd = write_err(pts, realfd,
--						realcons, errno);
--					if (realfd >= 0) continue;
--					got_signal = 1; /* Not really */
--					break;
-+				for (considx = 0; considx < num_consoles; considx++) {
-+					if (cons[considx].fd < 0) continue;
-+					m = n;
-+					p = inptr;
-+					while (m > 0) {
-+						i = write(cons[considx].fd, p, m);
-+						if (i >= 0) {
-+							m -= i;
-+							p += i;
-+							continue;
-+						}
-+						/*
-+						 *	Handle EIO (somebody hung
-+						 *	up our filedescriptor)
-+						 */
-+						cons[considx].fd = write_err(pts,
-+							cons[considx].fd,
-+							cons[considx].name, errno);
-+						if (cons[considx].fd >= 0) continue;
-+						/*	
-+						 *	If this was the last console,
-+						 *	generate a fake signal
-+						 */
-+						if (--consoles_left <= 0) got_signal = 1;
-+						break;
-+ 					}
- 				}
- 
- 				/*
-@@ -691,7 +697,9 @@
- 
- 	close(pts);
- 	close(ptm);
--	close(realfd);
-+	for (considx = 0; considx < num_consoles; considx++) {
-+		close(cons[considx].fd);
-+	}
- 
- 	return 0;
- }
diff --git a/sysvinit-killall5.patch b/sysvinit-killall5.patch
deleted file mode 100644
index 0361c30..0000000
--- a/sysvinit-killall5.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-diff -u sysvinit-2.88dsf/src/killall5.c sysvinit-2.88dsf/src/killall5.c
---- sysvinit-2.88dsf/src/killall5.c	2011-12-03 23:12:52.373139250 +0100
-+++ sysvinit-2.88dsf/src/killall5.c	2011-12-03 23:19:21.498025134 +0100
-@@ -496,7 +497,7 @@
- 		/* Open the status file. */
- 		snprintf(path, sizeof(path), "%s/stat", d->d_name);
- 
--		/* Read SID & statname from it. */
-+		/* Read statname from it. */
- 		if ((fp = fopen(path, "r")) != NULL) {
- 			buf[0] = 0;
- 			fgets(buf, sizeof(buf), fp);
-@@ -509,7 +510,6 @@
- 				/* Read program name. */
- 				q = strrchr(buf, ')');
- 				if (q == NULL) {
--					p->sid = 0;
- 					nsyslog(LOG_ERR,
- 					"can't get program name from /proc/%s\n",
- 						path);
-@@ -517,6 +517,7 @@
- 					if (p->argv1) free(p->argv1);
- 					if (p->statname) free(p->statname);
- 					free(p);
-+					fclose(fp);
- 					continue;
- 				}
- 				s++;
-@@ -531,23 +532,25 @@
- 
- 			/* Get session, startcode, endcode. */
- 			startcode = endcode = 0;
--			if (sscanf(q, 	"%*c %*d %*d %d %*d %*d %*u %*u "
-+			if (sscanf(q, 	"%*c %*d %*d %*d %*d %*d %*u %*u "
- 					"%*u %*u %*u %*u %*u %*d %*d "
- 					"%*d %*d %*d %*d %*u %*u %*d "
- 					"%*u %lu %lu",
--					&p->sid, &startcode, &endcode) != 3) {
-+					&startcode, &endcode) == 2) {
-+				if (startcode == 0 && endcode == 0)
-+					p->kernel = 1;
-+			}
-+			fclose(fp);
-+			p->sid = getsid(pid);
-+			if (p->sid < 0) {
- 				p->sid = 0;
--				nsyslog(LOG_ERR, "can't read sid from %s\n",
--					path);
-+				nsyslog(LOG_ERR, "can't read sid for pid %d\n", pid);
- 				if (p->argv0) free(p->argv0);
- 				if (p->argv1) free(p->argv1);
- 				if (p->statname) free(p->statname);
- 				free(p);
- 				continue;
- 			}
--			if (startcode == 0 && endcode == 0)
--				p->kernel = 1;
--			fclose(fp);
- 		} else {
- 			/* Process disappeared.. */
- 			if (p->argv0) free(p->argv0);
diff --git a/sysvinit-lastlog.patch b/sysvinit-lastlog.patch
index 518442e..d09beb8 100644
--- a/sysvinit-lastlog.patch
+++ b/sysvinit-lastlog.patch
@@ -1,6 +1,6 @@
 --- sysvinit-2.88dsf/src/Makefile.wiget	2010-04-11 11:30:27.000000000 +0200
 +++ sysvinit-2.88dsf/src/Makefile	2011-12-03 23:38:27.970109228 +0100
-@@ -15,13 +15,13 @@ STATIC	=
+@@ -23,13 +23,13 @@ MNTPOINT=
  
  # For some known distributions we do not build all programs, otherwise we do.
  BIN	=
@@ -9,23 +9,23 @@
  USRBIN	= last mesg
  
  MAN1	= last.1 lastb.1 mesg.1
- MAN5	= initscript.5 inittab.5
+ MAN5	= initscript.5 inittab.5 initctl.5
  MAN8	= halt.8 init.8 killall5.8 pidof.8 poweroff.8 reboot.8 runlevel.8
 -MAN8	+= shutdown.8 telinit.8 fstab-decode.8
 +MAN8	+= shutdown.8 telinit.8 fstab-decode.8 lastlog.8
  
  ifeq ($(DISTRO),)
- BIN	+= mountpoint
-@@ -96,6 +96,9 @@ halt:		halt.o ifdown.o hddown.o utmp.o r
- 
- last:		last.o oldutmp.h
+ SBIN	+= sulogin bootlogd
+@@ -115,6 +115,9 @@ halt:		halt.o ifdown.o hddown.o utmp.o
+ last:		LDLIBS += $(STATIC)
+ last:		last.o
  
++lastlog:	LDLIBS += $(STATIC)
 +lastlog:	lastlog.o
-+		$(CC) $(LDFLAGS) -o $@ lastlog.o
 +
+ mesg:		LDLIBS += $(STATIC)
  mesg:		mesg.o
  
- mountpoint:	mountpoint.o
 --- sysvinit-2.88dsf/src/lastlog.c.wiget	2011-12-03 23:31:01.697380950 +0100
 +++ sysvinit-2.88dsf/src/lastlog.c	2011-12-03 23:31:01.697380950 +0100
 @@ -0,0 +1,217 @@
diff --git a/sysvinit-paths.patch b/sysvinit-paths.patch
index 31061ae..cef3603 100644
--- a/sysvinit-paths.patch
+++ b/sysvinit-paths.patch
@@ -9,8 +9,8 @@
    all programs that init starts (so that you can set a generic
    umask, ulimit eg for ALL processes - see initscript.sample).
  - A "sulogin" program added that always asks for the root
---- sysvinit-2.88dsf/src/initscript.sample.wiget	2009-09-10 10:28:49.000000000 +0200
-+++ sysvinit-2.88dsf/src/initscript.sample	2011-12-03 22:25:33.574721688 +0100
+--- sysvinit-2.88dsf/doc/initscript.sample.wiget	2009-09-10 10:28:49.000000000 +0200
++++ sysvinit-2.88dsf/doc/initscript.sample	2011-12-03 22:25:33.574721688 +0100
 @@ -1,14 +1,14 @@
  #
 -# initscript	If this script is intalled as /etc/initscript,
diff --git a/sysvinit-pidof.patch b/sysvinit-pidof.patch
deleted file mode 100644
index 5f42812..0000000
--- a/sysvinit-pidof.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- sysvinit-2.88dsf/src/killall5.c.wiget	2010-03-19 15:10:55.000000000 +0100
-+++ sysvinit-2.88dsf/src/killall5.c	2011-12-03 23:12:52.373139250 +0100
-@@ -66,8 +66,9 @@ char *Version = "@(#)killall5 2.86 31-Ju
- 
- /* Info about a process. */
- typedef struct proc {
-+	char *pathname;		/* full path to executable     	  */
- 	char *argv0;		/* Name as found out from argv[0] */
--	char *argv0base;	/* `basename argv[1]`		  */
-+	char *argv0base;	/* `basename argv[0]`		  */
- 	char *argv1;		/* Name as found out from argv[1] */
- 	char *argv1base;	/* `basename argv[1]`		  */
- 	char *statname;		/* the statname without braces    */
-@@ -477,6 +478,7 @@ int readproc(int do_stat)
- 		if (p->argv0) free(p->argv0);
- 		if (p->argv1) free(p->argv1);
- 		if (p->statname) free(p->statname);
-+		if (p->pathname) free(p->pathname);
- 		free(p);
- 	}
- 	plist = NULL;
-@@ -616,6 +618,8 @@ int readproc(int do_stat)
- 				break;
- 			p->dev = st.st_dev;
- 			p->ino = st.st_ino;
-+			p->pathname = (char *)xmalloc(PATH_MAX);
-+			readlink(path, p->pathname, PATH_MAX);
- 		default:
- 			break;
- 		}
-@@ -806,6 +810,9 @@ PIDQ_HEAD *pidof(char *prog)
- 		     p->argv0[0] == '-')) {
- 			ok |= (strcmp(p->statname, s) == 0);
- 		}
-+		        
-+		if (prog[0] == '/' && p->pathname && strcmp(prog, p->pathname))
-+			ok = 0;
- 
- 		if (ok) add_pid_to_q(q, p);
- 	}
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/SysVinit.git/commitdiff/f7d5edc72f08a7e13d2b1fe536d73afcf777fa28



More information about the pld-cvs-commit mailing list