Hi Alok,

This is an interesting proposal, but I have a few questions/suggestions.


My main thought is that I think XInclude would be more suitable
here.  You would move the entire <software_data> section to a new
XML file, eg; /path/to/boot_archive_contents/file.xml would just contain:
       <software_data action="install" type="FILE">
               <name>usr/bin/nawk</name>
               ...long list of <name> elements goes here...
               <name>var/yp/nicknames</name>
       </software_data>

And the main manifest file would look something like:
   <software xmlns:xi="http://www.w3.org/2001/XInclude";>
       <xi:include href="/path/to/boot_archive_contents/file.xml"/>
   </software>
(Or you could just have the <name> elements in the xincluded file?)

This would still require a small adjustment to the schema, but would
achieve the benefits of simplifying the main manifest file for users
and allowing common lists of files to be re-used by different manifests.



A few more questions about your original proposal:

Is /path/to/boot_archive_contents/file an XML file or purely
a text file listing one file per line?

What about the current DIR section for directories - would you
provide a similar "DIRPATH" type for that?

Also, what about the small differences you note between the different
slim_cd/text/ai manifests?  Are you saying they can be merged into
one common file, or would you have different
/path/to/boot_archive_contents/file files for each?

The existing software.dtd schema does not allow for the <software_data>
element to have text (the "/path/to.." bit in your example), so it would
make more sense to put the path in a <name> sub-element, eg:
       <software_data action="install" type="FILEPATH">
           <name>/path/to/boot_archive_contents/file</name>
       </software_data>



- Dermot




On 09/08/10 23:24, Alok Aggarwal wrote:
The DC manifests for the various x86 media types currently
have a section for boot_archive_contents that defines
what gets included in the x86 boot_archive.

Each of these manifests (slim_cd_x86.xml, all_lang_slim_cd_x86.xml,
text_mode_x86.xml and ai_x86_image.xml) has a such a section.
The contents of this section are more or less the same across
these manifests[1].

As we're re-writing DC[2], it make sense to re-evaluate whether
the boot_archive_contents can be factored out into a common file
that can then be referenced in each of the various manifests.

The advantages of factoring out the boot_archive_contents would be:

a) It would make the management of the boot_archive contents much
   easier across the various media types. Any time there's a change
   to the contents, it can be done in a single place instead of
   in every manifest.

b) The boot_archive_contents is likely to not be touched by the
   users of DC in 80% of the cases. Extracting out the boot_archive
   contents list like this just helps readability of the manifest
   for those 80% of the users.

One way of doing it would be to have another software_data 'type' -
say, FILEPATH. The section of the manifest would look like:

<software_data action="install" type="FILEPATH">
/path/to/boot_archive_contents/file
</software_data>

Transfer would just look at the 'FILEPATH' and try to transfer
everything contained within "/path/to/boot_archive_contents/file".

Would there be issues wrt refactoring the manifests like this?

Alok

[1] http://cr.opensolaris.org/~aalok/slim.vs.text
    http://cr.opensolaris.org/~aalok/slim.vs.ai

[2] http://hub.opensolaris.org/bin/view/Project+caiman/DC+to+CUD+Migration
_______________________________________________
caiman-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

_______________________________________________
caiman-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/caiman-discuss

Reply via email to