[sdk/kdesrc-build/docbook_historied_per_file] doc: Use XDG_STATE_HOME for persistent data file

Ignacy Kajdan null at kde.org
Fri May 10 10:16:51 BST 2024


Git commit 23df6e04c36ac3b92e726852e5165906bb324c8d by Ignacy Kajdan.
Committed on 21/01/2022 at 17:40.
Pushed by ashark into branch 'docbook_historied_per_file'.

Use XDG_STATE_HOME for persistent data file

Original commit: 4a2c0a8f
https://invent.kde.org/sdk/kdesrc-build/-/commit/4a2c0a8fe776490fde92bec120bfae51d9e9c982

M  +5    -3    doc/cmdline/supported-cmdline-params.docbook
M  +17   -13   doc/getting-started/before-building.docbook
M  +10   -7    doc/getting-started/configure-data.docbook
M  +26   -15   doc/kdesrc-buildrc/conf-options-table.docbook
M  +57   -7    doc/using-kdesrc-build/advanced-features.docbook

https://invent.kde.org/sdk/kdesrc-build/-/commit/23df6e04c36ac3b92e726852e5165906bb324c8d

diff --git a/doc/cmdline/supported-cmdline-params.docbook b/doc/cmdline/supported-cmdline-params.docbook
index 25c4f8cc..75c2c452 100644
--- a/doc/cmdline/supported-cmdline-params.docbook
+++ b/doc/cmdline/supported-cmdline-params.docbook
@@ -496,9 +496,11 @@ This option was added with &kdesrc-build; 1.16. See also the
 <listitem><para>
 This interprets the next command line parameter as the file to read the
 configuration options from. The default value for this parameter is
-<filename>kdesrc-buildrc</filename> (checked in the current directory) if
-it is present, or <filename>~/.kdesrc-buildrc</filename> otherwise. See
-also <xref linkend="kdesrc-buildrc" />.
+<filename>kdesrc-buildrc</filename> (checked in the current working directory).
+If this file doesn't exist, <filename>~/.config/kdesrc-buildrc</filename>
+(<filename>$XDG_CONFIG_HOME/kdesrc-buildrc</filename>, if
+<envar>$XDG_CONFIG_HOME</envar> is set) will be used instead. See also
+<xref linkend="kdesrc-buildrc"/>.
 </para></listitem>
 </varlistentry>
 
diff --git a/doc/getting-started/before-building.docbook b/doc/getting-started/before-building.docbook
index d6920929..b4853081 100644
--- a/doc/getting-started/before-building.docbook
+++ b/doc/getting-started/before-building.docbook
@@ -151,15 +151,17 @@ without having to fully specify its path every time.</para></tip>
 <sect3 id="setup-rcfile">
 <title>Prepare the configuration file</title>
 
-<para>&kdesrc-build; uses a <link linkend="configure-data">configuration
-file</link> (located at <filename>~/.kdesrc-buildrc</filename>) to control
-which modules are built, where they are installed to, etc.</para>
+<para>&kdesrc-build; uses a <link linkend="configure-data">configuration file</link>
+to control which modules are built, where they are installed to, etc.
+This file is located at <filename>~/.config/kdesrc-buildrc</filename>
+(<filename>$XDG_CONFIG_HOME/kdesrc-buildrc</filename>, if
+<envar>$XDG_CONFIG_HOME</envar> is set).</para>
 
 <para>You can use a program included with &kdesrc-build;, called
 <application>kdesrc-build-setup</application> in order to prepare a simple
 kdesrc-build configuration. You can then edit the
-<filename>~/.kdesrc-buildrc</filename> from there to make any changes you see
-fit.</para>
+<filename>~/.config/kdesrc-buildrc</filename> configuration file to make
+any changes you see fit.</para>
 
 <para><application>kdesrc-build-setup</application> itself runs from a terminal
 (instead of using a graphical interface), just like &kdesrc-build;, so you can
@@ -169,17 +171,19 @@ use it even if you have no graphical interface available yet.</para>
 <title>Manual setup of configuration file</title>
 
 <para>You can also setup your configuration file manually, by copying the
-included sample configuration file
-<filename>kdesrc-buildrc-kf5-sample</filename> to
-<filename>~/.kdesrc-buildrc</filename> and then editing the file.  <xref
-linkend="kdesrc-buildrc"/> will be a useful reference for this, especially its
-<link linkend="conf-options-table">table of configuration options</link>.
+included sample configuration file <filename>kdesrc-buildrc-kf5-sample</filename>
+to <filename>~/.config/kdesrc-buildrc</filename> and then editing the file.
+<xref linkend="kdesrc-buildrc"/> will be a useful reference for this, especially
+its <link linkend="conf-options-table">table of configuration options</link>.
 </para>
 
 <para>&kdesrc-build; contains many recommended configuration files to support
