Blame install-script/fedoraproject.org/fedora-kickstart-desktop.xml

Packit 92e302
Packit 92e302
<libosinfo version="0.0.1">
Packit 92e302
  
Packit 92e302
     See http://www.gnu.org/licenses/ for a copy of the license text -->
Packit 92e302
  <install-script id="http://fedoraproject.org/fedora/kickstart/desktop">
Packit 92e302
    <profile>desktop</profile>
Packit 92e302
    <expected-filename>fedora.ks</expected-filename>
Packit 92e302
    <config>
Packit 92e302
      <param name="l10n-keyboard" policy="optional" value-map="http://x.org/x11-keyboard"/>
Packit 92e302
      <param name="l10n-language" policy="optional"/>
Packit 92e302
      <param name="l10n-timezone" policy="optional"/>
Packit 92e302
      <param name="hostname" policy="optional"/>
Packit 92e302
      <param name="user-login" policy="required"/>
Packit 92e302
      <param name="user-password" policy="optional"/>
Packit 92e302
      <param name="admin-password" policy="optional"/>
Packit 92e302
      <param name="avatar-location" policy="optional"/>
Packit 92e302
      <param name="avatar-disk" policy="optional"/>
Packit 92e302
      <param name="target-disk" policy="optional"/>
Packit 92e302
      <param name="script-disk" policy="optional"/>
Packit 92e302
    </config>
Packit 92e302
    <injection-method>cdrom</injection-method>
Packit 92e302
    <injection-method>disk</injection-method>
Packit 92e302
    <injection-method>floppy</injection-method>
Packit 92e302
    <injection-method>initrd</injection-method>
Packit 92e302
    <avatar-format>
Packit 92e302
      <mime-type>image/png</mime-type>
Packit 92e302
    </avatar-format>
Packit 92e302
    <template>
Packit 92e302
      <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
Packit 92e302
        <xsl:output method="text"/>
Packit 92e302
        <xsl:template name="hostname">
Packit 92e302
          <xsl:choose>
Packit 92e302
            <xsl:when test="config/hostname != ''">
Packit 92e302
              <xsl:value-of select="config/hostname"/>
Packit 92e302
            </xsl:when>
Packit 92e302
            <xsl:otherwise>
Packit 92e302
              <xsl:text>localhost</xsl:text>
Packit 92e302
            </xsl:otherwise>
Packit 92e302
          </xsl:choose>
Packit 92e302
        </xsl:template>
Packit 92e302
        <xsl:template name="target-disk">
Packit 92e302
          <xsl:choose>
Packit 92e302
            <xsl:when test="config/target-disk != ''">
Packit 92e302
              <xsl:value-of select="config/target-disk"/>
Packit 92e302
            </xsl:when>
Packit 92e302
            <xsl:when test="os/version > 9">
Packit 92e302
              
Packit 92e302
              <xsl:text>/dev/vda</xsl:text>
Packit 92e302
            </xsl:when>
Packit 92e302
            <xsl:when test="os/version > 6">
Packit 92e302
              
Packit 92e302
              <xsl:text>/dev/sda</xsl:text>
Packit 92e302
            </xsl:when>
Packit 92e302
            <xsl:otherwise>
Packit 92e302
              
Packit 92e302
              <xsl:text>/dev/hda</xsl:text>
Packit 92e302
            </xsl:otherwise>
Packit 92e302
          </xsl:choose>
Packit 92e302
        </xsl:template>
Packit 92e302
        <xsl:template name="script-disk">
Packit 92e302
          <xsl:variable name="script-disk">
Packit 92e302
            <xsl:choose>
Packit 92e302
              <xsl:when test="config/script-disk != ''">
Packit 92e302
                <xsl:value-of select="config/script-disk"/>
Packit 92e302
              </xsl:when>
Packit 92e302
              <xsl:when test="os/version > 9">
Packit 92e302
                <xsl:text>/dev/sda</xsl:text>
Packit 92e302
              </xsl:when>
Packit 92e302
              <xsl:when test="os/version > 6">
Packit 92e302
                <xsl:text>/dev/sdb</xsl:text>
Packit 92e302
              </xsl:when>
Packit 92e302
              <xsl:otherwise>
Packit 92e302
                <xsl:text>/dev/hdb</xsl:text>
Packit 92e302
              </xsl:otherwise>
Packit 92e302
            </xsl:choose>
Packit 92e302
          </xsl:variable>
Packit 92e302
          <xsl:value-of select="substring-after($script-disk, '/dev/')"/>
Packit 92e302
        </xsl:template>
Packit 92e302
        
Packit 92e302
             in the same disk as the installation scripts. -->
Packit 92e302
        <xsl:template name="avatar-disk">
Packit 92e302
          <xsl:choose>
Packit 92e302
            <xsl:when test="config/avatar-disk != ''">
Packit 92e302
              <xsl:value-of select="config/avatar-disk"/>
Packit 92e302
            </xsl:when>
Packit 92e302
            <xsl:when test="os/version > 9">
Packit 92e302
              <xsl:text>/dev/sda</xsl:text>
