summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2006-02-22 00:05:32 +0000
committerMike Frysinger <vapier@gentoo.org>2006-02-22 00:05:32 +0000
commit4fc87633b381527ac944171df5a5e99b6bf71b4d (patch)
treead6a076a75fd3400c5701e171794d79e7c6793e6 /sys-apps/sysvinit
parentMark 0.2.3 ~ia64 (diff)
downloadhistorical-4fc87633b381527ac944171df5a5e99b6bf71b4d.tar.gz
historical-4fc87633b381527ac944171df5a5e99b6bf71b4d.tar.bz2
historical-4fc87633b381527ac944171df5a5e99b6bf71b4d.zip
Add change_console utility from Fedora #123508 by Carl Anderson.
Package-Manager: portage-2.1_pre4-r1
Diffstat (limited to 'sys-apps/sysvinit')
-rw-r--r--sys-apps/sysvinit/ChangeLog8
-rw-r--r--sys-apps/sysvinit/Manifest41
-rw-r--r--sys-apps/sysvinit/files/change_console.833
-rw-r--r--sys-apps/sysvinit/files/change_console.c49
-rw-r--r--sys-apps/sysvinit/files/digest-sysvinit-2.86-r52
-rw-r--r--sys-apps/sysvinit/sysvinit-2.86-r5.ebuild92
6 files changed, 202 insertions, 23 deletions
diff --git a/sys-apps/sysvinit/ChangeLog b/sys-apps/sysvinit/ChangeLog
index a76ae00c47e0..cc06d26b8c8a 100644
--- a/sys-apps/sysvinit/ChangeLog
+++ b/sys-apps/sysvinit/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for sys-apps/sysvinit
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/sysvinit/ChangeLog,v 1.25 2006/02/07 01:22:59 pebenito Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/sysvinit/ChangeLog,v 1.26 2006/02/22 00:05:32 vapier Exp $
+
+*sysvinit-2.86-r5 (22 Feb 2006)
+
+ 22 Feb 2006; Mike Frysinger <vapier@gentoo.org> +files/change_console.8,
+ +files/change_console.c, +sysvinit-2.86-r5.ebuild:
+ Add change_console utility from Fedora #123508 by Carl Anderson.
*sysvinit-2.86-r4 (07 Feb 2006)
diff --git a/sys-apps/sysvinit/Manifest b/sys-apps/sysvinit/Manifest
index 1ecb002d2d87..ef4df59da364 100644
--- a/sys-apps/sysvinit/Manifest
+++ b/sys-apps/sysvinit/Manifest
@@ -1,9 +1,9 @@
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
-MD5 70a03ecdb674bce2a0365dd779b9b00e ChangeLog 3916
-RMD160 2b01c942bfe57322eb48ee1b190a4ac6957d6cbc ChangeLog 3916
-SHA256 699230af9688b4e12d9293fa4d67b7dcb28a5af0bf1d14ebe9d559906023f35a ChangeLog 3916
+MD5 3bf27edd7148c188a5bf1fd4272806db ChangeLog 4143
+RMD160 028c6b337460c2ad89c18c3ae183381a2b589e95 ChangeLog 4143
+SHA256 73d948ab16eae08fcfac99265119321baf676b14610ec75fbbe13a1611a94964 ChangeLog 4143
MD5 5f94105e0b503a39fda5fb65d885e16c files/2.86-gentoo.patch 641
RMD160 9e3f9ace9e58c3352f536649491a8a5b3f89e512 files/2.86-gentoo.patch 641
SHA256 6edd083b1b09b75f76b75fc299e2ddab7344a0df8f212e3cd86f27c44caa8c01 files/2.86-gentoo.patch 641
@@ -13,24 +13,24 @@ SHA256 a70ba499bdc3598fc18d0911ff32757356db353ebdd5d9f6a69aaf1ed277254f files/2.
MD5 3ba9251f1f4f0ae0dd30d682b28183dd files/2.86-selinux.patch 6525
RMD160 b50310333e3c7da300daadddee6135471b0a07ee files/2.86-selinux.patch 6525
SHA256 ccf4aecf38732569bc41feaa0dcb4abc21009f8d7a21a3bc402132f5ef7f88f8 files/2.86-selinux.patch 6525
-MD5 38c0059ecfaa1b09e59a75cc2780aa94 files/digest-sysvinit-2.85-r1 64
-RMD160 4a57221231754244cc8ab854cf38b4dd32212e4e files/digest-sysvinit-2.85-r1 64
-SHA256 acb6b44005e1619e5bf85a42295dc84fb793b3e98391b6506a2de8c4dcc7e560 files/digest-sysvinit-2.85-r1 64
-MD5 89c112138ee2f33829ad80c3dcc18328 files/digest-sysvinit-2.86 132
-RMD160 888fd7ca88a494029f2c15bbeb65ca131745fe4f files/digest-sysvinit-2.86 132
-SHA256 a7d09ad60fd5d3c48ac127e442510130ee7a5e506fcc831e976464d54d5fb3ef files/digest-sysvinit-2.86 132
+MD5 6d412ed450e27fd4ecaa9541161dae06 files/change_console.8 657
+RMD160 03a46941d92dd280d92252f83f58273353c0b7bb files/change_console.8 657
+SHA256 918dba79243a84a3c6dfd967e44c0d7375d49cfbe0452806a981c534b6022990 files/change_console.8 657
+MD5 f08b24c8aab5871b30b553f72a3bcfc3 files/change_console.c 929
+RMD160 168c97e47c6dae4f378b4ae13040156fad2a75db files/change_console.c 929
+SHA256 1e61b16274dee6f27ae69db13aff9230195feb6719f650dad027520503ea69b4 files/change_console.c 929
MD5 89c112138ee2f33829ad80c3dcc18328 files/digest-sysvinit-2.86-r3 132
RMD160 888fd7ca88a494029f2c15bbeb65ca131745fe4f files/digest-sysvinit-2.86-r3 132
SHA256 a7d09ad60fd5d3c48ac127e442510130ee7a5e506fcc831e976464d54d5fb3ef files/digest-sysvinit-2.86-r3 132
MD5 89c112138ee2f33829ad80c3dcc18328 files/digest-sysvinit-2.86-r4 132
RMD160 888fd7ca88a494029f2c15bbeb65ca131745fe4f files/digest-sysvinit-2.86-r4 132
SHA256 a7d09ad60fd5d3c48ac127e442510130ee7a5e506fcc831e976464d54d5fb3ef files/digest-sysvinit-2.86-r4 132
+MD5 89c112138ee2f33829ad80c3dcc18328 files/digest-sysvinit-2.86-r5 132
+RMD160 888fd7ca88a494029f2c15bbeb65ca131745fe4f files/digest-sysvinit-2.86-r5 132
+SHA256 a7d09ad60fd5d3c48ac127e442510130ee7a5e506fcc831e976464d54d5fb3ef files/digest-sysvinit-2.86-r5 132
MD5 1a4d6956c283308cfefa26c0f7c44c4c files/inittab 1645
RMD160 d0e2122734b8a9574519012a9a970aefd8cb2de1 files/inittab 1645
SHA256 5471f187bbfc56ad2d5b4d9a49edb5c77e627f3290a591d49f783a10cdd48e66 files/inittab 1645
-MD5 3c171d9c843284ce606663e4e6da26e9 files/sysvinit-2.85-selinux.patch 6448
-RMD160 5a923a20d6b395044b25b311789449238974dead files/sysvinit-2.85-selinux.patch 6448
-SHA256 aee9ed36ee15aab82d8a63c5c5dc868ffe0cee0131e217b3de1aa3e61b947b9f files/sysvinit-2.85-selinux.patch 6448
MD5 a20a459c789828c7b994e6ec93ed223a files/sysvinit-2.86-POSIX-1003.1e.patch 1358
RMD160 a4e22a9c6c13373c0196aeb7c274e05bc0ea552f files/sysvinit-2.86-POSIX-1003.1e.patch 1358
SHA256 73729ddfae95826bf6f3e7f1bf0da53c8647d24126fb7a307020f5a5fa8bff04 files/sysvinit-2.86-POSIX-1003.1e.patch 1358
@@ -52,22 +52,19 @@ SHA256 2126f4c0e1512b133da8d629691b5dc52c730e188b5790cb4e3c681e3912e03e files/sy
MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164
RMD160 f43cbec30b7074319087c9acffdb9354b17b0db3 metadata.xml 164
SHA256 f5f2891f2a4791cd31350bb2bb572131ad7235cd0eeb124c9912c187ac10ce92 metadata.xml 164
-MD5 4bb35af95759582d45324cdf3bc237b7 sysvinit-2.85-r1.ebuild 2545
-RMD160 0cfa38ddb52fe96a4a3f82ca8e8fed2fe5446a45 sysvinit-2.85-r1.ebuild 2545
-SHA256 a06a50995f1a917aa9abb9cc49ba927b93f4b0cd474a72f24dae1514e196febd sysvinit-2.85-r1.ebuild 2545
MD5 f6a11b79bc4c15813b73475f28fd4fff sysvinit-2.86-r3.ebuild 3059
RMD160 d6cdc920a013ee00d2e1c6421be3c41a5dd62b0f sysvinit-2.86-r3.ebuild 3059
SHA256 f280b6c24d7b707ee5bbb98edda38624062a24041fe8eae82bc554d3d69cf418 sysvinit-2.86-r3.ebuild 3059
MD5 817bb2297c121340e21d45faee8a7c2e sysvinit-2.86-r4.ebuild 3058
RMD160 65b16cf294047851d2020ea4482fda0a090b76eb sysvinit-2.86-r4.ebuild 3058
SHA256 72fa061978aca2c82ecb39fe2313509d992a2a3f940fad425b58b660e45e0925 sysvinit-2.86-r4.ebuild 3058
-MD5 6eec1ad98ec6dd5dad32785f73f469c0 sysvinit-2.86.ebuild 2503
-RMD160 47249b9cc9fbf9477cad74039bbc63e8481f4956 sysvinit-2.86.ebuild 2503
-SHA256 0544a71306beb657063408528c4b972bbfd5be50162e780c11e4c4fd6401dd3b sysvinit-2.86.ebuild 2503
+MD5 1666a546b5d8f2326f55440f8789cfc0 sysvinit-2.86-r5.ebuild 3193
+RMD160 6ea9722b11753c89ba40fcf41b7946a6c02202b5 sysvinit-2.86-r5.ebuild 3193
+SHA256 cbbacc0a105a887d2b2a12a631a5296278c248db9c49667873085d16b6c79d8d sysvinit-2.86-r5.ebuild 3193
-----BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.2 (GNU/Linux)
+Version: GnuPG v1.4.2.1 (GNU/Linux)
-iD8DBQFD5/aAJ+ChZlpDtAoRAg9LAJ9oXmRQS9dNsfN50L7sLaUQIDdiJwCeJO+o
-CA+NCPQO2/knYlCx8gBppNk=
-=3wDQ
+iD8DBQFD+6rr2+ySkm8kpY0RAvLYAKCePGdHu0/aCevYkKUaYhd8Iw0U6QCfTz1Q
+Ul5UlUxLns4R/6l3cxkK3YQ=
+=PHbc
-----END PGP SIGNATURE-----
diff --git a/sys-apps/sysvinit/files/change_console.8 b/sys-apps/sysvinit/files/change_console.8
new file mode 100644
index 000000000000..c1ea01c9b332
--- /dev/null
+++ b/sys-apps/sysvinit/files/change_console.8
@@ -0,0 +1,33 @@
+.TH CHANGE_CONSOLE 8 "23 September 2003" "" "Linux User's Manual"
+
+.SH NAME
+change_console -- change console used by init
+
+.SH SYNOPSIS
+.B change_console
+.RB [ \-f ]
+.RB [ \-r ]
+.RB [device]
+
+.SH DESCRIPTION
+.B change_console
+changes the console used by
+.IR init (8)
+to spawn commands.
+.SH OPTIONS
+.IP \fB\-f\fn
+Remain in the foreground after sending the command to init
+.PP
+.IP \fB\-r\fn
+Reset the console file used by init to its compiled-in default
+(usually /dev/console).
+
+.IP \fBdevice\fn
+The device file to use as the console. If none is specified,
+the result of running ttyname on stdin is used.
+
+.SH SEE ALSO
+.IR init (8)
+
+.SH AUTHOR
+Red Hat, Inc.
diff --git a/sys-apps/sysvinit/files/change_console.c b/sys-apps/sysvinit/files/change_console.c
new file mode 100644
index 000000000000..4f4fbe31767c
--- /dev/null
+++ b/sys-apps/sysvinit/files/change_console.c
@@ -0,0 +1,49 @@
+#include "initreq.h"
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <signal.h>
+#include <getopt.h>
+#include <unistd.h>
+
+void signal_handler(int sig) {
+ exit(0);
+}
+
+int main(int argc, char **argv) {
+ int foreground = 0, reset = 0, fd, x = 1;
+ char *device = NULL;
+ struct init_request req;
+
+ while (x < argc) {
+ if (!strcmp(argv[x], "-f")) {
+ foreground = 1;
+ } else if (!strcmp(argv[x], "-r")) {
+ reset = 1;
+ } else {
+ device = argv[x];
+ }
+ x++;
+ }
+ if (!device)
+ device = ttyname(0);
+
+ memset(&req, 0, sizeof(req));
+ req.magic = INIT_MAGIC;
+ req.cmd = INIT_CMD_CHANGECONS;
+ if (!reset)
+ snprintf(req.i.bsd.reserved, 127, device);
+ else
+ req.i.bsd.reserved[0] = '\0';
+ signal(SIGALRM, signal_handler);
+ alarm(3);
+ if ((fd = open(INIT_FIFO, O_WRONLY)) >= 0) {
+ write(fd, &req, sizeof(req)) == sizeof(req);
+ close(fd);
+ }
+ alarm(0);
+ if (foreground)
+ pause();
+ return 0;
+}
diff --git a/sys-apps/sysvinit/files/digest-sysvinit-2.86-r5 b/sys-apps/sysvinit/files/digest-sysvinit-2.86-r5
new file mode 100644
index 000000000000..36e59eb1e93b
--- /dev/null
+++ b/sys-apps/sysvinit/files/digest-sysvinit-2.86-r5
@@ -0,0 +1,2 @@
+MD5 7d5d61c026122ab791ac04c8a84db967 sysvinit-2.86.tar.gz 99009
+MD5 650af823f937d386e81520b1741d4d45 sysvinit-2.86-kexec.patch 4139
diff --git a/sys-apps/sysvinit/sysvinit-2.86-r5.ebuild b/sys-apps/sysvinit/sysvinit-2.86-r5.ebuild
new file mode 100644
index 000000000000..99bffc8cc6dd
--- /dev/null
+++ b/sys-apps/sysvinit/sysvinit-2.86-r5.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/sysvinit/sysvinit-2.86-r5.ebuild,v 1.1 2006/02/22 00:05:32 vapier Exp $
+
+inherit eutils toolchain-funcs flag-o-matic
+
+DESCRIPTION="/sbin/init - parent of all processes"
+HOMEPAGE="http://freshmeat.net/projects/sysvinit/"
+SRC_URI="ftp://ftp.cistron.nl/pub/people/miquels/software/${P}.tar.gz
+ ftp://sunsite.unc.edu/pub/Linux/system/daemons/init/${P}.tar.gz
+ http://www.gc-linux.org/down/isobel/kexec/sysvinit/sysvinit-2.86-kexec.patch"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="selinux bootstrap build ibm static"
+
+RDEPEND="selinux? ( >=sys-libs/libselinux-1.28 )"
+DEPEND="${RDEPEND}
+ virtual/os-headers"
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ cd "${S}"
+ cp "${FILESDIR}"/change_console.{c,8} src/ || die
+ epatch "${FILESDIR}"/${P}-docs.patch
+ epatch "${FILESDIR}"/${P}-shutdown-usage.patch
+ epatch "${FILESDIR}"/sysvinit-2.86-off-by-one.patch
+ epatch "${DISTDIR}"/sysvinit-2.86-kexec.patch
+ epatch "${FILESDIR}"/sysvinit-2.86-POSIX-1003.1e.patch #5818
+ epatch "${FILESDIR}"/sysvinit-2.86-execl.patch
+ epatch "${FILESDIR}"/sysvinit-2.86-utmp-64bit.patch
+ cd src
+ epatch "${FILESDIR}"/${PV}-gentoo.patch
+ use selinux && epatch "${FILESDIR}"/${PV}-selinux-1.patch
+
+ # Mung inittab for specific architectures
+ cd "${WORKDIR}"
+ cp "${FILESDIR}"/inittab . || die "cp inittab"
+ local insert=""
+ if use ibm ; then
+ insert="#hvc0:2345:respawn:/sbin/agetty -L 9600 hvc0"$'\n'
+ insert="${insert}#hvsi:2345:respawn:/sbin/agetty -L 19200 hvsi0"
+ fi
+ use arm && insert='#f0:12345:respawn:/sbin/agetty 9600 ttyFB0 vt100'
+ use hppa && insert='b0:12345:respawn:/sbin/agetty 9600 ttyB0 vt100'
+ (use arm || use mips || use sh || use sparc) && sed -i '/ttyS0/s:#::' inittab
+ [[ -n ${insert} ]] && echo "# Architecture specific features"$'\n'"${insert}" >> inittab
+}
+
+src_compile() {
+ use static && append-ldflags -static
+
+ # Note: The LCRYPT define below overrides the test in
+ # sysvinit's Makefile. This is because sulogin must be linked
+ # to libcrypt in any case, but when building stage2 in
+ # catalyst, /usr/lib/libcrypt.a isn't available. In truth
+ # this doesn't change how sulogin is built since ld would use
+ # the shared obj by default anyway! The other option is to
+ # refrain from building sulogin, but that isn't a good option.
+ # (09 Jul 2004 agriffis)
+ emake -C src \
+ CC="$(tc-getCC)" \
+ DISTRO="Gentoo" \
+ LCRYPT="-lcrypt" \
+ all change_console \
+ || die
+}
+
+src_install() {
+ dodoc README doc/*
+
+ cd src
+ make install DISTRO="Gentoo" ROOT="${D}" || die "make install"
+
+ into /
+ dosbin change_console || die
+ doman change_console.8
+
+ insinto /etc
+ doins "${WORKDIR}"/inittab || die "inittab"
+}
+
+pkg_postinst() {
+ # Reload init to fix unmounting problems of / on next reboot.
+ # This is really needed, as without the new version of init cause init
+ # not to quit properly on reboot, and causes a fsck of / on next reboot.
+ if [[ ${ROOT} == / ]] && ! use build && ! use bootstrap; then
+ # Do not return an error if this fails
+ /sbin/telinit U &>/dev/null
+ fi
+}