mirror of
https://github.com/kevingruesser/bootstrap-vz.git
synced 2025-08-24 15:36:27 +00:00
Distinguish between bootstrap and apt mirror
They can both be set independently now. If the bootstrap mirror is not set, it falls back to the apt mirror, which in turn falls back to the geo redirector.
This commit is contained in:
parent
d9a7f3d1e4
commit
7afd04f1c9
4 changed files with 6 additions and 4 deletions
|
@ -14,6 +14,8 @@ class BootstrapInformation(object):
|
||||||
from fs import load_volume
|
from fs import load_volume
|
||||||
self.volume = load_volume(self.manifest.volume)
|
self.volume = load_volume(self.manifest.volume)
|
||||||
|
|
||||||
|
self.apt_mirror = self.manifest.packages.get('mirror', 'http://http.debian.net/debian')
|
||||||
|
|
||||||
class DictClass(dict):
|
class DictClass(dict):
|
||||||
def __getattr__(self, name):
|
def __getattr__(self, name):
|
||||||
return self[name]
|
return self[name]
|
||||||
|
@ -31,7 +33,7 @@ class BootstrapInformation(object):
|
||||||
obj[key] = value
|
obj[key] = value
|
||||||
|
|
||||||
self.manifest_vars = {}
|
self.manifest_vars = {}
|
||||||
self.manifest_vars['apt_mirror'] = 'http://http.debian.net/debian'
|
self.manifest_vars['apt_mirror'] = self.apt_mirror
|
||||||
set_manifest_vars(self.manifest_vars, self.manifest.data)
|
set_manifest_vars(self.manifest_vars, self.manifest.data)
|
||||||
|
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
"packages": {
|
"packages": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"properties": {
|
"properties": {
|
||||||
|
"mirror": { "type": "string", "format": "uri" },
|
||||||
"sources": {
|
"sources": {
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"patternProperties": {
|
"patternProperties": {
|
||||||
|
|
|
@ -48,8 +48,6 @@ class Manifest(object):
|
||||||
self.data = data
|
self.data = data
|
||||||
self.provider = data['provider']
|
self.provider = data['provider']
|
||||||
self.bootstrapper = data['bootstrapper']
|
self.bootstrapper = data['bootstrapper']
|
||||||
if 'mirror' not in self.bootstrapper:
|
|
||||||
self.bootstrapper['mirror'] = 'http://http.debian.net/debian'
|
|
||||||
self.volume = data['volume']
|
self.volume = data['volume']
|
||||||
self.system = data['system']
|
self.system = data['system']
|
||||||
self.packages = data['packages']
|
self.packages = data['packages']
|
||||||
|
|
|
@ -12,7 +12,8 @@ def get_bootstrap_args(info):
|
||||||
options.append('--include=' + ','.join(info.include_packages))
|
options.append('--include=' + ','.join(info.include_packages))
|
||||||
if len(info.exclude_packages) > 0:
|
if len(info.exclude_packages) > 0:
|
||||||
options.append('--exclude=' + ','.join(info.exclude_packages))
|
options.append('--exclude=' + ','.join(info.exclude_packages))
|
||||||
arguments = [info.manifest.system['release'], info.root, info.manifest.bootstrapper['mirror']]
|
mirror = info.manifest.bootstrapper.get('mirror', info.apt_mirror)
|
||||||
|
arguments = [info.manifest.system['release'], info.root, mirror]
|
||||||
return executable, options, arguments
|
return executable, options, arguments
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue