dpkg 1.22.7-3-g89f48
|
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>
Data Fields | |
struct fsys_namenode * | useinstead |
struct fsys_namenode * | camefrom |
struct pkgset * | pkgset |
struct fsys_diversion * | next |
The ‘contested’ halves are in this list for easy cleanup. | |
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.
struct fsys_namenode* fsys_diversion::camefrom |
Referenced by ensure_diversions(), namenodetouse(), and tarobject().
struct fsys_diversion* fsys_diversion::next |
The ‘contested’ halves are in this list for easy cleanup.
Referenced by ensure_diversions().
struct pkgset* fsys_diversion::pkgset |
Referenced by ensure_diversions(), namenodetouse(), and tarobject().
struct fsys_namenode* fsys_diversion::useinstead |
Referenced by ensure_diversions(), namenodetouse(), and tarobject().