-
Notifications
You must be signed in to change notification settings - Fork 961
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[feature] Conan should recognize elementaryOS as a distro that uses apt #7307
Comments
Hi @seanballais Thanks for submitting this issue. Yes, we recently added |
Hey, @memsharded. Sure! I'll send a PR as soon as I can. |
okay, maybe we can nail everything down at once, as there are many debian and ubuntu based distributions: https://en.wikipedia.org/wiki/List_of_Linux_distributions#Debian-based |
also, as new distros appear almost every month (it's actually very simple to create your own distro like BolgenOS), maybe we can go away from maintaining a hard-coded distro list, and just verify if |
Checking if |
I've just submitted a PR! |
@SSE4, perhaps later on, we can stop depending on a hard-coded distro list and have the package manager properties (e.g. |
elementaryOS is a Linux distro based on Ubuntu. So, it uses
apt
. However, Conan, via theconans
module, disagrees and says that it does not useapt
when callingtools.os_info.with_apt
.Letting Conan know that elementaryOS uses
apt
is important since recipes that have to know whether or not the distro they are running in usesapt
may have to resort to doing something less than ideal when ran under elementaryOS. For example, usingopengl/system
in a project under elementaryOS will fail (just like this in bincrafters/community#1216) because the recipe, as it is currently is (and supported by conan-io/conan-center-index#2114), fails hard when being used in an unrecognized distro.As such, Conan should be updated to recognize elementaryOS as a distro that uses
apt
. Based on my quick skim of theconans
module code, it seems that a change inclient/tools/oss.py:181
to:should do the trick.
Note:
import distro; distro.id()
returns'elementary'
.The text was updated successfully, but these errors were encountered: