dpkg 1.22.7-3-g89f48
Loading...
Searching...
No Matches
Functions | Variables
configure.c File Reference

(1a7b7d52e)

#include <config.h>
#include <compat.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/wait.h>
#include <errno.h>
#include <ctype.h>
#include <string.h>
#include <time.h>
#include <fcntl.h>
#include <dirent.h>
#include <termios.h>
#include <unistd.h>
#include <stdint.h>
#include <stdlib.h>
#include <stdio.h>
#include <dpkg/macros.h>
#include <dpkg/i18n.h>
#include <dpkg/dpkg.h>
#include <dpkg/dpkg-db.h>
#include <dpkg/pkg.h>
#include <dpkg/buffer.h>
#include <dpkg/file.h>
#include <dpkg/path.h>
#include <dpkg/subproc.h>
#include <dpkg/command.h>
#include <dpkg/pager.h>
#include <dpkg/triglib.h>
#include <dpkg/db-fsys.h>
#include "main.h"
Include dependency graph for configure.c:

Functions

void deferred_configure (struct pkginfo *pkg)
 Process the deferred configure package.
 
int conffderef (struct pkginfo *pkg, struct varbuf *result, const char *in)
 Dereference a file by following all possibly used symlinks.
 
void md5hash (struct pkginfo *pkg, char *hashbuf, const char *fn)
 Generate a file contents MD5 hash.
 

Variables

enum DPKG_ATTR_ENUM_FLAGS conffopt
 
 CFOF_PROMPT = DPKG_BIT(0)
 
 CFOF_KEEP = DPKG_BIT(1)
 
 CFOF_INSTALL = DPKG_BIT(2)
 
 CFOF_BACKUP = DPKG_BIT(3)
 
 CFOF_NEW_CONFF = DPKG_BIT(4)
 
 CFOF_IS_NEW = DPKG_BIT(5)
 
 CFOF_IS_OLD = DPKG_BIT(6)
 
 CFOF_USER_DEL = DPKG_BIT(7)
 
 CFO_KEEP = CFOF_KEEP
 
 CFO_IDENTICAL = CFOF_KEEP
 
 CFO_INSTALL = CFOF_INSTALL
 
 CFO_NEW_CONFF = CFOF_NEW_CONFF | CFOF_INSTALL
 
 CFO_PROMPT = CFOF_PROMPT
 
 CFO_PROMPT_KEEP = CFOF_PROMPT | CFOF_KEEP
 
 CFO_PROMPT_INSTALL = CFOF_PROMPT | CFOF_INSTALL
 

Function Documentation

◆ conffderef()

int conffderef ( struct pkginfo pkg,
struct varbuf result,
const char *  in 
)

Dereference a file by following all possibly used symlinks.

Parameters
[in]pkgThe package to act on.
[out]resultThe dereference conffile path.
[in]inThe conffile path to dereference.
Returns
An error code for the operation.
Return values
0Everything went ok.
-1Otherwise.

References _, varbuf::buf, dbg_conff, dbg_conffdetail, debug(), dpkg_fsys_get_dir(), file_readlink(), pkg_name(), pnaw_nonambig, varbuf::used, varbuf_add_str, varbuf_add_varbuf(), VARBUF_INIT, varbuf_set_str, varbuf_str(), varbuf_trunc(), and warning().

Referenced by tarobject().

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

◆ deferred_configure()

void deferred_configure ( struct pkginfo pkg)

Process the deferred configure package.

Parameters
pkgThe package to act on.

References _, pkginfo::arch_next, breakses_ok(), pkginfo::clientdata, conffile_is_disappearing(), pkgbin::conffiles, pkginfo::configversion, dbg_general, debug(), DEP_CHECK_DEFER, DEP_CHECK_HALT, DEPEND_TRY_CYCLES, dependencies_ok(), dpkg_version_compare(), dpkg_version_is_informative(), pkginfo::eflag, enqueue_package(), ensure_package_clientdata(), f_noact, findbreakcycle(), FORCE_REMOVE_REINSTREQ, forcibleerr(), pkginfo::installed, internerr, perpackagestate::istobe, log_action(), maintscript_postinst(), modstatdb_note(), conffile::next, notice(), ohshit(), pkgset::pkg, PKG_EFLAG_REINSTREQ, PKG_ISTOBE_INSTALLNEW, PKG_ISTOBE_NORMAL, pkg_name(), pkg_reset_eflags(), pkg_set_status(), PKG_STAT_CONFIGFILES, PKG_STAT_HALFCONFIGURED, PKG_STAT_INSTALLED, PKG_STAT_NOTINSTALLED, PKG_STAT_UNPACKED, pkg_status_name(), pnaw_always, pnaw_nonambig, post_postinst_tasks(), pkginfo::set, sincenothing, pkginfo::status, trig_activate_packageprocessing(), pkginfo::trigpend_head, trigproc_reset_cycle(), varbuf::used, varbuf_destroy(), VARBUF_INIT, varbuf_str(), vdew_nonambig, pkgbin::version, and versiondescribe().

Referenced by process_queue().

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

◆ md5hash()

void md5hash ( struct pkginfo pkg,
char *  hashbuf,
const char *  fn 
)

Generate a file contents MD5 hash.

The caller is responsible for providing a buffer for the hash result at least MD5HASHLEN + 1 characters long.

Parameters
[in]pkgThe package to act on.
[out]hashbufThe buffer to store the generated hash.
[in]fnThe filename.

References _, cu_closefd(), ehflag_bombout, ehflag_normaltidy, EMPTYHASHFLAG, fd_md5, NONEXISTENTFLAG, ohshit(), pkg_name(), pnaw_nonambig, pop_cleanup(), push_cleanup(), dpkg_error::str, dpkg_error::type, and warning().

Referenced by tarobject().

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

Variable Documentation

◆ CFO_IDENTICAL

CFO_IDENTICAL = CFOF_KEEP

◆ CFO_INSTALL

CFO_INSTALL = CFOF_INSTALL

◆ CFO_KEEP

CFO_KEEP = CFOF_KEEP

◆ CFO_NEW_CONFF

CFO_NEW_CONFF = CFOF_NEW_CONFF | CFOF_INSTALL

◆ CFO_PROMPT

CFO_PROMPT = CFOF_PROMPT

◆ CFO_PROMPT_INSTALL

CFO_PROMPT_INSTALL = CFOF_PROMPT | CFOF_INSTALL

◆ CFO_PROMPT_KEEP

CFO_PROMPT_KEEP = CFOF_PROMPT | CFOF_KEEP

◆ CFOF_BACKUP

CFOF_BACKUP = DPKG_BIT(3)

◆ CFOF_INSTALL

CFOF_INSTALL = DPKG_BIT(2)

◆ CFOF_IS_NEW

CFOF_IS_NEW = DPKG_BIT(5)

◆ CFOF_IS_OLD

CFOF_IS_OLD = DPKG_BIT(6)

◆ CFOF_KEEP

CFOF_KEEP = DPKG_BIT(1)

◆ CFOF_NEW_CONFF

CFOF_NEW_CONFF = DPKG_BIT(4)

◆ CFOF_PROMPT

CFOF_PROMPT = DPKG_BIT(0)

◆ CFOF_USER_DEL

CFOF_USER_DEL = DPKG_BIT(7)

◆ conffopt

enum DPKG_ATTR_ENUM_FLAGS conffopt