I’ve had a gripe about open-source (okay, free software!) package management for the longest time.
I would give a kidney (I swear I nearly would) if my OS’s package manager managed all my packages.
But it does you say?
No. I just spent the last 10 minutes installing a plugin (Vim-Ruby) for Vim. First I decided which Vim package manager I should use. I chose Pathogen fairly arbitrarily. Then I checked whether Ubuntu itself packaged Pathogen. Yay, it does. Then I checked whether the Ubuntu version is fairly up to date. Yay, it is. Then I installed Pathogen via Synaptic hoping that it will stay current. This is not always the case. Ruby gems (and their attendant package managers (yes, plural!) Rubygems and Bundler) are a big not always the case. Then I install Vim-Ruby like so:
git clone git://github.com/vim-ruby/vim-ruby.git ~/.vim/bundle/vim-ruby
And then I have to remember to keep this up to date independently of apt.
Why, can’t sub package manager’s hook into the system package manager? I want to be able to go to one place to install a blob of code, be it a system level package, a language level package, an editor level package, a browser level package. Last I checked:
PHP Pear Ruby Rubygems, (mention not RVM...) Python Eggs Haskell Cabal Chrome Extensions Firefox Add-ons Eclipse Aaaaaaargh Vim Pathogen Emacs ELPA (? I don't know, I'm a Vim guy) Perl CPAN LaTeX CTAN
There has to be a better way people. Even if it’s just exposing each plugin/package/extension sub-system to a central registry so that they appear centralised in Synaptic. I think I may have blogged about this before. In a fevered dream.
I’d be grateful for any corrections and more subsystems to add to the list, probably should make a wiki.
Don’t get me wrong, I appreciate the enormous coordination problem. But if we can do it at the OS level, can we not do it at the subsystem level. I guess it’s mostly programmers that’ll encounter this, or maybe it isn’t? There must be a better way.