rpms/util-linux/F-7 util-linux-2.13-cal-3.patch, NONE, 1.1 util-linux-2.13-ipcs-32bit.patch, NONE, 1.1 util-linux-2.13-localedir.patch, NONE, 1.1 util-linux-2.13-mount-loop.patch, NONE, 1.1 util-linux-2.13-sfdisk-geo.patch, NONE, 1.1 util-linux-login.pamd, 1.2, 1.3 util-linux-remote.pamd, 1.1, 1.2 util-linux.spec, 1.153, 1.154

Karel Zak (kzak) fedora-extras-commits at redhat.com
Tue Jul 10 09:56:34 UTC 2007


Author: kzak

Update of /cvs/pkgs/rpms/util-linux/F-7
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv3611

Modified Files:
	util-linux-login.pamd util-linux-remote.pamd util-linux.spec 
Added Files:
	util-linux-2.13-cal-3.patch util-linux-2.13-ipcs-32bit.patch 
	util-linux-2.13-localedir.patch 
	util-linux-2.13-mount-loop.patch 
	util-linux-2.13-sfdisk-geo.patch 
Log Message:
* Mon Jul  9  2007 Karel Zak <kzak at redhat.com> 2.13-0.52
- fix #245578 - login's PAM configuration inits the keyring at an inconvenient time
- fix #231532 - "pamconsole" not documented in mount(8)
- fix #243930 - translation files exist, but are not being used
- fix #228731 - sfdisk doesn't support DM-MP device (add default heads and sectors)
- fix #231192 - ipcs is not printing correct values on pLinux
- fix #245912 - mount doesn't write the 'loop=...' option in /etc/mtab when mounting a loop device
- fix #213253 - "cal -3" generates improperly formatted output


util-linux-2.13-cal-3.patch:

--- NEW FILE util-linux-2.13-cal-3.patch ---
--- util-linux-2.13-pre7/misc-utils/cal.c.kzak	2007-07-09 14:54:39.000000000 +0200
+++ util-linux-2.13-pre7/misc-utils/cal.c	2007-07-09 14:54:39.000000000 +0200
@@ -87,9 +87,13 @@
      putp(s);
 }
 
-static char *
+static const char *
 my_tgetstr(char *s, char *ss) {
-     return tigetstr(ss);
+    const char* ret = tigetstr(ss);
+    if (!ret || ret==(char*)-1)
+        return "";
+    else
+        return ret;
 }
 
 #elif defined(HAVE_LIBTERMCAP)
@@ -110,14 +114,20 @@
      tputs (s, 1, putchar);
 }
 
-static char *
+static const char *
 my_tgetstr(char *s, char *ss) {
-     return tgetstr(s, &strbuf);
+    const char* ret = tgetstr(s, &strbuf);
+    if (!ret)
+        return "";
+    else
+        return ret;
 }
 
 #endif
 const char	*term="";
 const char	*Senter="", *Sexit="";/* enter and exit standout mode */
+int		Slen;		/* strlen of Senter+Sexit */
+char		*Hrow;		/* pointer to highlighted row in month */
 
 #ifdef HAVE_LANGINFO_H
 # include <langinfo.h>
@@ -262,6 +272,7 @@
 		if (ret > 0) {
 			Senter = my_tgetstr("so","smso");
 			Sexit = my_tgetstr("se","rmso");
+			Slen = strlen(Senter) + strlen(Sexit);
 		}
 	}
 #endif
@@ -437,11 +448,18 @@
 	sprintf(out->s[1],"%s",
 		julian ? j_day_headings : day_headings);
 	for (row = 0; row < 6; row++) {
-		for (col = 0, p = lineout; col < 7; col++)
-			p = ascii_day(p, days[row * 7 + col]);
+		int has_hl = 0;
+		for (col = 0, p = lineout; col < 7; col++) {
+			int xd = days[row * 7 + col];
+			if (xd != SPACE && (xd & TODAY_FLAG))
+				has_hl = 1;
+			p = ascii_day(p, xd);
+		}
 		*p = '\0';
 		trim_trailing_spaces(lineout);
 		sprintf(out->s[row+2], "%s", lineout);
+		if (has_hl)
+			Hrow = out->s[row+2];
 	}
 }
 
