rpms/rpm/devel rpm-4.4.2.1-debuginfo-names.patch, NONE, 1.1 rpm-4.4.2.1-estale.patch, NONE, 1.1 rpm.spec, 1.247, 1.248

Panu Matilainen (pmatilai) fedora-extras-commits at redhat.com
Tue Aug 14 07:37:15 UTC 2007


Author: pmatilai

Update of /cvs/pkgs/rpms/rpm/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv2695

Modified Files:
	rpm.spec 
Added Files:
	rpm-4.4.2.1-debuginfo-names.patch rpm-4.4.2.1-estale.patch 
Log Message:
- another debugedit fix from Roland McGrath
- make popt provide popt-devel to further ease split-off transition
- skip ESTALE and EACCESS on mountpoints from Jeff Johnson (#190496, #220991)


rpm-4.4.2.1-debuginfo-names.patch:

--- NEW FILE rpm-4.4.2.1-debuginfo-names.patch ---
>From roland at redhat.com Sun Aug 12 15:45:49 2007
Date: Sun, 12 Aug 2007 05:45:16 -0700 (PDT)
From: Roland McGrath <roland at redhat.com>
To: Panu Matilainen <pmatilai at redhat.com>
Cc: Paul Nasrat <pnasrat at redhat.com>
Subject: Re: debugedit.c goof

> No need, already applied upstream HEAD, 4.4.x branch and rawhide build 
> with the fix triggered.

Too quick!  I have another fix. ;-)

This one is less trivial, and not tested.  It should make it put names in
the -l file when they match the edit replace directory name as well as the
edit match directory name, the point being that it emits the same names
when run twice in a row.

Thanks,
Roland


diff -r fb1ee4c438c9 tools/debugedit.c
--- a/tools/debugedit.c	Sun Aug 12 15:27:46 2007 +0300
+++ b/tools/debugedit.c	Sun Aug 12 05:42:13 2007 -0700
@@ -567,23 +567,22 @@ edit_dwarf2_line (DSO *dso, uint_32 off,
 	  memcpy (s + comp_dir_len + 1 + dir_len + 1, file, file_len + 1);
 	}
       canonicalize_path (s, s);
-      if (base_dir == NULL ||
-	  has_prefix (s, base_dir))
-	{
-	  char *p;
-	  size_t size;
-	  ssize_t ret;
-	  if (base_dir)
+      if (list_file_fd != -1)
+	{
+	  char *p = NULL;
+	  if (base_dir == NULL)
+	    p = s;
+	  else if (has_prefix (s, base_dir))
 	    p = s + strlen (base_dir);
-	  else
-	    p = s;
-	  
-	  if (list_file_fd != -1)
+	  else if (has_prefix (s, dest_dir))
+	    p = s + strlen (dest_dir);
+
+	  if (p)
 	    {
-	      size = strlen (p) + 1;
+	      size_t size = strlen (p) + 1;
 	      while (size > 0)
 		{
-		  ret = write (list_file_fd, p, size);
+		  ssize_t ret = write (list_file_fd, p, size);
 		  if (ret == -1)
 		    break;
 		  size -= ret;

rpm-4.4.2.1-estale.patch:

--- NEW FILE rpm-4.4.2.1-estale.patch ---
changeset:   6253:a5f774e61a47
user:        Panu Matilainen <pmatilai at redhat.com>
date:        Thu Aug 09 21:50:56 2007 +0300
files:       lib/fs.c
description:
Skip stale and unaccessible (FUSE) mountpoints (rhbz#190496, 220991)
Ported from rpm5.org work of Jeff Johnson.


diff -r 0cda3105a3c4 -r a5f774e61a47 lib/fs.c
--- a/lib/fs.c	Thu Aug 09 19:26:05 2007 +0300
+++ b/lib/fs.c	Thu Aug 09 21:50:56 2007 +0300
@@ -109,11 +109,17 @@ static int getFilesystemList(void)
 	filesystems[i].mntPoint = fsnames[i] = fsn;
 	
 	if (stat(filesystems[i].mntPoint, &sb)) {
-	    rpmError(RPMERR_STAT, _("failed to stat %s: %s\n"), fsnames[i],
+	    switch (errno) {
+	    case EACCES: /* fuse mount */
+	    case ESTALE: 
+		continue;
+	    default:
+	    	rpmError(RPMERR_STAT, _("failed to stat %s: %s\n"), fsnames[i],
 			strerror(errno));
 
-	    freeFilesystems();
-	    return 1;
+	    	freeFilesystems();
+	    	return 1;
+	    }
 	}
 	
 	filesystems[i].dev = sb.st_dev;



Index: rpm.spec
===================================================================
RCS file: /cvs/pkgs/rpms/rpm/devel/rpm.spec,v
retrieving revision 1.247
retrieving revision 1.248
diff -u -r1.247 -r1.248
--- rpm.spec	12 Aug 2007 12:37:33 -0000	1.247
+++ rpm.spec	14 Aug 2007 07:36:42 -0000	1.248
@@ -14,7 +14,7 @@
 Name: rpm
 Version: 4.4.2.1
 %{expand: %%define rpm_version %{version}}
-Release: 6%{?dist}
+Release: 7%{?dist}
 Group: System Environment/Base
 Url: http://www.rpm.org/
 Source: rpm-%{rpm_version}.tar.gz
@@ -35,6 +35,8 @@
 Patch15: rpm-4.4.2.1-config-mtime.patch
 Patch16: rpm-4.4.2.1-strict-docdir.patch
 Patch17: rpm-4.4.2.1-buildid-thinko.patch
+Patch18: rpm-4.4.2.1-estale.patch
+Patch19: rpm-4.4.2.1-debuginfo-names.patch
 # XXX Beware, this is one murky license, partially GPL/LGPL dual-licensed
 # and several different components with their own licenses included...
 License: (GPLv2 and LGPLv2 with exceptions) and BSD and MIT and Sleepycat
@@ -133,6 +135,7 @@
 Group: Development/Libraries
 Version: 1.10.2.1
 License: MIT
+Provides: popt-devel = %{name}-%{version}
 
 %description -n popt
 Popt is a C library for parsing command line parameters. Popt was
@@ -163,6 +166,9 @@
 %patch15 -p1 -b .config-mtime
 %patch16 -p1 -b .strict-docdir
 %patch17 -p1 -b .buildid-thinko
+%patch18 -p1 -b .estale
+%patch19 -p1 -b .debugedit-names
+
 cp -f %{SOURCE2} scripts/find-debuginfo.sh
 
 %build
@@ -467,6 +473,11 @@
 %{__includedir}/popt.h
 
 %changelog
+* Mon Aug 13 2007 Panu Matilainen <pmatilai at redhat.com> - 4.4.2.1-7
+- another debugedit fix from Roland McGrath
+- make popt provide popt-devel to further ease split-off transition
+- skip ESTALE and EACCESS on mountpoints from Jeff Johnson (#190496, #220991)
+
 * Sun Aug 12 2007 Panu Matilainen <pmatilai at redhat.com> - 4.4.2.1-6
 - debugedit buildid thinko fix from Roland McGrath
 - loosen up popt-dependency to prepare for splitting it off




More information about the scm-commits mailing list