FlatImage
A configurable Linux containerization system
Loading...
Searching...
No Matches
recipe.hpp File Reference

Manages recipes in FlatImage. More...

#include <filesystem>
#include <fstream>
#include <unordered_set>
#include <string>
#include "../../lib/subprocess.hpp"
#include "../../lib/log.hpp"
#include "../../std/expected.hpp"
#include "../../std/filesystem.hpp"
#include "../../db/recipe.hpp"
#include "../../config.hpp"
#include "desktop.hpp"
Include dependency graph for recipe.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  ns_recipe
 Package recipe command implementation.
 

Functions

fs::path anonymous_namespace{recipe.hpp}::get_path_recipe (fs::path const &path_dir_download, ns_config::Distribution const &distribution, std::string const &recipe)
 Constructs the path to a recipe file in the local cache.
 
Value< ns_db::ns_recipe::Recipens_recipe::load_recipe (ns_config::Distribution const &distribution, fs::path const &path_dir_download, std::string const &recipe)
 Loads a recipe from local cache.
 
Value< void > ns_recipe::fetch_impl (ns_config::Distribution const &distribution, std::string url_remote, fs::path const &path_file_downloader, fs::path const &path_dir_download, std::string const &recipe, bool use_existing, std::unordered_set< std::string > &dependencies)
 Internal implementation that fetches a recipe and its dependencies recursively with cycle detection.
 
Value< std::vector< std::string > > ns_recipe::fetch (ns_config::Distribution const &distribution, std::string url_remote, fs::path const &path_file_downloder, fs::path const &path_dir_download, std::string const &recipe, bool use_existing=false)
 Fetches a recipe from the remote repository along with all its dependencies recursively.
 
Value< void > ns_recipe::info (ns_config::Distribution const &distribution, fs::path const &path_dir_download, std::string const &recipe)
 Displays information about a locally cached recipe.
 
template<typename F>
requires std::invocable<F,std::string,std::vector<std::string>&>
Value< int > ns_recipe::install (ns_config::FlatImage const &fim, ns_config::Distribution const &distribution, fs::path const &path_dir_download, std::vector< std::string > const &recipes, F &&callback)
 Installs packages from recipes using the appropriate package manager.
 

Detailed Description

Manages recipes in FlatImage.

Author
Ruan Formigoni

Definition in file recipe.hpp.