Main Page Modules Data Structures File List Data Fields Globals Related Pages

# python/upgrade.c File Reference

More...

`#include "system.h"`
`#include <fcntl.h>`
`#include <glob.h>`
`#include <dirent.h>`
`#include <rpmlib.h>`
`#include "rpmdb.h"`
`#include "hash.h"`
`#include "upgrade.h"`
`#include "debug.h"`

Go to the source code of this file.

## Defines

#define | MAXPKGS 1024
#define | USEDEBUG 0
#define | DEBUG(x)

## Functions

int | pkgCompare (void *first, void *second)
void | compareFileList (int availFileCount, char **availBaseNames, char **availDirNames, int *availDirIndexes, int instFileCount, char **instBaseNames, char **instDirNames, int *instDirIndexes, struct hash_table *ht)
void | addLostFiles (rpmdb db, struct pkgSet *psp, struct hash_table *ht)
int | findPackagesWithObsoletes (rpmdb db, struct pkgSet *psp)
void | errorFunction (void)
int | findUpgradePackages (rpmdb db, struct pkgSet *psp, struct hash_table *ht)
int | removeMovedFilesAlreadyHandled (struct pkgSet *psp, struct hash_table *ht)
int | findPackagesWithRelocatedFiles (struct pkgSet *psp, struct hash_table *ht)
int | unmarkPackagesAlreadyInstalled (rpmdb db, struct pkgSet *psp)
void | emptyErrorCallback (void)
int | ugFindUpgradePackages (struct pkgSet *psp, char *installRoot)

## Detailed Description

Definition in file upgrade.c.

## Define Documentation

#define DEBUG | ( | x |  | ) |

Value:

    {   \
         if (USEDEBUG)   \
             printf x; \
         }

Definition at line 24 of file upgrade.c.

#define MAXPKGS 1024

| Definition at line 20 of file upgrade.c.

#define USEDEBUG 0

| Definition at line 22 of file upgrade.c.

## Function Documentation

void addLostFiles | ( | rpmdb | db,
|  | struct pkgSet * | psp,
|  | struct hash_table * | ht
| ) | `[static]`

| Definition at line 106 of file upgrade.c. References compareFileList, headerGetEntry, headerGetEntryMinMemory, int_32, packageInfo::name, pkgSet::numPackages, pkgSet::packages, pkgCompare, rpmdbFreeIterator, RPMDBI_PACKAGES, rpmdbInitIterator, rpmdbNextIterator, RPMTAG_BASENAMES, RPMTAG_DIRINDEXES, RPMTAG_DIRNAMES, and RPMTAG_NAME. Referenced by ugFindUpgradePackages.

void compareFileList | ( | int | availFileCount,
|  | char ** | availBaseNames,
|  | char ** | availDirNames,
|  | int * | availDirIndexes,
|  | int | instFileCount,
|  | char ** | instBaseNames,
|  | char ** | instDirNames,
|  | int * | instDirIndexes,
|  | struct hash_table * | ht
| ) | `[static]`

| Definition at line 57 of file upgrade.c. References DEBUG, and htAddToTable. Referenced by addLostFiles, and findUpgradePackages.

void emptyErrorCallback | ( | void |  | ) | `[static]`

| Definition at line 463 of file upgrade.c. Referenced by ugFindUpgradePackages.

void errorFunction | ( | void |  | ) | `[static]`

| Definition at line 186 of file upgrade.c. Referenced by findUpgradePackages, and unmarkPackagesAlreadyInstalled.

int findPackagesWithObsoletes | ( | rpmdb | db,
|  | struct pkgSet * | psp
| ) | `[static]`

| Definition at line 154 of file upgrade.c. References headerGetEntryMinMemory, pkgSet::numPackages, pkgSet::packages, rpmdbCountPackages, RPMTAG_OBSOLETENAME, and packageInfo::selected. Referenced by ugFindUpgradePackages.

int findPackagesWithRelocatedFiles | ( | struct pkgSet * | psp,
|  | struct hash_table * | ht
| ) | `[static]`

| Definition at line 347 of file upgrade.c. References DEBUG, headerGetEntry, headerGetEntryMinMemory, htInTable, htRemoveFromTable, int_16, int_32, pkgSet::numPackages, pkgSet::packages, RPMTAG_BASENAMES, RPMTAG_DIRINDEXES, RPMTAG_DIRNAMES, RPMTAG_FILEMODES, and RPMTAG_NAME. Referenced by ugFindUpgradePackages.

int findUpgradePackages | ( | rpmdb | db,
|  | struct pkgSet * | psp,
|  | struct hash_table * | ht
| ) | `[static]`

| Definition at line 190 of file upgrade.c. References compareFileList, DEBUG, errorFunction, headerGetEntry, headerGetEntryMinMemory, int_32, pkgSet::numPackages, pkgSet::packages, rpmdbFreeIterator, rpmdbInitIterator, rpmdbNextIterator, RPMTAG_BASENAMES, RPMTAG_DIRINDEXES, RPMTAG_DIRNAMES, RPMTAG_NAME, and rpmVersionCompare. Referenced by ugFindUpgradePackages.

int pkgCompare | ( | void * | first,
|  | void * | second
| ) |

| Definition at line 43 of file upgrade.c. References xstrcasecmp. Referenced by addLostFiles.

int removeMovedFilesAlreadyHandled | ( | struct pkgSet * | psp,
|  | struct hash_table * | ht
| ) | `[static]`

| Definition at line 297 of file upgrade.c. References DEBUG, headerGetEntry, headerGetEntryMinMemory, htInTable, htRemoveFromTable, int_32, pkgSet::numPackages, pkgSet::packages, RPMTAG_BASENAMES, RPMTAG_DIRINDEXES, RPMTAG_DIRNAMES, and RPMTAG_NAME. Referenced by ugFindUpgradePackages.

int ugFindUpgradePackages | ( | struct pkgSet * | psp,
|  | char * | installRoot
| ) |

| Definition at line 466 of file upgrade.c. References addLostFiles, emptyErrorCallback, findPackagesWithObsoletes, findPackagesWithRelocatedFiles, findUpgradePackages, htFreeHashTable, htNewTable, removeMovedFilesAlreadyHandled, rpmdbClose, rpmdbOpen, and unmarkPackagesAlreadyInstalled.

int unmarkPackagesAlreadyInstalled | ( | rpmdb | db,
|  | struct pkgSet * | psp
| ) | `[static]`

| Definition at line 419 of file upgrade.c. References DEBUG, errorFunction, headerGetEntry, pkgSet::numPackages, pkgSet::packages, rpmdbFreeIterator, rpmdbInitIterator, rpmdbNextIterator, RPMTAG_NAME, and rpmVersionCompare. Referenced by ugFindUpgradePackages.