nobodd.prep
This module contains the implementation (and entry point) of the nobodd-prep application.
Application Functions
- nobodd.prep.main(args=None)[source]
The main entry point for the nobodd-prep application. Takes args, the sequence of command line arguments to parse. Returns the exit code of the application (0 for a normal exit, and non-zero otherwise).
If
DEBUG=1
is found in the application’s environment, top-level exceptions will be printed with a full back-trace.DEBUG=2
will launch PDB in port-mortem mode.
- nobodd.prep.get_parser()[source]
Returns the command line parser for the application, pre-configured with defaults from the application’s configuration file(s). See
ConfigArgumentParser()
for more information.
- nobodd.prep.prepare_image(conf)[source]
Given the script’s configuration in conf, an
argparse.Namespace
, resize the target image, and re-write the kernel command line within its boot partition to point to the configured NBD server and share.
- nobodd.prep.remove_items(fs, conf)[source]
In fs, a
FatFileSystem
, remove all items in thelist
conf.remove, where conf is the script’s configuration.If any item is a directory, it and all files under it will be removed recursively. If an item in to_remove does not exist, a warning will be printed, but no error is raised.
- nobodd.prep.copy_items(fs, conf)[source]
Copy all
Path
items in thelist
conf.copy into fs, aFatFileSystem
, where conf is the script’s configuration.If an item is a directory, it and all files under it will be copied recursively. If an item is a hard-link or a sym-link it will be copied as a regular file (since FAT does not support links). If an item does not exist, an
OSError
will be raised. This is in contrast toto_remove()
since it is assumed that control over the source file-system is under the caller’s control, which is not the case into_remove()
.
- nobodd.prep.rewrite_cmdline(fs, conf)[source]
Given the script’s configuration conf, find the file conf.cmdline containing the kernel command-line in the
FatFileSystem
fs, and re-write it to point the NBD share specified.
- nobodd.prep.detect_partitions(conf)[source]
Given the script’s configuration in conf, an
argparse.Namespace
, open the target image, and attempt to detect the root and/or boot partition.