postcfg: only attempt to rank mirrors if hasInternet
clean up imports
This commit is contained in:
parent
021e3b20c6
commit
2b00d28de2
@ -21,47 +21,45 @@
|
|||||||
|
|
||||||
import libcalamares
|
import libcalamares
|
||||||
|
|
||||||
import os
|
from shutil import copy2
|
||||||
import shutil
|
from distutils.dir_util import copy_tree
|
||||||
import distutils.dir_util
|
|
||||||
|
|
||||||
from os.path import join, exists
|
from os.path import join, exists
|
||||||
from libcalamares.utils import target_env_call, check_target_env_call
|
from libcalamares.utils import target_env_call
|
||||||
|
|
||||||
class ConfigController:
|
class ConfigController:
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.__root = libcalamares.globalstorage.value( "rootMountPoint" )
|
self.__root = libcalamares.globalstorage.value("rootMountPoint")
|
||||||
self.__keyrings = libcalamares.job.configuration.get('keyrings', [])
|
self.__keyrings = libcalamares.job.configuration.get('keyrings', [])
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def root(self):
|
def root(self):
|
||||||
return self.__root
|
return self.__root
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def keyrings(self):
|
def keyrings(self):
|
||||||
return self.__keyrings
|
return self.__keyrings
|
||||||
|
|
||||||
def init_keyring(self):
|
def init_keyring(self):
|
||||||
check_target_env_call(["pacman-key", "--init"])
|
target_env_call(["pacman-key", "--init"])
|
||||||
|
|
||||||
def populate_keyring(self):
|
def populate_keyring(self):
|
||||||
check_target_env_call(["pacman-key", "--populate"] + self.keyrings)
|
target_env_call(["pacman-key", "--populate"] + self.keyrings)
|
||||||
|
|
||||||
def terminate(self, proc):
|
def terminate(self, proc):
|
||||||
target_env_call(['killall', '-9', proc])
|
target_env_call(['killall', '-9', proc])
|
||||||
|
|
||||||
def copy_file(self, file):
|
def copy_file(self, file):
|
||||||
if exists("/" + file):
|
if exists("/" + file):
|
||||||
shutil.copy2("/" + file, join(self.root, file))
|
copy2("/" + file, join(self.root, file))
|
||||||
|
|
||||||
def copy_folder(self, source, target):
|
def copy_folder(self, source, target):
|
||||||
if exists("/" + source):
|
if exists("/" + source):
|
||||||
distutils.dir_util.copy_tree("/" + source, join(self.root, target))
|
copy_tree("/" + source, join(self.root, target))
|
||||||
|
|
||||||
def remove_pkg(self, pkg, path):
|
def remove_pkg(self, pkg, path):
|
||||||
if exists(join(self.root, path)):
|
if exists(join(self.root, path)):
|
||||||
target_env_call(['pacman', '-R', '--noconfirm', pkg])
|
target_env_call(['pacman', '-R', '--noconfirm', pkg])
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
self.init_keyring()
|
self.init_keyring()
|
||||||
self.populate_keyring()
|
self.populate_keyring()
|
||||||
@ -71,27 +69,28 @@ class ConfigController:
|
|||||||
|
|
||||||
# Generate mirror list
|
# Generate mirror list
|
||||||
if exists(join(self.root, "usr/bin/pacman-mirrors")):
|
if exists(join(self.root, "usr/bin/pacman-mirrors")):
|
||||||
target_env_call(["pacman-mirrors", "-g"])
|
if libcalamares.globalstorage.value("hasInternet"):
|
||||||
|
target_env_call(["pacman-mirrors", "-g"])
|
||||||
else:
|
else:
|
||||||
self.copy_file('etc/pacman.d/mirrorlist')
|
self.copy_file('etc/pacman.d/mirrorlist')
|
||||||
|
|
||||||
# Copy skel to root
|
# Copy skel to root
|
||||||
self.copy_folder('etc/skel', 'root')
|
self.copy_folder('etc/skel', 'root')
|
||||||
|
|
||||||
# Workaround for pacman-key bug FS#45351 https://bugs.archlinux.org/task/45351
|
# Workaround for pacman-key bug FS#45351 https://bugs.archlinux.org/task/45351
|
||||||
# We have to kill gpg-agent because if it stays around we can't reliably unmount
|
# We have to kill gpg-agent because if it stays around we can't reliably unmount
|
||||||
# the target partition.
|
# the target partition.
|
||||||
self.terminate('gpg-agent')
|
self.terminate('gpg-agent')
|
||||||
|
|
||||||
# Update grub.cfg
|
# Update grub.cfg
|
||||||
if exists(join(self.root, "usr/bin/update-grub")) and libcalamares.globalstorage.value("bootLoader") is not None:
|
if exists(join(self.root, "usr/bin/update-grub")) and libcalamares.globalstorage.value("bootLoader") is not None:
|
||||||
target_env_call(["update-grub"])
|
target_env_call(["update-grub"])
|
||||||
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def run():
|
def run():
|
||||||
""" Misc postinstall configurations """
|
""" Misc postinstall configurations """
|
||||||
|
|
||||||
config = ConfigController()
|
config = ConfigController()
|
||||||
|
|
||||||
return config.run()
|
return config.run()
|
||||||
|
Loading…
Reference in New Issue
Block a user