|
FlatImage
A configurable Linux containerization system
|
Package recipe command implementation. More...
Functions | |
| Value< ns_db::ns_recipe::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 > | 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 > > | 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 > | 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 > | 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. | |
Package recipe command implementation.
Implements the fim-recipe command for installing distribution-specific package recipes. Handles recipe downloading from remote repositories, dependency resolution, package installation via distribution package managers, and recipe caching. Supports pre-configured software bundles like audio, GPU drivers, and desktop environments.
|
inlinenodiscard |
Fetches a recipe from the remote repository along with all its dependencies recursively.
| distribution | Name of the distribution |
| url_remote | Remote repository URL |
| path_file_downloder | Path to the downloader executable |
| path_dir_download | Directory where the recipe will be downloaded |
| recipe | Name of the recipe to download |
| use_existing | If true, use existing local file if available; if false, always download |
Definition at line 201 of file recipe.hpp.
|
inlinenodiscard |
Internal implementation that fetches a recipe and its dependencies recursively with cycle detection.
| distribution | Name of the distribution |
| url_remote | Remote repository URL |
| path_file_downloader | Path to the downloader executable |
| path_dir_download | Directory where the recipe will be downloaded |
| recipe | Name of the recipe to download |
| use_existing | If true, use existing local file if available; if false, always download |
| dependencies | Set of fetched recipes to track and detect cycles |
Definition at line 103 of file recipe.hpp.
|
inlinenodiscard |
Displays information about a locally cached recipe.
| distribution | Name of the distribution |
| path_dir_download | Directory where recipes are cached |
| recipe | Name of the recipe to inspect |
Definition at line 223 of file recipe.hpp.
|
inlinenodiscard |
Installs packages from recipes using the appropriate package manager.
| F | Callable type for executing commands (signature: F(std::string, std::vector<std::string>&)) |
| fim | FlatImage configuration object |
| distribution | Name of the current linux distribution (e.g., "arch", "alpine") |
| path_dir_download | Directory where recipes are cached |
| recipes | Vector of recipe names to install packages from |
| callback | Function to execute the package manager command, receives program name and arguments |
Definition at line 275 of file recipe.hpp.
|
inlinenodiscard |
Loads a recipe from local cache.
| distribution | Name of the distribution |
| path_dir_download | Directory where recipes are cached |
| recipe | Name of the recipe to load |
Definition at line 68 of file recipe.hpp.