google-code-export / windows-package-manager

Automatically exported from code.google.com/p/windows-package-manager
1 stars 1 forks source link

Add slot concept for side-by-side installation of multiple versions #119

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
The idea and name is from Gentoo's package manager. To support software that 
changes significantly across versions (i. e. GTK+ 2 and 3, Python 2 and 3...), 
but that can coexist in the same system, each package is assigned a slot. From 
each slot only one package may ever be installed at the same time.

So

  emerge python

would, for example, install Python 3.2.1.

  emerge python:2.7

would emerge python 2.7.1.

  emerge --update python

would install updates for all installed slots, so for a system that has both 
2.7.0 and 3.2.0 it'd install 2.7.1 and 3.2.1 and uninstall the old version. 
Also it would install any new versions in new slots.

Note that it's just for ease of use to name the slot like the versions 
included. Slot names can be arbitrary and each package explicitly gets assigned 
to a slot in its metadata (so linux kernel 3.0 just lives on in the 2.6 slot, 
for example).

Packages can depend on slots instead of explicit version ranges.

Benefits:
This lets you keep python 2.7 around and at the same time play with python 3 
while making updates to both elegant and easy.

Disadvantages:
If multiple slots exist for a package the maintainer must ensure that no 
resources (files, reg. keys) are overwritten by the other slots' packages.

Alternatives:
Distributions like debian etc just treat python 2.7 and 3 like different 
packages by including something akin to slot in the package name and also 
creating meta packages that depend on the newest "slot".

Original issue reported on code.google.com by dtra...@gmail.com on 27 Apr 2012 at 1:56

GoogleCodeExporter commented 9 years ago
What is your actual use case? Do you use NpackdCL?

Original comment by tim.lebe...@gmail.com on 29 Apr 2012 at 6:25

GoogleCodeExporter commented 9 years ago
I need multiple versions of python and java for picky software.

Original comment by dtra...@gmail.com on 3 May 2012 at 2:59