mirror of
https://github.com/kevingruesser/bootstrap-vz.git
synced 2025-08-24 07:26:29 +00:00

New phase introduced "package installation" (fixes #114) Apt source lines are now parsed, this allows to verify the target release of added packages. All packages (except locales) are now installed *after* bootstrapping (fixes #123) Added env argument to log_(check_)call HostDependencies have been refactored a little
75 lines
2.2 KiB
Python
75 lines
2.2 KiB
Python
from common.tasks import workspace
|
|
from common.tasks import packages
|
|
from common.tasks import host
|
|
from common.tasks import bootstrap
|
|
from common.tasks import volume
|
|
from common.tasks import filesystem
|
|
from common.tasks import partitioning
|
|
from common.tasks import cleanup
|
|
from common.tasks import apt
|
|
from common.tasks import security
|
|
from common.tasks import locale
|
|
|
|
base_set = [workspace.CreateWorkspace,
|
|
host.HostDependencies,
|
|
host.CheckHostDependencies,
|
|
bootstrap.Bootstrap,
|
|
workspace.DeleteWorkspace,
|
|
]
|
|
|
|
volume_set = [volume.Attach,
|
|
volume.Detach,
|
|
filesystem.Format,
|
|
filesystem.FStab,
|
|
]
|
|
|
|
partitioning_set = [partitioning.PartitionVolume,
|
|
partitioning.MapPartitions,
|
|
partitioning.UnmapPartitions,
|
|
]
|
|
|
|
boot_partition_set = [filesystem.CreateBootMountDir,
|
|
filesystem.MountBoot,
|
|
]
|
|
|
|
mounting_set = [filesystem.CreateMountDir,
|
|
filesystem.MountRoot,
|
|
filesystem.MountSpecials,
|
|
filesystem.UnmountRoot,
|
|
filesystem.DeleteMountDir,
|
|
]
|
|
|
|
ssh_set = [security.DisableSSHPasswordAuthentication,
|
|
security.DisableSSHDNSLookup,
|
|
cleanup.ShredHostkeys,
|
|
]
|
|
|
|
apt_set = [apt.WriteSources,
|
|
apt.DisableDaemonAutostart,
|
|
apt.AptUpdate,
|
|
apt.AptUpgrade,
|
|
packages.InstallRemotePackages,
|
|
packages.InstallLocalPackages,
|
|
apt.PurgeUnusedPackages,
|
|
apt.AptClean,
|
|
apt.EnableDaemonAutostart,
|
|
]
|
|
|
|
locale_set = [locale.LocaleBootstrapPackage,
|
|
locale.GenerateLocale,
|
|
locale.SetTimezone,
|
|
]
|
|
|
|
|
|
def get_fs_specific_set(partitions):
|
|
task_set = {'ext2': [filesystem.TuneVolumeFS],
|
|
'ext3': [filesystem.TuneVolumeFS],
|
|
'ext4': [filesystem.TuneVolumeFS],
|
|
'xfs': [filesystem.AddXFSProgs],
|
|
}
|
|
tasks = set()
|
|
if 'boot' in partitions:
|
|
tasks.update(task_set.get(partitions['boot']['filesystem'], []))
|
|
if 'root' in partitions:
|
|
tasks.update(task_set.get(partitions['root']['filesystem'], []))
|
|
return tasks
|