@@ -489,14 +507,25 @@
 	do_monthly(day, prev_month, prev_year, &out_prev);
 	do_monthly(day, month,      year,      &out_curm);
 	do_monthly(day, next_month, next_year, &out_next);
+
         width = (julian ? J_WEEK_LEN : WEEK_LEN) -1;
 	for (i = 0; i < 2; i++)
 		printf("%s  %s  %s\n", out_prev.s[i], out_curm.s[i], out_next.s[i]);
 	for (i = 2; i < FMT_ST_LINES; i++) {
+		int w1, w2, w3;
+		w1 = w2 = w3 = width;
+
+#if defined(HAVE_NCURSES) || defined(HAVE_LIBTERMCAP)
+                /* adjust width to allow for non printable characters */
+                w1 += (out_prev.s[i] == Hrow ? Slen : 0);
+                w2 += (out_curm.s[i] == Hrow ? Slen : 0);
+                w3 += (out_next.s[i] == Hrow ? Slen : 0);
+#endif
 		snprintf(lineout, SIZE(lineout), "%-*s  %-*s  %-*s\n",
-		       width, out_prev.s[i],
-		       width, out_curm.s[i],
-		       width, out_next.s[i]);
+		       w1, out_prev.s[i],
+		       w2, out_curm.s[i],
+		       w3, out_next.s[i]);
+
 #if defined(HAVE_NCURSES) || defined(HAVE_LIBTERMCAP)
 		my_putstring(lineout);
 #else
--- util-linux-2.13-pre7/configure.ac.kzak	2007-07-09 14:54:48.000000000 +0200
+++ util-linux-2.13-pre7/configure.ac	2007-07-09 14:55:11.000000000 +0200
@@ -71,6 +71,7 @@
 if test x$ac_cv_header_ncurses_h = xyes || test x$ac_cv_header_ncurses_ncurses_h = xyes; then
   have_ncurses=yes
   AC_MSG_NOTICE([you have ncurses])
+  AC_DEFINE(HAVE_NCURSES, 1, [Do we have -lncurses?])
 else
   AC_MSG_NOTICE([you do not have ncurses])
 fi

util-linux-2.13-ipcs-32bit.patch:

--- NEW FILE util-linux-2.13-ipcs-32bit.patch ---

The compat (32bit) version of sys_shmctl on 64bit kernel returns incorrect
information. In this case is better to read data from /proc/sys/kernel/shm*.

--- util-linux-2.13-pre7/sys-utils/ipcs.c.kzak	2007-06-25 10:25:31.000000000 +0200
+++ util-linux-2.13-pre7/sys-utils/ipcs.c	2007-06-25 10:14:06.000000000 +0200
@@ -253,6 +253,26 @@
 		printf(" %-10d\n", ipcp->gid);
 }
 
+static unsigned long long
+shminfo_from_proc(const char *name, unsigned long def)
+{
+	char path[256];
+	char buf[64];
+	FILE *f;
+	unsigned long long res = def;
+
+	if (!name)
+		return res;
+
+	snprintf(path, sizeof(path), "/proc/sys/kernel/%s", name);
+
+	if (!(f = fopen(path, "r")))
+		return res;
+	if (fgets(buf, sizeof(buf), f))
+		res = atoll(buf);
+	fclose(f);
+	return res;
+}
 
 void do_shm (char format)
 {
@@ -268,7 +288,7 @@
 		printf (_("kernel not configured for shared memory\n"));
 		return;
 	}
