Moinak Ghosh <[email protected]> wrote: > > I will later introduce a wrapper that allows to work based on the IPS > > package > > names. > > > > I followed a similar mechanism using the earlier transactional Python based > package manager I had developed earlier for BeleniX on top of SVR4 > packaging: > > > http://belenix.svn.sourceforge.net/viewvc/belenix/trunk/spec_files/ext-sources/spkg?revision=175&view=markup > > http://belenix.svn.sourceforge.net/viewvc/belenix/trunk/spec_files/ext-sources/spkg_mod.py?revision=395&view=markup > > http://belenix.svn.sourceforge.net/viewvc/belenix/trunk/spec_files/ext-sources/spkg_trans.py?revision=189&view=markup > > http://belenix.svn.sourceforge.net/viewvc/belenix/trunk/spec_files/ext-sources/tsort.py?revision=150&view=markup
I will have to look more closely into that.... > The last one is a Python based topological sort that takes approx a second > to sort 850 packages. Including the time taken to actually build > the partially > ordered map it is probably around 5 seconds in total. I have no idea what time I would need in case that I did write a generic application for sorting. Going from the Bourne shell to ksh93 with it's built-ins did go from 28 seconds to 7 seconds. > One problem with SVR4 is that it does not have the concept of an "upgrade". > If I deliver a new version of a package and overwrite the older > one, it just adds > or overwrites all the files. If some file pathnames have changed it does > not > automatically remove the older pathname. So both file locations remain. The right way seems to first install the new release and then to remove the old version. A file that is no longer used has a reference count of 1 and is easily to identify. A file that is the same but now has a referende count > 1 for the same base package name will stay and just remove the reference to the old package version. For a file that differs from the old version but is the same as expected for the new version we will just remove the related data base entry but the file stays. The package system will have to learn about version tags to do this correctly. > In addition the latest SVR4 seems to have a subtle bug. In livecd mode if > I mount the harddisk and try to remove a package using pkgrm -R <mntpt> > it crashes somewhere in libspmi. I did not have the time or patience to > fully debug it so I used a slightly older version in BeleniX. I could do relatest tests in case I get more information about the constraints. BTW: if you like to test the SVR4 packaging, you could try a test install with the current Schillix-ON base packages: the complete compile results from ONNV (SchilliX-ON) can now be installed directly from the net with just a shell script that loops over pkgadd. Find a Solaris x86 machine. load: http://download.berlios.de/schillix-on/packages/npkginstall http://download.berlios.de/schillix-on/packages/pkglist.i386 http://download.berlios.de/schillix-on/packages/xz.i386 install xz.i386 either as /usr/bin/xz or as /opt/schily/bin/xz Create an empty directory (with at least 500 MB of free space) and chdir into that directory. Call as root in the global zone: path-to/npkginstall -rm -dest . <path-to/pkglist.i386> My test results are: 8 Minutes when doing the install test on a FOKUS local machine 9-10 Minutes when doing the install test at home from VDSL I would be inerested in the timing from India.... This should also work on Solaris 10 ;-) Jörg -- EMail:[email protected] (home) Jörg Schilling D-13353 Berlin [email protected] (uni) [email protected] (work) Blog: http://schily.blogspot.com/ URL: http://cdrecord.berlios.de/private/ ftp://ftp.berlios.de/pub/schily _______________________________________________ belenix-discuss mailing list http://mail.opensolaris.org/mailman/listinfo/belenix-discuss http://groups.google.com/group/belenix-discuss
