Repository: conan-io/conan

Issue:
[bug] EndeavourOS not among list of distros listed for pacman support
### Environment Details (include every applicable attribute)
  * Operating System+version: EndeavourOS 2022.06.23
  * Compiler+version: Clang 14.0.6
  * Conan version: 1.51.3
  * Python version: 3.10.6

### Steps to reproduce (Include if Applicable)
In a python interpreter
```bash
>>> from conans import tools
>>> tools.os_info.with_pacman
False
>>>tools.os_info.is_linux
True
>>> tools.os_info.linux_distro
'endeavouros'
```

We need to add `endeavouros` to this [line](https://github.com/conan-io/conan/blob/develop/conans/client/tools/oss.py#L220)

### Logs (Executed commands with output) (Include/Attach if Applicable)
As a result of the above, OpenGL recipe doesn't know how to install itself, xorg/system also fails to install some dependencies as well

```log
opengl/system: Package installed 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9
opengl/system: Downloaded package revision 0
xorg/system: Retrieving package 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9 from remote 'conancenter' 
Downloading conanmanifest.txt completed [0.06k]                                          
Downloading conaninfo.txt completed [0.16k]                                              
Downloading conan_package.tgz completed [0.06k]                                          
Decompressing conan_package.tgz completed [0.00k]                                        
xorg/system: Package installed 5ab84d6acfe1f23c4fae0ab88f26e3a396351ac9
xorg/system: Downloaded package revision 0
opengl/system: WARN: Don't know how to install OpenGL for your distro.
ERROR: xorg/system: Error in package_info() method, line 79
        pkg_config.fill_cpp_info(
        ConanException: pkg-config command ['pkg-config', '--print-provides', 'xvmc', '--print-errors'] failed with error: Command 'pkg-config --print-provides xvmc --print-errors' returned non-zero exit status 1.
Package xvmc was not found in the pkg-config search path.
Perhaps you should add the directory containing `xvmc.pc'
to the PKG_CONFIG_PATH environment variable
Package 'xvmc', required by 'virtual:world', not found
```



Discussion:
imo, it feels a bit cumbersome to have to list out distros, couldn't it use `shutil` instead?

The check could be something like:

```python
import shutil

# ...

@property
    def with_pacman(self):
        if self.is_linux:
            return shutil.which('pacman') != None
        # ...
```
This will then take care of any flavor of Arch in the future, only requirement is shutil is only available in python 3.3+, if there is a need for compatibility with all of python3, you could add a custom which command as found [here](https://stackoverflow.com/a/9877856)
Hi @cchulo 

There is a difference in a tool being installed in the system, and users really wanting to run that tool. It is not impossible to have a pacman executable in your Linux system that is the pacman videogame (for other distros), for example.

Also Conan will try in general not having to guess. So what it has is defined a common default mapping of OS-system package managers. If you want to add EndeavourOS to that list, pull requests are welcome! Note that we are talking about the new tooling in https://docs.conan.io/en/latest/reference/conanfile/tools/system/package_manager.html, not the legacy ones you are referring above, that will not be changed now that we are already in 2.0-beta.

Also in the meantime, it is simple to define that you want to run pacman, if you check that doc, you can see that the ``conf`` ``tools.system.package_manager:tool`` allows you to define ``pacman``, and everything should work.
@memsharded ah that is a good point, I had not considered that

Your proposed solution should work, I will try it. I will create a pull request anyway to include this string addition.
> @memsharded ah that is a good point, I had not considered that

Yeah, we have learned from experience, some distros containing more than one system package manager, and then everything was a mess, distros with matching applications that were no system package managers... the only way was to allow users to explicitly define the tool they want (besides a hardcoded default for most common distros)



Resolving patch:
diff --git a/conan/tools/system/package_manager.py b/conan/tools/system/package_manager.py
--- a/conan/tools/system/package_manager.py
+++ b/conan/tools/system/package_manager.py
@@ -38,7 +38,7 @@ def get_default_tool(self):
                                    "almalinux", "rocky"],
                            "dnf": ["fedora", "rhel", "centos", "mageia"],
                            "brew": ["Darwin"],
-                           "pacman": ["arch", "manjaro", "msys2"],
+                           "pacman": ["arch", "manjaro", "msys2", "endeavouros"],
                            "choco": ["Windows"],
                            "zypper": ["opensuse", "sles"],
                            "pkg": ["freebsd"],


Test patch: