Argument `${conf.<repoid_pattern>.<option_name>[=<value_pattern>]}` is
substituted by a list of "repoid.option=value" pairs for the matching
repositories. Pairs are separated by ',' character. The ',' character
in the value is replaced by escape sequence "\x2C".
The input `repoid_pattern` - is the repository id and can contain globs.
If `value_pattern` is used, only pairs with the matching value are
listed. The `value_pattern` can contain globs.
Output line format for setting repository option:
`conf.<repoid_pattern>.<option_name>=<value>` - sets the value
of option `option_name` for all matching repositories.
The `repoid_pattern` - is repository id and can contain globs.
IPluginData was introduced to allow future changes to the passed dataset
without changing the API and ABI.
IPluginData now represents Base. But in the future it may be
a struct/class.
And increases the libdnf5 plugin API version to 2.0.
"Enabled" can now be set for each action separately.
However, to enable actions, the "actions" plugin must be enabled.
If "enabled" for the "actions" plugin is set to `host-only`, the action
will not be performed for the alternate installroot even if it is enabled
for the action.
The fourth item in the action definition has been reserved. It is now
used to set additional action options. Options are separated by spaces.
A space within an option can be written using escaping.
One option is now supported - `enabled=<value>`.
Supported values of `value`:
* `1` - action is always enabled
* `host-only` - the action is only enabled for operations on the host
* `installroot-only` - the action is only enabled for operations in
the alternative "installroot"
Action can allways be disabled by commenting out the action line.
The exception stores the passed arguments and uses them in the catch
phase. The problem is that the text to which the saved argument points
may no longer be in memory - is destroyed when the program leaves
the scope of the variable with the text.
A safer solution than passing a pointer to memory is to use
"std::string" and pass it by value.
Libdnf5 plugin with basic support for Red Hat subscriptions.
Synchronizes the enrollment with the vendor system. This can change
the contents of the repositories configuration files according
to the subscription levels.
I plan to extend functionality of actions plugin in the future.
I want to add a new configuration item. Changing the configuration format
later - when it will be documented and used is not good.
So now I'm adding one "reserved" item.
Old format:
callback_name:package_filter:direction:command
New format:
callback_name:package_filter:direction:reserved:command
The plugin version is increased to 0.2.0.
The header file from bgettext is used in the libdnf5 public header file.
So the bgettext header files must also be public - part of the libdnf5
devel package.
It's now building again.
The VSCode C++ language server didn't catch many things, so I finished
the job with a combination of regex and manual replacement.
I tried CLion's refactoring tools, but I let the rename run all night
and it didn't finish.
I couldn't get clang-change-namespace working, either.