1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
community.general/plugins/modules/packaging/os
Ross Williams 293c7a9fb3
Pkgng many packages one command (#3393)
* pkgng: join package list into one command

Change the pkgng module so all packages being
installed (or upgraded) are acted on in one
command (per action). This will make installs
and upgrades a bit faster, because pkg will be
invoked fewer times per module run. More important,
module actions will be more atomic, making it less
likely that some packages are acted on because they
appear earlier in the argument list.

This change also improves the status reporting of
packages acted on, specifying the number of packages
for each action (install or upgrade).

* pkgng: make upgrade check lazily evaluated

Make upgrade_available an inner function so that the
if statement that checks whether installed packages
are up-to-date only runs the upgrade check on packages
that are already installed. This gets lazily evaluated
because of boolean operator short-circuiting:
https://docs.python.org/3.8/library/stdtypes.html#boolean-operations-and-or-not

Previously, the module would always check for upgrades,
even for not-installed packages, when running with
`state=latest`.

* pkgng: add changelog fragment

* pkgng: Apply changelog suggestions from code review

Co-authored-by: Felix Fontein <felix@fontein.de>

* pkgng: resolve pep8 style issue

Remove inline function. It's purpose would be confusing for
future maintainers, and someone refactoring it to a variable,
with good intentions, would introduce a performance regression.

Including the `query_update()` call in the if expression makes
the intent more legible and still ensures lazy evaluation of the
function call if the first `and` is `False`.

* pkgng: Fix changelog fragment syntax issue

Need to escape quotes so YAML doesn't eat them

Co-authored-by: Felix Fontein <felix@fontein.de>

* pkgng: Improve output message English grammar

Make word "package" plural only if reporting on more than one package

Co-authored-by: Felix Fontein <felix@fontein.de>

Co-authored-by: Felix Fontein <felix@fontein.de>
2021-10-08 07:41:56 +02:00
..
apk.py Tidy up validate-modules ignores for packaging modules (#1289) 2020-11-13 12:41:11 +00:00
apt_repo.py modules: fix examples to use FQCN (#644) 2020-07-13 21:50:31 +02:00
apt_rpm.py Deprecation of parameters triggering the parameter-invalid sanity-check (#1927) 2021-03-05 08:17:36 +01:00
copr.py Fix copr integration tests (#3237) 2021-09-01 22:58:10 +02:00
flatpak.py flatpak - allow to add/remove multiple flatpaks at once (#2521) 2021-06-17 08:00:49 +02:00
flatpak_remote.py Replace ansible.module_utils._text by ansible.module_utils.common.text.converters (#2877) 2021-06-26 23:59:11 +02:00
homebrew.py Small Documentation Example Of Cask Leveraging (#2462) 2021-05-08 11:58:55 +02:00
homebrew_cask.py Replace ansible.module_utils._text by ansible.module_utils.common.text.converters (#2877) 2021-06-26 23:59:11 +02:00
homebrew_tap.py homebrew_tap: Add support for brew search path (#1708) 2021-02-01 08:42:32 +01:00
installp.py modules: fix examples to use FQCN (#644) 2020-07-13 21:50:31 +02:00
layman.py modules: fix examples to use FQCN (#644) 2020-07-13 21:50:31 +02:00
macports.py Fix macports package present/active detection (#1308) 2020-11-26 06:59:32 +01:00
mas.py Replace ansible.module_utils._text by ansible.module_utils.common.text.converters (#2877) 2021-06-26 23:59:11 +02:00
openbsd_pkg.py openbsd_pkg: Fix KeyError (#3336) 2021-09-20 19:19:04 +02:00
opkg.py Deprecation of parameters triggering the parameter-invalid sanity-check (#1927) 2021-03-05 08:17:36 +01:00
pacman.py pacman: fix changed status when ignorepkg has been defined (#2936) 2021-07-06 22:06:36 +02:00
pacman_key.py Replace ansible.module_utils._text by ansible.module_utils.common.text.converters (#2877) 2021-06-26 23:59:11 +02:00
pkg5.py Tidy up validate-modules ignores for packaging modules (#1289) 2020-11-13 12:41:11 +00:00
pkg5_publisher.py modules: fix examples to use FQCN (#644) 2020-07-13 21:50:31 +02:00
pkgin.py pkgin: display stdout and stderr in case the error occurs (#3148) 2021-08-06 10:01:05 +02:00
pkgng.py Pkgng many packages one command (#3393) 2021-10-08 07:41:56 +02:00
pkgutil.py fixed calls to list.extend() (#2161) 2021-04-04 23:38:59 +02:00
portage.py Replace ansible.module_utils._text by ansible.module_utils.common.text.converters (#2877) 2021-06-26 23:59:11 +02:00
portinstall.py modules: fix examples to use FQCN (#644) 2020-07-13 21:50:31 +02:00
pulp_repo.py Add a Pulp 2 related note to pulp_repo (#2096) 2021-03-24 17:48:24 +01:00
redhat_subscription.py mass-added the utf-8 marker (#3163) 2021-08-08 10:40:22 +02:00
rhn_channel.py mass-added the utf-8 marker (#3163) 2021-08-08 10:40:22 +02:00
rhn_register.py rhn_register: added force option to allow forced registering (#1454) (#1455) 2020-12-08 13:12:04 +01:00
rhsm_release.py mass-added the utf-8 marker (#3163) 2021-08-08 10:40:22 +02:00
rhsm_repository.py mass-added the utf-8 marker (#3163) 2021-08-08 10:40:22 +02:00
rpm_ostree_pkg.py mass-added the utf-8 marker (#3163) 2021-08-08 10:40:22 +02:00
slackpkg.py Deprecation of parameters triggering the parameter-invalid sanity-check (#1927) 2021-03-05 08:17:36 +01:00
snap.py snap - improved error handling (#3211) 2021-08-28 21:54:39 +02:00
sorcery.py modules: fix examples to use FQCN (#644) 2020-07-13 21:50:31 +02:00
svr4pkg.py Fix #2373 - TypeError: a bytes-like object is required, not 'str' (#2375) 2021-05-03 07:25:08 +02:00
swdepot.py modules: fix examples to use FQCN (#644) 2020-07-13 21:50:31 +02:00
swupd.py mass-added the utf-8 marker (#3163) 2021-08-08 10:40:22 +02:00
urpmi.py Deprecation of parameters triggering the parameter-invalid sanity-check (#1927) 2021-03-05 08:17:36 +01:00
xbps.py Remove deprecated features scheduled for removal in 3.0.0 (#1926) 2021-03-09 21:23:20 +01:00
yum_versionlock.py yum_versionlock: fix idempotency when using wildcard (asterisk) (#2787) 2021-06-27 16:40:49 +02:00
zypper.py zypper: support transactional-updates (#3164) 2021-08-12 08:17:03 +02:00
zypper_repository.py zypper_repository: Improve .repo file idempotency (#3474) 2021-10-08 07:40:30 +02:00