Browse Source

Stefan Fiedler:


			
			
				rocklinux
			
			
		
Stefan Fiedler 20 years ago
parent
commit
696fe12d85
11 changed files with 362 additions and 642 deletions
  1. +10
    -0
      package/base/util-linux/configure-tqueue_h.patch
  2. +160
    -161
      package/base/util-linux/cryptoloop-support.diff
  3. +0
    -156
      package/base/util-linux/define_changes_26headers.patch
  4. +10
    -24
      package/base/util-linux/disable_cramfs_tools.diff
  5. +14
    -32
      package/base/util-linux/gcc34.patch
  6. +38
    -49
      package/base/util-linux/hotfixes.patch
  7. +55
    -0
      package/base/util-linux/linux-compiler_h.patch
  8. +72
    -186
      package/base/util-linux/no-syscall5.patch.mips
  9. +0
    -30
      package/base/util-linux/no_tqueue.patch
  10. +1
    -2
      package/base/util-linux/util-linux.conf
  11. +2
    -2
      package/base/util-linux/util-linux.desc

+ 10
- 0
package/base/util-linux/configure-tqueue_h.patch

@ -0,0 +1,10 @@
--- util-linux-2.12h/configure 2004-09-06 16:33:47.000000000 +0000
+++ util-linux-2.12h-comp/configure 2004-10-23 08:24:25.176815064 +0000
@@ -366,6 +366,7 @@
# 1. cytune.c may need struct tq_struct
#
echo "
+#include <linux/compiler.h>
#include <sys/types.h>
#include <linux/cyclades.h>
int main(){ exit(0); }

+ 160
- 161
package/base/util-linux/cryptoloop-support.diff

