rpms/e2fsprogs/devel e2fsprogs-1.41.9-dlopen-fix.patch, NONE, 1.1 e2fsprogs-1.41.9-resize-array.patch, NONE, 1.1 e2fsprogs-1.41.9-topology-quiet.patch, NONE, 1.1 e2fsprogs.spec, 1.155, 1.156

Eric Sandeen sandeen at fedoraproject.org
Tue Jan 26 04:38:37 UTC 2010


Author: sandeen

Update of /cvs/pkgs/rpms/e2fsprogs/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv9259

Modified Files:
	e2fsprogs.spec 
Added Files:
	e2fsprogs-1.41.9-dlopen-fix.patch 
	e2fsprogs-1.41.9-resize-array.patch 
	e2fsprogs-1.41.9-topology-quiet.patch 
Log Message:
* Sat Jan 23 2010 Eric Sandeen <sandeen at redhat.com> 1.41.9-9
- Fix up stray output & re-enable make check
- Fix dlopen issues for newer libreadline
- Fix access beyond end of array in resize2fs


e2fsprogs-1.41.9-dlopen-fix.patch:
 get_readline.c |    2 +-
 invocation.c   |    1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

--- NEW FILE e2fsprogs-1.41.9-dlopen-fix.patch ---
commit 06ef971be505678ee462ae1844204ed24f14aedc
Author: Theodore Ts'o <tytso at mit.edu>
Date:   Thu Nov 12 17:54:45 2009 -0500

    libss: initialize function pointer for readline_shutdown()

    Clear the function pointer for readline_shutdown() so that if libss is
    linking against a readline library which doesn't supply a
    readline_shutdown() function, ss_delete_invocation() won't seg fault.

    Thanks to Solar Designer <solar at openwall.com> for reporting this
    problem to me.

    Signed-off-by: "Theodore Ts'o" <tytso at mit.edu>

libss: add newer libreadline to dlopen path

Rawhide now has libreadline.so.6 ... add it to the ever-expanding
list of libs to look for.

Unfortunately without commit 06ef971be505678ee462ae1844204ed24f14aedc
this fails in a rather cryptic way.

Signed-off-by: Eric Sandeen <sandeen at redhat.com>
---

Index: e2fsprogs-1.41.9/lib/ss/invocation.c
===================================================================
--- e2fsprogs-1.41.9.orig/lib/ss/invocation.c
+++ e2fsprogs-1.41.9/lib/ss/invocation.c
@@ -71,6 +71,7 @@ int ss_create_invocation(subsystem_name,
 	*(new_table->rqt_tables+1) = (ss_request_table *) NULL;
 
 	new_table->readline_handle = 0;
+	new_table->readline_shutdown = 0;
 	new_table->readline = 0;
 	new_table->add_history = 0;
 	new_table->redisplay = 0;
Index: e2fsprogs-1.41.9/lib/ss/get_readline.c
===================================================================
--- e2fsprogs-1.41.9.orig/lib/ss/get_readline.c
+++ e2fsprogs-1.41.9/lib/ss/get_readline.c
@@ -36,7 +36,7 @@ static void ss_release_readline(ss_data 
 }
 
 /* Libraries we will try to use for readline/editline functionality */
-#define DEFAULT_LIBPATH "libreadline.so.5:libreadline.so.4:libreadline.so:libedit.so.2:libedit.so:libeditline.so.0:libeditline.so"
+#define DEFAULT_LIBPATH "libreadline.so.6:libreadline.so.5:libreadline.so.4:libreadline.so:libedit.so.2:libedit.so:libeditline.so.0:libeditline.so"
 
 void ss_get_readline(int sci_idx)
 {


e2fsprogs-1.41.9-resize-array.patch:
 resize2fs.c |   10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

--- NEW FILE e2fsprogs-1.41.9-resize-array.patch ---
Index: e2fsprogs-1.41.9/resize/resize2fs.c
===================================================================
--- e2fsprogs-1.41.9.orig/resize/resize2fs.c
+++ e2fsprogs-1.41.9/resize/resize2fs.c
@@ -1818,9 +1818,6 @@ static errcode_t ext2fs_calculate_summar
 			fs->group_desc[group].bg_free_blocks_count =
 				group_free;
 			ext2fs_group_desc_csum_set(fs, group);
-			group++;
-			count = 0;
-			group_free = 0;
 			uninit = (fs->group_desc[group].bg_flags &
 				  EXT2_BG_BLOCK_UNINIT);
 			ext2fs_super_and_bgd_loc(fs, group, &super_blk,
@@ -1832,6 +1829,9 @@ static errcode_t ext2fs_calculate_summar
 			else
 				old_desc_blocks = fs->desc_blocks +
 					fs->super->s_reserved_gdt_blocks;
+			group++;
+			count = 0;
+			group_free = 0;
 		}
 	}
 	fs->super->s_free_blocks_count = total_free;
@@ -1858,11 +1858,11 @@ static errcode_t ext2fs_calculate_summar
 			fs->group_desc[group].bg_free_inodes_count =
 				group_free;
 			ext2fs_group_desc_csum_set(fs, group);
+			uninit = (fs->group_desc[group].bg_flags &
+				  EXT2_BG_INODE_UNINIT);
 			group++;
 			count = 0;
 			group_free = 0;
-			uninit = (fs->group_desc[group].bg_flags &
-				  EXT2_BG_INODE_UNINIT);
 		}
 	}
 	fs->super->s_free_inodes_count = total_free;

