|
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>
|