dpkg 1.21.11
Data Fields
fsys_diversion Struct Reference

When we deal with an ‘overridden’ file, every package except the overriding one is considered to contain the other file instead. More...

#include <fsys.h>

Collaboration diagram for fsys_diversion:
[legend]

Data Fields

struct fsys_namenodeuseinstead
 
struct fsys_namenodecamefrom
 
struct pkgsetpkgset
 
struct fsys_diversionnext
 The ‘contested’ halves are in this list for easy cleanup. More...
 

Detailed Description

When we deal with an ‘overridden’ file, every package except the overriding one is considered to contain the other file instead.

Both files have entries in the filesdb database, and they refer to each other via these diversion structures.

The contested filename's fsys_namenode has a diversion entry with useinstead set to point to the redirected filename's fsys_namenode; the redirected fsys_namenode has camefrom set to the contested fsys_namenode. Both sides' diversion entries will have pkg set to the package (if any) which is allowed to use the contended filename.

Packages that contain either version of the file will all refer to the contested fsys_namenode in their per-file package lists (both in core and on disk). References are redirected to the other fsys_namenode's filename where appropriate.

Field Documentation

◆ camefrom

struct fsys_namenode* fsys_diversion::camefrom

Referenced by namenodetouse(), and tarobject().

◆ next

struct fsys_diversion* fsys_diversion::next

The ‘contested’ halves are in this list for easy cleanup.

◆ pkgset

struct pkgset* fsys_diversion::pkgset

Referenced by namenodetouse(), and tarobject().

◆ useinstead

struct fsys_namenode* fsys_diversion::useinstead

Referenced by namenodetouse(), and tarobject().


The documentation for this struct was generated from the following file: