diff options
author | 2006-05-14 11:38:43 +0000 | |
---|---|---|
committer | 2006-05-14 11:38:43 +0000 | |
commit | 8b8c8e15d09db10579908c9bc05071f3c1df9f69 (patch) | |
tree | 2c8e27777a575c36d825aa97c061838a464032f1 /net-dialup/mingetty | |
parent | x86 (diff) | |
download | gentoo-2-8b8c8e15d09db10579908c9bc05071f3c1df9f69.tar.gz gentoo-2-8b8c8e15d09db10579908c9bc05071f3c1df9f69.tar.bz2 gentoo-2-8b8c8e15d09db10579908c9bc05071f3c1df9f69.zip |
Remove obsolete version. Stable on x86.
(Portage version: 2203-svn)
Diffstat (limited to 'net-dialup/mingetty')
-rw-r--r-- | net-dialup/mingetty/ChangeLog | 7 | ||||
-rw-r--r-- | net-dialup/mingetty/files/digest-mingetty-1.00.3 | 1 | ||||
-rw-r--r-- | net-dialup/mingetty/files/mingetty-1.00-autologin.patch | 426 | ||||
-rw-r--r-- | net-dialup/mingetty/files/mingetty-1.00-strerror.patch | 52 | ||||
-rw-r--r-- | net-dialup/mingetty/mingetty-1.00.3.ebuild | 37 | ||||
-rw-r--r-- | net-dialup/mingetty/mingetty-1.07.5.ebuild | 4 |
6 files changed, 8 insertions, 519 deletions
diff --git a/net-dialup/mingetty/ChangeLog b/net-dialup/mingetty/ChangeLog index 7fad9aa5af75..3c0880508b7d 100644 --- a/net-dialup/mingetty/ChangeLog +++ b/net-dialup/mingetty/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for net-dialup/mingetty # Copyright 2002-2006 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-dialup/mingetty/ChangeLog,v 1.29 2006/04/24 17:43:53 kumba Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-dialup/mingetty/ChangeLog,v 1.30 2006/05/14 11:38:43 mrness Exp $ + + 14 May 2006; Alin Nastac <mrness@gentoo.org> + -files/mingetty-1.00-autologin.patch, -files/mingetty-1.00-strerror.patch, + -mingetty-1.00.3.ebuild, mingetty-1.07.5.ebuild: + Remove obsolete version. Stable on x86. 24 Apr 2006; Joshua Kinard <kumba@gentoo.org> mingetty-1.07.3.ebuild: Marked stable on mips. diff --git a/net-dialup/mingetty/files/digest-mingetty-1.00.3 b/net-dialup/mingetty/files/digest-mingetty-1.00.3 deleted file mode 100644 index 98d0fb247e86..000000000000 --- a/net-dialup/mingetty/files/digest-mingetty-1.00.3 +++ /dev/null @@ -1 +0,0 @@ -MD5 a1b54a9caf79300fda418eea8c1172e9 mingetty-1.00-3.src.rpm 19114 diff --git a/net-dialup/mingetty/files/mingetty-1.00-autologin.patch b/net-dialup/mingetty/files/mingetty-1.00-autologin.patch deleted file mode 100644 index b9fd596e5de6..000000000000 --- a/net-dialup/mingetty/files/mingetty-1.00-autologin.patch +++ /dev/null @@ -1,426 +0,0 @@ -diff -urN mingetty-1.00/Makefile mingetty-1.00-autologin/Makefile ---- mingetty-1.00/Makefile Mon Mar 4 07:23:56 2002 -+++ mingetty-1.00-autologin/Makefile Tue Dec 31 16:54:22 2002 -@@ -1,6 +1,6 @@ - DESTDIR= - CC=gcc --CFLAGS=-O2 -Wall -pipe -D_GNU_SOURCE -+CFLAGS=$(RPM_OPTS) -Wall -D_GNU_SOURCE - MANDIR=/usr/man/man8 - SBINDIR=/sbin - -Binary files mingetty-1.00/mingetty and mingetty-1.00-autologin/mingetty differ -diff -urN mingetty-1.00/mingetty-0.9.4-autologin.patch mingetty-1.00-autologin/mingetty-0.9.4-autologin.patch ---- mingetty-1.00/mingetty-0.9.4-autologin.patch Mon Mar 4 07:14:22 2002 -+++ mingetty-1.00-autologin/mingetty-0.9.4-autologin.patch Wed Dec 31 17:00:00 1969 -@@ -1,202 +0,0 @@ ----- mingetty-0.9.4/mingetty.8.autologin Fri Jun 14 09:54:01 1996 --+++ mingetty-0.9.4/mingetty.8 Sun Nov 26 10:34:49 2000 --@@ -3,7 +3,7 @@ -- mingetty \- minimal getty for consoles -- .SH SYNOPSIS -- .B mingetty ---[\-\-noclear] [\-\-long\-hostname] --+[\-\-noclear] [\-\-long\-hostname] [\-\-autologin username] -- .I tty -- .PP -- .SH DESCRIPTION --@@ -26,6 +26,41 @@ -- .B \-\-long\-hostname -- By default the hostname is only printed until the first dot. -- With this option enabled, the full text from gethostname() is shown. --+.TP --+.B \-\-autologin username --+Log the specified user onto the console (normally --+.IR /dev/tty1 ) --+when the system is first booted without prompting for a username or --+password. --+.IP --+When the autologin option is supplied, --+.B mingetty --+will check that the controlling terminal is the console (normally --+.IR /dev/tty1 ), --+that a reasonable username has been supplied, and that this is the --+first autologin request since the system has booted. If all of these --+conditions have been met, a request for an unauthenticated login is --+passed to the --+.B login --+program. Otherwise, a normal interactive login is performed. --+.IP --+The --+.B login --+program may deny the request for an unauthenticated login. Typically --+this will happen when the user is root, has a UID of 0, or whenever a --+normal interactive login would be denied due to the access --+restrictions specified in the --+.IR nologin , --+.IR usertty , --+or --+.I securetty --+files. --+.IP --+Only a single autologin request will be issued after a system boot. --+If the automated login request is denied, or if the user logs out, --+.B mingetty --+will revert to performing normal interactive logins for all subsequent --+login requests. -- .PP -- .SH "ISSUE ESCAPES" -- .B mingetty --@@ -63,7 +98,8 @@ -- .PP -- .SH FILES -- .IR /etc/issue , ---.IR /var/run/utmp . --+.IR /var/run/utmp , --+.IR /var/log/autologin . -- .PP -- .SH "SEE ALSO" -- .BR mgetty (8), ----- mingetty-0.9.4/mingetty.c.autologin Sun Nov 26 10:54:13 2000 --+++ mingetty-0.9.4/mingetty.c Sun Nov 26 10:28:29 2000 --@@ -17,7 +17,7 @@ -- * should be very reliable. For a modem getty, I'd also use nothing else -- * but mgetty. -- * --- * Usage: mingetty [--noclear] tty --+ * Usage: mingetty [--noclear] [--autologin username] tty -- * Example entry in /etc/inittab: 1:123:respawn:/sbin/mingetty tty1 -- * -- * This program is free software; you can redistribute it and/or --@@ -49,6 +49,20 @@ -- #endif -- -- #ifdef linux --+/* Autologin stuff. Currently Linux-specific, since there's no --+ standard way of getting the system boot time. The kernel.h and the --+ sysinfo prototype are used to get the system uptime under Linux. */ --+#include <linux/kernel.h> --+int sysinfo(struct sysinfo *info); --+ --+/* AUTO_LAST points to a timestamp file used to limit autologins to --+ one per system boot. */ --+#define AUTO_LAST "/var/log/autologin" --+ --+/* AUTO_TTY is the tty on which autologins will be accepted. If set --+ to an empty string, autologins will be accepted on any tty. */ --+#define AUTO_TTY "tty1" --+ -- #include <sys/param.h> -- #define USE_SYSLOG -- #endif --@@ -80,7 +94,8 @@ -- static int noclear = 0; -- /* Print the whole string of gethostname() instead of just until the next "." */ -- static int longhostname = 0; --- --+/* If supplied, attempt an automatic login with this username. */ --+static char *autologin_name = NULL; -- -- /* -- * output error messages --@@ -385,6 +400,62 @@ -- return logname; -- } -- --+/* --+ * autologin_ok -- returns 1 if it's okay to auto-login when: --+ * this login is from /dev/tty1; and --+ * there was a login name passed with the --autologin option; and --+ * the autologin_name contains only "nice" characters; and --+ * this is the first autologin attempt since the last boot; --+ * return 0 otherwise. --+ */ --+static int autologin_ok(void) --+{ --+ char c, *cp; --+ int stat_err, fd; --+ struct sysinfo info; --+ struct stat sbuf; --+ --+ /* Autologins are restricted to AUTO_TTY if non-empty. */ --+ if (AUTO_TTY[0] && strcmp(tty, AUTO_TTY)) --+ return 0; --+ --+ /* An all-alphanumeric autologin name must be supplied. */ --+ if (autologin_name == NULL || autologin_name[0] == '\0') --+ return 0; --+ for (cp = autologin_name; (c = *cp); cp++) --+ if (!isalnum(c) && c != '_') --+ return 0; --+ --+ /* Get the uptime in info.uptime, and the last autologin time --+ in sbuf.st_mtime. */ --+ sysinfo(&info); --+ stat_err = stat(AUTO_LAST, &sbuf); --+ --+ /* If a stat error other than "no such file" occurs, I don't --+ know what went wrong, so I'll proceed with caution by --+ denying the autologin request. */ --+ if (stat_err && errno != ENOENT) --+ return 0; --+ --+ /* If there's been an autologin granted since the last boot, --+ deny this and any subsequent attempts. Note that this test --+ is skipped if the AUTO_LAST file doesn't exist. */ --+ if (!stat_err && time(NULL) - info.uptime < sbuf.st_mtime) --+ return 0; --+ --+ /* Create the AUTO_LAST file. The mtime of this file provides --+ a persistent record of the last time that an autologin --+ request was granted. Deny the autologin request if either --+ the file open or file close fails. */ --+ if ((fd=open(AUTO_LAST, O_WRONLY | O_CREAT | O_TRUNC, 0644)) < 0) --+ return 0; --+ if (close(fd) != 0) --+ return 0; --+ --+ /* All tests are okay, so grant the autologin request. */ --+ return 1; --+} --+ -- static void usage (void) -- { -- error ("usage: '%s tty' with e.g. tty=tty1", progname); --@@ -393,6 +464,7 @@ -- static struct option const long_options[] = { -- { "noclear", no_argument, &noclear, 1}, -- { "long-hostname", no_argument, &longhostname, 1}, --+ { "autologin", required_argument, NULL, 'a'}, -- { 0, 0, 0, 0 } -- }; -- --@@ -418,6 +490,9 @@ -- switch (c) { -- case 0: -- break; --+ case 'a': --+ autologin_name = optarg; --+ break; -- default: -- usage (); -- } --@@ -438,9 +513,12 @@ -- /* flush input and output queues, important for modems */ -- ioctl (0, TCFLSH, 2); -- --- while ((logname = get_logname ()) == 0); --- --- execl (_PATH_LOGIN, _PATH_LOGIN, "--", logname, NULL); --+ if (autologin_ok()) { --+ execl (_PATH_LOGIN, _PATH_LOGIN, "-f", autologin_name, NULL); --+ } else { --+ while ((logname = get_logname ()) == 0) ; --+ execl (_PATH_LOGIN, _PATH_LOGIN, "--", logname, NULL); --+ } -- error ("%s: can't exec " _PATH_LOGIN ": %s", tty, sys_errlist[errno]); -- exit (0); -- } -diff -urN mingetty-1.00/mingetty.8 mingetty-1.00-autologin/mingetty.8 ---- mingetty-1.00/mingetty.8 Mon Mar 4 07:00:44 2002 -+++ mingetty-1.00-autologin/mingetty.8 Tue Dec 31 17:00:04 2002 -@@ -3,7 +3,7 @@ - mingetty \- minimal getty for consoles - .SH SYNOPSIS - .B mingetty --[\-\-noclear] [\-\-long\-hostname] -+[\-\-noclear] [\-\-long\-hostname] [\-\-autologin username] - .I tty - .PP - .SH DESCRIPTION -@@ -26,6 +26,41 @@ - .B \-\-long\-hostname - By default the hostname is only printed until the first dot. - With this option enabled, the full text from gethostname() is shown. -+.TP -+.B \-\-autologin username -+Log the specified user onto the console (normally -+.IR /dev/tty1 ) -+when the system is first booted without prompting for a username or -+password. -+.IP -+When the autologin option is supplied, -+.B mingetty -+will check that the controlling terminal is the console (normally -+.IR /dev/tty1 ), -+that a reasonable username has been supplied, and that this is the -+first autologin request since the system has booted. If all of these -+conditions have been met, a request for an unauthenticated login is -+passed to the -+.B login -+program. Otherwise, a normal interactive login is performed. -+.IP -+The -+.B login -+program may deny the request for an unauthenticated login. Typically -+this will happen when the user is root, has a UID of 0, or whenever a -+normal interactive login would be denied due to the access -+restrictions specified in the -+.IR nologin , -+.IR usertty , -+or -+.I securetty -+files. -+.IP -+Only a single autologin request will be issued after a system boot. -+If the automated login request is denied, or if the user logs out, -+.B mingetty -+will revert to performing normal interactive logins for all subsequent -+login requests. - .PP - .SH "ISSUE ESCAPES" - .B mingetty -@@ -64,7 +99,8 @@ - .PP - .SH FILES - .IR /etc/issue , --.IR /var/run/utmp . -+.IR /var/run/utmp , -+.IR /var/log/autologin . - .PP - .SH "SEE ALSO" - .BR mgetty (8), -diff -urN mingetty-1.00/mingetty.c mingetty-1.00-autologin/mingetty.c ---- mingetty-1.00/mingetty.c Mon Mar 4 07:10:01 2002 -+++ mingetty-1.00-autologin/mingetty.c Tue Dec 31 17:11:36 2002 -@@ -10,7 +10,7 @@ - * should be very reliable. For a modem getty, I'd also use nothing else - * but mgetty. - * -- * Usage: mingetty [--noclear] tty -+ * Usage: mingetty [--noclear] [--autologin username] tty - * Example entry in /etc/inittab: 1:123:respawn:/sbin/mingetty tty1 - * - * This program is free software; you can redistribute it and/or -@@ -46,7 +46,22 @@ - #define USE_SYSLOG - #endif - -- /* If USE_SYSLOG is undefined all diagnostics go directly to /dev/console. */ -+/* Autologin stuff. Currently Linux-specific, since there's no -+ standard way of getting the system boot time. The kernel.h and the -+ sysinfo prototype are used to get the system uptime under Linux. */ -+#include <linux/kernel.h> -+int sysinfo(struct sysinfo *info); -+ -+/* AUTO_LAST points to a timestamp file used to limit autologins to -+ one per system boot. */ -+#define AUTO_LAST "/var/log/autologin" -+ -+/* AUTO_TTY is the tty on which autologins will be accepted. If set -+ to an empty string, autologins will be accepted on any tty. */ -+#define AUTO_TTY "tty1" -+ -+/* If USE_SYSLOG is undefined all diagnostics go directly to /dev/console. */ -+ - #ifdef USE_SYSLOG - #include <sys/syslog.h> - #endif -@@ -73,7 +88,8 @@ - static int noclear = 0; - /* Print the whole string of gethostname() instead of just until the next "." */ - static int longhostname = 0; -- -+/* If supplied, attempt an automatic login with this username. */ -+static char *autologin_name = NULL; - - /* - * output error messages -@@ -378,6 +394,62 @@ - return logname; - } - -+/* -+ * autologin_ok -- returns 1 if it's okay to auto-login when: -+ * this login is from /dev/tty1; and -+ * there was a login name passed with the --autologin option; and -+ * the autologin_name contains only "nice" characters; and -+ * this is the first autologin attempt since the last boot; -+ * return 0 otherwise. -+ */ -+static int autologin_ok(void) -+{ -+ char c, *cp; -+ int stat_err, fd; -+ struct sysinfo info; -+ struct stat sbuf; -+ -+ /* Autologins are restricted to AUTO_TTY if non-empty. */ -+ if (AUTO_TTY[0] && strcmp(tty, AUTO_TTY)) -+ return 0; -+ -+ /* An all-alphanumeric autologin name must be supplied. */ -+ if (autologin_name == NULL || autologin_name[0] == '\0') -+ return 0; -+ for (cp = autologin_name; (c = *cp); cp++) -+ if (!isalnum(c) && c != '_') -+ return 0; -+ -+ /* Get the uptime in info.uptime, and the last autologin time -+ in sbuf.st_mtime. */ -+ sysinfo(&info); -+ stat_err = stat(AUTO_LAST, &sbuf); -+ -+ /* If a stat error other than "no such file" occurs, I don't -+ know what went wrong, so I'll proceed with caution by -+ denying the autologin request. */ -+ if (stat_err && errno != ENOENT) -+ return 0; -+ -+ /* If there's been an autologin granted since the last boot, -+ deny this and any subsequent attempts. Note that this test -+ is skipped if the AUTO_LAST file doesn't exist. */ -+ if (!stat_err && time(NULL) - info.uptime < sbuf.st_mtime) -+ return 0; -+ -+ /* Create the AUTO_LAST file. The mtime of this file provides -+ a persistent record of the last time that an autologin -+ request was granted. Deny the autologin request if either -+ the file open or file close fails. */ -+ if ((fd=open(AUTO_LAST, O_WRONLY | O_CREAT | O_TRUNC, 0644)) < 0) -+ return 0; -+ if (close(fd) != 0) -+ return 0; -+ -+ /* All tests are okay, so grant the autologin request. */ -+ return 1; -+} -+ - static void usage (void) - { - error ("usage: '%s tty' with e.g. tty=tty1", progname); -@@ -386,6 +458,7 @@ - static struct option const long_options[] = { - { "noclear", no_argument, &noclear, 1}, - { "long-hostname", no_argument, &longhostname, 1}, -+ { "autologin", required_argument, NULL, 'a'}, - { 0, 0, 0, 0 } - }; - -@@ -415,6 +488,9 @@ - switch (c) { - case 0: - break; -+ case 'a': -+ autologin_name = optarg; -+ break; - default: - usage (); - } -@@ -435,9 +511,12 @@ - /* flush input and output queues, important for modems */ - ioctl (0, TCFLSH, 2); - -- while ((logname = get_logname ()) == 0); -- -- execl (_PATH_LOGIN, _PATH_LOGIN, "--", logname, NULL); -+ if (autologin_ok()) { -+ execl (_PATH_LOGIN, _PATH_LOGIN, "-f", autologin_name, NULL); -+ } else { -+ while ((logname = get_logname ()) == 0) ; -+ execl (_PATH_LOGIN, _PATH_LOGIN, "--", logname, NULL); -+ } - error ("%s: can't exec " _PATH_LOGIN ": %s", tty, sys_errlist[errno]); - exit (0); - } -Binary files mingetty-1.00/mingetty.o and mingetty-1.00-autologin/mingetty.o differ diff --git a/net-dialup/mingetty/files/mingetty-1.00-strerror.patch b/net-dialup/mingetty/files/mingetty-1.00-strerror.patch deleted file mode 100644 index a3ec9e136ef2..000000000000 --- a/net-dialup/mingetty/files/mingetty-1.00-strerror.patch +++ /dev/null @@ -1,52 +0,0 @@ ---- mingetty-1.00/mingetty.c.orig 2004-10-02 21:13:08.000000000 +0000 -+++ mingetty-1.00/mingetty.c 2004-10-02 21:13:52.000000000 +0000 -@@ -193,7 +193,7 @@ - strcpy (buf, "/dev/"); - strcat (buf, tty); - if (chown (buf, 0, 0) || chmod (buf, 0600)) -- error ("%s: %s", buf, sys_errlist[errno]); -+ error ("%s: %s", buf, strerror(errno)); - - sa.sa_handler = SIG_IGN; - sa.sa_flags = 0; -@@ -208,7 +208,7 @@ - */ - if ((fd = open (buf, O_RDWR, 0)) < 0 - || ioctl (fd, TIOCSCTTY, (void *)1) == -1) -- error ("%s: cannot open tty: %s", buf, sys_errlist[errno]); -+ error ("%s: cannot open tty: %s", buf, strerror(errno)); - if (!isatty (fd)) - error ("%s: not a tty", buf); - -@@ -222,11 +222,11 @@ - - if (open (buf, O_RDWR, 0) != 0) - error ("%s: cannot open as standard input: %s", buf, -- sys_errlist[errno]); -+ strerror(errno)); - - /* Set up standard output and standard error file descriptors. */ - if (dup (0) != 1 || dup (0) != 2) -- error ("%s: dup problem: %s", buf, sys_errlist[errno]); -+ error ("%s: dup problem: %s", buf, strerror(errno)); - - /* Write a reset string to the terminal. This is very linux-specific - and should be checked for other systems. */ -@@ -377,7 +377,7 @@ - if (errno == EINTR || errno == EIO - || errno == ENOENT) - exit (0); -- error ("%s: read: %s", tty, sys_errlist[errno]); -+ error ("%s: read: %s", tty, strerror(errno)); - } - if (c == '\n' || c == '\r') { - *bp = 0; -@@ -517,7 +517,7 @@ - while ((logname = get_logname ()) == 0) ; - execl (_PATH_LOGIN, _PATH_LOGIN, "--", logname, NULL); - } -- error ("%s: can't exec " _PATH_LOGIN ": %s", tty, sys_errlist[errno]); -+ error ("%s: can't exec " _PATH_LOGIN ": %s", tty, strerror(errno)); - exit (0); - } - diff --git a/net-dialup/mingetty/mingetty-1.00.3.ebuild b/net-dialup/mingetty/mingetty-1.00.3.ebuild deleted file mode 100644 index 2bd15582ddbc..000000000000 --- a/net-dialup/mingetty/mingetty-1.00.3.ebuild +++ /dev/null @@ -1,37 +0,0 @@ -# Copyright 1999-2005 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-dialup/mingetty/mingetty-1.00.3.ebuild,v 1.21 2005/07/20 05:46:31 mrness Exp $ - -inherit rpm eutils - -RHP=${PN}-1.00 -S=${WORKDIR}/${RHP} -MYP=${PN}-1.00-3 - -DESCRIPTION="A compact getty program for virtual consoles only." -HOMEPAGE="ftp://ftp.redhat.com/pub/redhat/linux/8.0/en/os/i386/SRPMS/" -SRC_URI="http://distro.ibiblio.org/pub/Linux/distributions/redhat/8.0/en/os/i386/SRPMS/${MYP}.src.rpm -ftp://ftp.redhat.com/pub/redhat/linux/8.0/en/os/i386/SRPMS/${MYP}.src.rpm" - -SLOT="0" -LICENSE="GPL-2" -KEYWORDS="x86 ppc hppa amd64 alpha sparc ia64 mips ppc64 s390" -IUSE="" - -RDEPEND="virtual/libc" - -src_unpack() { - rpm_src_unpack - epatch ${FILESDIR}/mingetty-1.00-autologin.patch - epatch ${FILESDIR}/mingetty-1.00-strerror.patch -} - -src_compile() { - emake RPM_OPTS="${CFLAGS}" || die -} - -src_install () { - into / - dosbin mingetty - doman mingetty.8 -} diff --git a/net-dialup/mingetty/mingetty-1.07.5.ebuild b/net-dialup/mingetty/mingetty-1.07.5.ebuild index 8a02f91047a5..eaf3cef2338e 100644 --- a/net-dialup/mingetty/mingetty-1.07.5.ebuild +++ b/net-dialup/mingetty/mingetty-1.07.5.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2006 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/net-dialup/mingetty/mingetty-1.07.5.ebuild,v 1.1 2006/03/12 18:02:46 mrness Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-dialup/mingetty/mingetty-1.07.5.ebuild,v 1.2 2006/05/14 11:38:43 mrness Exp $ inherit rpm eutils toolchain-funcs @@ -14,7 +14,7 @@ SRC_URI="mirror://fedora/4/SRPMS/${MY_P}.src.rpm" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86" IUSE="" src_unpack() { |