Make tmpdir a method parameter of prepare()
Fixes pylint errors.
This commit is contained in:
parent
b45e1f81ae
commit
be1333ee8b
|
@ -14,6 +14,7 @@ import shutil
|
||||||
import tarfile
|
import tarfile
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
|
# pylint: disable=too-many-instance-attributes
|
||||||
class Generator():
|
class Generator():
|
||||||
"""
|
"""
|
||||||
Class responsible for generating the basic media to be consumed.
|
Class responsible for generating the basic media to be consumed.
|
||||||
|
@ -22,25 +23,25 @@ class Generator():
|
||||||
git_dir = os.path.join(os.path.dirname(os.path.join(__file__)), '..')
|
git_dir = os.path.join(os.path.dirname(os.path.join(__file__)), '..')
|
||||||
distfiles_dir = os.path.join(git_dir, 'distfiles')
|
distfiles_dir = os.path.join(git_dir, 'distfiles')
|
||||||
|
|
||||||
# pylint: disable=too-many-arguments
|
def __init__(self, arch, external_sources, early_preseed, repo_path):
|
||||||
def __init__(self, tmpdir, arch, external_sources,
|
|
||||||
early_preseed, repo_path):
|
|
||||||
self.arch = arch
|
self.arch = arch
|
||||||
self.early_preseed = early_preseed
|
self.early_preseed = early_preseed
|
||||||
self.external_sources = external_sources
|
self.external_sources = external_sources
|
||||||
self.repo_path = repo_path
|
self.repo_path = repo_path
|
||||||
self.tmpdir = tmpdir
|
|
||||||
self.tmp_dir = tmpdir.path
|
|
||||||
self.external_dir = os.path.join(self.tmp_dir, 'external')
|
|
||||||
self.source_manifest = self.get_source_manifest(not self.external_sources)
|
self.source_manifest = self.get_source_manifest(not self.external_sources)
|
||||||
|
self.tmp_dir = None
|
||||||
|
self.external_dir = None
|
||||||
|
|
||||||
def prepare(self, using_kernel=False, kernel_bootstrap=False, target_size=0):
|
def prepare(self, tmpdir, using_kernel=False, kernel_bootstrap=False, target_size=0):
|
||||||
"""
|
"""
|
||||||
Prepare basic media of live-bootstrap.
|
Prepare basic media of live-bootstrap.
|
||||||
/steps -- contains steps to be built
|
/steps -- contains steps to be built
|
||||||
/ -- contains seed to allow steps to be built, containing custom
|
/ -- contains seed to allow steps to be built, containing custom
|
||||||
scripts and stage0-posix
|
scripts and stage0-posix
|
||||||
"""
|
"""
|
||||||
|
self.tmp_dir = tmpdir.path
|
||||||
|
self.external_dir = os.path.join(self.tmp_dir, 'external')
|
||||||
|
|
||||||
# We use ext3 here; ext4 actually has a variety of extensions that
|
# We use ext3 here; ext4 actually has a variety of extensions that
|
||||||
# have been added with varying levels of recency
|
# have been added with varying levels of recency
|
||||||
# Linux 4.9.10 does not support a bunch of them
|
# Linux 4.9.10 does not support a bunch of them
|
||||||
|
@ -56,17 +57,17 @@ class Generator():
|
||||||
self.tmp_dir = init_path
|
self.tmp_dir = init_path
|
||||||
|
|
||||||
if self.repo_path or self.external_sources:
|
if self.repo_path or self.external_sources:
|
||||||
self.tmpdir.add_disk("external", filesystem="ext3")
|
tmpdir.add_disk("external", filesystem="ext3")
|
||||||
self.tmpdir.mount_disk("external", "external")
|
tmpdir.mount_disk("external", "external")
|
||||||
else:
|
else:
|
||||||
self.external_dir = os.path.join(self.tmp_dir, 'external')
|
self.external_dir = os.path.join(self.tmp_dir, 'external')
|
||||||
elif using_kernel:
|
elif using_kernel:
|
||||||
self.tmp_dir = os.path.join(self.tmp_dir, 'disk')
|
self.tmp_dir = os.path.join(self.tmp_dir, 'disk')
|
||||||
self.tmpdir.add_disk("disk",
|
tmpdir.add_disk("disk",
|
||||||
filesystem="ext3",
|
filesystem="ext3",
|
||||||
size=(target_size + "M") if target_size else "16G",
|
size=(target_size + "M") if target_size else "16G",
|
||||||
bootable=True)
|
bootable=True)
|
||||||
self.tmpdir.mount_disk("disk", "disk")
|
tmpdir.mount_disk("disk", "disk")
|
||||||
self.external_dir = os.path.join(self.tmp_dir, 'external')
|
self.external_dir = os.path.join(self.tmp_dir, 'external')
|
||||||
|
|
||||||
os.makedirs(self.external_dir, exist_ok=True)
|
os.makedirs(self.external_dir, exist_ok=True)
|
||||||
|
@ -95,9 +96,9 @@ class Generator():
|
||||||
self.create_builder_hex0_disk_image(self.tmp_dir + '.img', target_size)
|
self.create_builder_hex0_disk_image(self.tmp_dir + '.img', target_size)
|
||||||
|
|
||||||
if kernel_bootstrap and (self.external_sources or self.repo_path):
|
if kernel_bootstrap and (self.external_sources or self.repo_path):
|
||||||
self.tmpdir.umount_disk('external')
|
tmpdir.umount_disk('external')
|
||||||
elif using_kernel:
|
elif using_kernel:
|
||||||
self.tmpdir.umount_disk('disk')
|
tmpdir.umount_disk('disk')
|
||||||
|
|
||||||
def steps(self):
|
def steps(self):
|
||||||
"""Copy in steps."""
|
"""Copy in steps."""
|
||||||
|
|
15
rootfs.py
15
rootfs.py
|
@ -162,8 +162,7 @@ def main():
|
||||||
if args.tmpfs:
|
if args.tmpfs:
|
||||||
tmpdir.tmpfs(size=args.tmpfs_size)
|
tmpdir.tmpfs(size=args.tmpfs_size)
|
||||||
|
|
||||||
generator = Generator(tmpdir=tmpdir,
|
generator = Generator(arch=args.arch,
|
||||||
arch=args.arch,
|
|
||||||
external_sources=args.external_sources,
|
external_sources=args.external_sources,
|
||||||
repo_path=args.repo,
|
repo_path=args.repo,
|
||||||
early_preseed=args.early_preseed)
|
early_preseed=args.early_preseed)
|
||||||
|
@ -181,7 +180,7 @@ print(shutil.which('chroot'))
|
||||||
chroot_binary = run_as_root('python3', '-c', find_chroot,
|
chroot_binary = run_as_root('python3', '-c', find_chroot,
|
||||||
capture_output=True).stdout.decode().strip()
|
capture_output=True).stdout.decode().strip()
|
||||||
|
|
||||||
generator.prepare(using_kernel=False)
|
generator.prepare(tmpdir, using_kernel=False)
|
||||||
|
|
||||||
arch = stage0_arch_map.get(args.arch, args.arch)
|
arch = stage0_arch_map.get(args.arch, args.arch)
|
||||||
init = os.path.join(os.sep, 'bootstrap-seeds', 'POSIX', arch, 'kaem-optional-seed')
|
init = os.path.join(os.sep, 'bootstrap-seeds', 'POSIX', arch, 'kaem-optional-seed')
|
||||||
|
@ -189,7 +188,7 @@ print(shutil.which('chroot'))
|
||||||
|
|
||||||
elif args.bwrap:
|
elif args.bwrap:
|
||||||
if not args.internal_ci or args.internal_ci == "pass1":
|
if not args.internal_ci or args.internal_ci == "pass1":
|
||||||
generator.prepare(using_kernel=False)
|
generator.prepare(tmpdir, using_kernel=False)
|
||||||
|
|
||||||
arch = stage0_arch_map.get(args.arch, args.arch)
|
arch = stage0_arch_map.get(args.arch, args.arch)
|
||||||
init = os.path.join(os.sep, 'bootstrap-seeds', 'POSIX', arch, 'kaem-optional-seed')
|
init = os.path.join(os.sep, 'bootstrap-seeds', 'POSIX', arch, 'kaem-optional-seed')
|
||||||
|
@ -235,20 +234,20 @@ print(shutil.which('chroot'))
|
||||||
|
|
||||||
elif args.bare_metal:
|
elif args.bare_metal:
|
||||||
if args.kernel:
|
if args.kernel:
|
||||||
generator.prepare(using_kernel=True, target_size=size)
|
generator.prepare(tmpdir, using_kernel=True, target_size=size)
|
||||||
image_path = os.path.join(args.tmpdir, os.path.relpath(generator.tmp_dir, args.tmpdir))
|
image_path = os.path.join(args.tmpdir, os.path.relpath(generator.tmp_dir, args.tmpdir))
|
||||||
print("Please:")
|
print("Please:")
|
||||||
print(f" 1. Take {image_path}/initramfs and your kernel, boot using this.")
|
print(f" 1. Take {image_path}/initramfs and your kernel, boot using this.")
|
||||||
print(f" 2. Take {image_path}/disk.img and put this on a writable storage medium.")
|
print(f" 2. Take {image_path}/disk.img and put this on a writable storage medium.")
|
||||||
else:
|
else:
|
||||||
generator.prepare(kernel_bootstrap=True, target_size=size)
|
generator.prepare(tmpdir, kernel_bootstrap=True, target_size=size)
|
||||||
image_path = os.path.join(args.tmpdir, os.path.relpath(generator.tmp_dir, args.tmpdir))
|
image_path = os.path.join(args.tmpdir, os.path.relpath(generator.tmp_dir, args.tmpdir))
|
||||||
print("Please:")
|
print("Please:")
|
||||||
print(f" 1. Take {image_path}.img and write it to a boot drive and then boot it.")
|
print(f" 1. Take {image_path}.img and write it to a boot drive and then boot it.")
|
||||||
|
|
||||||
else:
|
else:
|
||||||
if args.kernel:
|
if args.kernel:
|
||||||
generator.prepare(using_kernel=True, target_size=size)
|
generator.prepare(tmpdir, using_kernel=True, target_size=size)
|
||||||
|
|
||||||
run(args.qemu_cmd,
|
run(args.qemu_cmd,
|
||||||
'-enable-kvm',
|
'-enable-kvm',
|
||||||
|
@ -262,7 +261,7 @@ print(shutil.which('chroot'))
|
||||||
'-nographic',
|
'-nographic',
|
||||||
'-append', 'console=ttyS0 root=/dev/sda1 rootfstype=ext3 init=/init rw')
|
'-append', 'console=ttyS0 root=/dev/sda1 rootfstype=ext3 init=/init rw')
|
||||||
else:
|
else:
|
||||||
generator.prepare(kernel_bootstrap=True, target_size=size)
|
generator.prepare(tmpdir, kernel_bootstrap=True, target_size=size)
|
||||||
arg_list = [
|
arg_list = [
|
||||||
'-enable-kvm',
|
'-enable-kvm',
|
||||||
'-m', str(args.qemu_ram) + 'M',
|
'-m', str(args.qemu_ram) + 'M',
|
||||||
|
|
Loading…
Reference in New Issue