- 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)
This commit is contained in:
Panu Matilainen 2007-08-14 07:36:42 +00:00
parent e910076f01
commit 6d40e7b38d
3 changed files with 106 additions and 1 deletions

View File

@ -0,0 +1,60 @@
From roland@redhat.com Sun Aug 12 15:45:49 2007
Date: Sun, 12 Aug 2007 05:45:16 -0700 (PDT)
From: Roland McGrath <roland@redhat.com>
To: Panu Matilainen <pmatilai@redhat.com>
Cc: Paul Nasrat <pnasrat@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;

34
rpm-4.4.2.1-estale.patch Normal file
View File

@ -0,0 +1,34 @@
changeset: 6253:a5f774e61a47
user: Panu Matilainen <pmatilai@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;

View File

@ -14,7 +14,7 @@ Summary: The RPM package management system
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 @@ Patch14: rpm-4.4.2.1-rpm-glibc.patch
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 @@ Summary: A C library for parsing command line parameters
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 @@ shell-like rules.
%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 @@ exit 0
%{__includedir}/popt.h
%changelog
* Mon Aug 13 2007 Panu Matilainen <pmatilai@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@redhat.com> - 4.4.2.1-6
- debugedit buildid thinko fix from Roland McGrath
- loosen up popt-dependency to prepare for splitting it off