#include <stdio.h>
#include "satversion.h"
#include "pooltypes.h"
#include "poolid.h"
#include "solvable.h"
#include "bitmap.h"
#include "queue.h"
#include "strpool.h"
#include "knownid.h"
Go to the source code of this file.
Classes | |
struct | _Repopos |
struct | _Pool |
struct | _DUChanges |
Defines | |
#define | SYSTEMSOLVABLE 1 |
#define | POOL_TMPSPACEBUF 16 |
#define | SAT_FATAL (1<<0) |
#define | SAT_ERROR (1<<1) |
#define | SAT_WARN (1<<2) |
#define | SAT_DEBUG_STATS (1<<3) |
#define | SAT_DEBUG_RULE_CREATION (1<<4) |
#define | SAT_DEBUG_PROPAGATE (1<<5) |
#define | SAT_DEBUG_ANALYZE (1<<6) |
#define | SAT_DEBUG_UNSOLVABLE (1<<7) |
#define | SAT_DEBUG_SOLUTIONS (1<<8) |
#define | SAT_DEBUG_POLICY (1<<9) |
#define | SAT_DEBUG_RESULT (1<<10) |
#define | SAT_DEBUG_JOB (1<<11) |
#define | SAT_DEBUG_SCHUBI (1<<12) |
#define | SAT_DEBUG_SOLVER (1<<13) |
#define | SAT_DEBUG_TRANSACTION (1<<14) |
#define | SAT_DEBUG_TO_STDERR (1<<30) |
#define | MAKERELDEP(id) ((id) | 0x80000000) |
#define | ISRELDEP(id) (((id) & 0x80000000) != 0) |
#define | GETRELID(id) ((id) ^ 0x80000000) |
#define | GETRELDEP(pool, id) ((pool)->rels + ((id) ^ 0x80000000)) |
#define | REL_GT 1 |
#define | REL_EQ 2 |
#define | REL_LT 4 |
#define | REL_AND 16 |
#define | REL_OR 17 |
#define | REL_WITH 18 |
#define | REL_NAMESPACE 19 |
#define | REL_ARCH 20 |
#define | REL_FILECONFLICT 21 |
#define | __attribute__(x) |
#define | FOR_PROVIDES(v, vp, d) for (vp = pool_whatprovides(pool, d) ; (v = pool->whatprovidesdata[vp++]) != 0; ) |
#define | FOR_REPOS(idx, r) |
#define | POOL_DEBUG(type,...) do {if ((pool->debugmask & (type)) != 0) pool_debug(pool, (type), __VA_ARGS__);} while (0) |
#define | IF_POOLDEBUG(type) if ((pool->debugmask & (type)) != 0) |
Typedefs | |
typedef struct _Repopos | Repopos |
typedef struct _DUChanges | DUChanges |
Functions | |
Pool * | pool_create (void) |
Creates a new pool. | |
void | pool_free (Pool *pool) |
Delete a pool. | |
void | pool_setdebuglevel (Pool *pool, int level) |
void | pool_debug (Pool *pool, int type, const char *format,...) __attribute__((format(printf |
void char * | pool_alloctmpspace (Pool *pool, int len) |
char * | pool_tmpjoin (Pool *pool, const char *str1, const char *str2, const char *str3) |
void | pool_set_installed (Pool *pool, struct _Repo *repo) |
Id | pool_add_solvable (Pool *pool) |
Solvable management. | |
Id | pool_add_solvable_block (Pool *pool, int count) |
void | pool_free_solvable_block (Pool *pool, Id start, int count, int reuseids) |
static Solvable * | pool_id2solvable (const Pool *pool, Id p) |
const char * | solvable2str (Pool *pool, Solvable *s) |
static const char * | solvid2str (Pool *pool, Id p) |
void | pool_set_languages (Pool *pool, const char **languages, int nlanguages) |
Id | pool_id2langid (Pool *pool, Id id, const char *lang, int create) |
Id | solvable_lookup_id (Solvable *s, Id keyname) |
unsigned int | solvable_lookup_num (Solvable *s, Id keyname, unsigned int notfound) |
const char * | solvable_lookup_str (Solvable *s, Id keyname) |
const char * | solvable_lookup_str_poollang (Solvable *s, Id keyname) |
const char * | solvable_lookup_str_lang (Solvable *s, Id keyname, const char *lang, int usebase) |
int | solvable_lookup_bool (Solvable *s, Id keyname) |
int | solvable_lookup_void (Solvable *s, Id keyname) |
char * | solvable_get_location (Solvable *s, unsigned int *medianrp) |
const unsigned char * | solvable_lookup_bin_checksum (Solvable *s, Id keyname, Id *typep) |
const char * | solvable_lookup_checksum (Solvable *s, Id keyname, Id *typep) |
int | solvable_lookup_idarray (Solvable *s, Id keyname, Queue *q) |
int | solvable_identical (Solvable *s1, Solvable *s2) |
Id | solvable_selfprovidedep (Solvable *s) |
int | solvable_trivial_installable_map (Solvable *s, Map *installedmap, Map *conflictsmap) |
int | solvable_trivial_installable_repo (Solvable *s, struct _Repo *installed) |
int | solvable_trivial_installable_queue (Solvable *s, Queue *installed) |
void | pool_create_state_maps (Pool *pool, Queue *installed, Map *installedmap, Map *conflictsmap) |
int | pool_match_nevr_rel (Pool *pool, Solvable *s, Id d) |
int | pool_match_dep (Pool *pool, Id d1, Id d2) |
static int | pool_match_nevr (Pool *pool, Solvable *s, Id d) |
void | pool_createwhatprovides (Pool *pool) |
Prepares a pool for solving. | |
void | pool_addfileprovides (Pool *pool) |
void | pool_addfileprovides_ids (Pool *pool, struct _Repo *installed, Id **idp) |
void | pool_freewhatprovides (Pool *pool) |
Id | pool_queuetowhatprovides (Pool *pool, Queue *q) |
Id | pool_addrelproviders (Pool *pool, Id d) |
static Id | pool_whatprovides (Pool *pool, Id d) |
static Id * | pool_whatprovides_ptr (Pool *pool, Id d) |
static void | pool_setdebugcallback (Pool *pool, void(*debugcallback)(struct _Pool *, void *data, int type, const char *str), void *debugcallbackdata) |
static void | pool_setdebugmask (Pool *pool, int mask) |
static void | pool_setloadcallback (Pool *pool, int(*cb)(struct _Pool *, struct _Repodata *, void *), void *loadcbdata) |
void | pool_search (Pool *pool, Id p, Id key, const char *match, int flags, int(*callback)(void *cbdata, Solvable *s, struct _Repodata *data, struct _Repokey *key, struct _KeyValue *kv), void *cbdata) |
void | pool_clear_pos (Pool *pool) |
void | pool_calc_duchanges (Pool *pool, Map *installedmap, DUChanges *mps, int nmps) |
int | pool_calc_installsizechange (Pool *pool, Map *installedmap) |
void | pool_trivial_installable (Pool *pool, Map *installedmap, Queue *pkgs, Queue *res) |
void | pool_trivial_installable_noobsoletesmap (Pool *pool, Map *installedmap, Queue *pkgs, Queue *res, Map *noobsoletesmap) |
const char * | pool_lookup_str (Pool *pool, Id entry, Id keyname) |
Id | pool_lookup_id (Pool *pool, Id entry, Id keyname) |
unsigned int | pool_lookup_num (Pool *pool, Id entry, Id keyname, unsigned int notfound) |
int | pool_lookup_void (Pool *pool, Id entry, Id keyname) |
const unsigned char * | pool_lookup_bin_checksum (Pool *pool, Id entry, Id keyname, Id *typep) |
const char * | pool_lookup_checksum (Pool *pool, Id entry, Id keyname, Id *typep) |
void | pool_add_fileconflicts_deps (Pool *pool, Queue *conflicts) |
#define SYSTEMSOLVABLE 1 |
Definition at line 34 of file pool.h.
Referenced by create_transaction_info(), finddistupgradepackages(), makeruledecisions(), pool_addrelproviders(), pool_create(), providedbyinstalled(), solver_addduprules(), solver_addinfarchrules(), solver_addrpmrulesforsolvable(), solver_addupdaterule(), solver_create_decisions_obsoletesmap(), solver_createdupmaps(), solver_dep_installed(), solver_ruleinfo(), solver_solve(), and transaction_calculate().
#define POOL_TMPSPACEBUF 16 |
Definition at line 38 of file pool.h.
Referenced by pool_alloctmpspace(), and pool_free().
#define SAT_FATAL (1<<0) |
Definition at line 137 of file pool.h.
Referenced by pool_debug(), repodata_internalize(), and repodata_serialize_key().
#define SAT_ERROR (1<<1) |
Definition at line 138 of file pool.h.
Referenced by data_read_id_max(), data_read_idarray(), data_read_rel_idarray(), incore_map_idarray(), pool_debug(), read_id(), read_idarray(), read_u32(), read_u8(), and repo_add_solv_flags().
#define SAT_WARN (1<<2) |
Definition at line 139 of file pool.h.
Referenced by transaction_check_order().
#define SAT_DEBUG_STATS (1<<3) |
Definition at line 140 of file pool.h.
Referenced by breakcycle(), create_solutions(), policy_create_obsolete_index(), pool_addfileprovides_ids(), pool_addrelproviders(), pool_createwhatprovides(), pool_queuetowhatprovides(), pool_setdebuglevel(), pool_shrink_whatprovides(), repo_add_solv_flags(), solver_run_sat(), solver_solve(), solver_unifyrules(), and transaction_order().
#define SAT_DEBUG_RULE_CREATION (1<<4) |
Definition at line 141 of file pool.h.
Referenced by pool_setdebuglevel(), solver_addrpmrulesforsolvable(), solver_addrule(), and solver_run_sat().
#define SAT_DEBUG_PROPAGATE (1<<5) |
Definition at line 142 of file pool.h.
Referenced by makeruledecisions(), pool_setdebuglevel(), propagate(), revert(), and solver_run_sat().
#define SAT_DEBUG_ANALYZE (1<<6) |
Definition at line 143 of file pool.h.
Referenced by analyze(), pool_setdebuglevel(), and setpropagatelearn().
#define SAT_DEBUG_UNSOLVABLE (1<<7) |
Definition at line 144 of file pool.h.
Referenced by analyze_unsolvable(), analyze_unsolvable_rule(), makeruledecisions(), pool_setdebuglevel(), and solver_reset().
#define SAT_DEBUG_SOLUTIONS (1<<8) |
Definition at line 145 of file pool.h.
Referenced by create_solutions(), enabledisablelearntrules(), pool_setdebuglevel(), reenableduprule(), reenableinfarchrule(), reenableupdaterule(), refine_suggestion(), and solver_printproblem().
#define SAT_DEBUG_POLICY (1<<9) |
Definition at line 146 of file pool.h.
Referenced by pool_setdebuglevel(), prune_to_best_version(), selectandinstall(), and solver_run_sat().
#define SAT_DEBUG_RESULT (1<<10) |
Definition at line 147 of file pool.h.
Referenced by dump_tes(), pool_create(), pool_setdebuglevel(), solver_addchoicerules(), solver_printallsolutions(), solver_printdecisions(), solver_printproblemruleinfo(), solver_printsolution(), solver_printtransaction(), solver_printtrivial(), solver_run_sat(), and transaction_check_pkg().
#define SAT_DEBUG_JOB (1<<11) |
Definition at line 148 of file pool.h.
Referenced by pool_setdebuglevel(), and solver_solve().
#define SAT_DEBUG_SCHUBI (1<<12) |
Definition at line 149 of file pool.h.
Referenced by makeruledecisions(), pool_setdebuglevel(), refine_suggestion(), removedisabledconflicts(), solver_addrpmrulesforsolvable(), solver_addrpmrulesforupdaters(), solver_addrpmrulesforweak(), solver_addupdaterule(), solver_printdecisions(), solver_run_sat(), solver_solve(), and solver_unifyrules().
#define SAT_DEBUG_SOLVER (1<<13) |
Definition at line 150 of file pool.h.
Referenced by pool_setdebuglevel(), solver_run_sat(), and solver_solve().
#define SAT_DEBUG_TRANSACTION (1<<14) |
Definition at line 151 of file pool.h.
Referenced by pool_setdebuglevel().
#define SAT_DEBUG_TO_STDERR (1<<30) |
Definition at line 153 of file pool.h.
Referenced by pool_debug(), and pool_setdebuglevel().
#define MAKERELDEP | ( | id | ) | ((id) | 0x80000000) |
Definition at line 160 of file pool.h.
Referenced by pool_addrelproviders(), rel2id(), and repo_add_solv_flags().
#define ISRELDEP | ( | id | ) | (((id) & 0x80000000) != 0) |
Definition at line 161 of file pool.h.
Referenced by dep2name(), dep2str(), dep2strcpy(), dep2strlen(), dep_possible(), id2evr(), id2rel(), id2str(), jobtodisablelist(), pool_addfileprovides_dep(), pool_addrelproviders(), pool_createwhatprovides(), pool_match_dep(), pool_match_nevr(), pool_trivial_installable_noobsoletesmap(), pool_whatprovides(), providedbyinstalled(), repo_fix_conflicts(), repo_fix_supplements(), solvable_selfprovidedep(), solvable_trivial_installable_map(), solver_addrpmrulesforsolvable(), solver_dep_fulfilled(), solver_dep_installed(), and solver_splitprovides().
#define GETRELID | ( | id | ) | ((id) ^ 0x80000000) |
Definition at line 162 of file pool.h.
Referenced by pool_addfileprovides_dep(), pool_addrelproviders(), and pool_whatprovides().
#define GETRELDEP | ( | pool, | |||
id | ) | ((pool)->rels + ((id) ^ 0x80000000)) |
Definition at line 163 of file pool.h.
Referenced by dep2name(), dep2strcpy(), dep2strlen(), dep_possible(), id2evr(), id2rel(), id2str(), jobtodisablelist(), pool_addfileprovides_dep(), pool_addrelproviders(), pool_createwhatprovides(), pool_match_dep(), pool_match_nevr_rel(), solvable_selfprovidedep(), solver_addrpmrulesforsolvable(), solver_dep_fulfilled(), solver_dep_installed(), and solver_splitprovides().
#define REL_EQ 2 |
Definition at line 166 of file pool.h.
Referenced by jobtodisablelist(), and solvable_selfprovidedep().
#define REL_AND 16 |
Definition at line 169 of file pool.h.
Referenced by dep2strcpy(), dep_possible(), id2rel(), pool_addrelproviders(), pool_match_nevr_rel(), repo_fix_supplements(), solver_dep_fulfilled(), and solver_dep_installed().
#define REL_OR 17 |
Definition at line 170 of file pool.h.
Referenced by dep2strcpy(), id2rel(), pool_addrelproviders(), pool_match_nevr_rel(), and repo_fix_supplements().
#define REL_WITH 18 |
Definition at line 171 of file pool.h.
Referenced by dep2strcpy(), id2rel(), pool_addrelproviders(), pool_match_nevr_rel(), repo_fix_supplements(), and solver_splitprovides().
#define REL_NAMESPACE 19 |
Definition at line 172 of file pool.h.
Referenced by dep2strcpy(), dep_possible(), id2rel(), pool_addfileprovides_dep(), pool_addrelproviders(), repo_fix_conflicts(), repo_fix_supplements(), solver_addrpmrulesforsolvable(), solver_dep_fulfilled(), and solver_dep_installed().
#define REL_ARCH 20 |
Definition at line 173 of file pool.h.
Referenced by id2rel(), jobtodisablelist(), pool_addrelproviders(), and pool_match_nevr_rel().
#define REL_FILECONFLICT 21 |
Definition at line 174 of file pool.h.
Referenced by dep2strcpy(), id2rel(), pool_add_fileconflicts_deps(), pool_addfileprovides_dep(), and pool_addrelproviders().
#define FOR_PROVIDES | ( | v, | |||
vp, | |||||
d | ) | for (vp = pool_whatprovides(pool, d) ; (v = pool->whatprovidesdata[vp++]) != 0; ) |
Definition at line 332 of file pool.h.
Referenced by addsolvableedges(), create_transaction_info(), dep_possible(), findrecommendedsuggested(), jobtodisablelist(), makemultiversionconflict(), policy_create_obsolete_index(), policy_findupdatepackages(), pool_calc_duchanges(), pool_trivial_installable_noobsoletesmap(), providedbyinstalled(), providedbyinstalled_multiversion(), prune_to_best_version(), prune_to_recommended(), solvable_lookup_str_base(), solvable_trivial_installable_map(), solver_addchoicerules(), solver_addduprules(), solver_addinfarchrules(), solver_addrpmrulesforsolvable(), solver_create_decisions_obsoletesmap(), solver_createcleandepsmap(), solver_createdupmaps(), solver_dep_fulfilled(), solver_dep_installed(), solver_run_sat(), solver_solve(), solver_splitprovides(), and transaction_check_pkg().
#define FOR_REPOS | ( | idx, | |||
r | ) |
#define POOL_DEBUG | ( | type, | |||
... | ) | do {if ((pool->debugmask & (type)) != 0) pool_debug(pool, (type), __VA_ARGS__);} while (0) |
Definition at line 342 of file pool.h.
Referenced by analyze(), analyze_unsolvable(), breakcycle(), create_solutions(), dump_tes(), enabledisablelearntrules(), evrcmp_str(), makeruledecisions(), policy_create_obsolete_index(), pool_addfileprovides_ids(), pool_addrelproviders(), pool_createwhatprovides(), pool_queuetowhatprovides(), pool_shrink_whatprovides(), propagate(), prune_to_best_version(), reenableduprule(), reenableinfarchrule(), reenableupdaterule(), refine_suggestion(), removedisabledconflicts(), repo_add_solv_flags(), revert(), selectandinstall(), setpropagatelearn(), solver_addrpmrulesforsolvable(), solver_addrpmrulesforupdaters(), solver_addrpmrulesforweak(), solver_addrule(), solver_addupdaterule(), solver_printallsolutions(), solver_printdecisionq(), solver_printdecisions(), solver_printproblem(), solver_printproblemruleinfo(), solver_printrule(), solver_printruleclass(), solver_printruleelement(), solver_printsolution(), solver_printtransaction(), solver_printtrivial(), solver_printwatches(), solver_reset(), solver_run_sat(), solver_solve(), solver_unifyrules(), transaction_check_order(), transaction_check_pkg(), and transaction_order().
#define IF_POOLDEBUG | ( | type | ) | if ((pool->debugmask & (type)) != 0) |
Definition at line 343 of file pool.h.
Referenced by analyze(), analyze_unsolvable_rule(), enabledisablelearntrules(), makeruledecisions(), propagate(), reenableduprule(), reenableinfarchrule(), reenableupdaterule(), refine_suggestion(), setpropagatelearn(), solver_addrpmrulesforsolvable(), solver_addrule(), solver_printdecisions(), solver_run_sat(), solver_solve(), and solver_unifyrules().
typedef struct _DUChanges DUChanges |
Pool* pool_create | ( | void | ) |
Creates a new pool.
Definition at line 38 of file pool.c.
References _Pool::allowselfconflicts, _Solvable::arch, _Pool::debugmask, _Solvable::evr, _Solvable::name, _Pool::nrels, _Pool::nsolvables, _Pool::obsoleteusescolors, queue_init(), REL_BLOCK, _Pool::rels, sat_calloc(), SAT_DEBUG_RESULT, sat_extend_resize(), SOLVABLE_BLOCK, _Pool::solvables, _Pool::ss, stringpool_init(), SYSTEMSOLVABLE, and _Pool::vendormap.
void pool_free | ( | Pool * | pool | ) |
Delete a pool.
Definition at line 79 of file pool.c.
References _Pool::id2arch, _Pool::languagecache, _Pool::languages, _Pool::nlanguages, pool_freeidhashes(), pool_freewhatprovides(), POOL_TMPSPACEBUF, queue_free(), _Pool::rels, repo_freeallrepos(), sat_free(), _Pool::solvables, _Pool::ss, stringpool_free(), _Pool::tmpspacebuf, and _Pool::vendormap.
void pool_setdebuglevel | ( | Pool * | pool, | |
int | level | |||
) |
Definition at line 763 of file pool.c.
References _Pool::debugmask, SAT_DEBUG_ANALYZE, SAT_DEBUG_JOB, SAT_DEBUG_POLICY, SAT_DEBUG_PROPAGATE, SAT_DEBUG_RESULT, SAT_DEBUG_RULE_CREATION, SAT_DEBUG_SCHUBI, SAT_DEBUG_SOLUTIONS, SAT_DEBUG_SOLVER, SAT_DEBUG_STATS, SAT_DEBUG_TO_STDERR, SAT_DEBUG_TRANSACTION, and SAT_DEBUG_UNSOLVABLE.
void pool_debug | ( | Pool * | pool, | |
int | type, | |||
const char * | format, | |||
... | ||||
) |
void char* pool_alloctmpspace | ( | Pool * | pool, | |
int | len | |||
) |
Definition at line 1200 of file pool.c.
References POOL_TMPSPACEBUF, sat_realloc(), _Pool::tmpspacebuf, _Pool::tmpspacelen, and _Pool::tmpspacen.
Referenced by dep2str(), pool_tmpjoin(), repodata_chk2str(), repodata_dir2str(), solvable2str(), solvable_get_location(), and solver_select2str().
char* pool_tmpjoin | ( | Pool * | pool, | |
const char * | str1, | |||
const char * | str2, | |||
const char * | str3 | |||
) |
Definition at line 1215 of file pool.c.
References pool_alloctmpspace().
Definition at line 144 of file pool.c.
References _Pool::installed, and pool_freewhatprovides().
Solvable management.
Definition at line 109 of file pool.c.
References _Pool::nsolvables, sat_extend(), SOLVABLE_BLOCK, and _Pool::solvables.
Referenced by repo_add_solvable().
Definition at line 117 of file pool.c.
References _Pool::nsolvables, sat_extend(), SOLVABLE_BLOCK, and _Pool::solvables.
Referenced by repo_add_solvable_block().
Definition at line 129 of file pool.c.
References _Pool::nsolvables, and _Pool::solvables.
Referenced by repo_empty(), repo_free_solvable_block(), and repo_freeallrepos().
Definition at line 208 of file pool.h.
Referenced by repo_add_solv_flags().
Definition at line 25 of file solvable.c.
References _Solvable::arch, _Solvable::evr, id2str(), _Solvable::name, and pool_alloctmpspace().
Referenced by addsolvableedges(), dump_tes(), makeruledecisions(), prune_to_best_version(), solver_addrpmrulesforsolvable(), solver_createcleandepsmap(), solver_printdecisions(), solver_printruleelement(), solver_printsolution(), solver_printtransaction(), solvid2str(), and transaction_check_pkg().
Definition at line 214 of file pool.h.
References solvable2str(), and _Pool::solvables.
Referenced by addcycleedges(), addsolvableedges(), breakcycle(), dump_tes(), propagate(), removedisabledconflicts(), selectandinstall(), solver_addrpmrulesforsolvable(), solver_createcleandepsmap(), solver_printdecisionq(), solver_printdecisions(), solver_printproblemruleinfo(), solver_printsolution(), solver_printtrivial(), solver_run_sat(), solver_select2str(), transaction_check_pkg(), and transaction_order().
void pool_set_languages | ( | Pool * | pool, | |
const char ** | languages, | |||
int | nlanguages | |||
) |
Definition at line 1157 of file pool.c.
References _Pool::languagecache, _Pool::languagecacheother, _Pool::languages, _Pool::nlanguages, sat_calloc(), and sat_free().
Definition at line 1178 of file pool.c.
References id2str(), sat_malloc(), and str2id().
Referenced by solvable_lookup_str_lang(), and solvable_lookup_str_poollang().
Definition at line 38 of file solvable.c.
References _Repo::pool, _Solvable::repo, repo_lookup_id(), and _Pool::solvables.
Referenced by pool_lookup_id().
Definition at line 180 of file solvable.c.
References _Repo::pool, _Solvable::repo, repo_lookup_num(), and _Pool::solvables.
Referenced by pool_calc_installsizechange(), pool_lookup_num(), solvable_get_location(), solvable_identical(), and transaction_order().
Definition at line 69 of file solvable.c.
References _Repo::pool, _Solvable::repo, repo_lookup_str(), and _Pool::solvables.
Referenced by pool_lookup_str(), solvable_get_location(), solvable_lookup_str_base(), solvable_lookup_str_lang(), and solvable_lookup_str_poollang().
Definition at line 120 of file solvable.c.
References _Pool::languagecache, _Pool::languagecacheother, _Pool::languages, _Pool::nlanguages, _Repo::pool, pool_id2langid(), _Solvable::repo, sat_calloc(), sat_realloc2(), solvable_lookup_str(), and solvable_lookup_str_base().
Definition at line 166 of file solvable.c.
References _Repo::pool, pool_id2langid(), _Solvable::repo, solvable_lookup_str(), and solvable_lookup_str_base().
Definition at line 196 of file solvable.c.
References _Repodata::end, _Repodata::keys, _Repokey::name, _Repodata::nkeys, _Repo::pool, _Solvable::repo, _Repo::repodata, repodata_lookup_num(), repodata_lookup_void(), _Pool::solvables, and _Repokey::type.
Definition at line 188 of file solvable.c.
References _Repo::pool, _Solvable::repo, repo_lookup_void(), and _Pool::solvables.
Referenced by pool_lookup_void(), and solvable_get_location().
char* solvable_get_location | ( | Solvable * | s, | |
unsigned int * | medianrp | |||
) |
Definition at line 264 of file solvable.c.
References _Solvable::arch, _Solvable::evr, evrid2vrstr(), id2str(), _Solvable::name, _Repo::pool, pool_alloctmpspace(), _Solvable::repo, solvable_lookup_num(), solvable_lookup_str(), and solvable_lookup_void().
Definition at line 232 of file solvable.c.
References _Repo::pool, _Solvable::repo, repo_lookup_bin_checksum(), and _Pool::solvables.
Referenced by pool_lookup_bin_checksum(), and solvable_lookup_checksum().
Definition at line 245 of file solvable.c.
References _Solvable::repo, _Repo::repodata, repodata_chk2str(), and solvable_lookup_bin_checksum().
Referenced by pool_lookup_checksum().
Definition at line 46 of file solvable.c.
References dataiterator_free(), dataiterator_init(), dataiterator_step(), _KeyValue::eof, _KeyValue::id, _Dataiterator::key, _Dataiterator::kv, _Repo::pool, queue_empty(), queue_push(), _Solvable::repo, SEARCH_ARRAYSENTINEL, _Pool::solvables, and _Repokey::type.
Referenced by addsolvableedges().
Definition at line 534 of file solvable.c.
References _Solvable::arch, _Solvable::evr, _Repo::idarraydata, _Solvable::name, _Solvable::repo, _Solvable::requires, solvable_lookup_num(), and _Solvable::vendor.
Referenced by finddistupgradepackages(), policy_filter_unwanted(), solver_addduprules(), and transaction_base_type().
Definition at line 577 of file solvable.c.
References _Solvable::evr, _Reldep::evr, _Reldep::flags, GETRELDEP, _Repo::idarraydata, ISRELDEP, _Reldep::name, _Solvable::name, _Repo::pool, _Solvable::provides, rel2id(), REL_EQ, and _Solvable::repo.
Referenced by solver_addrpmrulesforsolvable().
Definition at line 351 of file solvable.c.
References _Solvable::conflicts, dep2name(), FOR_PROVIDES, _Repo::idarraydata, ISRELDEP, MAPTST, _Solvable::name, _Pool::nsolvables, _Solvable::obsoletes, _Repo::pool, pool_whatprovides_ptr(), providedbyinstalled(), _Solvable::repo, _Solvable::requires, and _Pool::solvables.
Referenced by solvable_trivial_installable_queue(), and solvable_trivial_installable_repo().
Definition at line 471 of file solvable.c.
References FOR_REPO_SOLVABLES, map_free(), map_init(), MAPSET, _Pool::nsolvables, _Repo::pool, _Solvable::repo, and solvable_trivial_installable_map().
Definition at line 445 of file solvable.c.
References _Queue::count, _Queue::elements, map_free(), map_init(), MAPSET, _Pool::nsolvables, _Repo::pool, _Solvable::repo, and solvable_trivial_installable_map().
void pool_create_state_maps | ( | Pool * | pool, | |
Queue * | installed, | |||
Map * | installedmap, | |||
Map * | conflictsmap | |||
) |
Definition at line 499 of file solvable.c.
References _Solvable::conflicts, _Queue::count, _Queue::elements, _Repo::idarraydata, map_init(), MAPSET, _Pool::nsolvables, pool_whatprovides_ptr(), _Solvable::repo, and _Pool::solvables.
Referenced by solver_create_state_maps().
Definition at line 442 of file pool.c.
References _Solvable::arch, _Solvable::evr, _Reldep::evr, evrcmp(), EVRCMP_DEPCMP, _Reldep::flags, GETRELDEP, _Reldep::name, pool_match_nevr(), REL_AND, REL_ARCH, REL_OR, and REL_WITH.
Referenced by pool_addrelproviders(), and pool_match_nevr().
Definition at line 512 of file pool.c.
References _Reldep::evr, _Reldep::flags, GETRELDEP, ISRELDEP, _Reldep::name, pool_match_dep(), and pool_match_flags_evr().
Referenced by pool_match_dep().
Definition at line 245 of file pool.h.
References ISRELDEP, _Solvable::name, and pool_match_nevr_rel().
Referenced by create_transaction_info(), jobtodisablelist(), makemultiversionconflict(), policy_create_obsolete_index(), policy_findupdatepackages(), pool_addrelproviders(), pool_match_nevr_rel(), providedbyinstalled(), providedbyinstalled_multiversion(), prune_to_best_version(), solver_addchoicerules(), solver_addrpmrulesforsolvable(), solver_create_decisions_obsoletesmap(), and solver_createdupmaps().
void pool_createwhatprovides | ( | Pool * | pool | ) |
Prepares a pool for solving.
Definition at line 268 of file pool.c.
References _Repo::disabled, GETRELDEP, _Repo::idarraydata, _Pool::installed, ISRELDEP, _Reldep::name, _Pool::nrels, _Pool::nsolvables, _Stringpool::nstrings, POOL_DEBUG, pool_freeidhashes(), pool_freewhatprovides(), pool_installable(), pool_shrink_whatprovides(), _Solvable::provides, _Solvable::repo, sat_calloc(), sat_calloc_block(), SAT_DEBUG_STATS, sat_timems(), _Pool::solvables, _Pool::ss, _Pool::whatprovides, WHATPROVIDES_BLOCK, _Pool::whatprovides_rel, _Pool::whatprovidesdata, _Pool::whatprovidesdataleft, and _Pool::whatprovidesdataoff.
Referenced by solver_solve().
void pool_addfileprovides | ( | Pool * | pool | ) |
Definition at line 1129 of file pool.c.
References _Pool::installed, and pool_addfileprovides_ids().
Definition at line 1041 of file pool.c.
References _Solvable::conflicts, addfileprovides_cbdata::dids, searchfiles::dirs, _Solvable::enhances, id2str(), _Repo::idarraydata, searchfiles::ids, map_free(), map_init(), searchfiles::names, searchfiles::nfiles, _Pool::nrels, _Stringpool::nstrings, _Solvable::obsoletes, pool_addfileprovides_dep(), pool_addfileprovides_search(), POOL_DEBUG, pool_freewhatprovides(), _Solvable::recommends, _Solvable::repo, _Solvable::requires, SAT_DEBUG_STATS, sat_extend(), sat_free(), sat_timems(), SEARCHFILES_BLOCK, searchfiles::seen, _Pool::solvables, _Pool::ss, _Solvable::suggests, and _Solvable::supplements.
Referenced by pool_addfileprovides().
void pool_freewhatprovides | ( | Pool * | pool | ) |
Definition at line 378 of file pool.c.
References sat_free(), _Pool::whatprovides, _Pool::whatprovides_rel, _Pool::whatprovidesdata, _Pool::whatprovidesdataleft, and _Pool::whatprovidesdataoff.
Referenced by pool_add_fileconflicts_deps(), pool_addfileprovides_ids(), pool_createwhatprovides(), pool_free(), pool_set_installed(), repo_create(), repo_empty(), and repo_freeallrepos().
Definition at line 400 of file pool.c.
References _Queue::count, _Queue::elements, POOL_DEBUG, SAT_DEBUG_STATS, sat_realloc(), _Pool::whatprovidesdata, _Pool::whatprovidesdataleft, and _Pool::whatprovidesdataoff.
Referenced by analyze(), makemultiversionconflict(), pool_addrelproviders(), solver_addchoicerules(), solver_addupdaterule(), and solver_solve().
Definition at line 547 of file pool.c.
References _Solvable::arch, _Queue::count, dep2str(), _Reldep::evr, _Reldep::flags, GETRELDEP, GETRELID, id2str(), _Repo::idarraydata, ISRELDEP, MAKERELDEP, _Solvable::name, _Reldep::name, _Pool::nscallback, _Pool::nscallbackdata, POOL_DEBUG, pool_match_flags_evr(), pool_match_nevr(), pool_match_nevr_rel(), pool_queuetowhatprovides(), pool_whatprovides(), pool_whatprovides_ptr(), _Solvable::provides, queue_free(), queue_init_buffer(), queue_push(), queue_pushunique(), REL_AND, REL_ARCH, REL_FILECONFLICT, REL_NAMESPACE, REL_OR, REL_WITH, _Solvable::repo, SAT_DEBUG_STATS, _Pool::solvables, SYSTEMSOLVABLE, _Pool::whatprovides_rel, and _Pool::whatprovidesdata.
Referenced by pool_whatprovides().
Definition at line 265 of file pool.h.
References GETRELID, ISRELDEP, pool_addrelproviders(), _Pool::whatprovides, and _Pool::whatprovides_rel.
Referenced by pool_addrelproviders(), and pool_whatprovides_ptr().
Definition at line 276 of file pool.h.
References pool_whatprovides(), and _Pool::whatprovidesdata.
Referenced by pool_addrelproviders(), pool_create_state_maps(), pool_trivial_installable_noobsoletesmap(), solvable_trivial_installable_map(), and solver_addrpmrulesforsolvable().
static void pool_setdebugcallback | ( | Pool * | pool, | |
void(*)(struct _Pool *, void *data, int type, const char *str) | debugcallback, | |||
void * | debugcallbackdata | |||
) | [inline, static] |
Definition at line 282 of file pool.h.
References _Pool::debugcallback, and _Pool::debugcallbackdata.
static void pool_setdebugmask | ( | Pool * | pool, | |
int | mask | |||
) | [inline, static] |
Definition at line 288 of file pool.h.
References _Pool::debugmask.
static void pool_setloadcallback | ( | Pool * | pool, | |
int(*)(struct _Pool *, struct _Repodata *, void *) | cb, | |||
void * | loadcbdata | |||
) | [inline, static] |
Definition at line 293 of file pool.h.
References _Pool::loadcallback, and _Pool::loadcallbackdata.
void pool_search | ( | Pool * | pool, | |
Id | p, | |||
Id | key, | |||
const char * | match, | |||
int | flags, | |||
int(*)(void *cbdata, Solvable *s, struct _Repodata *data, struct _Repokey *key, struct _KeyValue *kv) | callback, | |||
void * | cbdata | |||
) |
Definition at line 1135 of file pool.c.
References _Pool::nsolvables, _Solvable::repo, repo_search(), and _Pool::solvables.
void pool_clear_pos | ( | Pool * | pool | ) |
Definition at line 1150 of file pool.c.
References _Pool::pos.
Referenced by dataiterator_setpos(), dataiterator_setpos_parent(), and repodata_setpos_kv().
Definition at line 1357 of file pool.c.
References ducbdata::addsub, mptree::child, mptree::comp, mptree::compl, ducbdata::dirmap, _Repo::end, _DUChanges::files, FOR_PROVIDES, FOR_REPO_SOLVABLES, ducbdata::hasdu, _Pool::installed, _DUChanges::kbytes, _Map::map, map_free(), map_init(), MAPSET, MAPTST, mptree::mountpoint, ducbdata::mps, ducbdata::mptree, MPTREE_BLOCK, _Solvable::name, ducbdata::nmap, ducbdata::olddata, _DUChanges::path, propagate_mountpoints(), repo_search(), sat_extend(), sat_extend_resize(), sat_free(), mptree::sibling, _Pool::solvables, solver_fill_DU_cb(), and _Repo::start.
Referenced by solver_calc_duchanges(), and transaction_calc_duchanges().
Definition at line 1496 of file pool.c.
References FOR_REPO_SOLVABLES, _Pool::installed, MAPTST, _Solvable::repo, solvable_lookup_num(), and _Pool::solvables.
Referenced by solver_calc_installsizechange(), and transaction_calc_installsizechange().
Definition at line 1732 of file pool.c.
References pool_trivial_installable_noobsoletesmap().
void pool_trivial_installable_noobsoletesmap | ( | Pool * | pool, | |
Map * | installedmap, | |||
Queue * | pkgs, | |||
Queue * | res, | |||
Map * | noobsoletesmap | |||
) |
Definition at line 1591 of file pool.c.
References _Solvable::conflicts, _Queue::count, dep2name(), _Queue::elements, FOR_PROVIDES, id2str(), _Repo::idarraydata, ISRELDEP, MAPTST, _Solvable::name, _Pool::nsolvables, _Solvable::obsoletes, pool_whatprovides_ptr(), providedbyinstalled(), queue_free(), queue_init_clone(), _Solvable::repo, _Solvable::requires, sat_calloc(), and _Pool::solvables.
Referenced by pool_trivial_installable(), and solver_trivial_installable().
Definition at line 1738 of file pool.c.
References _Pool::pos, _Repopos::repo, _Repo::repodata, repodata_lookup_str(), _Repopos::repodataid, solvable_lookup_str(), _Pool::solvables, and SOLVID_POS.
Definition at line 1748 of file pool.c.
References _Repodata::localpool, _Pool::pos, _Repopos::repo, _Repo::repodata, repodata_globalize_id(), repodata_lookup_id(), _Repopos::repodataid, solvable_lookup_id(), _Pool::solvables, and SOLVID_POS.
Definition at line 1762 of file pool.c.
References _Pool::pos, _Repopos::repo, _Repo::repodata, repodata_lookup_num(), _Repopos::repodataid, solvable_lookup_num(), _Pool::solvables, and SOLVID_POS.
Definition at line 1777 of file pool.c.
References _Pool::pos, _Repopos::repo, _Repo::repodata, repodata_lookup_void(), _Repopos::repodataid, solvable_lookup_void(), _Pool::solvables, and SOLVID_POS.
Definition at line 1787 of file pool.c.
References _Pool::pos, _Repopos::repo, _Repo::repodata, repodata_lookup_bin_checksum(), _Repopos::repodataid, solvable_lookup_bin_checksum(), _Pool::solvables, and SOLVID_POS.
Definition at line 1797 of file pool.c.
References _Pool::pos, _Repopos::repo, _Repo::repodata, repodata_chk2str(), repodata_lookup_bin_checksum(), _Repopos::repodataid, solvable_lookup_checksum(), _Pool::solvables, and SOLVID_POS.
Definition at line 1810 of file pool.c.
References _Solvable::conflicts, _Queue::count, _Queue::elements, pool_freeidhashes(), pool_freewhatprovides(), _Solvable::provides, rel2id(), REL_FILECONFLICT, _Pool::relhashtbl, _Solvable::repo, repo_addid_dep(), and _Pool::solvables.