From e3af4c881790a95be2676a7f4fb8df4136f8a3f3 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 6 Apr 2017 15:11:11 +0200 Subject: Add machine enumeration outline --- bbot/bootstrap-manifest | 57 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 bbot/bootstrap-manifest (limited to 'bbot/bootstrap-manifest') 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 + +#include +#include + +#include // 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 versions; + }; + + // The manifest stored in -/ 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 -- cgit v1.1