e2fsprogs-1.41.9-topology-quiet.patch:
 mke2fs.c |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

--- NEW FILE e2fsprogs-1.41.9-topology-quiet.patch ---
mkfsing a plain file would lead to a warning about being unable
to determine geometry; we should just skip the topology-getting
if we see that we have a regular file.

This was breaking "make check" but I had missed it since I
inadvertently stopped running the checks during the Fedora
RPM build.

Also, add a newline to the warning.

Signed-off-by: Eric Sandeen <sandeen at redhat.com>
---

diff --git a/misc/mke2fs.c b/misc/mke2fs.c
index 94b4c81..81b34ab 100644
--- a/misc/mke2fs.c
+++ b/misc/mke2fs.c
@@ -47,6 +47,7 @@ extern int optind;
 #endif
 #include <sys/ioctl.h>
 #include <sys/types.h>
+#include <sys/stat.h>
 #include <libgen.h>
 #include <limits.h>
 #include <blkid/blkid.h>
@@ -1035,6 +1036,11 @@ static int ext2fs_get_device_geometry(const char *file,
 	blkid_topology tp;
 	unsigned long min_io;
 	unsigned long opt_io;
+	struct stat statbuf;
+
+	/* Nothing to do for a regular file */
+	if (!stat(file, &statbuf) && S_ISREG(statbuf.st_mode))
+		return 0;
 
 	pr = blkid_new_probe_from_filename(file);
 	if (!pr)
@@ -1630,7 +1636,7 @@ got_size:
 	retval = ext2fs_get_device_geometry(device_name, &fs_param);
 	if (retval < 0) {
 		fprintf(stderr,
-			_("warning: Unable to get device geometry for %s"),
+			_("warning: Unable to get device geometry for %s\n"),
 			device_name);
 	} else if (retval) {
 		printf(_("%s alignment is offset by %lu bytes.\n"),




Index: e2fsprogs.spec
===================================================================
RCS file: /cvs/pkgs/rpms/e2fsprogs/devel/e2fsprogs.spec,v
retrieving revision 1.155
retrieving revision 1.156
diff -u -p -r1.155 -r1.156
--- e2fsprogs.spec	10 Nov 2009 23:23:20 -0000	1.155
+++ e2fsprogs.spec	26 Jan 2010 04:38:37 -0000	1.156
@@ -4,7 +4,7 @@
 Summary: Utilities for managing ext2, ext3, and ext4 filesystems
 Name: e2fsprogs
 Version: 1.41.9
-Release: 8%{?dist}
+Release: 9%{?dist}
 
 # License tags based on COPYING file distinctions for various components
 License: GPLv2
@@ -18,6 +18,9 @@ Patch5: e2fsprogs-1.41.9-24hr-fsck-grace
 Patch6: e2fsprogs-1.41.9-topology.patch
 Patch7: e2fsprogs-1.41.9-trim.patch
 Patch8: e4fsprogs-1.41.9-s_jnl_blocks-swap.patch
+Patch9: e2fsprogs-1.41.9-topology-quiet.patch
+Patch10: e2fsprogs-1.41.9-resize-array.patch
+Patch11: e2fsprogs-1.41.9-dlopen-fix.patch
 
 Url: http://e2fsprogs.sourceforge.net/
 BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@@ -148,11 +151,14 @@ It was originally inspired by the Multic
 %patch6 -p1 -b .topo
 %patch7 -p1 -b .trim
 %patch8 -p1 -b .journalblocks
+%patch9 -p1 -b .topo2
+%patch10 -p1 -b .resize2
+%patch11 -p1 -b .dlopen
 
 %build
 %configure --enable-elf-shlibs --enable-nls --disable-uuidd --disable-fsck \
 	   --disable-e2initrd-helper --disable-libblkid --disable-libuuid
-make %{?_smp_mflags} V=1
+make %{?_smp_mflags}
 
 %install
 rm -rf %{buildroot}
@@ -175,7 +181,7 @@ chmod +w %{buildroot}%{_libdir}/*.a
 %find_lang %{name}
 
 %check
-# make check
+make check
 
 %clean
 rm -rf %{buildroot}
@@ -311,6 +317,11 @@ exit 0
 %{_libdir}/pkgconfig/ss.pc
 
 %changelog
+* Sat Jan 23 2010 Eric Sandeen <sandeen at redhat.com> 1.41.9-9
+- Fix up stray output & re-enable make check
+- Fix dlopen issues for newer libreadline
+- Fix access beyond end of array in resize2fs
+
 * Tue Nov 10 2009 Eric Sandeen <sandeen at redhat.com> 1.41.9-8
 - Fix up topology patch to build w/ new util-linux-ng
 - Fix endian swapping of backup journal blocks in sb



More information about the scm-commits mailing list