libzypp 8.13.6
Public Types | Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Friends

zypp::target::rpm::RpmDb Class Reference

Interface to the rpm program. More...

#include <RpmDb.h>

Inheritance diagram for zypp::target::rpm::RpmDb:
Inheritance graph
[legend]

List of all members.

Public Types

enum  checkPackageResult {
  CHK_OK = 0, CHK_NOTFOUND = 1, CHK_FAIL = 2, CHK_NOTTRUSTED = 3,
  CHK_NOKEY = 4, CHK_ERROR = 5
}
 

checkPackage result

More...
typedef class InstTargetError Error
 Default error class.
typedef std::set< std::string > FileList

Public Member Functions

 RpmDb ()
 Constructor.
 ~RpmDb ()
 Destructor.
Date timestamp () const
 timestamp of the rpm database (last modification)
const Pathname & root () const
const Pathname & dbPath () const
bool initialized () const
void initDatabase (Pathname root_r=Pathname(), Pathname dbPath_r=Pathname(), bool doRebuild_r=false)
 Prepare access to the rpm database.
void closeDatabase ()
 Block further access to the rpm database and go back to uninitialized state.
void rebuildDatabase ()
 Rebuild the rpm database (rpm --rebuilddb).
void importPubkey (const PublicKey &pubkey_r)
 Import ascii armored public key in file pubkey_r.
void removePubkey (const PublicKey &pubkey_r)
 Remove a public key from the rpm database.
std::list< PublicKeypubkeys () const
 Return the long ids of all installed public keys.
std::set< EditionpubkeyEditions () const
 Return the edition of all installed public keys.
std::list< FileInfofileList (const std::string &name_r, const Edition &edition_r) const
 return complete file list for installed package name_r (in FileInfo.filename) if edition_r != Edition::noedition, check for exact edition if full==true, fill all attributes of FileInfo
bool hasFile (const std::string &file_r, const std::string &name_r="") const
 Return true if at least one package owns a certain file (name_r empty) Return true if package name_r owns file file_r (name_r nonempty).
std::string whoOwnsFile (const std::string &file_r) const
 Return name of package owning file or empty string if no installed package owns file.
bool hasProvides (const std::string &tag_r) const
 Return true if at least one package provides a certain tag.
bool hasRequiredBy (const std::string &tag_r) const
 Return true if at least one package requires a certain tag.
bool hasConflicts (const std::string &tag_r) const
 Return true if at least one package conflicts with a certain tag.
bool hasPackage (const std::string &name_r) const
 Return true if package is installed.
bool hasPackage (const std::string &name_r, const Edition &ed_r) const
 Return true if package is installed in a certain edition.
void getData (const std::string &name_r, RpmHeader::constPtr &result_r) const
 Get an installed packages data from rpmdb.
void getData (const std::string &name_r, const Edition &ed_r, RpmHeader::constPtr &result_r) const
 Get an installed packages data from rpmdb.
void importZyppKeyRingTrustedKeys ()
 iterates through zypp keyring and import all non existant keys into rpm keyring
void exportTrustedKeysInZyppKeyRing ()
 insert all rpm trusted keys into zypp trusted keyring
checkPackageResult checkPackage (const Pathname &path_r)
 Check signature of rpm file on disk.
void installPackage (const Pathname &filename, RpmInstFlags flags=RPMINST_NONE)
 install rpm package
void removePackage (const std::string &name_r, RpmInstFlags flags=RPMINST_NONE)
 remove rpm package
void removePackage (Package::constPtr package, RpmInstFlags flags=RPMINST_NONE)
Pathname getBackupPath (void)
 get backup dir for rpm config files
bool backupPackage (const std::string &packageName)
 create tar.gz of all changed files in a Package
bool backupPackage (const Pathname &filename)
 queries file for name and then calls above backupPackage function.
void setBackupPath (const Pathname &path)
 set path where package backups are stored
void createPackageBackups (bool yes)
 whether to create package backups during install or removal
