-
-
Notifications
You must be signed in to change notification settings - Fork 5.5k
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-wide installation of packages #1692
Comments
I realize that this has already been a little discussed on the julia-dev list. Actually I don't want to enforce any particular technical solution. The only important thing to me is to be able to distribute Julia packages through Debian's APT. I think the only two minimal requirements are:
Of course, if the system can accomodate two locations (one per-user and one system-wide), it is even better. Also, if there is a list of "official" packages validated by the Julia dev team, then all these packages can go into a single Debian package instead of multiple ones. This is still to be determined. |
+1. @stevengj made several of these points in a recent thread on julia-dev: https://groups.google.com/d/topic/julia-dev/Z6GsLURuIZE/discussion I think your shared library point is particularly important. I want to be able to type "apt-get julia-vtk" or "julia-qt" or "julia-opencv" (those will surely come) and have it just work. These are big libraries with many dependencies; they are also tremendously useful. If Julia does not play nice with distro package managers, then PKG.jl or individual pkgs are liable to develop ad-hoc, bug-ridden, underspecified interfaces to apt, homebrew, yum, etc. In order to install libraries, Pkg or an individual pkg will need to make installation requests, and then resolve the correct version of Julia code to pull in based on what is locally available. That seems like a bad recipe for adoption because it makes life more difficult for both module developers and sysadmins. Why not let distro packagers do that work instead? |
@ihnorton Thanks for pointing me to that thread. I had not yet read it, my email processor is lagging :) So, to clarify my position in light of that thread, I would be happy with the solution proposed by @stevengj in https://groups.google.com/d/msg/julia-dev/Z6GsLURuIZE/AmxBLNsz60MJ |
This is a pretty old thread that I believe preceded much of our current package manager functionality along with BinDeps.jl magic. Is this still an issue worth pursuing? Is there something Julia should do about it or is this a project/package specific task if they so desire. |
AIUI, the Julia package manager currently allows only per-user installation of packages.
From a packager perspective (I am a Debian developer), the possibility of having both system-wide and per user packages is very important.
In Debian, we already distribute large parts of Python's PIP, Perl's CPAN, R's CPAN, Octave Forge,… through the package manager.
I can give the following reasons for doing the same for Julia packages (the description below mentions Debian at several places, but you can replace it by virtually any GNU/Linux distributor):
Emacs', Julia's…) seems redundant and a waste of time
Obviously the goal is not to package all Julia packages into Debian. Several criteria such as popularity, usefulness, maturity and stability will matter when making the decision to create a Debian package.
Of course, the system needs to be designed in such a way that the per-user and system-wide repositories co-exist nicely. For example, if a package is installed in both locations, the per-user should probably take precedence (when executing a "Using" or when resolving dependencies).
In designing the system, it is important to recall that from user perspective, the system-wide location is read-only.
The text was updated successfully, but these errors were encountered: