<chapter id="introduction">
<title
>Introduction</title>

<sect1 id="brief-intro">
<title
>A brief introduction to &kdesrc-build;</title>

<sect2 id="whatis-kdesrc-build">
<title
>What is &kdesrc-build;?</title>

<para
>&kdesrc-build; is a script to help the &kde; community install <ulink url="https://www.kde.org/"
>&kde;</ulink
> software from its <ulink url="https://git-scm.com/"
>&git;</ulink
> source repositories, and continue to update that software afterwards. It is particularly intended to support those who need to supporting testing and development of &kde; software, including users testing bugfixes and developers working on new features. </para>

<para
>The &kdesrc-build; script can be configured to maintain a single individual module, a full &plasma; desktop with &kde; application set, or somewhere in between. </para>

<para
>To get started, see <xref linkend="getting-started"/>, or continue reading for more detail on how &kdesrc-build; works and what is covered in this documentation. </para>
</sect2>

<sect2 id="operation-in-a-nutshell">
<title
>&kdesrc-build; operation <quote
>in a nutshell</quote
></title>

<para
>&kdesrc-build; works by using the tools available to the user at the command-line, using the same interfaces available to the user. When &kdesrc-build; is run, the following sequence is followed: </para>

<orderedlist>
<listitem
><para
>&kdesrc-build; reads in the <link linkend="cmdline"
>command line</link
> and <link linkend="configure-data"
>configuration file</link
>, to determine what to build, compile options to use, where to install, &etc;</para
></listitem>

<listitem
><para
>&kdesrc-build; performs a source update for each <link linkend="module-concept"
>module</link
>. The update continues until all modules have been updated. Modules that fail to update normally do not stop the build &ndash; you will be notified at the end which modules did not update.</para
></listitem>

<listitem
><para
>Modules that were successfully updated are built, have their test suite run, and are then installed. To reduce the overall time spent, &kdesrc-build; will by default start building the code as soon as the first module has completed updating, and allow the remaining updates to continue behind the scenes. </para
></listitem>
</orderedlist>

<tip
><para
>A <emphasis
>very good</emphasis
> overview of how &kde; modules are built, including informative diagrams, is provided on <ulink url="https://www.davidrevoy.com/article193/guide-building-krita-on-linux-for- cats"
>an online article discussing &kde;'s &krita; application</ulink
>. This workflow is what &kdesrc-build; automates for all &kde; modules.</para>
</tip>

</sect2>
</sect1
>&intro-toc; </chapter>
