summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2005-01-10 02:56:52 +0000
committerMike Frysinger <vapier@gentoo.org>2005-01-10 02:56:52 +0000
commit93c4dd1732019765af46372969f55ab9141d003c (patch)
treed7f6c2a4a292c78f8acb469ffc56d7d9664ff1c1 /sys-apps/util-linux
parentarch shuffle (Manifest recommit) (diff)
downloadgentoo-2-93c4dd1732019765af46372969f55ab9141d003c.tar.gz
gentoo-2-93c4dd1732019765af46372969f55ab9141d003c.tar.bz2
gentoo-2-93c4dd1732019765af46372969f55ab9141d003c.zip
remove old and unused patches
Diffstat (limited to 'sys-apps/util-linux')
-rw-r--r--sys-apps/util-linux/files/util-linux-2.11z-01-nfsv4-crypt.dif475
-rw-r--r--sys-apps/util-linux/files/util-linux-2.11z-mips-fdisk-fix.patch54
-rw-r--r--sys-apps/util-linux/files/util-linux-2.11z-script.patch67
-rw-r--r--sys-apps/util-linux/files/util-linux-2.12b-fat-LABEL-support.patch325
-rw-r--r--sys-apps/util-linux/files/util-linux-2.12b-gcloop-with-crypt.patch116
-rw-r--r--sys-apps/util-linux/files/util-linux-2.12b-gcloop.patch116
-rw-r--r--sys-apps/util-linux/files/util-linux-2.12b-pic.patch65
-rw-r--r--sys-apps/util-linux/files/util-linux-swapon-check-symlinks.patch37
-rw-r--r--sys-apps/util-linux/util-linux-2.12-r5.ebuild4
9 files changed, 2 insertions, 1257 deletions
diff --git a/sys-apps/util-linux/files/util-linux-2.11z-01-nfsv4-crypt.dif b/sys-apps/util-linux/files/util-linux-2.11z-01-nfsv4-crypt.dif
deleted file mode 100644
index dcd924da4da3..000000000000
--- a/sys-apps/util-linux/files/util-linux-2.11z-01-nfsv4-crypt.dif
+++ /dev/null
@@ -1,475 +0,0 @@
-
-Add support for nfsv4 to mount
-
-
- mount/Makefile | 4
- mount/mount.c | 13 ++
- mount/nfs4_mount.h | 82 +++++++++++++
- mount/nfs4mount.c | 323 +++++++++++++++++++++++++++++++++++++++++++++++++++++
- mount/sundries.h | 2
- 5 files changed, 422 insertions(+), 2 deletions(-)
-
-diff -puN mount/Makefile~nfsv4 mount/Makefile
---- util-linux-2.11z/mount/Makefile~nfsv4 2003-04-23 16:40:57.000000000 -0400
-+++ util-linux-2.11z-bfields/mount/Makefile 2003-04-23 16:40:57.000000000 -0400
-@@ -25,8 +25,8 @@ PROGS = $(SUID_PROGS) $(NOSUID_PROGS)
- MAYBE = pivot_root swapoff
-
- LO_OBJS = lomount.o $(LIB)/xstrncpy.o sha512.o rmd160.o
--NFS_OBJS = nfsmount.o nfsmount_xdr.o nfsmount_clnt.o
--GEN_FILES = nfsmount.h nfsmount_xdr.c nfsmount_clnt.c
-+NFS_OBJS = nfsmount.o nfsmount_xdr.o nfsmount_clnt.o nfs4mount.o
-+GEN_FILES = nfsmount.h nfsmount_xdr.c nfsmount_clnt.c nfs4mount.c
-
- all: $(PROGS)
-
-diff -puN mount/mount.c~nfsv4 mount/mount.c
---- util-linux-2.11z/mount/mount.c~nfsv4 2003-04-23 16:40:57.000000000 -0400
-+++ util-linux-2.11z-bfields/mount/mount.c 2003-04-23 16:40:57.000000000 -0400
-@@ -803,6 +803,19 @@ retry_nfs:
- "without support for the type `nfs'"));
- #endif
- }
-+#ifdef HAVE_NFS
-+ /*
-+ * NFSv4 support
-+ */
-+ if (!fake && types && streq (types, "nfs4")) {
-+ mnt_err = nfs4mount(spec, node, &flags, &extra_opts, &mount_opts, bg);
-+ if (mnt_err)
-+ return mnt_err;
-+#else
-+ die (EX_SOFTWARE, _("mount: this version was compiled "
-+ "without support for the type `nfs4'"));
-+#endif
-+ }
-
- block_signals (SIG_BLOCK);
-
-diff -puN /dev/null mount/nfs4_mount.h
---- /dev/null 2003-01-08 17:56:04.000000000 -0500
-+++ util-linux-2.11z-bfields/mount/nfs4_mount.h 2003-04-23 16:40:57.000000000 -0400
-@@ -0,0 +1,82 @@
-+#ifndef _LINUX_NFS4_MOUNT_H
-+#define _LINUX_NFS4_MOUNT_H
-+
-+/*
-+ * linux/include/linux/nfs4_mount.h
-+ *
-+ * Copyright (C) 2002 Trond Myklebust
-+ *
-+ * structure passed from user-space to kernel-space during an nfsv4 mount
-+ */
-+
-+/*
-+ * WARNING! Do not delete or change the order of these fields. If
-+ * a new field is required then add it to the end. The version field
-+ * tracks which fields are present. This will ensure some measure of
-+ * mount-to-kernel version compatibility. Some of these aren't used yet
-+ * but here they are anyway.
-+ */
-+#define NFS4_MOUNT_VERSION 1
-+
-+struct nfs_string {
-+ unsigned int len;
-+ const char* data;
-+};
-+
-+struct nfs4_mount_data {
-+ int version; /* 1 */
-+ int flags; /* 1 */
-+ int rsize; /* 1 */
-+ int wsize; /* 1 */
-+ int timeo; /* 1 */
-+ int retrans; /* 1 */
-+ int acregmin; /* 1 */
-+ int acregmax; /* 1 */
-+ int acdirmin; /* 1 */
-+ int acdirmax; /* 1 */
-+
-+ /* see the definition of 'struct clientaddr4' in RFC3010 */
-+ struct nfs_string client_addr; /* 1 */
-+
-+ /* Mount path */
-+ struct nfs_string mnt_path; /* 1 */
-+
-+ /* Server details */
-+ struct nfs_string hostname; /* 1 */
-+ /* Server IP address */
-+ unsigned int host_addrlen; /* 1 */
-+ struct sockaddr* host_addr; /* 1 */
-+
-+ /* Transport protocol to use */
-+ int proto; /* 1 */
-+
-+ /* Pseudo-flavours to use for authentication. See RFC2623 */
-+ int auth_flavourlen; /* 1 */
-+ int *auth_flavours; /* 1 */
-+};
-+
-+/* bits in the flags field */
-+/* Note: the fields that correspond to existing NFSv2/v3 mount options
-+ * should mirror the values from include/linux/nfs_mount.h
-+ */
-+
-+#define NFS4_MOUNT_SOFT 0x0001 /* 1 */
-+#define NFS4_MOUNT_INTR 0x0002 /* 1 */
-+#define NFS4_MOUNT_NOCTO 0x0010 /* 1 */
-+#define NFS4_MOUNT_NOAC 0x0020 /* 1 */
-+#define NFS4_MOUNT_STRICTLOCK 0x1000 /* 1 */
-+#define NFS4_MOUNT_FLAGMASK 0xFFFF
-+
-+/* pseudoflavors: */
-+
-+#define RPC_AUTH_GSS_KRB5 390003
-+#define RPC_AUTH_GSS_KRB5I 390004
-+#define RPC_AUTH_GSS_KRB5P 390005
-+#define RPC_AUTH_GSS_LKEY 390006
-+#define RPC_AUTH_GSS_LKEYI 390007
-+#define RPC_AUTH_GSS_LKEYP 390008
-+#define RPC_AUTH_GSS_SPKM 390009
-+#define RPC_AUTH_GSS_SPKMI 390010
-+#define RPC_AUTH_GSS_SPKMP 390011
-+
-+#endif
-diff -puN /dev/null mount/nfs4mount.c
---- /dev/null 2003-01-08 17:56:04.000000000 -0500
-+++ util-linux-2.11z-bfields/mount/nfs4mount.c 2003-04-23 17:28:54.000000000 -0400
-@@ -0,0 +1,323 @@
-+/*
-+ * nfs4mount.c -- Linux NFS mount
-+ * Copyright (C) 2002 Trond Myklebust <trond.myklebust@fys.uio.no>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License as published by
-+ * the Free Software Foundation; either version 2, or (at your option)
-+ * any later version.
-+ *
-+ * This program is distributed in the hope that it will be useful,
-+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ * GNU General Public License for more details.
-+ *
-+ * Note: this file based on the original nfsmount.c
-+ */
-+
-+#include "../defines.h" /* for HAVE_rpcsvc_nfs_prot_h and HAVE_inet_aton */
-+
-+#include <linux/posix_types.h>
-+#include <asm/posix_types.h>
-+#undef __FD_CLR
-+#undef __FD_SET
-+#undef __FD_ISSET
-+#undef __FD_ZERO
-+
-+#include <unistd.h>
-+#include <stdio.h>
-+#include <string.h>
-+#include <errno.h>
-+#include <netdb.h>
-+#include <time.h>
-+#include <sys/socket.h>
-+#include <sys/time.h>
-+#include <sys/utsname.h>
-+#include <sys/stat.h>
-+#include <netinet/in.h>
-+#include <arpa/inet.h>
-+
-+#include "sundries.h"
-+
-+#include "mount_constants.h"
-+#include "nfs4_mount.h"
-+
-+#include "nls.h"
-+
-+#ifndef NFS_PORT
-+#define NFS_PORT 2049
-+#endif
-+
-+static int parse_devname(char *hostdir, char **hostname, char **dirname)
-+{
-+ char *s;
-+
-+ if (!(s = strchr(hostdir, ':'))) {
-+ fprintf(stderr,
-+ _("mount: "
-+ "directory to mount not in host:dir format\n"));
-+ return -1;
-+ }
-+ *hostname = hostdir;
-+ *dirname = s + 1;
-+ *s = '\0';
-+ /* Ignore all but first hostname in replicated mounts
-+ until they can be fully supported. (mack@sgi.com) */
-+ if ((s = strchr(hostdir, ','))) {
-+ *s = '\0';
-+ fprintf(stderr,
-+ _("mount: warning: "
-+ "multiple hostnames not supported\n"));
-+ }
-+ return 0;
-+}
-+
-+static int fill_ipv4_sockaddr(const char *hostname, struct sockaddr_in *addr)
-+{
-+ struct hostent *hp;
-+ addr->sin_family = AF_INET;
-+
-+ if (inet_aton(hostname, &addr->sin_addr))
-+ return 0;
-+ if ((hp = gethostbyname(hostname)) == NULL) {
-+ fprintf(stderr, _("mount: can't get address for %s\n"),
-+ hostname);
-+ return -1;
-+ }
-+ if (hp->h_length > sizeof(struct in_addr)) {
-+ fprintf(stderr,
-+ _("mount: got bad hp->h_length\n"));
-+ hp->h_length = sizeof(struct in_addr);
-+ }
-+ memcpy(&addr->sin_addr, hp->h_addr, hp->h_length);
-+ return 0;
-+}
-+
-+static int get_my_ipv4addr(char *ip_addr, int len)
-+{
-+ char myname[1024];
-+ struct sockaddr_in myaddr;
-+
-+ if (gethostname(myname, sizeof(myname))) {
-+ fprintf(stderr, _("mount: can't determine client address\n"));
-+ return -1;
-+ }
-+ if (fill_ipv4_sockaddr(myname, &myaddr))
-+ return -1;
-+ snprintf(ip_addr, len, "%s", inet_ntoa(myaddr.sin_addr));
-+ ip_addr[len-1] = '\0';
-+ return 0;
-+}
-+
-+int nfs4mount(const char *spec, const char *node, int *flags,
-+ char **extra_opts, char **mount_opts,
-+ int running_bg)
-+{
-+ static struct nfs4_mount_data data;
-+ static char hostdir[1024];
-+ static char ip_addr[16] = "127.0.0.1";
-+ static struct sockaddr_in server_addr;
-+ static int pseudoflavour = 0;
-+
-+ char *hostname, *dirname, *old_opts;
-+ char new_opts[1024];
-+ char *opt, *opteq;
-+ char *s;
-+ int val;
-+ int port, bg, soft, intr;
-+ int nocto, noac;
-+ int retry;
-+ int retval;
-+
-+ retval = EX_FAIL;
-+ if (strlen(spec) >= sizeof(hostdir)) {
-+ fprintf(stderr, _("mount: "
-+ "excessively long host:dir argument\n"));
-+ goto fail;
-+ }
-+ strcpy(hostdir, spec);
-+ if (parse_devname(hostdir, &hostname, &dirname))
-+ goto fail;
-+
-+ if (fill_ipv4_sockaddr(hostname, &server_addr))
-+ goto fail;
-+ if (get_my_ipv4addr(ip_addr, sizeof(ip_addr)))
-+ goto fail;
-+
-+ /* add IP address to mtab options for use when unmounting */
-+ s = inet_ntoa(server_addr.sin_addr);
-+ old_opts = *extra_opts;
-+ if (!old_opts)
-+ old_opts = "";
-+ if (strlen(old_opts) + strlen(s) + 10 >= sizeof(new_opts)) {
-+ fprintf(stderr, _("mount: "
-+ "excessively long option argument\n"));
-+ goto fail;
-+ }
-+ snprintf(new_opts, sizeof(new_opts), "%s%saddr=%s",
-+ old_opts, *old_opts ? "," : "", s);
-+ *extra_opts = xstrdup(new_opts);
-+
-+ /* Set default options.
-+ * rsize/wsize and timeo are left 0 in order to
-+ * let the kernel decide.
-+ */
-+ memset(&data, 0, sizeof(data));
-+ data.retrans = 3;
-+ data.acregmin = 3;
-+ data.acregmax = 60;
-+ data.acdirmin = 30;
-+ data.acdirmax = 60;
-+ data.proto = IPPROTO_TCP;
-+
-+ bg = 0;
-+ soft = 0;
-+ intr = 0;
-+ nocto = 0;
-+ noac = 0;
-+ retry = 10000; /* 10000 minutes ~ 1 week */
-+
-+ /*
-+ * NFSv4 specifies that the default port should be 2049
-+ */
-+ port = NFS_PORT;
-+
-+ /* parse options */
-+
-+ for (opt = strtok(old_opts, ","); opt; opt = strtok(NULL, ",")) {
-+ if ((opteq = strchr(opt, '='))) {
-+ val = atoi(opteq + 1);
-+ *opteq = '\0';
-+ if (!strcmp(opt, "rsize"))
-+ data.rsize = val;
-+ else if (!strcmp(opt, "wsize"))
-+ data.wsize = val;
-+ else if (!strcmp(opt, "timeo"))
-+ data.timeo = val;
-+ else if (!strcmp(opt, "retrans"))
-+ data.retrans = val;
-+ else if (!strcmp(opt, "acregmin"))
-+ data.acregmin = val;
-+ else if (!strcmp(opt, "acregmax"))
-+ data.acregmax = val;
-+ else if (!strcmp(opt, "acdirmin"))
-+ data.acdirmin = val;
-+ else if (!strcmp(opt, "acdirmax"))
-+ data.acdirmax = val;
-+ else if (!strcmp(opt, "actimeo")) {
-+ data.acregmin = val;
-+ data.acregmax = val;
-+ data.acdirmin = val;
-+ data.acdirmax = val;
-+ }
-+ else if (!strcmp(opt, "retry"))
-+ retry = val;
-+ else if (!strcmp(opt, "port"))
-+ port = val;
-+ else if (!strcmp(opt, "proto")) {
-+ if (!strncmp(opteq+1, "tcp", 3))
-+ data.proto = IPPROTO_TCP;
-+ else if (!strncmp(opteq+1, "udp", 3))
-+ data.proto = IPPROTO_UDP;
-+ else
-+ printf(_("Warning: Unrecognized proto= option.\n"));
-+ } else if (!strcmp(opt, "clientaddr")) {
-+ if (strlen(opteq+1) >= sizeof(ip_addr))
-+ printf(_("Invalid client address %s"),
-+ opteq+1);
-+ strncpy(ip_addr,opteq+1, sizeof(ip_addr));
-+ ip_addr[sizeof(ip_addr)-1] = '\0';
-+ } else if (!strcmp(opt, "sec")) {
-+ if (!strncmp(opteq+1, "krb5i",5))
-+ pseudoflavour = 390004;
-+ else if (!strncmp(opteq+1, "krb5p",5))
-+ pseudoflavour = 390005;
-+ else if (!strncmp(opteq+1, "krb5",4))
-+ pseudoflavour = 390003;
-+ else {
-+ printf(_("unknown security type %s\n"),
-+ opteq+1);
-+ goto fail;
-+ }
-+ } else if (!strcmp(opt, "addr")) {
-+ /* ignore */;
-+ } else {
-+ printf(_("unknown nfs mount parameter: "
-+ "%s=%d\n"), opt, val);
-+ goto fail;
-+ }
-+ } else {
-+ val = 1;
-+ if (!strncmp(opt, "no", 2)) {
-+ val = 0;
-+ opt += 2;
-+ }
-+ if (!strcmp(opt, "bg"))
-+ bg = val;
-+ else if (!strcmp(opt, "fg"))
-+ bg = !val;
-+ else if (!strcmp(opt, "soft"))
-+ soft = val;
-+ else if (!strcmp(opt, "hard"))
-+ soft = !val;
-+ else if (!strcmp(opt, "intr"))
-+ intr = val;
-+ else if (!strcmp(opt, "cto"))
-+ nocto = !val;
-+ else if (!strcmp(opt, "ac"))
-+ noac = !val;
-+ else {
-+ if (!sloppy) {
-+ printf(_("unknown nfs mount option: "
-+ "%s%s\n"), val ? "" : "no", opt);
-+ goto fail;
-+ }
-+ }
-+ }
-+ }
-+
-+ data.flags = (soft ? NFS4_MOUNT_SOFT : 0)
-+ | (intr ? NFS4_MOUNT_INTR : 0)
-+ | (nocto ? NFS4_MOUNT_NOCTO : 0)
-+ | (noac ? NFS4_MOUNT_NOAC : 0);
-+
-+ if (pseudoflavour != 0) {
-+ data.auth_flavourlen = 1;
-+ data.auth_flavours = &pseudoflavour;
-+ }
-+
-+ data.client_addr.data = ip_addr;
-+ data.client_addr.len = strlen(ip_addr);
-+
-+ data.mnt_path.data = dirname;
-+ data.mnt_path.len = strlen(dirname);
-+
-+ data.hostname.data = hostname;
-+ data.hostname.len = strlen(hostname);
-+ data.host_addr = (struct sockaddr *)&server_addr;
-+ data.host_addrlen = sizeof(server_addr);
-+
-+#ifdef NFS_MOUNT_DEBUG
-+ printf("rsize = %d, wsize = %d, timeo = %d, retrans = %d\n",
-+ data.rsize, data.wsize, data.timeo, data.retrans);
-+ printf("acreg (min, max) = (%d, %d), acdir (min, max) = (%d, %d)\n",
-+ data.acregmin, data.acregmax, data.acdirmin, data.acdirmax);
-+ printf("port = %d, bg = %d, retry = %d, flags = %.8x\n",
-+ port, bg, retry, data.flags);
-+ printf("soft = %d, intr = %d, nocto = %d, noac = %d\n",
-+ (data.flags & NFS4_MOUNT_SOFT) != 0,
-+ (data.flags & NFS4_MOUNT_INTR) != 0,
-+ (data.flags & NFS4_MOUNT_NOCTO) != 0,
-+ (data.flags & NFS4_MOUNT_NOAC) != 0);
-+ printf("proto = %s\n", (data.proto == IPPROTO_TCP) ? "tcp" : "udp");
-+#endif
-+
-+ data.version = NFS4_MOUNT_VERSION;
-+
-+ *mount_opts = (char *) &data;
-+ /* clean up */
-+ return 0;
-+
-+fail:
-+ return retval;
-+}
-diff -puN mount/sundries.h~nfsv4 mount/sundries.h
---- util-linux-2.11z/mount/sundries.h~nfsv4 2003-04-23 16:40:57.000000000 -0400
-+++ util-linux-2.11z-bfields/mount/sundries.h 2003-04-23 16:40:57.000000000 -0400
-@@ -37,6 +37,8 @@ void die (int errcode, const char *fmt,
- #ifdef HAVE_NFS
- int nfsmount (const char *spec, const char *node, int *flags,
- char **orig_opts, char **opt_args, int *version, int running_bg);
-+int nfs4mount (const char *spec, const char *node, int *flags,
-+ char **orig_opts, char **opt_args, int running_bg);
- #endif
-
- /* exit status - bits below are ORed */
-
-_
diff --git a/sys-apps/util-linux/files/util-linux-2.11z-mips-fdisk-fix.patch b/sys-apps/util-linux/files/util-linux-2.11z-mips-fdisk-fix.patch
deleted file mode 100644
index d0279dab5dcc..000000000000
--- a/sys-apps/util-linux/files/util-linux-2.11z-mips-fdisk-fix.patch
+++ /dev/null
@@ -1,54 +0,0 @@
---- ../../util-linux-2.11z/fdisk/fdisk.c Sat Nov 23 17:05:24 2002
-+++ ./fdisk.c Thu Apr 10 01:26:39 2003
-@@ -1335,7 +1337,15 @@
- int i, sys, origsys;
- struct partition *p;
-
-- i = get_existing_partition(0, partitions);
-+ /* If sgi_label then don't use get_existing_partition,
-+ let the user select a partition, since get_existing_partition()
-+ only works for Linux like partition tables. */
-+ if (!sgi_label) {
-+ i = get_existing_partition(0, partitions);
-+ } else {
-+ i = get_partition(0, partitions);
-+ }
-+
- if (i == -1)
- return;
- p = ptes[i].part_table;
-@@ -1866,7 +1876,7 @@
- fill_bounds(first, last);
- if (n < 4) {
- start = sector_offset;
-- if (display_in_cyl_units)
-+ if (display_in_cyl_units || !total_number_of_sectors)
- limit = heads * sectors * cylinders - 1;
- else
- limit = total_number_of_sectors - 1;
-@@ -1946,7 +1956,7 @@
- _("Last %s or +size or +sizeM or +sizeK"),
- str_units(SINGULAR));
- stop = read_int(cround(start), cround(limit), cround(limit),
-- cround(start), mesg);
-+ cround(start)-1, mesg);
- if (display_in_cyl_units) {
- stop = stop * units_per_sector - 1;
- if (stop >limit)
-@@ -2575,7 +2585,15 @@
- unknown_command(c);
- break;
- case 'd':
-- j = get_existing_partition(1, partitions);
-+ /* If sgi_label then don't use get_existing_partition,
-+ let the user select a partition, since
-+ get_existing_partition() only works for Linux-like
-+ partition tables */
-+ if (!sgi_label) {
-+ j = get_existing_partition(1, partitions);
-+ } else {
-+ j = get_partition(1, partitions);
-+ }
- if (j >= 0)
- delete_partition(j);
- break;
diff --git a/sys-apps/util-linux/files/util-linux-2.11z-script.patch b/sys-apps/util-linux/files/util-linux-2.11z-script.patch
deleted file mode 100644
index c92ec185a982..000000000000
--- a/sys-apps/util-linux/files/util-linux-2.11z-script.patch
+++ /dev/null
@@ -1,67 +0,0 @@
---- util-linux-2.11z/misc-utils/script.1 2002-01-12 11:45:00.000000000 -0800
-+++ ./misc-utils/script.1 2003-05-12 16:40:34.000000000 -0700
-@@ -40,6 +40,7 @@
- .Sh SYNOPSIS
- .Nm script
- .Op Fl a
-+.Op Fl c Ar COMMAND
- .Op Fl f
- .Op Fl q
- .Op Fl t
-@@ -69,6 +70,10 @@
- or
- .Pa typescript ,
- retaining the prior contents.
-+.It Fl c Ar COMMAND
-+Run the COMMAND rather than an interactive shell.
-+This makes it easy for a script to capture the output of a program that
-+behaves differently when its stdout is not a tty.
- .It Fl f
- Flush output after each write. This is nice for telecooperation:
- One person does `mkfifo foo; script -f foo' and another can
---- util-linux-2.11z/misc-utils/script.c 2002-11-26 08:18:00.000000000 -0800
-+++ ./misc-utils/script.c 2003-05-12 16:33:27.000000000 -0700
-@@ -91,6 +91,7 @@
- char line[] = "/dev/ptyXX";
- #endif
- int aflg = 0;
-+char *cflg;
- int fflg = 0;
- int qflg = 0;
- int tflg = 0;
-@@ -135,11 +136,14 @@
- }
- }
-
-- while ((ch = getopt(argc, argv, "afqt")) != -1)
-+ while ((ch = getopt(argc, argv, "ac:fqt")) != -1)
- switch((char)ch) {
- case 'a':
- aflg++;
- break;
-+ case 'c':
-+ cflg = optarg;
-+ break;
- case 'f':
- fflg++;
- break;
-@@ -284,6 +288,7 @@
-
- void
- doshell() {
-+ char *opt = cflg? "-c" : "-i";
- /***
- int t;
-
-@@ -301,9 +306,9 @@
- (void) dup2(slave, 2);
- (void) close(slave);
- #ifdef __linux__
-- execl(shell, strrchr(shell, '/') + 1, "-i", 0);
-+ execl(shell, strrchr(shell, '/') + 1, opt, cflg, 0);
- #else
-- execl(shell, "sh", "-i", 0);
-+ execl(shell, "sh", opt, cflg, 0);
- #endif
- perror(shell);
- fail();
diff --git a/sys-apps/util-linux/files/util-linux-2.12b-fat-LABEL-support.patch b/sys-apps/util-linux/files/util-linux-2.12b-fat-LABEL-support.patch
deleted file mode 100644
index d748c355481a..000000000000
--- a/sys-apps/util-linux/files/util-linux-2.12b-fat-LABEL-support.patch
+++ /dev/null
@@ -1,325 +0,0 @@
-diff -uNr util-linux-2.12/mount/get_label_uuid.c ../patch/util-linux-2.12/mount/get_label_uuid.c
---- util-linux-2.12/mount/get_label_uuid.c 2002-11-26 12:18:01.000000000 +0100
-+++ ../patch/util-linux-2.12/mount/get_label_uuid.c 2003-10-20 18:27:56.000000000 +0200
-@@ -43,10 +43,142 @@
- #endif
- }
-
--/*
-- * Get both label and uuid.
-- * For now, only ext2, ext3, xfs, ocfs, reiserfs are supported
-- */
-+/* Remove trailing spaces */
-+static void remtrailspc(char *label) {
-+ char *c;
-+
-+ c = strchr(label, 0)-1;
-+ while (c >= label && *c == ' ')
-+ *(c--) = 0;
-+}
-+
-+static int handle_fat_dirent(struct fat_dirent *dirent, char **label) {
-+ size_t namesize;
-+
-+ /* end-of-directory marker */
-+ if (!dirent->s_filename[0])
-+ return -1;
-+
-+ /* valid volume label */
-+ if ((dirent->s_attr == 0x08 || dirent->s_attr == 0x28) && dirent->s_filename[0] != 0xe5) {
-+
-+ /* sanity check */
-+ if (dirent->s_size[0] || dirent->s_size[1] || dirent->s_size[2] || dirent->s_size[3] ||
-+ dirent->s_cluster[0] || dirent->s_cluster[1])
-+ return -1;
-+
-+ namesize = sizeof(dirent->s_filename);
-+ if (!(*label = calloc(namesize + 1, 1)))
-+ return -1;
-+ memcpy(*label, dirent->s_filename, namesize);
-+ (*label)[namesize] = 0;
-+ remtrailspc(*label);
-+
-+ return 0;
-+ }
-+
-+ return 1;
-+}
-+
-+static int read_volume_label_fat(int fd, struct fat_super_block *fatsb, char **label) {
-+ unsigned i, m;
-+ off_t o;
-+
-+ m = assemble2le(fatsb->s_dirents); /* root directory entries */
-+
-+ o = (off_t) assemble2le(fatsb->s_ssec) * /* bytes per sector */
-+ ((off_t) assemble2le(fatsb->s_rsecs) + /* reserved sectors */
-+ (off_t) assemble2le(fatsb->s_spfat) * /* sectors per fat */
-+ (off_t) fatsb->s_nfats); /* number of fats */
-+
-+ for (i = 0; i < m; i++) {
-+ struct fat_dirent dirent;
-+ int rv;
-+
-+ if (lseek(fd, o, SEEK_SET) != o ||
-+ read(fd, &dirent, sizeof(dirent)) != sizeof(dirent))
-+ return -1;
-+
-+ if ((rv = handle_fat_dirent(&dirent, label)) != 1)
-+ return rv;
-+
-+ o += sizeof(dirent);
-+ }
-+
-+ return -1;
-+}
-+
-+static int read_volume_label_fat32(int fd, struct fat32_super_block *fat32sb, char **label) {
-+ unsigned c;
-+ off_t fo, b, o;
-+ int i, ifat;
-+ size_t m, cs;
-+
-+ ifat = fat32sb->s_mirror[0] & 128 ? (fat32sb->s_mirror[0] & 0xF) : 0;
-+
-+ if (ifat >= fat32sb->s_nfats)
-+ return -1;
-+
-+ fo = (off_t) assemble2le(fat32sb->s_ssec) * /* bytes per sector */
-+ ((off_t) assemble2le(fat32sb->s_rsecs) + /* reserved sectors */
-+ (off_t) assemble4le(fat32sb->s_spfat) * /* sectors per fat */
-+ (off_t) ifat); /* number of FAT used */
-+
-+ b = (off_t) assemble2le(fat32sb->s_ssec) * /* bytes per sector */
-+ ((off_t) assemble2le(fat32sb->s_rsecs) + /* reserved sectors */
-+ (off_t) assemble4le(fat32sb->s_spfat) * /* sectors per fat */
-+ (off_t) fat32sb->s_nfats); /* number of FATs */
-+
-+ c = assemble4le(fat32sb->s_rcluster) & 0x0fffffffL;
-+ if (c < 2 || c >= 0x0ffffff0)
-+ return -1;
-+
-+ m = cs = assemble2le(fat32sb->s_ssec) * (size_t) fat32sb->s_scluster;
-+ o = b + (off_t) cs*(c-2);
-+
-+ for (i = 0; i < 0xFFFF; i++) { /* safety against DoS attack */
-+ struct fat_dirent dirent;
-+ int rv;
-+
-+ if (lseek(fd, o, SEEK_SET) != o ||
-+ read(fd, &dirent, sizeof(dirent)) != sizeof(dirent))
-+ return -1;
-+
-+ if ((rv = handle_fat_dirent(&dirent, label)) != 1)
-+ return rv;
-+
-+ if (m > sizeof(dirent)) {
-+ m -= sizeof(dirent);
-+ o += sizeof(dirent);
-+ } else {
-+ off_t d;
-+
-+ /* next cluster */
-+
-+ d = fo+4*c;
-+ if (lseek(fd, d, SEEK_SET) != d ||
-+ read(fd, &c, 4) != 4)
-+ return -1;
-+
-+ c = assemble4le((char*) &c) & 0x0fffffffL;
-+ if (c < 2 || c >= 0x0ffffff0) {
-+ return -1;
-+ }
-+
-+ m = cs;
-+ o = b + cs*(c-2);
-+ }
-+ }
-+
-+
-+ return -1;
-+}
-+
-+
-+/*
-+ * Get both label and uuid.
-+ * For now, only ext2, ext3, xfs, ocfs, reiserfs are supported
-+ */
- int
- get_label_uuid(const char *device, char **label, char *uuid) {
- int fd;
-@@ -54,8 +186,10 @@
- struct ocfs_volume_header ovh; /* Oracle */
- struct ocfs_volume_label olbl;
- struct reiserfs_super_block reiserfssb;
-+ struct fat_super_block fatsb;
-+ struct fat32_super_block fat32sb;
-
-- fd = open(device, O_RDONLY);
-+ fd = open(device, O_RDONLY);
- if (fd < 0)
- return rv;
-
-@@ -111,7 +245,87 @@
- memcpy(*label, jfssb.s_label, namesize);
- }
- rv = 0;
-- }
-+ } else if (lseek(fd, 0, SEEK_SET) == 0
-+ && read(fd, (char*) &fat32sb, sizeof(fat32sb)) == sizeof(fat32sb)
-+ && fat32sb.s_sig[0] == 0x55
-+ && fat32sb.s_sig[1] == 0xAA
-+ && (fat32sb.s_media & 0xF0) == 0xF0
-+ && (fat32sb.s_spfat_old[0] == 0)
-+ && (fat32sb.s_spfat_old[1] == 0)
-+ && fat32sb.s_extsig == 0x29
-+ && (memcmp(fat32sb.s_fs, "FAT32 ", 8) == 0)) {
-+
-+ *label = NULL;
-+
-+ /* If no root directory entry volume name was found use the one from the boot sector */
-+ if (read_volume_label_fat32(fd, &fat32sb, label) != 0) {
-+ if (memcmp(fat32sb.s_label, "NO NAME ", 11) != 0 &&
-+ memcmp(fat32sb.s_label, " ", 11) != 0 &&
-+ memcmp(fat32sb.s_label, "\0\0\0\0\0\0\0\0", 8) != 0) {
-+
-+ namesize = sizeof(fat32sb.s_label);
-+ if ((*label = calloc(namesize + 1, 1)) != NULL) {
-+ memcpy(*label, fat32sb.s_label, namesize);
-+ (*label)[namesize] = 0;
-+ remtrailspc(*label);
-+ }
-+ }
-+ }
-+
-+ if (*label) {
-+
-+ /* Set UUID from serial */
-+ uuid[0] = fat32sb.s_serial[3];
-+ uuid[1] = fat32sb.s_serial[2];
-+ uuid[2] = fat32sb.s_serial[1];
-+ uuid[3] = fat32sb.s_serial[0];
-+ memset(uuid+4, 0, 12);
-+
-+ rv = 0;
-+ }
-+ } else if (lseek(fd, 0, SEEK_SET) == 0
-+ && read(fd, (char*) &fatsb, sizeof(fatsb)) == sizeof(fatsb)
-+ && fatsb.s_sig[0] == 0x55
-+ && fatsb.s_sig[1] == 0xAA
-+ && (fatsb.s_media & 0xF0) == 0xF0
-+ && fatsb.s_extsig == 0x29
-+ && (memcmp(fatsb.s_fs, "FAT12 ", 8) == 0
-+ || memcmp(fatsb.s_fs, "FAT16 ", 8) == 0
-+ || memcmp(fatsb.s_fs, "FAT ", 8) == 0
-+ || memcmp(fatsb.s_fs, "\0\0\0\0\0\0\0\0", 8) == 0)
-+ && memcmp(fatsb.s_fs2, "FAT32 ", 8) != 0) {
-+
-+ *label = NULL;
-+
-+ if (read_volume_label_fat(fd, &fatsb, label) != 0) {
-+
-+ /* If no root directory entry volume name was found use the one from the boot sector */
-+ if (memcmp(fatsb.s_label, "NO NAME ", 11) != 0 &&
-+ memcmp(fatsb.s_label, " ", 11) != 0 &&
-+ memcmp(fatsb.s_label, "\0\0\0\0\0\0\0\0", 8) != 0) {
-+
-+ namesize = sizeof(fatsb.s_label);
-+ if ((*label = calloc(namesize + 1, 1)) != NULL) {
-+ memcpy(*label, fatsb.s_label, namesize);
-+ (*label)[namesize] = 0;
-+ remtrailspc(*label);
-+ }
-+
-+ }
-+ }
-+
-+ if (*label) {
-+
-+ /* Set UUID from serial */
-+ uuid[0] = fatsb.s_serial[3];
-+ uuid[1] = fatsb.s_serial[2];
-+ uuid[2] = fatsb.s_serial[1];
-+ uuid[3] = fatsb.s_serial[0];
-+ memset(uuid+4, 0, 12);
-+
-+ rv = 0;
-+ }
-+ }
-
- close(fd);
- return rv;
-diff -uNr util-linux-2.12/mount/linux_fs.h ../patch/util-linux-2.12/mount/linux_fs.h
---- util-linux-2.12/mount/linux_fs.h 2003-07-05 22:16:32.000000000 +0200
-+++ ../patch/util-linux-2.12/mount/linux_fs.h 2003-10-20 18:07:06.000000000 +0200
-@@ -122,13 +122,65 @@
- u_char s_dummy[3];
- u_char s_os[8]; /* "MSDOS5.0" or "MSWIN4.0" or "MSWIN4.1" */
- /* mtools-3.9.4 writes "MTOOL394" */
-- u_char s_dummy2[32];
-+ u_char s_ssec[2]; /* bytes per sector */
-+ u_char s_scluster; /* sectors per cluster */
-+ u_char s_rsecs[2]; /* reserved sectors */
-+ u_char s_nfats; /* number of FATs */
-+ u_char s_dirents[2]; /* maximum root directory entries */
-+ u_char s_nsecs[2]; /* total number of sectors */
-+ u_char s_media; /* media type, upper nibble is 0xF */
-+ u_char s_spfat[2]; /* sectors per fat */
-+
-+ u_char s_dummy2[14];
-+ u_char s_extsig; /* extended signature */
-+ u_char s_serial[4]; /* serial number */
- u_char s_label[11]; /* for DOS? */
-- u_char s_fs[8]; /* "FAT12 " or "FAT16 " or all zero */
-+ u_char s_fs[8]; /* "FAT12 " or "FAT16 " or all zero */
- /* OS/2 BM has "FAT " here. */
-- u_char s_dummy3[9];
-- u_char s_label2[11]; /* for Windows? */
-- u_char s_fs2[8]; /* garbage or "FAT32 " */
-+
-+ u_char s_dummy3[20];
-+ u_char s_fs2[8]; /* "FAT32 " */
-+
-+ u_char s_dummy4[420];
-+ u_char s_sig[2]; /* 55 AA */
-+};
-+
-+struct fat32_super_block {
-+ u_char s_dummy[3];
-+ u_char s_os[8]; /* "MSDOS5.0" or "MSWIN4.0" or "MSWIN4.1" */
-+ /* mtools-3.9.4 writes "MTOOL394" */
-+
-+ u_char s_ssec[2]; /* bytes per sector */
-+ u_char s_scluster; /* sectors per cluster */
-+ u_char s_rsecs[2]; /* reserved sectors */
-+ u_char s_nfats; /* number of FATs */
-+ u_char s_dirents[2]; /* maximum root directory entries */
-+ u_char s_nsecs[2]; /* total number of sectors */
-+ u_char s_media; /* media type, upper nibble is 0xF */
-+ u_char s_spfat_old[2]; /* sectors per fat */
-+
-+ u_char s_dummy2[12];
-+ u_char s_spfat[4]; /* sectors per FAT */
-+ u_char s_mirror[2]; /* mirror flag */
-+ u_char s_version[2]; /* fs version */
-+ u_char s_rcluster[4]; /* root directory cluster */
-+
-+ u_char s_dummy3[18];
-+ u_char s_extsig; /* extended signature 0x29 */
-+ u_char s_serial[4]; /* serial number */
-+ u_char s_label[11]; /* label */
-+ u_char s_fs[8]; /* filesystem type "FAT32 " */
-+
-+ u_char s_dummy4[420];
-+ u_char s_sig[2]; /* 55 AA */
-+};
-+
-+struct fat_dirent {
-+ u_char s_filename[11]; /* Filename with extension */
-+ u_char s_attr; /* File attribute flags */
-+ u_char s_dummy[14];
-+ u_char s_cluster[2]; /* Starting cluster */
-+ u_char s_size[4]; /* File size */
- };
-
- #define XFS_SUPER_MAGIC "XFSB"
diff --git a/sys-apps/util-linux/files/util-linux-2.12b-gcloop-with-crypt.patch b/sys-apps/util-linux/files/util-linux-2.12b-gcloop-with-crypt.patch
deleted file mode 100644
index fecefef4d4ce..000000000000
--- a/sys-apps/util-linux/files/util-linux-2.12b-gcloop-with-crypt.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-diff -ruN util-linux-2.12.orig/mount/lomount.c util-linux-2.12/mount/lomount.c
---- util-linux-2.12.orig/mount/lomount.c 2004-02-17 02:08:05.341716624 +0100
-+++ util-linux-2.12/mount/lomount.c 2004-02-17 02:12:10.653423576 +0100
-@@ -60,7 +60,8 @@
- info->lo_flags = info64->lo_flags;
- info->lo_init[0] = info64->lo_init[0];
- info->lo_init[1] = info64->lo_init[1];
-- if (info->lo_encrypt_type == LO_CRYPT_CRYPTOAPI)
-+ if ((info->lo_encrypt_type == LO_CRYPT_CRYPTOAPI) ||
-+ (info->lo_encrypt_type == LO_CRYPT_COMPRESS))
- memcpy(info->lo_name, info64->lo_crypt_name, LO_NAME_SIZE);
- else
- memcpy(info->lo_name, info64->lo_file_name, LO_NAME_SIZE);
-@@ -321,7 +322,8 @@
-
- int
- set_loop(const char *device, const char *file, unsigned long long offset,
-- const char *encryption, int pfd, int *loopro) {
-+ const char *encnumber,const char *encryption,
-+ int pfd, int *loopro) {
- struct loop_info64 loopinfo64;
- int fd, ffd, mode;
- char *pass;
-@@ -344,8 +346,9 @@
- memset(&loopinfo64, 0, sizeof(loopinfo64));
-
- xstrncpy(loopinfo64.lo_file_name, file, LO_NAME_SIZE);
--
-+
- if (encryption && *encryption) {
-+
- if (digits_only(encryption)) {
- loopinfo64.lo_encrypt_type = atoi(encryption);
- } else {
-@@ -386,6 +389,12 @@
- }
- }
-
-+ if (encnumber && *encnumber) {
-+
-+ if (digits_only(encnumber))
-+ loopinfo64.lo_encrypt_type = atoi(encnumber);
-+ }
-+
- loopinfo64.lo_offset = offset;
-
- #ifdef MCL_FUTURE
-@@ -601,7 +610,7 @@
-
- int
- main(int argc, char **argv) {
-- char *offset, *encryption, *passfd;
-+ char *offset, *encryption, *encnumber, *passfd;
- int delete, c;
- int res = 0;
- int ro = 0;
-@@ -612,7 +621,7 @@
- textdomain(PACKAGE);
-
- delete = off = 0;
-- offset = encryption = passfd = NULL;
-+ offset = encryption = encnumber = passfd = NULL;
- progname = argv[0];
- while ((c = getopt(argc,argv,"de:E:o:p:v")) != -1) {
- switch (c) {
-@@ -620,6 +629,7 @@
- delete = 1;
- break;
- case 'E':
-+ encnumber = optarg;
- case 'e':
- encryption = optarg;
- break;
-@@ -651,7 +661,7 @@
- if (passfd && sscanf(passfd,"%d",&pfd) != 1)
- usage();
- res = set_loop(argv[optind], argv[optind+1], off,
-- encryption, pfd, &ro);
-+ encnumber, encryption, pfd, &ro);
- }
- return res;
- }
-diff -ruN util-linux-2.12.orig/mount/lomount.h util-linux-2.12/mount/lomount.h
---- util-linux-2.12.orig/mount/lomount.h 2004-02-17 02:08:05.339716928 +0100
-+++ util-linux-2.12/mount/lomount.h 2004-02-17 02:08:14.921260312 +0100
-@@ -1,6 +1,6 @@
- extern int verbose;
- extern int set_loop(const char *, const char *, unsigned long long,
-- const char *, int, int *);
-+ const char *, const char *, int, int *);
- extern int del_loop(const char *);
- extern int is_loop_device(const char *);
- extern char * find_unused_loop_device(void);
-diff -ruN util-linux-2.12.orig/mount/loop.h util-linux-2.12/mount/loop.h
---- util-linux-2.12.orig/mount/loop.h 2004-02-17 02:08:05.341716624 +0100
-+++ util-linux-2.12/mount/loop.h 2004-02-17 02:08:14.922260160 +0100
-@@ -2,6 +2,7 @@
- #define LO_CRYPT_XOR 1
- #define LO_CRYPT_DES 2
- #define LO_CRYPT_CRYPTOAPI 18
-+#define LO_CRYPT_COMPRESS 19
-
- #define LOOP_SET_FD 0x4C00
- #define LOOP_CLR_FD 0x4C01
-diff -ruN util-linux-2.12.orig/mount/mount.c util-linux-2.12/mount/mount.c
---- util-linux-2.12.orig/mount/mount.c 2004-02-17 02:08:05.281725744 +0100
-+++ util-linux-2.12/mount/mount.c 2004-02-17 02:08:14.924259856 +0100
-@@ -612,7 +612,7 @@
- offset = opt_offset ? strtoull(opt_offset, NULL, 0) : 0;
- if (opt_keygen)
- pfd = use_keygen_prog(opt_keygen, keygen_args, _n_keygen_args);
-- if (set_loop(*loopdev, *loopfile, offset,
-+ if (set_loop(*loopdev, *loopfile, offset, NULL,
- opt_encryption, pfd, &loopro)) {
- if (verbose)
- printf(_("mount: failed setting up loop device\n"));
diff --git a/sys-apps/util-linux/files/util-linux-2.12b-gcloop.patch b/sys-apps/util-linux/files/util-linux-2.12b-gcloop.patch
deleted file mode 100644
index bf8eb7fbc653..000000000000
--- a/sys-apps/util-linux/files/util-linux-2.12b-gcloop.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-diff -ruN util-linux-2.12.orig/mount/lomount.c util-linux-2.12/mount/lomount.c
---- util-linux-2.12.orig/mount/lomount.c 2004-02-17 02:08:05.341716624 +0100
-+++ util-linux-2.12/mount/lomount.c 2004-02-17 02:12:10.653423576 +0100
-@@ -60,7 +60,8 @@
- info->lo_flags = info64->lo_flags;
- info->lo_init[0] = info64->lo_init[0];
- info->lo_init[1] = info64->lo_init[1];
-- if (info->lo_encrypt_type == LO_CRYPT_CRYPTOAPI)
-+ if ((info->lo_encrypt_type == LO_CRYPT_CRYPTOAPI) ||
-+ (info->lo_encrypt_type == LO_CRYPT_COMPRESS))
- memcpy(info->lo_name, info64->lo_crypt_name, LO_NAME_SIZE);
- else
- memcpy(info->lo_name, info64->lo_file_name, LO_NAME_SIZE);
-@@ -321,7 +322,8 @@
-
- int
- set_loop(const char *device, const char *file, unsigned long long offset,
-- const char *encryption, int pfd, int *loopro) {
-+ const char *encnumber,const char *encryption,
-+ int pfd, int *loopro) {
- struct loop_info64 loopinfo64;
- int fd, ffd, mode;
- char *pass;
-@@ -344,8 +346,9 @@
- memset(&loopinfo64, 0, sizeof(loopinfo64));
-
- xstrncpy(loopinfo64.lo_file_name, file, LO_NAME_SIZE);
--
-+
- if (encryption && *encryption) {
-+
- if (digits_only(encryption)) {
- loopinfo64.lo_encrypt_type = atoi(encryption);
- } else {
-@@ -386,6 +389,12 @@
- }
- }
-
-+ if (encnumber && *encnumber) {
-+
-+ if (digits_only(encnumber))
-+ loopinfo64.lo_encrypt_type = atoi(encnumber);
-+ }
-+
- loopinfo64.lo_offset = offset;
-
- #ifdef MCL_FUTURE
-@@ -601,7 +610,7 @@
-
- int
- main(int argc, char **argv) {
-- char *offset, *encryption, *passfd;
-+ char *offset, *encryption, *encnumber, *passfd;
- int delete, c;
- int res = 0;
- int ro = 0;
-@@ -612,7 +621,7 @@
- textdomain(PACKAGE);
-
- delete = off = 0;
-- offset = encryption = passfd = NULL;
-+ offset = encryption = encnumber = passfd = NULL;
- progname = argv[0];
- while ((c = getopt(argc,argv,"de:E:o:p:v")) != -1) {
- switch (c) {
-@@ -620,6 +629,7 @@
- delete = 1;
- break;
- case 'E':
-+ encnumber = optarg;
- case 'e':
- encryption = optarg;
- break;
-@@ -651,7 +661,7 @@
- if (passfd && sscanf(passfd,"%d",&pfd) != 1)
- usage();
- res = set_loop(argv[optind], argv[optind+1], off,
-- encryption, pfd, &ro);
-+ encnumber, encryption, pfd, &ro);
- }
- return res;
- }
-diff -ruN util-linux-2.12.orig/mount/lomount.h util-linux-2.12/mount/lomount.h
---- util-linux-2.12.orig/mount/lomount.h 2004-02-17 02:08:05.339716928 +0100
-+++ util-linux-2.12/mount/lomount.h 2004-02-17 02:08:14.921260312 +0100
-@@ -1,6 +1,6 @@
- extern int verbose;
- extern int set_loop(const char *, const char *, unsigned long long,
-- const char *, int, int *);
-+ const char *, const char *, int, int *);
- extern int del_loop(const char *);
- extern int is_loop_device(const char *);
- extern char * find_unused_loop_device(void);
-diff -ruN util-linux-2.12.orig/mount/loop.h util-linux-2.12/mount/loop.h
---- util-linux-2.12.orig/mount/loop.h 2004-02-17 02:08:05.341716624 +0100
-+++ util-linux-2.12/mount/loop.h 2004-02-17 02:08:14.922260160 +0100
-@@ -2,6 +2,7 @@
- #define LO_CRYPT_XOR 1
- #define LO_CRYPT_DES 2
- #define LO_CRYPT_CRYPTOAPI 18
-+#define LO_CRYPT_COMPRESS 19
-
- #define LOOP_SET_FD 0x4C00
- #define LOOP_CLR_FD 0x4C01
-diff -ruN util-linux-2.12.orig/mount/mount.c util-linux-2.12/mount/mount.c
---- util-linux-2.12.orig/mount/mount.c 2004-02-17 02:08:05.281725744 +0100
-+++ util-linux-2.12/mount/mount.c 2004-02-17 02:08:14.924259856 +0100
-@@ -612,7 +612,7 @@
- if (verbose)
- printf(_("mount: going to use the loop device %s\n"), *loopdev);
- offset = opt_offset ? strtoull(opt_offset, NULL, 0) : 0;
-- if (set_loop(*loopdev, *loopfile, offset,
-+ if (set_loop(*loopdev, *loopfile, offset, NULL,
- opt_encryption, pfd, &loopro)) {
- if (verbose)
- printf(_("mount: failed setting up loop device\n"));
diff --git a/sys-apps/util-linux/files/util-linux-2.12b-pic.patch b/sys-apps/util-linux/files/util-linux-2.12b-pic.patch
deleted file mode 100644
index 479c2cce8637..000000000000
--- a/sys-apps/util-linux/files/util-linux-2.12b-pic.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-diff -u -r -N util-linux-2.11z.orig/fdisk/llseek.c util-linux-2.11z/fdisk/llseek.c
---- util-linux-2.11z.orig/fdisk/llseek.c 2002-10-31 14:44:31.000000000 +0100
-+++ util-linux-2.11z/fdisk/llseek.c 2003-07-12 19:08:59.000000000 +0200
-@@ -3,6 +3,9 @@
- *
- * Copyright (C) 1994 Remy Card. This file may be redistributed
- * under the terms of the GNU Public License.
-+ *
-+ * Changes:
-+ * 20030712 - Alexander Gabert <pappy@nikita.ath.cx> - adding PIC defines
- */
-
- #include <sys/types.h>
-@@ -25,7 +28,8 @@
-
- #else /* HAVE_LLSEEK */
-
--#if defined(__alpha__) || defined(__ia64__) || defined(__s390x__)
-+/* do not use assembler to put together syscalls at compile time (for llseek for example) when using PIC */
-+#if defined(__PIC__) || defined(__pic__) || defined(__alpha__) || defined(__ia64__) || defined(__s390x__) || defined(__hppa__)
-
- #define my_llseek lseek
-
-diff -u -r -N util-linux-2.11z.orig/fdisk/sfdisk.c util-linux-2.11z/fdisk/sfdisk.c
---- util-linux-2.11z.orig/fdisk/sfdisk.c 2003-01-28 19:18:03.000000000 +0100
-+++ util-linux-2.11z/fdisk/sfdisk.c 2003-07-12 19:08:38.000000000 +0200
-@@ -28,6 +28,7 @@
- * Changes:
- * 19990319 - Arnaldo Carvalho de Melo <acme@conectiva.com.br> - i18n
- * 20040824 - David A. Wheeler <dwheeler@dwheeler.com> - warnings to stderr
-+ * 20030712 - Alexander Gabert <pappy@nikita.ath.cx> - adding PIC defines
- */
-
- #define PROGNAME "sfdisk"
-@@ -130,7 +131,9 @@
- *
- * Note: we use 512-byte sectors here, irrespective of the hardware ss.
- */
--#if !defined (__alpha__) && !defined (__ia64__) && !defined (__x86_64__) && !defined (__s390x__)
-+
-+/* do not use the assembler constructed syscalls for seeking if compiled as PIC */
-+#if !defined(__PIC__) && !defined(__pic__) && !defined (__alpha__) && !defined (__ia64__) && !defined (__x86_64__) && !defined (__s390x__) && !defined (__hppa__)
- static
- _syscall5(int, _llseek, uint, fd, ulong, hi, ulong, lo,
- loff_t *, res, uint, wh);
-@@ -142,7 +145,7 @@
- in = ((loff_t) s << 9);
- out = 1;
-
--#if !defined (__alpha__) && !defined (__ia64__) && !defined (__x86_64__) && !defined (__s390x__)
-+#if !defined(__PIC__) && !defined(__pic__) && !defined (__alpha__) && !defined (__ia64__) && !defined (__x86_64__) && !defined (__s390x__) && !defined (__hppa__)
- if (_llseek (fd, in>>32, in & 0xffffffff, &out, SEEK_SET) != 0) {
- #else
- if ((out = lseek(fd, in, SEEK_SET)) != in) {
---- util-linux-2.12b/partx/partx.c.orig 2004-09-04 15:58:23.000000000 -0400
-+++ util-linux-2.12b/partx/partx.c 2004-09-04 15:57:40.000000000 -0400
-@@ -333,7 +333,7 @@
- /*
- * sseek: seek to specified sector
- */
--#if !defined (__alpha__) && !defined (__ia64__) && !defined (__s390x__) && !defined(__x86_64__)
-+#if !defined (__alpha__) && !defined (__ia64__) && !defined (__s390x__) && !defined(__x86_64__) && !defined(__PIC__) && !defined(__hppa__)
- #define NEED__llseek
- #endif
-
diff --git a/sys-apps/util-linux/files/util-linux-swapon-check-symlinks.patch b/sys-apps/util-linux/files/util-linux-swapon-check-symlinks.patch
deleted file mode 100644
index 9b14886963ab..000000000000
--- a/sys-apps/util-linux/files/util-linux-swapon-check-symlinks.patch
+++ /dev/null
@@ -1,37 +0,0 @@
---- util-linux-2.12b/mount/swapon.c.orig 2004-10-28 10:02:44.320023600 -0400
-+++ util-linux-2.12b/mount/swapon.c 2004-10-28 10:02:14.384574000 -0400
-@@ -22,6 +22,7 @@
- #include <errno.h>
- #include <sys/stat.h>
- #include <unistd.h>
-+#include <sys/param.h>
- #include "swap_constants.h"
- #include "swapargs.h"
- #include "nls.h"
-@@ -143,10 +144,26 @@
- static int
- is_in_proc_swaps(char *fname) {
- int i;
-+ struct stat fstatbuf;
-
- for (i = 0; i < numSwaps; i++)
- if (!strcmp(fname, swapFiles[i]))
- return 1;
-+
-+ /* fallback:
-+ * if the device in /etc/fstab is a symlink, the entry
-+ * in /proc/swaps won't match because the kernel stores
-+ * absolute pathnames. Here we compare dev_t's.
-+ */
-+ if (!lstat(fname, &fstatbuf))
-+ if (S_ISLNK(fstatbuf.st_mode)) {
-+ struct stat swapstatbuf;
-+ for (i = 0; i < numSwaps; i++)
-+ if (!stat(swapFiles[i], &swapstatbuf) && \
-+ swapstatbuf.st_dev == fstatbuf.st_dev)
-+ return 1;
-+ }
-+
- return 0;
- }
-
diff --git a/sys-apps/util-linux/util-linux-2.12-r5.ebuild b/sys-apps/util-linux/util-linux-2.12-r5.ebuild
index 3c92c5ef97e1..9e4b68d54647 100644
--- a/sys-apps/util-linux/util-linux-2.12-r5.ebuild
+++ b/sys-apps/util-linux/util-linux-2.12-r5.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-apps/util-linux/util-linux-2.12-r5.ebuild,v 1.19 2005/01/10 01:54:02 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-apps/util-linux/util-linux-2.12-r5.ebuild,v 1.20 2005/01/10 02:56:52 vapier Exp $
inherit eutils flag-o-matic
@@ -38,7 +38,7 @@ src_unpack() {
# Mailing list post with info:
# http://www.kerneli.org/pipermail/cryptoapi-devel/2003-September/000634.html
# Follow thread for usage.
- use crypt && epatch ${DISTDIR}/${CRYPT_PATCH_P}.patch.bz2
+ use crypt && epatch ${WORKDIR}/${CRYPT_PATCH_P}.patch
# Fix rare failures with -j4 or higher
epatch ${FILESDIR}/${PN}-2.11z-parallel-make.patch