-
Notifications
You must be signed in to change notification settings - Fork 205
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
System level package managers #1420
Comments
Another potential cross-platform package manager to add to the list: conda (and the conda-forge community packages) That one covers quite a few popular data science packages (and their dependencies) across Python and R. One possible approach for getting started on finding out what the system dependencies actually are might be to look for PyPI/RubyGems/etc packages that are also available in the language agnostic package manager of interest, and see what system packages the latter versions depend on. Getting a comprehensive mapping for that is a pain (hence release-monitoring.org), but you could begin with packages that follow the conventional naming schemes for their distro. |
I can describe some of the boundaries around
All this being said, if you've got, say, a working |
@regularfry's post reminded me of a project I meant to mention in the Python context: https://github.com/pypa/auditwheel That's part of the manylinux1 effort to build cross-distro Linux binaries for Python extension modules: auditwheel looks at shared libraries in the built wheel, and identifies external dependencies that aren't already covered by the manylinux1 ABI specification. Beyond that, the comments about |
Another couple of potential data sources to add to the list:
The former might be too noisy to be useful (since the typical pattern I've seen is "install all your system level deps" then "install all your language level deps"), but if you can narrow them down to "here's a quick way to set up a local dev environment" containers that may be better. The latter seems potentially more promising, but a quick look specifically at Nokogiri's setup (https://github.com/sparklemotion/nokogiri/blob/master/.travis.yml) suggests they don't rely on that to get the runtime dependencies installed. |
Another potential meta package manager to lump in with the system tools: https://github.com/Fylhan/qompoter |
I'm not sure if this belongs here or on a separate issue, but @mlouielu recently pointed me towards the package tracking on DistroWatch, where they monitor the versions of a couple of hundred different packages across the various Linux distros: https://distrowatch.com/packages.php They don't seem to have any package-centric views that I can find (i.e. listing different versions of a package and which versions of which distros it appears in), but they do list breakdowns on each distro's page: |
Moving this to the Backlog as we'd still like to implement it but can't see that happening in the near future. |
Until now Libraries.io has focus primarily on supporting Application level package managers, but we also want to be able to index what I've been calling "System level package managers", things that aren't usually described as direct dependencies of an application but are required for it to be installed and ran on a given operating system.
There are quite a few of them, mostly Linux based, good list on wikipedia, but there are a couple on windows and mac os too that we'll want to support: https://en.wikipedia.org/wiki/List_of_software_package_management_systems#Linux
We have some basic support for homebrew already but it need improvement (support for formulas not in the standard homebrew repo and brewfiles)
n.b still focused on package managers that install libraries rather than applications for now, i.e openssl and libxml rather than desktop applications installed via package managers.
Initial things involved in making this happen:
Extra things that will make this really useful:
nokogiri
depends on system level packagelibxml2
but doesn't communicate that via it's gemspecGood package managers to start investigating:
The text was updated successfully, but these errors were encountered: