diff --git a/changelogs/fragments/49615-ascii-devuan-support.yml b/changelogs/fragments/49615-ascii-devuan-support.yml new file mode 100644 index 0000000000..0840749207 --- /dev/null +++ b/changelogs/fragments/49615-ascii-devuan-support.yml @@ -0,0 +1,2 @@ +bugfixes: + - Extend support for Devuan ascii distribution diff --git a/lib/ansible/module_utils/facts/system/distribution.py b/lib/ansible/module_utils/facts/system/distribution.py index 697eb3bd6c..9bb0ecc890 100644 --- a/lib/ansible/module_utils/facts/system/distribution.py +++ b/lib/ansible/module_utils/facts/system/distribution.py @@ -329,7 +329,7 @@ class DistributionFiles: debian_facts['distribution_release'] = release.groups()[0] elif 'Devuan' in data: debian_facts['distribution'] = 'Devuan' - release = re.search(r"PRETTY_NAME=[^(]+ \(?([^)]+?)\)", data) + release = re.search(r"PRETTY_NAME=\"?[^(\"]+ \(?([^) \"]+)\)?", data) if release: debian_facts['distribution_release'] = release.groups()[0] version = re.search(r"VERSION_ID=\"(.*)\"", data) diff --git a/test/units/module_utils/test_distribution_version.py b/test/units/module_utils/test_distribution_version.py index 87fba0d511..025806d168 100644 --- a/test/units/module_utils/test_distribution_version.py +++ b/test/units/module_utils/test_distribution_version.py @@ -509,6 +509,26 @@ BUG_REPORT_URL="https://bugs.devuan.org/" 'distribution_version': u'1' } }, + { + 'name': "Devuan", + 'input': { + '/etc/os-release': """PRETTY_NAME="Devuan GNU/Linux ascii" +NAME="Devuan GNU/Linux" +ID=devuan +HOME_URL="https://www.devuan.org/" +SUPPORT_URL="https://devuan.org/os/community" +BUG_REPORT_URL="https://bugs.devuan.org/" +""" + }, + 'platform.dist': ('', '', ''), + 'result': { + 'distribution': u'Devuan', + 'distribution_major_version': u'NA', + 'distribution_release': u'ascii', + 'os_family': 'Debian', + 'distribution_version': u'NA' + } + }, { "platform.dist": [ "Ubuntu",