On Wed, May 4, 2016 at 6:57 PM, Zeeshan Ali (Khattak) <zeeshanak@xxxxxxxxx> wrote: > On Wed, Apr 27, 2016 at 1:03 PM, Fabiano Fidêncio <fidencio@xxxxxxxxxx> wrote: >> The script has been tested and works as expected for the most recent >> releases of OpenSUSE (Leap 4.21 and Tumbleweed). >> A big thanks to Lasse Schuirmann, who had worked on a similar script, >> from which I got the chroot-scripts part, during his GSoC project. > > Kudos to you too but please add empty line before every paragraph. :) Forgot to say, ack with this minor issue fixed. >> Co-author: Lasse Schuirmann <lasse.schuirmann@xxxxxxxxx> >> --- >> .../opensuse.org/autoinst-desktop.xml.in | 333 +++++++++++++++++++++ >> 1 file changed, 333 insertions(+) >> create mode 100644 data/install-script/opensuse.org/autoinst-desktop.xml.in >> >> diff --git a/data/install-script/opensuse.org/autoinst-desktop.xml.in b/data/install-script/opensuse.org/autoinst-desktop.xml.in >> new file mode 100644 >> index 0000000..32943ce >> --- /dev/null >> +++ b/data/install-script/opensuse.org/autoinst-desktop.xml.in >> @@ -0,0 +1,333 @@ >> +<libosinfo version="0.0.1"> >> + >> + <!-- DESKTOP PROFILE --> >> + <install-script id='http://opensuse.org/opensuse/autoyast/desktop'> >> + <profile>desktop</profile> >> + <expected-filename>autoinst.xml</expected-filename> >> + <config> >> + <!-- Localization options --> >> + <param name="l10n-keyboard" policy="optional" value-map="http://libosinfo.fedorahosted.org/x11-keyboard"/> >> + <param name="l10n-language" policy="optional"/> >> + <param name="l10n-timezone" policy="optional"/> >> + >> + <!-- Network options --> >> + <param name="hostname" policy="optional"/> >> + <param name="domain" policy="optional"/> >> + >> + <!-- Account options --> >> + <param name="admin-password" policy="optional"/> >> + <param name="user-fullname" policy="optional"/> >> + <param name="user-login" policy="required"/> >> + <param name="user-password" policy="optional"/> >> + <param name="avatar-location" policy="optional"/> >> + <param name="avatar-disk" policy="optional"/> >> + </config> >> + <injection-method>disk</injection-method> >> + >> + <template> >> + <xsl:stylesheet >> + xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >> + version="1.0"> >> + >> + <xsl:output method="xml" indent="yes"/> >> + >> + <xsl:template name="l10n-language"> >> + <xsl:choose> >> + <xsl:when test="config/l10n-language != '' and config/l10n-language != 'C'"> >> + <xsl:value-of select="config/l10n-language"/> >> + </xsl:when> >> + <xsl:otherwise> >> + <xsl:text>en_US</xsl:text> >> + </xsl:otherwise> >> + </xsl:choose> >> + </xsl:template> >> + >> + <xsl:template name="l10n-keyboard"> >> + <xsl:choose> >> + <xsl:when test="config/l10n-keyboard != '' and config/l10n-keyboard != 'C'"> >> + <xsl:value-of select="config/l10n-keyboard"/> >> + </xsl:when> >> + <xsl:otherwise> >> + <xsl:text>us</xsl:text> >> + </xsl:otherwise> >> + </xsl:choose> >> + </xsl:template> >> + >> + <xsl:template name="network-device"> >> + <xsl:choose> >> + <xsl:when test="contains(os/version, 'tumbleweed')"> >> + <xsl:text>ens3</xsl:text> >> + </xsl:when> >> + <xsl:otherwise> >> + <xsl:text>eth0</xsl:text> >> + </xsl:otherwise> >> + </xsl:choose> >> + </xsl:template> >> + >> + <xsl:template name="repo-oss"> >> + <xsl:text> </xsl:text> >> + <xsl:text>http://download.opensuse.org/</xsl:text> >> + <xsl:if test="not(contains(os/version, 'tumbleweed'))"> >> + <xsl:text>distribution/leap/</xsl:text> >> + </xsl:if> >> + <xsl:value-of select="os/version"/> >> + <xsl:text>/repo/oss/</xsl:text> >> + </xsl:template> >> + >> + <xsl:template name="repo-non-oss"> >> + <xsl:text>http://download.opensuse.org/</xsl:text> >> + <xsl:if test="not(contains(os/version, 'tumbleweed'))"> >> + <xsl:text>distribution/leap/</xsl:text> >> + </xsl:if> >> + <xsl:value-of select="os/version"/> >> + <xsl:text>/repo/non-oss/</xsl:text> >> + </xsl:template> >> + >> + <xsl:template name="repo-update-oss"> >> + <xsl:text>http://download.opensuse.org/update/</xsl:text> >> + <xsl:if test="not(contains(os/version, 'tumbleweed'))"> >> + <xsl:text>leap/</xsl:text> >> + </xsl:if> >> + <xsl:value-of select="os/version"/> >> + <xsl:text>/<xsl:text> >> + <xsl:if test="not(contains(os/version, 'tumbleweed'))"> >> + <xsl:text>oss/</xsl:text> >> + </xsl:if> >> + </xsl:template> >> + >> + <xsl:template name="repo-update-non-oss"> >> + <xsl:text>http://download.opensuse.org/update/leap/</xsl:text> >> + <xsl:value-of select="os/version"/> >> + <xsl:text>/non-oss/</xsl:text> >> + </xsl:template> >> + >> + <xsl:template match="/command-line"> >> + <xsl:text>autoyast=device://sda/</xsl:text> >> + <xsl:value-of select="script/expected-filename"/> >> + </xsl:template> >> + >> + <xsl:template match="/install-script-config"> >> + <profile xmlns="http://www.suse.com/1.0/yast2ns" xmlns:config="http://www.suse.com/1.0/configns"> >> + <bootloader> >> + <device_map config:type="list"> >> + <device_map_entry> >> + <firmware>hd0</firmware> >> + <linux>/dev/vda</linux> >> + </device_map_entry> >> + </device_map> >> + <global> >> + <activate>true</activate> >> + <append> resume=/dev/vda1 splash=silent quiet showopts</append> >> + <boot_boot>false</boot_boot> >> + <boot_extended>false</boot_extended> >> + <boot_mbr>false</boot_mbr> >> + <boot_root>true</boot_root> >> + <default>0</default> >> + <distributor/> >> + <failsafe_disabled>true</failsafe_disabled> >> + <generic_mbr>true</generic_mbr> >> + <gfxmode>auto</gfxmode> >> + <os_prober>true</os_prober> >> + <terminal>gfxterm</terminal> >> + <timeout config:type="integer">8</timeout> >> + <vgamode/> >> + </global> >> + <loader_type>grub2</loader_type> >> + </bootloader> >> + <firewall> >> + <enable_firewall config:type="boolean">false</enable_firewall> >> + <start_firewall config:type="boolean">false</start_firewall> >> + </firewall> >> + <general> >> + <ask-list config:type="list"/> >> + <mode> >> + <confirm config:type="boolean">false</confirm> >> + <final_reboot config:type="boolean">true</final_reboot> >> + </mode> >> + <proposals config:type="list"/> >> + <signature-handling> >> + <accept_file_without_checksum config:type="boolean">true</accept_file_without_checksum> >> + <accept_non_trusted_gpg_key config:type="boolean">true</accept_non_trusted_gpg_key> >> + <accept_unknown_gpg_key config:type="boolean">true</accept_unknown_gpg_key> >> + <accept_unsigned_file config:type="boolean">true</accept_unsigned_file> >> + <accept_verification_failed config:type="boolean">false</accept_verification_failed> >> + <import_gpg_key config:type="boolean">true</import_gpg_key> >> + </signature-handling> >> + <storage> >> + <partition_alignment config:type="symbol">align_optimal</partition_alignment> >> + <start_multipath config:type="boolean">false</start_multipath> >> + </storage> >> + </general> >> + <keyboard> >> + <keyboard_values> >> + <delay/> >> + <discaps config:type="boolean">false</discaps> >> + <numlock>bios</numlock> >> + <rate/> >> + </keyboard_values> >> + <keymap><xsl:call-template name="l10n-keyboard"/></keymap> >> + </keyboard> >> + <language><xsl:call-template name="l10n-language"/></language> >> + <networking> >> + <managed config:type="boolean">false</managed> >> + <interfaces config:type="list"> >> + <interface> >> + <bootproto>dhcp</bootproto> >> + <device><xsl:call-template name="network-device"/></device> >> + <startmode>auto</startmode> >> + <usercontrol>no</usercontrol> >> + </interface> >> + </interfaces> >> + </networking> >> + <partitioning config:type="list"> >> + <drive> >> + <device>/dev/vda</device> >> + <type config:type="symbol">CT_DISK</type> >> + <use>all</use> >> + </drive> >> + </partitioning> >> + <report> >> + <errors> >> + <log config:type="boolean">true</log> >> + <show config:type="boolean">true</show> >> + <timeout config:type="integer">0</timeout> >> + </errors> >> + <messages> >> + <log config:type="boolean">true</log> >> + <show config:type="boolean">true</show> >> + <timeout config:type="integer">10</timeout> >> + </messages> >> + <warnings> >> + <log config:type="boolean">true</log> >> + <show config:type="boolean">true</show> >> + <timeout config:type="integer">10</timeout> >> + </warnings> >> + <yesno_messages> >> + <log config:type="boolean">true</log> >> + <show config:type="boolean">true</show> >> + <timeout config:type="integer">10</timeout> >> + </yesno_messages> >> + </report> >> + <scripts> >> + <chroot-scripts config:type="list"> >> + <script> >> + <chrooted config:type="boolean">true</chrooted> >> + <source> >> +pam-config -a --unix-nullok >> +pam-config -a --nullok >> + >> +<xsl:choose> >> + <xsl:when test="config/user-password != ''"> >> +useradd <xsl:value-of select='config/user-login'/> >> +passwd -d <xsl:value-of select='config/user-login'/> >> + </xsl:when> >> +</xsl:choose> >> + >> +<xsl:choose> >> + <xsl:when test="config/avatar-location != ''"> >> +# Set user avatar >> +mkdir /mnt/unattended-media >> +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 >> + >> +echo " >> +[User] >> +Language=<xsl:value-of select="config/l10n-language"/>.UTF-8 >> +XSession=gnome >> +Icon=/var/lib/AccountsService/icons/<xsl:value-of select="config/user-login"/> >> +" >> /var/lib/AccountsService/users/<xsl:value-of select="config/user-login"/> >> + </xsl:when> >> +</xsl:choose> >> + >> +# Enable default OpenSUSE repos >> +zypper ar -f <xsl:call-template name="repo-oss"/> repo-oss >> +zypper ar -f <xsl:call-template name="repo-non-oss"/> repo-non-oss >> +zypper ar -f <xsl:call-template name="repo-update-oss"/> repo-update-oss >> +<xsl:if test="not(contains(os/version, 'tumbleweed'))"> >> + zypper ar -f <xsl:call-template name="repo-update-non-oss"/> repo-update-non-oss >> +</xsl:if> >> + </source> >> + </script> >> + </chroot-scripts> >> + </scripts> >> + <services-manager> >> + <default_target>graphical</default_target> >> + <services> >> + <enable config:type="list"> >> + <service>NetworkManager</service> >> + </enable> >> + </services> >> + </services-manager> >> + <software> >> + <packages config:type="list"> >> + <package>autoyast2-installation</package> >> + <package>gdm</package> >> + </packages> >> + <patterns config:type="list"> >> + <pattern>apparmor</pattern> >> + <pattern>apparmor_opt</pattern> >> + <pattern>console</pattern> >> + <pattern>devel_basis</pattern> >> + <pattern>enhanced_base</pattern> >> + <pattern>enhanced_base_opt</pattern> >> + <pattern>fonts</pattern> >> + <pattern>gnome_basis</pattern> >> + <pattern>gnome</pattern> >> + <pattern>print_server</pattern> >> + <pattern>sw_management</pattern> >> + <pattern>yast2_basis</pattern> >> + <pattern>yast2_install_wf</pattern> >> + </patterns> >> + </software> >> + <sysconfig config:type="list"> >> + <sysconfig_entry> >> + <sysconfig_key>DISPLAYMANAGER</sysconfig_key> >> + <sysconfig_path>/etc/sysconfig/displaymanager</sysconfig_path> >> + <sysconfig_value>gdm</sysconfig_value> >> + </sysconfig_entry> >> + <sysconfig_entry> >> + <sysconfig_key>DEFAULT_WM</sysconfig_key> >> + <sysconfig_path>/etc/sysconfig/windowmanager</sysconfig_path> >> + <sysconfig_value>gnome</sysconfig_value> >> + </sysconfig_entry> >> + </sysconfig> >> + <timezone> >> + <hwclock>UTC</hwclock> >> + <timezone><xsl:value-of select="config/l10n-timezone"/></timezone> >> + </timezone> >> + <user_defaults> >> + <expire/> >> + <group>100</group> >> + <groups/> >> + <home>/home</home> >> + <inactive>-1</inactive> >> + <no_groups config:type="boolean">true</no_groups> >> + <shell>/bin/bash</shell> >> + <skel>/etc/skel</skel> >> + <umask>022</umask> >> + </user_defaults> >> + <users config:type="list"> >> + <user> >> + <encrypted config:type="boolean">false</encrypted> >> + <fullname>root</fullname> >> + <gid>0</gid> >> + <home>/root</home> >> + <shell>/bin/bash</shell> >> + <uid>0</uid> >> + <user_password><xsl:value-of select="config/admin-password"/></user_password> >> + <username>root</username> >> + </user> >> + <user> >> + <encrypted config:type="boolean">false</encrypted> >> + <fullname><xsl:value-of select="config/user-fullname"/></fullname> >> + <user_password><xsl:value-of select="config/user-password"/></user_password> >> + <username><xsl:value-of select="config/user-login"/></username> >> + </user> >> + </users> >> + </profile> >> + </xsl:template> >> + </xsl:stylesheet> >> + </template> >> + </install-script> >> +</libosinfo> >> -- >> 2.7.3 >> >> _______________________________________________ >> Libosinfo mailing list >> Libosinfo@xxxxxxxxxx >> https://www.redhat.com/mailman/listinfo/libosinfo > > > > -- > Regards, > > Zeeshan Ali (Khattak) -- Regards, Zeeshan Ali (Khattak) _______________________________________________ Libosinfo mailing list Libosinfo@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libosinfo