.. _kiwi-installation:
Installation
============
.. note::
This document describes how to install {kiwi}.
Apart from the preferred method of installing {kiwi} via a distribution
package manager, it is also available on `pypi `__
and can be installed using Python's package manager, pip, as follows:
.. code:: shell-session
$ sudo pip install kiwi
.. _installation-from-obs:
Installation from OBS
---------------------
The most up-to-date packages of {kiwi} can be found on the Open Build Service
in the `Virtualization:Appliances:Builder
`__
project.
To install {kiwi}, follow these steps:
1. Open the URL https://download.opensuse.org/repositories/Virtualization:/Appliances:/Builder
in your browser.
2. Right-click on the link of your preferred operating system and
copy the URL. In Firefox, it is the menu :menuselection:`Copy link address`.
3. Insert the copied URL from the last step into your shell. The `DIST`
placeholder contains the respective distribution.
Use :command:`zypper addrepo` to add it to the list of your repositories:
.. code:: shell-session
$ sudo zypper addrepo \
http://download.opensuse.org/repositories/Virtualization:/Appliances:/Builder/ \
kiwi-appliance-builder
4. Install {kiwi}:
.. code:: shell-session
$ sudo zypper --gpg-auto-import-keys install python3-kiwi
.. note:: Other Distributions
If your distribution is not using `zypper`, please use your
package manager's appropriate command instead. For `dnf`,
as an example, that is:
.. code:: shell-session
$ sudo dnf config-manager \
--add-repo https://download.opensuse.org/repositories/Virtualization:/Appliances:/Builder//Virtualization:Appliances:Builder.repo
$ sudo dnf install python3-kiwi
Installation from Distribution Repositories
-------------------------------------------
Some Linux distributions ship {kiwi} in their official repositories. These
include **openSUSE** and **Fedora** since version 28. Note that these packages tend
not to be as up-to-date as the packages from OBS, so some features described
here might not exist yet.
.. note::
There are many packages that contain the name *kiwi* in their name; some
of these are not even Python packages. Please double-check the package's
description to see whether it is actually the {kiwi} Appliance builder before
installing it. Please also note that, depending on how the responsible
packager has integrated {kiwi} into the distribution, the install
name can be different from the instructions provided in:
:ref:`installation-from-obs`.
To install {kiwi} for the desired distribution, run the following command:
Leap/Tumbleweed:
.. code:: shell-session
$ sudo zypper install python3-kiwi
Fedora/Rawhide:
.. code:: shell-session
$ sudo dnf install kiwi-cli
.. _example-descriptions:
Example Appliance Descriptions
------------------------------
There are two places for example appliance descriptions:
The {kiwi} build tests:
The {kiwi} project itself hosts a collection of appliance descriptions
that are used for integration testing of the {kiwi} builder itself.
These descriptions are required to build prior to any {kiwi} release
and are also used as the base for this documentation. Please check
them out when working with this reference guide:
.. code:: shell-session
$ git clone https://github.com/OSInside/kiwi
$ tree -L 3 kiwi/build-tests
The {kiwi} community descriptions project:
There is a GitHub project hosting example appliance descriptions to be used
with the next-generation {kiwi}. Contributions from the community make up
the contents of this repository, and users who need an example for a specific
use case and distribution can clone the project as follows:
.. code:: shell-session
$ git clone https://github.com/OSInside/kiwi-descriptions