--- a/usr/src/cmd/system-config/__init__.py Tue May 31 11:07:18 2011 -0700
+++ b/usr/src/cmd/system-config/__init__.py Tue May 31 14:21:09 2011 -0700
@@ -37,9 +37,12 @@
import signal
import sys
+from solaris_install import engine
from solaris_install.data_object import DataObject
-from solaris_install import engine
+from solaris_install.data_object.data_dict import DataObjectDict
from solaris_install.engine import InstallEngine, RollbackError
+from solaris_install.ict.apply_sysconfig import APPLY_SYSCONFIG_DICT, \
+ APPLY_SYSCONFIG_PROFILE_KEY
_ = gettext.translation("sysconfig", "/usr/share/locale",
fallback=True).ugettext
@@ -221,7 +224,21 @@
eng.register_checkpoint(GENERATE_SC_PROFILE_CHKPOINT,
"solaris_install/manifest/writer",
"ManifestWriter", args=sc_args, kwargs=sc_kwargs)
-
+
+ # Add profile location to the ApplySysconfig checkpoint's data dict.
+ # Try to find the ApplySysconfig data dict from the DOC in case it
+ # already exists.
+ as_doc_dict = None
+ as_doc_dict = eng.doc.volatile.get_first_child(name=APPLY_SYSCONFIG_DICT)
+ if as_doc_dict is None:
+ # Initialize new dictionary in DOC
+ as_dict = {APPLY_SYSCONFIG_PROFILE_KEY : sc_profile}
+ as_doc_dict = DataObjectDict(APPLY_SYSCONFIG_DICT, as_dict)
+ eng.doc.volatile.insert_children(as_doc_dict)
+ else:
+ # Add to existing dictionary in DOC
+ as_doc_dict.data_dict[APPLY_SYSCONFIG_PROFILE_KEY] = sc_profile
+
eng.doc.persistent.insert_children([ConfigProfile()])