Packit 92e302
            </xsl:when>
Packit 92e302
            <xsl:when test="os/version > 6">
Packit 92e302
              <xsl:text>/dev/sdb</xsl:text>
Packit 92e302
            </xsl:when>
Packit 92e302
            <xsl:otherwise>
Packit 92e302
              <xsl:text>/dev/hdb</xsl:text>
Packit 92e302
            </xsl:otherwise>
Packit 92e302
          </xsl:choose>
Packit 92e302
        </xsl:template>
Packit 92e302
        <xsl:template name="keyboard">
Packit 92e302
          <xsl:choose>
Packit 92e302
            <xsl:when test="os/version > 17">
Packit 92e302
              <xsl:value-of select="config/l10n-keyboard"/>
Packit 92e302
            </xsl:when>
Packit 92e302
            <xsl:otherwise>
Packit 92e302
              
Packit 92e302
                   layout so we'll need a different datamap for those but
Packit 92e302
                   currently we only support one datamap per config param per
Packit 92e302
                   script. -->
Packit 92e302
              <xsl:text>us</xsl:text>
Packit 92e302
            </xsl:otherwise>
Packit 92e302
          </xsl:choose>
Packit 92e302
        </xsl:template>
Packit 92e302
        <xsl:template match="/command-line">
Packit 92e302
          <xsl:text>ks=</xsl:text>
Packit 92e302
          <xsl:choose>
Packit 92e302
            <xsl:when test="script/preferred-injection-method = 'initrd'">
Packit 92e302
              <xsl:text>file:/</xsl:text>
Packit 92e302
            </xsl:when>
Packit 92e302
            <xsl:otherwise>
Packit 92e302
              <xsl:text>hd:</xsl:text>
Packit 92e302
              <xsl:call-template name="script-disk"/>
Packit 92e302
              <xsl:text>:/</xsl:text>
Packit 92e302
            </xsl:otherwise>
Packit 92e302
          </xsl:choose>
Packit 92e302
          <xsl:value-of select="script/expected-filename"/>
Packit 92e302
          <xsl:if test="script/installation-source = 'network'">
Packit 92e302
            <xsl:choose>
Packit 92e302
              <xsl:when test="os/version < 19">
Packit 92e302
                <xsl:text> method=</xsl:text>
Packit 92e302
              </xsl:when>
Packit 92e302
              <xsl:otherwise>
Packit 92e302
                <xsl:text> inst.repo=</xsl:text>
Packit 92e302
              </xsl:otherwise>
Packit 92e302
            </xsl:choose>
Packit 92e302
            <xsl:call-template name="installation-url"/>
Packit 92e302
          </xsl:if>
Packit 92e302
        </xsl:template>
Packit 92e302
        <xsl:template name="installation-url">
Packit 92e302
          <xsl:choose>
Packit 92e302
            <xsl:when test="config/installation-url != ''">
Packit 92e302
              <xsl:value-of select="config/installation-url"/>
Packit 92e302
            </xsl:when>
Packit 92e302
            <xsl:when test="tree/url != ''">
Packit 92e302
              <xsl:value-of select="tree/url"/>
Packit 92e302
            </xsl:when>
Packit 92e302
          </xsl:choose>
Packit 92e302
        </xsl:template>
Packit 92e302
        <xsl:template name="url-or-mirrorlist">
Packit 92e302
          <xsl:choose>
Packit 92e302
            <xsl:when test="config/installation-url != '' or tree/url != ''">
Packit 92e302
              <xsl:text> --url=</xsl:text>
Packit 92e302
              <xsl:call-template name="installation-url"/>
Packit 92e302
            </xsl:when>
Packit 92e302
            <xsl:otherwise>
Packit 92e302
              <xsl:text> --mirrorlist=</xsl:text>
Packit 92e302
              <xsl:text>https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch</xsl:text>
Packit 92e302
            </xsl:otherwise>
Packit 92e302
          </xsl:choose>
Packit 92e302
        </xsl:template>
Packit 92e302
        <xsl:template match="/install-script-config">
Packit 92e302
# Install script for <xsl:value-of select="os/short-id"/> profile <xsl:value-of select="script/profile"/>
Packit 92e302
<xsl:if test="script/installation-source = 'media' and (count(media/variant) = 0 or not(contains(media/variant, 'netinst')))"><xsl:if test="os/version < 29">
Packit 92e302
install
Packit 92e302
  </xsl:if>
Packit 92e302
cdrom
Packit 92e302
</xsl:if>
Packit 92e302
keyboard '<xsl:call-template name="keyboard"/>'
Packit 92e302
lang <xsl:value-of select="config/l10n-language"/>
Packit 92e302
network --onboot yes --bootproto dhcp --hostname=<xsl:call-template name="hostname"/>
Packit 92e302
rootpw dummyPa55w0rd # Actual password set (or unset) in %post below
Packit 92e302
firewall --disabled
Packit 92e302
<xsl:choose><xsl:when test="os/version < 28">
Packit 92e302
authconfig --enableshadow --enablemd5
Packit 92e302
  </xsl:when><xsl:otherwise>
