dpkg 1.22.7-3-g89f48
|
#include <config.h>
#include <compat.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <string.h>
#include <pwd.h>
#include <grp.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <dpkg/i18n.h>
#include <dpkg/dpkg.h>
#include <dpkg/dpkg-db.h>
#include <dpkg/path.h>
#include <dpkg/dir.h>
#include <dpkg/fdio.h>
#include <dpkg/pkg-array.h>
#include <dpkg/pkg-files.h>
#include <dpkg/progress.h>
#include <dpkg/db-ctrl.h>
#include <dpkg/db-fsys.h>
Enumerations | |
enum | pkg_filesdb_load_status { PKG_FILESDB_LOAD_NONE = 0 , PKG_FILESDB_LOAD_INPROGRESS = 1 , PKG_FILESDB_LOAD_DONE = 2 } |
Functions | |
void | note_must_reread_files_inpackage (struct pkginfo *pkg) |
void | ensure_packagefiles_available (struct pkginfo *pkg) |
Load the list of files in this package into memory, or update the list if it is there but stale. | |
void | ensure_allinstfiles_available (void) |
void | ensure_allinstfiles_available_quiet (void) |
void | write_filelist_except (struct pkginfo *pkg, struct pkgbin *pkgbin, struct fsys_namenode_list *list, enum fsys_namenode_flags mask) |
void ensure_allinstfiles_available | ( | void | ) |
References _, ensure_packagefiles_available(), fsys_hash_entries(), max, pkg_array::n_pkgs, P_, pkg_array_destroy(), pkg_array_init_from_hash(), PKG_FILESDB_LOAD_DONE, PKG_FILESDB_LOAD_INPROGRESS, pkg_hash_count_pkg(), pkg_array::pkgs, progress_done(), progress_init(), and progress_step().
Referenced by deferred_remove(), ensure_allinstfiles_available_quiet(), and process_archive().
void ensure_allinstfiles_available_quiet | ( | void | ) |
References ensure_allinstfiles_available(), and PKG_FILESDB_LOAD_DONE.
void ensure_packagefiles_available | ( | struct pkginfo * | pkg | ) |
Load the list of files in this package into memory, or update the list if it is there but stale.
References _, varbuf::buf, pkginfo::configversion, DPKG_ERROR_INIT, dpkg_error_print(), dpkg_version_is_informative(), file_slurp(), pkginfo::files, pkginfo::files_list_valid, pkginfo::installed, LISTFILE, onerr_abort, pkg_files_blank(), pkg_infodb_get_file(), pkg_name(), PKG_STAT_CONFIGFILES, PKG_STAT_NOTINSTALLED, pnaw_nonambig, pkginfo::status, dpkg_error::syserrno, dpkg_error::type, varbuf::used, varbuf_destroy(), VARBUF_INIT, and warning().
Referenced by ensure_allinstfiles_available().
void note_must_reread_files_inpackage | ( | struct pkginfo * | pkg | ) |
References pkginfo::files_list_valid.
Referenced by write_filelist_except().
void write_filelist_except | ( | struct pkginfo * | pkg, |
struct pkgbin * | pkgbin, | ||
struct fsys_namenode_list * | list, | ||
enum fsys_namenode_flags | mask | ||
) |
References atomic_file_close(), atomic_file_commit(), atomic_file_free(), atomic_file_new(), atomic_file_open(), atomic_file_sync(), dir_sync_path(), fsys_namenode::flags, LISTFILE, fsys_namenode::name, fsys_namenode_list::namenode, fsys_namenode_list::next, note_must_reread_files_inpackage(), pkg_infodb_get_dir(), and pkg_infodb_get_file().
Referenced by process_archive().