sbuild
1.7.1
|
Chroot support for mountable devices and filesystems. More...
#include <mountable.h>
Public Types | |
typedef std::shared_ptr < mountable > | ptr |
A shared_ptr to a chroot facet object. | |
typedef std::shared_ptr< const mountable > | const_ptr |
A shared_ptr to a const chroot facet object. | |
![]() | |
enum | session_flags { SESSION_NOFLAGS = 0, SESSION_CREATE = 1 << 0, SESSION_CLONE = 1 << 1, SESSION_PURGE = 1 << 2 } |
Chroot session properties. More... | |
typedef std::shared_ptr< facet > | ptr |
A shared_ptr to a chroot facet object. | |
typedef std::shared_ptr< const facet > | const_ptr |
A shared_ptr to a const chroot facet object. | |
Public Member Functions | |
virtual | ~mountable () |
The destructor. | |
virtual facet::ptr | clone () const |
Copy the chroot facet. More... | |
virtual std::string const & | get_name () const |
Get the name of the chroot facet. More... | |
virtual std::string const & | get_mount_device () const |
Get the device path of the chroot block device to mount. More... | |
virtual void | set_mount_device (const std::string &mount_device) |
Set the device path of the chroot block device to mount. More... | |
virtual std::string const & | get_mount_options () const |
Get the filesystem mount options of the chroot block device. More... | |
virtual void | set_mount_options (const std::string &mount_options) |
Set the filesystem mount options of the chroot block device. More... | |
virtual std::string const & | get_location () const |
Get the location. More... | |
virtual void | set_location (const std::string &location) |
Set the location. More... | |
virtual void | setup_env (environment &env) const |
Set environment. More... | |
virtual void | get_details (format_detail &detail) const |
Get detailed information about the chroot for output. More... | |
virtual void | get_used_keys (string_list &used_keys) const |
Get a list of the keys used during keyfile parsing. More... | |
virtual void | get_keyfile (keyfile &keyfile) const |
Copy the chroot properties into a keyfile. More... | |
virtual void | set_keyfile (const keyfile &keyfile) |
Set the chroot properties from a keyfile. More... | |
![]() | |
virtual | ~facet () |
The destructor. | |
virtual session_flags | get_session_flags () const |
Get the session flags of the chroot. More... | |
Static Public Member Functions | |
static ptr | create () |
Create a chroot facet. More... | |
Private Member Functions | |
mountable () | |
The constructor. | |
Private Attributes | |
std::string | mount_device |
The device to mount. | |
std::string | mount_options |
The options to mount the device with. | |
std::string | location |
Location inside the mount location root. | |
Additional Inherited Members | |
![]() | |
facet () | |
The constructor. | |
virtual void | set_chroot (chroot &chroot, bool copy=false) |
Set containing chroot. More... | |
![]() | |
chroot * | owner |
Chroot owning this facet. | |
Chroot support for mountable devices and filesystems.
This facet should be selected for sessions using the mount command to create the chroot. The specified device will be mounted on demand.
This facet is not restricted to block devices and can also be used for network filesystems, loopback files and other mountable objects.
|
virtual |
Copy the chroot facet.
This is a virtual copy constructor.
Implements sbuild::chroot::facet::facet.
References mountable().
|
static |
Create a chroot facet.
References mountable().
Referenced by sbuild::chroot::facet::loopback::set_chroot(), and sbuild::chroot::facet::block_device_base::set_chroot().
|
virtual |
Get detailed information about the chroot for output.
detail | the details to output to. |
Reimplemented from sbuild::chroot::facet::facet.
References sbuild::_(), sbuild::format_detail::add(), get_location(), get_mount_device(), and get_mount_options().
|
virtual |
Copy the chroot properties into a keyfile.
The keyfile group with the name of the chroot will be set; if it already exists, it will be removed before setting it.
keyfile | the keyfile to use. |
Reimplemented from sbuild::chroot::facet::facet.
References sbuild::chroot::chroot::get_facet(), get_location(), get_mount_device(), get_mount_options(), sbuild::chroot::chroot::get_name(), sbuild::chroot::facet::facet::owner, and sbuild::keyfile::set_object_value().
|
virtual |
Get the location.
This is a path to the chroot directory inside the device (absolute path from the device root).
References location.
Referenced by get_details(), get_keyfile(), and setup_env().
|
virtual |
Get the device path of the chroot block device to mount.
References mount_device.
Referenced by get_details(), get_keyfile(), and setup_env().
|
virtual |
Get the filesystem mount options of the chroot block device.
References mount_options.
Referenced by get_details(), get_keyfile(), and setup_env().
|
virtual |
Get the name of the chroot facet.
Implements sbuild::chroot::facet::facet.
|
virtual |
Get a list of the keys used during keyfile parsing.
Reimplemented from sbuild::chroot::facet::facet.
|
virtual |
Set the chroot properties from a keyfile.
The chroot name must have previously been set, so that the correct keyfile group may be determined.
keyfile | the keyfile to get the properties from. |
Reimplemented from sbuild::chroot::facet::facet.
References sbuild::chroot::chroot::get_facet(), sbuild::chroot::chroot::get_name(), sbuild::keyfile::get_object_value(), sbuild::chroot::facet::facet::owner, sbuild::keyfile::PRIORITY_DISALLOWED, sbuild::keyfile::PRIORITY_OPTIONAL, sbuild::keyfile::PRIORITY_REQUIRED, set_location(), set_mount_device(), and set_mount_options().
|
virtual |
Set the location.
This is a path to the chroot directory inside the device (absolute path from the device root).
location | the location. |
References sbuild::is_absname(), location, and sbuild::chroot::chroot::LOCATION_ABS.
Referenced by set_keyfile().
|
virtual |
Set the device path of the chroot block device to mount.
mount_device | the mount device. |
References mount_device.
Referenced by set_keyfile().
|
virtual |
Set the filesystem mount options of the chroot block device.
mount_options | the mount options. |
References mount_options.
Referenced by set_keyfile().
|
virtual |
Set environment.
Set the environment that the setup scripts will see during execution.
env | the environment to set. |
Reimplemented from sbuild::chroot::facet::facet.
References sbuild::environment::add(), get_location(), get_mount_device(), and get_mount_options().