瀏覽代碼

dpkg: Pass struct pkgbin to namenodetouse()

Guillem Jover 14 年之前
父節點
當前提交
ff66f87ae8
共有 6 個文件被更改,包括 18 次插入11 次删除
  1. 5 4
      src/archives.c
  2. 2 1
      src/configure.c
  3. 4 1
      src/help.c
  4. 2 1
      src/main.h
  5. 3 2
      src/processarc.c
  6. 2 2
      src/remove.c

+ 5 - 4
src/archives.c

@@ -492,7 +492,7 @@ tarobject(void *ctx, struct tar_entry *ti)
   else
     st = &ti->stat;
 
-  usenode = namenodetouse(nifd->namenode, tc->pkg);
+  usenode = namenodetouse(nifd->namenode, tc->pkg, &tc->pkg->available);
   usename = usenode->name + 1; /* Skip the leading '/'. */
 
   trig_file_activate(usenode, tc->pkg);
@@ -767,7 +767,8 @@ tarobject(void *ctx, struct tar_entry *ti)
     varbuf_add_str(&hardlinkfn, instdir);
     varbuf_add_char(&hardlinkfn, '/');
     linknode = findnamenode(ti->linkname, 0);
-    varbuf_add_str(&hardlinkfn, namenodetouse(linknode, tc->pkg)->name);
+    varbuf_add_str(&hardlinkfn,
+                   namenodetouse(linknode, tc->pkg, &tc->pkg->available)->name);
     if (linknode->flags & (fnnf_deferred_rename|fnnf_new_conff))
       varbuf_add_str(&hardlinkfn, DPKGNEWEXT);
     varbuf_end_str(&hardlinkfn);
@@ -896,7 +897,7 @@ tar_writeback_barrier(struct fileinlist *files, struct pkginfo *pkg)
     if (!(cfile->namenode->flags & fnnf_deferred_fsync))
       continue;
 
-    usenode = namenodetouse(cfile->namenode, pkg);
+    usenode = namenodetouse(cfile->namenode, pkg, &pkg->available);
     usename = usenode->name + 1; /* Skip the leading '/'. */
 
     setupfnamevbs(usename);
@@ -934,7 +935,7 @@ tar_deferred_extract(struct fileinlist *files, struct pkginfo *pkg)
     if (!(cfile->namenode->flags & fnnf_deferred_rename))
       continue;
 
-    usenode = namenodetouse(cfile->namenode, pkg);
+    usenode = namenodetouse(cfile->namenode, pkg, &pkg->available);
     usename = usenode->name + 1; /* Skip the leading '/'. */
 
     setupfnamevbs(usename);

+ 2 - 1
src/configure.c

@@ -79,7 +79,8 @@ deferred_configure_conffile(struct pkginfo *pkg, struct conffile *conff)
 	char *cdr2rest;
 	int r;
 
-	usenode = namenodetouse(findnamenode(conff->name, fnn_nocopy), pkg);
+	usenode = namenodetouse(findnamenode(conff->name, fnn_nocopy),
+                                pkg, &pkg->installed);
 
 	r = conffderef(pkg, &cdr, usenode->name);
 	if (r == -1) {

+ 4 - 1
src/help.c

@@ -55,7 +55,10 @@ const char *const statusstrings[]= {
   [stat_installed]       = N_("installed")
 };
 
-struct filenamenode *namenodetouse(struct filenamenode *namenode, struct pkginfo *pkg) {
+struct filenamenode *
+namenodetouse(struct filenamenode *namenode, struct pkginfo *pkg,
+              struct pkgbin *pkgbin)
+{
   struct filenamenode *r;
 
   if (!namenode->divert) {

+ 2 - 1
src/main.h

@@ -229,7 +229,8 @@ int secure_unlink(const char *pathname);
 int secure_unlink_statted(const char *pathname, const struct stat *stab);
 void checkpath(void);
 
-struct filenamenode *namenodetouse(struct filenamenode*, struct pkginfo*);
+struct filenamenode *namenodetouse(struct filenamenode *namenode,
+                                   struct pkginfo *pkg, struct pkgbin *pkgbin);
 
 int maintainer_script_installed(struct pkginfo *pkg, const char *scriptname,
                                 const char *desc, ...) DPKG_ATTR_SENTINEL;

+ 3 - 2
src/processarc.c

@@ -910,7 +910,7 @@ void process_archive(const char *filename) {
         (namenode->flags & fnnf_new_inarchive))
       continue;
 
-    usenode = namenodetouse(namenode, pkg);
+    usenode = namenodetouse(namenode, pkg, &pkg->installed);
     trig_file_activate(usenode, pkg);
 
     varbuf_trunc(&fnamevb, fnameidlu);
@@ -1293,7 +1293,8 @@ void process_archive(const char *filename) {
   for (cfile= newfileslist; cfile; cfile= cfile->next) {
     if (cfile->namenode->flags & fnnf_new_conff) continue;
     varbuf_trunc(&fnametmpvb, fnameidlu);
-    varbuf_add_str(&fnametmpvb, namenodetouse(cfile->namenode, pkg)->name);
+    varbuf_add_str(&fnametmpvb,
+                   namenodetouse(cfile->namenode, pkg, &pkg->installed)->name);
     varbuf_add_str(&fnametmpvb, DPKGTEMPEXT);
     varbuf_end_str(&fnametmpvb);
     ensure_pathname_nonexisting(fnametmpvb.buf);

+ 2 - 2
src/remove.c

@@ -226,7 +226,7 @@ removal_bulk_remove_files(struct pkginfo *pkg)
         continue;
       }
 
-      usenode = namenodetouse(namenode, pkg);
+      usenode = namenodetouse(namenode, pkg, &pkg->installed);
       trig_file_activate(usenode, pkg);
 
       varbuf_reset(&fnvb);
@@ -334,7 +334,7 @@ static void removal_bulk_remove_leftover_dirs(struct pkginfo *pkg) {
       continue;
     }
 
-    usenode = namenodetouse(namenode, pkg);
+    usenode = namenodetouse(namenode, pkg, &pkg->installed);
     trig_file_activate(usenode, pkg);
 
     varbuf_reset(&fnvb);