dpkg 1.21.11
Data Structures | Functions
trigproc.c File Reference

(affb86e43)

#include <config.h>
#include <compat.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <stdlib.h>
#include <dpkg/i18n.h>
#include <dpkg/dpkg.h>
#include <dpkg/dpkg-db.h>
#include <dpkg/pkg.h>
#include <dpkg/pkg-queue.h>
#include <dpkg/db-ctrl.h>
#include <dpkg/db-fsys.h>
#include <dpkg/triglib.h>
#include "main.h"
Include dependency graph for trigproc.c:

Data Structures

struct  trigcyclenode
 
struct  trigcycleperpkg
 

Functions

void trigproc_populate_deferred (void)
 Populate the deferred trigger queue. More...
 
void trigproc_run_deferred (void)
 
void trig_activate_packageprocessing (struct pkginfo *pkg)
 
void trigproc_reset_cycle (void)
 
void trigproc (struct pkginfo *pkg, enum trigproc_type type)
 
void trigproc_install_hooks (void)
 

Function Documentation

◆ trig_activate_packageprocessing()

void trig_activate_packageprocessing ( struct pkginfo pkg)

References dbg_triggersdetail, debug(), pkginfo::installed, pkg_infodb_get_file(), pkg_name(), pnaw_always, trig_cicb_statuschange_activate(), trig_parse_ci(), and TRIGGERSCIFILE.

Referenced by deferred_configure().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ trigproc()

void trigproc ( struct pkginfo pkg,
enum trigproc_type  type 
)

◆ trigproc_install_hooks()

void trigproc_install_hooks ( void  )

References trig_override_hooks().

Referenced by archivefiles(), and packages().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ trigproc_populate_deferred()

void trigproc_populate_deferred ( void  )

Populate the deferred trigger queue.

When dpkg is called with a specific set of packages to act on, we might have packages pending trigger processing. But because there are frontends that do not perform a final «dpkg –configure –pending» call (i.e. apt), the system is left in a state with packages not fully installed.

We have to populate the deferred trigger queue from the entire package database, so that we might try to do opportunistic trigger processing when going through the deferred trigger queue, because a fixed apt will not request the necessary processing anyway.

XXX: This can be removed once apt is fixed in the next stable release.

References pkg_hash_iter_new(), pkg_hash_iter_next_pkg(), PKG_STAT_TRIGGERSAWAITED, PKG_STAT_TRIGGERSPENDING, PKG_WANT_HOLD, PKG_WANT_INSTALL, pkginfo::status, pkginfo::trigpend_head, and pkginfo::want.

Here is the call graph for this function:

◆ trigproc_reset_cycle()

void trigproc_reset_cycle ( void  )

Referenced by deferred_configure().

Here is the caller graph for this function:

◆ trigproc_run_deferred()

void trigproc_run_deferred ( void  )

References dbg_triggers, debug(), and pkg_queue_is_empty().

Here is the call graph for this function: