diff options
Diffstat (limited to 'bbot/bootstrap-manifest')
-rw-r--r-- | bbot/bootstrap-manifest | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/bbot/bootstrap-manifest b/bbot/bootstrap-manifest new file mode 100644 index 0000000..502127b --- /dev/null +++ b/bbot/bootstrap-manifest @@ -0,0 +1,57 @@ +// file : bbot/bootstrap-manifest -*- C++ -*- +// copyright : Copyright (c) 2014-2017 Code Synthesis Ltd +// license : MIT; see accompanying LICENSE file + +#ifndef BBOT_BOOTSTRAP_MANIFEST +#define BBOT_BOOTSTRAP_MANIFEST + +#include <map> + +#include <bbot/types> +#include <bbot/utility> + +#include <bbot/manifest> // machine_manifest + +namespace bbot +{ + // Toolchain manifest. + // + class toolchain_manifest + { + public: + + // Toolchain id (SHAXXX). + // + string id; + }; + + // Bootstrap result manifest. Uploaded by the worker to the agent's TFTP + // server. + // + class bootstrap_manifest + { + public: + + // Map of packages to their (numeric) versions that were used inside the + // bootstrapped machine. Used to make sure bbot agent/worker use the same + // versions. For example: + // + // libbbot-version: 1010100 # 1.1.1 + // bbot-version: 1010200 # 1.1.2 + // + std::map<string, uint64_t> versions; + }; + + // The manifest stored in <name>-<toolchain>/ consists of the machine + // manifest (original), toolchain manifest, and bootstrap result manifest. + // + class bootstrapped_machine_manifest + { + public: + machine_manifest machine; + toolchain_manifest toolchain; + bootstrap_manifest bootstrap; + }; +} + +#endif // BBOT_BOOTSTRAP_MANIFEST |