jan damborsky wrote: > > > issues to be addressed: > > [a] default behavior > -------------------- > I think that user expectation would be that if list is empty > (no package name provided), nothing should be removed. Opposite > approach would cause problems in situations where user installs > customized list of packages in which case nothing is to be removed. > > The problem is that it is inconsistent behavior with respect > to the list of packages to be installed - currently, if this > list is empty, following packages are installed by default > (as specified in ai_manifest.defval.xml): > > SUNWcsd > SUNWcs > slim_install > entire > > One possibility is to change this behavior (don't use default > list of packages) and if no packages are specified for the installation, > nothing will be installed. It might look like it doesn't make too > much sense to call AI to install nothing, but I think this would > give us more flexibility. > > e.g. let's assume that AI engine will support more than just IPS > transfer mechanism (like some method of fast provisioning), then > empty list of packages would just mean that IPS transfer phase > is not involved. In DC, the list of packages to be installed is a required element with no default. The list of packages to be removed is an optional element. (See DC-manifest.rng).
To me, I don't think it makes sense to have an empty list of packages to be installed. I understand the flexibility argument you are making, but if people are invoking the installer, it is fair to assume that they want to install something. In the future, if we want to support more than IPS, and we don't want to use IPS package list name, we should still require people to supply some sort of a list of things to install. So, I think "a list of something" should be a required element in the AI manifest. For now, you can make it a list of package names. In the future, that can be extended easily to support other things. The advantage of making it a require element is that the XML parser will catch the mistake if a required element is not specified. No special code is needed in the AI engine. --Karen