@ -1,87 +1,6 @@
# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
#
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
# Please add additional copyright information _after_ the line containing
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
#
# ROCK Linux: rock-src/package/base/util-linux/cryptoloop-support.diff
# ROCK Linux is Copyright (C) 1998 - 2004 Clifford Wolf
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
# of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
#
# --- ROCK-COPYRIGHT-NOTE-END ---
--- util-linux-2.12/mount/mount.8.orig 2003-09-21 18:14:26.000000000 -0400
+++ util-linux-2.12/mount/mount.8 2003-09-21 18:16:18.000000000 -0400
@@ -1696,6 +1696,11 @@
.BR loop ", " offset " and " encryption ,
that are really options to
.BR losetup (8).
+You can also use the
+.BR keygen
+option to have mount call an external program from, which it will read the
+encryption key. Arguments to this program can be given, separated by semicolons.
+
If no explicit loop device is mentioned
(but just an option `\fB\-o loop\fP' is given), then
.B mount
--- util-linux-2.12/mount/mount.c.orig 2003-09-21 18:14:27.000000000 -0400
+++ util-linux-2.12/mount/mount.c 2003-09-21 18:16:18.000000000 -0400
@@ -195,7 +195,7 @@
};
static char *opt_loopdev, *opt_vfstype, *opt_offset, *opt_encryption,
- *opt_speed;
+ *opt_keygen, *opt_speed;
static struct string_opt_map {
char *tag;
@@ -206,6 +206,7 @@
{ "vfs=", 1, &opt_vfstype },
{ "offset=", 0, &opt_offset },
{ "encryption=", 0, &opt_encryption },
+ { "keygen=", 0, &opt_keygen },
{ "speed=", 0, &opt_speed },
{ NULL, 0, NULL }
};
@@ -586,7 +587,7 @@
*type = opt_vfstype;
}
- *loop = ((*flags & MS_LOOP) || *loopdev || opt_offset || opt_encryption);
+ *loop = ((*flags & MS_LOOP) || *loopdev || opt_offset || opt_encryption || opt_keygen);
*loopfile = *spec;
if (*loop) {
@@ -596,6 +597,11 @@
printf(_("mount: skipping the setup of a loop device\n"));
} else {
int loopro = (*flags & MS_RDONLY);
+ /* Extra args to the keygen program. Right now there are 2: *
+ * - the looped file *
+ * - the encryption type used */
+ char *keygen_args[] = {*loopfile, opt_encryption};
+ const int _n_keygen_args = 2;
if (!*loopdev || !**loopdev)
*loopdev = find_unused_loop_device();
@@ -604,6 +610,8 @@
if (verbose)
printf(_("mount: going to use the loop device %s\n"), *loopdev);
offset = opt_offset ? strtoul(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,
opt_encryption, pfd, &loopro)) {
if (verbose)
--- util-linux-2.12/mount/lomount.c.orig 2003-09-21 18:14:26.000000000 -0400
+++ util-linux-2.12/mount/lomount.c 2003-09-21 18:43:27.000000000 -0400
diff -dur util-linux-2.12h/mount/lomount.c util-linux-2.12h-patch/mount/lomount.c
--- util-linux-2.12h/mount/lomount.c 2004-09-22 18:26:02.000000000 +0000
+++ util-linux-2.12h-patch/mount/lomount.c 2004-10-23 03:37:44.541795904 +0000
@@ -10,7 +10,6 @@ @@ -10,7 +10,6 @@
* 2000-09-24 Marc Mutz <Marc@Mutz.com> * 2000-09-24 Marc Mutz <Marc@Mutz.com>
* - added -p option to pass passphrases via fd's to losetup/mount. * - added -p option to pass passphrases via fd's to losetup/mount.
@ -127,23 +46,6 @@
-xgetpass(int pfd, const char *prompt) { -xgetpass(int pfd, const char *prompt) {
- char *pass; - char *pass;
- int buflen, i; - int buflen, i;
-
- if (pfd < 0) /* terminal */
- return getpass(prompt);
-
- pass = NULL;
- buflen = 0;
- for (i=0; ; i++) {
- if (i >= buflen-1) {
- /* we're running out of space in the buffer.
- * Make it bigger: */
- char *tmppass = pass;
- buflen += 128;
- pass = realloc(tmppass, buflen);
- if (pass == NULL) {
- /* realloc failed. Stop reading. */
- error("Out of memory while reading passphrase");
- pass = tmppass; /* the old buffer hasn't changed */
+/* A function to check the encryption parameters against /proc/crypto. * +/* A function to check the encryption parameters against /proc/crypto. *
+ * Returns 1 if everything checks out, 0 if there's any problem. * + * Returns 1 if everything checks out, 0 if there's any problem. *
+ * The purpose of this function is not so much to verify the parameters * + * The purpose of this function is not so much to verify the parameters *
@ -160,7 +62,9 @@
+ int cipher_found = 0, min_size = 0, max_size = 0, retval; + int cipher_found = 0, min_size = 0, max_size = 0, retval;
+ FILE *fp; + FILE *fp;
+ struct stat st; + struct stat st;
+
- if (pfd < 0) /* terminal */
- return getpass(prompt);
+ if (stat("/proc/crypto", &st) == -1) { + if (stat("/proc/crypto", &st) == -1) {
+ retval = 1; + retval = 1;
+ goto end; + goto end;
@ -172,7 +76,20 @@
+ retval = 1; + retval = 1;
+ goto end; + goto end;
+ } + }
+
- pass = NULL;
- buflen = 0;
- for (i=0; ; i++) {
- if (i >= buflen-1) {
- /* we're running out of space in the buffer.
- * Make it bigger: */
- char *tmppass = pass;
- buflen += 128;
- pass = realloc(tmppass, buflen);
- if (pass == NULL) {
- /* realloc failed. Stop reading. */
- error("Out of memory while reading passphrase");
- pass = tmppass; /* the old buffer hasn't changed */
+ xstrncpy(cipher_name, loopinfo64->lo_crypt_name, LO_NAME_SIZE); + xstrncpy(cipher_name, loopinfo64->lo_crypt_name, LO_NAME_SIZE);
+ /* Chop off the cipher mode (ie. everything after the dash) */ + /* Chop off the cipher mode (ie. everything after the dash) */
+ cipher_name[strcspn(cipher_name, "-")] = '\0'; + cipher_name[strcspn(cipher_name, "-")] = '\0';
@ -190,13 +107,12 @@
} }
- if (read(pfd, pass+i, 1) != 1 || pass[i] == '\n') - if (read(pfd, pass+i, 1) != 1 || pass[i] == '\n')
- break; - break;
- }
}
- if (pass == NULL) - if (pass == NULL)
- return ""; - return "";
- else { - else {
- pass[i] = 0; - pass[i] = 0;
- return pass; - return pass;
}
+ fclose(fp); + fclose(fp);
+ +
+ if (!cipher_found) { + if (!cipher_found) {
@ -209,7 +125,7 @@
+ loopinfo64->lo_encrypt_key_size, cipher_name); + loopinfo64->lo_encrypt_key_size, cipher_name);
+ retval = 0; + retval = 0;
+ goto end; + goto end;
+ }
}
+ +
+ retval = 1; + retval = 1;
+end: +end:
@ -305,69 +221,84 @@
} }
} }
@@ -307,9 +412,25 @@
@@ -308,10 +413,26 @@
strlen(loopinfo64.lo_encrypt_key); strlen(loopinfo64.lo_encrypt_key);
break; break;
default: default:
- pass = xgetpass(pfd, _("Password: ")); - pass = xgetpass(pfd, _("Password: "));
- xstrncpy(loopinfo64.lo_encrypt_key, pass, LO_KEY_SIZE); - xstrncpy(loopinfo64.lo_encrypt_key, pass, LO_KEY_SIZE);
- memset(pass, 0, strlen(pass));
- loopinfo64.lo_encrypt_key_size = LO_KEY_SIZE; - loopinfo64.lo_encrypt_key_size = LO_KEY_SIZE;
+ if (pfd == -1) {
+ pass = getpass(_("Password: "));
+ xstrncpy(loopinfo64.lo_encrypt_key, pass, LO_KEY_SIZE);
+ } else {
+ /* If we're reading from an extenral program, *
+ * odds are good that a SIGCHLD will interrupt *
+ * this read(), and ruin our whole day. So we *
+ * must block it. */
+ sigset_t ss, oss;
+ sigemptyset(&ss);
+ sigaddset(&ss, SIGCHLD);
+ sigprocmask(SIG_BLOCK, &ss, &oss);
+ if (read(pfd, loopinfo64.lo_encrypt_key,
+ LO_KEY_SIZE) == -1) {
+ perror("read");
+ fprintf(stderr, _("Error reading encryption key, exiting\n"));
+ }
+ sigprocmask(SIG_SETMASK, &oss, NULL);
+ }
+ if (pfd == -1) {
+ pass = getpass(_("Password: "));
+ xstrncpy(loopinfo64.lo_encrypt_key, pass, LO_KEY_SIZE);
+ memset(pass, 0, strlen(pass));
+ } else {
+ /* If we're reading from an extenral program, *
+ * odds are good that a SIGCHLD will interrupt *
+ * this read(), and ruin our whole day. So we *
+ * must block it. */
+ sigset_t ss, oss;
+ sigemptyset(&ss);
+ sigaddset(&ss, SIGCHLD);
+ sigprocmask(SIG_BLOCK, &ss, &oss);
+ if (read(pfd, loopinfo64.lo_encrypt_key,
+ LO_KEY_SIZE) == -1) {
+ perror("read");
+ fprintf(stderr, _("Error reading encryption key, exiting\n"));
+ }
+ sigprocmask(SIG_SETMASK, &oss, NULL);
+ }
} }
if (ioctl(fd, LOOP_SET_FD, ffd) < 0) { if (ioctl(fd, LOOP_SET_FD, ffd) < 0) {
@@ -322,6 +443,14 @@
@@ -325,20 +446,44 @@
struct loop_info loopinfo; struct loop_info loopinfo;
int errsv = errno; int errsv = errno;
+ if (errno == EINVAL &&
+ loopinfo64.lo_encrypt_type == LO_CRYPT_CRYPTOAPI)
+ if (!check_crypto(&loopinfo64)) {
+ fprintf(stderr,
+ _("Error in crypto parameters, exiting\n"));
+ goto fail;
+ }
+
errno = loop_info64_to_old(&loopinfo64, &loopinfo);
if (errno) {
+ if (errno == EINVAL &&
+ loopinfo64.lo_encrypt_type == LO_CRYPT_CRYPTOAPI)
+ if (!check_crypto(&loopinfo64)) {
+ fprintf(stderr,
+ _("Error in crypto parameters, exiting\n"));
+ goto fail;
+ }
+
+
i = loop_info64_to_old(&loopinfo64, &loopinfo);
if (i) {
errno = errsv; errno = errsv;
@@ -330,6 +459,17 @@
}
if (ioctl(fd, LOOP_SET_STATUS, &loopinfo) < 0) {
+ errsv = errno;
+
+ if (errno == EINVAL &&
+ loopinfo.lo_encrypt_type == LO_CRYPT_CRYPTOAPI)
+ if (!check_crypto_old(&loopinfo)) {
+ fprintf(stderr,
+ _("Error in crypto parameters, exiting\n"));
+ goto fail;
perror("ioctl: LOOP_SET_STATUS64");
} else {
i = ioctl(fd, LOOP_SET_STATUS, &loopinfo);
- if (i)
+ if (i) {
+ if (i<0) {
+ errsv = errno;
+
+ if (errno == EINVAL &&
+ loopinfo.lo_encrypt_type == LO_CRYPT_CRYPTOAPI)
+ if (!check_crypto_old(&loopinfo)) {
+ fprintf(stderr,
+ _("Error in crypto parameters, exiting\n"));
+ goto fail;
+ }
+
+ errno = errsv;
+ } + }
+
+ errno = errsv;
perror("ioctl: LOOP_SET_STATUS");
goto fail;
perror("ioctl: LOOP_SET_STATUS");
+ }
} }
@@ -416,6 +556,22 @@
memset(&loopinfo, 0, sizeof(loopinfo));
}
memset(&loopinfo64, 0, sizeof(loopinfo64));
if (i) {
+fail:
ioctl (fd, LOOP_CLR_FD, 0);
close (fd);
return 1;
@@ -420,6 +563,22 @@
exit(1); exit(1);
} }
@ -390,8 +321,75 @@
char * char *
xstrdup (const char *s) { xstrdup (const char *s) {
char *t; char *t;
--- util-linux-2.12/mount/sundries.c.orig 2003-09-21 18:14:27.000000000 -0400
+++ util-linux-2.12/mount/sundries.c 2003-09-21 18:16:18.000000000 -0400
Nur in util-linux-2.12h-patch/mount: lomount.c~.
diff -dur util-linux-2.12h/mount/mount.8 util-linux-2.12h-patch/mount/mount.8
--- util-linux-2.12h/mount/mount.8 2004-09-19 20:00:49.000000000 +0000
+++ util-linux-2.12h-patch/mount/mount.8 2004-10-23 03:36:52.385724832 +0000
@@ -1759,6 +1759,11 @@
.BR loop ", " offset " and " encryption ,
that are really options to
.BR losetup (8).
+You can also use the
+.BR keygen
+option to have mount call an external program from, which it will read the
+encryption key. Arguments to this program can be given, separated by semicolons.
+
If no explicit loop device is mentioned
(but just an option `\fB\-o loop\fP' is given), then
.B mount
diff -dur util-linux-2.12h/mount/mount.c util-linux-2.12h-patch/mount/mount.c
--- util-linux-2.12h/mount/mount.c 2004-10-13 20:54:39.000000000 +0000
+++ util-linux-2.12h-patch/mount/mount.c 2004-10-23 03:36:52.386724680 +0000
@@ -164,7 +164,7 @@
};
static const char *opt_loopdev, *opt_vfstype, *opt_offset, *opt_encryption,
- *opt_speed, *opt_comment;
+ *opt_keygen, *opt_speed, *opt_comment;
static struct string_opt_map {
char *tag;
@@ -175,6 +175,7 @@
{ "vfs=", 1, &opt_vfstype },
{ "offset=", 0, &opt_offset },
{ "encryption=", 0, &opt_encryption },
+ { "keygen=", 0, &opt_keygen },
{ "speed=", 0, &opt_speed },
{ "comment=", 1, &opt_comment },
{ NULL, 0, NULL }
@@ -570,7 +571,7 @@
*type = opt_vfstype;
}
- *loop = ((*flags & MS_LOOP) || *loopdev || opt_offset || opt_encryption);
+ *loop = ((*flags & MS_LOOP) || *loopdev || opt_offset || opt_encryption || opt_keygen);
*loopfile = *spec;
if (*loop) {
@@ -580,6 +581,11 @@
printf(_("mount: skipping the setup of a loop device\n"));
} else {
int loopro = (*flags & MS_RDONLY);
+ /* Extra args to the keygen program. Right now there are 2: *
+ * - the looped file *
+ * - the encryption type used */
+ char *keygen_args[] = {*loopfile, opt_encryption};
+ const int _n_keygen_args = 2;
if (!*loopdev || !**loopdev)
*loopdev = find_unused_loop_device();
@@ -588,6 +594,8 @@
if (verbose)
printf(_("mount: going to use the loop device %s\n"), *loopdev);
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,
opt_encryption, pfd, &loopro)) {
if (verbose)
diff -dur util-linux-2.12h/mount/sundries.c util-linux-2.12h-patch/mount/sundries.c
--- util-linux-2.12h/mount/sundries.c 2004-10-13 21:15:39.000000000 +0000
+++ util-linux-2.12h-patch/mount/sundries.c 2004-10-23 03:36:52.387724528 +0000
@@ -12,6 +12,8 @@ @@ -12,6 +12,8 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
@ -401,9 +399,9 @@
#include "fstab.h" #include "fstab.h"
#include "sundries.h" #include "sundries.h"
#include "realpath.h" #include "realpath.h"
@@ -285,3 +287,100 @@
free(canonical);
return xstrdup(path);
@@ -288,3 +290,100 @@
return xstrdup(path);
} }
+ +
+static volatile int keygen_wait = 1; +static volatile int keygen_wait = 1;
@ -502,8 +500,9 @@
+ return 0; /* so gcc will shut up */ + return 0; /* so gcc will shut up */
+} +}
+ +
--- util-linux-2.12/mount/sundries.h.orig 2003-09-21 18:14:27.000000000 -0400
+++ util-linux-2.12/mount/sundries.h 2003-09-21 18:16:18.000000000 -0400
diff -dur util-linux-2.12h/mount/sundries.h util-linux-2.12h-patch/mount/sundries.h
--- util-linux-2.12h/mount/sundries.h 2002-11-01 01:00:50.000000000 +0000
+++ util-linux-2.12h-patch/mount/sundries.h 2004-10-23 03:36:52.387724528 +0000
@@ -25,6 +25,7 @@ @@ -25,6 +25,7 @@
void error (const char *fmt, ...); void error (const char *fmt, ...);
int matching_type (const char *type, const char *types); int matching_type (const char *type, const char *types);

