renamed some files, implemented stage and package sealing, and introduced scaffolding for signing

This commit is contained in:
Chris Punches
2025-03-23 05:54:24 -04:00
parent ac0d91f240
commit c733bb634c
8 changed files with 436 additions and 15 deletions

View File

@@ -12,10 +12,13 @@
* @brief Enumeration of supported commands for the build module
*/
enum Command {
CMD_UNKNOWN, /**< Unknown or unsupported command */
CMD_HELP, /**< Display help information */
CMD_STAGE, /**< Stage a new DPM package */
CMD_MANIFEST, /**< Regenerate a stage manifest */
CMD_UNKNOWN, /**< Unknown or unsupported command */
CMD_HELP, /**< Display help information */
CMD_STAGE, /**< Stage a new DPM package */
CMD_MANIFEST, /**< Regenerate a stage manifest */
CMD_SIGN, /**< Sign a package or stage directory */
CMD_SEAL, /**< Seal a package stage directory */
CMD_UNSEAL, /**< Unseal a package stage directory */
};
/**

View File

@@ -3,7 +3,9 @@
#include "cli_parsers.hpp"
#include <dpmdk/include/CommonModuleAPI.hpp>
#include <filesystem>
#include "package_staging.hpp"
#include "staging.hpp"
#include "signing.hpp"
#include "sealing.hpp" // Added this include
#include <map>
#include <sstream>
@@ -29,6 +31,17 @@ int cmd_stage(int argc, char** argv);
*/
int cmd_manifest(int argc, char** argv);
/**
* @brief Handler for the sign command
*
* Signs a DPM package or package stage directory using GPG.
*
* @param argc Number of arguments
* @param argv Array of arguments
* @return 0 on success, non-zero on failure
*/
int cmd_sign(int argc, char** argv);
/**
* @brief Handler for the help command
*
@@ -40,7 +53,6 @@ int cmd_manifest(int argc, char** argv);
*/
int cmd_help(int argc, char** argv);
/**
* @brief Handler for the help command
*
@@ -52,6 +64,17 @@ int cmd_help(int argc, char** argv);
*/
int cmd_stage_help(int argc, char** argv);
/**
* @brief Handler for the sign help command
*
* Displays information about sign command options.
*
* @param argc Number of arguments
* @param argv Array of arguments
* @return 0 on success, non-zero on failure
*/
int cmd_sign_help(int argc, char** argv);
/**
* @brief Handler for the manifest help command
*
@@ -73,4 +96,51 @@ int cmd_manifest_help(int argc, char** argv);
* @param argv Array of arguments
* @return 1 to indicate failure
*/
int cmd_unknown(const char* command, int argc, char** argv);
int cmd_unknown(const char* command, int argc, char** argv);
/**
* @brief Handler for the seal command
*
* Seals a DPM package stage directory by replacing contents, metadata,
* hooks, and signatures directories with gzipped tarballs.
*
* @param argc Number of arguments
* @param argv Array of arguments
* @return 0 on success, non-zero on failure
*/
int cmd_seal(int argc, char** argv);
/**
* @brief Handler for the seal help command
*
* Displays information about seal command options.
*
* @param argc Number of arguments
* @param argv Array of arguments
* @return 0 on success, non-zero on failure
*/
int cmd_seal_help(int argc, char** argv);
/**
* @brief Handler for the unseal command
*
* Unseals a DPM package file by extracting and expanding the gzipped
* tarballs back into a package stage directory structure.
*
* @param argc Number of arguments
* @param argv Array of arguments
* @return 0 on success, non-zero on failure
*/
int cmd_unseal(int argc, char** argv);
/**
* @brief Handler for the unseal help command
*
* Displays information about unseal command options.
*
* @param argc Number of arguments
* @param argv Array of arguments
* @return 0 on success, non-zero on failure
*/
int cmd_unseal_help(int argc, char** argv);

View File

@@ -1,5 +1,5 @@
/**
* @file package_staging.hpp
* @file staging.hpp
* @brief Functions for staging DPM packages
*
* Defines functions for creating and manipulating DPM package staging structures.