This is a rather specific question about dependencies in software kits
under Digital Unix 3.2c (and 4.0).
Here is the short version: setld runs a command called depord, which I
discovered uses the DEPS field of the software subset .ctrl files to
determine the order in which setld should install the subsets. The
problem is that the documentation on creating software kits says that
the DEPS field is reserved and should just contain a ".". In may case,
this is a problem because depord doesn't sort my subsets properly and
my installation always fails. Any idea why DEC would say a field is
reserved when it is actaully required if you want to have multiple
subsets on one disk with dependencies?
Here is the long version of how I figured all this out:
I have a software kit that I create which has 3 subsets on one disk (call
them A,B and C). Subset A depends on subsets B and C. When I tried to
install all of them using setld, subset A would get installed after B,
but before C. The installatin would fail because A depends on C, but C
was not installed yet. But it was setld that was causing the subsets to
get installed in that order. Well, I did some investigation and it turns
out that setld calls a function called "depord", which determines the
order in which the subsets get installed. It was depord that was messing
up the order of installation. If you look at the man page for depord
it says that depord looks at the .ctrl file to get dependency information.
The .ctrl files have a field called "DEPS" which I assume stands for
dependencies, but according to the documentation on creating kits that field
is reserved and you should just put a "." in that field. There is a similar
field in the key file which the kits command uses to create the .ctrl file.
Just for kicks, I changed my "." in the key file to the name of subset C.
As I suspected, the .ctrl file that got created contained the name of subset
C in the DEPS field. Then when I installed the kit, it was installed in the
correct order and everything worked fine. So finally, here is my question:
Why does DEC say the field is reserved, when in reality, the depord function
will not work unless you use that field? Perhaps I'm playing with a field
that I shouldn't be, but if you have multiple subsets on one disk that have
dependencies, you won't be able to get them to install properly without
using the "reserved" field, unless you get lucky and depord happens to
sort them properly. You see, other than the DEPS field, there is no
way for depord to know anything about dependencies.
Any DEC people out there listening who may be able to help me out with
this?
Thanks,
Mike
----------------------------------------------------------------------
Michael Galuza
DeJarnette Research Systems mgaluza_at_dejarnette.com
401 Washington Ave Suite 700 Voice: +1(410)583-0680 x691
Towson, MD 21204 Fax: +1(410)583-0696
----------------------------------------------------------------------
Received on Wed May 28 1997 - 20:58:16 NZST