mirror of https://github.com/vmware/tdnf.git
Disable erasure of tdnf. (bug 1787318)
Change-Id: Ic607edea6b2b665d4884e9850d688c595151999c
This commit is contained in:
parent
086f13388e
commit
5f4a726303
28
client/api.c
28
client/api.c
|
@ -802,6 +802,7 @@ TDNFResolve(
|
|||
HyPackageList hPkgListGoal = NULL;
|
||||
|
||||
PTDNF_SOLVED_PKG_INFO pSolvedPkgInfo = NULL;
|
||||
PTDNF_PKG_INFO pPkgInfo = NULL;
|
||||
|
||||
if(!pTdnf || !ppSolvedPkgInfo)
|
||||
{
|
||||
|
@ -819,9 +820,9 @@ TDNFResolve(
|
|||
BAIL_ON_TDNF_ERROR(dwError);
|
||||
|
||||
dwError = TDNFAllocateMemory(
|
||||
1,
|
||||
sizeof(TDNF_SOLVED_PKG_INFO),
|
||||
(void**)&pSolvedPkgInfo);
|
||||
1,
|
||||
sizeof(TDNF_SOLVED_PKG_INFO),
|
||||
(void**)&pSolvedPkgInfo);
|
||||
BAIL_ON_TDNF_ERROR(dwError);
|
||||
|
||||
pSolvedPkgInfo->nAlterType = nAlterType;
|
||||
|
@ -844,6 +845,18 @@ TDNFResolve(
|
|||
pSolvedPkgInfo);
|
||||
BAIL_ON_TDNF_ERROR(dwError);
|
||||
|
||||
pPkgInfo = pSolvedPkgInfo->pPkgsToRemove;
|
||||
while(pPkgInfo != NULL)
|
||||
{
|
||||
if(pPkgInfo->pszName != NULL &&
|
||||
strcmp(pPkgInfo->pszName, TDNF_NAME) == 0)
|
||||
{
|
||||
dwError = ERROR_TDNF_SELF_ERASE;
|
||||
BAIL_ON_TDNF_ERROR(dwError);
|
||||
}
|
||||
pPkgInfo = pPkgInfo->pNext;
|
||||
}
|
||||
|
||||
pSolvedPkgInfo->nNeedAction =
|
||||
pSolvedPkgInfo->pPkgsToInstall ||
|
||||
pSolvedPkgInfo->pPkgsToUpgrade ||
|
||||
|
@ -965,9 +978,9 @@ TDNFSearchCommand(
|
|||
}
|
||||
|
||||
unError = TDNFAllocateMemory(
|
||||
unCount,
|
||||
sizeof(TDNF_PKG_INFO),
|
||||
(void**)&pPkgInfo);
|
||||
unCount,
|
||||
sizeof(TDNF_PKG_INFO),
|
||||
(void**)&pPkgInfo);
|
||||
|
||||
BAIL_ON_TDNF_ERROR(unError);
|
||||
|
||||
|
@ -977,7 +990,8 @@ TDNFSearchCommand(
|
|||
unError = TDNFSafeAllocateString(hy_package_get_name(hPkg), &pPkg->pszName);
|
||||
BAIL_ON_TDNF_ERROR(unError);
|
||||
|
||||
unError = TDNFSafeAllocateString(hy_package_get_summary(hPkg), &pPkg->pszSummary);
|
||||
unError = TDNFSafeAllocateString(hy_package_get_summary(hPkg),
|
||||
&pPkg->pszSummary);
|
||||
BAIL_ON_TDNF_ERROR(unError);
|
||||
}
|
||||
|
||||
|
|
|
@ -109,6 +109,7 @@ typedef enum
|
|||
} while(0)
|
||||
//Misc
|
||||
#define TDNF_RPM_EXT ".rpm"
|
||||
#define TDNF_NAME "tdnf"
|
||||
#define DIR_SEPARATOR '/'
|
||||
|
||||
//repomd type
|
||||
|
@ -216,4 +217,5 @@ typedef enum
|
|||
{ERROR_TDNF_AUTOERASE_UNSUPPORTED,"ERROR_TDNF_AUTOERASE_UNSUPPORTED","autoerase / autoremove is not supported."}, \
|
||||
{ERROR_TDNF_RPM_CHECK, "ERROR_TDNF_RPM_CHECK", "rpm check reported errors"}, \
|
||||
{ERROR_TDNF_METADATA_EXPIRE_PARSE, "ERROR_TDNF_METADATA_EXPIRE_PARSE", "metadata_expire value could not be parsed. Check your repo files."},\
|
||||
{ERROR_TDNF_SELF_ERASE, "ERROR_TDNF_SELF_ERASE", "The operation would result in removing the protected package : tdnf"},\
|
||||
};
|
||||
|
|
|
@ -67,10 +67,11 @@ extern "C" {
|
|||
#define ERROR_TDNF_NO_DOWNGRADE_PATH 1028
|
||||
//
|
||||
#define ERROR_TDNF_METADATA_EXPIRE_PARSE 1029
|
||||
#define ERROR_TDNF_SELF_ERASE 1030
|
||||
|
||||
//curl errors
|
||||
#define ERROR_TDNF_CURL_INIT 1030
|
||||
#define ERROR_TDNF_CURL_BASE 1031
|
||||
#define ERROR_TDNF_CURL_INIT 1200
|
||||
#define ERROR_TDNF_CURL_BASE 1201
|
||||
#define ERROR_TDNF_CURL_END 1299
|
||||
|
||||
//Hawkey errors 1300 to 1399
|
||||
|
|
Loading…
Reference in New Issue