1. Cyclic Package Dependencies
Solaris packages have dependencies, usually specified in the file
named ``depend'', located in the install sub directory of a package.
Three types are supported in that file: ``P'' defines prerequisites,
``I'' lists incompatible packages, and ``R'' specifies reversed
dependencies.
The relation defined by ``P'' can be converted into a partial order
if reflexivity is added and the relation extended to its transitive
closures. This works fine for all distributions of Solaris 7 and
Solaris 8 I have seen so far.
The confusing thing is the relation defined by ``R''. It looks obsolete
because, on first sight, its definition suggests to be a reversed
relation of ``P''. But this is not the case. Take, for example, the
packages SUNWftpr and SUNWftpu. Both have ``P'' references pointing to
packages as SUNWcsu and SUNWcsr like many other packages. There are no
packages included in the distributions that have a ``P'' relation to
SUNWftpr or SUNWftpu. Hence, it should be easy to invoke pkgrm for
SUNWftpr or SUNWftpu in any order to get rid of the FTP server
packages.
But this is not true because SUNWftpr has a ``R'' relation pointing to
SUNWftpu, and SUNWftpu has a ``R'' relation to SUNWftpr, thereby
defining a cyclic reference. Because pkgrm honours not only the ``P''
but also the ``R'' relation as well, pkgrm simply does not accept
removals of either package because of the remaining reversed
dependency. It does not even help to specify both packages in one
command line to pkgrm.
As we do package additions and removals non-interactively, we would
have liked to set ``rdepend'' to ``quit'' in
/var/sadm/install/admin/default (see admin(4)) to be on the safe side.
But it looks as the ``R'' relation would enforce us to set ``rdepend''
to ``nocheck'' as there does not seem to be an option to support the
``P'' relation but to ignore ``R'' (this view is backed up by info
document 21543 of SunSolve that suggests to remove all checks).
Any ideas? Or any wisdom why ``R'' has been introduced?
To me it appears it would be best to remove the ``R'' relation
together with its support by pkgrm.
Andreas.
--
Andreas Borchert, Universitaet Ulm, SAI, Helmholtzstr. 18, 89069 Ulm, Germany
WWW: http://www.mathematik.uni-ulm.de/sai/borchert/
PGP: http://www.mathematik.uni-ulm.de/sai/borchert/pgp.html
2. Ftape problems
3. cyclic dependencies
4. Quadtel S3805 videocard
5. Problem viewing Nautilus help in nautilus browser
6. Any experiences with Symark?
7. Cyclic File
8. dual boot/ phantom partition
9. 8- or 16-bit cyclic redundancy check algorithm needed
10. Cyclic file
11. Cyclic reboot of the kernel while installation...
12. WANTED: alg/prog to generate non-cyclic graphs
13. Cyclic Hangup from configure