mirror of
https://github.com/ansible-collections/community.general.git
synced 2025-05-02 15:21:25 -07:00
Fix 'distribution' fact for ArchLinux (#30723)
* Fix 'distribution' fact for ArchLinux Allow empty wasn't breaking out of the process_dist_files loop, so a empty /etc/arch-release would continue searching and eventually try /etc/os-release. The os-release parsing works, but the distro name there is 'Arch Linux' which does not match the 2.3 behavior of 'Archlinux' Add a OS_RELEASE_ALIAS map for the cases where we need to get the distro name from os-release but use an alias. We can't include 'Archlinux' in SEARCH_STRING because a name match on its keys but without a match on the content causes a fallback to using the first whitespace seperated item from the file content as the name. For os-release, that is in form 'NAME=Arch Linux' With os-release returning the right name, this also supports the case where there is no /etc/arch-release, but there is a /etc/os-release Fixes #30600 * pep8 and comment cleanup
This commit is contained in:
parent
3db2cc6916
commit
3eab636b3f
2 changed files with 62 additions and 3 deletions
|
@ -815,6 +815,48 @@ DISTRIB_DESCRIPTION="CoreOS 976.0.0 (Coeur Rouge)"
|
|||
"distribution_version": "NA"
|
||||
}
|
||||
},
|
||||
|
||||
# ArchLinux with an empty /etc/arch-release and a /etc/os-release with "NAME=Arch Linux"
|
||||
{
|
||||
"platform.dist": [
|
||||
"",
|
||||
"",
|
||||
""
|
||||
],
|
||||
"input": {
|
||||
"/etc/os-release": "NAME=\"Arch Linux\"\nPRETTY_NAME=\"Arch Linux\"\nID=arch\nID_LIKE=archlinux\nANSI_COLOR=\"0;36\"\nHOME_URL=\"https://www.archlinux.org/\"\nSUPPORT_URL=\"https://bbs.archlinux.org/\"\nBUG_REPORT_URL=\"https://bugs.archlinux.org/\"\n\n", # noqa
|
||||
"/etc/arch-release": "",
|
||||
},
|
||||
"name": "Arch Linux NA",
|
||||
"result": {
|
||||
"distribution_release": "NA",
|
||||
"distribution": "Archlinux",
|
||||
"distribution_major_version": "NA",
|
||||
"os_family": "Archlinux",
|
||||
"distribution_version": "NA"
|
||||
}
|
||||
},
|
||||
|
||||
# ArchLinux with no /etc/arch-release but with a /etc/os-release with NAME=Arch Linux
|
||||
# The fact needs to map 'Arch Linux' to 'Archlinux' for compat with 2.3 and earlier facts
|
||||
{
|
||||
"platform.dist": [
|
||||
"",
|
||||
"",
|
||||
""
|
||||
],
|
||||
"input": {
|
||||
"/etc/os-release": "NAME=\"Arch Linux\"\nPRETTY_NAME=\"Arch Linux\"\nID=arch\nID_LIKE=archlinux\nANSI_COLOR=\"0;36\"\nHOME_URL=\"https://www.archlinux.org/\"\nSUPPORT_URL=\"https://bbs.archlinux.org/\"\nBUG_REPORT_URL=\"https://bugs.archlinux.org/\"\n\n", # noqa
|
||||
},
|
||||
"name": "Arch Linux no arch-release NA",
|
||||
"result": {
|
||||
"distribution_release": "NA",
|
||||
"distribution": "Archlinux",
|
||||
"distribution_major_version": "NA",
|
||||
"os_family": "Archlinux",
|
||||
"distribution_version": "NA"
|
||||
}
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue