When generating the unattended installation script, we can now use osinfo_install_config_get_param_list() to get OS-specific values when available. This will only work when an OsinfoInstallConfigParamList is associated with the OsinfoInstallConfig being processed. --- osinfo/osinfo_install_script.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/osinfo/osinfo_install_script.c b/osinfo/osinfo_install_script.c index d72c394..8dbef9e 100644 --- a/osinfo/osinfo_install_script.c +++ b/osinfo/osinfo_install_script.c @@ -30,6 +30,7 @@ #include <libxslt/xsltutils.h> #include <libxslt/xsltInternals.h> #include <glib/gi18n-lib.h> +#include "osinfo_install_config_private.h" #include "osinfo_install_script_private.h" G_DEFINE_TYPE (OsinfoInstallScript, osinfo_install_script, OSINFO_TYPE_ENTITY); @@ -604,6 +605,7 @@ static xsltStylesheetPtr osinfo_install_script_load_template(const gchar *uri, static xmlNodePtr osinfo_install_script_generate_entity_config(OsinfoInstallConfig *config, OsinfoEntity *entity, + gboolean is_install_config, const gchar *name, GError **error) { @@ -635,9 +637,15 @@ static xmlNodePtr osinfo_install_script_generate_entity_config(OsinfoInstallConf tmp1 = keys = osinfo_entity_get_param_keys(entity); while (tmp1) { - GList *values = osinfo_entity_get_param_value_list(entity, tmp1->data); - GList *tmp2 = values; + GList *values; + GList *tmp2; + if (is_install_config) + values = osinfo_install_config_get_param_value_list(OSINFO_INSTALL_CONFIG(entity), tmp1->data); + else + values = osinfo_entity_get_param_value_list(entity, tmp1->data); + + tmp2 = values; while (tmp2) { if (!(data = xmlNewDocNode(NULL, NULL, (const xmlChar*)tmp1->data, (const xmlChar*)tmp2->data))) { @@ -687,6 +695,7 @@ static xmlDocPtr osinfo_install_script_generate_config_xml(OsinfoInstallScript * if (!(node = osinfo_install_script_generate_entity_config(config, OSINFO_ENTITY(script), + FALSE, "script", error))) goto error; @@ -698,6 +707,7 @@ static xmlDocPtr osinfo_install_script_generate_config_xml(OsinfoInstallScript * if (!(node = osinfo_install_script_generate_entity_config(config, OSINFO_ENTITY(os), + FALSE, "os", error))) goto error; @@ -709,6 +719,7 @@ static xmlDocPtr osinfo_install_script_generate_config_xml(OsinfoInstallScript * if (!(node = osinfo_install_script_generate_entity_config(config, OSINFO_ENTITY(config), + TRUE, "config", error))) goto error; -- 1.8.0.2