-&kde; Frameworks 5, &plasma; 5, and other &kde; applications.  The <application>kdesrc-build-setup</application> refers to these files in the configuration file it generates, but you can also use them
-yourself.  See <xref linkend="kdesrc-buildrc-including"/> for information on how
-to use other configuration files from your own <filename>~/.kdesrc-buildrc</filename>.</para>
+&kde; Frameworks 5, &plasma; 5, and other &kde; applications. The
+<application>kdesrc-build-setup</application> refers to these files in the
+configuration file it generates, but you can also use them yourself. See
+<xref linkend="kdesrc-buildrc-including"/> for information on how to use other
+configuration files from your own <filename>kdesrc-buildrc</filename>.
+</para>
 
 <para>You can find more information about the syntax of the <link
 linkend="configure-data">configuration file</link> in <xref
diff --git a/doc/getting-started/configure-data.docbook b/doc/getting-started/configure-data.docbook
index 5643e977..4ce65d40 100644
--- a/doc/getting-started/configure-data.docbook
+++ b/doc/getting-started/configure-data.docbook
@@ -2,15 +2,18 @@
 <title>Setting the Configuration Data</title>
 
 <para>
-To use &kdesrc-build;, you should have a file in your home directory called
-<filename>.kdesrc-buildrc</filename>, which sets the general options and sets the modules
-you would like to download and build.
+To use &kdesrc-build;, you should have a file in your <filename>~/.config</filename>
+(or in <envar>$XDG_CONFIG_HOME</envar>, if set) directory called
+<filename>kdesrc-buildrc</filename>, which sets the general options and
+specifies the modules you would like to download and build.
 </para>
 
-<note><para>It is possible to use different configuration files for &kdesrc-build;,
-which is described in <xref linkend="kdesrc-buildrc" />. If you need to use
-multiple configurations, please see that section. Here, we will assume the
-configuration is stored in <filename>~/.kdesrc-buildrc</filename>.</para></note>
+<note><para>
+It is possible to use different configuration files for &kdesrc-build;, which is
+described in <xref linkend="kdesrc-buildrc" />. If you need to use multiple
+configurations, please see that section. Here, we will assume that the
+configuration is stored in <filename>~/.config/kdesrc-buildrc</filename>.
+</para></note>
 
 <para>
 The easiest way to proceed is to use the
diff --git a/doc/kdesrc-buildrc/conf-options-table.docbook b/doc/kdesrc-buildrc/conf-options-table.docbook
index 64230a63..379cfa80 100644
--- a/doc/kdesrc-buildrc/conf-options-table.docbook
+++ b/doc/kdesrc-buildrc/conf-options-table.docbook
@@ -214,9 +214,16 @@ change at all.</para></important>
 <row id="conf-checkout-only">
 <entry>checkout-only</entry>
 <entry>Module setting overrides global</entry>
-<entry><para>This option was removed in January 2022. It used to control
-the ability to checkout subsets of a module from a Subversion repository.</para>
-</entry>
+<entry><para>Set this option to checkout &subversion; sources piece by piece. The
+value for this option should be a space-separated list of directories to
+checkout.  Although this option overrides the global option, be aware that
+setting this as a global option makes no sense.
+</para>
+
+<para>Note that this setting has no effect on &git; modules due to the
+operation of the &git; source control system.</para>
+
+<para>See <xref linkend="checking-out-parts"/> for an example.</para></entry>
 </row>
 
 <row id="conf-cmake-generator">
@@ -405,13 +412,13 @@ for every module. You can disable this check by setting
 <entry><para>Use this option to select a specific set of directories not to be built in a
 module (instead of all of them). The directories not to build should be space-separated.</para>
 
-<para>Note that the sources to the programs will still be downloaded.</para>
+<para>Note that the sources to the programs will still be downloaded. You can use
+the <link linkend="conf-checkout-only">checkout-only</link>
+directive to choose directories that you want to check out.</para>
 
-<para>For example, to disable building the <literal>codeeditor</literal> and <literal>minimaltest</literal>
-directories of the <literal>syntaxhighlighting</literal> framework, you
-would add <userinput>do-not-compile codeeditor minimaltest</userinput>
-compiling, you would add "do-not-compile juk kscd" to your syntaxhighlighting
-options.</para>
+<para>For example, to hold &juk; and &kscd; in the kdemultimedia module from
+compiling, you would add "do-not-compile juk kscd" to your kdemultimedia
+settings.</para>
 
 <para>See <xref linkend="not-compiling"/> for an example.</para>
 </entry>
