The new PETget is able to access the Puppy2 package repository on Ibiblio, and the intention is that if a package is chosen to install, such as Xnetload, then any missing dependencies will also be automatically installed.
The way that I have set this up is Puppy4 has /root/.packages/livepackages2.txt, which is a carefully chosen subset of Puppy2 packages that will be of interest to Puppy4 users, and which do not conflict with Puppy4 in any way. Xnetload has the dependency 'libxaw95' which is not in Puppy4, but the libxaw95 package in the Puppy2 repository is slightly incompatible with the libXaw* files in Puppy4.
I have got around this problem by creating package 'libxaw95_DEP4' in the Puppy2 repository. I then found all Puppy2 packages that have this dependency, and as far as I can see that is 'gv', 'xcalendar', 'xnetload', 'xpaint' and 'xtar', and marked their dependency in the 'livepackages2.txt' file as 'libxaw95_DEP4'.
I thought it reasonable that if you choose a package from the Puppy2 repository then PETget should look for any missing dependencies in the same Puppy2 repository. A GTK1 application would find its GTK1 libraries in the same repository, which in the case of GTK1 should be fine.
There is a potential problem though, with a dependency that has a later version in a later Puppy repository. For example, say that I install 'cutecom', a serial-terminal application which uses the Qt library, from the Puppy2 repository. The 'qt' dependency will also be installed from the Puppy2 repository, but that is qt-3.3.6.
However, say later on I want to install the 'vym' package from the Puppy3 repository, which also needs 'qt'. However, the Puppy3 repository has 'qt-3.3.8', and perhaps Vym will not work with the older Qt library.
I have not yet implemented this, but PETget needs to detect that the 'qt' dependency, although already installed, needs to be replaced with the later version from the Puppy3 repository.
The intended end result of all of this is that you run PETget, choose any package out of the Puppy2, Puppy3 or Puppy4 repositories and it installs all needed dependencies automatically, without compromising Puppy4 in any way.
Comments:Posted on 16 Apr 2008, 11:38 by linuxcbon
Some solutions in my opinion :
- keep only the latest libraries.
- only latest program versions, if possible.
- if a program needs an older librarie then contact the developers to switch to the latest librarie.
- update PETs with missing libraries to work on Dingo.
- after releasing official Dingo, older puppies should not be available anymore for download and supported.
Posted on 28 Nov 2008, 6:54 by Lacoste
Ran across this post while searching for libXaw95 after installing tightvnc pet from 2/3. Thanks for putting the dependency in an easy package, copying individual library files is tedious :)