rpms/util-linux/FC-5 util-linux-2.13-mount-context.patch, NONE, 1.1 util-linux-2.13-mount-man-bugs.patch, NONE, 1.1 util-linux-2.13-mount-uuid.patch, NONE, 1.1 util-linux-2.13-nfs-noacl.patch, NONE, 1.1 util-linux-2.13-wide.patch, NONE, 1.1 .cvsignore, 1.18, 1.19 sources, 1.18, 1.19 util-linux-2.13-mount-twiceloop.patch, 1.1, 1.2 util-linux-2.13-nfsv4.patch, 1.3, 1.4 util-linux.spec, 1.112, 1.113

fedora-cvs-commits at redhat.com fedora-cvs-commits at redhat.com
Thu Mar 30 20:04:14 UTC 2006


Author: kzak

Update of /cvs/dist/rpms/util-linux/FC-5
In directory cvs.devel.redhat.com:/tmp/cvs-serv20830

Modified Files:
	.cvsignore sources util-linux-2.13-mount-twiceloop.patch 
	util-linux-2.13-nfsv4.patch util-linux.spec 
Added Files:
	util-linux-2.13-mount-context.patch 
	util-linux-2.13-mount-man-bugs.patch 
	util-linux-2.13-mount-uuid.patch 
	util-linux-2.13-nfs-noacl.patch util-linux-2.13-wide.patch 
Log Message:
util-linux-2.13-0.20.1 FC5 update


util-linux-2.13-mount-context.patch:
 mount.8 |   44 +++++++++++++++++++++++++++++++++++++++++++
 mount.c |   65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 2 files changed, 107 insertions(+), 2 deletions(-)

--- NEW FILE util-linux-2.13-mount-context.patch ---
--- util-linux-2.13-pre7/mount/mount.8.cxt	2006-03-30 17:15:06.000000000 +0200
+++ util-linux-2.13-pre7/mount/mount.8	2006-03-30 17:15:06.000000000 +0200
@@ -661,6 +661,50 @@
 .BR noexec ", " nosuid ", and " nodev
 (unless overridden by subsequent options, as in the option line
 .BR users,exec,dev,suid ).
+.TP
+\fBcontext=\fP\fIcontext\fP, \fBfscontext=\fP\fIcontext\fP and \fBdefcontext=\fP\fIcontext\fP
+The 
+.BR context= 
+option is useful when mounting filesystems that do not support
+extended attributes, such as a floppy or hard disk formatted with VFAT, or
+systems that are not normally running under SELinux, such as an ext3 formatted
+disk from a non-SELinux workstation. You can also use
+.BR context= 
+on filesystems you do not trust, such as a floppy. It also helps in compatibility with
+xattr-supporting filesystems on earlier 2.4.<x> kernel versions. Even where
+xattrs are supported, you can save time not having to label every file by
+assigning the entire disk one security context.
+
+A commonly used option for removable media is 
+.BR context=system_u:object_r:removable_t .
+
+Two other options are 
+.BR fscontext= 
+and 
+.BR defcontext= ,
+both of which are mutually exclusive of the context option. This means you
+can use fscontext and defcontext with each other, but neither can be used with
+context.
+
+The 
+.BR fscontext= 
+option works for all filesystems, regardless of their xattr
+support. The fscontext option sets the overarching filesystem label to a
+specific security context. This filesystem label is separate from the
+individual labels on the files. It represents the entire filesystem for
+certain kinds of permission checks, such as during mount or file creation.
+Individual file labels are still obtained from the xattrs on the files
+themselves. The context option actually sets the aggregate context that
+fscontext provides, in addition to supplying the same label for individual
+files.
+
+You can set the default security context for unlabeled files using 
+.BR defcontext=
+option. This overrides the value set for unlabeled files in the policy and requires a
+file system that supports xattr labeling. 
+
+For more details see 
+.BR selinux (8)
 .RE
 .TP
 .B \-\-bind
--- util-linux-2.13-pre7/mount/mount.c.cxt	2006-03-30 17:15:06.000000000 +0200
+++ util-linux-2.13-pre7/mount/mount.c	2006-03-30 20:16:57.000000000 +0200
@@ -21,6 +21,11 @@
 #include <sys/wait.h>
 #include <sys/mount.h>
 
+#ifdef HAVE_LIBSELINUX
+#include <selinux/selinux.h>
+#include <selinux/context.h>
+#endif
+
 #include "mount_blkid.h"
 #include "mount_constants.h"
 #include "sundries.h"
@@ -255,6 +260,49 @@
 		free((void *) s);
 }
 
+#ifdef HAVE_LIBSELINUX
+/* translates SELinux context from human to raw format and 
+ * appends it to the mount extra options.
+ *
+ * returns -1 on error and 0 on success 
+ */
+static int
+append_context(const char *optname, const char *optdata, char *extra_opts, int *len)
+{
+	security_context_t raw = NULL;
+	char *buf = NULL;
+	int bufsz;
+	
+	if (!is_selinux_enabled())
+		/* ignore the option if we running without selinux */
+		return 0;
+
+	if (optdata==NULL || *optdata=='\0' || optname==NULL)
+		return -1;
+	
+	if (selinux_trans_to_raw_context(
+			(security_context_t) optdata, &raw)==-1 ||
+			raw==NULL)
+		return -1;
+	
+	if (verbose)
+		printf(_("mount: translated %s '%s' to '%s'\n"), 
+				optname, optdata, (char *) raw);
+
+	bufsz = strlen(optname) + strlen(raw) + 2;	/* 2 is \0 and '=' */ 
+	buf = xmalloc(bufsz);
+
+	snprintf(buf, bufsz, "%s=%s", optname, (char *) raw);
+	freecon(raw);
+	
+	if ((*len -= bufsz-1) > 0)
+		strcat(extra_opts, buf);
+	
+	my_free(buf);
+	return 0;
+}
+#endif
+
 /*
  * Look for OPT in opt_map table and return mask value.
  * If OPT isn't found, tack it onto extra_opts (which is non-NULL).
@@ -313,7 +361,20 @@
 			return;
 		}
 	}
-
+#ifdef HAVE_LIBSELINUX
+	if (strncmp(opt, "context=", 8)==0 && *(opt+8)) {
+		if (append_context("context", opt+8, extra_opts, &len)==0)
+			return;
+	}
+	if (strncmp(opt, "fscontext=", 10)==0 && *(opt+10)) {
+		if (append_context("fscontext", opt+10, extra_opts, &len)==0)
+			return;
+	}
+	if (strncmp(opt, "defcontext=", 11)==0 && *(opt+11)) {
+		if (append_context("defcontext", opt+11, extra_opts, &len)==0)
+			return;
+	}
+#endif
 	if ((len -= strlen(opt)) > 0)
 		strcat(extra_opts, opt);
 }
@@ -330,7 +391,7 @@
 	if (options != NULL) {
 		char *opts = xstrdup(options);
 		char *opt;
-		int len = strlen(opts) + 20;
+		int len = strlen(opts) + 256;
 
 		*extra_opts = xmalloc(len); 
 		**extra_opts = '\0';

util-linux-2.13-mount-man-bugs.patch:
 mount.8 |   17 +++++++++++++++++
 nfs.5   |    7 +++++++
 2 files changed, 24 insertions(+)

--- NEW FILE util-linux-2.13-mount-man-bugs.patch ---
--- util-linux-2.13-pre7/mount/nfs.5.bugs	2006-03-30 21:37:53.000000000 +0200
+++ util-linux-2.13-pre7/mount/nfs.5	2006-03-30 21:38:13.000000000 +0200
@@ -443,3 +443,10 @@
 .P
 The umount command should notify the server
 when an NFS filesystem is unmounted.
+.P
+Checking files on NFS filesystem referenced by file descriptors (i.e. the 
+.BR fcntl 
+and 
+.BR ioctl
+families of functions) may lead to inconsistent result due to the lack of
+consistency check in kernel even if noac is used.
--- util-linux-2.13-pre7/mount/mount.8.bugs	2006-03-30 21:36:56.000000000 +0200
+++ util-linux-2.13-pre7/mount/mount.8	2006-03-30 21:37:35.000000000 +0200
@@ -2047,6 +2047,23 @@
 .IR /proc/partitions .
 In particular, it may well fail if the kernel was compiled with devfs
 but devfs is not mounted.
+.PP
+It is possible that files 
+.IR /etc/mtab
+and 
+.IR /proc/mounts
+don't match. The first file is based only on the mount command options, but the
+content of the second file also depends on the kernel and others settings (e.g.
+remote NFS server. In particular case the mount command may reports unreliable
+information about a NFS mount point and the /proc/mounts file usually contains
+more reliable information.)
+.PP
+Checking files on NFS filesystem referenced by file descriptors (i.e. the 
+.BR fcntl 
+and 
+.BR ioctl
+families of functions) may lead to inconsistent result due to the lack of
+consistency check in kernel even if noac is used.
 .SH HISTORY
 A
 .B mount

util-linux-2.13-mount-uuid.patch:
 fstab.c       |   16 ++++++----------
 mount_blkid.c |    5 +++++
 mount_blkid.h |    1 +
 3 files changed, 12 insertions(+), 10 deletions(-)

--- NEW FILE util-linux-2.13-mount-uuid.patch ---
--- util-linux-2.13-pre6/mount/mount_blkid.h.uuid	2006-03-29 15:34:24.000000000 +0200
+++ util-linux-2.13-pre6/mount/mount_blkid.h	2006-03-29 15:34:57.000000000 +0200
@@ -8,5 +8,6 @@
 extern const char *mount_get_devname_by_uuid(const char *uuid);
 extern const char *mount_get_devname_by_label(const char *label);
 extern const char *mount_get_volume_label_by_spec(const char *spec);
+extern const char *mount_get_volume_uuid_by_spec(const char *spec);
 extern const char *mount_get_devname(const char *spec);
 extern const char *mount_get_devname_for_mounting(const char *spec);
--- util-linux-2.13-pre6/mount/mount_blkid.c.uuid	2006-03-29 15:33:44.000000000 +0200
+++ util-linux-2.13-pre6/mount/mount_blkid.c	2006-03-29 15:34:14.000000000 +0200
@@ -21,6 +21,11 @@
 }
 
 const char *
+mount_get_volume_uuid_by_spec(const char *spec) {
+	return blkid_get_tag_value(blkid, "UUID", spec);
+}
+
+const char *
 mount_get_devname(const char *spec) {
 	return blkid_get_devname(blkid, spec, 0);
 }
--- util-linux-2.13-pre6/mount/fstab.c.uuid	2006-03-29 15:29:28.000000000 +0200
+++ util-linux-2.13-pre6/mount/fstab.c	2006-03-29 15:36:30.000000000 +0200
@@ -301,23 +301,19 @@
 static int
 has_label(const char *device, const char *label) {
 	const char *devlabel;
-	int ret;
 
-	devlabel = mount_get_volume_label_by_spec(device);
-	ret = !strcmp(label, devlabel);
-	/* free(devlabel); */
-	return ret;
+	if (!(devlabel = mount_get_volume_label_by_spec(device)))
+		return 0;
+	return !strcmp(label, devlabel);
 }
 
 static int
 has_uuid(const char *device, const char *uuid){
 	const char *devuuid;
-	int ret;
 
-	devuuid = mount_get_devname_by_uuid(device);
-	ret = !strcmp(uuid, devuuid);
-	/* free(devuuid); */
-	return ret;
+	if (!(devuuid = mount_get_volume_uuid_by_spec(device)))
+		return 0;
+	return !strcmp(uuid, devuuid);
 }
 
 /* Find the entry (SPEC,FILE) in fstab */

util-linux-2.13-nfs-noacl.patch:
 nfs.5        |    3 +++
 nfs_mount4.h |    1 +
 nfsmount.c   |   14 +++++++++++---
 3 files changed, 15 insertions(+), 3 deletions(-)

--- NEW FILE util-linux-2.13-nfs-noacl.patch ---
--- util-linux-2.13-pre6/mount/nfs_mount4.h.noacl	2006-03-29 16:26:08.000000000 +0200
+++ util-linux-2.13-pre6/mount/nfs_mount4.h	2006-03-29 16:37:01.000000000 +0200
@@ -56,6 +56,7 @@
 #define NFS_MOUNT_KERBEROS	0x0100	/* 3 */
 #define NFS_MOUNT_NONLM		0x0200	/* 3 */
 #define NFS_MOUNT_BROKEN_SUID	0x0400	/* 4 */
+#define NFS_MOUNT_NOACL     0x0800  /* 4 */
 #define NFS_MOUNT_SECFLAVOUR	0x2000	/* 5 */
 
 /* security pseudoflavors */
--- util-linux-2.13-pre6/mount/nfsmount.c.noacl	2006-03-29 16:26:08.000000000 +0200
+++ util-linux-2.13-pre6/mount/nfsmount.c	2006-03-29 16:37:01.000000000 +0200
@@ -899,6 +899,10 @@
 						goto bad_option;
 					data->flags |= NFS_MOUNT_BROKEN_SUID;
 				}
+			} else if (!strcmp(opt, "acl")) {
+				data->flags &= ~NFS_MOUNT_NOACL;
+				if (!val)
+					data->flags |= NFS_MOUNT_NOACL;
 #endif
 			} else {
 			bad_option:
@@ -1070,19 +1074,23 @@
 	printf("mountprog = %d, mountvers = %d, nfsprog = %d, nfsvers = %d\n",
 	       mnt_pmap->pm_prog, mnt_pmap->pm_vers,
 	       nfs_pmap->pm_prog, nfs_pmap->pm_vers);
-	printf("soft = %d, intr = %d, posix = %d, nocto = %d, noac = %d\n",
+	printf("soft = %d, intr = %d, posix = %d, nocto = %d, noac = %d ",
 	       (data.flags & NFS_MOUNT_SOFT) != 0,
 	       (data.flags & NFS_MOUNT_INTR) != 0,
 	       (data.flags & NFS_MOUNT_POSIX) != 0,
 	       (data.flags & NFS_MOUNT_NOCTO) != 0,
 	       (data.flags & NFS_MOUNT_NOAC) != 0);
 #if NFS_MOUNT_VERSION >= 2
-	printf("tcp = %d\n",
+	printf("tcp = %d ",
 	       (data.flags & NFS_MOUNT_TCP) != 0);
 #endif
+#if NFS_MOUNT_VERSION >= 4
+	printf("noacl = %d ", (data.flags & NFS_MOUNT_NOACL) != 0);
+#endif
 #if NFS_MOUNT_VERSION >= 5
-	printf("sec = %u\n", data.pseudoflavor);
+	printf("sec = %u ", data.pseudoflavor);
 #endif
+	printf("\n");
 #endif
 
 	data.version = nfs_mount_version;
--- util-linux-2.13-pre6/mount/nfs.5.noacl	2006-03-29 16:26:09.000000000 +0200
+++ util-linux-2.13-pre6/mount/nfs.5	2006-03-29 16:37:01.000000000 +0200
@@ -244,6 +244,9 @@
 to get reasonable results when both clients are actively
 writing to a common export on the server.
 .TP 1.5i
+.I noacl
+Disables Access Control List (ACL) processing.
+.TP 1.5i
 .I sec=mode
 Set the security flavor for this mount to "mode".
 The default setting is \f3sec=sys\f1, which uses local

util-linux-2.13-wide.patch:
 include/widechar.h  |    2 +-
 misc-utils/cal.c    |   14 +++++++-------
 text-utils/column.c |    6 +++---
 text-utils/more.c   |   12 ++++++------
 text-utils/pg.c     |   14 +++++++-------
 text-utils/ul.c     |    2 +-
 6 files changed, 25 insertions(+), 25 deletions(-)

--- NEW FILE util-linux-2.13-wide.patch ---
--- util-linux-2.13-pre7/include/widechar.h.kzak	2005-08-01 20:18:35.000000000 +0200
+++ util-linux-2.13-pre7/include/widechar.h	2006-03-29 19:38:56.000000000 +0200
@@ -2,7 +2,7 @@
 /* This file must be included last because the redefinition of wchar_t may
    cause conflicts when system include files were included after it. */
 
-#ifdef ENABLE_WIDECHAR
+#ifdef HAVE_WIDECHAR
 
 # include <wchar.h>
 # include <wctype.h>
--- util-linux-2.13-pre7/misc-utils/cal.c.kzak	2006-03-29 19:40:26.000000000 +0200
+++ util-linux-2.13-pre7/misc-utils/cal.c	2006-03-29 19:40:34.000000000 +0200
@@ -355,7 +355,7 @@
 	exit(0);
 }
 
-#ifndef ENABLE_WIDECHAR
+#ifndef HAVE_WIDECHAR
 static char *eos(char *s) {
 	while (s && *s)
 		s++;
@@ -366,14 +366,14 @@
 void headers_init(void)
 {
   int i, wd;
-#ifdef ENABLE_WIDECHAR
+#ifdef HAVE_WIDECHAR
   wchar_t day_headings_wc[22],j_day_headings_wc[29];
   char *cur_dh = day_headings, *cur_j_dh = j_day_headings;
 #endif
 
   strcpy(day_headings,"");
   strcpy(j_day_headings,"");
-#ifdef ENABLE_WIDECHAR
+#ifdef HAVE_WIDECHAR
   wcscpy(day_headings_wc,L"");
   wcscpy(j_day_headings_wc,L"");
 #endif
@@ -387,7 +387,7 @@
   for(i = 0 ; i < 7 ; i++ ) {
      ssize_t space_left;
      wd = (i + week1stday) % 7;
-#ifdef ENABLE_WIDECHAR
+#ifdef HAVE_WIDECHAR
      swprintf(day_headings_wc, sizeof(day_headings_wc)/sizeof(day_headings_wc[0]),
 		L"%1.2s ", weekday(wd));
      swprintf(j_day_headings_wc, sizeof(j_day_headings_wc)/sizeof(j_day_headings_wc[0]),
@@ -718,7 +718,7 @@
 void
 center_str(const char* src, char* dest, size_t dest_size, int width)
 {
-#ifdef ENABLE_WIDECHAR
+#ifdef HAVE_WIDECHAR
 	wchar_t str_wc[FMT_ST_CHARS];
 #endif
 	char str[FMT_ST_CHARS];
@@ -727,7 +727,7 @@
 
 	len = strlen(src);
 
-#ifdef ENABLE_WIDECHAR
+#ifdef HAVE_WIDECHAR
 	if (mbstowcs(str_wc, src, FMT_ST_CHARS) > 0) {
 		wide_char_enabled = 1;
 		len = wcswidth(str_wc, SIZE(str_wc));
@@ -736,7 +736,7 @@
 	if (len > width) {
 		str_to_print=str;
 		if (wide_char_enabled) {
-#ifdef ENABLE_WIDECHAR
+#ifdef HAVE_WIDECHAR
 			str_wc[width]=L'\0';
 			wcstombs(str, str_wc, SIZE(str));
 #endif
--- util-linux-2.13-pre7/text-utils/column.c.kzak	2006-03-29 19:41:20.000000000 +0200
+++ util-linux-2.13-pre7/text-utils/column.c	2006-03-29 19:41:25.000000000 +0200
@@ -52,7 +52,7 @@
 
 #include "widechar.h"
 
-#ifdef ENABLE_WIDECHAR
+#ifdef HAVE_WIDECHAR
 #define wcs_width(s) wcswidth(s,wcslen(s))
 static wchar_t *mbs_to_wcs(const char *);
 #else
@@ -312,7 +312,7 @@
 	}
 }
 
-#ifdef ENABLE_WIDECHAR
+#ifdef HAVE_WIDECHAR
 static wchar_t *mbs_to_wcs(const char *s)
 {
 	size_t n;
@@ -330,7 +330,7 @@
 }
 #endif
 
-#ifndef ENABLE_WIDECHAR
+#ifndef HAVE_WIDECHAR
 static char *mtsafe_strtok(char *str, const char *delim, char **ptr)
 {
 	if (str == NULL) {
--- util-linux-2.13-pre7/text-utils/pg.c.kzak	2006-03-29 19:41:52.000000000 +0200
+++ util-linux-2.13-pre7/text-utils/pg.c	2006-03-29 19:41:59.000000000 +0200
@@ -255,7 +255,7 @@
 	usage();
 }
 
-#ifdef ENABLE_WIDECHAR
+#ifdef HAVE_WIDECHAR
 /*
  * A mbstowcs()-alike function that transparently handles invalid sequences.
  */
@@ -402,7 +402,7 @@
 	return 0;
 }
 
-#ifdef ENABLE_WIDECHAR
+#ifdef HAVE_WIDECHAR
 /*
  * Return the last character that will fit on the line at col columns
  * in case MB_CUR_MAX > 1.
@@ -489,7 +489,7 @@
 	unsigned pos = 0;
 	char *t = s;
 
-#ifdef ENABLE_WIDECHAR
+#ifdef HAVE_WIDECHAR
 	if (MB_CUR_MAX > 1)
 		return endline_for_mb(col, s);
 #endif
@@ -776,7 +776,7 @@
 	cmd.count = getcount(cmd.cmdline);
 }
 
-#ifdef ENABLE_WIDECHAR
+#ifdef HAVE_WIDECHAR
 /*
  * Remove backspace formatting, for searches
  * in case MB_CUR_MAX > 1.
@@ -817,7 +817,7 @@
 {
 	char *p = s, *q;
 
-#ifdef ENABLE_WIDECHAR
+#ifdef HAVE_WIDECHAR
 	if (MB_CUR_MAX > 1)
 		return colb_for_mb(s);
 #endif
@@ -836,7 +836,7 @@
 	return s;
 }
 
-#ifdef ENABLE_WIDECHAR
+#ifdef HAVE_WIDECHAR
 /*
  * Convert nonprintable characters to spaces
  * in case MB_CUR_MAX > 1.
@@ -867,7 +867,7 @@
 static void
 makeprint(char *s, size_t l)
 {
-#ifdef ENABLE_WIDECHAR
+#ifdef HAVE_WIDECHAR
 	if (MB_CUR_MAX > 1)
 		return makeprint_for_mb(s, l);
 #endif
--- util-linux-2.13-pre7/text-utils/more.c.kzak	2006-03-29 19:41:01.000000000 +0200
+++ util-linux-2.13-pre7/text-utils/more.c	2006-03-29 19:41:08.000000000 +0200
@@ -782,7 +782,7 @@
     int	column;
     static int colflg;
 
-#ifdef ENABLE_WIDECHAR
+#ifdef HAVE_WIDECHAR
     int i;
     wchar_t wc;
     int wc_width;
@@ -805,7 +805,7 @@
 	c = Getc (f);
     }
     while (p < &Line[LINSIZ - 1]) {
-#ifdef ENABLE_WIDECHAR
+#ifdef HAVE_WIDECHAR
 	if (fold_opt && use_mbc_buffer_flag && MB_CUR_MAX > 1) {
 	    use_mbc_buffer_flag = 0;
 	    state_bak = state;
@@ -923,7 +923,7 @@
 	    *length = p - Line;
 	    return (column);
 	} else {
-#ifdef ENABLE_WIDECHAR
+#ifdef HAVE_WIDECHAR
 	    if (fold_opt && MB_CUR_MAX > 1) {
 		memset (mbc, '\0', MB_LEN_MAX);
 		mbc_pos = 0;
@@ -1054,7 +1054,7 @@
 		    my_putstring(state ? ULenter : ULexit);
 	    }
 	    if (c != ' ' || pstate == 0 || state != 0 || ulglitch == 0)
-#ifdef ENABLE_WIDECHAR
+#ifdef HAVE_WIDECHAR
 	    {
 		wchar_t wc;
 		size_t mblength;
@@ -1070,7 +1070,7 @@
 	    }
 #else
 	        putchar(c);
-#endif /* ENABLE_WIDECHAR */
+#endif /* HAVE_WIDECHAR */
 	    if (state && *chUL) {
 		putsout(chBS);
 		my_putstring(chUL);
@@ -1867,7 +1867,7 @@
 	}
 	else if (((cc_t) c == otty.c_cc[VERASE]) && !slash) {
 	    if (sp > buf) {
-#ifdef ENABLE_WIDECHAR
+#ifdef HAVE_WIDECHAR
 		if (MB_CUR_MAX > 1)
 		  {
 		    wchar_t wc;
--- util-linux-2.13-pre7/text-utils/ul.c.kzak	2006-03-29 19:42:09.000000000 +0200
+++ util-linux-2.13-pre7/text-utils/ul.c	2006-03-29 19:42:25.000000000 +0200
@@ -50,7 +50,7 @@
 
 #include "widechar.h"
 
-#ifdef ENABLE_WIDECHAR
+#ifdef HAVE_WIDECHAR
 static int put1wc(int c) /* Output an ASCII character as a wide character */
 {
   if (putwchar(c) == WEOF)


Index: .cvsignore
===================================================================
RCS file: /cvs/dist/rpms/util-linux/FC-5/.cvsignore,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- .cvsignore	25 Nov 2005 07:32:12 -0000	1.18
+++ .cvsignore	30 Mar 2006 20:04:10 -0000	1.19
@@ -1,2 +1,2 @@
 floppy-0.12.tar.gz
-util-linux-2.13-pre6.tar.bz2
+util-linux-2.13-pre7.tar.bz2


Index: sources
===================================================================
RCS file: /cvs/dist/rpms/util-linux/FC-5/sources,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- sources	25 Nov 2005 07:32:12 -0000	1.18
+++ sources	30 Mar 2006 20:04:10 -0000	1.19
@@ -1,2 +1,2 @@
 7d3ac81855e26687dada6a31d2677875  floppy-0.12.tar.gz
-1db1249029439e5e965c2c7178149616  util-linux-2.13-pre6.tar.bz2
+13cdf4b76533e8421dc49de188f85291  util-linux-2.13-pre7.tar.bz2

util-linux-2.13-mount-twiceloop.patch:
 fstab.c |   21 +++++++++++++++++++++
 fstab.h |    1 +
 mount.c |    9 +++++++--
 3 files changed, 29 insertions(+), 2 deletions(-)

Index: util-linux-2.13-mount-twiceloop.patch
===================================================================
RCS file: /cvs/dist/rpms/util-linux/FC-5/util-linux-2.13-mount-twiceloop.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- util-linux-2.13-mount-twiceloop.patch	3 Jan 2006 17:50:20 -0000	1.1
+++ util-linux-2.13-mount-twiceloop.patch	30 Mar 2006 20:04:10 -0000	1.2
@@ -1,35 +1,15 @@
---- util-linux-2.13-pre6/mount/fstab.c.twiceloop	2006-01-03 18:35:05.000000000 +0100
-+++ util-linux-2.13-pre6/mount/fstab.c	2006-01-03 18:37:44.000000000 +0100
-@@ -254,6 +254,27 @@
- 	return (ct == 1);
- }
+--- util-linux-2.13-pre6/mount/fstab.h.twiceloop	2006-03-29 16:20:37.000000000 +0200
++++ util-linux-2.13-pre6/mount/fstab.h	2006-03-29 16:21:01.000000000 +0200
+@@ -2,6 +2,7 @@
+ int mtab_is_writable(void);
+ int mtab_does_not_exist(void);
+ int is_mounted_once(const char *name);
++int is_mounted_same_loopfile(const char *loopfile, const char *dir);
  
-+/*
-+ * Given the loop file LOOPFILE, and the mount point DIR, check that
-+ * same file is already mounted on same directory 
-+ *
-+ * Don't forget there's 
-+ *   /path/loopfile /path/dir loop=/dev/loop0
-+ * in mtab for loop devices.
-+ */
-+int
-+is_mounted_same_loopfile(const char *loopfile, const char *dir) {
-+	struct mntentchn *mc, *mc0;
-+	int ct = 0;
-+
-+	mc0 = mtab_head();
-+	for (mc = mc0->prev; mc && mc != mc0; mc = mc->prev)
-+		if (streq(mc->m.mnt_fsname, loopfile) && 
-+		    streq(mc->m.mnt_dir, dir))
-+			ct++;
-+	return (ct == 1);
-+}
-+
- /* Given the name FILE, try to find the option "loop=FILE" in mtab.  */ 
- struct mntentchn *
- getmntoptfile (const char *file) {
---- util-linux-2.13-pre6/mount/mount.c.twiceloop	2006-01-03 18:35:06.000000000 +0100
-+++ util-linux-2.13-pre6/mount/mount.c	2006-01-03 18:37:44.000000000 +0100
+ struct mntentchn {
+ 	struct mntentchn *nxt, *prev;
+--- util-linux-2.13-pre6/mount/mount.c.twiceloop	2006-03-29 16:16:20.000000000 +0200
++++ util-linux-2.13-pre6/mount/mount.c	2006-03-29 16:16:21.000000000 +0200
 @@ -671,7 +671,7 @@
  
  static int
@@ -60,3 +40,33 @@
        if (res)
  	  goto out;
    }
+--- util-linux-2.13-pre6/mount/fstab.c.twiceloop	2006-03-29 16:16:20.000000000 +0200
++++ util-linux-2.13-pre6/mount/fstab.c	2006-03-29 16:16:21.000000000 +0200
+@@ -254,6 +254,27 @@
+ 	return (ct == 1);
+ }
+ 
++/*
++ * Given the loop file LOOPFILE, and the mount point DIR, check that
++ * same file is already mounted on same directory 
++ *
++ * Don't forget there's 
++ *   /path/loopfile /path/dir loop=/dev/loop0
++ * in mtab for loop devices.
++ */
++int
++is_mounted_same_loopfile(const char *loopfile, const char *dir) {
++	struct mntentchn *mc, *mc0;
++	int ct = 0;
++
++	mc0 = mtab_head();
++	for (mc = mc0->prev; mc && mc != mc0; mc = mc->prev)
++		if (streq(mc->m.mnt_fsname, loopfile) && 
++		    streq(mc->m.mnt_dir, dir))
++			ct++;
++	return (ct == 1);
++}
++
+ /* Given the name FILE, try to find the option "loop=FILE" in mtab.  */ 
+ struct mntentchn *
+ getmntoptfile (const char *file) {

util-linux-2.13-nfsv4.patch:
 Makefile.am  |    4 
 mount.8      |   75 +++
 mount.c      |   10 
 nfs.5        |  219 +++++++++
 nfs4_mount.h |   82 +++
 nfs4mount.c  |  433 ++++++++++++++++++
 nfs_mount4.h |   22 
 nfsmount.c   | 1361 +++++++++++++++++++++++++++++++++++++++--------------------
 sundries.h   |    4 
 umount.c     |    7 
 10 files changed, 1757 insertions(+), 460 deletions(-)

View full diff with command:
/usr/bin/cvs -f diff  -kk -u -N -r 1.3 -r 1.4 util-linux-2.13-nfsv4.patch
Index: util-linux-2.13-nfsv4.patch
===================================================================
RCS file: /cvs/dist/rpms/util-linux/FC-5/util-linux-2.13-nfsv4.patch,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- util-linux-2.13-nfsv4.patch	20 Jan 2006 03:19:45 -0000	1.3
+++ util-linux-2.13-nfsv4.patch	30 Mar 2006 20:04:10 -0000	1.4
@@ -1,1588 +1,615 @@
---- util-linux-2.13-pre2/mount/mount.8.nfsv4	2005-08-02 19:34:16.000000000 +0200
-+++ util-linux-2.13-pre2/mount/mount.8	2005-08-17 10:44:06.000000000 +0200
-@@ -384,6 +384,7 @@
- .IR msdos ,
- .IR ncpfs ,
- .IR nfs ,
-+.IR nfs4 ,
- .IR ntfs ,
- .IR proc ,
- .IR qnx4 ,
-@@ -421,7 +422,7 @@
- program has to do is issue a simple
- .IR mount (2)
- system call, and no detailed knowledge of the filesystem type is required.
--For a few types however (like nfs, smbfs, ncpfs) ad hoc code is
-+For a few types however (like nfs, nfs4, smbfs, ncpfs) ad hoc code is
- necessary. The nfs ad hoc code is built in, but smbfs and ncpfs
- have a separate mount program. In order to make it possible to
- treat all types in a uniform way, mount will execute the program
-@@ -449,9 +450,10 @@
- All of the filesystem types listed there will be tried,
- except for those that are labeled "nodev" (e.g.,
- .IR devpts ,
--.I proc
-+.IR proc ,
-+.IR nfs ,
- and
--.IR nfs ).
-+.IR nfs4 ).
- If
- .I /etc/filesystems
- ends in a line with a single * only, mount will read
-@@ -1373,6 +1375,73 @@
- .B nolock
- Do not use locking. Do not start lockd.
+--- util-linux-2.13-pre7/mount/nfsmount.c.nfsv4	2005-08-01 00:18:17.000000000 +0200
++++ util-linux-2.13-pre7/mount/nfsmount.c	2006-03-29 18:00:57.000000000 +0200
+@@ -32,6 +32,7 @@
+  * nfsmount.c,v 1.1.1.1 1993/11/18 08:40:51 jrs Exp
+  */
  
-+.SH "Mount options for nfs4"
-+Instead of a textual option string, parsed by the kernel, the
-+.I nfs4
-+file system expects a binary argument of type
-+.IR "struct nfs4_mount_data" .
-+The program
-+.B mount
-+itself parses the following options of the form `tag=value',
-+and puts them in the structure mentioned:
-+.BI rsize= n,
-+.BI wsize= n,
-+.BI timeo= n,
-+.BI retrans= n,
-+.BI acregmin= n,
-+.BI acregmax= n,
-+.BI acdirmin= n,
-+.BI acdirmax= n,
-+.BI actimeo= n,
-+.BI retry= n,
-+.BI port= n,
-+.BI proto= n,
-+.BI clientaddr= n,
-+.BI sec= n.
-+The option
-+.BI addr= n
-+is accepted but ignored.
-+Also the following Boolean options, possibly preceded by
-+.B no
-+are recognized:
-+.BR bg ,
-+.BR fg ,
-+.BR soft ,
-+.BR hard ,
-+.BR intr ,
-+.BR cto ,
-+.BR ac ,
-+For details, see
-+.BR nfs (5).
++#include <ctype.h>
+ #include <unistd.h>
+ #include <stdio.h>
+ #include <string.h>
+@@ -70,11 +71,121 @@
+ #define NFS_FHSIZE 32
+ #endif
+ 
++#define MNT_SENDBUFSIZE ((u_int)2048)
++#define MNT_RECVBUFSIZE ((u_int)1024)
 +
-+Especially useful options include
-+.TP
-+.B rsize=32768,wsize=32768
-+This will make your NFS connection faster than with the default
-+buffer size of 4096.
-+.TP
-+.B hard
-+The program accessing a file on a NFS mounted file system will hang
-+when the server crashes. The process cannot be interrupted or
-+killed unless you also specify
-+.BR intr .
-+When the NFS server is back online the program will continue undisturbed
-+from where it was. This is probably what you want.
-+.TP
-+.B soft
-+This option allows the kernel to time out if the NFS server is not
-+responding for some time. The time can be
-+specified with
-+.BR timeo=time .
-+This timeout value is expressed in tenths of a second.
-+The
-+.BR soft
-+option might be useful if your NFS server sometimes doesn't respond
-+or will be rebooted while some process tries to get a file from the server.
-+Avoid using this option with
-+.BR proto=udp
-+or with a short timeout.
+ static char *nfs_strerror(int stat);
+ 
+ #define MAKE_VERSION(p,q,r)	(65536*(p) + 256*(q) + (r))
+ 
+ #define MAX_NFSPROT ((nfs_mount_version >= 4) ? 3 : 2)
++#define MAX_MNTPROT ((nfs_mount_version >= 4) ? 3 : 2)
++#define HAVE_RELIABLE_TCP (nfs_mount_version >= 4)
 +
- .SH "Mount options for ntfs"
- .TP
- .BI iocharset= name
---- util-linux-2.13-pre2/mount/nfs.5.nfsv4	2002-06-27 23:31:33.000000000 +0200
-+++ util-linux-2.13-pre2/mount/nfs.5	2005-08-17 10:44:06.000000000 +0200
-@@ -3,7 +3,7 @@
- .\" patches. "
- .TH NFS 5 "20 November 1993" "Linux 0.99" "Linux Programmer's Manual"
- .SH NAME
--nfs \- nfs fstab format and options
-+nfs \- nfs and nfs4 fstab format and options
- .SH SYNOPSIS
- .B /etc/fstab
- .SH DESCRIPTION
-@@ -17,14 +17,51 @@
- and the NFS specific options that control
- the way the filesystem is mounted.
- .P
--Here is an example from an \fI/etc/fstab\fP file from an NFS mount.
-+Three different versions of the NFS protocol are
-+supported by the Linux NFS client:
-+NFS version 2, NFS version 3, and NFS version 4.
-+To mount via NFS version 2, use the
-+.BR nfs
-+file system type and specify
-+.BR nfsvers=2 .
-+Version 2 is the default protocol version for the
-+.BR nfs
-+file system type when
-+.BR nfsvers=
-+is not specified on the mount command.
-+To mount via NFS version 3, use the
-+.BR nfs
-+file system type and specify
-+.BR nfsvers=3 .
-+To mount via NFS version 4, use the
-+.BR nfs4
-+file system type.
-+The
-+.BR nfsvers=
-+keyword is not supported for the
-+.BR nfs4
-+file system type.
-+.P
-+These file system types share similar mount options;
-+the differences are listed below.
-+.P
-+Here is an example from an \fI/etc/fstab\fP file for an NFSv2 mount
-+over UDP.
- .sp
- .nf
- .ta 2.5i +0.75i +0.75i +1.0i
- server:/usr/local/pub	/pub	nfs	rsize=8192,wsize=8192,timeo=14,intr
- .fi
-+.P
-+Here is an example for an NFSv4 mount over TCP using Kerberos
-+5 mutual authentication.
-+.sp
-+.nf
-+.ta 2.5i +0.75i +0.75i +1.0i
-+server:/usr/local/pub	/pub	nfs4	proto=tcp,sec=krb5,hard,intr
-+.fi
- .DT
--.SS Options
-+.SS Options for the nfs file system type
- .TP 1.5i
[...3058 lines suppressed...]
+--- util-linux-2.13-pre7/mount/umount.c.nfsv4	2006-03-29 18:00:57.000000000 +0200
++++ util-linux-2.13-pre7/mount/umount.c	2006-03-29 18:00:57.000000000 +0200
+@@ -88,6 +88,9 @@
+ /* True if ruid != euid.  */
+ int suid = 0;
  
--	/* clean up */
-+ out_ok:
-+	/* Ensure we have enough padding for the following strcat()s */
-+	if (strlen(new_opts) + strlen(s) + 30 >= sizeof(new_opts)) {
-+		fprintf(stderr, _("mount: "
-+				  "excessively long option argument\n"));
-+		goto fail;
-+	}
++/* Needed by nfs4mount.c */
++int sloppy = 0;
 +
-+	sprintf(cbuf, "addr=%s", s);
-+	strcat(new_opts, cbuf);
- 
--	auth_destroy(mclient->cl_auth);
--	clnt_destroy(mclient);
--	close(msock);
-+	*extra_opts = xstrdup(new_opts);
+ /*
+  * check_special_umountprog()
+  *	If there is a special umount program for this type, exec it.
+@@ -144,6 +147,7 @@
  	return 0;
+ }
  
- 	/* abort */
--
-  fail:
--	if (msock != -1) {
--		if (mclient) {
--			auth_destroy(mclient->cl_auth);
--			clnt_destroy(mclient);
--		}
--		close(msock);
--	}
- 	if (fsock != -1)
- 		close(fsock);
- 	return retval;
--}	
-+}
-+
-+static inline enum clnt_stat
-+nfs3_umount(dirpath *argp, CLIENT *clnt)
-+{
-+	static char clnt_res;
-+	memset (&clnt_res, 0, sizeof(clnt_res));
-+	return clnt_call(clnt, MOUNTPROC_UMNT,
-+			 (xdrproc_t) xdr_dirpath, (caddr_t)argp,
-+			 (xdrproc_t) xdr_void, (caddr_t) &clnt_res,
-+			 TIMEOUT);
-+}
-+
-+static inline enum clnt_stat
-+nfs2_umount(dirpath *argp, CLIENT *clnt)
-+{
-+	static char clnt_res;
-+	memset (&clnt_res, 0, sizeof(clnt_res));
-+	return clnt_call(clnt, MOUNTPROC_UMNT,
-+			 (xdrproc_t) xdr_dirpath, (caddr_t)argp,
-+			 (xdrproc_t) xdr_void, (caddr_t) &clnt_res,
-+			 TIMEOUT);
-+}
-+
-+static int
-+nfs_call_umount(clnt_addr_t *mnt_server, dirpath *argp)
-+{
-+	CLIENT *clnt;
-+	enum clnt_stat res = 0;
-+	int msock;
-+
-+	clnt = mnt_openclnt(mnt_server, &msock, 1);
-+	if (!clnt)
-+		goto out_bad;
-+	switch (mnt_server->pmap.pm_vers) {
-+	case 3:
-+		res = nfs3_umount(argp, clnt);
-+		break;
-+	case 2:
-+	case 1:
-+		res = nfs2_umount(argp, clnt);
-+		break;
-+	default:
-+		break;
-+	}
-+	mnt_closeclnt(clnt, msock);
-+	if (res == RPC_SUCCESS)
-+		return 1;
-+ out_bad:
-+	return 0;
-+}
-+
-+int
-+nfsumount(const char *spec, const char *opts)
-+{
-+	char *hostname;
-+	char *dirname;
-+	clnt_addr_t mnt_server = { &hostname, };
-+	struct pmap *pmap = &mnt_server.pmap;
-+	char *p;
-+
-+	nfs_mount_version = find_kernel_nfs_mount_version();
-+	if (spec == NULL || (p = strchr(spec,':')) == NULL)
-+		goto out_bad;
-+	hostname = xstrndup(spec, p-spec);
-+	dirname = xstrdup(p+1);
-+#ifdef NFS_MOUNT_DEBUG
-+	printf(_("host: %s, directory: %s\n"), hostname, dirname);
++#if 0
+ static int xdr_dir(XDR *xdrsp, char *dirp)
+ {
+       return (xdr_string(xdrsp, &dirp, MNTPATHLEN));
+@@ -235,6 +239,7 @@
+ 
+       return 0;
+ }
 +#endif
-+
-+	if (opts && (p = strstr(opts, "addr="))) {
-+		char *q;
-+
-+		free(hostname);
-+		p += 5;
-+		q = p;
-+		while (*q && *q != ',') q++;
-+		hostname = xstrndup(p,q-p);
-+	}
-+
-+	if (opts && (p = strstr(opts, "mounthost="))) {
-+		char *q;
-+
-+		free(hostname);
-+		p += 10;
-+		q = p;
-+		while (*q && *q != ',') q++;
-+		hostname = xstrndup(p,q-p);
-+	}
-+
-+	pmap->pm_prog = MOUNTPROG;
-+	pmap->pm_vers = MOUNTVERS;
-+	if (opts && (p = strstr(opts, "mountprog=")) && isdigit(*(p+10)))
-+		pmap->pm_prog = atoi(p+10);
-+	if (opts && (p = strstr(opts, "mountport=")) && isdigit(*(p+10)))
-+		pmap->pm_port = atoi(p+10);
-+	if (opts && (p = strstr(opts, "nfsvers=")) && isdigit(*(p+8)))
-+		pmap->pm_vers = nfsvers_to_mnt(atoi(p+8));
-+	if (opts && (p = strstr(opts, "mountvers=")) && isdigit(*(p+10)))
-+		pmap->pm_vers = atoi(p+10);
-+
-+	if (!nfs_gethostbyname(hostname, &mnt_server.saddr))
-+		goto out_bad;
-+	if (!probe_mntport(&mnt_server))
-+		goto out_bad;
-+	return nfs_call_umount(&mnt_server, &dirname);
-+ out_bad:
-+	return 0;
-+}
  
- /*
-  * We need to translate between nfs status return values and
---- util-linux-2.13-pre2/mount/nfs_mount4.h.nfsv4	2000-10-14 16:20:51.000000000 +0200
-+++ util-linux-2.13-pre2/mount/nfs_mount4.h	2005-08-17 10:44:06.000000000 +0200
+ /* complain about a failed umount */
+ static void complain(int err, const char *dev) {
+@@ -292,7 +297,7 @@
+ 	/* Ignore any RPC errors, so that you can umount the filesystem
+ 	   if the server is down.  */
+ 	if (strcasecmp(type, "nfs") == 0)
+-		nfs_umount_rpc_call(spec, opts);
++		nfsumount(spec, opts);
+  
+ 	umnt_err = umnt_err2 = 0;
+ 	if (lazy) {
+--- util-linux-2.13-pre7/mount/nfs_mount4.h.nfsv4	2000-10-14 16:20:51.000000000 +0200
++++ util-linux-2.13-pre7/mount/nfs_mount4.h	2006-03-29 18:00:57.000000000 +0200
 @@ -8,7 +8,9 @@
   * so it is easiest to ignore the kernel altogether (at compile time).
   */
@@ -2587,16 +2600,3 @@
 +#define AUTH_GSS_SPKMP		390011
 +#endif
  
---- util-linux-2.13-pre2/mount/sundries.h.nfsv4	2005-07-29 01:07:31.000000000 +0200
-+++ util-linux-2.13-pre2/mount/sundries.h	2005-08-17 10:44:06.000000000 +0200
-@@ -37,6 +37,10 @@
- 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);
-+int nfsumount(const char *spec, const char *opts);
-+
- /* exit status - bits below are ORed */
- #define EX_USAGE	1	/* incorrect invocation or permission */
- #define EX_SYSERR	2	/* out of memory, cannot fork, ... */


Index: util-linux.spec
===================================================================
RCS file: /cvs/dist/rpms/util-linux/FC-5/util-linux.spec,v
retrieving revision 1.112
retrieving revision 1.113
diff -u -r1.112 -r1.113
--- util-linux.spec	9 Mar 2006 22:51:31 -0000	1.112
+++ util-linux.spec	30 Mar 2006 20:04:10 -0000	1.113
@@ -25,7 +25,7 @@
 Summary: A collection of basic system utilities.
 Name: util-linux
 Version: 2.13
-Release: 0.20
+Release: 0.20.1
 License: distributable
 Group: System Environment/Base
 
@@ -43,8 +43,8 @@
 BuildRequires: audit-libs-devel >= 1.0.6
 
 ### Sources
-# TODO [stable]: s/2.13-pre6/%{version}/
-Source0: ftp://ftp.win.tue.nl/pub/linux-local/utils/util-linux/util-linux-2.13-pre6.tar.bz2
+# TODO [stable]: s/2.13-pre7/%{version}/
+Source0: ftp://ftp.win.tue.nl/pub/linux-local/utils/util-linux/util-linux-2.13-pre7.tar.bz2
 Source1: util-linux-selinux.pamd
 Source2: util-linux-chsh-chfn.pamd
 Source8: nologin.c
@@ -160,8 +160,6 @@
 Patch217: util-linux-2.13-cramfs-maxentries.patch
 # [also 171337] - mkfs.cramfs doesn't work correctly with empty files
 Patch218: util-linux-2.13-cramfs-zerofiles.patch
-# 172203 - mount man page in RHEL4 lacks any info on cifs mount options
-Patch219: util-linux-2.12a-mount-man-cifs.patch
 # better wide chars usage in the cal command (based on the old 'moremisc' patch)
 Patch220: util-linux-2.12p-cal-wide.patch
 # 176441: col truncates data
@@ -180,6 +178,18 @@
 Patch227: util-linux-2.13-umount-sysfs.patch
 # 182553 - fdisk -l inside xen guest shows no disks
 Patch228: util-linux-2.13-fdisk-xvd.patch
+# 187014 - umount segfaults for normal user
+Patch229: util-linux-2.13-mount-uuid.patch
+# 184410 - RHEL3 and RHEL4 mount supports 'noacl', FC5 mount command does not
+Patch230: util-linux-2.13-nfs-noacl.patch
+# 183446 - cal not UTF-8-aware
+Patch231: util-linux-2.13-wide.patch
+# 186915 - mount does not translate SELIinux context options though libselinux
+# 185500 - Need man page entry for -o context= mount option
+Patch232: util-linux-2.13-mount-context.patch
+# 152579 - missing info about /etc/mtab and /proc/mounts mismatch
+# 183890 - missing info about possible ioctl() and fcntl() problems on NFS filesystem
+Patch233: util-linux-2.13-mount-man-bugs.patch
 
 # When adding patches, please make sure that it is easy to find out what bug # the 
 # patch fixes.
@@ -193,7 +203,7 @@
 
 %prep
 # TODO [stable]: remove -n
-%setup -q -a 11 -n util-linux-2.13-pre6
+%setup -q -a 11 -n util-linux-2.13-pre7
 
 %patch1 -p1
 %patch70 -p1
@@ -250,16 +260,20 @@
 %patch216 -p1
 %patch217 -p1
 %patch218 -p1
-%patch219 -p1
 %patch220 -p1
 %patch221 -p1
 %patch222 -p1
 %patch223 -p1
-%patch224 -p1 -b .selinux
+%patch224 -p1
 %patch225 -p1
 %patch226 -p1
 %patch227 -p1
 %patch228 -p1
+%patch229 -p1
+%patch230 -p1
+%patch231 -p1
+%patch232 -p1
+%patch233 -p1
 
 %build
 unset LINGUAS || :
@@ -644,6 +658,16 @@
 /sbin/losetup
 
 %changelog
+* Thu Mar 30 2006 Karel Zak <kzak at redhat.com>  2.13-0.20.1
+- sync with upstream 2.13-pre7 release
+- fix #187014 - umount segfaults for normal user
+- fix #184410 - RHEL3 and RHEL4 mount supports 'noacl', FC5 mount command does not
+- fix #183446 - cal not UTF-8-aware
+- fix #186915 - mount does not translate SELIinux context options though libselinux
+- fix #185500 - need man page entry for -o context= mount option
+- fix #152579 - missing info about /etc/mtab and /proc/mounts mismatch
+- fix #183890 - missing info about possible ioctl() and fcntl() problems on NFS filesystem
+
 * Wed Mar  9 2006 Jesse Keating <jkeating at redhat.com> 2.13-0.20
 - Better calling of restorecon as suggested by Bill Nottingham
 - prereq restorecon to avoid ordering issues




More information about the fedora-cvs-commits mailing list