Skip to content

Commit

Permalink
package_manager: fix opensuse detection (#11660)
Browse files Browse the repository at this point in the history
* package_manager: fix opensuse detection

* add opensuse-tumbleweed

* test sles and opensuse-tumbleweed

* minor changes

* check if distro name

* minor changes

* safer check

Co-authored-by: czoido <mrgalleta@gmail.com>
  • Loading branch information
ericLemanissier and czoido committed Jul 22, 2022
1 parent 63fffb7 commit 3176f40
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
8 changes: 8 additions & 0 deletions conan/tools/system/package_manager.py
Expand Up @@ -43,9 +43,17 @@ def get_default_tool(self):
"zypper": ["opensuse", "sles"],
"pkg": ["freebsd"],
"pkgutil": ["Solaris"]}
# first check exact match of name
for tool, distros in manager_mapping.items():
if os_name in distros:
return tool
# in case we did not detect any exact match, check
# if the name is contained inside the returned distro name
# like for opensuse, that can have opensuse-version names
for tool, distros in manager_mapping.items():
for d in distros:
if d in os_name:
return tool

def get_package_name(self, package):
# TODO: should we only add the arch if cross-building?
Expand Down
5 changes: 5 additions & 0 deletions conans/test/integration/tools/system/package_manager_test.py
Expand Up @@ -52,6 +52,11 @@ def test_msys2():
("fedora", "dnf"),
("arch", "pacman"),
("opensuse", "zypper"),
("sles", "zypper"),
("opensuse", "zypper"),
("opensuse-tumbleweed", "zypper"),
("opensuse-leap", "zypper"),
("opensuse-next_version", "zypper"),
("freebsd", "pkg"),
])
@pytest.mark.skipif(platform.system() != "Linux", reason="Only linux")
Expand Down

0 comments on commit 3176f40

Please sign in to comment.