On Mon, Nov 19, 2012 at 7:02 PM, Michal Privoznik <mprivozn@xxxxxxxxxx> wrote: > On 14.11.2012 03:40, Zeeshan Ali (Khattak) wrote: >> From: "Zeeshan Ali (Khattak)" <zeeshanak@xxxxxxxxx> >> >> Instead of hardcoding avatar path and disk, lets get those from >> application. >> --- >> data/install-scripts/fedora.xml | 26 +++++----------- >> data/install-scripts/windows-cmd.xml | 4 ++- >> osinfo/libosinfo.syms | 6 +++- >> osinfo/osinfo_install_config.c | 58 ++++++++++++++++++++++++++++++++++++ >> osinfo/osinfo_install_config.h | 9 ++++++ >> 5 files changed, 82 insertions(+), 21 deletions(-) >> >> diff --git a/data/install-scripts/fedora.xml b/data/install-scripts/fedora.xml >> index eef4f4a..734875a 100644 >> --- a/data/install-scripts/fedora.xml >> +++ b/data/install-scripts/fedora.xml >> @@ -112,6 +112,8 @@ reboot >> <param name="user-login" policy="required"/> >> <param name="user-password" policy="required"/> >> <param name="admin-password" policy="required"/> >> + <param name="avatar-location" policy="optional"/> >> + <param name="avatar-disk" policy="optional"/> >> </config> >> <template filename="fedora.ks"> >> <xsl:stylesheet >> @@ -137,23 +139,6 @@ reboot >> </xsl:choose> >> </xsl:template> >> >> - <xsl:template name="avatar-disk"> >> - <xsl:choose> >> - <xsl:when test="os/version > 9"> >> - <!-- virtio --> >> - <xsl:text>sda</xsl:text> >> - </xsl:when> >> - <xsl:when test="os/version > 6"> >> - <!-- libata IDE --> >> - <xsl:text>hda</xsl:text> >> - </xsl:when> >> - <xsl:otherwise> >> - <!-- IDE --> >> - <xsl:text>hdb</xsl:text> >> - </xsl:otherwise> >> - </xsl:choose> >> - </xsl:template> >> - >> <xsl:template name="rootfs"> >> <xsl:choose> >> <xsl:when test="os/version > 10"> >> @@ -229,10 +214,13 @@ else >> fi >> >> # Set user avatar >> +if test -n <xsl:value-of select="config/avatar-location"/>; then >> mkdir /mnt/unattended-media >> -mount /dev/<xsl:call-template name='avatar-disk'/> /mnt/unattended-media >> -cp /mnt/unattended-media/<xsl:value-of select="config/user-login"/> /var/lib/AccountsService/icons/ >> +mount <xsl:value-of select='config/avatar-disk'/> /mnt/unattended-media >> +cp /mnt/unattended-media<xsl:value-of select="config/avatar-location"/> /var/lib/AccountsService/icons/<xsl:value-of select="config/user-login"/> >> umount /mnt/unattended-media >> +fi >> + >> echo " >> [User] >> Language= >> diff --git a/data/install-scripts/windows-cmd.xml b/data/install-scripts/windows-cmd.xml >> index 175fcf5..f07c983 100644 >> --- a/data/install-scripts/windows-cmd.xml >> +++ b/data/install-scripts/windows-cmd.xml >> @@ -6,6 +6,8 @@ >> <config> >> <param name="admin-password" policy="optional"/> >> <param name="user-realname" policy="required"/> >> + <param name="avatar-location" policy="optional"/> >> + <param name="avatar-disk" policy="optional"/> >> </config> >> <template filename="windows.cmd"> >> <xsl:stylesheet >> @@ -18,7 +20,7 @@ sc config TlntSvr start= auto >> net user <xsl:value-of select="config/user-realname"/> <xsl:text> </xsl:text> <xsl:value-of select="config/admin-password"/> /add /passwordreq:no >> net localgroup administrators <xsl:value-of select="config/user-realname"/> /add >> net accounts /maxpwage:unlimited >> -copy a:\<xsl:value-of select="config/user-realname"/>.bmp "c:\Documents and Settings\All Users\Application Data\Microsoft\User Account Pictures" >> +if not "<xsl:value-of select="config/avatar-location"/>"=="" copy "<xsl:value-of select="config/avatar-disk"/>:\<xsl:value-of select="config/avatar-location"/>" "c:\Documents and Settings\All Users\Application Data\Microsoft\User Account Pictures\<xsl:value-of select="config/user-realname"/>.bmp" >> REGEDIT /S a:\windows.reg >> EXIT >> </xsl:template> >> diff --git a/osinfo/libosinfo.syms b/osinfo/libosinfo.syms >> index 093f540..0427a88 100644 >> --- a/osinfo/libosinfo.syms >> +++ b/osinfo/libosinfo.syms >> @@ -325,8 +325,12 @@ LIBOSINFO_0.2.2 { >> osinfo_entity_get_param_value_enum; >> osinfo_entity_set_param_enum; >> >> - osinfo_install_script_get_path_format; >> + osinfo_install_config_get_avatar_location; >> + osinfo_install_config_set_avatar_location; >> + osinfo_install_config_get_avatar_disk; >> + osinfo_install_config_set_avatar_disk; >> >> + osinfo_install_script_get_path_format; >> } LIBOSINFO_0.2.1; >> > > Honestly, I don't understand why diff formatted it this way, but doesn't > really matter, does it? I think because of the parent patch introduces a redundant newline. I'll try to fix that before pushing. >> + >> +const gchar *osinfo_install_config_get_avatar_location(OsinfoInstallConfig *config) >> +{ >> + return osinfo_entity_get_param_value(OSINFO_ENTITY(config), >> + OSINFO_INSTALL_CONFIG_PROP_AVATAR_LOCATION); >> +} > > Documentation missing ... Many APIs are missing docs so I generally just added it where I think user can't live without and hope someday I'll add all missing docs in one go. I know thats the wrong approach but I'm lazy. :( I'll add here though. -- Regards, Zeeshan Ali (Khattak) FSF member#5124