-	
+
 	switch (format) {
 	case LIMITS:
 		printf (_("------ Shared Memory Limits --------\n"));
@@ -276,18 +296,15 @@
 			return;
 		/* glibc 2.1.3 and all earlier libc's have ints as fields
 		   of struct shminfo; glibc 2.1.91 has unsigned long; ach */
-		printf (_("max number of segments = %lu\n"),
-			(unsigned long) shminfo.shmmni);
-		printf (_("max seg size (kbytes) = %lu\n"),
-			(unsigned long) (shminfo.shmmax >> 10));
-		
+		printf (_("max number of segments = %llu\n"),
+			shminfo_from_proc("shmmni", shminfo.shmmni));
+		printf (_("max seg size (kbytes) = %llu\n"),
+			(shminfo_from_proc("shmmax", shminfo.shmmax) >> 10));
+
 		/* max shmem = pagesize * shminfo.shmall / 1024
-		 * 
-		 * note: that "shminfo.shmall * getpagesize()" is greater than ULONG_MAX (32bit)
-		 *       it means that better is "/" before "*" or use "long long"  
 		 */
-		printf (_("max total shared memory (kbytes) = %lu\n"),
-			getpagesize()/1024 * (unsigned long) shminfo.shmall);
+		printf (_("max total shared memory (kbytes) = %llu\n"),
+			getpagesize()/1024 * shminfo_from_proc("shmall", shminfo.shmall));
 		printf (_("min seg size (bytes) = %lu\n"),
 			(unsigned long) shminfo.shmmin);
 		return;

util-linux-2.13-localedir.patch:

--- NEW FILE util-linux-2.13-localedir.patch ---
--- util-linux-2.13-pre7/config/include-Makefile.am.kzak	2007-06-25 11:15:40.000000000 +0200
+++ util-linux-2.13-pre7/config/include-Makefile.am	2007-06-25 11:16:39.000000000 +0200
@@ -3,10 +3,10 @@
 datadir = $(prefix)/usr/share
 infodir = $(datadir)/info
 mandir = $(datadir)/man
+localedir = $(datadir)/locale
 
-AM_CPPFLAGS = -include $(top_builddir)/config.h -I$(top_srcdir)/include
+AM_CPPFLAGS = -include $(top_builddir)/config.h -I$(top_srcdir)/include \
+       -DLOCALEDIR=\"$(localedir)\"
 
 DEFAULT_INCLUDES =
 
-DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
-

util-linux-2.13-mount-loop.patch:

--- NEW FILE util-linux-2.13-mount-loop.patch ---
commit 2e039577c5eb895fab35aed136345a0c07d7a587
Author: Karel Zak <kzak at redhat.com>
Date:   Mon Jul 2 23:35:08 2007 +0200

    mount: use loop= option when mounting by /sbin/mount.<type>
    
    The mount(8) calls external mount programs (/sbin/mount.<type>)
    without the loop=/dev/loopN option. This patch fix this bug.
    
    Signed-off-by: Karel Zak <kzak at redhat.com>

diff --git a/mount/mount.c b/mount/mount.c
index c27c5e5..50089a9 100644
--- a/mount/mount.c
+++ b/mount/mount.c
@@ -1057,6 +1057,9 @@ try_mount_one (const char *spec0, const char *node0, const char *types0,
 	  goto out;
   }
 
+  if (loop)
+      opt_loopdev = loopdev;
+
   /*
    * Call mount.TYPE for types that require a separate mount program.
    * For the moment these types are ncpfs and smbfs. Maybe also vxfs.
@@ -1082,8 +1085,6 @@ try_mount_one (const char *spec0, const char *node0, const char *types0,
 
   if (fake || mnt5_res == 0) {
       /* Mount succeeded, report this (if verbose) and write mtab entry.  */
-      if (loop)
-	  opt_loopdev = loopdev;
 
       if (!(mounttype & MS_PROPAGATION)) {
 	      update_mtab_entry(loop ? loopfile : spec,

util-linux-2.13-sfdisk-geo.patch:

--- NEW FILE util-linux-2.13-sfdisk-geo.patch ---
--- util-linux-2.13-pre7/fdisk/sfdisk.c.kzak	2007-06-25 09:13:31.000000000 +0200
+++ util-linux-2.13-pre7/fdisk/sfdisk.c	2007-06-25 09:12:42.000000000 +0200
@@ -469,8 +469,8 @@
 
     R = get_geometry(dev, fd, silent);
 
-    B.heads = (U.heads ? U.heads : R.heads);
-    B.sectors = (U.sectors ? U.sectors : R.sectors);
+    B.heads = (U.heads ? U.heads : (R.heads ? R.heads : 255));
+    B.sectors = (U.sectors ? U.sectors : (R.sectors ? R.sectors : 63));
     B.cylinders = (U.cylinders ? U.cylinders : R.cylinders);
 
     B.cylindersize = B.heads * B.sectors;


Index: util-linux-login.pamd
===================================================================
RCS file: /cvs/pkgs/rpms/util-linux/F-7/util-linux-login.pamd,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- util-linux-login.pamd	3 Mar 2007 20:50:41 -0000	1.2
+++ util-linux-login.pamd	10 Jul 2007 09:55:56 -0000	1.3
@@ -6,10 +6,10 @@
 password   include      system-auth
 # pam_selinux.so close should be the first session rule
 session    required     pam_selinux.so close
+session    optional     pam_keyinit.so force revoke
 session    include      system-auth
 session    required     pam_loginuid.so
 session    optional     pam_console.so
 # pam_selinux.so open should only be followed by sessions to be executed in the user context
 session    required     pam_selinux.so open
-session    optional     pam_keyinit.so force revoke
 session    optional     pam_ck_connector.so


Index: util-linux-remote.pamd
===================================================================
RCS file: /cvs/pkgs/rpms/util-linux/F-7/util-linux-remote.pamd,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- util-linux-remote.pamd	21 Aug 2006 16:24:02 -0000	1.1
+++ util-linux-remote.pamd	10 Jul 2007 09:55:56 -0000	1.2
@@ -6,9 +6,10 @@
 password   include      system-auth
 # pam_selinux.so close should be the first session rule
 session    required     pam_selinux.so close
+session    optional     pam_keyinit.so force revoke
 session    include      system-auth
 session    required     pam_loginuid.so
 session    optional     pam_console.so
 # pam_selinux.so open should only be followed by sessions to be executed in the user context
 session    required     pam_selinux.so open
-session    optional     pam_keyinit.so force revoke
+


Index: util-linux.spec
===================================================================
RCS file: /cvs/pkgs/rpms/util-linux/F-7/util-linux.spec,v
retrieving revision 1.153
retrieving revision 1.154
diff -u -r1.153 -r1.154
--- util-linux.spec	6 Apr 2007 10:57:45 -0000	1.153
+++ util-linux.spec	10 Jul 2007 09:55:56 -0000	1.154
@@ -9,7 +9,7 @@
 Summary: A collection of basic system utilities.
 Name: util-linux
 Version: 2.13
-Release: 0.51%{?dist}
+Release: 0.52%{?dist}
 License: distributable
 Group: System Environment/Base
 
@@ -247,7 +247,16 @@
 Patch263: util-linux-2.13-hwclock-systohc.patch
 # 227903 - mount -f does not work with NFS-mounted
 Patch264: util-linux-2.13-mount-fake.patch
-
+# 243930 - Translation files exist, but are not being used
+Patch265: util-linux-2.13-localedir.patch
+# 228731 - sfdisk doesn't support DM-MP device (add default heads and sectors)
+Patch266: util-linux-2.13-sfdisk-geo.patch
+# 231192 - ipcs is not printing correct values on pLinux
+Patch267: util-linux-2.13-ipcs-32bit.patch
+# 245912: mount doesn't write the 'loop=...' option in /etc/mtab when mounting a loop device
+Patch268: util-linux-2.13-mount-loop.patch
+# 213253: "cal -3" generates improperly formatted output
+Patch269: util-linux-2.13-cal-3.patch
 
 # When adding patches, please make sure that it is easy to find out what bug # the 
 # patch fixes.
@@ -351,6 +360,11 @@
 %patch262 -p1
 %patch263 -p1
 %patch264 -p1
+%patch265 -p1
+%patch266 -p1
+%patch267 -p1
+%patch268 -p1
+%patch269 -p1
 
 %build
 unset LINGUAS || :
@@ -764,6 +778,15 @@
 /sbin/losetup
 
 %changelog
+* Mon Jul  9  2007 Karel Zak <kzak at redhat.com> 2.13-0.52
+- fix #245578 - login's PAM configuration inits the keyring at an inconvenient time
+- fix #231532 - "pamconsole" not documented in mount(8)
+- fix #243930 - translation files exist, but are not being used
+- fix #228731 - sfdisk doesn't support DM-MP device (add default heads and sectors)
+- fix #231192 - ipcs is not printing correct values on pLinux
+- fix #245912 - mount doesn't write the 'loop=...' option in /etc/mtab when mounting a loop device
+- fix #213253 - "cal -3" generates improperly formatted output
+
 * Fri Apr  6 2007 Karel Zak <kzak at redhat.com> 2.13-0.51
 - fix #150493 - hwclock --systohc sets clock 0.5 seconds slow
 - fix #220873 - starting RPC idmapd: Error: RPC MTAB does not exist.




More information about the scm-commits mailing list