20#include <solv/solvable.h>
26#include <zypp/base/Easy.h>
27#include <zypp/base/Logger.h>
28#include <zypp/base/Gettext.h>
29#include <zypp/base/Exception.h>
31#include <zypp/AutoDispose.h>
33#include <zypp/sat/detail/PoolImpl.h>
50 {
return myPool().getPool(); }
53 {
return myPool()->nsolvables; }
56 {
return myPool().serial(); }
59 {
return myPool().serialIDs(); }
62 {
return myPool().prepare(); }
65 {
return myPool().rootDir(); }
71 {
return !
myPool()->urepos; }
74 {
return myPool()->urepos; }
97 if ( !
it->solvablesEmpty() )
111 ret +=
it->solvablesSize();
150 if (
ret.isSystemRepo() )
246 {
return myPool().getRequestedLocales(); }
256 {
return myPool().getAvailableLocales(); }
262 {
return myPool().multiversionList(); }
276 return str <<
"sat::pool(" <<
obj.serial() <<
")["
277 <<
obj.capacity() <<
"]{"
278 <<
obj.reposSize() <<
"repos|"
279 <<
obj.solvablesSize() <<
"solv}";
283 #undef ZYPP_BASE_LOGGER_LOGGROUP
284 #define ZYPP_BASE_LOGGER_LOGGROUP "solvidx"
292 ERR <<
"Can't open solv-file: " <<
solv << endl;
299 ERR <<
"Can't unlink solv-idx: " <<
Errno() << endl;
306 ERR <<
"Can't create solv-idx: " <<
Errno() << endl;
316 if ( ::repo_add_solv( _repo,
solv, 0 ) == 0 )
325#define idstr(V) pool_id2str( _pool, _solv->V )
335 ERR <<
"Can't read solv-file: " << ::pool_errstr( _pool ) << endl;
337 ::repo_free( _repo, 0 );
338 ::pool_free( _pool );
Reference counted access to a Tp object calling a custom Dispose function when the last AutoDispose h...
void resetDispose()
Set no dispose function.
Convenience errno wrapper.
'Language[_Country]' codes.
What is known about a repository.
Simple serial number provider.
void setAutorefresh(bool autorefresh)
enable or disable autorefresh
void setAlias(const std::string &alias)
set the repository alias
void setName(const std::string &name)
set the repository name
void setEnabled(bool enabled)
enable or disable the repository
const SerialNumber & serialIDs() const
Serial number changing whenever resusePoolIDs==true was used.
Queue autoInstalled() const
Get ident list of all autoinstalled solvables.
RepositoryIterator reposEnd() const
Iterator behind the last Repository.
bool addRequestedLocale(const Locale &locale_r)
Add one Locale to the set of requested locales.
detail::SolvableIterator SolvableIterator
size_type reposSize() const
Number of repos in Pool.
const MultiversionList & multiversion() const
const LocaleSet & getAvailableLocales() const
Get the set of available locales.
void setAutoInstalled(const Queue &autoInstalled_r)
Set ident list of all autoinstalled solvables.
Queue whatMatchesSolvable(const SolvAttr &attr, const Solvable &solv) const
Iterable< RepositoryIterator > repos() const
Iterate the repositories.
const LocaleSet & getRemovedRequestedLocales() const
Removed since last initRequestedLocales.
Queue whatContainsDep(const SolvAttr &attr, const Capability &cap) const
bool solvablesEmpty() const
Whether Pool contains solvables.
bool isRequestedLocale(const Locale &locale_r) const
Whether this Locale is in the set of requested locales.
Repository findSystemRepo() const
Return the system repository if it is on the pool.
size_type capacity() const
Internal array size for stats only.
SolvableIterator solvablesEnd() const
Iterator behind the last Solvable.
void setTextLocale(const Locale &locale_r)
Set the default language for retrieving translated texts.
Pathname rootDir() const
Get rootdir (for file conflicts check)
RepositoryIterator reposBegin() const
Iterator to the first Repository.
Repository reposFind(const std::string &alias_r) const
Find a Repository named alias_r.
size_type solvablesSize() const
Number of solvables in Pool.
const SerialNumber & serial() const
Housekeeping data serial number.
Repository addRepoSolv(const Pathname &file_r, const std::string &name_r)
Load Solvables from a solv-file into a Repository named name_r.
bool eraseRequestedLocale(const Locale &locale_r)
Erase one Locale from the set of requested locales.
bool isAvailableLocale(const Locale &locale_r) const
Whether this Locale is in the set of available locales.
Queue whatMatchesDep(const SolvAttr &attr, const Capability &cap) const
static const std::string & systemRepoAlias()
Reserved system repository alias @System .
Repository addRepoHelix(const Pathname &file_r, const std::string &name_r)
Load Solvables from a helix-file into a Repository named name_r.
zypp::detail::RepositoryIterator RepositoryIterator
SolvableIterator solvablesBegin() const
Iterator to the first Solvable.
Repository reposInsert(const std::string &alias_r)
Return a Repository named alias_r.
void prepare() const
Update housekeeping data if necessary (e.g.
void setNeedrebootSpec(sat::SolvableSpec needrebootSpec_r)
Solvables which should trigger the reboot-needed hint if installed/updated.
detail::CPool * get() const
Expert backdoor.
void setRequestedLocales(const LocaleSet &locales_r)
Set the requested locales.
Repository systemRepo()
Return the system repository, create it if missing.
const LocaleSet & getRequestedLocales() const
Return the requested locales.
const LocaleSet & getAddedRequestedLocales() const
Added since last initRequestedLocales.
bool reposEmpty() const
Whether Pool contains repos.
void initRequestedLocales(const LocaleSet &locales_r)
Start tracking changes based on this locales_r.
Libsolv Id queue wrapper.
Solvable set wrapper to allow adding additional convenience iterators.
Define a set of Solvables by ident and provides.
A Solvable object within the sat Pool.
static const std::string & systemRepoAlias()
Reserved system repository alias @System .
Iterate over valid Solvables in the pool.
String related utilities and Regular expression matching.
std::ostream & operator<<(std::ostream &str, const FileConflicts &obj)
void updateSolvFileIndex(const Pathname &solvfile_r)
Create solv file content digest for zypper bash completion.
Easy-to use interface to the ZYPP dependency resolver.
std::unordered_set< Locale > LocaleSet
Functor removing Repository from its Pool.
static PoolImpl & myPool()
#define for_(IT, BEG, END)
Convenient for-loops using iterator.