Changes which I want to implement:
First what happens in linux, let we have a package named 'prog' containing /usr/bin/prog executable, let we have to install it on linux distro we do
Code:
packagemanager install prog
Now to install its second version we again do
Code:
packagemanager install prog
This overwrites previous installation e.g. /usr/bin/prog ver 1 is overwritten as /usr/bin/prog ver 2. Hence ver 1 is gone.
My idea is to implement changes such that
Code:
packagemanager install prog1
It creates
/usr/bin/prog1 for program version 1
/usr/bin/prog as symlink to /usr/bin/prog1.
Now if I need to install prog version 2, then I will simply do it like
Code:
packagemanager install prog2
It creates
/usr/bin/prog1 for program version 1
/usr/bin/prog2 for program version 2
/usr/bin/prog symlink to /usr/bin/prog2
Hence I can still use older version by typing prog1 at command line.
I want to remove only prog ver 1 then I can use
Code:
pacakemanager remove prog1
instead of
Code:
packagemanager remove prog
Is it possible to do???
In a nutshell, I want to implement version handling at package manager level.
Hence a user can be enabled to keep multiple versions of a package on his/her linux computer using a package manager.
Dear notKlaatu,
Quote:
It might be easier to simply write your own packaging system that does allow multiple versions of packages. It's not rocket science; all you really have to do is compile from source and be sure you don't clobber old or alternate versions. I don't see why a slightly modified version of Arch package tools wouldn't be able to do that. Heck, you might even just modify the PKGBUILD files, I'll bet.
|
This is what I exactly have in my mind, to create a change in packaging system to achieve above said.
Quote:
I do not know what you mean by 'partial' upgrades
|
Partial upgrade means only upgrading few packages installed in the system. It usually causes following problem:
If there are three packages A, B, C version 1 for all, now only upgrading A to ver 2 may cause it to not work because it may depend on B ver2, hence B has to be upgraded, but now C may happen to depend on B ver1, hence upgrading B may supplement A but would break package C.
This can be resolved by having both B ver 1 & ver 2 simultaneously.
Quote:
Why not opt to perform your upgrades more manually?
|
Until now I haven't upgraded my Arch system fully, and hence I have manually handled all package upgrades. But this becomes harder when package involved has lots of dependency and even more harder when lots of packages depends on package involved.
Quote:
But if you're dead set on forking
|
Actually forking a distro is my last priority becuase first I do not know where to host such a large project like a distro.
Actually I want to implement renaming of arch linux packages on the fly using something like a wrapper around pacman (Arch package manager) such that every package version bears its name+version in its installed database, hence can be treated like separate packages by pacman.
Quote:
As an aside, Slackware does basically everything you are describing as-is.
|
Does slackware provide facility for managing different versions using its package manager?