ke4nt1
Group: Members
Posts: 2329
Joined: Oct. 2003 |
|
Posted: Oct. 29 2004,04:49 |
|
The challenge comes from SAVING all the files it modifies or overwrites..
For example...
You install a big, fat, recently released .dsl app, we'll call it BigMoFo1.dsl It updates 12 existing libs in your /usr/lib and /usr/X11R6/lib dirs. It replaces the old gtk 2.0 with 2.4, and the perl from 5.4 to 5.8.4 And just for fun , it also overwrites several config and system files with newer larger scripts and texts..
Now keeping a list of the contents of the .dsl file and where it installed everything is easy.. Simply run " tar -ztf nameofdsl.dsl > list.txt " Save the list...
The challenge is KEEPING all the stuff it overwrote, modified, replaced, or otherwise tampered with, so it can return to the state it was before the .dsl file was installed . This could be a very large cache of files and lists.
And this cache would have to be dynamic, so that when you install the BigMoFo1.dsl , then the BigMoFo2.dsl, and the BigMoFo3.dsl , when you wanted to REMOVE BigMoFo1.dsl , it would KNOW what to leave alone to support BMF2 and BMF3, while returning the remaining files that BMF2 and BMF3 don't require back to their original state.. This gets very complicated.. This is where 'dependancies' come into play.
The system HAS to know that BigMoFo2.dsl NEEDS x,y,and z libs, etc. and x,y,and z libs require that a,b,and c libs are in place PRIOR to installing the x,y,and z series... So, UNINSTALLING BigMoFo1.dsl can get to be a very sticky situation indeed..
My thoughts are that the myDSL system does what it was designed to do .. and does it very well, to be such a simple installation/addon design..
73 ke4nt
|