bool queryChangedFiles (FileList &fileList, const std::string &packageName)
 determine which files of an installed package have been modified.
virtual std::ostream & dumpOn (std::ostream &str) const
 Dump debug info.

Protected Member Functions

void doRemovePackage (const std::string &name_r, RpmInstFlags flags, callback::SendReport< RpmRemoveReport > &report)
void doInstallPackage (const Pathname &filename, RpmInstFlags flags, callback::SendReport< RpmInstallReport > &report)
void doRebuildDatabase (callback::SendReport< RebuildDBReport > &report)

Private Types

enum  DbStateInfoBits {
  DbSI_NO_INIT = 0x0000, DbSI_HAVE_V4 = 0x0001, DbSI_MADE_V4 = 0x0002, DbSI_MODIFIED_V4 = 0x0004,
  DbSI_HAVE_V3 = 0x0008, DbSI_HAVE_V3TOV4 = 0x0010, DbSI_MADE_V3TOV4 = 0x0020
}
typedef std::vector< const char * > RpmArgVec

Private Member Functions

void dbsi_set (DbStateInfoBits &val_r, const unsigned &bits_r) const
void dbsi_clr (DbStateInfoBits &val_r, const unsigned &bits_r) const
bool dbsi_has (const DbStateInfoBits &val_r, const unsigned &bits_r) const
void internal_initDatabase (const Pathname &root_r, const Pathname &dbPath_r, DbStateInfoBits &info_r)
 Internal helper for initDatabase.
void modifyDatabase ()
 Called before the database is modified by installPackage/removePackage.
void run_rpm (const RpmArgVec &options, ExternalProgram::Stderr_Disposition stderr_disp=ExternalProgram::Stderr_To_Stdout)
 Run rpm with the specified arguments and handle stderr.
bool systemReadLine (std::string &line)
 Read a line from the general rpm query.
int systemStatus ()
 Return the exit status of the general rpm process, closing the connection if not already done.
void systemKill ()
 Forcably kill the system process.
void processConfigFiles (const std::string &line, const std::string &name, const char *typemsg, const char *difffailmsg, const char *diffgenmsg)
 handle rpm messages like "/etc/testrc saved as /etc/testrc.rpmorig"

Static Private Member Functions

static void removeV4 (const Pathname &dbdir_r, bool v3backup_r)
 Remove the rpm4 database in dbdir_r and optionally any backup created on conversion.
static void removeV3 (const Pathname &dbdir_r, bool v3backup_r)
 Remove the rpm3 database in dbdir_r.

Private Attributes

DbStateInfoBits _dbStateInfo
 Internal state info.
Pathname _root
 Root directory for all operations.
Pathname _dbPath
 Directory that contains the rpmdb.
ExternalProgramprocess
 The connection to the rpm process.
int exit_code
 The exit code of the rpm process, or -1 if not yet known.
std::string error_message
 Error message from running rpm as external program.
Pathname _backuppath
 /var/adm/backup
bool _packagebackups
 create package backups?
bool _warndirexists
 whether <_root>/<WARNINGMAILPATH> was already created

Friends

std::ostream & operator<< (std::ostream &str, const DbStateInfoBits &obj)

Detailed Description

Interface to the rpm program.

Definition at line 47 of file RpmDb.h.


Member Typedef Documentation

typedef class InstTargetError zypp::target::rpm::RpmDb::Error

Default error class.

Definition at line 54 of file RpmDb.h.

typedef std::vector<const char*> zypp::target::rpm::RpmDb::RpmArgVec [private]

Definition at line 341 of file RpmDb.h.

typedef std::set<std::string> zypp::target::rpm::RpmDb::FileList

Definition at line 411 of file RpmDb.h.


Member Enumeration Documentation

Enumerator:
DbSI_NO_INIT 
DbSI_HAVE_V4 
DbSI_MADE_V4 
DbSI_MODIFIED_V4 
DbSI_HAVE_V3 
DbSI_HAVE_V3TOV4 
DbSI_MADE_V3TOV4 

Definition at line 63 of file RpmDb.h.