+ 0
- 156
package/base/util-linux/define_changes_26headers.patch

@ -1,156 +0,0 @@
# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
#
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
# Please add additional copyright information _after_ the line containing
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
#
# ROCK Linux: rock-src/package/base/util-linux/define_changes_26headers.patch
# ROCK Linux is Copyright (C) 1998 - 2004 Clifford Wolf
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
# of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
#
# --- ROCK-COPYRIGHT-NOTE-END ---
gentoo's util-linux-2.12-linux-headers-2.6.0-fix.patch, with
my_dev_t defined as __u32 not int (__kernel_dev_t is __u32)
--- ./disk-utils/blockdev.c.orig 2002-03-09 00:57:02.000000000 +0200
+++ ./disk-utils/blockdev.c 2004-04-14 20:02:17.000000000 +0300
@@ -9,6 +9,7 @@
#include <string.h>
#include <unistd.h>
#include <sys/ioctl.h>
+#include <linux/version.h>
#include "nls.h"
@@ -24,8 +25,13 @@
#define BLKRASET _IO(0x12,98)
#define BLKRAGET _IO(0x12,99)
#define BLKSSZGET _IO(0x12,104)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
#define BLKBSZGET _IOR(0x12,112,sizeof(int))
#define BLKBSZSET _IOW(0x12,113,sizeof(int))
+#else
+#define BLKBSZGET _IOR(0x12,112,int)
+#define BLKBSZSET _IOW(0x12,113,int)
+#endif
#endif
/* Maybe <linux/hdreg.h> could be included */
--- ./disk-utils/elvtune.c.orig 2002-03-09 00:57:49.000000000 +0200
+++ ./disk-utils/elvtune.c 2004-04-14 20:02:17.000000000 +0300
@@ -26,6 +26,8 @@
#include <sys/ioctl.h>
#include <unistd.h>
#include <stdlib.h>
+#include <linux/version.h>
+
#include "nls.h"
/* this has to match with the kernel structure */
@@ -37,8 +39,13 @@
int max_bomb_segments;
} blkelv_ioctl_arg_t;
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
#define BLKELVGET _IOR(0x12,106,sizeof(blkelv_ioctl_arg_t))
#define BLKELVSET _IOW(0x12,107,sizeof(blkelv_ioctl_arg_t))
+#else
+#define BLKELVGET _IOR(0x12,106,blkelv_ioctl_arg_t)
+#define BLKELVSET _IOW(0x12,107,blkelv_ioctl_arg_t)
+#endif
static void
usage(void) {
--- ./fdisk/common.h.orig 2003-07-13 16:59:53.000000000 +0300
+++ ./fdisk/common.h 2004-04-14 20:02:17.000000000 +0300
@@ -2,11 +2,18 @@
/* including <linux/fs.h> fails */
#include <sys/ioctl.h>
+#include <linux/version.h>
+
#define BLKRRPART _IO(0x12,95) /* re-read partition table */
#define BLKGETSIZE _IO(0x12,96) /* return device size */
#define BLKFLSBUF _IO(0x12,97) /* flush buffer cache */
#define BLKSSZGET _IO(0x12,104) /* get block device sector size */
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
#define BLKGETSIZE64 _IOR(0x12,114,8) /* 8 = sizeof(u64) */
+#else
+#define BLKGETSIZE64 _IOR(0x12,114,unsigned long long)
+#endif
/* including <linux/hdreg.h> also fails */
struct hd_geometry {
--- ./mount/my_dev_t.h.orig 2003-07-16 23:05:50.000000000 +0300
+++ ./mount/my_dev_t.h 2004-04-14 20:05:59.000000000 +0300
@@ -4,4 +4,11 @@
/* for ancient systems use "unsigned short" */
#include <linux/posix_types.h>
+#include <linux/version.h>
+
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
#define my_dev_t __kernel_dev_t
+#else
+#include <asm/types.h>
+#define my_dev_t __u32
+#endif
--- util-linux-2.12a/disk-utils/fdformat.c~ 2002-07-07 14:38:24.000000000 +0200
+++ util-linux-2.12a/disk-utils/fdformat.c 2004-06-22 05:03:03.607542024 +0200
@@ -14,6 +14,7 @@
#include <stdlib.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
+#include <linux/compiler.h>
#include <linux/fd.h>
#include "nls.h"
--- util-linux-2.12a/disk-utils/setfdprm.c~ 2001-10-21 12:32:27.000000000 +0200
+++ util-linux-2.12a/disk-utils/setfdprm.c 2004-06-22 05:25:44.739618496 +0200
@@ -13,6 +13,7 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
+#include <linux/compiler.h>
#include <linux/fd.h>
#include "nls.h"
--- util-linux-2.12a/partx/addpart.c~ 1999-07-09 04:56:36.000000000 +0200
+++ util-linux-2.12a/partx/addpart.c 2004-06-22 05:28:41.731711608 +0200
@@ -3,6 +3,7 @@
#include <fcntl.h>
#include <stdlib.h>
#include <sys/ioctl.h>
+#include <linux/compiler.h>
#include <linux/blkpg.h>
int
--- util-linux-2.12a/partx/delpart.c~ 1999-07-09 04:56:36.000000000 +0200
+++ util-linux-2.12a/partx/delpart.c 2004-06-22 05:30:16.806258080 +0200
@@ -3,6 +3,7 @@
#include <fcntl.h>
#include <stdlib.h>
#include <sys/ioctl.h>
+#include <linux/compiler.h>
#include <linux/blkpg.h>
int
--- util-linux-2.12a/partx/partx.c~ 2002-10-31 14:51:06.000000000 +0100
+++ util-linux-2.12a/partx/partx.c 2004-06-22 05:32:07.710398088 +0200
@@ -37,6 +37,7 @@
#include <getopt.h>
#include <unistd.h>
#include <sys/ioctl.h>
+#include <linux/compiler.h>
#include <linux/hdreg.h> /* HDIO_GETGEO */
#include <linux/blkpg.h>
#define BLKGETSIZE _IO(0x12,96) /* return device size */

+ 10
- 24
package/base/util-linux/disable_cramfs_tools.diff

@ -1,24 +1,6 @@
# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
#
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
# Please add additional copyright information _after_ the line containing
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
#
# ROCK Linux: rock-src/package/base/util-linux/disable_cramfs_tools.diff
# ROCK Linux is Copyright (C) 1998 - 2004 Clifford Wolf
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
# of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
#
# --- ROCK-COPYRIGHT-NOTE-END ---
--- disk-utils/Makefile.orig Wed Jan 15 20:15:21 2003
+++ disk-utils/Makefile Wed Jan 15 20:15:49 2003
diff -dur util-linux-2.12h/disk-utils/Makefile util-linux-2.12h-patch/disk-utils/Makefile
--- util-linux-2.12h/disk-utils/Makefile 2002-11-02 13:52:47.000000000 +0000
+++ util-linux-2.12h-patch/disk-utils/Makefile 2004-10-23 03:13:08.329214328 +0000
@@ -20,7 +20,7 @@ @@ -20,7 +20,7 @@
ETC= fdprm ETC= fdprm
@ -28,7 +10,7 @@
ifneq "$(HAVE_FDUTILS)" "yes" ifneq "$(HAVE_FDUTILS)" "yes"
USRBIN:=$(USRBIN) setfdprm USRBIN:=$(USRBIN) setfdprm
@@ -32,21 +32,7 @@
@@ -32,22 +32,8 @@
MAN8:=$(MAN8) raw.8 MAN8:=$(MAN8) raw.8
endif endif
@ -37,7 +19,7 @@
-endif -endif
- -
all: $(SBIN) $(USRBIN) all: $(SBIN) $(USRBIN)
-
-fsck.cramfs: fsck.cramfs.o -fsck.cramfs: fsck.cramfs.o
- $(CC) $(LDFLAGS) -o fsck.cramfs fsck.cramfs.o -lz - $(CC) $(LDFLAGS) -o fsck.cramfs fsck.cramfs.o -lz
- -
@ -47,6 +29,10 @@
-mkfs.cramfs.o: $(LIB)/md5.h -mkfs.cramfs.o: $(LIB)/md5.h
- -
-fsck.cramfs.o mkfs.cramfs.o: cramfs.h -fsck.cramfs.o mkfs.cramfs.o: cramfs.h
-
fsck.minix.o mkfs.minix.o: bitops.h minix.h fsck.minix.o mkfs.minix.o: bitops.h minix.h
install: all
Nur in util-linux-2.12h-patch/disk-utils: Makefile~.
Nur in util-linux-2.12h-patch/: Makefile~.
Nur in util-linux-2.12h-patch/: Makefile.rej.

+ 14
- 32
package/base/util-linux/gcc34.patch

@ -1,35 +1,17 @@
# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
#
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
# Please add additional copyright information _after_ the line containing
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
#
# ROCK Linux: rock-src/package/base/util-linux/gcc34.patch
# ROCK Linux is Copyright (C) 1998 - 2004 Clifford Wolf
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
# of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
#
# --- ROCK-COPYRIGHT-NOTE-END ---
S.th. modified is not const ... for gcc-3.4.
- Rene Rebe <rene@exactcode.de>
--- ./mount/mount.c.vanilla 2004-07-04 20:35:50.000000000 +0200
+++ ./mount/mount.c 2004-07-04 20:36:29.000000000 +0200
@@ -1104,7 +1104,7 @@
Nur in util-linux-2.12h-patch/fdisk: cfdisk.c~.
Nur in util-linux-2.12h-patch/fdisk: fdisk.c~.
Nur in util-linux-2.12h-patch/fdisk: sfdisk.c~.
diff -dur util-linux-2.12h/mount/mount.c util-linux-2.12h-patch/mount/mount.c
--- util-linux-2.12h/mount/mount.c 2004-10-13 20:54:39.000000000 +0000
+++ util-linux-2.12h-patch/mount/mount.c 2004-10-23 03:16:30.310508504 +0000
@@ -1109,7 +1109,7 @@
* Return 0 for success (either mounted sth or -a and NOAUTO was given) * Return 0 for success (either mounted sth or -a and NOAUTO was given)
*/ */
static int static int
-mount_one (const char *spec, const char *node, char *types, const char *opts,
+mount_one (const char *spec, char *node, char *types, const char *opts,
char *cmdlineopts, int freq, int pass) {
int status;
int status2;
-mount_one (const char *spec, const char *node, const char *types,
+mount_one (const char *spec, char *node, const char *types,
const char *opts, char *cmdlineopts, int freq, int pass) {
int status, status2;
const char *nspec;
Nur in util-linux-2.12h-patch/mount: mount.c~.
Nur in util-linux-2.12h-patch/mount: mount.c.rej.

+ 38
- 49
package/base/util-linux/hotfixes.patch

@ -1,25 +1,6 @@
# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
#
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
# Please add additional copyright information _after_ the line containing
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
#
# ROCK Linux: rock-src/package/base/util-linux/hotfixes.patch
# ROCK Linux is Copyright (C) 1998 - 2004 Clifford Wolf
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
# of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
#
# --- ROCK-COPYRIGHT-NOTE-END ---
diff -ru util-linux-2.11t/lib/nls.h util-linux-2.11t_/lib/nls.h
--- util-linux-2.11t/lib/nls.h 2002-07-04 22:03:26.000000000 +0100
+++ util-linux-2.11t_/lib/nls.h 2002-07-19 12:53:40.000000000 +0100
diff -dur util-linux-2.12h/lib/nls.h util-linux-2.12h-patch/lib/nls.h
--- util-linux-2.12h/lib/nls.h 2002-07-04 21:03:26.000000000 +0000
+++ util-linux-2.12h-patch/lib/nls.h 2004-10-23 03:17:42.544527264 +0000
@@ -1,6 +1,15 @@ @@ -1,6 +1,15 @@
int main(int argc, char *argv[]); int main(int argc, char *argv[]);
@ -36,27 +17,30 @@ diff -ru util-linux-2.11t/lib/nls.h util-linux-2.11t_/lib/nls.h
#ifndef PACKAGE #ifndef PACKAGE
#define PACKAGE "util-linux" #define PACKAGE "util-linux"
diff -ru util-linux-2.11t/MCONFIG util-linux-2.11t_/MCONFIG
--- util-linux-2.11t/MCONFIG 2002-07-04 22:40:07.000000000 +0100
+++ util-linux-2.11t_/MCONFIG 2002-07-19 12:52:47.000000000 +0100
@@ -6,12 +6,14 @@
diff -dur util-linux-2.12h/MCONFIG util-linux-2.12h-patch/MCONFIG
--- util-linux-2.12h/MCONFIG 2004-09-16 16:30:47.000000000 +0000
+++ util-linux-2.12h-patch/MCONFIG 2004-10-23 03:18:22.577441336 +0000
@@ -6,6 +6,8 @@
# - remove the `-o root' part in INSTALLSUID # - remove the `-o root' part in INSTALLSUID
# - set USE_TTY_GROUP=no # - set USE_TTY_GROUP=no
# - define DESTDIR # - define DESTDIR
+# compile the raw utility +# compile the raw utility
+ADD_RAW=yes +ADD_RAW=yes
## Configuration outside of this file you might want to do for mount:
## If make_include has HAVE_BLKID=yes, turn that into HAVE_BLKID=no
@@ -16,8 +18,8 @@
# Select for ARCH one of intel, alpha, sparc, arm, m68k, mips # Select for ARCH one of intel, alpha, sparc, arm, m68k, mips
# Select for CPU i386 if the binaries must be able to run on an intel 386 # Select for CPU i386 if the binaries must be able to run on an intel 386
# (by default i486 code is generated, see below) # (by default i486 code is generated, see below)
-CPU=$(shell uname -m) -CPU=$(shell uname -m)
-ARCH=$(shell echo $(CPU) | sed 's/i.86/intel/;s/arm.*/arm/') -ARCH=$(shell echo $(CPU) | sed 's/i.86/intel/;s/arm.*/arm/')
+#CPU=$(shell uname -m)
+#ARCH=$(shell echo $(CPU) | sed 's/i.86/intel/;s/arm.*/arm/')
+# CPU=$(shell uname -m)
+# ARCH=$(shell echo $(CPU) | sed 's/i.86/intel/;s/arm.*/arm/')
# If HAVE_PAM is set to "yes", then login, chfn, chsh, and newgrp # If HAVE_PAM is set to "yes", then login, chfn, chsh, and newgrp
# will use PAM for authentication. Additionally, passwd will not be # will use PAM for authentication. Additionally, passwd will not be
@@ -115,8 +117,7 @@
@@ -125,8 +127,7 @@
else else
CPUTAIL=486 CPUTAIL=486
endif endif
@ -66,10 +50,12 @@ diff -ru util-linux-2.11t/MCONFIG util-linux-2.11t_/MCONFIG
else else
ifeq "$(ARCH)" "arm" ifeq "$(ARCH)" "arm"
OPT= -pipe -O2 -fsigned-char -fomit-frame-pointer OPT= -pipe -O2 -fsigned-char -fomit-frame-pointer
diff -ru util-linux-2.11t/mount/mount.c util-linux-2.11t_/mount/mount.c
--- util-linux-2.11t/mount/mount.c 2002-07-04 22:29:01.000000000 +0100
+++ util-linux-2.11t_/mount/mount.c 2002-07-19 12:54:26.000000000 +0100
@@ -69,7 +69,8 @@
Nur in util-linux-2.12h-patch/: MCONFIG~.
Nur in util-linux-2.12h-patch/: MCONFIG.rej.
diff -dur util-linux-2.12h/mount/mount.c util-linux-2.12h-patch/mount/mount.c
--- util-linux-2.12h/mount/mount.c 2004-10-13 20:54:39.000000000 +0000
+++ util-linux-2.12h-patch/mount/mount.c 2004-10-23 03:17:42.547526808 +0000
@@ -37,7 +37,8 @@
#include "env.h" #include "env.h"
#include "nls.h" #include "nls.h"
@ -79,10 +65,23 @@ diff -ru util-linux-2.11t/mount/mount.c util-linux-2.11t_/mount/mount.c
#ifdef DO_PS_FIDDLING #ifdef DO_PS_FIDDLING
#include "setproctitle.h" #include "setproctitle.h"
diff -ru util-linux-2.11t/text-utils/Makefile util-linux-2.11t_/text-utils/Makefile
--- util-linux-2.11t/text-utils/Makefile 2002-07-05 21:31:32.000000000 +0100
+++ util-linux-2.11t_/text-utils/Makefile 2002-07-19 12:56:14.000000000 +0100
@@ -50,6 +50,7 @@
Nur in util-linux-2.12h-patch/mount: mount.c~.
diff -dur util-linux-2.12h/mount/swap.configure util-linux-2.12h-patch/mount/swap.configure
--- util-linux-2.12h/mount/swap.configure 1999-07-09 02:56:39.000000000 +0000
+++ util-linux-2.12h-patch/mount/swap.configure 2004-10-23 03:17:42.547526808 +0000
@@ -23,7 +23,7 @@
echo '#include <unistd.h>
main(){ exit(0); swapon("/dev/null", 0); }' >> conftest.c
eval $compile
-if test -s conftest && ./conftest 2>/dev/null; then
+if test -s conftest; then
echo "#define SWAPON_HAS_TWO_ARGS" > swapargs.h
echo $PAGEH >> swapargs.h
echo $SWAPH >> swapargs.h
diff -dur util-linux-2.12h/text-utils/Makefile util-linux-2.12h-patch/text-utils/Makefile
--- util-linux-2.12h/text-utils/Makefile 2003-03-02 23:32:04.000000000 +0000
+++ util-linux-2.12h-patch/text-utils/Makefile 2004-10-23 03:17:42.547526808 +0000
@@ -44,6 +44,7 @@
# Do not have ncurses - give up on pg and ul # Do not have ncurses - give up on pg and ul
pg ul: pg ul:
@echo $@ not made since it requires ncurses @echo $@ not made since it requires ncurses
@ -90,7 +89,7 @@ diff -ru util-linux-2.11t/text-utils/Makefile util-linux-2.11t_/text-utils/Makef
# For more we can also try termcap # For more we can also try termcap
ifeq "$(HAVE_TERMCAP)" "yes" ifeq "$(HAVE_TERMCAP)" "yes"
more: more.o $(LIB)/xstrncpy.o more: more.o $(LIB)/xstrncpy.o
@@ -57,6 +58,7 @@
@@ -51,6 +52,7 @@
else else
more: more:
@echo $@ not made since it requires ncurses or termcap @echo $@ not made since it requires ncurses or termcap
@ -98,14 +97,4 @@ diff -ru util-linux-2.11t/text-utils/Makefile util-linux-2.11t_/text-utils/Makef
endif endif
endif endif
--- ./mount/swap.configure.orig 2002-10-16 12:38:13.000000000 +0200
+++ ./mount/swap.configure 2002-10-16 12:38:36.000000000 +0200
@@ -23,7 +23,7 @@
echo '#include <unistd.h>
main(){ exit(0); swapon("/dev/null", 0); }' >> conftest.c
eval $compile
-if test -s conftest && ./conftest 2>/dev/null; then
+if test -s conftest; then
echo "#define SWAPON_HAS_TWO_ARGS" > swapargs.h
echo $PAGEH >> swapargs.h
echo $SWAPH >> swapargs.h
Nur in util-linux-2.12h-patch/text-utils: Makefile~.

+ 55
- 0
package/base/util-linux/linux-compiler_h.patch

@ -0,0 +1,55 @@
diff -dur util-linux-2.12h/partx/addpart.c util-linux-2.12h-comp/partx/addpart.c
--- util-linux-2.12h/partx/addpart.c 1999-07-09 02:56:36.000000000 +0000
+++ util-linux-2.12h-comp/partx/addpart.c 2004-10-23 08:41:37.998802256 +0000
@@ -3,6 +3,7 @@
#include <fcntl.h>
#include <stdlib.h>
#include <sys/ioctl.h>
+#include <linux/compiler.h>
#include <linux/blkpg.h>
int
diff -dur util-linux-2.12h/disk-utils/fdformat.c util-linux-2.12h-patch/disk-utils/fdformat.c
--- util-linux-2.12h/disk-utils/fdformat.c 2002-07-07 12:38:24.000000000 +0000
+++ util-linux-2.12h-patch/disk-utils/fdformat.c 2004-10-23 03:07:43.330621624 +0000
@@ -14,6 +14,7 @@
#include <stdlib.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
+#include <linux/compiler.h>
#include <linux/fd.h>
#include "nls.h"
diff -dur util-linux-2.12h/disk-utils/setfdprm.c util-linux-2.12h-patch/disk-utils/setfdprm.c
--- util-linux-2.12h/disk-utils/setfdprm.c 2001-10-21 10:32:27.000000000 +0000
+++ util-linux-2.12h-patch/disk-utils/setfdprm.c 2004-10-23 03:07:43.331621472 +0000
@@ -13,6 +13,7 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/ioctl.h>
+#include <linux/compiler.h>
#include <linux/fd.h>
#include "nls.h"
diff -dur util-linux-2.12h/partx/delpart.c util-linux-2.12h-patch/partx/delpart.c
--- util-linux-2.12h/partx/delpart.c 1999-07-09 02:56:36.000000000 +0000
+++ util-linux-2.12h-patch/partx/delpart.c 2004-10-23 03:07:43.331621472 +0000
@@ -3,6 +3,7 @@
#include <fcntl.h>
#include <stdlib.h>
#include <sys/ioctl.h>
+#include <linux/compiler.h>
#include <linux/blkpg.h>
int
diff -dur util-linux-2.12h/partx/partx.c util-linux-2.12h-patch/partx/partx.c
--- util-linux-2.12h/partx/partx.c 2004-08-23 20:13:27.000000000 +0000
+++ util-linux-2.12h-patch/partx/partx.c 2004-10-23 03:07:43.332621320 +0000
@@ -37,6 +37,7 @@
#include <getopt.h>
#include <unistd.h>
#include <sys/ioctl.h>
+#include <linux/compiler.h>
#include <linux/hdreg.h> /* HDIO_GETGEO */
#include <linux/blkpg.h>
#define BLKGETSIZE _IO(0x12,96) /* return device size */

+ 72
- 186
package/base/util-linux/no-syscall5.patch.mips

@ -1,27 +1,8 @@
# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
#
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
# Please add additional copyright information _after_ the line containing
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
#
# ROCK Linux: rock-src/package/base/util-linux/no-syscall5.patch.mips
# ROCK Linux is Copyright (C) 1998 - 2004 Clifford Wolf
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
# of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
#
# --- ROCK-COPYRIGHT-NOTE-END ---
diff -Naur util-linux-2.12.orig/fdisk/cfdisk.c util-linux-2.12/fdisk/cfdisk.c
--- util-linux-2.12.orig/fdisk/cfdisk.c 2004-03-27 18:50:54.000000000 +0100
+++ util-linux-2.12/fdisk/cfdisk.c 2004-03-27 18:34:56.000000000 +0100
@@ -85,9 +85,6 @@
#include "get_blocks.h"
diff -dur util-linux-2.12h/fdisk/cfdisk.c util-linux-2.12h-patch/fdisk/cfdisk.c
--- util-linux-2.12h/fdisk/cfdisk.c 2004-09-27 15:54:13.000000000 +0000
+++ util-linux-2.12h-patch/fdisk/cfdisk.c 2004-10-23 03:20:23.614040976 +0000
@@ -82,9 +82,6 @@
#include "xstrncpy.h"
#include "common.h" #include "common.h"
-extern long long ext2_llseek(unsigned int fd, long long offset, -extern long long ext2_llseek(unsigned int fd, long long offset,
@ -29,8 +10,8 @@ diff -Naur util-linux-2.12.orig/fdisk/cfdisk.c util-linux-2.12/fdisk/cfdisk.c
- -
#define VERSION UTIL_LINUX_VERSION #define VERSION UTIL_LINUX_VERSION
#ifdef __GNU__
@@ -578,16 +575,16 @@
#define DEFAULT_DEVICE "/dev/hda"
@@ -545,16 +542,16 @@
} }
static void static void
@ -51,7 +32,7 @@ diff -Naur util-linux-2.12.orig/fdisk/cfdisk.c util-linux-2.12/fdisk/cfdisk.c
fatal(_("Cannot seek on disk drive"), 2); fatal(_("Cannot seek on disk drive"), 2);
if (write(fd, buffer, SECTOR_SIZE) != SECTOR_SIZE) if (write(fd, buffer, SECTOR_SIZE) != SECTOR_SIZE)
fatal(_("Cannot write disk drive"), 2); fatal(_("Cannot write disk drive"), 2);
@@ -611,10 +608,10 @@
@@ -578,10 +575,10 @@
#define DOS_OSTYPE_SZ 8 #define DOS_OSTYPE_SZ 8
#define DOS_LABEL_SZ 11 #define DOS_LABEL_SZ 11
#define DOS_FSTYPE_SZ 8 #define DOS_FSTYPE_SZ 8
@ -64,7 +45,7 @@ diff -Naur util-linux-2.12.orig/fdisk/cfdisk.c util-linux-2.12/fdisk/cfdisk.c
&& read(fd, &sector, sizeof(sector)) == sizeof(sector)) { && read(fd, &sector, sizeof(sector)) == sizeof(sector)) {
dos_copy_to_info(p_info[i].ostype, OSTYPESZ, dos_copy_to_info(p_info[i].ostype, OSTYPESZ,
sector+DOS_OSTYPE_OFFSET, DOS_OSTYPE_SZ); sector+DOS_OSTYPE_OFFSET, DOS_OSTYPE_SZ);
@@ -671,12 +668,12 @@
@@ -638,12 +635,12 @@
} xfsb; } xfsb;
char *label; char *label;
@ -79,7 +60,7 @@ diff -Naur util-linux-2.12.orig/fdisk/cfdisk.c util-linux-2.12/fdisk/cfdisk.c
&& read(fd, &e2fsb, sizeof(e2fsb)) == sizeof(e2fsb) && read(fd, &e2fsb, sizeof(e2fsb)) == sizeof(e2fsb)
&& e2fsb.s_magic[0] + (e2fsb.s_magic[1]<<8) == EXT2_SUPER_MAGIC) { && e2fsb.s_magic[0] + (e2fsb.s_magic[1]<<8) == EXT2_SUPER_MAGIC) {
label = e2fsb.s_volume_name; label = e2fsb.s_volume_name;
@@ -692,7 +689,7 @@
@@ -659,7 +656,7 @@
} }
offset = (p_info[i].first_sector + p_info[i].offset) * SECTOR_SIZE + 0; offset = (p_info[i].first_sector + p_info[i].offset) * SECTOR_SIZE + 0;
@ -88,7 +69,7 @@ diff -Naur util-linux-2.12.orig/fdisk/cfdisk.c util-linux-2.12/fdisk/cfdisk.c
&& read(fd, &xfsb, sizeof(xfsb)) == sizeof(xfsb) && read(fd, &xfsb, sizeof(xfsb)) == sizeof(xfsb)
&& !strcmp(xfsb.s_magic, XFS_SUPER_MAGIC)) { && !strcmp(xfsb.s_magic, XFS_SUPER_MAGIC)) {
label = xfsb.s_fname; label = xfsb.s_fname;
@@ -706,7 +703,7 @@
@@ -673,7 +670,7 @@
/* reiserfs? */ /* reiserfs? */
offset = (p_info[i].first_sector + p_info[i].offset) * SECTOR_SIZE offset = (p_info[i].first_sector + p_info[i].offset) * SECTOR_SIZE
+ REISERFS_DISK_OFFSET_IN_BYTES; + REISERFS_DISK_OFFSET_IN_BYTES;
@ -97,10 +78,11 @@ diff -Naur util-linux-2.12.orig/fdisk/cfdisk.c util-linux-2.12/fdisk/cfdisk.c
&& read(fd, &reiserfsb, 1024) == 1024 && read(fd, &reiserfsb, 1024) == 1024
&& is_reiserfs_magic_string(&reiserfsb)) { && is_reiserfs_magic_string(&reiserfsb)) {
strncpy(p_info[i].fstype, "reiserfs", FSTYPESZ); strncpy(p_info[i].fstype, "reiserfs", FSTYPESZ);
diff -Naur util-linux-2.12.orig/fdisk/fdiskbsdlabel.c util-linux-2.12/fdisk/fdiskbsdlabel.c
--- util-linux-2.12.orig/fdisk/fdiskbsdlabel.c 2004-03-27 18:50:54.000000000 +0100
+++ util-linux-2.12/fdisk/fdiskbsdlabel.c 2004-03-27 18:36:51.000000000 +0100
@@ -574,7 +574,7 @@
Nur in util-linux-2.12h-patch/fdisk: cfdisk.c~.
diff -dur util-linux-2.12h/fdisk/fdiskbsdlabel.c util-linux-2.12h-patch/fdisk/fdiskbsdlabel.c
--- util-linux-2.12h/fdisk/fdiskbsdlabel.c 2003-07-13 21:12:47.000000000 +0000
+++ util-linux-2.12h-patch/fdisk/fdiskbsdlabel.c 2004-10-23 03:20:23.616040672 +0000
@@ -566,7 +566,7 @@
sector = get_start_sect(xbsd_part); sector = get_start_sect(xbsd_part);
#endif #endif
@ -109,7 +91,7 @@ diff -Naur util-linux-2.12.orig/fdisk/fdiskbsdlabel.c util-linux-2.12/fdisk/fdis
fatal (unable_to_seek); fatal (unable_to_seek);
if (BSD_BBSIZE != write (fd, disklabelbuffer, BSD_BBSIZE)) if (BSD_BBSIZE != write (fd, disklabelbuffer, BSD_BBSIZE))
fatal (unable_to_write); fatal (unable_to_write);
@@ -745,7 +745,7 @@
@@ -735,7 +735,7 @@
sector = 0; sector = 0;
#endif #endif
@ -118,7 +100,7 @@ diff -Naur util-linux-2.12.orig/fdisk/fdiskbsdlabel.c util-linux-2.12/fdisk/fdis
fatal (unable_to_seek); fatal (unable_to_seek);
if (BSD_BBSIZE != read (fd, disklabelbuffer, BSD_BBSIZE)) if (BSD_BBSIZE != read (fd, disklabelbuffer, BSD_BBSIZE))
fatal (unable_to_read); fatal (unable_to_read);
@@ -791,12 +791,12 @@
@@ -781,12 +781,12 @@
#if defined (__alpha__) && BSD_LABELSECTOR == 0 #if defined (__alpha__) && BSD_LABELSECTOR == 0
alpha_bootblock_checksum (disklabelbuffer); alpha_bootblock_checksum (disklabelbuffer);
@ -133,10 +115,11 @@ diff -Naur util-linux-2.12.orig/fdisk/fdiskbsdlabel.c util-linux-2.12/fdisk/fdis
SEEK_SET) == -1) SEEK_SET) == -1)
fatal (unable_to_seek); fatal (unable_to_seek);
if (sizeof (struct xbsd_disklabel) != write (fd, d, sizeof (struct xbsd_disklabel))) if (sizeof (struct xbsd_disklabel) != write (fd, d, sizeof (struct xbsd_disklabel)))
diff -Naur util-linux-2.12.orig/fdisk/fdisk.c util-linux-2.12/fdisk/fdisk.c
--- util-linux-2.12.orig/fdisk/fdisk.c 2004-03-27 18:50:54.000000000 +0100
+++ util-linux-2.12/fdisk/fdisk.c 2004-03-27 18:35:42.000000000 +0100
@@ -241,7 +241,7 @@
Nur in util-linux-2.12h-patch/fdisk: fdiskbsdlabel.c~.
diff -dur util-linux-2.12h/fdisk/fdisk.c util-linux-2.12h-patch/fdisk/fdisk.c
--- util-linux-2.12h/fdisk/fdisk.c 2004-09-06 20:36:16.000000000 +0000
+++ util-linux-2.12h-patch/fdisk/fdisk.c 2004-10-23 03:20:23.619040216 +0000
@@ -240,7 +240,7 @@
static void static void
seek_sector(int fd, unsigned int secno) { seek_sector(int fd, unsigned int secno) {
long long offset = (long long) secno * sector_size; long long offset = (long long) secno * sector_size;
@ -145,10 +128,11 @@ diff -Naur util-linux-2.12.orig/fdisk/fdisk.c util-linux-2.12/fdisk/fdisk.c
fatal(unable_to_seek); fatal(unable_to_seek);
} }
diff -Naur util-linux-2.12.orig/fdisk/fdisksgilabel.c util-linux-2.12/fdisk/fdisksgilabel.c
--- util-linux-2.12.orig/fdisk/fdisksgilabel.c 2004-03-27 18:50:54.000000000 +0100
+++ util-linux-2.12/fdisk/fdisksgilabel.c 2004-03-27 18:37:17.000000000 +0100
@@ -379,7 +379,7 @@
Nur in util-linux-2.12h-patch/fdisk: fdisk.c~.
diff -dur util-linux-2.12h/fdisk/fdisksgilabel.c util-linux-2.12h-patch/fdisk/fdisksgilabel.c
--- util-linux-2.12h/fdisk/fdisksgilabel.c 2004-09-06 20:44:56.000000000 +0000
+++ util-linux-2.12h-patch/fdisk/fdisksgilabel.c 2004-10-23 03:20:23.620040064 +0000
@@ -377,7 +377,7 @@
*/ */
sgiinfo *info = fill_sgiinfo(); sgiinfo *info = fill_sgiinfo();
int infostartblock = SSWAP32(sgilabel->directory[0].vol_file_start); int infostartblock = SSWAP32(sgilabel->directory[0].vol_file_start);
@ -157,139 +141,17 @@ diff -Naur util-linux-2.12.orig/fdisk/fdisksgilabel.c util-linux-2.12/fdisk/fdis
SECTOR_SIZE, SEEK_SET) < 0) SECTOR_SIZE, SEEK_SET) < 0)
fatal(unable_to_seek); fatal(unable_to_seek);
if (write(fd, info, SECTOR_SIZE) != SECTOR_SIZE) if (write(fd, info, SECTOR_SIZE) != SECTOR_SIZE)
diff -Naur util-linux-2.12.orig/fdisk/llseek.c util-linux-2.12/fdisk/llseek.c
--- util-linux-2.12.orig/fdisk/llseek.c 2003-07-13 20:30:27.000000000 +0200
+++ util-linux-2.12/fdisk/llseek.c 1970-01-01 01:00:00.000000000 +0100
@@ -1,110 +0,0 @@
-/*
- * llseek.c -- stub calling the llseek system call
- *
- * Copyright (C) 1994 Remy Card. This file may be redistributed
- * under the terms of the GNU Public License.
- */
-
-#include <sys/types.h>
-
-#include <errno.h>
-#include <unistd.h>
-
-extern long long ext2_llseek (unsigned int, long long, unsigned int);
-
-#ifdef __linux__
-
-#ifdef HAVE_LLSEEK
-#include <syscall.h>
-
-#else /* HAVE_LLSEEK */
-
-#if defined(__alpha__) || defined(__ia64__) || defined(__s390x__)
-
-#define my_llseek lseek
-
-#else
-#include <linux/unistd.h> /* for __NR__llseek */
-
-static int _llseek (unsigned int, unsigned long,
- unsigned long, long long *, unsigned int);
-
-#ifdef __NR__llseek
-
-static _syscall5(int,_llseek,unsigned int,fd,unsigned long,offset_high,
- unsigned long, offset_low,long long *,result,
- unsigned int, origin)
-
-#else
-
-/* no __NR__llseek on compilation machine - might give it explicitly */
-static int _llseek (unsigned int fd, unsigned long oh,
- unsigned long ol, long long *result,
- unsigned int origin) {
- errno = ENOSYS;
- return -1;
-}
-
-#endif
-
-static long long my_llseek (unsigned int fd, long long offset,
- unsigned int origin)
-{
- long long result;
- int retval;
-
- retval = _llseek (fd, ((unsigned long long) offset) >> 32,
- ((unsigned long long) offset) & 0xffffffff,
- &result, origin);
- return (retval == -1 ? (long long) retval : result);
-}
-
-#endif /* __alpha__ */
-
-#endif /* HAVE_LLSEEK */
-
-long long ext2_llseek (unsigned int fd, long long offset,
- unsigned int origin)
-{
- long long result;
- static int do_compat = 0;
-
- if (!do_compat) {
- result = my_llseek (fd, offset, origin);
- if (!(result == -1 && errno == ENOSYS))
- return result;
-
- /*
- * Just in case this code runs on top of an old kernel
- * which does not support the llseek system call
- */
- do_compat = 1;
- /*
- * Now try ordinary lseek.
- */
- }
-
- if ((sizeof(off_t) >= sizeof(long long)) ||
- (offset < ((long long) 1 << ((sizeof(off_t)*8) -1))))
- return lseek(fd, (off_t) offset, origin);
-
- errno = EINVAL;
- return -1;
-}
-
-#else /* !linux */
-
-long long ext2_llseek (unsigned int fd, long long offset,
- unsigned int origin)
-{
- if ((sizeof(off_t) < sizeof(long long)) &&
- (offset >= ((long long) 1 << ((sizeof(off_t)*8) -1)))) {
- errno = EINVAL;
- return -1;
- }
- return lseek (fd, (off_t) offset, origin);
-}
-
-#endif /* linux */
-
-
diff -Naur util-linux-2.12.orig/po/POTFILES.in util-linux-2.12/po/POTFILES.in
--- util-linux-2.12.orig/po/POTFILES.in 2003-07-05 22:19:45.000000000 +0200
+++ util-linux-2.12/po/POTFILES.in 2004-03-27 18:46:42.000000000 +0100
@@ -18,7 +18,6 @@
fdisk/fdisksgilabel.c
fdisk/fdisksunlabel.c
fdisk/i386_sys_types.c
-fdisk/llseek.c
fdisk/partname.c
fdisk/sfdisk.c
getopt/getopt.c
--- ./fdisk/Makefile.orig 2004-08-22 09:30:42.000000000 -0500
+++ ./fdisk/Makefile 2004-08-22 09:30:55.000000000 -0500
Nur in util-linux-2.12h-patch/fdisk: fdisksgilabel.c~.
Nur in util-linux-2.12h/fdisk: llseek.c.
diff -dur util-linux-2.12h/fdisk/Makefile util-linux-2.12h-patch/fdisk/Makefile
--- util-linux-2.12h/fdisk/Makefile 2004-09-06 20:28:58.000000000 +0000
+++ util-linux-2.12h-patch/fdisk/Makefile 2004-10-23 03:21:43.351918976 +0000
@@ -39,7 +39,7 @@ @@ -39,7 +39,7 @@
endif endif
endif endif
-cfdisk: cfdisk.o llseek.o i386_sys_types.o $(LIB)/xstrncpy.o
+cfdisk: cfdisk.o i386_sys_types.o $(LIB)/xstrncpy.o
-cfdisk: cfdisk.o llseek.o disksize.o i386_sys_types.o $(LIB)/xstrncpy.o
+cfdisk: cfdisk.o disksize.o i386_sys_types.o $(LIB)/xstrncpy.o
ifeq "$(HAVE_SLANG)" "yes" ifeq "$(HAVE_SLANG)" "yes"
$(CC) $(LDFLAGS) $^ -o $@ $(LIBSLANG) $(CC) $(LDFLAGS) $^ -o $@ $(LIBSLANG)
else else
@ -297,14 +159,17 @@ diff -Naur util-linux-2.12.orig/po/POTFILES.in util-linux-2.12/po/POTFILES.in
rm -f activate rm -f activate
ln -s sfdisk activate ln -s sfdisk activate
-fdisk: fdisk.o llseek.o fdiskbsdlabel.o fdisksgilabel.o fdisksunlabel.o \
+fdisk: fdisk.o fdiskbsdlabel.o fdisksgilabel.o fdisksunlabel.o \
fdiskaixlabel.o i386_sys_types.o partname.o
-fdisk: fdisk.o llseek.o disksize.o fdiskbsdlabel.o fdisksgilabel.o \
+fdisk: fdisk.o disksize.o fdiskbsdlabel.o fdisksgilabel.o \
fdisksunlabel.o fdiskaixlabel.o i386_sys_types.o partname.o
fdisk.o: fdisk.c fdisk.h fdisk.o: fdisk.c fdisk.h
fdiskbsdlabel.o: fdiskbsdlabel.c fdisk.h fdiskbsdlabel.h fdiskbsdlabel.o: fdiskbsdlabel.c fdisk.h fdiskbsdlabel.h
--- ./fdisk/sfdisk.c.orig 2004-08-22 09:34:01.000000000 -0500
+++ ./fdisk/sfdisk.c 2004-08-22 09:36:31.000000000 -0500
@@ -123,30 +123,18 @@
Nur in util-linux-2.12h-patch/fdisk: Makefile~.
Nur in util-linux-2.12h-patch/fdisk: Makefile.rej.
diff -dur util-linux-2.12h/fdisk/sfdisk.c util-linux-2.12h-patch/fdisk/sfdisk.c
--- util-linux-2.12h/fdisk/sfdisk.c 2004-09-28 17:10:21.000000000 +0000
+++ util-linux-2.12h-patch/fdisk/sfdisk.c 2004-10-23 03:27:03.788205256 +0000
@@ -148,10 +148,7 @@
/* /*
* sseek: seek to specified sector - return 0 on failure * sseek: seek to specified sector - return 0 on failure
* *
@ -316,11 +181,14 @@ diff -Naur util-linux-2.12.orig/po/POTFILES.in util-linux-2.12/po/POTFILES.in
* *
* Note: we use 512-byte sectors here, irrespective of the hardware ss. * Note: we use 512-byte sectors here, irrespective of the hardware ss.
*/ */
-#if !defined (__alpha__) && !defined (__ia64__) && !defined (__x86_64__) && !defined (__s390x__)
-static
@@ -161,22 +158,15 @@
#endif
#ifndef use_lseek
-static __attribute__used
-_syscall5(int, _llseek, unsigned int, fd, ulong, hi, ulong, lo, -_syscall5(int, _llseek, unsigned int, fd, ulong, hi, ulong, lo,
- loff_t *, res, unsigned int, wh); - loff_t *, res, unsigned int, wh);
-#endif
#endif
static int static int
sseek(char *dev, unsigned int fd, unsigned long s) { sseek(char *dev, unsigned int fd, unsigned long s) {
@ -330,7 +198,7 @@ diff -Naur util-linux-2.12.orig/po/POTFILES.in util-linux-2.12/po/POTFILES.in
+ in = ((off_t) s << 9); + in = ((off_t) s << 9);
out = 1; out = 1;
-#if !defined (__alpha__) && !defined (__ia64__) && !defined (__x86_64__) && !defined (__s390x__)
-#ifndef use_lseek
- if (_llseek (fd, in>>32, in & 0xffffffff, &out, SEEK_SET) != 0) { - if (_llseek (fd, in>>32, in & 0xffffffff, &out, SEEK_SET) != 0) {
-#else -#else
if ((out = lseek(fd, in, SEEK_SET)) != in) { if ((out = lseek(fd, in, SEEK_SET)) != in) {
@ -338,9 +206,14 @@ diff -Naur util-linux-2.12.orig/po/POTFILES.in util-linux-2.12/po/POTFILES.in
perror("llseek"); perror("llseek");
error(_("seek error on %s - cannot seek to %lu\n"), dev, s); error(_("seek error on %s - cannot seek to %lu\n"), dev, s);
return 0; return 0;
--- ./partx/partx.c.orig 2004-08-23 06:23:31.000000000 -0500
+++ ./partx/partx.c 2004-08-23 06:26:36.000000000 -0500
@@ -333,30 +333,16 @@
Nur in util-linux-2.12h-patch/fdisk: sfdisk.c~.
Nur in util-linux-2.12h-patch/fdisk: sfdisk.c.rej.
Nur in util-linux-2.12h-patch/: MCONFIG~.
Nur in util-linux-2.12h-patch/mount: mount.c~.
diff -dur util-linux-2.12h/partx/partx.c util-linux-2.12h-patch/partx/partx.c
--- util-linux-2.12h/partx/partx.c 2004-08-23 20:13:27.000000000 +0000
+++ util-linux-2.12h-patch/partx/partx.c 2004-10-23 03:20:23.628038848 +0000
@@ -332,30 +332,16 @@
/* /*
* sseek: seek to specified sector * sseek: seek to specified sector
@ -375,3 +248,16 @@ diff -Naur util-linux-2.12.orig/po/POTFILES.in util-linux-2.12/po/POTFILES.in
{ {
fprintf(stderr, "llseek error\n"); fprintf(stderr, "llseek error\n");
return -1; return -1;
Nur in util-linux-2.12h-patch/partx: partx.c~.
diff -dur util-linux-2.12h/po/POTFILES.in util-linux-2.12h-patch/po/POTFILES.in
--- util-linux-2.12h/po/POTFILES.in 2004-09-07 01:02:39.000000000 +0000
+++ util-linux-2.12h-patch/po/POTFILES.in 2004-10-23 03:20:23.622039760 +0000
@@ -19,7 +19,6 @@
fdisk/fdisksgilabel.c
fdisk/fdisksunlabel.c
fdisk/i386_sys_types.c
-fdisk/llseek.c
fdisk/partname.c
fdisk/sfdisk.c
getopt/getopt.c
Nur in util-linux-2.12h-patch/po: POTFILES.in~.

+ 0
- 30
package/base/util-linux/no_tqueue.patch

@ -1,30 +0,0 @@
# --- ROCK-COPYRIGHT-NOTE-BEGIN ---
#
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
# Please add additional copyright information _after_ the line containing
# the ROCK-COPYRIGHT-NOTE-END tag. Otherwise it might get removed by
# the ./scripts/Create-CopyPatch script. Do not edit this copyright text!
#
# ROCK Linux: rock-src/package/base/util-linux/no_tqueue.patch
# ROCK Linux is Copyright (C) 1998 - 2004 Clifford Wolf
#
# This patch file is dual-licensed. It is available under the license the
# patched project is licensed under, as long as it is an OpenSource license
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
# of the GNU General Public License as published by the Free Software
# Foundation; either version 2 of the License, or (at your option) any later
# version.
#
# --- ROCK-COPYRIGHT-NOTE-END ---
--- ./sys-utils/cytune.c.orig Mon Apr 22 18:51:56 2002
+++ ./sys-utils/cytune.c Mon Apr 22 18:52:14 2002
@@ -54,7 +54,7 @@
#include <termios.h>
#include "../defines.h" /* for NEED_tqueue_h */
-#ifdef NEED_tqueue_h
+#ifdef NEED_tqueue_h_disabled
#include <linux/tqueue.h> /* required for old kernels (for struct tq_struct) */
/* compilation errors on other kernels */
#endif

+ 1
- 2
package/base/util-linux/util-linux.conf

@ -35,7 +35,7 @@ prepare_cross_build() {
done done
# disable cramfs tools # disable cramfs tools
patch -p0 < $confdir/disable_cramfs_tools.diff
patch -p1 < $confdir/disable_cramfs_tools.diff
} }
[ $stagelevel -le 1 ] && premake='prepare_cross_build' [ $stagelevel -le 1 ] && premake='prepare_cross_build'
@ -54,4 +54,3 @@ util_linux_postmake() {
postmake="util_linux_postmake" postmake="util_linux_postmake"
var_append patchfiles " " "${confdir}/cryptoloop-support.diff" var_append patchfiles " " "${confdir}/cryptoloop-support.diff"

+ 2
- 2
package/base/util-linux/util-linux.desc

@ -38,8 +38,8 @@
[L] GPL [L] GPL
[S] Stable [S] Stable
[V] 2.12a
[V] 2.12h
[P] X -1-3-----9 179.200 [P] X -1-3-----9 179.200
[D] 660691576 util-linux-2.12a.tar.gz ftp://ftp.win.tue.nl/pub/linux-local/utils/util-linux/
[D] 1373503241 util-linux-2.12h.tar.gz ftp://ftp.win.tue.nl/pub/linux-local/utils/util-linux/

Loading…
Cancel
Save