for repo in kickstart.get_repos(self.ks, repo_urls):
(name, baseurl, mirrorlist, inc, exc,
proxy, proxy_username, proxy_password, debuginfo,
- source, gpgkey, disable, ssl_verify, cost, priority) = repo
+ source, gpgkey, disable, ssl_verify, nocache,
+ cost, priority) = repo
yr = pkg_manager.addRepository(name, baseurl, mirrorlist, proxy,
proxy_username, proxy_password, inc, exc, ssl_verify,
- cost, priority)
+ nocache, cost, priority)
if kickstart.exclude_docs(self.ks):
rpm.addMacro("_excludedocs", "1")
ssl_verify = True
if hasattr(repo, "ssl_verify"):
ssl_verify = repo.ssl_verify == "yes"
+ nocache = False
+ if hasattr(repo, "nocache"):
+ nocache = repo.nocache
cost = None
if hasattr(repo, "cost"):
cost = repo.cost
repos[repo.name] = (repo.name, baseurl, mirrorlist, inc, exc,
proxy, proxy_username, proxy_password, debuginfo,
- source, gpgkey, disable, ssl_verify, cost, priority)
+ source, gpgkey, disable, ssl_verify, nocache,
+ cost, priority)
return repos.values()
def __init__(self, baseurl="", mirrorlist="", name="", priority=None,
includepkgs=[], excludepkgs=[], save=False, proxy=None,
proxy_username=None, proxy_password=None, debuginfo=False,
- source=False, gpgkey=None, disable=False, ssl_verify="yes"):
+ source=False, gpgkey=None, disable=False, ssl_verify="yes",
+ nocache=False):
F8_RepoData.__init__(self, baseurl=baseurl, mirrorlist=mirrorlist,
name=name, includepkgs=includepkgs,
excludepkgs=excludepkgs)
self.gpgkey = gpgkey
self.ssl_verify = ssl_verify.lower()
self.priority = priority
+ self.nocache = nocache
def _getArgsAsStr(self):
retval = F8_RepoData._getArgsAsStr(self)
retval += " --ssl_verify=%s" % self.ssl_verify
if self.priority:
retval += " --priority=%s" % self.priority
+ if self.nocache:
+ retval += " --nocache"
return retval
dest="ssl_verify", default="yes")
op.add_option("--priority", type="int", action="store", dest="priority",
default=None)
+ op.add_option("--nocache", action="store_true", dest="nocache",
+ default=False)
return op
def addRepository(self, name, url = None, mirrorlist = None, proxy = None,
proxy_username = None, proxy_password = None,
- inc = None, exc = None, ssl_verify=True, cost = None,
- priority=None):
+ inc = None, exc = None, ssl_verify=True, nocache=False,
+ cost = None, priority=None):
# TODO: Handle priority attribute for repos
def _varSubstitute(option):
# takes a variable and substitutes like yum configs do
repo.setAttribute(k, v)
repo.sslverify = ssl_verify
+ repo.cache = not nocache
repo.basecachedir = self.cachedir
repo.base_persistdir = self.conf.persistdir
msger.info("\nChecking packages cache and packages integrity ...")
for po in dlpkgs:
local = po.localPkg()
+ repo = filter(lambda r: r.id == po.repoid, self.repos.listEnabled())[0]
+ if not repo.cache and os.path.exists(local):
+ os.unlink(local)
if not os.path.exists(local):
continue
if not self.verifyPkg(local, po, False):
self.proxy = None
self.proxy_username = None
self.proxy_password = None
+ self.nocache = False
self.enabled = True
self.autorefresh = True
inc = None,
exc = None,
ssl_verify = True,
+ nocache = False,
cost=None,
priority=None):
# TODO: Handle cost attribute for repos
repo.proxy_username = proxy_username
repo.proxy_password = proxy_password
repo.ssl_verify = ssl_verify
+ repo.nocache = nocache
repo.baseurl.append(url)
if inc:
for pkg in inc:
cached_count += 1
else:
local = self.getLocalPkgPath(po)
+ name = str(po.repoInfo().name())
+ try:
+ repo = filter(lambda r: r.name == name, self.repos)[0]
+ except IndexError:
+ repo = None
+ nocache = repo.nocache if repo else False
+
if os.path.exists(local):
- if self.checkPkg(local) != 0:
+ if nocache or self.checkPkg(local) !=0:
os.unlink(local)
else:
download_total_size -= int(po.downloadSize())