Packit 92e302
authselect select sssd
Packit 92e302
  </xsl:otherwise></xsl:choose>
Packit 92e302
timezone --utc <xsl:value-of select="config/l10n-timezone"/>
Packit 92e302
bootloader --location=mbr
Packit 92e302
zerombr
Packit 92e302
Packit 92e302
clearpart --all --drives=<xsl:call-template name="target-disk"/>
Packit 92e302
Packit 92e302
firstboot --disable
Packit 92e302
Packit 92e302
autopart
Packit 92e302
reboot
Packit 92e302
Packit 92e302
<xsl:if test="script/installation-source = 'network' or contains(media/variant, 'netinst')">
Packit 92e302
repo --name=fedora --mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=fedora-$releasever&arch=$basearch
Packit 92e302
repo --name=updates --mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$releasever&arch=$basearch
Packit 92e302
url <xsl:call-template name="url-or-mirrorlist"/>
Packit 92e302
</xsl:if>
Packit 92e302
Packit 92e302
%packages
Packit 92e302
<xsl:choose><xsl:when test="os/version < 18">
Packit 92e302
@base
Packit 92e302
@graphical-internet
Packit 92e302
@sound-and-video
Packit 92e302
  </xsl:when><xsl:otherwise>
Packit 92e302
@standard
Packit 92e302
@epiphany
Packit 92e302
@firefox
Packit 92e302
@multimedia
Packit 92e302
  </xsl:otherwise></xsl:choose>
Packit 92e302
@core
Packit 92e302
@hardware-support
Packit 92e302
@base-x
Packit 92e302
@gnome-desktop
Packit 92e302
Packit 92e302
# QXL driver and SPICE vdagent
Packit 92e302
xorg-x11-drv-qxl
Packit 92e302
spice-vdagent
Packit 92e302
Packit 92e302
<xsl:if test="os/version > 19">
Packit 92e302
spice-webdavd
Packit 92e302
</xsl:if>
Packit 92e302
Packit 92e302
<xsl:choose><xsl:when test="os/version > 15">
Packit 92e302
qemu-guest-agent
Packit 92e302
  </xsl:when></xsl:choose>
Packit 92e302
Packit 92e302
%end
Packit 92e302
Packit 92e302
%post --erroronfail
Packit 92e302
Packit 92e302
useradd -G wheel <xsl:value-of select="config/user-login"/> # Add user
Packit 92e302
if test -z '<xsl:value-of select="config/user-password"/>'; then
Packit 92e302
    passwd -d <xsl:value-of select="config/user-login"/> # Make user account passwordless
Packit 92e302
else
Packit 92e302
    echo '<xsl:value-of select="config/user-password"/>' |passwd --stdin <xsl:value-of select="config/user-login"/>
Packit 92e302
fi
Packit 92e302
Packit 92e302
if test -z '<xsl:value-of select="config/admin-password"/>'; then
Packit 92e302
    passwd -d root # Make root account passwordless
Packit 92e302
else
Packit 92e302
    echo '<xsl:value-of select="config/admin-password"/>' |passwd --stdin root
Packit 92e302
fi
Packit 92e302
Packit 92e302
# Set user avatar
Packit 92e302
if test -n '<xsl:value-of select="config/avatar-location"/>'; then
Packit 92e302
mkdir /mnt/unattended-media
Packit 92e302
mount <xsl:call-template name="avatar-disk"/> /mnt/unattended-media
Packit 92e302
cp /mnt/unattended-media<xsl:value-of select="config/avatar-location"/> /var/lib/AccountsService/icons/<xsl:value-of select="config/user-login"/>
Packit 92e302
umount /mnt/unattended-media
Packit 92e302
fi
Packit 92e302
Packit 92e302
echo "
Packit 92e302
[User]
Packit 92e302
Language=
Packit 92e302
XSession=
Packit 92e302
Icon=/var/lib/AccountsService/icons/<xsl:value-of select="config/user-login"/>
Packit 92e302
" >> /var/lib/AccountsService/users/<xsl:value-of select="config/user-login"/>
Packit 92e302
Packit 92e302
# Enable autologin
Packit 92e302
echo "[daemon]
Packit 92e302
AutomaticLoginEnable=true
Packit 92e302
AutomaticLogin=<xsl:value-of select="config/user-login"/>
Packit 92e302
Packit 92e302
[security]
Packit 92e302
Packit 92e302
[xdmcp]
Packit 92e302
Packit 92e302
[greeter]
Packit 92e302
Packit 92e302
[chooser]
Packit 92e302
Packit 92e302
[debug]
Packit 92e302
" > /etc/gdm/custom.conf
Packit 92e302
Packit 92e302
# Create an osinfo-install-successful file in /root
Packit 92e302
touch /root/osinfo-install-successful
Packit 92e302
Packit 92e302
%end
Packit 92e302
        </xsl:template>
Packit 92e302
      </xsl:stylesheet>
Packit 92e302
    </template>
Packit 92e302
  </install-script>
Packit 92e302
</libosinfo>