mirror of https://github.com/vmware/tdnf.git
add options to skip metadata parts
This commit is contained in:
parent
5eb502db77
commit
b13ffe932b
|
@ -116,6 +116,9 @@ typedef enum
|
|||
#define TDNF_REPO_KEY_SSL_CA_CERT "sslcacert"
|
||||
#define TDNF_REPO_KEY_SSL_CLI_CERT "sslclientcert"
|
||||
#define TDNF_REPO_KEY_SSL_CLI_KEY "sslclientkey"
|
||||
#define TDNF_REPO_KEY_SKIP_MD_FILELISTS "skip_md_filelists"
|
||||
#define TDNF_REPO_KEY_SKIP_MD_UPDATEINFO "skip_md_updateinfo"
|
||||
#define TDNF_REPO_KEY_SKIP_MD_OTHER "skip_md_other"
|
||||
|
||||
//setopt keys
|
||||
#define TDNF_SETOPT_KEY_REPOSDIR "reposdir"
|
||||
|
@ -152,6 +155,9 @@ typedef enum
|
|||
#define TDNF_REPO_DEFAULT_PRIORITY 50
|
||||
#define TDNF_REPO_DEFAULT_METADATA_EXPIRE 172800 // 48 hours in seconds
|
||||
#define TDNF_REPO_DEFAULT_METADATA_EXPIRE_STR STRINGIFYX(TDNF_REPO_DEFAULT_METADATA_EXPIRE)
|
||||
#define TDNF_REPO_DEFAULT_SKIP_MD_FILELISTS 0
|
||||
#define TDNF_REPO_DEFAULT_SKIP_MD_UPDATEINFO 0
|
||||
#define TDNF_REPO_DEFAULT_SKIP_MD_OTHER 0
|
||||
|
||||
// var names
|
||||
#define TDNF_VAR_RELEASEVER "$releasever"
|
||||
|
|
|
@ -709,7 +709,7 @@ TDNFFreeRepoMetadata(
|
|||
uint32_t
|
||||
TDNFEnsureRepoMDParts(
|
||||
PTDNF pTdnf,
|
||||
const char *pszBaseUrl,
|
||||
PTDNF_REPO_DATA_INTERNAL pRepo,
|
||||
PTDNF_REPO_METADATA pRepoMDRel,
|
||||
PTDNF_REPO_METADATA *ppRepoMD
|
||||
);
|
||||
|
|
|
@ -967,7 +967,7 @@ TDNFGetRepoMD(
|
|||
|
||||
dwError = TDNFEnsureRepoMDParts(
|
||||
pTdnf,
|
||||
pRepoData->pszBaseUrl,
|
||||
pRepoData,
|
||||
pRepoMDRel,
|
||||
&pRepoMD);
|
||||
BAIL_ON_TDNF_ERROR(dwError);
|
||||
|
@ -1065,13 +1065,14 @@ error:
|
|||
uint32_t
|
||||
TDNFEnsureRepoMDParts(
|
||||
PTDNF pTdnf,
|
||||
const char *pszBaseUrl,
|
||||
PTDNF_REPO_DATA_INTERNAL pRepo,
|
||||
PTDNF_REPO_METADATA pRepoMDRel,
|
||||
PTDNF_REPO_METADATA *ppRepoMD
|
||||
)
|
||||
{
|
||||
uint32_t dwError = 0;
|
||||
PTDNF_REPO_METADATA pRepoMD = NULL;
|
||||
const char *pszBaseUrl = NULL;
|
||||
|
||||
if(!pTdnf || !pRepoMDRel || !ppRepoMD)
|
||||
{
|
||||
|
@ -1079,6 +1080,8 @@ TDNFEnsureRepoMDParts(
|
|||
BAIL_ON_TDNF_ERROR(dwError);
|
||||
}
|
||||
|
||||
pszBaseUrl = pRepo->pszBaseUrl;
|
||||
|
||||
dwError = TDNFAllocateMemory(
|
||||
1,
|
||||
sizeof(TDNF_REPO_METADATA),
|
||||
|
@ -1102,7 +1105,7 @@ TDNFEnsureRepoMDParts(
|
|||
pRepoMD->pszPrimary);
|
||||
BAIL_ON_TDNF_ERROR(dwError);
|
||||
|
||||
if(!IsNullOrEmptyString(pRepoMDRel->pszFileLists))
|
||||
if(!pRepo->nSkipMDFileLists && !IsNullOrEmptyString(pRepoMDRel->pszFileLists))
|
||||
{
|
||||
dwError = TDNFAppendPath(
|
||||
pRepoMDRel->pszRepoCacheDir,
|
||||
|
@ -1119,7 +1122,7 @@ TDNFEnsureRepoMDParts(
|
|||
BAIL_ON_TDNF_ERROR(dwError);
|
||||
}
|
||||
|
||||
if(!IsNullOrEmptyString(pRepoMDRel->pszUpdateInfo))
|
||||
if(!pRepo->nSkipMDUpdateInfo && !IsNullOrEmptyString(pRepoMDRel->pszUpdateInfo))
|
||||
{
|
||||
dwError = TDNFAppendPath(
|
||||
pRepoMDRel->pszRepoCacheDir,
|
||||
|
@ -1136,7 +1139,7 @@ TDNFEnsureRepoMDParts(
|
|||
BAIL_ON_TDNF_ERROR(dwError);
|
||||
}
|
||||
|
||||
if(!IsNullOrEmptyString(pRepoMDRel->pszOther))
|
||||
if(!pRepo->nSkipMDOther && !IsNullOrEmptyString(pRepoMDRel->pszOther))
|
||||
{
|
||||
dwError = TDNFAppendPath(
|
||||
pRepoMDRel->pszRepoCacheDir,
|
||||
|
|
|
@ -278,6 +278,9 @@ TDNFCreateRepo(
|
|||
pRepo->nMinrate = TDNF_REPO_DEFAULT_MINRATE;
|
||||
pRepo->nThrottle = TDNF_REPO_DEFAULT_THROTTLE;
|
||||
pRepo->nRetries = TDNF_REPO_DEFAULT_RETRIES;
|
||||
pRepo->nSkipMDFileLists = TDNF_REPO_DEFAULT_SKIP_MD_FILELISTS;
|
||||
pRepo->nSkipMDUpdateInfo = TDNF_REPO_DEFAULT_SKIP_MD_UPDATEINFO;
|
||||
pRepo->nSkipMDOther = TDNF_REPO_DEFAULT_SKIP_MD_OTHER;
|
||||
|
||||
*ppRepo = pRepo;
|
||||
cleanup:
|
||||
|
@ -540,6 +543,27 @@ TDNFLoadReposFromFile(
|
|||
TDNF_SAFE_FREE_MEMORY(pszMetadataExpire);
|
||||
pszMetadataExpire = NULL;
|
||||
|
||||
dwError = TDNFReadKeyValueBoolean(
|
||||
pSections,
|
||||
TDNF_REPO_KEY_SKIP_MD_FILELISTS,
|
||||
TDNF_REPO_DEFAULT_SKIP_MD_FILELISTS,
|
||||
&pRepo->nSkipMDFileLists);
|
||||
BAIL_ON_TDNF_ERROR(dwError);
|
||||
|
||||
dwError = TDNFReadKeyValueBoolean(
|
||||
pSections,
|
||||
TDNF_REPO_KEY_SKIP_MD_UPDATEINFO,
|
||||
TDNF_REPO_DEFAULT_SKIP_MD_UPDATEINFO,
|
||||
&pRepo->nSkipMDUpdateInfo);
|
||||
BAIL_ON_TDNF_ERROR(dwError);
|
||||
|
||||
dwError = TDNFReadKeyValueBoolean(
|
||||
pSections,
|
||||
TDNF_REPO_KEY_SKIP_MD_OTHER,
|
||||
TDNF_REPO_DEFAULT_SKIP_MD_OTHER,
|
||||
&pRepo->nSkipMDOther);
|
||||
BAIL_ON_TDNF_ERROR(dwError);
|
||||
|
||||
/* plugin event repo readconfig end */
|
||||
dwError = TDNFEventRepoReadConfigEnd(pTdnf, pSections);
|
||||
BAIL_ON_TDNF_ERROR(dwError);
|
||||
|
|
|
@ -41,7 +41,9 @@ typedef struct _TDNF_REPO_DATA_INTERNAL_
|
|||
int nMinrate;
|
||||
int nThrottle;
|
||||
int nRetries;
|
||||
|
||||
int nSkipMDFileLists;
|
||||
int nSkipMDUpdateInfo;
|
||||
int nSkipMDOther;
|
||||
struct _TDNF_REPO_DATA_INTERNAL_* pNext;
|
||||
} TDNF_REPO_DATA_INTERNAL, *PTDNF_REPO_DATA_INTERNAL;
|
||||
|
||||
|
|
Loading…
Reference in New Issue