checkPackage result

See also:
checkPackage
Enumerator:
CHK_OK 

Signature is OK.

CHK_NOTFOUND 

Signature is unknown type.

CHK_FAIL 

Signature does not verify.

CHK_NOTTRUSTED 

Signature is OK, but key is not trusted.

CHK_NOKEY 

Public key is unavailable.

CHK_ERROR 

File does not exist or can't be opened.

Definition at line 417 of file RpmDb.h.


Constructor & Destructor Documentation

zypp::target::rpm::RpmDb::RpmDb ( )

Constructor.

There's no rpmdb access until initDatabase was called.

Definition at line 218 of file RpmDb.cc.

References exit_code, zypp::target::rpm::librpmDb::globalInit(), process, and zypp::target::rpm::sKeyRingReceiver.

zypp::target::rpm::RpmDb::~RpmDb ( )

Destructor.

Definition at line 240 of file RpmDb.cc.

References closeDatabase(), MIL, process, and zypp::target::rpm::sKeyRingReceiver.


Member Function Documentation

void zypp::target::rpm::RpmDb::dbsi_set ( DbStateInfoBits val_r,
const unsigned &  bits_r 
) const [inline, private]

Definition at line 75 of file RpmDb.h.

Referenced by internal_initDatabase(), and modifyDatabase().

void zypp::target::rpm::RpmDb::dbsi_clr ( DbStateInfoBits val_r,
const unsigned &  bits_r 
) const [inline, private]

Definition at line 79 of file RpmDb.h.

Referenced by initDatabase(), and modifyDatabase().

bool zypp::target::rpm::RpmDb::dbsi_has ( const DbStateInfoBits val_r,
const unsigned &  bits_r 
) const [inline, private]

Definition at line 83 of file RpmDb.h.

Referenced by closeDatabase(), initDatabase(), and modifyDatabase().

void zypp::target::rpm::RpmDb::internal_initDatabase ( const Pathname &  root_r,
const Pathname &  dbPath_r,
DbStateInfoBits info_r 
) [private]
void zypp::target::rpm::RpmDb::removeV4 ( const Pathname &  dbdir_r,
bool  v3backup_r 
) [static, private]

Remove the rpm4 database in dbdir_r and optionally any backup created on conversion.

Definition at line 548 of file RpmDb.cc.

References ERR, MIL, and zypp::filesystem::unlink().

Referenced by closeDatabase(), and initDatabase().

void zypp::target::rpm::RpmDb::removeV3 ( const Pathname &  dbdir_r,
bool  v3backup_r 
) [static, private]

Remove the rpm3 database in dbdir_r.

Create a backup copy named packages.rpm3 if it does not already exist.

Definition at line 614 of file RpmDb.cc.

References ERR, MIL, zypp::filesystem::rename(), and zypp::filesystem::unlink().

Referenced by closeDatabase(), initDatabase(), and modifyDatabase().

void zypp::target::rpm::RpmDb::modifyDatabase ( ) [private]

Called before the database is modified by installPackage/removePackage.

Invalidates Packages list and moves away any old database.

Definition at line 680 of file RpmDb.cc.

References _dbPath, _dbStateInfo, _root, dbsi_clr(), dbsi_has(), DbSI_HAVE_V3, DbSI_MADE_V3TOV4, DbSI_MODIFIED_V4, dbsi_set(), initialized(), MIL, and removeV3().

Referenced by doInstallPackage(), and doRemovePackage().

Date zypp::target::rpm::RpmDb::timestamp ( ) const

timestamp of the rpm database (last modification)

Definition at line 249 of file RpmDb.cc.

References dbPath(), zypp::Date::now(), and root().

Referenced by zypp::target::TargetImpl::timestamp().

const Pathname& zypp::target::rpm::RpmDb::root ( ) const [inline]
Returns:
Root directory for all operations (empty if not initialized).

Definition at line 151 of file RpmDb.h.

References _root.

Referenced by checkPackage(), doRebuildDatabase(), rebuildDatabase(), and timestamp().

