aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/README.Fedora.md181
1 files changed, 104 insertions, 77 deletions
diff --git a/docs/README.Fedora.md b/docs/README.Fedora.md
index 3321e05ff6..4d5303e5c4 100644
--- a/docs/README.Fedora.md
+++ b/docs/README.Fedora.md
@@ -1,77 +1,104 @@
-TOC
-1. Introduction
-2. Getting the source code
-3. Installing the required libraries and headers
-4. How to compile
-5. Uninstalling
-
------------------------------------------------------------------------------
-1. Introduction
------------------------------------------------------------------------------
-
-A graphics-adapter with OpenGL or OpenGLES acceleration is required.
-
-Note to new Linux users:
-All lines that are prefixed with the '$' character are commands,
-that need to be typed into a terminal window / console. The '$' equals the prompt.
-Note: The '$' character itself should NOT be typed as part of the command.
-
------------------------------------------------------------------------------
-2. Getting the source code
------------------------------------------------------------------------------
-
-You will have to grab the source code of course, here we use git as example.
-First install the git package using the command line
-
- $ sudo dnf install git
-
-.0 $ cd $HOME
-.1 $ git clone git://github.com/xbmc/xbmc.git kodi
-
-Note: You can clone any specific branch.
-
-.1 $ git clone -b <branch> git://github.com/xbmc/xbmc.git kodi
-
------------------------------------------------------------------------------
-3. Installing the required libraries and headers
------------------------------------------------------------------------------
-
-You will then need the required libraries. The following is the list of packages
-that are used to build Kodi packages on FEDORA (with all supported
-external libraries enabled).
-
-$ sudo dnf install autoconf automake gettext cmake curl \
-jre gawk gperf java-9-openjdk-headless libao-devel alsa-lib-devel \
-libass-devel libva-devel avahi-devel avahi-compat-libdns_sd-devel bluez-libs-devel \
-libbluray-devel bzip2-devel libcap-devel \
-libcdio-devel libcec-devel openssl-libs \
-dbus-devel mesa-libEGL-devel fmt-devel fontconfig-devel freetype-devel \
-fribidi-devel giflib-devel \
-libjpeg-turbo-devel libtool-ltdl-devel lzo-devel libmicrohttpd-devel \
-libmpc-devel mariadb-devel libnfs-devel \
-pcre-devel libplist-devel libpng12-devel \
-shairplay-devel libsmbclient-devel sqlite-devel openssl-devel ffmpeg-devel \
-taglib-devel tinyxml-devel libtool-ltdl-devel libudev-devel \
-libusb-devel libva-devel libvdpau-devel libxml2-devel \
-libXmu-devel libXrandr-devel libxslt-devel libXt-devel rapidjson-devel \
-nasm python-devel yasm swig uuid-devel zlib-devel python-pillow \
-trousers-devel libidn2-devel gcc-c++ mesa-libGLw-devel libuuid-devel \
-libcurl-devel gtkglext-devel libtool gettext-devel
-
-
------------------------------------------------------------------------------
-4. How to compile
------------------------------------------------------------------------------
-See README.linux
-
------------------------------------------------------------------------------
-4.1. Test Suite
------------------------------------------------------------------------------
-See README.linux
-
------------------------------------------------------------------------------
-5. Uninstalling
------------------------------------------------------------------------------
-See README.linux/Uninstalling for removing compiled versions of Kodi.
-
-EOF
+![Kodi Logo](resources/banner_slim.png)
+
+# Fedora build guide
+This guide has been tested with Fedora 28 1.1 x86_64. Please read it in full before you proceed to familiarize yourself with the build procedure.
+
+Several other distributions have **[specific build guides](README.md)** and a general **[Linux build guide](README.Linux.md)** is also available.
+
+## Table of Contents
+1. **[Document conventions](#1-document-conventions)**
+2. **[Get the source code](#2-get-the-source-code)**
+3. **[Install the required packages](#3-install-the-required-packages)**
+4. **[Build Kodi](#4-build-kodi)**
+
+## 1. Document conventions
+This guide assumes you are using `terminal`, also known as `console`, `command-line` or simply `cli`. Commands need to be run at the terminal, one at a time and in the provided order.
+
+This is a comment that provides context:
+```
+this is a command
+this is another command
+and yet another one
+```
+
+**Example:** Clone Kodi's current master branch:
+```
+git clone https://github.com/xbmc/xbmc kodi
+```
+
+Commands that contain strings enclosed in angle brackets denote something you need to change to suit your needs.
+```
+git clone -b <branch-name> https://github.com/xbmc/xbmc kodi
+```
+
+**Example:** Clone Kodi's current Krypton branch:
+```
+git clone -b Krypton https://github.com/xbmc/xbmc kodi
+```
+
+Several different strategies are used to draw your attention to certain pieces of information. In order of how critical the information is, these items are marked as a note, tip, or warning. For example:
+
+**NOTE:** Linux is user friendly... It's just very particular about who its friends are.
+**TIP:** Algorithm is what developers call code they do not want to explain.
+**WARNING:** Developers don't change light bulbs. It's a hardware problem.
+
+**[back to top](#table-of-contents)** | **[back to section top](#1-document-conventions)**
+
+## 2. Get the source code
+Make sure `git` is installed:
+```
+sudo dnf install git
+```
+
+Clone Kodi's current master branch:
+```
+cd $HOME
+git clone https://github.com/xbmc/xbmc kodi
+```
+
+**[back to top](#table-of-contents)**
+
+## 3. Install the required packages
+If you get a `package not found` type of message with the below command, remove the offending package(s) from the install list and reissue the command. Take a note of the missing dependencies and, after a successful step completion, **[build the missing dependencies manually](README.Linux.md#31-build-missing-dependencies)**.
+
+Install build dependencies:
+```
+sudo dnf install alsa-lib-devel autoconf automake avahi-compat-libdns_sd-devel avahi-devel bluez-libs-devel bzip2-devel cmake curl dbus-devel fmt-devel fontconfig-devel freetype-devel fribidi-devel gawk gcc gcc-c++ gettext gettext-devel giflib-devel gperf java-9-openjdk-headless jre lcms2-devel libao-devel libass-devel libbluray-devel libcap-devel libcdio-devel libcec-devel libcurl-devel libidn2-devel libjpeg-turbo-devel libmicrohttpd-devel libmpc-devel libnfs-devel libplist-devel libpng12-devel libsmbclient-devel libtool libtool-ltdl-devel libudev-devel libusb-devel libuuid-devel libva-devel libvdpau-devel libxml2-devel libXmu-devel libXrandr-devel libxslt-devel libXt-devel lirc-devel lzo-devel mariadb-devel mesa-libEGL-devel mesa-libGL-devel mesa-libGLU-devel mesa-libGLw-devel mesa-libOSMesa-devel nasm openssl-devel openssl-libs patch pcre-devel pulseaudio-libs-devel python-devel python-pillow rapidjson-devel shairplay-devel sqlite-devel swig taglib-devel tinyxml-devel trousers-devel uuid-devel yasm zlib-devel
+```
+
+**WARNING:** Make sure you copy paste the entire line or you might receive an error or miss a few dependencies.
+
+Building for Wayland requires some extra packages:
+```
+sudo dnf install mesa-libGLES-devel wayland-devel waylandpp-devel wayland-protocols-devel
+```
+
+Similarly, building for GBM also requires some extra packages:
+```
+sudo dnf install libinput-devel libxkbcommon-devel mesa-libGLES-devel mesa-libgbm-devel
+```
+
+Optional packages that you might want to install for extra functionality (generating doxygen documentation, for instance):
+```
+sudo apt install doxygen mariadb-devel
+```
+
+**NOTE:** For developers and anyone else who builds frequently it is recommended to install `ccache` to expedite subsequent builds of Kodi.
+
+You can install it with:
+```
+sudo dnf install ccache
+```
+
+**TIP:** If you have multiple computers at home, `distcc` will distribute build workloads of C and C++ code across several machines on a network. Team Kodi may not be willing to give support if problems arise using such a build configuration.
+
+You can install it with:
+```
+sudo dnf install distcc
+```
+
+## 4. Build Kodi
+See the general **[Linux build guide](README.Linux.md)** for reference.
+
+**[back to top](#table-of-contents)**
+