- Change the "off" value from 1% to 0% - Default is 0 for file:// repos, [main] value otherwise. - Update docs. --- docs/yum.conf.5 | 4 ++-- yum/config.py | 4 ++-- yum/drpm.py | 13 +++++++++++-- 3 files changed, 15 insertions(+), 6 deletions(-)
diff --git a/docs/yum.conf.5 b/docs/yum.conf.5 index 90da81f..cb7ab14 100644 --- a/docs/yum.conf.5 +++ b/docs/yum.conf.5 @@ -401,9 +401,10 @@ slower). .IP \fBdeltarpm_percentage\fR - When the relative size of delta vs pkg is larger than this, delta is not used. Default value is 75 (Deltas must be at least 25% smaller than the pkg). +Use `0' to turn off delta rpm processing. Local repositories (with file:// +baseurl) have delta rpms turned off by default. .IP \fBsslcacert \fR @@ -1018,7 +1019,6 @@ repository. .IP \fBdeltarpm_percentage\fR - Overrides the \fBdeltarpm_percentage\fR option from the [main] section for this repository. diff --git a/yum/config.py b/yum/config.py index 3bc5bd1..52e539d 100644 --- a/yum/config.py +++ b/yum/config.py @@ -802,7 +802,7 @@ class YumConf(StartupConf): mapper = {'4': 'ipv4', '6': 'ipv6'}) max_connections = IntOption(0, range_min=0) deltarpm = IntOption(2, range_min=-16, range_max=128) - deltarpm_percentage = IntOption(75, range_min=1, range_max=100) + deltarpm_percentage = IntOption(75, range_min=0, range_max=100) http_caching = SelectionOption('all', ('none', 'packages', 'all')) metadata_expire = SecondsOption(60 * 60 * 6) # Time in seconds (6h). @@ -971,7 +971,7 @@ class RepoConf(BaseConfig): throttle = Inherit(YumConf.throttle) timeout = Inherit(YumConf.timeout) ip_resolve = Inherit(YumConf.ip_resolve) - deltarpm_percentage = Inherit(YumConf.deltarpm_percentage) + deltarpm_percentage = IntOption(None, range_min=0, range_max=100) http_caching = Inherit(YumConf.http_caching) metadata_expire = Inherit(YumConf.metadata_expire) diff --git a/yum/drpm.py b/yum/drpm.py index 2e23241..d00cf1c 100644 --- a/yum/drpm.py +++ b/yum/drpm.py @@ -128,7 +128,13 @@ class DeltaInfo: pinfo = {} reposize = {} for index, po in enumerate(pkgs): - if po.repo.deltarpm_percentage == 1: + perc = po.repo.deltarpm_percentage + if perc is None: + urls = po.repo.urls + perc = ayum.conf.deltarpm_percentage + if len(urls) == 1 and urls[0].startswith('file:'): + perc = 0 # for local repos, default to off. + if perc == 0: continue # Allow people to turn off a repo. (meh) if po.state == TS_UPDATE: pass elif po.name in ayum.conf.installonlypkgs: pass @@ -193,7 +199,10 @@ class DeltaInfo: index = pinfo_repo.get(new) if index is not None: po = pkgs[index] - best = po.size * (repo.deltarpm_percentage / 100.0) + perc = repo.deltarpm_percentage + if perc is None: + perc = ayum.conf.deltarpm_percentage + best = po.size * (perc / 100.0) have = oldrpms.get(repo, {}).get((name, arch), {}) for el in el.findall('delta'): size = int(el.find('size').text) -- 1.7.11.7 _______________________________________________ Yum-devel mailing list Yum-devel@lists.baseurl.org http://lists.baseurl.org/mailman/listinfo/yum-devel