const Pathname& zypp::target::rpm::RpmDb::dbPath ( ) const [inline]
Returns:
Directory that contains the rpmdb (empty if not initialized).

Definition at line 159 of file RpmDb.h.

References _dbPath.

Referenced by doRebuildDatabase(), rebuildDatabase(), and timestamp().

bool zypp::target::rpm::RpmDb::initialized ( ) const [inline]
Returns:
Whether we are initialized.

Definition at line 167 of file RpmDb.h.

References _root.

Referenced by closeDatabase(), initDatabase(), modifyDatabase(), queryChangedFiles(), and run_rpm().

void zypp::target::rpm::RpmDb::initDatabase ( Pathname  root_r = Pathname(),
Pathname  dbPath_r = Pathname(),
bool  doRebuild_r = false 
)

Prepare access to the rpm database.

Optional arguments may denote the root directory for all operations and the directory (below root) that contains the rpmdb (usg. you won't need to set this).

On empty Pathnames the default is used:

     root:   /
     dbPath: /var/lib/rpm
 

Calling initDatabase a second time with different arguments will return an error but leave the database in it's original state.

Converting an old batabase is done if necessary. On update: The converted database will be removed by closeDatabase, if it was not modified (no packages were installed or deleted). Otherwise the new database is kept, and the old one is removed.

If the database alredy exists and doRebuild_r is true, rebuildDatabase is called.

Exceptions:
RpmException

Definition at line 303 of file RpmDb.cc.

References _dbPath, _dbStateInfo, _root, zypp::target::rpm::librpmDb::blockAccess(), zypp::target::rpm::librpmDb::dbRelease(), dbsi_clr(), dbsi_has(), DbSI_HAVE_V3, DbSI_HAVE_V4, DbSI_MADE_V3TOV4, DbSI_MADE_V4, DbSI_MODIFIED_V4, DbSI_NO_INIT, ERR, exportTrustedKeysInZyppKeyRing(), importZyppKeyRingTrustedKeys(), initialized(), internal_initDatabase(), MIL, rebuildDatabase(), removeV3(), removeV4(), zypp::target::rpm::stringPath(), zypp::target::rpm::librpmDb::unblockAccess(), ZYPP_CAUGHT, ZYPP_RETHROW, and ZYPP_THROW.

Referenced by zypp::target::TargetImpl::TargetImpl().

void zypp::target::rpm::RpmDb::closeDatabase ( )

Block further access to the rpm database and go back to uninitialized state.

On update: Decides what to do with any converted database (see initDatabase).

Exceptions:
RpmException

Definition at line 703 of file RpmDb.cc.

References _dbPath, _dbStateInfo, _root, zypp::target::rpm::librpmDb::blockAccess(), dbsi_has(), DbSI_HAVE_V3, DbSI_MADE_V3TOV4, DbSI_MODIFIED_V4, DbSI_NO_INIT, initialized(), MIL, removeV3(), and removeV4().

Referenced by ~RpmDb(), and zypp::target::TargetImpl::~TargetImpl().

void zypp::target::rpm::RpmDb::rebuildDatabase ( )
void zypp::target::rpm::RpmDb::importPubkey ( const PublicKey pubkey_r)
void zypp::target::rpm::RpmDb::removePubkey ( const PublicKey pubkey_r)
list< PublicKey > zypp::target::rpm::RpmDb::pubkeys ( ) const
set< Edition > zypp::target::rpm::RpmDb::pubkeyEditions ( ) const

Return the edition of all installed public keys.

Definition at line 1109 of file RpmDb.cc.

References zypp::target::rpm::librpmDb::db_const_iterator::findByName(), and zypp::Edition::noedition.

Referenced by exportTrustedKeysInZyppKeyRing(), importPubkey(), and removePubkey().

list< FileInfo > zypp::target::rpm::RpmDb::fileList ( const std::string &  name_r,
const Edition edition_r 
) const

return complete file list for installed package name_r (in FileInfo.filename) if edition_r != Edition::noedition, check for exact edition if full==true, fill all attributes of FileInfo

Definition at line 1133 of file RpmDb.cc.

References zypp::target::rpm::librpmDb::db_const_iterator::findPackage(), and zypp::Edition::noedition.

bool zypp::target::rpm::RpmDb::hasFile ( const std::string &  file_r,
const std::string &  name_r = "" 
) const

Return true if at least one package owns a certain file (name_r empty) Return true if package name_r owns file file_r (name_r nonempty).

Definition at line 1162 of file RpmDb.cc.

References zypp::target::rpm::librpmDb::db_const_iterator::findByFile().

Referenced by zypp::target::TargetImpl::providesFile().

std::string zypp::target::rpm::RpmDb::whoOwnsFile ( const std::string &  file_r) const

Return name of package owning file or empty string if no installed package owns file.

Referenced by zypp::target::TargetImpl::whoOwnsFile().

bool zypp::target::rpm::RpmDb::hasProvides ( const std::string &  tag_r) const

Return true if at least one package provides a certain tag.

Definition at line 1206 of file RpmDb.cc.

References zypp::target::rpm::librpmDb::db_const_iterator::findByProvides().

bool zypp::target::rpm::RpmDb::hasRequiredBy ( const std::string &  tag_r) const

Return true if at least one package requires a certain tag.

Definition at line 1220 of file RpmDb.cc.

References zypp::target::rpm::librpmDb::db_const_iterator::findByRequiredBy().

bool zypp::target::rpm::RpmDb::hasConflicts ( const std::string &  tag_r) const

Return true if at least one package conflicts with a certain tag.

Definition at line 1234 of file RpmDb.cc.

References zypp::target::rpm::librpmDb::db_const_iterator::findByConflicts().

bool zypp::target::rpm::RpmDb::hasPackage ( const std::string &  name_r) const

Return true if package is installed.

bool zypp::target::rpm::RpmDb::hasPackage ( const std::string &  name_r,
const Edition ed_r 
) const

Return true if package is installed in a certain edition.

void zypp::target::rpm::RpmDb::getData ( const std::string &  name_r,
RpmHeader::constPtr result_r 
) const

Get an installed packages data from rpmdb.

Package is identified by name. Data returned via result are NULL, if packge is not installed (PMError is not set), or RPM database could not be read (PMError is set).

Exceptions:
RpmExceptionFIXME this and following comment

Referenced by exportTrustedKeysInZyppKeyRing(), and pubkeys().

void zypp::target::rpm::RpmDb::getData ( const std::string &  name_r,
const Edition ed_r,
RpmHeader::constPtr result_r 
) const

Get an installed packages data from rpmdb.

Package is identified by name and edition. Data returned via result are NULL, if packge is not installed (PMError is not set), or RPM database could not be read (PMError is set).

Exceptions:
RpmException
void zypp::target::rpm::RpmDb::importZyppKeyRingTrustedKeys ( )

iterates through zypp keyring and import all non existant keys into rpm keyring

Definition at line 831 of file RpmDb.cc.

References ERR, for_, importPubkey(), MIL, and pubkeys().

Referenced by initDatabase().

void zypp::target::rpm::RpmDb::exportTrustedKeysInZyppKeyRing ( )

insert all rpm trusted keys into zypp trusted keyring

Definition at line 868 of file RpmDb.cc.

References ERR, for_, getData(), MIL, zypp::filesystem::TmpPath::path(), pubkeyEditions(), and zypp::str::toUpper().

Referenced by initDatabase().

void zypp::target::rpm::RpmDb::run_rpm ( const RpmArgVec options,
ExternalProgram::Stderr_Disposition  stderr_disp = ExternalProgram::Stderr_To_Stdout 
) [private]

Run rpm with the specified arguments and handle stderr.

Parameters:
n_optsThe number of arguments
optionsArray of the arguments, n_opts elements
stderr_dispHow to handle stderr, merged with stdout by default
Exceptions:
RpmException

Definition at line 1429 of file RpmDb.cc.

References _dbPath, _root, zypp::iostr::copy(), zypp::target::rpm::librpmDb::dbRelease(), exit_code, initialized(), process, and ZYPP_THROW.

Referenced by doInstallPackage(), doRebuildDatabase(), doRemovePackage(), importPubkey(), queryChangedFiles(), and removePubkey().

bool zypp::target::rpm::RpmDb::systemReadLine ( std::string &  line) [private]
int zypp::target::rpm::RpmDb::systemStatus ( ) [private]

Return the exit status of the general rpm process, closing the connection if not already done.

Definition at line 1546 of file RpmDb.cc.

References zypp::ExternalProgram::close(), error_message, zypp::ExternalProgram::execError(), exit_code, zypp::ExternalProgram::kill(), and process.

Referenced by doInstallPackage(), doRebuildDatabase(), doRemovePackage(), importPubkey(), queryChangedFiles(), and removePubkey().

void zypp::target::rpm::RpmDb::systemKill ( ) [private]

Forcably kill the system process.

Definition at line 1569 of file RpmDb.cc.

References zypp::ExternalProgram::kill(), and process.

Referenced by doRebuildDatabase().

void zypp::target::rpm::RpmDb::processConfigFiles ( const std::string &  line,
const std::string &  name,
const char *  typemsg,
const char *  difffailmsg,
const char *  diffgenmsg 
) [private]

handle rpm messages like "/etc/testrc saved as /etc/testrc.rpmorig"

Parameters:
linerpm output starting with warning:
namename of package, appears in subject line
typemsg" saved as " or " created as "
difffailmsgwhat to put into mail if diff failed, must contain two s for the two files
diffgenmsgwhat to put into mail if diff succeeded, must contain two s for the two files

Definition at line 1576 of file RpmDb.cc.

References _, _root, zypp::filesystem::assert_dir(), zypp::target::rpm::diffFiles(), ERR, zypp::str::form(), zypp::Date::form(), zypp::Date::now(), WAR, and WARNINGMAILPATH.

Referenced by doInstallPackage().

RpmDb::checkPackageResult zypp::target::rpm::RpmDb::checkPackage ( const Pathname &  path_r)

Check signature of rpm file on disk.

Parameters:
filenamewhich file to check
Returns:
checkPackageResult

Definition at line 1309 of file RpmDb.cc.

References CHK_ERROR, CHK_FAIL, CHK_NOKEY, CHK_NOTFOUND, CHK_NOTTRUSTED, CHK_OK, ERR, root(), and WAR.

void zypp::target::rpm::RpmDb::installPackage ( const Pathname &  filename,
RpmInstFlags  flags = RPMINST_NONE 
)

install rpm package

Parameters:
filenamefile to install
flagswhich rpm options to use
Returns:
success
Exceptions:
RpmException

Definition at line 1673 of file RpmDb.cc.

References zypp::target::rpm::RpmInstallReport::ABORT, doInstallPackage(), zypp::target::rpm::RpmInstallReport::IGNORE, report, and ZYPP_RETHROW.

Referenced by zypp::target::TargetImpl::commit(), and zypp::target::TargetImpl::installSrcPackage().

void zypp::target::rpm::RpmDb::removePackage ( const std::string &  name_r,
RpmInstFlags  flags = RPMINST_NONE 
)

remove rpm package

Parameters:
name_rName of the rpm package to remove.
iflagswhich rpm options to use
Returns:
success
Exceptions:
RpmException

Referenced by zypp::target::TargetImpl::commit(), and removePackage().

void zypp::target::rpm::RpmDb::removePackage ( Package::constPtr  package,
RpmInstFlags  flags = RPMINST_NONE 
)

Definition at line 1848 of file RpmDb.cc.

References removePackage().

Pathname zypp::target::rpm::RpmDb::getBackupPath ( void  ) [inline]

get backup dir for rpm config files

Definition at line 465 of file RpmDb.h.

References _backuppath.

bool zypp::target::rpm::RpmDb::backupPackage ( const std::string &  packageName)

create tar.gz of all changed files in a Package

Parameters:
packageNamename of the Package to backup
See also:
setBackupPath

Referenced by backupPackage(), doInstallPackage(), and doRemovePackage().

bool zypp::target::rpm::RpmDb::backupPackage ( const Pathname &  filename)

queries file for name and then calls above backupPackage function.

For convenience.

Parameters:
filenamerpm file that is about to be installed

Definition at line 1995 of file RpmDb.cc.

References backupPackage(), zypp::target::rpm::RpmHeader::NOSIGNATURE, and zypp::target::rpm::RpmHeader::readPackage().

void zypp::target::rpm::RpmDb::setBackupPath ( const Pathname &  path)

set path where package backups are stored

See also:
backupPackage

Definition at line 2137 of file RpmDb.cc.

References _backuppath.

void zypp::target::rpm::RpmDb::createPackageBackups ( bool  yes) [inline]

whether to create package backups during install or removal

Parameters:
yestrue or false

Definition at line 500 of file RpmDb.h.

References _packagebackups.

bool zypp::target::rpm::RpmDb::queryChangedFiles ( FileList fileList,
const std::string &  packageName 
)

determine which files of an installed package have been modified.

Parameters:
fileList(output) where to store modified files
packageNamename of package to query
Returns:
false if package couln't be queried for some reason

Definition at line 1363 of file RpmDb.cc.

References zypp::ExternalProgram::Discard_Stderr, initialized(), process, run_rpm(), systemReadLine(), and systemStatus().

virtual std::ostream& zypp::target::rpm::RpmDb::dumpOn ( std::ostream &  str) const [virtual]

Dump debug info.

Reimplemented from zypp::base::ReferenceCounted.

void zypp::target::rpm::RpmDb::doRemovePackage ( const std::string &  name_r,
RpmInstFlags  flags,
callback::SendReport< RpmRemoveReport > &  report 
) [protected]
void zypp::target::rpm::RpmDb::doInstallPackage ( const Pathname &  filename,
RpmInstFlags  flags,
callback::SendReport< RpmInstallReport > &  report 
) [protected]
void zypp::target::rpm::RpmDb::doRebuildDatabase ( callback::SendReport< RebuildDBReport > &  report) [protected]

Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  str,
const DbStateInfoBits obj 
) [friend]