@@ -1025,12 +1032,16 @@ cannot figure out what you mean using <link linkend="conf-branch">branch</link>.
 <row id="conf-persistent-data-file">
 <entry>persistent-data-file</entry>
 <entry>Cannot be overridden</entry>
-<entry><para>Use this option to change where &kdesrc-build; stores its persistent
-data. The default is to store this data in a file called
-<filename>.kdesrc-build-data</filename> placed in the same directory as the
-configuration file in use. If you have multiple available configurations in the
-same directory you may want to manually set this option so that the different
-configurations do not end up with conflicting persistent data.</para>
+<entry><para>Use this option to change where &kdesrc-build; stores its
+persistent data. The default is to store this data in a file called
+<filename>.kdesrc-build-data</filename>, placed in the same directory as the
+configuration file in use. If the global configuration file is in use, it will
+be saved to <filename>~/.local/state/kdesrc-build-data</filename>
+(<filename>$XDG_STATE_HOME/kdesrc-build-data</filename>, if
+<envar>$XDG_STATE_HOME</envar> is set). If you have multiple available
+configurations in the same directory, you may want to manually set this option,
+so that different configurations do not end up with conflicting persistent data.
+</para>
 
 <para>This option was added with &kdesrc-build; 1.15.</para>
 </entry>
diff --git a/doc/using-kdesrc-build/advanced-features.docbook b/doc/using-kdesrc-build/advanced-features.docbook
index 6c41cc2e..45e73a44 100644
--- a/doc/using-kdesrc-build/advanced-features.docbook
+++ b/doc/using-kdesrc-build/advanced-features.docbook
@@ -9,19 +9,69 @@ has features to make this easy. There are several complementing ways to
 do this.
 </para>
 
+<sect3 id="checking-out-parts">
+<title>Checking out portions of a module</title>
+
+<para>This is perhaps the best way to do this. When it works, it will save you
+download time and disk space. What happens is that &kdesrc-build; will download
+only the parts of a module that you specify. This is done using the &checkout-only;
+option for a module, which will specify a list of directories to download.
+</para>
+
+<tip><para>
+If you do not already know what to download from a module, it may be a good idea
+to browse the &subversion; layout for a module first, using
+<ulink url="https://websvn.kde.org/branches/KDE/4.6/">WebSVN</ulink>. <!--FIXME outdated-->
+</para></tip>
+
+<informalexample>
+<para>To only grab &kuser; and <application>KSystemLog</application> from
+kdeadmin, you could use &checkout-only; like this:</para>
+
+<screen>
+module <replaceable>kdeadmin</replaceable>
+  &checkout-only; <replaceable>kuser ksystemlog</replaceable>
+end module
+</screen>
+
+</informalexample>
+
+<important><para>The directories will be built in the order they are listed
+in the option. If one of the directories needs something else from the module
+to compile, then you need to make sure they are both in the &checkout-only;
+line, and that the required dependency goes before the directory that needs it.</para>
+
+<para>Also, sometimes an application may need other directories and it is hard
+to figure out what they are, which may require some trial and error of constantly
+adding directories to the option to figure out. This option depends on support
+from the build system of the module, so it is only useful for modules that are
+collections of individual applications.</para>
+</important>
+
+<para>One final note to make about this option: If you change the value of this
+option, you should use <userinput><command>kdesrc-build</command>
+<option>&cmd-refresh-build;</option> <option><replaceable>module</replaceable></option></userinput>
+in order to ensure that the module is reconfigured properly. In addition,
+&kdesrc-build; will never remove existing files if you take away the number of
+directories from your &checkout-only; option, or add the option to a module that
+has already been checked out.</para>
+
+</sect3>
+
 <sect3 id="not-compiling">
 <title>Removing directories from a build</title>
-<para>It is possible to download an entire repository
-but have the build system leave out a few directories when it does
-the build. This requires that the module uses &cmake; and that the
-module's build system allows the directory to remove to be
-optional.
+<para>Instead of restricting what is downloaded, it is possible to download
+everything but have the build system leave out a few directories when it does
+the build. This may be useful if one directory always breaks and is
+unnecessary to the rest of the module.
 </para>
 
-<para>This is controlled with the &do-not-compile; option.</para>
+<para>This is controlled with the &do-not-compile; option. It works similar
+to the &checkout-only; option just described, in that it is simply a list of
+directories that should not be compiled.</para>
 
 <important><para>
-This option requires at least that the
+Also like &checkout-only;, this option requires at least that the
 build system for the module is reconfigured after changing
 it. This is done using the <userinput><command>kdesrc-build</command>
 <option>&cmd-reconfigure;</option>



More information about the kde-doc-english mailing list