sbuild
1.6.10
|
Chroot support for creation of source chroots. More...
#include <sbuild-chroot-facet-source-clonable.h>
Public Types | |
typedef std::shared_ptr< chroot_facet_source_clonable > | ptr |
A shared_ptr to a chroot facet object. | |
typedef std::shared_ptr< const chroot_facet_source_clonable > | const_ptr |
A shared_ptr to a const chroot facet object. | |
![]() | |
typedef std::shared_ptr< chroot_facet > | ptr |
A shared_ptr to a chroot facet object. | |
typedef std::shared_ptr< const chroot_facet > | const_ptr |
A shared_ptr to a const chroot facet object. | |
Public Member Functions | |
virtual | ~chroot_facet_source_clonable () |
The destructor. | |
virtual chroot_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 void | clone_source_setup (chroot const &parent, chroot::ptr &clone) const |
Set the defaults in the cloned source chroot. More... | |
virtual bool | get_source_clone () const |
Is cloning a source chroot automatically permitted? Note that this is merely a hint and does not prevent cloning. More... | |
virtual void | set_source_clone (bool clone) |
Set if cloning a source chroot automatically is permitted. More... | |
virtual string_list const & | get_source_users () const |
Get the users allowed to access the source chroot. More... | |
virtual void | set_source_users (string_list const &users) |
Set the users allowed to access the source chroot. More... | |
virtual string_list const & | get_source_groups () const |
Get the groups allowed to access the source chroot. More... | |
virtual void | set_source_groups (string_list const &groups) |
Set the groups allowed to access the source chroot. More... | |
virtual string_list const & | get_source_root_users () const |
Get the users allowed to access the source chroot as root. More... | |
virtual void | set_source_root_users (string_list const &users) |
Set the users allowed to access the source chroot as root. More... | |
virtual string_list const & | get_source_root_groups () const |
Get the groups allowed to access the source chroot as root. More... | |
virtual void | set_source_root_groups (string_list const &groups) |
Set the groups allowed to access the source chroot as root. More... | |
virtual void | setup_env (chroot const &chroot, environment &env) const |
Set environment. More... | |
virtual chroot::session_flags | get_session_flags (chroot const &chroot) const |
Get the session flags of the chroot. More... | |
virtual void | get_details (chroot const &chroot, format_detail &detail) const |
Get detailed information about the chroot for output. More... | |
virtual void | get_keyfile (chroot const &chroot, keyfile &keyfile) const |
Copy the chroot properties into a keyfile. More... | |
virtual void | set_keyfile (chroot &chroot, keyfile const &keyfile, string_list &used_keys) |
Set the chroot properties from a keyfile. More... | |
![]() | |
virtual | ~chroot_facet () |
The destructor. | |
Static Public Member Functions | |
static ptr | create () |
Create a chroot facet. More... | |
Private Member Functions | |
chroot_facet_source_clonable () | |
The constructor. | |
Private Attributes | |
bool | source_clone |
Is source chroot cloning permitted? | |
string_list | source_users |
Users allowed to access the source chroot. | |
string_list | source_groups |
Groups allowed to access the source chroot. | |
string_list | source_root_users |
Users allowed to access the source chroot as root. | |
string_list | source_root_groups |
Groups allowed to access the source chroot as root. | |
Additional Inherited Members | |
![]() | |
chroot_facet () | |
The constructor. | |
void | set_chroot (chroot &chroot) |
Set containing chroot. More... | |
![]() | |
chroot * | owner |
Chroot owning this facet. | |
Chroot support for creation of source chroots.
A chroot may offer a "source" chroot in addition to its typical session clone, to allow for maintenence of the source data. This facet can be used by any chroot wishing to provide such functionality.
|
virtual |
Copy the chroot facet.
This is a virtual copy constructor.
Implements sbuild::chroot_facet.
References chroot_facet_source_clonable().
|
virtual |
Set the defaults in the cloned source chroot.
parent | the parent of the cloned chroot. |
clone | the chroot to set up. |
References sbuild::_(), sbuild::chroot_facet_source::create(), get_source_groups(), get_source_root_groups(), get_source_root_users(), and get_source_users().
|
static |
Create a chroot facet.
References chroot_facet_source_clonable().
Referenced by sbuild::chroot_btrfs_snapshot::chroot_btrfs_snapshot(), sbuild::chroot_file::chroot_file(), sbuild::chroot_lvm_snapshot::chroot_lvm_snapshot(), sbuild::chroot_custom::set_source_cloneable(), and sbuild::chroot_facet_union::set_union_type().
|
virtual |
Get detailed information about the chroot for output.
chroot | the chroot to use. |
detail | the details to output to. |
Implements sbuild::chroot_facet.
References sbuild::_(), sbuild::format_detail::add(), get_source_groups(), get_source_root_groups(), get_source_root_users(), and get_source_users().
|
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.
chroot | the chroot to use. |
keyfile | the keyfile to use. |
Implements sbuild::chroot_facet.
References sbuild::chroot::get_name(), get_source_clone(), get_source_groups(), get_source_root_groups(), get_source_root_users(), get_source_users(), sbuild::basic_keyfile< K, P >::set_object_list_value(), and sbuild::basic_keyfile< K, P >::set_object_value().
|
virtual |
|
virtual |
Get the session flags of the chroot.
These determine how the Session controlling the chroot will operate.
chroot | the chroot to use. |
Implements sbuild::chroot_facet.
References sbuild::chroot::get_facet(), sbuild::chroot::SESSION_CLONE, and sbuild::chroot::SESSION_NOFLAGS.
|
virtual |
Is cloning a source chroot automatically permitted? Note that this is merely a hint and does not prevent cloning.
References source_clone.
Referenced by get_keyfile().
|
virtual |
Get the groups allowed to access the source chroot.
References source_groups.
Referenced by clone_source_setup(), get_details(), and get_keyfile().
|
virtual |
Get the groups allowed to access the source chroot as root.
Members of these groups can switch to root without authenticating themselves.
References source_root_groups.
Referenced by clone_source_setup(), get_details(), and get_keyfile().
|
virtual |
Get the users allowed to access the source chroot as root.
Members of these users can switch to root without authenticating themselves.
References source_root_users.
Referenced by clone_source_setup(), get_details(), and get_keyfile().
|
virtual |
Get the users allowed to access the source chroot.
References source_users.
Referenced by clone_source_setup(), get_details(), and get_keyfile().
|
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.
chroot | the chroot to use. |
keyfile | the keyfile to get the properties from. |
used_keys | a list of the keys used will be set. |
Implements sbuild::chroot_facet.
References sbuild::chroot::get_name(), sbuild::basic_keyfile< K, P >::get_object_list_value(), sbuild::basic_keyfile< K, P >::get_object_value(), sbuild::keyfile_base::PRIORITY_OPTIONAL, set_source_clone(), set_source_groups(), set_source_root_groups(), set_source_root_users(), and set_source_users().
|
virtual |
Set if cloning a source chroot automatically is permitted.
Note that this is merely a hint and does not prevent cloning.
clone | true to automatically clone, otherwise false. |
References source_clone.
Referenced by set_keyfile().
|
virtual |
Set the groups allowed to access the source chroot.
groups | a list of groups. |
References source_groups.
Referenced by set_keyfile().
|
virtual |
Set the groups allowed to access the source chroot as root.
Members of these groups can switch to root without authenticating themselves.
groups | a list of groups. |
References source_root_groups.
Referenced by set_keyfile().
|
virtual |
Set the users allowed to access the source chroot as root.
Members of these users can switch to root without authenticating themselves.
users | a list of users. |
References source_root_users.
Referenced by set_keyfile().
|
virtual |
Set the users allowed to access the source chroot.
users | a list of users. |
References source_users.
Referenced by set_keyfile().
|
virtual |
Set environment.
Set the environment that the setup scripts will see during execution.
chroot | the chroot to use. |
env | the environment to set. |
Implements sbuild::chroot_facet.