On Sun, Nov 11, 2012 at 08:14:58PM +0100, Zeeshan Ali (Khattak) wrote: > From: "Zeeshan Ali (Khattak)" <zeeshanak@xxxxxxxxx> > > Instead of hardcoding install script disk, lets get this info from app. Do we have a way to carry the information that for winxp this has to be a floppy drive? Is winxp ok with getting things from B: for example? Similarly to the previous patch, I'd rather not force the application writer to specify that if he is fine with the default. Christophe > --- > data/install-scripts/windows-cmd.xml | 3 ++- > data/install-scripts/windows-sif.xml | 2 +- > osinfo/libosinfo.syms | 3 +++ > osinfo/osinfo_install_config.c | 28 ++++++++++++++++++++++++++++ > osinfo/osinfo_install_config.h | 5 +++++ > 5 files changed, 39 insertions(+), 2 deletions(-) > > diff --git a/data/install-scripts/windows-cmd.xml b/data/install-scripts/windows-cmd.xml > index f376b6f..b45da56 100644 > --- a/data/install-scripts/windows-cmd.xml > +++ b/data/install-scripts/windows-cmd.xml > @@ -8,6 +8,7 @@ > <param name="avatar-location" policy="optional"/> > <param name="avatar-disk" policy="optional"/> > <param name="target-disk" policy="required"/> > + <param name="script-disk" policy="required"/> > </config> > <template filename="windows.cmd" path-format="dos"> > <xsl:stylesheet > @@ -21,7 +22,7 @@ net user <xsl:value-of select="config/user-realname"/> <xsl:text> </xsl:text> <x > net localgroup administrators <xsl:value-of select="config/user-realname"/> /add > net accounts /maxpwage:unlimited > if not "<xsl:value-of select="config/avatar-location"/>"=="" copy "<xsl:value-of select="config/avatar-disk"/>:\<xsl:value-of select="config/avatar-location"/>" "<xsl:value-of select="config/target-disk"/>:\Documents and Settings\All Users\Application Data\Microsoft\User Account Pictures\<xsl:value-of select="config/user-realname"/>.bmp" > -REGEDIT /S a:\windows.reg > +REGEDIT /S <xsl:value-of select="config/script-disk"/>:\windows.reg > EXIT > </xsl:template> > </xsl:stylesheet> > diff --git a/data/install-scripts/windows-sif.xml b/data/install-scripts/windows-sif.xml > index ee9adc4..5cf5894 100644 > --- a/data/install-scripts/windows-sif.xml > +++ b/data/install-scripts/windows-sif.xml > @@ -174,7 +174,7 @@ > > <xsl:if test="os/version > 5.0"> > [SetupParams] > - UserExecute = "a:\windows.cmd" > + UserExecute = "<xsl:value-of select="config/script-disk"/>:\windows.cmd" > > [WindowsFirewall] > Profiles = WindowsFirewall.TurnOffFirewall > diff --git a/osinfo/libosinfo.syms b/osinfo/libosinfo.syms > index 0892a61..62ebb9e 100644 > --- a/osinfo/libosinfo.syms > +++ b/osinfo/libosinfo.syms > @@ -334,6 +334,9 @@ LIBOSINFO_0.2.2 { > > osinfo_install_config_get_target_disk; > osinfo_install_config_set_target_disk; > + > + osinfo_install_config_get_script_disk; > + osinfo_install_config_set_script_disk; > } LIBOSINFO_0.2.1; > > > diff --git a/osinfo/osinfo_install_config.c b/osinfo/osinfo_install_config.c > index 0dffb28..22654f9 100644 > --- a/osinfo/osinfo_install_config.c > +++ b/osinfo/osinfo_install_config.c > @@ -362,6 +362,34 @@ const gchar *osinfo_install_config_get_target_disk(OsinfoInstallConfig *config) > } > > /** > + * osinfo_install_config_set_script_disk: > + * > + * Sets the #OSINFO_INSTALL_CONFIG_PROP_SCRIPT_DISK parameter. > + * > + * Please read documentation on #osinfo_install_config_set_target_disk() for > + * explanation on the format of @disk string. > + */ > +void osinfo_install_config_set_script_disk(OsinfoInstallConfig *config, > + const gchar *disk) > +{ > + osinfo_entity_set_param(OSINFO_ENTITY(config), > + OSINFO_INSTALL_CONFIG_PROP_SCRIPT_DISK, > + disk); > +} > + > +/** > + * osinfo_install_config_get_script_disk: > + * > + * Returns: The value of #OSINFO_INSTALL_CONFIG_PROP_SCRIPT_DISK parameter, > + * or NULL. > + */ > +const gchar *osinfo_install_config_get_script_disk(OsinfoInstallConfig *config) > +{ > + return osinfo_entity_get_param_value(OSINFO_ENTITY(config), > + OSINFO_INSTALL_CONFIG_PROP_SCRIPT_DISK); > +} > + > +/** > * osinfo_install_config_set_avatar_location: > * > * Sets the #OSINFO_INSTALL_CONFIG_PROP_AVATAR_LOCATION parameter. > diff --git a/osinfo/osinfo_install_config.h b/osinfo/osinfo_install_config.h > index cf5b455..788d464 100644 > --- a/osinfo/osinfo_install_config.h > +++ b/osinfo/osinfo_install_config.h > @@ -56,6 +56,7 @@ > > #define OSINFO_INSTALL_CONFIG_PROP_HOSTNAME "hostname" > #define OSINFO_INSTALL_CONFIG_PROP_TARGET_DISK "target-disk" > +#define OSINFO_INSTALL_CONFIG_PROP_SCRIPT_DISK "script-disk" > > #define OSINFO_INSTALL_CONFIG_PROP_AVATAR_LOCATION "avatar-location" > #define OSINFO_INSTALL_CONFIG_PROP_AVATAR_DISK "avatar-disk" > @@ -159,6 +160,10 @@ void osinfo_install_config_set_target_disk(OsinfoInstallConfig *config, > const gchar *disk); > const gchar *osinfo_install_config_get_target_disk(OsinfoInstallConfig *config); > > +void osinfo_install_config_set_script_disk(OsinfoInstallConfig *config, > + const gchar *disk); > +const gchar *osinfo_install_config_get_script_disk(OsinfoInstallConfig *config); > + > void osinfo_install_config_set_avatar_location(OsinfoInstallConfig *config, > const gchar *location); > const gchar *osinfo_install_config_get_avatar_location(OsinfoInstallConfig *config); > -- > 1.8.0 > > _______________________________________________ > virt-tools-list mailing list > virt-tools-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/virt-tools-list
Attachment:
pgpmgPnDz9vj1.pgp
Description: PGP signature