20 #ifndef SBUILD_CHROOT_FACET_FSUNION_H
21 #define SBUILD_CHROOT_FACET_FSUNION_H
23 #include <sbuild/chroot/chroot.h>
24 #include <sbuild/chroot/facet/facet.h>
25 #include <sbuild/chroot/facet/session-setup.h>
26 #include <sbuild/chroot/facet/source-setup.h>
61 typedef std::shared_ptr<fsunion>
ptr;
102 virtual std::string
const&
121 virtual std::string
const&
144 virtual std::string
const&
160 virtual std::string
const&
191 const std::string& session_id,
192 const std::string& alias,
193 const std::string& user,
virtual void set_union_type(const std::string &union_type)
Set the filesystem union type.
Definition: fsunion.cc:143
virtual session_flags get_session_flags() const
Get the session flags of the chroot.
Definition: fsunion.cc:195
error_code
Error codes.
Definition: fsunion.h:50
Debian source builder components.
Definition: ctty.cc:31
Unknown filesystem union type.
Definition: fsunion.h:52
Union underlay must have an absolute path.
Definition: fsunion.h:54
virtual ~fsunion()
The destructor.
Definition: fsunion.cc:76
virtual void get_details(format_detail &detail) const
Get detailed information about the chroot for output.
Definition: fsunion.cc:206
virtual std::string const & get_union_mount_options() const
Get the filesystem union mount options (branch configuration).
Definition: fsunion.cc:167
Container of environment variables.
Definition: environment.h:38
virtual std::string const & get_union_type() const
Get the filesystem union type.
Definition: fsunion.cc:137
std::string union_underlay_directory
Union read-only underlay directory.
Definition: fsunion.h:207
virtual void set_union_mount_options(const std::string &union_mount_options)
Set the filesystem union mount options (branch configuration).
Definition: fsunion.cc:174
Common chroot data.
Definition: chroot.h:50
A chroot located in the filesystem.
Definition: directory.h:41
virtual void setup_env(environment &env) const
Set environment.
Definition: fsunion.cc:180
bool get_union_configured() const
Get fs union configured state.
Definition: fsunion.cc:99
std::shared_ptr< const fsunion > const_ptr
A shared_ptr to a const chroot facet object.
Definition: fsunion.h:64
std::string union_overlay_directory
Union read-write overlay directory.
Definition: fsunion.h:205
std::string const & get_name() const
Get the name of the chroot facet.
Definition: fsunion.cc:93
session_flags
Chroot session properties.
Definition: facet.h:54
virtual void chroot_source_setup(const chroot &parent)
Set up a newly-cloned source chroot.
Definition: fsunion.cc:314
Chroot support for filesystem union based sessions.
Definition: fsunion.h:44
Base class for all facets.
Definition: facet.h:50
virtual void get_keyfile(keyfile &keyfile) const
Copy the chroot properties into a keyfile.
Definition: fsunion.cc:233
std::vector< std::string > string_list
A string vector.
Definition: types.h:38
virtual void chroot_session_setup(const chroot &parent, const std::string &session_id, const std::string &alias, const std::string &user, bool root)
Set up a newly-cloned session chroot.
Definition: fsunion.cc:289
Common chroot data.
Definition: session-setup.h:41
Custom error.
Definition: custom-error.h:31
Common chroot data.
Definition: source-setup.h:41
virtual void get_used_keys(string_list &used_keys) const
Get a list of the keys used during keyfile parsing.
Definition: fsunion.cc:224
virtual void set_union_overlay_directory(const std::string &directory)
Set the union overlay directory.
Definition: fsunion.cc:112
static ptr create()
Create a chroot facet.
Definition: fsunion.cc:81
std::string union_type
filesystem union type.
Definition: fsunion.h:201
Configuration file parser.
Definition: keyfile.h:46
Union overlay must have an absolute path.
Definition: fsunion.h:53
custom_error< error_code > error
Exception type.
Definition: fsunion.h:58
fsunion()
The constructor.
Definition: fsunion.cc:68
std::shared_ptr< facet > ptr
A shared_ptr to a chroot facet object.
Definition: facet.h:63
virtual std::string const & get_union_overlay_directory() const
Get the union overlay directory.
Definition: fsunion.cc:105
virtual std::string const & get_union_underlay_directory() const
Get the union underlay directory.
Definition: fsunion.cc:121
std::shared_ptr< fsunion > ptr
A shared_ptr to a chroot facet object.
Definition: fsunion.h:61
virtual void set_union_underlay_directory(const std::string &directory)
Set the union underlay directory.
Definition: fsunion.cc:128
virtual facet::ptr clone() const
Copy the chroot facet.
Definition: fsunion.cc:87
virtual void set_keyfile(const keyfile &keyfile)
Set the chroot properties from a keyfile.
Definition: fsunion.cc:258
std::string union_mount_options
Union mount options (branch configuration).
Definition: fsunion.h:203