diff --git a/dnf5/commands/install/install.cpp b/dnf5/commands/install/install.cpp index 2923b5ae2..04b66723d 100644 --- a/dnf5/commands/install/install.cpp +++ b/dnf5/commands/install/install.cpp @@ -41,7 +41,7 @@ void InstallCommand::set_argument_parser() { cmd.set_description("Install software"); auto keys = parser.add_new_positional_arg("specs", ArgumentParser::PositionalArg::AT_LEAST_ONE, nullptr, nullptr); - keys->set_description("List of package specs to install"); + keys->set_description("List of |@|@ to install"); keys->set_parse_hook_func( [this]([[maybe_unused]] ArgumentParser::PositionalArg * arg, int argc, const char * const argv[]) { for (int i = 0; i < argc; ++i) { diff --git a/dnf5/commands/remove/remove.cpp b/dnf5/commands/remove/remove.cpp index 0043ecb88..4d00431f9 100644 --- a/dnf5/commands/remove/remove.cpp +++ b/dnf5/commands/remove/remove.cpp @@ -47,7 +47,7 @@ void RemoveCommand::set_argument_parser() { cmd.register_named_arg(noautoremove); auto keys = parser.add_new_positional_arg("specs", ArgumentParser::PositionalArg::AT_LEAST_ONE, nullptr, nullptr); - keys->set_description("List of package specs to remove"); + keys->set_description("List of |@|@ to remove"); keys->set_parse_hook_func( [this]([[maybe_unused]] ArgumentParser::PositionalArg * arg, int argc, const char * const argv[]) { for (int i = 0; i < argc; ++i) { diff --git a/dnf5/commands/upgrade/upgrade.cpp b/dnf5/commands/upgrade/upgrade.cpp index b7a8d701b..cd9728292 100644 --- a/dnf5/commands/upgrade/upgrade.cpp +++ b/dnf5/commands/upgrade/upgrade.cpp @@ -53,7 +53,7 @@ void UpgradeCommand::set_argument_parser() { cmd.register_named_arg(minimal_opt); auto keys = parser.add_new_positional_arg("specs", ArgumentParser::PositionalArg::UNLIMITED, nullptr, nullptr); - keys->set_description("List of package specs to upgrade"); + keys->set_description("List of [|@|@] to upgrade"); keys->set_parse_hook_func( [this]([[maybe_unused]] ArgumentParser::PositionalArg * arg, int argc, const char * const argv[]) { for (int i = 0; i < argc; ++i) { diff --git a/doc/commands/group.8.rst b/doc/commands/group.8.rst index b47a083bd..1227bdfff 100644 --- a/doc/commands/group.8.rst +++ b/doc/commands/group.8.rst @@ -57,8 +57,10 @@ Subcommands ``install`` Mark the specified groups installed and install packages it contains. Also include optional packages of the group if the ``--with-optional`` option is - specified. All `Mandatory` and `Default` packages will be installed whenever - possible. `Conditional` packages are installed if they meet their requirement. + specified. By default all `Mandatory` and `Default` packages will be installed whenever + possible. `Conditional` packages are installed if they meet their requirement. This can + be configured by :manpage:`dnf5-conf(5)`, :ref:`group_package_types `. + If the group is already (partially) installed, the command installs the missing packages from the group. diff --git a/doc/commands/install.8.rst b/doc/commands/install.8.rst index 013bf740a..ce943f656 100644 --- a/doc/commands/install.8.rst +++ b/doc/commands/install.8.rst @@ -25,15 +25,25 @@ Synopsis ======== -``dnf5 install [options] ...`` +``dnf5 install [options] |@|@...`` Description =========== -The ``install`` command in ``DNF5`` is used for installing packages. It makes sure that -all given packages defined in ``package-spec`` arguments and their dependencies are installed -on the system. Environments can be installed with ``@environment-id`` as ````. +The ``install`` command in ``DNF5`` is used for installing packages, groups or environments. + +When installing packages defined in ``package-spec`` arguments, ``DNF5`` ensures that the packages +and their dependencies are installed on the system. +If the specified packages are already installed, DNF5 does not check their dependencies again and +simply verifies that the packages themselves are present. + +When installing groups defined in ``group-spec`` arguments, ``DNF5`` ensures that the groups and +their packages are installed on the system. Installs only group packages matching configured package +type. See :manpage:`dnf5-conf(5)`, :ref:`group_package_types `. + +When installing environments defined in ``environment-spec`` arguments, ``DNF5`` ensures that the +environments and their groups are installed on the system. Options diff --git a/doc/commands/remove.8.rst b/doc/commands/remove.8.rst index 0eeec76a0..fb7cabf9a 100644 --- a/doc/commands/remove.8.rst +++ b/doc/commands/remove.8.rst @@ -25,14 +25,14 @@ Synopsis ======== -``dnf5 remove [options] [...]`` +``dnf5 remove [options] |@|@...`` Description =========== -The ``remove`` command in ``DNF5`` is used for removing installed packages from the system. -Arguments defined in ``spec`` list are used as ````. +The ``remove`` command in ``DNF5`` is used for removing installed packages, groups or +environments from the system. If you want to keep the dependencies that were installed together with the given package, set the ``clean_requirements_on_remove`` configuration option to ``False``. diff --git a/doc/commands/upgrade.8.rst b/doc/commands/upgrade.8.rst index 048f88d85..caae7e204 100644 --- a/doc/commands/upgrade.8.rst +++ b/doc/commands/upgrade.8.rst @@ -25,14 +25,19 @@ Synopsis ======== -``dnf5 upgrade [options] [...]`` +``dnf5 upgrade [options] [|@|@...]`` Description =========== -The ``upgrade`` command in ``DNF5`` is used for upgrading installed packages to the -newer available version. +The ``upgrade`` command in ``DNF5`` is used for upgrading installed packages, groups or +environments to newer available version. + +Since groups and environments are not versioned the upgrade basically means a synchronization +with the currently available definition. In addition group upgrade also upgrades all packages +the group contains and environment upgrade also upgrades all groups the environment contains. + Options diff --git a/doc/dnf5.conf.5.rst b/doc/dnf5.conf.5.rst index 2ecd09d0f..0b03050ec 100644 --- a/doc/dnf5.conf.5.rst +++ b/doc/dnf5.conf.5.rst @@ -176,7 +176,8 @@ repository configuration file should aside from repo ID consists of baseurl, met List of the following: ``optional``, ``default``, ``mandatory`` or ``conditional``. - Tells DNF5 which type of packages in groups will be installed when 'group install' is called. + Tells DNF5 which type of packages in groups will be installed when 'group install ' + or 'install @' is called. Default: ``default, mandatory, conditional``. diff --git a/doc/misc/specs.7.rst b/doc/misc/specs.7.rst index aeaaf465f..cdf99f0fa 100644 --- a/doc/misc/specs.7.rst +++ b/doc/misc/specs.7.rst @@ -161,14 +161,16 @@ Specifying File Provides If a ``spec`` starts with either ``/`` or ``*/``, it is considered as a potential file provide. -Groups +Comps ====== -```` allows one to select (environment) groups a particular operation should work -on. It is a case insensitive string (supporting globbing characters) that is -matched against a group's ID, canonical name and name translated into the +````|```` allows one to select groups|environments a particular +operation should work on. It is a case insensitive string (supporting globbing characters) that +is matched against a group's|environment's ID, canonical name and name translated into the current ``LC_MESSAGES`` locale (if possible). +Comps ``specs`` are prefixed by ``@`` for commands that also accept package ``specs``. +For example see :manpage:`dnf5-install(8)`, :ref:`Install Command `. Modules =======