The following commit has been merged in the iwj branch:
commit 393b1a9e4a1ecf60e0dd2c9af29433dfee215772
Author: Ian Jackson <[EMAIL PROTECTED]>
Date: Thu Nov 1 16:17:12 2007 +0000
* lstat correct conffile path even with --root. Closes: #281057.
Previously we would incorrectly ignore --root here. The change is
dpkg-1.13.22-oom-part2.patch from Egmont's June 2006 message to the
bug report, adjusted to fit without the part1 patch.
diff --git a/debian/changelog b/debian/changelog
index db30d70..97a1353 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -70,6 +70,12 @@ dpkg (1.14.8) UNRELEASED; urgency=low
* Treat successful calls to the postinst as always making the package
installed. Reverts Brian Carlson's patch from #432893.
+ [ Egmont Koblinger ]
+ * lstat correct conffile path even with --root. Closes: #281057.
+ Previously we would incorrectly ignore --root here. The change is
+ dpkg-1.13.22-oom-part2.patch from Egmont's June 2006 message to the
+ bug report, adjusted to fit without the part1 patch.
+
-- Raphael Hertzog <[EMAIL PROTECTED]> Mon, 08 Oct 2007 20:49:51 +0200
dpkg (1.14.8~newshlib) experimental; urgency=low
diff --git a/src/processarc.c b/src/processarc.c
index 6e14c33..31629da 100644
--- a/src/processarc.c
+++ b/src/processarc.c
@@ -60,7 +60,7 @@ void process_archive(const char *filename) {
static char *cidirbuf=0, *reasmbuf=0;
static struct fileinlist *newconffiles, *newfileslist;
static enum pkgstatus oldversionstatus;
- static struct varbuf infofnvb, fnvb, depprobwhy;
+ static struct varbuf infofnvb, fnvb, cfnvb, depprobwhy;
static struct tarcontext tc;
int c1, r, admindirlen, i, infodirlen, infodirbaseused, status;
@@ -681,7 +681,12 @@ void process_archive(const char *filename) {
for (cfile= newfileslist; cfile; cfile= cfile->next) {
if (!cfile->namenode->filestat) {
cfile->namenode->filestat= nfmalloc(sizeof(struct stat));
- if (lstat(cfile->namenode->name, cfile->namenode->filestat)) {
+ varbufreset(&cfnvb);
+ varbufaddstr(&cfnvb,instdir);
+ varbufaddc(&cfnvb,'/');
+ varbufaddstr(&cfnvb,cfile->namenode->name);
+ varbufaddc(&cfnvb,0);
+ if (lstat(cfnvb.buf, cfile->namenode->filestat)) {
if (!(errno == ENOENT || errno == ELOOP || errno == ENOTDIR))
ohshite(_("unable to stat other new file `%.250s'"),
cfile->namenode->name);
--
dpkg's main repository
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]