ansible/packaging/os
Robin Roth e8fdba7593 Zypper repository rewrite (#1990)
* Remove support for ancient zypper versions

Even SLES11 has zypper 1.x.

* zypper_repository: don't silently ignore repo changes

So far when a repo URL changes this got silently ignored (leading to
incorrect package installations) due to this code:

    elif 'already exists. Please use another alias' in stderr:
        changed = False

Removing this reveals that we correctly detect that a repo definition
has changes (via repo_subset) but don't indicate this as change but as a
nonexistent repo. This makes us currenlty bail out silently in the above
statement.

To fix this distinguish between non existent and modified repos and
remove the repo first in case of modifications (since there is no force
option in zypper to overwrite it and 'zypper mr' uses different
arguments).

To do this we have to identify a repo by name, alias or url.

* Don't fail on empty values

This unbreaks deleting repositories

* refactor zypper_repository module

* add properties enabled and priority
* allow changing of one property and correctly report changed
* allow overwrite of multiple repositories by alias and URL
* cleanup of unused code and more structuring

* respect enabled option

* make zypper_repository conform to python2.4

* allow repo deletion only by alias

* check for non-existant url field and use alias instead

* remove empty notes and aliases

* add version_added for priority and overwrite_multiple

* add version requirement on zypper and distribution

* zypper 1.0 is enough and exists

* make suse versions note, not requirement

based on comment by @alxgu
2016-04-18 17:47:17 +02:00
..
__init__.py Reorganization. 2014-11-04 17:31:59 -05:00
apk.py Replace choices=BOOLEANS by type='bool', fix #1326 2015-12-21 23:39:20 +01:00
dnf.py Mark conf_file as a path, for various user expansion 2016-04-14 21:15:07 +02:00
homebrew.py Sprinkle some LANG/LC_* where command output is parsed (#2019) 2016-04-13 10:03:26 -04:00
homebrew_cask.py Sprinkle some LANG/LC_* where command output is parsed (#2019) 2016-04-13 10:03:26 -04:00
homebrew_tap.py Merge pull request #251 from kdisneur/hotfix/tap-prefixed-by-homebrew 2015-10-12 09:26:38 -04:00
layman.py added check_mode support 2015-09-17 15:01:40 +02:00
macports.py Adding author's github id 2015-05-14 00:15:38 -04:00
openbsd_pkg.py fix the spelling of vim's flavor in the example 2016-01-28 21:54:25 +01:00
opkg.py added version added 2015-09-09 09:58:24 -04:00
pacman.py Remove dead code from pacman module 2016-03-23 18:39:26 +11:00
pkg5.py Replace choices=BOOLEANS by type='bool', fix #1326 2015-12-21 23:39:20 +01:00
pkg5_publisher.py Replace choices=BOOLEANS by type='bool', fix #1326 2015-12-21 23:39:20 +01:00
pkgin.py pkgin: Fix bad regexp which did not catch packages such as p5-SVN-Notify 2016-04-14 12:51:29 +02:00
pkgng.py add chroot flag to pkgng in order to allow installation of packages into chroot environments, e.g. jails (#1218) 2016-04-11 08:25:30 +02:00
pkgutil.py added missing version_added 2016-01-11 19:34:02 -05:00
portage.py Use boolean instead of "yes" + choice for most option 2016-03-28 09:14:57 +02:00
portinstall.py Update for modules which import json. 2016-01-11 13:06:22 -08:00
slackpkg.py minor doc fix 2015-08-05 17:35:55 -04:00
svr4pkg.py svr4pkg: assume command worked only on known-to-be-good returncodes 2015-05-27 13:35:34 +02:00
swdepot.py fixed a typo in swdepot module 2015-09-22 17:44:08 +03:00
urpmi.py Update for modules which import json. 2016-01-11 13:06:22 -08:00
yum_repository.py Describing the _none_ value of the proxy option (#2053) 2016-04-18 11:01:24 -04:00
zypper.py Remove duplicate documentation fields 2016-01-28 09:20:55 -08:00
zypper_repository.py Zypper repository rewrite (#1990) 2016-04-18 17:47:17 +02:00