Member Data Documentation

Internal state info.

Definition at line 91 of file RpmDb.h.

Referenced by closeDatabase(), initDatabase(), and modifyDatabase().

Pathname zypp::target::rpm::RpmDb::_root [private]

Root directory for all operations.

Definition at line 96 of file RpmDb.h.

Referenced by closeDatabase(), initDatabase(), initialized(), modifyDatabase(), processConfigFiles(), root(), and run_rpm().

Directory that contains the rpmdb.

Definition at line 101 of file RpmDb.h.

Referenced by closeDatabase(), dbPath(), initDatabase(), modifyDatabase(), and run_rpm().

The connection to the rpm process.

Definition at line 339 of file RpmDb.h.

Referenced by doRebuildDatabase(), queryChangedFiles(), RpmDb(), run_rpm(), systemKill(), systemReadLine(), systemStatus(), and ~RpmDb().

The exit code of the rpm process, or -1 if not yet known.

Definition at line 376 of file RpmDb.h.

Referenced by RpmDb(), run_rpm(), and systemStatus().

Error message from running rpm as external program.

Use only if something fail.

Definition at line 382 of file RpmDb.h.

Referenced by doInstallPackage(), doRebuildDatabase(), doRemovePackage(), importPubkey(), removePubkey(), and systemStatus().

/var/adm/backup

Definition at line 385 of file RpmDb.h.

Referenced by getBackupPath(), and setBackupPath().

create package backups?

Definition at line 388 of file RpmDb.h.

Referenced by createPackageBackups(), doInstallPackage(), and doRemovePackage().

whether <_root>/<WARNINGMAILPATH> was already created

Definition at line 391 of file RpmDb.h.


The documentation for this class was generated from the following files: