rpms/util-linux/devel util-linux-2.13-fdisk-b-4096.patch, NONE, 1.1 util-linux-2.13-losetup-rdonly.patch, NONE, 1.1 util-linux-2.13-mkdir_p.patch, NONE, 1.1 util-linux-2.13-mount-comment.patch, NONE, 1.1 util-linux-2.13-raw-raw0.patch, NONE, 1.1 util-linux-2.13-schedutils-SCHED_BATCH.patch, NONE, 1.1 util-linux-60-raw.rules, NONE, 1.1 .cvsignore, 1.18, 1.19 sources, 1.18, 1.19 util-linux-2.12a-mount-man-cifs.patch, 1.1, 1.2 util-linux-2.13-mount-context.patch, 1.2, 1.3 util-linux-2.13-mount-man-nfs4.patch, 1.1, 1.2 util-linux.spec, 1.145, 1.146
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Thu Dec 14 12:42:04 UTC 2006
Author: kzak
Update of /cvs/dist/rpms/util-linux/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv7944
Modified Files:
.cvsignore sources util-linux-2.12a-mount-man-cifs.patch
util-linux-2.13-mount-context.patch
util-linux-2.13-mount-man-nfs4.patch util-linux.spec
Added Files:
util-linux-2.13-fdisk-b-4096.patch
util-linux-2.13-losetup-rdonly.patch
util-linux-2.13-mkdir_p.patch
util-linux-2.13-mount-comment.patch
util-linux-2.13-raw-raw0.patch
util-linux-2.13-schedutils-SCHED_BATCH.patch
util-linux-60-raw.rules
Log Message:
* Wed Dec 13 2006 Karel Zak <kzak at redhat.com> 2.13-0.45
- use ncurses only
- fix #218915 - fdisk -b 4K
- upgrade to -pre7 release
- fix building problem with raw0 patch
- fix #217186 - /bin/sh: @MKINSTALLDIRS@: No such file or directory
(port po/Makefile.in.in from gettext-0.16)
- sync with FC6 and RHEL5:
- fix #216489 - SCHED_BATCH option missing in chrt
- fix #216712 - issues with raw device support ("raw0" is wrong device name)
- fix #216760 - mount with context or fscontext option fails
(temporarily disabled the support for additional contexts -- not supported by kernel yet)
- fix #211827 - Can't mount with additional contexts
- fix #213127 - mount --make-unbindable does not work
- fix #211749 - add -r option to losetup to create a read-only loop
- Resolves: rhbz#218915 rhbz#217186 rhbz#216489 rhbz#216712 rhbz#216760 rhbz#211827 rhbz#213127 rhbz#211749
util-linux-2.13-fdisk-b-4096.patch:
fdisk.c | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
--- NEW FILE util-linux-2.13-fdisk-b-4096.patch ---
The "-b" option allows to manually define size of sector size. We need to support
4096 bytes for really huge disks. [kzak 12/14/2006]
--- util-linux-2.13-pre7/fdisk/fdisk.c.kzak 2006-12-14 10:21:57.000000000 +0100
+++ util-linux-2.13-pre7/fdisk/fdisk.c 2006-12-14 10:22:21.000000000 +0100
@@ -2491,7 +2491,7 @@
*/
sector_size = atoi(optarg);
if (sector_size != 512 && sector_size != 1024 &&
- sector_size != 2048)
+ sector_size != 2048 && sector_size != 4096)
fatal(usage);
sector_offset = 2;
user_set_sector_size = 1;
util-linux-2.13-losetup-rdonly.patch:
lomount.c | 8 ++++++--
losetup.8 | 3 +++
2 files changed, 9 insertions(+), 2 deletions(-)
--- NEW FILE util-linux-2.13-losetup-rdonly.patch ---
--- util-linux-2.13-pre6/mount/lomount.c.ronly 2006-11-01 14:14:14.000000000 +0100
+++ util-linux-2.13-pre6/mount/lomount.c 2006-11-01 15:01:52.000000000 +0100
@@ -444,7 +444,8 @@
" %1$s -d loop_device # delete\n"
" %1$s -f # find unused\n"
" %1$s -a # list all used\n"
- " %1$s [-e encryption] [-o offset] {-f|loop_device} file # setup\n"),
+ " %1$s -r # read-only loop\n"
+ " %1$s [-e encryption] [-o offset] [-r] {-f|loop_device} file # setup\n"),
progname);
exit(1);
}
@@ -497,11 +498,14 @@
if ((p = strrchr(progname, '/')) != NULL)
progname = p+1;
- while ((c = getopt(argc, argv, "ade:E:fo:p:v")) != -1) {
+ while ((c = getopt(argc, argv, "ade:E:fo:p:vr")) != -1) {
switch (c) {
case 'a':
all = 1;
break;
+ case 'r':
+ ro = 1;
+ break;
case 'd':
delete = 1;
break;
--- util-linux-2.13-pre6/mount/losetup.8.ronly 2006-11-01 14:49:14.000000000 +0100
+++ util-linux-2.13-pre6/mount/losetup.8 2006-11-01 15:06:21.000000000 +0100
@@ -35,6 +35,7 @@
.IR offset ]
.RB [ \-p
.IR pfd ]
+.RB [ \-r ]
.in +8
.RB { \-f | \fIloop_device\fP }
.I file
@@ -87,6 +88,8 @@
Read the passphrase from file descriptor with number
.I num
instead of from the terminal.
+.IP \fB\-r\fP
+Setup read-only loop device.
.SH RETURN VALUE
.B losetup
returns 0 on success, nonzero on failure. When
util-linux-2.13-mkdir_p.patch:
Makefile.in.in | 53 ++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 36 insertions(+), 17 deletions(-)
--- NEW FILE util-linux-2.13-mkdir_p.patch ---
--- util-linux-2.13-pre6/po/Makefile.in.in.mkdir_p 2005-10-14 22:22:14.000000000 +0200
+++ util-linux-2.13-pre6/po/Makefile.in.in 2006-10-24 22:48:30.000000000 +0200
@@ -1,5 +1,5 @@
# Makefile for PO directory in any package using GNU gettext.
-# Copyright (C) 1995-1997, 2000-2005 by Ulrich Drepper <drepper at gnu.ai.mit.edu>
+# Copyright (C) 1995-1997, 2000-2006 by Ulrich Drepper <drepper at gnu.ai.mit.edu>
#
# This file can be copied and used freely without restrictions. It can
# be used in projects which are not available under the GNU General Public
@@ -8,7 +8,7 @@
# Please note that the actual code of GNU gettext is covered by the GNU
# General Public License and is *not* in the public domain.
#
-# Origin: gettext-0.14.4
+# Origin: gettext-0.16
PACKAGE = @PACKAGE@
VERSION = @VERSION@
@@ -23,18 +23,38 @@
prefix = @prefix@
exec_prefix = @exec_prefix@
-datadir = $(prefix)/usr/share
-localedir = $(datadir)/locale
+datarootdir = @datarootdir@
+datadir = @datadir@
+localedir = @localedir@
gettextsrcdir = $(datadir)/gettext/po
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-mkinstalldirs = $(SHELL) $(MKINSTALLDIRS)
-GMSGFMT = @GMSGFMT@
-MSGFMT = @MSGFMT@
-XGETTEXT = @XGETTEXT@
+# We use $(mkdir_p).
+# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
+# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
+# @install_sh@ does not start with $(SHELL), so we add it.
+# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
+# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
+# versions, $(mkinstalldirs) and $(install_sh) are unused.
+mkinstalldirs = $(SHELL) @install_sh@ -d
+install_sh = $(SHELL) @install_sh@
+MKDIR_P = @MKDIR_P@
+mkdir_p = @mkdir_p@
+
+GMSGFMT_ = @GMSGFMT@
+GMSGFMT_no = @GMSGFMT@
+GMSGFMT_yes = @GMSGFMT_015@
+GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
+MSGFMT_ = @MSGFMT@
+MSGFMT_no = @MSGFMT@
+MSGFMT_yes = @MSGFMT_015@
+MSGFMT = $(MSGFMT_$(USE_MSGCTXT))
+XGETTEXT_ = @XGETTEXT@
+XGETTEXT_no = @XGETTEXT@
+XGETTEXT_yes = @XGETTEXT_015@
+XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
MSGMERGE = msgmerge
MSGMERGE_UPDATE = @MSGMERGE@ --update
MSGINIT = msginit
@@ -158,7 +178,7 @@
install-exec:
install-data: install-data- at USE_NLS@
if test "$(PACKAGE)" = "gettext-tools"; then \
- $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
+ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
for file in $(DISTFILES.common) Makevars.template; do \
$(INSTALL_DATA) $(srcdir)/$$file \
$(DESTDIR)$(gettextsrcdir)/$$file; \
@@ -171,13 +191,13 @@
fi
install-data-no: all
install-data-yes: all
- $(mkinstalldirs) $(DESTDIR)$(datadir)
+ $(mkdir_p) $(DESTDIR)$(datadir)
@catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
dir=$(localedir)/$$lang/LC_MESSAGES; \
- $(mkinstalldirs) $(DESTDIR)$$dir; \
+ $(mkdir_p) $(DESTDIR)$$dir; \
if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
$(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
@@ -217,19 +237,19 @@
installdirs-exec:
installdirs-data: installdirs-data- at USE_NLS@
if test "$(PACKAGE)" = "gettext-tools"; then \
- $(mkinstalldirs) $(DESTDIR)$(gettextsrcdir); \
+ $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
else \
: ; \
fi
installdirs-data-no:
installdirs-data-yes:
- $(mkinstalldirs) $(DESTDIR)$(datadir)
+ $(mkdir_p) $(DESTDIR)$(datadir)
@catalogs='$(CATALOGS)'; \
for cat in $$catalogs; do \
cat=`basename $$cat`; \
lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
dir=$(localedir)/$$lang/LC_MESSAGES; \
- $(mkinstalldirs) $(DESTDIR)$$dir; \
+ $(mkdir_p) $(DESTDIR)$$dir; \
for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
if test -n "$$lc"; then \
if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
@@ -374,8 +394,7 @@
Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
cd $(top_builddir) \
- && CONFIG_FILES=$(subdir)/$@.in CONFIG_HEADERS= \
- $(SHELL) ./config.status
+ && $(SHELL) ./config.status $(subdir)/$@.in po-directories
force:
util-linux-2.13-mount-comment.patch:
mount.c | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
--- NEW FILE util-linux-2.13-mount-comment.patch ---
The original MS_COMMENT is in conflict with MS_UNBINDABLE.
--- util-linux-2.13-pre6/mount/mount.c.comment 2006-11-01 13:31:45.000000000 +0100
+++ util-linux-2.13-pre6/mount/mount.c 2006-11-01 13:31:38.000000000 +0100
@@ -106,7 +106,7 @@
#define MS_OWNER 0x10000000
#define MS_GROUP 0x08000000
#define MS_PAMCONSOLE 0x04000000
-#define MS_COMMENT 0x00020000
+#define MS_COMMENT 0x02000000
#define MS_LOOP 0x00010000
util-linux-2.13-raw-raw0.patch:
raw.c | 27 ++++++++++++++++-----------
1 files changed, 16 insertions(+), 11 deletions(-)
--- NEW FILE util-linux-2.13-raw-raw0.patch ---
--- util-linux-2.13-pre6/disk-utils/raw.c.kzak 2006-11-21 21:56:40.000000000 +0100
+++ util-linux-2.13-pre6/disk-utils/raw.c 2006-11-21 22:35:11.000000000 +0100
@@ -66,6 +66,7 @@
int err;
int block_major, block_minor;
int i;
+ int rc;
struct stat statbuf;
@@ -108,19 +109,23 @@
usage(1);
raw_name = argv[optind++];
+ rc = sscanf(raw_name, RAWDEVDIR "raw%d", &raw_minor);
+ if (rc != 1) {
+ fprintf (stderr,
+ "Unsupported raw device name '%s' (format is " RAWDEVDIR "rawN))\n",
+ raw_name);
+ exit(2);
+ }
+ if (raw_minor == 0) {
+ fprintf (stderr,
+ "Unsupported raw device name '%s' (minor number cannot be zero)\n",
+ raw_name);
+ exit(2);
+ }
+
err = stat(raw_name, &statbuf);
- if (err) {
- int rc;
-
- rc = sscanf(raw_name, RAWDEVDIR "raw%d", &raw_minor);
- if (rc != 1) {
- fprintf (stderr,
- "Cannot locate raw device '%s' (%s)\n",
- raw_name, strerror(errno));
- exit(2);
- }
+ if (err)
goto skip_test_rawdev;
- }
if (!S_ISCHR(statbuf.st_mode)) {
fprintf (stderr, "raw device '%s' is not a character dev\n",
util-linux-2.13-schedutils-SCHED_BATCH.patch:
chrt.1 | 7 ++++++-
chrt.c | 26 +++++++++++++++++++++-----
2 files changed, 27 insertions(+), 6 deletions(-)
--- NEW FILE util-linux-2.13-schedutils-SCHED_BATCH.patch ---
--- util-linux-2.13-pre6/schedutils/chrt.1.batch 2006-11-10 13:23:37.000000000 -0500
+++ util-linux-2.13-pre6/schedutils/chrt.1 2006-11-10 13:27:23.000000000 -0500
@@ -36,10 +36,11 @@
.BR chrt (1)
sets or retrieves the real-time scheduling attributes of an existing PID or
runs COMMAND with the given attributes. Both policy (one of
+.BR SCHED_OTHER ,
.BR SCHED_FIFO ,
.BR SCHED_RR ,
or
-.BR SCHED_OTHER )
+.BR SCHED_BATCH )
and priority can be set and retrieved.
.SH OPTIONS
.TP
@@ -48,6 +49,10 @@
.TP
.TP
+.B -b, --batch
+set scheduling policy to
+.BR SCHED_BATCH
+.TP
.B -f, --fifo
set scheduling policy to
.BR SCHED_FIFO
--- util-linux-2.13-pre6/schedutils/chrt.c.batch 2005-08-14 11:18:54.000000000 -0400
+++ util-linux-2.13-pre6/schedutils/chrt.c 2006-11-10 13:27:52.000000000 -0500
@@ -36,6 +36,8 @@
fprintf(stderr, "usage: %s [options] [prio] [pid | cmd [args...]]\n",
cmd);
fprintf(stderr, "manipulate real-time attributes of a process\n");
+ fprintf(stderr, " -b, --batch "
+ "set policy to SCHED_BATCH\n");
fprintf(stderr, " -f, --fifo "
"set policy to SCHED_FF\n");
fprintf(stderr, " -p, --pid "
@@ -83,6 +85,9 @@
case SCHED_RR:
printf("SCHED_RR\n");
break;
+ case SCHED_BATCH:
+ printf("SCHED_BATCH\n");
+ break;
default:
printf("unknown\n");
}
@@ -101,6 +106,13 @@
{
int max, min;
+ max = sched_get_priority_max(SCHED_OTHER);
+ min = sched_get_priority_min(SCHED_OTHER);
+ if (max >= 0 && min >= 0)
+ printf("SCHED_OTHER min/max priority\t: %d/%d\n", min, max);
+ else
+ printf("SCHED_OTHER not supported?\n");
+
max = sched_get_priority_max(SCHED_FIFO);
min = sched_get_priority_min(SCHED_FIFO);
if (max >= 0 && min >= 0)
@@ -115,12 +127,12 @@
else
printf("SCHED_RR not supported?\n");
- max = sched_get_priority_max(SCHED_OTHER);
- min = sched_get_priority_min(SCHED_OTHER);
+ max = sched_get_priority_max(SCHED_BATCH);
+ min = sched_get_priority_min(SCHED_BATCH);
if (max >= 0 && min >= 0)
- printf("SCHED_OTHER min/max priority\t: %d/%d\n", min, max);
+ printf("SCHED_BATCH min/max priority\t: %d/%d\n", min, max);
else
- printf("SCHED_OTHER not supported?\n");
+ printf("SCHED_BATCH not supported?\n");
}
int main(int argc, char *argv[])
@@ -130,6 +142,7 @@
pid_t pid = 0;
struct option longopts[] = {
+ { "batch", 0, NULL, 'b' },
{ "fifo", 0, NULL, 'f' },
{ "pid", 0, NULL, 'p' },
{ "help", 0, NULL, 'h' },
@@ -141,11 +154,14 @@
{ NULL, 0, NULL, 0 }
};
- while((i = getopt_long(argc, argv, "+fphmorvV", longopts, NULL)) != -1)
+ while((i = getopt_long(argc, argv, "+bfphmorvV", longopts, NULL)) != -1)
{
int ret = 1;
switch (i) {
+ case 'b':
+ policy = SCHED_BATCH;
+ break;
case 'f':
policy = SCHED_FIFO;
break;
--- NEW FILE util-linux-60-raw.rules ---
# This file and interface are deprecated.
# Applications needing raw device access should open regular
# block devices with O_DIRECT.
#
# Enter raw device bindings here.
#
# An example would be:
# ACTION=="add", KERNEL=="sda", RUN+="/bin/raw /dev/raw/raw1 %N"
# to bind /dev/raw/raw1 to /dev/sda, or
# ACTION=="add", ENV{MAJOR}=="8", ENV{MINOR}=="1", RUN+="/bin/raw /dev/raw/raw2 %M %m"
# to bind /dev/raw/raw2 to the device with major 8, minor 1.
Index: .cvsignore
===================================================================
RCS file: /cvs/dist/rpms/util-linux/devel/.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 14 Dec 2006 12:42:01 -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/devel/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 14 Dec 2006 12:42:01 -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.12a-mount-man-cifs.patch:
mount.8 | 10 ++++++++++
1 files changed, 10 insertions(+)
Index: util-linux-2.12a-mount-man-cifs.patch
===================================================================
RCS file: /cvs/dist/rpms/util-linux/devel/util-linux-2.12a-mount-man-cifs.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- util-linux-2.12a-mount-man-cifs.patch 25 Nov 2005 07:32:12 -0000 1.1
+++ util-linux-2.12a-mount-man-cifs.patch 14 Dec 2006 12:42:01 -0000 1.2
@@ -1,16 +1,5 @@
--- util-linux-2.12a/mount/mount.8.cifs 2005-11-23 16:34:34.000000000 +0100
+++ util-linux-2.12a/mount/mount.8 2005-11-23 16:38:37.000000000 +0100
-@@ -413,8 +413,8 @@
- 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, nfs4, smbfs, ncpfs) ad hoc code is
--necessary. The nfs ad hoc code is built in, but smbfs and ncpfs
-+For a few types however (like nfs, nfs4, smbfs, ncpfs, cifs) ad hoc code is
-+necessary. The nfs ad hoc code is built in, but smbfs, ncpfs and cifs
- have a separate mount program. In order to make it possible to
- treat all types in a uniform way, mount will execute the program
- .I /sbin/mount.TYPE
@@ -720,6 +720,16 @@
(However, quota utilities may react to such strings in
.IR /etc/fstab .)
util-linux-2.13-mount-context.patch:
Makefile.am | 3 +
mount.8 | 44 +++++++++++++++++++++++
mount.c | 113 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
3 files changed, 152 insertions(+), 8 deletions(-)
Index: util-linux-2.13-mount-context.patch
===================================================================
RCS file: /cvs/dist/rpms/util-linux/devel/util-linux-2.13-mount-context.patch,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- util-linux-2.13-mount-context.patch 21 Aug 2006 16:24:02 -0000 1.2
+++ util-linux-2.13-mount-context.patch 14 Dec 2006 12:42:01 -0000 1.3
@@ -1,10 +1,17 @@
-
- This patch adds to the mount man page docs about context, fscontext and
- defcontext mount options and translate context options from human to raw
- selinux context format. -- 03/30/2006 Karel Zak <kzak at redhat.com>
-
---- util-linux-2.13-pre6/mount/mount.c.kzak 2006-08-21 11:51:50.000000000 +0200
-+++ util-linux-2.13-pre6/mount/mount.c 2006-08-21 11:51:50.000000000 +0200
+--- util-linux-2.13-pre6/mount/Makefile.am.context 2005-09-12 22:41:11.000000000 +0200
++++ util-linux-2.13-pre6/mount/Makefile.am 2006-11-01 11:31:46.000000000 +0100
+@@ -37,6 +37,9 @@
+ man_MANS += pivot_root.8
+ endif
+
++if HAVE_SELINUX
++mount_LDADD += -lselinux
++endif
+
+ swapon.c: swapargs.h
+
+--- util-linux-2.13-pre6/mount/mount.c.context 2006-11-01 11:31:46.000000000 +0100
++++ util-linux-2.13-pre6/mount/mount.c 2006-11-01 11:36:17.000000000 +0100
@@ -21,6 +21,11 @@
#include <sys/wait.h>
#include <sys/mount.h>
@@ -17,20 +24,40 @@
#include "mount_blkid.h"
#include "mount_constants.h"
#include "sundries.h"
-@@ -255,6 +260,49 @@
+@@ -255,13 +260,79 @@
free((void *) s);
}
+#ifdef HAVE_LIBSELINUX
++/* strip quotes from a "string"
++ * Warning: This function modify the "str" argument.
++ */
++static char *
++strip_quotes(char *str)
++{
++ char *end = NULL;
++
++ if (*str != '"')
++ return str;
++
++ end = strrchr(str, '"');
++ if (end == NULL || end == str)
++ die (EX_USAGE, _("mount: improperly quoted option string '%s'"), str);
++
++ *end = '\0';
++ return str+1;
++}
++
+/* 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)
++append_context(const char *optname, char *optdata, char *extra_opts, int *len)
+{
+ security_context_t raw = NULL;
++ char *data = NULL;
+ char *buf = NULL;
+ int bufsz;
+
@@ -41,19 +68,22 @@
+ if (optdata==NULL || *optdata=='\0' || optname==NULL)
+ return -1;
+
++ /* TODO: use strip_quotes() for all mount options? */
++ data = *optdata =='"' ? strip_quotes(optdata) : optdata;
++
+ if (selinux_trans_to_raw_context(
-+ (security_context_t) optdata, &raw)==-1 ||
-+ raw==NULL)
++ (security_context_t) data, &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 '=' */
++ optname, data, (char *) raw);
++ // TODO 2.6.19: context options with commans are unsupported by kernel now ;-(
++ bufsz = strlen(optname) + strlen(raw) + 2; // bufsz = strlen(optname) + strlen(raw) + 4; /* 4 is \0, '=' and 2x '"' */
+ buf = xmalloc(bufsz);
+
-+ snprintf(buf, bufsz, "%s=%s", optname, (char *) raw);
++ snprintf(buf, bufsz, "%s=%s", optname, (char *) raw); // snprintf(buf, bufsz, "%s=\"%s\"", optname, (char *) raw);
+ freecon(raw);
+
+ if ((*len -= bufsz-1) > 0)
@@ -67,7 +97,15 @@
/*
* 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 @@
+ * For the options uid= and gid= replace user or group name by its value.
+ */
+ static inline void
+-parse_opt(const char *opt, int *mask, char *extra_opts, int len) {
++parse_opt(char *opt, int *mask, char *extra_opts, int len) {
+ const struct opt_map *om;
+
+ for (om = opt_map; om->opt != NULL; om++)
+@@ -313,7 +384,20 @@
return;
}
}
@@ -89,17 +127,44 @@
if ((len -= strlen(opt)) > 0)
strcat(extra_opts, opt);
}
-@@ -330,7 +391,7 @@
+@@ -329,16 +413,29 @@
+
if (options != NULL) {
char *opts = xstrdup(options);
- char *opt;
+- char *opt;
- int len = strlen(opts) + 20;
+ int len = strlen(opts) + 256;
++ int open_quote = 0;
++ char *opt, *p;
*extra_opts = xmalloc(len);
**extra_opts = '\0';
---- util-linux-2.13-pre6/mount/mount.8.kzak 2006-08-21 11:51:50.000000000 +0200
-+++ util-linux-2.13-pre6/mount/mount.8 2006-08-21 11:51:50.000000000 +0200
+
+- for (opt = strtok(opts, ","); opt; opt = strtok(NULL, ","))
+- if (!parse_string_opt(opt))
+- parse_opt(opt, flags, *extra_opts, len);
+-
++ for (p=opts, opt=NULL; p && *p; p++) {
++ if (!opt)
++ opt = p; /* begin of the option item */
++ if (*p == '"')
++ open_quote ^= 1; /* reverse the status */
++ if (open_quote)
++ continue; /* still in quoted block */
++ if (*p == ',')
++ *p = '\0'; /* terminate the option item */
++ /* end of option item or last item */
++ if (*p == '\0' || *(p+1) == '\0') {
++ if (!parse_string_opt(opt))
++ parse_opt(opt, flags, *extra_opts, len);
++ opt = NULL;
++ }
++ }
+ free(opts);
+ }
+
+--- util-linux-2.13-pre6/mount/mount.8.context 2006-11-01 11:31:46.000000000 +0100
++++ util-linux-2.13-pre6/mount/mount.8 2006-11-01 11:31:46.000000000 +0100
@@ -660,6 +660,50 @@
.BR noexec ", " nosuid ", and " nodev
(unless overridden by subsequent options, as in the option line
@@ -151,15 +216,3 @@
.RE
.TP
.B \-\-bind
---- util-linux-2.13-pre6/mount/Makefile.am.kzak 2006-08-21 12:13:10.000000000 +0200
-+++ util-linux-2.13-pre6/mount/Makefile.am 2006-08-21 12:13:03.000000000 +0200
-@@ -37,6 +37,9 @@
- man_MANS += pivot_root.8
- endif
-
-+if HAVE_SELINUX
-+mount_LDADD += -lselinux
-+endif
-
- swapon.c: swapargs.h
-
util-linux-2.13-mount-man-nfs4.patch:
mount.8 | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 72 insertions(+), 3 deletions(-)
Index: util-linux-2.13-mount-man-nfs4.patch
===================================================================
RCS file: /cvs/dist/rpms/util-linux/devel/util-linux-2.13-mount-man-nfs4.patch,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- util-linux-2.13-mount-man-nfs4.patch 20 Sep 2006 14:26:00 -0000 1.1
+++ util-linux-2.13-mount-man-nfs4.patch 14 Dec 2006 12:42:01 -0000 1.2
@@ -1,6 +1,6 @@
---- 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 @@
+--- util-linux-2.13-pre7/mount/mount.8.man-nfs4 2006-03-06 00:04:37.000000000 +0100
++++ util-linux-2.13-pre7/mount/mount.8 2006-12-14 00:30:33.000000000 +0100
+@@ -385,6 +385,7 @@
.IR msdos ,
.IR ncpfs ,
.IR nfs ,
@@ -8,16 +8,16 @@
.IR ntfs ,
.IR proc ,
.IR qnx4 ,
-@@ -421,7 +422,7 @@
+@@ -422,7 +423,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
+-For a few types however (like nfs, cifs, smbfs, ncpfs) ad hoc code is
++For a few types however (like nfs, nfs4, cifs, smbfs, ncpfs) ad hoc code is
+ necessary. The nfs ad hoc code is built in, but cifs, 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 @@
+@@ -450,9 +451,10 @@
All of the filesystem types listed there will be tried,
except for those that are labeled "nodev" (e.g.,
.IR devpts ,
@@ -30,7 +30,7 @@
If
.I /etc/filesystems
ends in a line with a single * only, mount will read
-@@ -1373,6 +1375,73 @@
+@@ -1368,6 +1370,73 @@
.B nolock
Do not use locking. Do not start lockd.
Index: util-linux.spec
===================================================================
RCS file: /cvs/dist/rpms/util-linux/devel/util-linux.spec,v
retrieving revision 1.145
retrieving revision 1.146
diff -u -r1.145 -r1.146
--- util-linux.spec 12 Oct 2006 10:10:37 -0000 1.145
+++ util-linux.spec 14 Dec 2006 12:42:01 -0000 1.146
@@ -9,7 +9,7 @@
Summary: A collection of basic system utilities.
Name: util-linux
Version: 2.13
-Release: 0.44%{?dist}
+Release: 0.45%{?dist}
License: distributable
Group: System Environment/Base
@@ -36,7 +36,8 @@
BuildRequires: e2fsprogs-devel >= 1.36
BuildRequires: gettext-devel
BuildRequires: libselinux-devel
-BuildRequires: libtermcap-devel
+# ncurses is the right way now [kzak, 12/14/2006]
+#BuildRequires: libtermcap-devel
BuildRequires: ncurses-devel
BuildRequires: pam-devel
BuildRequires: sed
@@ -45,11 +46,12 @@
BuildRequires: zlib-devel
### 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-login.pamd
Source2: util-linux-remote.pamd
Source3: util-linux-chsh-chfn.pamd
+Source4: util-linux-60-raw.rules
Source8: nologin.c
Source9: nologin.8
Source11: http://download.sourceforge.net/floppyutil/floppy-%{floppyver}.tar.gz
@@ -68,6 +70,9 @@
Requires(preun): /sbin/install-info
Requires(post): /sbin/install-info
Requires(post): coreutils
+%if %{include_raw}
+Requires: udev
+%endif
Provides: mount = %{version}
Provides: losetup = %{version}
@@ -182,6 +187,7 @@
Patch234: util-linux-2.13-cal-wide.patch
# 186915 - mount does not translate SELIinux context options though libselinux
# 185500 - Need man page entry for -o context= mount option
+# 211827 - Can't mount with additional contexts
Patch235: 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
@@ -217,6 +223,18 @@
Patch252: util-linux-2.13-losetup-deprecated.patch
# 208634 - mkswap "works" without warning on a mounted device
Patch253: util-linux-2.13-mkswap-mounted.patch
+# 213127 - mount --make-unbindable does not work
+Patch254: util-linux-2.13-mount-comment.patch
+# 211749 - add -r option to losetup to create a read-only loop
+Patch255: util-linux-2.13-losetup-rdonly.patch
+# 216489 - SCHED_BATCH option missing in chrt
+Patch256: util-linux-2.13-schedutils-SCHED_BATCH.patch
+# 216712 - issues with raw device support ("raw0" is wrong device name)
+Patch257: util-linux-2.13-raw-raw0.patch
+# 217186 - /bin/sh: @MKINSTALLDIRS@: No such file or directory
+Patch258: util-linux-2.13-mkdir_p.patch
+# 218915 - fdisk -b 4K
+Patch259: util-linux-2.13-fdisk-b-4096.patch
# When adding patches, please make sure that it is easy to find out what bug # the
# patch fixes.
@@ -230,18 +248,19 @@
%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
+
+# ncurses vs. termcap for the more command
+#%patch1 -p1
+
-%patch1 -p1
%patch70 -p1
# nologin
cp %{SOURCE8} %{SOURCE9} .
%patch100 -p1
%patch106 -p1
%patch107 -p1
-%if %{include_raw}
%patch109 -p1
-%endif
%patch113 -p1
%patch120 -p1
%patch126 -p1
@@ -254,11 +273,8 @@
%patch153 -p1
%patch157 -p1
%patch159 -p1
-%if %{include_raw}
%patch160 -p1
-%endif
%patch164 -p1
-
%patch170 -p1
%patch180 -p1
%patch181 -p1
@@ -310,7 +326,13 @@
%patch250 -p1
%patch251 -p1
%patch252 -p1
-%patch253 -p1 -b .kzak
+%patch253 -p1
+%patch254 -p1
+%patch255 -p1
+%patch256 -p1
+%patch257 -p1
+%patch258 -p1
+%patch259 -p1
%build
unset LINGUAS || :
@@ -392,6 +414,13 @@
%if %{include_raw}
echo '.so man8/raw.8' > $RPM_BUILD_ROOT%{_mandir}/man8/rawdevices.8
+{
+ # see RH bugzilla #216664
+ mkdir -p ${RPM_BUILD_ROOT}%{_sysconfdir}/udev/rules.d
+ pushd ${RPM_BUILD_ROOT}%{_sysconfdir}/udev/rules.d
+ install -m 644 %{SOURCE4} ./60-raw.rules
+ popd
+}
%endif
# Correct mail spool path.
@@ -489,7 +518,7 @@
done
# /usr/bin -> /bin
-for I in taskset; do
+for I in taskset raw; do
if [ -e $RPM_BUILD_ROOT/usr/bin/$I ]; then
mv $RPM_BUILD_ROOT/usr/bin/$I $RPM_BUILD_ROOT/bin/$I
fi
@@ -539,6 +568,10 @@
/bin/more
/bin/kill
/bin/taskset
+%if %{include_raw}
+/bin/raw
+%config %{_sysconfdir}/udev/rules.d/60-raw.rules
+%endif
%config %{_sysconfdir}/pam.d/chfn
%config %{_sysconfdir}/pam.d/chsh
@@ -607,10 +640,6 @@
%{_mandir}/man8/floppy.8*
%endif
%{_bindir}/namei
-
-%if %{include_raw}
-%{_bindir}/raw
-%endif
%{_bindir}/rename
%{_bindir}/renice
%{_bindir}/rev
@@ -714,6 +743,22 @@
/sbin/losetup
%changelog
+* Wed Dec 13 2006 Karel Zak <kzak at redhat.com> 2.13-0.45
+- use ncurses only
+- fix #218915 - fdisk -b 4K
+- upgrade to -pre7 release
+- fix building problem with raw0 patch
+- fix #217186 - /bin/sh: @MKINSTALLDIRS@: No such file or directory
+ (port po/Makefile.in.in from gettext-0.16)
+- sync with FC6 and RHEL5:
+- fix #216489 - SCHED_BATCH option missing in chrt
+- fix #216712 - issues with raw device support ("raw0" is wrong device name)
+- fix #216760 - mount with context or fscontext option fails
+ (temporarily disabled the support for additional contexts -- not supported by kernel yet)
+- fix #211827 - Can't mount with additional contexts
+- fix #213127 - mount --make-unbindable does not work
+- fix #211749 - add -r option to losetup to create a read-only loop
+
* Thu Oct 12 2006 Karel Zak <kzak at redhat.com> 2.13-0.44
- fix #209911 - losetup.8 updated (use dm-crypt rather than deprecated cryptoloop)
- fix #210338 - spurious error from '/bin/login -h $PHONENUMBER' (bug in IPv6 patch)
More information about the fedora-cvs-commits
mailing list