Hello,
FWIW I rebased the patchs. Please find them attached. It looks like 2 pretty
minor bugfixes that should be safe to apply.
Cheers,
--
Raphaël Hertzog
Le best-seller français mis à jour pour Debian Etch :
http://www.ouaza.com/livre/admin-debian/
>From fb03c754185dfb50c34b6863ed5060e3d0a78490 Mon Sep 17 00:00:00 2001
From: Egmont Koblinger <[EMAIL PROTECTED]>
Date: Thu, 1 Nov 2007 16:17:12 +0000
Subject: [PATCH] Fix a bug in configuration file handling where dpkg didn't respect the --root argument
* src/processarc.c: lstat correct conffile path even with --root.
Previously we would incorrectly ignore --root here. Closes: #281057
---
src/processarc.c | 9 +++++++--
1 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/src/processarc.c b/src/processarc.c
index 1550414..cbad9ba 100644
--- a/src/processarc.c
+++ b/src/processarc.c
@@ -60,7 +60,7 @@ void process_archive(const char *filename) {
static char *cidirbuf = NULL, *reasmbuf = NULL;
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;
@@ -670,7 +670,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);
--
1.5.3.8
>From 88605d1adc515e052c7f7b29ff45b79925bb3343 Mon Sep 17 00:00:00 2001
From: Ian Jackson <[EMAIL PROTECTED]>
Date: Mon, 19 Nov 2007 21:19:36 +0100
Subject: [PATCH] * src/processarc.c (process_archive): Fix incorrect sizeof in a memset call.
---
src/processarc.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/src/processarc.c b/src/processarc.c
index cbad9ba..ac48208 100644
--- a/src/processarc.c
+++ b/src/processarc.c
@@ -680,7 +680,7 @@ void process_archive(const char *filename) {
ohshite(_("unable to stat other new file `%.250s'"),
cfile->namenode->name);
memset(cfile->namenode->filestat, 0,
- sizeof(cfile->namenode->filestat));
+ sizeof(*cfile->namenode->filestat));
continue;
}
}
--
1.5.3.8