[sdk/kdesrc-build] doc: doc: supported-cmdline-params - separate docbook

2024-01-05 Thread Andrew Shark
Git commit d3ebb4f33fd0db60abf28d4cdb41058cfb3284cd by Andrew Shark.
Committed on 05/01/2024 at 20:00.
Pushed by ashark into branch 'master'.

doc: supported-cmdline-params - separate docbook

M  +1-724  doc/cmdline.docbook
M  +1-0doc/index.docbook
C  +0-113  doc/supported-cmdline-params.docbook [from: doc/cmdline.docbook 
- 086% similarity]

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

diff --git a/doc/cmdline.docbook b/doc/cmdline.docbook
index ecec619f..4273c346 100644
--- a/doc/cmdline.docbook
+++ b/doc/cmdline.docbook
@@ -109,729 +109,6 @@ linkend="conf-set-env">set-env option.
 
 
 
-
-Supported command-line parameters
-
-
-The script accepts the following command-line options:
-
-
-
-
-
---async
-
-Enables the asynchronous mode, which can
-perform the source code updates and module builds at the same time.  This is
-the default, this option only needs specified if you have disabled it in the
-configuration.
-
-
-
-
---help (or -h)
-
-Only display simple help on this script.
-
-
-
-
---version (or -v)
-
-Display the program version.
-
-
-
-
---show-info
-
-Displays information about  and the operating system, that may
-prove useful in bug reports or when asking for help in forums or mailing lists.
-
-Available since version 18.11.
-
-
-
-
---initial-setup
-
-Has  perform the one-time initial setup necessary to prepare
-the system for  to operate, and for the newly-installed 
-software to run.
-
-This includes:
-
-Installing known dependencies (on supported  
distributions)
-Adding required environment variables to 
~/.bashrc
-Setting up a configuration 
file
-
-This option is exactly equivalent to using
---install-distro-packages
---generate-config
---update-shellrc at the same 
time.
-
-
-
-
-
---install-distro-packages
-
-Installs distro packages (on supported  distributions) necessary to 
prepare the system for  to operate, and for the newly-installed 

-software to run.
-
-See also --initial-setup
-
-
-
-
---generate-config
-
-Generate the  configuration file.
-
-See also --initial-setup
-
-
-
-
---update-shellrc
-
-Edit the "~/.bashrc" (or other shell rc file) to add  to your 
$PATH variable and enable autocompletion.
-
-See also --initial-setup
-
-
-
-
---author
-
-Display contact information for the
-author.
-
-
-
-
---color
-
-Enable colorful output. (This is the default for interactive terminals).
-
-
-
-
---generate-vscode-project-config
-
-Generate a .vscode directory with configurations for building and debugging
-in Visual Studio Code.
-
-
-
-
---nice=value
-
-This value adjusts the computer CPU priority requested by , and
-should be in the range of 0-20. 0 is highest priority (because it is the
-least nice), 20 is lowest priority.  defaults
-to 10.
-
-
-
-
---no-async
-
-Disables the asynchronous mode of updating.
-Instead the update will be performed in its entirety before the build starts.
-This option will slow down the overall process, but if you encounter IPC errors
-while running  try using this option, and submitting a
-https://bugs.kde.org/;>bug report.
-
-
-
-
---no-color
-
-Disable colorful output.
-
-
-
-
---pretend (or -p)
-
- will run through the update and build process, but instead of
-performing any actions to update or build, will instead output what the
-script would have done (e.g. what commands to run, general steps being taken,
-etc.).
-
-Simple read-only commands (such as reading file information) may
-still be run to make the output more relevant (such as correctly simulating
-whether source code would be checked out or updated).
-
-
-This option requires that some needed metadata is available,
-which is normally automatically downloaded, but downloads are disabled in
-pretend mode. If you've never run  (and therefore, don't have
-this metadata), you should run kdesrc-build
---metadata-only to download the required metadata
-first.
-
-
-
-
-
---quiet (or -q)
-
-Do not be as noisy with the output. With this switch only the basics are
-output.
-
-
-
-
---really-quiet
-
-Only output warnings and errors.
-
-
-
-
---verbose
-
-Be very descriptive about what is going on, and what  is doing.
-
-
-
-
---src-only (or -s)
-
-Only perform the source update.
-
-
-
-
---build-only
-
-Only perform the build process.
-
-
-
-
---install-only
-
-If this is the only command-line option, it tries to install all of the modules
-contained in log/latest/build-status. If command-line
-options are specified after --install-only, they are all
-assumed to be modules to install (even if they did not successfully build on
-the last run).
-
-
-
-
---metadata-only
-
-Only perform the metadata download process.  normally handles 
this
-automatically, but you might manually use this to allow the --pretend command line option to 
work.
-
-
-
-
---rebuild-failures
-
-Use this option to build only those modules which failed to build on a previous
- run. This is useful if a significant number of failures 
occurred mixed with

[sdk/kdesrc-build] doc: doc: kdesrc-build-logging - separate docbook

2024-01-05 Thread Andrew Shark
Git commit 93412946d1e2df4374d280350631da819e5f0caf by Andrew Shark.
Committed on 05/01/2024 at 20:00.
Pushed by ashark into branch 'master'.

doc: kdesrc-build-logging - separate docbook

M  +1-78   doc/features.docbook
M  +1-0doc/index.docbook
A  +78   -0doc/kdesrc-build-logging.docbook

https://invent.kde.org/sdk/kdesrc-build/-/commit/93412946d1e2df4374d280350631da819e5f0caf

diff --git a/doc/features.docbook b/doc/features.docbook
index 2a911dc3..723cb706 100644
--- a/doc/features.docbook
+++ b/doc/features.docbook
@@ -180,83 +180,6 @@ always point to the most recent log entry in the log 
directory.
 
 
 
-
-'s build logging
-
-
-Logging overview
-
-Logging is a  feature whereby the output from every command
-that  runs is saved to a file for examination later, if
-necessary. This is done because it is often necessary to have the output of
-these programs when there is a build failure, because there are so many
-reasons why a build can fail in the first place.
-
-
-Logging directory layout
-
-The logs are always stored under the log directory. The destination of
-the log directory is controlled by the log-dir
-option, which defaults to ${source-dir}/log (where
-${source-dir} is the value of the source-dir
-option. The in rest of this section, this value will be referred to as
-${log-dir}).
-
-Under ${log-dir}, is a set of directories, one for every
-time that  was run. Each directory is named with the date, and
-the run number. For instance, the second time that  is run on
-May 26, 2004, it would create a directory called 
2004-05-26-02,
-where the 2004-05-26 is for the date, and the -02 is the run number.
-
-For your convenience,  will also create a link to the
-logs for your latest run, called latest. So the logs for
-the most recent  run should always be under ${log-dir}/latest.
-
-
-Now, each directory for a  run will itself contain a set of
-directories, one for every  module that  tries to build. 
Also,
-a file called build-status will be contained in the 
directory,
-which will allow you to determine which modules built and which failed.
-
-
-If a module itself has a submodule (such as extragear/multimedia,
-playground/utils, or KDE/kdelibs), then there would actually be a matching
-layout in the log directory. For example, the logs for KDE/kdelibs after the
-last  run would be found in ${log-dir}/latest/KDE/kdelibs,
-and not under ${log-dir}/latest/kdelibs.
-
-
-In each module log directory, you will find a set of files for each
-operation that  performs. If  updates a module,
-you may see filenames such as git-checkout-update.log 
(for a
-module checkout or when updating a module
-that has already been checked out). If the configure
-command was run, then you would expect to see a 
configure.log
-in that directory.
-
-If an error occurred, you should be able to see an explanation of why in
-one of the files. To help you determine which file contains the error,
- will create a link from the file containing the error (such as
-build-1.log to a file called 
error.log).
-
-The upshot to all of this is that to see why a module failed to build
-after your last , the file you should look at first is
-${log-dir}/latest/module-name/error.log.
-
-
-If the file error.log is empty (especially 
after
-an installation), then perhaps there was no error. Some of the tools used by
-the  build system will sometimes mistakenly report an error when there was
-none.
-
-Also, some commands will evade 's output redirection and
-bypass the log file in certain circumstances (normally when performing the
-first  checkout), and the error output in that case is not in the log file
-but is instead at the  or terminal where you ran 
.
-
-
-
-
-
+
 
 
diff --git a/doc/index.docbook b/doc/index.docbook
index b7801670..78e55044 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -85,6 +85,7 @@
   
   
   
+  
 ]>
 
 
diff --git a/doc/kdesrc-build-logging.docbook b/doc/kdesrc-build-logging.docbook
new file mode 100644
index ..91f751ac
--- /dev/null
+++ b/doc/kdesrc-build-logging.docbook
@@ -0,0 +1,78 @@
+
+'s build logging
+
+
+Logging overview
+
+Logging is a  feature whereby the output from every command
+that  runs is saved to a file for examination later, if
+necessary. This is done because it is often necessary to have the output of
+these programs when there is a build failure, because there are so many
+reasons why a build can fail in the first place.
+
+
+Logging directory layout
+
+The logs are always stored under the log directory. The destination of
+the log directory is controlled by the log-dir
+option, which defaults to ${source-dir}/log (where
+${source-dir} is the value of the source-dir
+option. The in rest of this section, this value will be referred to as
+${log-dir}).
+
+Under ${log-dir}, is a set of directories, one for every
+time that  was run. Each directory is named with the date, and
+the run number. For instance, the second time that  is run on
+May 26, 2004, it would 

[sdk/kdesrc-build] doc: doc: kde-modules-and-selection - separate docbook

2024-01-05 Thread Andrew Shark
Git commit 19c4426fa7fdd6218cabbd2dfab0d0c848994fed by Andrew Shark.
Committed on 05/01/2024 at 20:00.
Pushed by ashark into branch 'master'.

doc: kde-modules-and-selection - separate docbook

M  +1-353  doc/getting-started.docbook
M  +1-0doc/index.docbook
C  +0-238  doc/kde-modules-and-selection.docbook [from: 
doc/getting-started.docbook - 059% similarity]

https://invent.kde.org/sdk/kdesrc-build/-/commit/19c4426fa7fdd6218cabbd2dfab0d0c848994fed

diff --git a/doc/getting-started.docbook b/doc/getting-started.docbook
index 53d0d1b8..98997abf 100644
--- a/doc/getting-started.docbook
+++ b/doc/getting-started.docbook
@@ -216,359 +216,7 @@ linkend="configure-data" /> and in .
 
 
 
-
-Module Organization and selection
-
-
-KDE Software Organization
-
-
- software is split into different components, many of which can be built
-by . Understanding this organization will help you properly
-select the software modules that you want built.
-
-
-
-At the lowest level comes the  library, which is a
-very powerful, cross-platform toolkit library.  is based on
-, and some of the non- libraries required by  are also based on
-.  can build , or use the one already installed on your
-system if it is a recent enough version.
-
-On top of  are required libraries that are necessary for
- software to work. Some of these libraries are not considered part of
- itself due to their generic nature, but are still essential to the 
-Platform. These libraries are collected under a kdesupport
-module grouping but are not considered part of the Frameworks
-libraries.
-
-
-On top of these essential libraries come the https://community.kde.org/Frameworks;> Frameworks, sometimes
-abbreviated as KF5, which are essential libraries for the  Plasma desktop,
- Applications, and other third-party software.
- 
-
-On top of the Frameworks, come several different things:
-
-Third-party applications. These are
-applications that use the  Frameworks or are designed to run under
- Plasma but are not authored by or in association with the 
-project.
-
-Plasma, which is a full workspace 
desktop
-environment. This is what users normally see when they log-in to
-.
-
-The  Application suite. This is a collection of
-useful software included with the Platform and  Desktop, 
grouped into
-individual modules, including utilities like , games like
-KSudoku, and productivity software released 
by 
-such as .
-
-Finally, there is a collection of software (also
-collected in modules) whose development is supported by  resources
-(such as translation, source control, bug tracking, ) but is not
-released by  as part of Plasma or the Application suite. These
-modules are known as Extragear.
-
-
-
-
-
-
-
-Selecting modules to build
-
-Selecting which of the possible modules to build is controlled by
-the configuration file.
-After the global section is a list of modules to build,
-bracketed by module ... end module lines. An example entry for a module is
-shown in .
-
-
-Example module entry in the configuration file
-
-module kdesrc-build-git
-# Options for this module go here, example:
-repository kde:kdesrc-build
-make-options -j4 # Run 4 compiles 
at a time
-end module
-
-
-
-In practice, this module construct is not usually used directly.  
Instead
-most modules are specified via module-sets as described below.
-
-When using only module entries,  builds 
them in the order
-you list, and does not attempt to download any other repositories other than 
what you specify
-directly.
-
-
-
-
-
-Module Sets
-
-The  source code is decomposed into a great number of relatively
-small Git-based repositories. To make it easier to manage the large number of
-repositories involved in any useful -based install,  
supports
-grouping multiple modules and treating the group as a module 
set.
-
-
-
-The basic module set concept
-
-By using a module set, you can quickly declare many Git modules to be
-downloaded and built, as if you'd typed out a separate module declaration for
-each one. The repository option is
-handled specially to setup where each module is downloaded from, and every
-other option contained in the module set is copied to every module generated
-in this fashion.
-
-
-Using module sets
-
-global
-git-repository-base 
kde-git kde:
-end global
-
-module qt
-# Options removed for brevity
-end module
-
-module-set kde-support-libs
-repository 
kde-git
-use-modules 
automoc attica 
akonadi
-end module-set
-
-# Other modules as necessary...
-module kdesupport
-end module
-
-
-
-In  a brief module set is
-shown.  When  encounters this module set, it acts as if, for
-every module given in use-modules, that an individual module
-has been declared, with its repository equal to the
-module-set's repository followed immediately by the given
-module name.
-
-In addition, other 

[sdk/kdesrc-build] doc: doc: other-features - separate docbook

2024-01-05 Thread Andrew Shark
Git commit 4c8ef70683eb7eaa5890cfa4e7206dc401b42e57 by Andrew Shark.
Committed on 05/01/2024 at 20:00.
Pushed by ashark into branch 'master'.

doc: other-features - separate docbook

M  +2-142  doc/index.docbook
A  +142  -0doc/other-features.docbook

https://invent.kde.org/sdk/kdesrc-build/-/commit/4c8ef70683eb7eaa5890cfa4e7206dc401b42e57

diff --git a/doc/index.docbook b/doc/index.docbook
index f8b1b1a7..7592879a 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -87,6 +87,7 @@
   
   
   
+  
 ]>
 
 
@@ -184,148 +185,7 @@ do with this tool.
 
 
 
-
-Other  features
-
-
-Changing the amount of output from 
- has several options to control the amount of output the
-script generates. In any case, errors will always be output.
-
-
-The --quiet option (short form is
--q) causes  to be mostly silent. Only important
-messages, warnings, or errors will be shown. When available, build progress
-information is still shown.
-
-The --really-quiet option (no short form)
-causes  to only display important warnings or errors while it is
-running.
-
-The --verbose option (short form is
--v) causes  to be very detailed in its
-output.
-
-The --debug option is for debugging purposes
-only, it causes  to act as if --verbose was
-turned on, causes commands to also output to the terminal, and will display
-debugging information for many functions.
-
-
-
-
-
-Color output
-When being run from  or a different terminal, 
-will normally display with colorized text.
-
-You can disable this by using the --no-color on the
-command line, or by setting the  option in the configuration file to
-false.
-
-
-
-Disabling color output in the configuration file:
-
-global
-  colorful-output false
-end global
-
-
-
-
-
-
-Removing unneeded directories after a build
-Are you short on disk space but still want to run a bleeding-edge
- checkout?   can help reduce your disk usage when building
- from .
-
-Be aware that building  does take a lot of space. There are
-several major space-using pieces when using :
-
-
-The actual source checkout can take up a fair amount of space.
-The default modules take up about 1.6 gigabytes of on-disk space. You can 
reduce
-this amount by making sure that you are only building as many modules as you
-actually want.  will not delete source code from disk even if you
-delete the entry from the configuration 
file, so make sure that you go and delete unused
-source checkouts from the source directory. Note that the source files are
-downloaded from the Internet, you should not delete them
-if you are actually using them, at least until you are done using
-.
-
-Also, if you already have a  installed by your distribution (and
-the odds are good that you do), you probably do not need to install the
-qt module. That will shave about 200 megabytes off of the on-disk source
-size.
-
-
-
- will create a separate build directory to build the source
-code in. Sometimes  will have to copy a source directory to
-create a fake build directory. When this happens, space-saving symlinks are
-used, so this should not be a hassle on disk space. The build directory will
-typically be much larger than the source directory for a module. For example,
-the build directory for kdebase is about 1050 megabytes, whereas kdebase's
-source is only around 550 megabytes.
-
-Luckily, the build directory is not required after a module has
-successfully been built and installed.  can automatically
-remove the build directory after installing a module, see the examples below
-for more information. Note that taking this step will make it impossible
-for  to perform the time-saving incremental builds.
-
-
-
-Finally, there is disk space required for the actual installation of
-, which does not run from the build directory. This typically takes less
-space than the build directory. It is harder to get exact figures however.
-
-
-
-How do you reduce the space requirements of ?  One way is to
-use the proper compiler flags, to optimize for space reduction instead of
-for speed. Another way, which can have a large effect, is to remove debugging
-information from your  build.
-
-
-
-You should be very sure you know what you are doing before deciding to remove
-debugging information. Running bleeding-edge software means you are running
-software which is potentially much more likely to crash than a stable release.
-If you are running software without debugging information, it can be very
-hard to create a good bug report to get your bug resolved, and you will likely
-have to re-enable debugging information for the affected application and
-rebuild to help a developer fix the crash. So, remove debugging information
-at your own risk!
-
-
-
-Removing the build directory after installation of a module. The source
-directory is still kept, and debugging is enabled:
-
-
-global
-  configure-flags  --enable-debug
-  remove-after-install builddir# Remove build directory after install
-end global
-
-
-Removing the build directory 

[sdk/kdesrc-build] doc: doc: supported-envvars - separate docbook

2024-01-05 Thread Andrew Shark
Git commit 9a361f06e316d11f3c01e5e9262615d677464863 by Andrew Shark.
Committed on 05/01/2024 at 20:00.
Pushed by ashark into branch 'master'.

doc: supported-envvars - separate docbook

M  +1-10   doc/cmdline.docbook
M  +1-0doc/index.docbook
A  +10   -0doc/supported-envvars.docbook

https://invent.kde.org/sdk/kdesrc-build/-/commit/9a361f06e316d11f3c01e5e9262615d677464863

diff --git a/doc/cmdline.docbook b/doc/cmdline.docbook
index 4273c346..a3380279 100644
--- a/doc/cmdline.docbook
+++ b/doc/cmdline.docbook
@@ -98,16 +98,7 @@ modules you want.
 
 
 
-
-Supported Environment Variables
-
-
- does not use environment variables. If you need to set 
environment
-variables for the build or install process, please see the set-env option.
-
-
-
+
 
 
 
diff --git a/doc/index.docbook b/doc/index.docbook
index 953c9979..7c9b7e16 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -90,6 +90,7 @@
   
   
   
+  
 ]>
 
 
diff --git a/doc/supported-envvars.docbook b/doc/supported-envvars.docbook
new file mode 100644
index ..772b325b
--- /dev/null
+++ b/doc/supported-envvars.docbook
@@ -0,0 +1,10 @@
+
+Supported Environment Variables
+
+
+ does not use environment variables. If you need to set 
environment
+variables for the build or install process, please see the set-env option.
+
+
+



[sdk/kdesrc-build] doc: doc: quick-start-conclusion - separate docbook

2024-01-05 Thread Andrew Shark
Git commit 24aafe7a055fd0afa487cc702fc0547bb63f9d6d by Andrew Shark.
Committed on 05/01/2024 at 20:00.
Pushed by ashark into branch 'master'.

doc: quick-start-conclusion - separate docbook

M  +1-17   doc/getting-started.docbook
M  +1-0doc/index.docbook
A  +17   -0doc/quick-start-conclusion.docbook

https://invent.kde.org/sdk/kdesrc-build/-/commit/24aafe7a055fd0afa487cc702fc0547bb63f9d6d

diff --git a/doc/getting-started.docbook b/doc/getting-started.docbook
index 98997abf..657d8b59 100644
--- a/doc/getting-started.docbook
+++ b/doc/getting-started.docbook
@@ -218,22 +218,6 @@ linkend="configure-data" /> and in .
 
 
 
-
-Getting Started Conclusion
-These are the major features and concepts needed to get started with
-
-
-For additional information, you could keep reading through this
-documentation. In particular, the list
-of command-line options and the table
-of configuration file options are useful references.
-
-The  Community also maintains https://community.kde.org/Guidelines_and_HOWTOs/Build_from_source;>an
-online Wiki reference for how to build the source code, which refers to
- and includes tips and other guidelines on how to use the
-tool.
-
-
+
 
 
diff --git a/doc/index.docbook b/doc/index.docbook
index 7592879a..98fca4d6 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -88,6 +88,7 @@
   
   
   
+  
 ]>
 
 
diff --git a/doc/quick-start-conclusion.docbook 
b/doc/quick-start-conclusion.docbook
new file mode 100644
index ..d4a42fce
--- /dev/null
+++ b/doc/quick-start-conclusion.docbook
@@ -0,0 +1,17 @@
+
+Getting Started Conclusion
+These are the major features and concepts needed to get started with
+
+
+For additional information, you could keep reading through this
+documentation. In particular, the list
+of command-line options and the table
+of configuration file options are useful references.
+
+The  Community also maintains https://community.kde.org/Guidelines_and_HOWTOs/Build_from_source;>an
+online Wiki reference for how to build the source code, which refers to
+ and includes tips and other guidelines on how to use the
+tool.
+
+



[sdk/kdesrc-build] doc: doc: kdesrc-buildrc - separate docbook

2024-01-05 Thread Andrew Shark
Git commit 7f814fbe007722d5c63c4b5ad011dbe85ba90765 by Andrew Shark.
Committed on 05/01/2024 at 20:00.
Pushed by ashark into branch 'master'.

doc: kdesrc-buildrc - separate docbook

M  +2-231  doc/index.docbook
A  +231  -0doc/kdesrc-buildrc.docbook

https://invent.kde.org/sdk/kdesrc-build/-/commit/7f814fbe007722d5c63c4b5ad011dbe85ba90765

diff --git a/doc/index.docbook b/doc/index.docbook
index 78e55044..f8b1b1a7 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -86,6 +86,7 @@
   
   
   
+  
 ]>
 
 
@@ -152,237 +153,7 @@ directly from the  project's source code 
repositories.
 
 
 
-
-Configuring 
-
-
-Overview of  configuration
-
-
-To use the script, you must have a file in your home directory called
-.kdesrc-buildrc, which describes the modules you would
-like to download and build, and any options or configuration parameters to
-use for these modules.
-
-
-
-Layout of the configuration file
-
-
-Global configuration
-
-
-The configuration file starts with the global options, specified like the
-following:
-
-
-
-global
-option-name option-value
-[...]
-end global
-
-
-
-
-Module configuration
-
-
-It is then followed by one or more module sections, specified in one of the
-following two forms:
-
-
-
-
-
-module module-name
-option-name option-value
-[...]
-end module
-
-
-
-
-
-module-set module-set-name
-  repository kde-projects or 
git://host.org/path/to/repo.git
-  use-modules module-names
-
-# Other options may also be set
-option-name option-value
-[...]
-end module-set
-
-
-
-
-Note that the second form, module sets, only works
-for Git-based modules.
-
-
-For Git modules, module-name must be a module
-from the   repository (for example, kdeartwork or
-kde-wallpapers).
-
-
-
-For Git modules, the module name can be essentially whatever you'd like, as
-long as it does not duplicate any other module name in the configuration. Keep
-in mind the source and build directory layout will be based on the module name
-if you do not use the dest-dir option.
-
-
-However, for Git module sets the
-module-names must correspond with actual git modules
-in the chosen repository. See git-repository-base or use-modules for more information.
-
-
-
-
-
-Processing of option values
-
-In general, the entire line contents after the
-option-name is used as the
-option-value.
-
-One modification that  performs is that a sequence
-${name-of-option} is replaced
-with the value of that option from the global configuration. This allows you
-to reference the value of existing options, including options already set by
-.
-
-
-To see an example of this in use, see
-.
-
-
-
-
-options modules
-
-There is a final type of configuration file entry,
-options groups, which may be given wherever a
-module or module-set may be used.
-
-
-options module-name
-option-name option-value
-[...]
-end options
-
-
-An options group may have options set for it just like
-a module declaration, and is associated with an existing module. Any options
-set these way will be used to override options set for the
-associated module.
-
-The associated module name must match the
-name given in the options declaration. Be careful of
-mis-typing the name.
-
-This is useful to allow for declaring an entire
-module-set worth of modules, all using the same options, and
-then using options groups to make individual changes.
-
-options groups can also apply to named module sets.
-This allows expert users to use a common configuration file (which includes
-module-set declarations) as a baseline, and then make 
changes
-to the options used by those module-sets in configuration files that
-use the include command to 
reference
-the base configuration.
-
-
-Example of using options
-
-In this example we choose to build all modules from the  multimedia
-software grouping. However we want to use a different version of the 
-application (perhaps for testing a bug fix). It works as follows:
-
-
-module-set kde-multimedia-set
-  repository kde-projects
-  use-modules kde/kdemultimedia
-  branch master
-end module-set
-
-# kmix is a part of kde/kdemultimedia group, even though we never named
-# kmix earlier in this file,  will figure out the change.
-options kmix
-  branch KDE/4.12
-end options
-
-
-Now when you run , all of the  multimedia programs 
will
-be built from the master branch of the source repository, but
- will be built from the older KDE/4.12 branch. By using
-options you didn't have to individually list all the
-other  multimedia programs to give them the right
-branch option.
-
-
-
-
-Note that this feature is only available in  from version
-1.16, or using the development version of  after
-2014-01-12.
-
-
-
-
-
-
-Including other configuration files
-
-
-Within the configuration file, you may reference other files by using the
-include keyword with a file, which will act as if the file
-referenced had been inserted into the configuration file at that point.
-
-
-For example, you could have something like this:
-
-global
-include 

[sdk/kdesrc-build] doc: doc: environment - separate docbook

2024-01-05 Thread Andrew Shark
Git commit 4e14ba8ba891a65db5f7c241b96d8f30129e5b46 by Andrew Shark.
Committed on 05/01/2024 at 19:59.
Pushed by ashark into branch 'master'.

doc: environment - separate docbook

A  +127  -0doc/environment.docbook
M  +2-127  doc/index.docbook

https://invent.kde.org/sdk/kdesrc-build/-/commit/4e14ba8ba891a65db5f7c241b96d8f30129e5b46

diff --git a/doc/environment.docbook b/doc/environment.docbook
new file mode 100644
index ..d5929b59
--- /dev/null
+++ b/doc/environment.docbook
@@ -0,0 +1,127 @@
+
+Setting the Environment to Run Your   Desktop
+
+
+Assuming you are using a dedicated user to build  , and you 
already have an
+installed  version, running your new  may be a bit tricky, as 
the new
+ has to take precedence over the old. You must change the environment
+variables of your login scripts to make sure the newly-built desktop is used.
+
+
+
+Automatically installing a login driver
+
+Starting from version 1.16,  will try to install an
+appropriate login driver, that will allow you to login to your
+-built  desktop from your login manager. This can be
+disabled by using the install-session-driver
+configuration file option.
+
+Session setup does not occur while  is running
+in pretend mode.
+
+This driver works by setting up a custom 
xsession
+session type. This type of session should work by default with the sddm login
+manager (where it appears as a Custom session), but other login
+managers (such as LightDM and
+gdm) may require additional files installed to
+enable xsession support.
+
+
+Adding xsession support for distributions
+
+The default login managers for some distributions may require additional
+packages to be installed in order to support xsession 
logins.
+
+
+The https://getfedora.org/;>Fedora
+ distribution requires the xorg-x11-xinit-session
+package to be installed for custom xsession login
+support.
+
+https://www.debian.org/;>Debian and
+Debian-derived  distributions should support custom
+xsession logins, but require the
+allow-user-xsession option to be set in
+/etc/X11/Xsession.options. See also the Debian https://www.debian.org/doc/manuals/debian-reference/ch07.en.html#_customizing_the_x_session_classic_method;>documentation
+on customizing the X session.
+
+For other distributions, go to .
+
+
+
+
+
+Manually adding support for xsession
+
+If there were no distribution-specific directions for your distribution
+in , you can manually add a
+Custom xsession login entry to your distribution's list of
+session types as follows:
+
+
+Adding an .xsession login session type.
+
+This procedure will likely require administrative privileges to
+complete.
+
+
+
+Create the file
+/usr/share/xsessions/kdesrc-build.desktop.
+
+
+
+Ensure the file just created has the following text:
+
+Type=XSession
+Exec=$HOME/.xsession
+Name=KDE Plasma Desktop (unstable; kdesrc-build)
+
+
+
+
+The $HOME entry must be replaced by the full path to
+your home directory (example, /home/user).  The
+desktop entry specification does not allow for user-generic files.
+
+
+
+
+
+When the login manager is restarted, it
+should show a new session type, KDE Plasma Desktop (unstable;
+kdesrc-build) in its list of sessions, which should try to run the
+.xsession file installed by  if it is
+selected when you login.
+
+It may be easiest to restart the computer to restart the login
+manager, if the login manager does not track updates to the /usr/share/xsessions directory.
+
+
+
+
+
+
+
+
+
+
+Setting up the environment manually
+This documentation used to include instruction on which environment
+variables to set in order to load up the newly-built desktop. These
+instructions have been moved to an appendix ().
+
+If you intend to setup your own login support you can consult that
+appendix or view the kde-env-master.sh.in file
+included with the  source.
+
+
+
+
diff --git a/doc/index.docbook b/doc/index.docbook
index 2e8306bb..e4f365d5 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -78,6 +78,7 @@
   
   
   
+  
 ]>
 
 
@@ -443,133 +444,7 @@ linkend="configure-data" /> and in .
 
 
 
-
-Setting the Environment to Run Your   Desktop
-
-
-Assuming you are using a dedicated user to build  , and you 
already have an
-installed  version, running your new  may be a bit tricky, as 
the new
- has to take precedence over the old. You must change the environment
-variables of your login scripts to make sure the newly-built desktop is used.
-
-
-
-Automatically installing a login driver
-
-Starting from version 1.16,  will try to install an
-appropriate login driver, that will allow you to login to your
--built  desktop from your login manager. This can be
-disabled by using the install-session-driver
-configuration file option.
-
-Session setup does not occur while  is running
-in pretend mode.
-
-This driver works by setting up a custom 
xsession
-session type. This type of session should work by default with the sddm login
-manager (where it appears as a Custom session), but other login
-managers 

[sdk/kdesrc-build] doc: doc: getting-started - separate docbook

2024-01-05 Thread Andrew Shark
Git commit 5cffc45604ee1d07cc545220a99ab5443513f196 by Andrew Shark.
Committed on 05/01/2024 at 19:59.
Pushed by ashark into branch 'master'.

doc: getting-started - separate docbook

C  +0-676  doc/getting-started.docbook [from: doc/index.docbook - 051% 
similarity]
M  +2-591  doc/index.docbook

https://invent.kde.org/sdk/kdesrc-build/-/commit/5cffc45604ee1d07cc545220a99ab5443513f196

diff --git a/doc/index.docbook b/doc/getting-started.docbook
similarity index 51%
copy from doc/index.docbook
copy to doc/getting-started.docbook
index 02ceb3ba..53d0d1b8 100644
--- a/doc/index.docbook
+++ b/doc/getting-started.docbook
@@ -1,234 +1,3 @@
-
-
-
-Copyright (c) 2005 Carlos Leonhard Woelz 
-Copyright (c) 2009 Burkhard Lück 
-Copyright (c) 2007, 2011 Federico Zenith 
-Copyright (c) 2009-2011 Yuri Chornoivan 
-... and possibly others. Check the git source repository for specifics.
-
-Permission is granted to copy, distribute and/or modify this document under
-the terms of the GNU Free Documentation License, Version 1.2 or any later
-version published by the Free Software Foundation; with no Invariant
-Sections, no Front-Cover Texts, and no Back-Cover Texts.
-
-A copy of the license is included in COPYING.DOC. The license will be
-included in the generated documentation as well.
-   -->
-  
-  
-  
-   
-  kdesrc-build">
-  BSD'>
-  Git'>
-  CMake'>
-  Make'>
-  Ninja'>
-  SSH'>
-  Cron'>
-  Sudo'>
-  URL'>
-
-  
-
-  configure-flags'>
-  install-dir'>
-  qtdir'>
-  build-dir'>
-  source-dir'>
-  colorful-output'>
-  tag'>
-  branch'>
-  do-not-compile'>
-  repository'>
-  make-install-prefix'>
-  niceness'>
-  set-env'>
-  libname'>
-  libpath'>
-  binpath'>
-
-  
-  --nice'>
-  --ignore-modules'>
-  --resume-from'>
-  --resume-after'>
-  --reconfigure'>
-  --refresh-build'>
-
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-  
-]>
-
-
-
-
- Script Manual
-
-
- 
-
-
CarlosWoelz
-carloswo...@imap-mail.com
-
-
-
-
-
-
-
-2006
-2007
-2008
-2009
-2010
-2011
-2012
-2013
-2014
-2015
-2016
-2017
-2018
-2019
-Michael Pyne
-
-
-
-2005
-Carlos Woelz
-
-
-
-
-2018-01-20
- 17.12
-
-
- is a script which builds and installs  software
-directly from the  project's source code repositories.
-
-
-
-KDE
-kdesdk
-git
-KDE development
-
-
-
-
-
-Introduction
-
-
-A brief introduction to 
-
-
-What is ?
-
-
- is a script to help the  community install https://www.kde.org/;> software from its https://git-scm.com/;> source repositories,
-and continue to update that software afterwards.
-It is particularly intended to support those who need to supporting testing and
-development of  software, including users testing bugfixes and developers
-working on new features.
-
-
-The  script can be configured to maintain a single 
individual
-module, a full  desktop with  application set, or somewhere in 
between.
-
-
-To get started, see , or continue 
reading for more
-detail on how  works and what is covered in this documentation.
-
-
-
-
- operation in a nutshell
-
- works by using the tools available to the user at the
-command-line, using the same interfaces available to the user. When
- is run, the following sequence is followed: 
-
-
- reads in the command
-line and configuration file, to
-determine what to build, compile options to use, where to install,
-
-
- performs a source update for each module. The update continues until all modules
-have been updated. Modules that fail to update normally do not stop the build
- you will be notified at the end which modules did not
-update.
-
-Modules that were successfully updated are built, have their
-test suite run, and are then installed.  To reduce the overall time spent,
- 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.
-
-
-
-A very good overview of how  modules are
-built, including informative diagrams, is provided on https://www.davidrevoy.com/article193/guide-building-krita-on-linux-for-
-cats">an online article discussing 's  application.  This
-workflow is what  automates for all  modules.
-
-
-
-
-
-
-Documentation Overview
-
-
-This guide is an overview to describe the following aspects of 
-operation:
-
-
-
-An overview of the steps
-required to get started.
-Notable features.
-The configuration file 
syntax
-and options.
-The command line 
options.
-
-
-Also documented are the steps which you should perform using
-other tools ( steps that are not automatically performed by 
).
-
-
-
-
-
 
 Getting Started
 
@@ -820,448 +589,3 @@ tool.
 
 
 
-
-
-
-
-Configuring 
-
-
-Overview of  configuration
-
-
-To use the script, you must have a file in your home directory called
-.kdesrc-buildrc, which describes the modules you would
-like to download and build, and any options or configuration parameters to
-use for these modules.
-
-
-
-Layout of the configuration file
-
-
-Global configuration
-
-

[sdk/kdesrc-build] doc: doc: using-kdesrc-build - separate docbook

2024-01-05 Thread Andrew Shark
Git commit 0d1b9be51cbdf2d841c95dadb1d31435b7eb0bc2 by Andrew Shark.
Committed on 05/01/2024 at 20:00.
Pushed by ashark into branch 'master'.

doc: using-kdesrc-build - separate docbook

M  +2-30   doc/index.docbook
A  +30   -0doc/using-kdesrc-build.docbook

https://invent.kde.org/sdk/kdesrc-build/-/commit/0d1b9be51cbdf2d841c95dadb1d31435b7eb0bc2

diff --git a/doc/index.docbook b/doc/index.docbook
index 7c9b7e16..cd6ecdb9 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -91,6 +91,7 @@
   
   
   
+  
 ]>
 
 
@@ -161,36 +162,7 @@ directly from the  project's source code 
repositories.
 
 
 
-
-Using 
-
-
-Preface
-
-Normally using  after you have gone through 
-is as easy as doing the following from a terminal prompt:
-
-
- 
kdesrc-build
-
-
- will then download the sources for , try to configure
-and build them, and then install them.
-
-Read on to discover how  does this, and what else you can
-do with this tool.
-
-
-
-
-
-
-
-
-
-
-
-
+
 
 
 
diff --git a/doc/using-kdesrc-build.docbook b/doc/using-kdesrc-build.docbook
new file mode 100644
index ..5c3fabd2
--- /dev/null
+++ b/doc/using-kdesrc-build.docbook
@@ -0,0 +1,30 @@
+
+Using 
+
+
+Preface
+
+Normally using  after you have gone through 
+is as easy as doing the following from a terminal prompt:
+
+
+ 
kdesrc-build
+
+
+ will then download the sources for , try to configure
+and build them, and then install them.
+
+Read on to discover how  does this, and what else you can
+do with this tool.
+
+
+
+
+
+
+
+
+
+
+
+



[sdk/kdesrc-build] doc: doc: conf-options-table - separate docbook

2024-01-05 Thread Andrew Shark
Git commit cce1c6a1d1d4332e84a6e2c681893e274f203a0d by Andrew Shark.
Committed on 05/01/2024 at 19:58.
Pushed by ashark into branch 'master'.

doc: conf-options-table - separate docbook

A  +1363 -0doc/conf-options-table.docbook [INFRASTRUCTURE]
M  +2-1363 doc/index.docbook

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

diff --git a/doc/conf-options-table.docbook b/doc/conf-options-table.docbook
new file mode 100644
index ..8c1a32e9
--- /dev/null
+++ b/doc/conf-options-table.docbook
@@ -0,0 +1,1363 @@
+
+Table of available configuration options
+
+Here is a table of the various options, containing the following
+information:
+
+
+
+The option name
+
+A description of how  responds if the option is
+set in both the global section, and the module section of the configuration file while building a
+module.
+
+Special comments on the purpose and usage of the
+option.
+
+
+
+
+Global scope only options
+
+
+
+
+Option name
+Description
+
+
+
+
+
+async
+
+
+TypeBoolean
+Default valueTrue
+Available since1.6
+
+This option enables the asynchronous mode of operation, where the source
+code update and the build process will be performed in parallel, instead of 
waiting for
+all of the source code updates before starting the build 
process.
+
+
+
+colorful-output
+
+TypeBoolean
+Default valueTrue
+Set this option to false to disable 
the colorful output of .
+Note that  will not output the
+color codes to anything but a terminal (such as xterm, , or the normal
+ console).
+
+
+
+
+disable-agent-check
+
+
+TypeBoolean
+Default valueFalse
+
+If you are using  to download the  sources
+(such as if you are using the git+ssh protocol), this option controls if 
 will try and
+make sure that if you are using ssh-agent, it is actually managing some 
+identities. This is to try and prevent  from asking for your pass phrase
+for every module.
+
+
+
+
+git-desired-protocol
+
+
+TypeString
+Default valuegit
+History informationThis option was added in 
 1.16. Prior to 20.06 this option
+was used to configure the fetch URL instead of the push URL. As of 20.06
+https is always used when updating KDE projects.
+
+This option only applies to modules from a  project repository.
+
+What this option actually does is configure which network protocol to
+prefer when pushing source code for these modules. Normally the very-efficient
+git protocol is used, but this may be blocked in some
+networks (e.g. corporate intranets, public Wi-Fi). An alternative protocol
+which is much better supported is the https protocol used 
for
+Internet web sites.
+
+If you are using one of these constrained networks you can set this
+option to http to prefer https
+communications instead.
+
+You may also need the http-proxy option if an HTTP proxy is also
+needed for network traffic.
+
+In any other situation you should not set this option as the default
+protocol is most efficient.
+
+
+
+
+
+install-environment-driver
+
+
+TypeBoolean
+Default valueTrue
+Available since17.08
+
+Install a shell script that can be
+sourced in a user's profile setup scripts to easily establish needed 
environment
+variables to run the Plasma desktop built by .
+
+This driver will alter the following files:
+
+
+$XDG_CONFIG_HOME/kde-env-master.sh 
(normally found at 
~/.config/kde-env-master.sh).
+$XDG_CONFIG_HOME/kde-env-user.sh 
(normally found at 
~/.config/kde-env-user.sh).
+
+
+The kde-env-user.sh is optional.  It is
+intended for user customizations (see the https://userbase.kde.org/KDE_System_Administration/Environment_Variables#Troubleshooting_and_Debugging;>Troubleshooting
 and Debugging
+section of the  UserBase for examples of customizable settings), but 
these settings
+can be set elsewhere by the user in their existing profile setup 
scripts.
+
+You can disable this feature by setting this option to
+false, and ensuring that the install-session-driver option is
+also disabled.
+
+ will not overwrite your existing files (if present)
+unless you also pass the --delete-my-settings
+command-line option.
+
+
+
+
+install-session-driver
+
+
+TypeBoolean
+Default valueTrue
+Available since1.16
+
+If enabled,  will try to install a driver for the graphical
+login manager that allows you to login to your -built  
desktop.
+
+This driver will alter the following files:
+
+
+~/.xsession
+$XDG_CONFIG_HOME/kde-env-master.sh 
(normally found at 
~/.config/kde-env-master.sh).
+$XDG_CONFIG_HOME/kde-env-user.sh 
(normally found at 
~/.config/kde-env-user.sh).
+
+
+If you maintain your own login driver then you can disable this feature 
by setting this
+option to false.  If enabled, this feature also 
enables the
+install-environment-driver 
feature.
+
+ will not overwrite your existing files (if present)
+unless you also pass the --delete-my-settings
+command-line option.
+
+
+
+
+niceness
+
+
+TypeInteger
+Default value10
+
+Set this option to a number between 20 and 0. The higher the number, the
+lower a priority  

[sdk/kdesrc-build] doc: doc: kde-cmake - separate docbook

2024-01-05 Thread Andrew Shark
Git commit 3e5fffc88db32f4fe3d0fb7f2f9e364f03ab0d91 by Andrew Shark.
Committed on 05/01/2024 at 19:59.
Pushed by ashark into branch 'master'.

doc: kde-cmake - separate docbook

M  +2-29   doc/index.docbook
A  +29   -0doc/kde-cmake.docbook

https://invent.kde.org/sdk/kdesrc-build/-/commit/3e5fffc88db32f4fe3d0fb7f2f9e364f03ab0d91

diff --git a/doc/index.docbook b/doc/index.docbook
index 39d821d5..d17b5b80 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -83,6 +83,7 @@
   
   
   
+  
 ]>
 
 
@@ -555,35 +556,7 @@ end global
 
 
 
-
-, the  build system
-
-
-Introduction to 
-
-In March 2006, the  program
-beat out several competitors and was selected to be the build system for  
4, replacing the
-autotools-based system that  had used from the beginning.
-
-A introduction to  page is available on the https://community.kde.org/Guidelines_HOWTOs/CMake;> Community 
Wiki.
-Basically, instead of running make 
-f
-Makefile.cvs, then 
configure,
-then , we simply run  and then .
-
-
- has support for . A few features of 
-were really features of the underlying buildsystem, including
-configure-flags
-and do-not-compile. When equivalent
-features are available, they are provided. For instance, the equivalent to the
-configure-flags option is cmake-options, and the
-do-not-compile option is also 
supported for 
-as of  version 1.6.3.
-
-
-
-
+
 
 
 
diff --git a/doc/kde-cmake.docbook b/doc/kde-cmake.docbook
new file mode 100644
index ..9c818591
--- /dev/null
+++ b/doc/kde-cmake.docbook
@@ -0,0 +1,29 @@
+
+, the  build system
+
+
+Introduction to 
+
+In March 2006, the  program
+beat out several competitors and was selected to be the build system for  
4, replacing the
+autotools-based system that  had used from the beginning.
+
+A introduction to  page is available on the https://community.kde.org/Guidelines_HOWTOs/CMake;> Community 
Wiki.
+Basically, instead of running make 
-f
+Makefile.cvs, then 
configure,
+then , we simply run  and then .
+
+
+ has support for . A few features of 
+were really features of the underlying buildsystem, including
+configure-flags
+and do-not-compile. When equivalent
+features are available, they are provided. For instance, the equivalent to the
+configure-flags option is cmake-options, and the
+do-not-compile option is also 
supported for 
+as of  version 1.6.3.
+
+
+
+



[sdk/kdesrc-build] doc: doc: features - separate docbook

2024-01-05 Thread Andrew Shark
Git commit 17357b81a15786f0066759f9433819912678f87b by Andrew Shark.
Committed on 05/01/2024 at 19:59.
Pushed by ashark into branch 'master'.

doc: features - separate docbook

A  +262  -0doc/features.docbook
M  +2-262  doc/index.docbook

https://invent.kde.org/sdk/kdesrc-build/-/commit/17357b81a15786f0066759f9433819912678f87b

diff --git a/doc/features.docbook b/doc/features.docbook
new file mode 100644
index ..2a911dc3
--- /dev/null
+++ b/doc/features.docbook
@@ -0,0 +1,262 @@
+
+Script Features
+
+
+Feature Overview
+
+
+ features include:
+
+
+
+
+
+You can pretend to do the operations. If you pass
+--pretend or -p on the
+command line, the script will give a verbose description of the commands
+it is about to execute, without actually executing it. However if you've never
+run , you would want to run the kdesrc-build
+--metadata-only
+command first in order for --pretend to work.
+
+For an even more verbose description of what  is
+doing, try using the --debug option.
+
+
+
+
+
+ allows you to checkout modules quickly. If the module you are 
checking out
+has already been checked out previously, then  will download 
only commits
+that are not yet on your computer.
+
+
+There is generally no need for any special preparation to perform
+the initial checkout of a Git module, as the entire Git repository must be
+downloaded anyways, so it is easy for the server to determine what to
+send.
+
+This is faster for you, and helps to ease the load on the kde.org
+anonymous  servers.
+
+
+
+Another speedup is provided by starting the build process for a module as soon
+as the source code for that module has been downloaded.  (Available since
+version 1.6)
+
+
+
+Excellent support for building the  library (in case the  software you
+are trying to build depends on a recent  not available in your
+distribution).
+
+
+
+ does not require a GUI present to operate. 
So,
+you can build  software without needing a graphical environment.
+
+
+
+Supports setting default options for all modules (such as the compilation
+settings or the configuration options). Such options can normally be changed
+for specific modules as well.
+
+Also,  will add
+standard flags as appropriate to save you the trouble and possible
+errors from typing them yourself. Nota Bene: this does not apply when a 
(custom)
+toolchain is configured through e.g.:
+cmake-toolchain
+
+
+
+ can checkout a specific branch
+or tag of a module. You can also ensure that a specific revision is checked out of a module.
+
+
+
+ can automatically switch a source directory to checkout from
+a different repository, branch, or tag. This happens automatically when you
+change an option that changes what the repository  should be, but you must
+use the --src-only option to let
+ know that it is acceptable to perform the switch.
+
+
+
+ can checkout only portions of a
+module, for those situations where you only need one program from a
+large module.
+
+
+
+For developers:  will remind
+you if you use git+ssh:// but ssh-agent is
+not running, as this will lead to repeated password requests from
+.
+
+
+
+Can delete the build directory of a
+module after its installation to save space at the expense of future 
compilation
+time.
+
+
+
+The locations for the directories used by  are configurable (even
+per module).
+
+
+
+Can use , or a different user-specified command
+to install modules so that
+ does not need to be run as the super user.
+
+
+
+ runs with reduced priority
+by default to allow you to still use your computer while  is
+working.
+
+
+
+Has support for using 's tags and
+branches.
+
+
+
+There is support for resuming a build from a
+given module. You can even ignore some
+modules temporarily for a given build.
+
+
+
+ will show the progress of your
+build when using , and will always time the build
+process so you know after the fact how long it took.
+
+
+
+Comes built-in with a sane set of default options appropriate for building
+a base  single-user installation from the anonymous source repositories.
+
+
+
+Tilde-expansion for your configuration options. For example, you can
+specify:
+qtdir ~/kdesrc/build/qt
+
+
+
+Automatically sets up a build system, with the source directory not the
+same as the build directory, in order to keep the source directory
+pristine.
+
+
+
+You can specify global options to apply to every module to check out, and
+you can specify options to apply to individual modules as well.
+
+
+
+Forced full rebuilds, by running
+ with the --refresh-build option.
+
+
+
+You can specify various environment values to be used during the build,
+including QTDIR, DO_NOT_COMPILE,
+and CXXFLAGS.
+
+
+
+Command logging. Logs are dated and numbered so that you always have a
+log of a script run. Also, a special symlink called latest is created to
+always point to the most recent log entry in the log directory.
+
+
+
+
+
+
+
+'s build logging
+
+
+Logging overview
+
+Logging is a  feature whereby the output from every command

[sdk/kdesrc-build] doc: doc: introduction - separate docbook

2024-01-05 Thread Andrew Shark
Git commit 894df557e1279b21d7f5249f12c76d33885bf4ad by Andrew Shark.
Committed on 05/01/2024 at 19:59.
Pushed by ashark into branch 'master'.

doc: introduction - separate docbook

M  +2-67   doc/index.docbook
A  +67   -0doc/introduction.docbook

https://invent.kde.org/sdk/kdesrc-build/-/commit/894df557e1279b21d7f5249f12c76d33885bf4ad

diff --git a/doc/index.docbook b/doc/index.docbook
index 3038d2d2..39d821d5 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -82,6 +82,7 @@
   
   
   
+  
 ]>
 
 
@@ -142,73 +143,7 @@ directly from the  project's source code 
repositories.
 
 
 
-
-Introduction
-
-
-A brief introduction to 
-
-
-What is ?
-
-
- is a script to help the  community install https://www.kde.org/;> software from its https://git-scm.com/;> source repositories,
-and continue to update that software afterwards.
-It is particularly intended to support those who need to supporting testing and
-development of  software, including users testing bugfixes and developers
-working on new features.
-
-
-The  script can be configured to maintain a single 
individual
-module, a full  desktop with  application set, or somewhere in 
between.
-
-
-To get started, see , or continue 
reading for more
-detail on how  works and what is covered in this documentation.
-
-
-
-
- operation in a nutshell
-
- works by using the tools available to the user at the
-command-line, using the same interfaces available to the user. When
- is run, the following sequence is followed: 
-
-
- reads in the command
-line and configuration file, to
-determine what to build, compile options to use, where to install,
-
-
- performs a source update for each module. The update continues until all modules
-have been updated. Modules that fail to update normally do not stop the build
- you will be notified at the end which modules did not
-update.
-
-Modules that were successfully updated are built, have their
-test suite run, and are then installed.  To reduce the overall time spent,
- 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.
-
-
-
-A very good overview of how  modules are
-built, including informative diagrams, is provided on https://www.davidrevoy.com/article193/guide-building-krita-on-linux-for-
-cats">an online article discussing 's  application.  This
-workflow is what  automates for all  modules.
-
-
-
-
-
-
-
+
 
 
 
diff --git a/doc/introduction.docbook b/doc/introduction.docbook
new file mode 100644
index ..e6ca3256
--- /dev/null
+++ b/doc/introduction.docbook
@@ -0,0 +1,67 @@
+
+Introduction
+
+
+A brief introduction to 
+
+
+What is ?
+
+
+ is a script to help the  community install https://www.kde.org/;> software from its https://git-scm.com/;> source repositories,
+and continue to update that software afterwards.
+It is particularly intended to support those who need to supporting testing and
+development of  software, including users testing bugfixes and developers
+working on new features.
+
+
+The  script can be configured to maintain a single 
individual
+module, a full  desktop with  application set, or somewhere in 
between.
+
+
+To get started, see , or continue 
reading for more
+detail on how  works and what is covered in this documentation.
+
+
+
+
+ operation in a nutshell
+
+ works by using the tools available to the user at the
+command-line, using the same interfaces available to the user. When
+ is run, the following sequence is followed: 
+
+
+ reads in the command
+line and configuration file, to
+determine what to build, compile options to use, where to install,
+
+
+ performs a source update for each module. The update continues until all modules
+have been updated. Modules that fail to update normally do not stop the build
+ you will be notified at the end which modules did not
+update.
+
+Modules that were successfully updated are built, have their
+test suite run, and are then installed.  To reduce the overall time spent,
+ 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.
+
+
+
+A very good overview of how  modules are
+built, including informative diagrams, is provided on https://www.davidrevoy.com/article193/guide-building-krita-on-linux-for-
+cats">an online article discussing 's  application.  This
+workflow is what  automates for all  modules.
+
+
+
+
+
+
+



[sdk/kdesrc-build] doc: doc: cmdline - separate docbook

2024-01-05 Thread Andrew Shark
Git commit 6496ae8eabf61c86d586f11a0c4000bf9fb9076b by Andrew Shark.
Committed on 05/01/2024 at 19:58.
Pushed by ashark into branch 'master'.

doc: cmdline - separate docbook

A  +837  -0doc/cmdline.docbook
M  +2-837  doc/index.docbook

https://invent.kde.org/sdk/kdesrc-build/-/commit/6496ae8eabf61c86d586f11a0c4000bf9fb9076b

diff --git a/doc/cmdline.docbook b/doc/cmdline.docbook
new file mode 100644
index ..ecec619f
--- /dev/null
+++ b/doc/cmdline.docbook
@@ -0,0 +1,837 @@
+
+Command Line Options and Environment Variables
+
+
+Command Line Usage
+
+ is designed to be run as follows:
+
+
+kdesrc-build
+--options
+modules to build
+
+
+If no modules to build are specified on the command line, then
+kdesrc-build will build all modules defined in its configuration file, in the
+order listed in that file (although this can be modified by various
+configuration file options).
+
+
+Commonly used command line options
+
+The full list of command line options is given in . The most-commonly used options
+include:
+
+
+  
+--pretend (or -p)
+This option causes  to indicate what actions
+it would take, without actually really implementing them. This can be
+useful to make sure that the modules you think you are building will
+actually get built.
+  
+
+  
+--refresh-build
+This option forces  to build the given
+modules from an absolutely fresh start point. Any existing build directory
+for that module is removed and it is rebuilt. This option is useful if you
+have errors building a module, and sometimes is required when  or 
+libraries change.
+  
+
+  
+--no-src
+This option skips the source update process. You might use
+it if you have very recently updated the source code (perhaps you did it
+manually or recently ran ) but still want to rebuild some
+modules.
+  
+
+  
+--no-build
+This option is similar to --no-src above,
+but this time the build process is skipped.
+  
+
+
+
+
+
+Specifying modules to build
+
+In general, specifying modules to build is as simple as passing their
+module name as you defined it in the configuration file. You can also pass
+modules that are part of a module set, either as named on use-modules, or the name of the entire module
+set itself, if you have given it a name.
+
+In the specific case of module sets based against the KDE project database, 
+will expand module name components to determine the exact module you
+want. For example, 's KDE project entry locates the project in
+extragear/utils/kdesrc-build. You could specify any
+of the following to build :
+
+
+
+ kdesrc-build 
+extragear/utils/kdesrc-build
+ kdesrc-build 
+utils/kdesrc-build
+ kdesrc-build 
+kdesrc-build
+
+
+
+The commands in the previous example preceded the module-name with
+a +. This forces the module name to be interpreted as a module
+from the KDE project database, even if that module hasn't been defined in your
+configuration file.
+
+
+Be careful about specifying very generic projects (e.g.
+extragear/utils by itself), as this can lead to a large
+amount of modules being built. You should use the --pretend
+option before building a new module set to ensure it is only building the
+modules you want.
+
+
+
+
+
+Supported Environment Variables
+
+
+ does not use environment variables. If you need to set 
environment
+variables for the build or install process, please see the set-env option.
+
+
+
+
+
+Supported command-line parameters
+
+
+The script accepts the following command-line options:
+
+
+
+
+
+--async
+
+Enables the asynchronous mode, which can
+perform the source code updates and module builds at the same time.  This is
+the default, this option only needs specified if you have disabled it in the
+configuration.
+
+
+
+
+--help (or -h)
+
+Only display simple help on this script.
+
+
+
+
+--version (or -v)
+
+Display the program version.
+
+
+
+
+--show-info
+
+Displays information about  and the operating system, that may
+prove useful in bug reports or when asking for help in forums or mailing lists.
+
+Available since version 18.11.
+
+
+
+
+--initial-setup
+
+Has  perform the one-time initial setup necessary to prepare
+the system for  to operate, and for the newly-installed 
+software to run.
+
+This includes:
+
+Installing known dependencies (on supported  
distributions)
+Adding required environment variables to 
~/.bashrc
+Setting up a configuration 
file
+
+This option is exactly equivalent to using
+--install-distro-packages
+--generate-config
+--update-shellrc at the same 
time.
+
+
+
+
+
+--install-distro-packages
+
+Installs distro packages (on supported  distributions) necessary to 
prepare the system for  to operate, and for the newly-installed 

+software to run.
+
+See also --initial-setup
+
+
+
+
+--generate-config
+
+Generate the  configuration file.
+
+See also --initial-setup
+
+
+
+
+--update-shellrc
+
+Edit the "~/.bashrc" (or other shell rc file) to add  to your 
$PATH 

[sdk/kdesrc-build] doc: doc: intro-toc - separate docbook

2024-01-05 Thread Andrew Shark
Git commit fae18088f19548e12d9aef2c24321bb8f6bc9c5f by Andrew Shark.
Committed on 05/01/2024 at 19:59.
Pushed by ashark into branch 'master'.

doc: intro-toc - separate docbook

M  +2-22   doc/index.docbook
A  +22   -0doc/intro-toc.docbook

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

diff --git a/doc/index.docbook b/doc/index.docbook
index d506542a..3038d2d2 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -81,6 +81,7 @@
   
   
   
+  
 ]>
 
 
@@ -206,28 +207,7 @@ workflow is what  automates for all  
modules.
 
 
 
-
-Documentation Overview
-
-
-This guide is an overview to describe the following aspects of 
-operation:
-
-
-
-An overview of the steps
-required to get started.
-Notable features.
-The configuration file 
syntax
-and options.
-The command line 
options.
-
-
-Also documented are the steps which you should perform using
-other tools ( steps that are not automatically performed by 
).
-
-
-
+
 
 
 
diff --git a/doc/intro-toc.docbook b/doc/intro-toc.docbook
new file mode 100644
index ..00b36bf6
--- /dev/null
+++ b/doc/intro-toc.docbook
@@ -0,0 +1,22 @@
+
+Documentation Overview
+
+
+This guide is an overview to describe the following aspects of 
+operation:
+
+
+
+An overview of the steps
+required to get started.
+Notable features.
+The configuration file 
syntax
+and options.
+The command line 
options.
+
+
+Also documented are the steps which you should perform using
+other tools ( steps that are not automatically performed by 
).
+
+
+



[sdk/kdesrc-build] doc: doc: configure-data - separate docbook

2024-01-05 Thread Andrew Shark
Git commit bdd65e23ec996e9b2d286d556de32890e70833e6 by Andrew Shark.
Committed on 05/01/2024 at 19:58.
Pushed by ashark into branch 'master'.

doc: configure-data - separate docbook

A  +110  -0doc/configure-data.docbook
M  +2-110  doc/index.docbook

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

diff --git a/doc/configure-data.docbook b/doc/configure-data.docbook
new file mode 100644
index ..a4019619
--- /dev/null
+++ b/doc/configure-data.docbook
@@ -0,0 +1,110 @@
+
+Setting the Configuration Data
+
+
+To use , you should have a file in your 
~/.config
+(or in $XDG_CONFIG_HOME, if set) directory called
+kdesrc-buildrc, which sets the general options and
+specifies the modules you would like to download and build.
+
+
+
+It is possible to use different configuration files for , which 
is
+described in . If you need to use multiple
+configurations, please see that section. Here, we will assume that the
+configuration is stored in ~/.config/kdesrc-buildrc.
+
+
+
+The easiest way to proceed is to use the
+kdesrc-buildrc-kf5-sample file as a template, changing 
global
+options to match your wants, and also change the list of modules you want to
+build.
+
+
+
+The default settings should be appropriate to perform a
+ build. Some settings that you may wish to alter include:
+
+
+
+install-dir, which 
changes the
+destination directory that your  software is installed to. This defaults 
to
+~/kde/usr, which is a single-user
+installation.
+
+branch-group, which 
can
+be
+used to choose the appropriate branch of development for the  modules as a
+whole. There are many supported build configurations but you will likely want 
to
+choose kf5-qt5 so that  downloads the latest 
code
+based on  5 and  Frameworks 5.
+
+ will use a default branch group if you do not choose
+one, but this default will change over time, so it's better to choose one so
+that the branch group does not change unexpectedly.
+
+
+source-dir, to control 
the directory
+ uses for downloading the source code, running the build 
process, and saving
+logs.
+This defaults to ~/kde/src.
+
+cmake-options, which
+sets the options to pass to the  command when building each module.
+Typically this is used to set between debug or
+release builds, to enable (or disable) optional features, or to
+pass information to the build process about the location of required libraries.
+
+
+make-options, which
+sets the options used when actually running the make
+command to build each module (once  has established the build system).
+
+
+The most typical option is 
-jN,
+where N should be replaced with the maximum number 
of
+compile jobs you wish to allow.  A higher number (up to the number of logical 
CPUs
+your system has available) leads to quicker builds, but requires more system 
resources.
+
+
+ sets the option num-cores to
+the detected number of available processing cores. You can use this value
+in your own configuration file to avoid having to set it manually.
+
+
+
+Configuring Make to use all available CPUs, with exceptions
+
+global
+# This environment variable is automatically used by make, including
+# make commands not run by kdesrc-build directly, such as Qt's configure
+set-env MAKEFLAGS -j${num-cores}
+
+end global
+
+
+
+module-set big-module-set
+repository kde-projects
+use-modules calligra
+make-options -j2 # Reduced number of build jobs for just these modules
+end module-set
+
+
+
+Some very large Git repositories may swamp your system if you try 
to
+compile with a too many build jobs at one time, especially repositories like 
the
+ WebKit and  WebEngine repositories.  To maintain system interactivity
+you may have to reduce the number of build jobs for specific modules.
+ gives an example of how to do
+this.
+
+
+
+
+
+You may want to select different modules to build,
+which is described in .
+
+
diff --git a/doc/index.docbook b/doc/index.docbook
index 2df7f7b9..12020c0d 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -75,6 +75,7 @@
   
   
   
+  
 ]>
 
 
@@ -434,116 +435,7 @@ linkend="configure-data" /> and in .
 
 
 
-
-Setting the Configuration Data
-
-
-To use , you should have a file in your 
~/.config
-(or in $XDG_CONFIG_HOME, if set) directory called
-kdesrc-buildrc, which sets the general options and
-specifies the modules you would like to download and build.
-
-
-
-It is possible to use different configuration files for , which 
is
-described in . If you need to use multiple
-configurations, please see that section. Here, we will assume that the
-configuration is stored in ~/.config/kdesrc-buildrc.
-
-
-
-The easiest way to proceed is to use the
-kdesrc-buildrc-kf5-sample file as a template, changing 
global
-options to match your wants, and also change the list of modules you want to
-build.
-
-
-
-The default settings should be appropriate to perform a
- build. Some settings that you may wish to alter include:
-
-
-
-install-dir, 

[sdk/kdesrc-build] doc: doc: developer-features - separate docbook

2024-01-05 Thread Andrew Shark
Git commit edc4c2b17ec35a321a6460189a01e6ed869c64e6 by Andrew Shark.
Committed on 05/01/2024 at 19:59.
Pushed by ashark into branch 'master'.

doc: developer-features - separate docbook

A  +33   -0doc/developer-features.docbook
M  +2-33   doc/index.docbook

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

diff --git a/doc/developer-features.docbook b/doc/developer-features.docbook
new file mode 100644
index ..1a5dc69a
--- /dev/null
+++ b/doc/developer-features.docbook
@@ -0,0 +1,33 @@
+
+Features for  developers
+
+
+ Agent checks
+ can ensure that  developers that use  to
+access the  source repository do not accidentally forget to leave the
+ Agent tool enabled. This can cause  to hang indefinitely
+waiting for the developer to type in their  password,
+so by default  will check if the Agent is running before
+performing source updates.
+
+
+This is only done for  developers using .
+
+
+You may wish to disable the  Agent check, in case of situations 
where
+ is mis-detecting the presence of an agent. To disable the
+agent check, set the disable-agent-check option to
+true.
+
+
+Disabling the  agent check:
+
+global
+  disable-agent-check true
+end global
+
+
+
+
+
+
diff --git a/doc/index.docbook b/doc/index.docbook
index 4e6f9d31..2e8306bb 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -77,6 +77,7 @@
   
   
   
+  
 ]>
 
 
@@ -1466,39 +1467,7 @@ do with this tool.
 
 
 
-
-Features for  developers
-
-
- Agent checks
- can ensure that  developers that use  to
-access the  source repository do not accidentally forget to leave the
- Agent tool enabled. This can cause  to hang indefinitely
-waiting for the developer to type in their  password,
-so by default  will check if the Agent is running before
-performing source updates.
-
-
-This is only done for  developers using .
-
-
-You may wish to disable the  Agent check, in case of situations 
where
- is mis-detecting the presence of an agent. To disable the
-agent check, set the disable-agent-check option to
-true.
-
-
-Disabling the  agent check:
-
-global
-  disable-agent-check true
-end global
-
-
-
-
-
-
+
 
 
 Other  features



[sdk/kdesrc-build] doc: doc: credits-and-license - separate docbook

2024-01-05 Thread Andrew Shark
Git commit 5aafd47afe7290dbac48570dfcacc716823b53f3 by Andrew Shark.
Committed on 05/01/2024 at 19:59.
Pushed by ashark into branch 'master'.

doc: credits-and-license - separate docbook

A  +7-0doc/credits-and-license.docbook
M  +2-7doc/index.docbook

https://invent.kde.org/sdk/kdesrc-build/-/commit/5aafd47afe7290dbac48570dfcacc716823b53f3

diff --git a/doc/credits-and-license.docbook b/doc/credits-and-license.docbook
new file mode 100644
index ..c1cde3c6
--- /dev/null
+++ b/doc/credits-and-license.docbook
@@ -0,0 +1,7 @@
+
+Credits And License
+
+
+
+
+
diff --git a/doc/index.docbook b/doc/index.docbook
index 12020c0d..4e6f9d31 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -76,6 +76,7 @@
   
   
   
+  
 ]>
 
 
@@ -1674,13 +1675,7 @@ as of  version 1.6.3.
 
 
 
-
-Credits And License
-
-
-
-
-
+
 
 
 



[sdk/kdesrc-build] doc: doc: building-and-troubleshooting - separate docbook

2024-01-05 Thread Andrew Shark
Git commit 018dba9a0efa4a8ed0db24f8276a805f03c843f3 by Andrew Shark.
Committed on 05/01/2024 at 19:57.
Pushed by ashark into branch 'master'.

doc: building-and-troubleshooting - separate docbook

A  +139  -0doc/building-and-troubleshooting.docbook
M  +2-139  doc/index.docbook

https://invent.kde.org/sdk/kdesrc-build/-/commit/018dba9a0efa4a8ed0db24f8276a805f03c843f3

diff --git a/doc/building-and-troubleshooting.docbook 
b/doc/building-and-troubleshooting.docbook
new file mode 100644
index ..b9d478eb
--- /dev/null
+++ b/doc/building-and-troubleshooting.docbook
@@ -0,0 +1,139 @@
+
+Using the  script
+With the configuration data established, now you are ready to run the
+script.  Even if you still have some tweaking or other reading you wish to do,
+it is a good idea to at least load the  project metadata.
+
+
+Loading project metadata
+
+
+From a terminal window, log in to the user you are using to compile  
software and
+execute the script:
+
+
+ kdesrc-build 
--metadata-only
+
+
+This command will setup the source directory and connect to the KDE 
+repositories to download the database of  git repositories, and the
+database of dependency metadata, without making any further changes.  It is
+useful to run this separately as this metadata is useful for other
+ commands. 
+
+
+
+
+Previewing what will happen when kdesrc-build runs
+
+With the project metadata installed, it is possible to preview what
+ will do when launched.  This can be done with the --pretend command line option.
+
+
+ ./kdesrc-build 
--pretend
+
+
+You should see a message saying that some packages were successfully 
built (although
+nothing was actually built).  If there were no significant problems shown, 
you can proceed
+to actually running the script.
+
+
+ 
kdesrc-build
+
+
+This command will download the appropriate source code, build and 
install each module in order. Afterwards, you should see output similar to that 
in :
+
+
+Example output of a kdesrc-build run
+
+ 
kdesrc-build
+Updating kde-build-metadata (to branch master)
+Updating sysadmin-repo-metadata (to branch master)
+
+Building libdbusmenu-qt (1/200)
+No changes to libdbusmenu-qt source, proceeding to build.
+Compiling... succeeded (after 0 seconds)
+Installing.. succeeded (after 0 seconds)
+
+Building taglib (2/200)
+Updating taglib (to branch master)
+Source update complete for taglib: 68 files affected.
+Compiling... succeeded (after 0 seconds)
+Installing.. succeeded (after 0 seconds)
+
+Building extra-cmake-modules from module-set at line 32 (3/200)
+Updating extra-cmake-modules (to branch master)
+Source update complete for extra-cmake-modules: 2 files affected.
+Compiling... succeeded (after 0 seconds)
+Installing.. succeeded (after 0 seconds)
+
+...
+
+Building kdevelop from kdev (200/200)
+Updating kdevelop (to branch master)
+Source update complete for kdevelop: 29 files affected.
+Compiling... succeeded (after 1 minute, and 34 seconds)
+Installing.. succeeded (after 2 seconds)
+
+  PACKAGES SUCCESSFULLY BUILT  
+Built 200 modules
+
+Your logs are saved in /home/kde-src/kdesrc/log/2018-01-20-07
+
+
+
+
+
+Resolving build failures
+
+
+Depending on how many modules you are downloading, it is possible that
+ will not succeed the first time you compile  software.
+Do not despair!
+
+
+ logs the output of every command it runs. By default,
+the log files are kept in ~/kdesrc/log. 
To see what
+the caused an error for a module in the last  command, usually
+it is sufficient to look at ~/kdesrc/log/latest/module-name/error.log.
+
+Perhaps the easiest way to find out what error caused a module to
+fail to build is to search backward with a case-insensitive search, starting
+from the end of the file looking for the word error.  Once
+that is found, scroll up to make sure there are no other error messages nearby.
+The first error message in a group is usually the underlying
+problem.
+
+In that file, you will see the error that caused the build to fail for
+that module. If the file says (at the bottom) that you are missing some
+packages, try installing the package (including any appropriate -dev packages)
+before trying to build that module again. Make sure that when you run
+ again to pass the --reconfigure option so that
+ forces the module to check for the missing packages
+again.
+
+Or, if the error appears to be a build error (such as a syntax error,
+incorrect prototype, unknown type, or similar)
+then it is probably an error with the  source, which will hopefully be
+resolved within a few days. If it is not resolved within that time, feel free
+to mail the kde-de...@kde.org mailing list (subscription may be
+required first) in order to report the build failure.
+
+You can find more common examples of things that can go wrong and their
+solutions, as well as general tips and strategies to build  

[sdk/kdesrc-build] doc: doc: advanced-features - separate docbook

2024-01-05 Thread Andrew Shark
Git commit a26d6653d49bb5284edf92a74569bca09f0c681e by Andrew Shark.
Committed on 05/01/2024 at 19:56.
Pushed by ashark into branch 'master'.

doc: advanced-features - separate docbook

A  +420  -0doc/advanced-features.docbook
M  +6-420  doc/index.docbook

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

diff --git a/doc/advanced-features.docbook b/doc/advanced-features.docbook
new file mode 100644
index ..edb19da7
--- /dev/null
+++ b/doc/advanced-features.docbook
@@ -0,0 +1,420 @@
+
+Advanced features
+
+
+Partially building a module
+It is possible to build only pieces from a single  module. For
+example, you may want to compile only one program from a module. 
+has features to make this easy. There are several complementing ways to
+do this.
+
+
+
+Removing directories from a build
+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  and that the
+module's build system allows the directory to remove to be
+optional.
+
+
+This is controlled with the  option.
+
+
+This option requires at least that the
+build system for the module is reconfigured after changing
+it. This is done using the kdesrc-build
+
+module command.
+
+
+
+To remove the python directory
+from the kdebindings build process:
+
+
+module kdebindings
+   python
+end module
+
+
+
+
+This function depends on some standard conventions used in most
+ modules. Therefore it may not work for all programs.
+
+
+
+
+
+
+Branching and tagging support for 
+
+
+What are branches and tags?
+
+ supports managing the history of the  source code. 
+uses this support to create branches for development, and to tag the repository
+every so often with a new version release.
+
+
+For example, the  developers may be working on a new feature in
+a different branch in order to avoid breaking the version being used by most
+developers. This branch has development ongoing inside it, even while the
+main branch (called master) may have development going on inside of it.
+
+
+A tag, on the other hand, is a specified point in the source code 
repository
+at a position in time. This is used by the  administration team to mark
+off a version of code suitable for release and still allow the developers to
+work on the code.
+
+
+
+
+
+How to use branches and tags
+
+Support for branches and tags is handled by a set of options, which
+range from a generic request for a version, to a specific  to download
+for advanced users.
+
+
+The easiest method is to use the  and  options. You simply
+use the option along with the name of the desired branch or tag for a module,
+and  will try to determine the appropriate location within the
+ repository to download from. For most  modules this works very
+well.
+
+
+To download kdelibs from  4.6 (which is simply known as the 4.6 
branch):
+
+
+
+module kdelibs
+  branch 4.6
+  # other options...
+end module
+
+
+Or, to download kdemultimedia as it was released with  4.6.1:
+
+
+module kdemultimedia
+  tag 4.6.1
+  # other options...
+end module
+
+
+
+
+You can specify a global branch value. But if you do so, do not 
forget
+to specify a different branch for modules that should not use the global 
branch!
+
+
+
+
+
+
+Stopping the build early
+
+
+The build normally continues even if failures occur
+
+ normally will update, build and install all modules
+in the specified list of modules to build, even if a module fails to build.
+This is usually a convenience to allow you to update software packages even
+if a simple mistake is made in one of the source repositories during
+development that causes the build to break.
+
+
+
+However you may wish for  to stop what it is doing once a
+module fails to build and install. This can help save you time that will be
+wasted trying to make progress when modules remaining in the build list will
+not be able to successfully build either, especially if you have not ever
+successfully built the modules in the list.
+
+
+
+
+
+Not stopping early with --no-stop-on-failure
+
+
+The primary method to do this is to use the
+--no-stop-on-failure
+command line option when you run .
+
+
+This option can also be set in the
+configuration file to make
+it the normal mode of operation.
+
+
+It is also possible to tell  at runtime to stop building
+after completing the current module it is working on.
+This is as opposed to interrupting  using a command like
+C, which interrupts
+ immediately, losing the progress of the current module.
+
+
+Interrupting  during a module install when
+the use-clean-install option
+is enabled will mean that the interrupted module will be unavailable until
+ is able to successfully build the module!
+
+If you need to interrupt  without permitting a graceful 
shutdown
+in this situation, at least try to avoid doing this while  is
+installing a module.
+
+
+
+
+
+Stopping  gracefully when stop-on-failure is false

[sdk/kdesrc-build] doc: doc: basic-features - separate docbook

2024-01-05 Thread Andrew Shark
Git commit 097dee86e82f4d4c6adefea1884686475454f896 by Andrew Shark.
Committed on 05/01/2024 at 19:57.
Pushed by ashark into branch 'master'.

doc: basic-features - separate docbook

A  +209  -0doc/basic-features.docbook
M  +2-209  doc/index.docbook

https://invent.kde.org/sdk/kdesrc-build/-/commit/097dee86e82f4d4c6adefea1884686475454f896

diff --git a/doc/basic-features.docbook b/doc/basic-features.docbook
new file mode 100644
index ..2331e2ab
--- /dev/null
+++ b/doc/basic-features.docbook
@@ -0,0 +1,209 @@
+
+Basic  features
+
+
+qt support
+ supports building the  toolkit used by  software
+as a convenience to users. This support is handled by a special module named
+qt.
+
+ is developed under a separate repository from  software
+located at http://code.qt.io/cgit/qt/;>http://code.qt.io/cgit/qt/.
+
+In order to build , you should make sure that the
+qtdir setting is set to the directory you'd
+like to install  to, as described in .
+
+You should then ensure that the qt module is added to
+your .kdesrc-buildrc, before any other modules in the
+file. If you are using the sample configuration file, you can simply
+uncomment the existing qt module entry.
+
+Now you should verify the repository option and branch options are set appropriately:
+
+
+The first option is to build  using a mirror maintained
+on the  source repositories (no other changes are applied, it is simply
+a clone of the official source). This is highly recommended due to occasional
+issues with cloning the full  module from its official repository.
+
+You can set the repository option for the qt
+module to kde:qt to use this option.
+
+
+Otherwise, to build the standard , set your
+repository option to
+git://gitorious.org/qt/qt.git. Note that you may
+experience problems performing the initial clone of  from this
+repository.
+
+
+In both cases, the branch option should be set to 
master (unless you'd
+like to build a different branch).
+
+
+
+
+Standard flags added by 
+Nota Bene: this section does not apply to modules for which you have
+configured a custom toolchain, using e.g.
+cmake-toolchain.
+
+To save you time,  adds some standard paths to your
+environment for you:
+
+
+
+
+The path to the  and  libraries is added to the
+LD_LIBRARY_PATH variable automatically. This means that you
+do not need to edit  to include them.
+
+
+
+The path to the  and  development support programs are added to the
+PATH variable automatically. This means that you do not need to
+edit  to include them.
+
+
+
+The path to the -provided pkg-config is added
+automatically to PKG_CONFIG_PATH. This means that you do not
+need to use  to add these.
+
+
+
+The setting for  is automatically propagated to the QTDIR
+environment variable while building.
+
+
+
+
+
+
+
+Changing 's build priority
+Programs can run with different priority levels on Operating Systems,
+including  and . This allows the system to allocate time for the
+different programs in accordance with how important they are.
+
+
+ will normally allocate itself a low priority so that the
+rest of the programs on your system are unaffected and can run normally.
+Using this technique,  will use extra CPU when it is available.
+
+
+ will still maintain a high enough priority level so that
+it runs before routine batch processes and before CPU donation programs
+such as http://setiathome.ssl.berkeley.edu/;>Seti@Home.
+
+
+To alter  so that it uses a higher (or lower) priority
+level permanently, then you need to adjust the  setting in the configuration file. The  setting
+controls how nice  is to other programs. In other
+words, having a higher  gives  a lower priority. So to
+give  a higher priority, reduce the  (and vice versa).
+The  can go from 0 (not nice at all, highest priority) to 20 (super
+nice, lowest priority).
+
+You can also temporarily change the priority for  by using
+the  command line option. The value to
+the option is used exactly the same as for .
+
+It is possible for some programs run by the super user to have a
+negative nice value, with a correspondingly even higher priority for such
+programs. Setting a negative (or even 0)  for  is not
+a great idea, as it will not help run time significantly, but will make your
+computer seem very sluggish should you still need to use it.
+
+
+
+To run  with a niceness of 15 (a lower priority than
+normal):
+
+
+ kdesrc-build 
--nice=15
+
+
+Or, you can edit the configuration 
file to make the change permanent:
+
+
+ 15
+
+
+
+
+The niceness option only affects the
+usage of the computer's processor(s). One other major affect on computer
+performance relates to how much data input or output (I/O) a
+program uses. In order to control how much I/O a program can
+use, modern  operating systems support a similar tool called
+ionice.  supports
+ionice, (but only to enable or disable it
+completely) using the use-idle-io-priority option,
+since  version 1.12.
+
+
+
+
+
+
+Installation as the superuser
+You may wish to have  

[sdk/kdesrc-build] doc: doc: appendix-profile - separate docbook

2024-01-05 Thread Andrew Shark
Git commit 047ca98d497befc8ab630c0769b34f1d34803b87 by Andrew Shark.
Committed on 05/01/2024 at 19:57.
Pushed by ashark into branch 'master'.

doc: appendix-profile - separate docbook

A  +168  -0doc/appendix-profile.docbook
M  +2-168  doc/index.docbook

https://invent.kde.org/sdk/kdesrc-build/-/commit/047ca98d497befc8ab630c0769b34f1d34803b87

diff --git a/doc/appendix-profile.docbook b/doc/appendix-profile.docbook
new file mode 100644
index ..a9293a92
--- /dev/null
+++ b/doc/appendix-profile.docbook
@@ -0,0 +1,168 @@
+
+Superseded profile setup procedures
+
+
+Setting up a  login profile
+
+These instructions cover how to setup the profile required to ensure your
+computer can login to your newly-built   desktop. 
+will normally try to do this automatically (see ). This appendix section can be useful for those who
+cannot use 's support for login profile setup. However the
+instructions may not always be up-to-date, it can also be useful to consult the
+kde-env-master.sh.in file included with the 
+source.
+
+
+Changing your startup profile settings
+
+The .bash_profile is the login settings
+file for the popular bash shell used by many 
+distributions. If you use a different shell, then you may need to adjust the
+samples given in this section for your particular shell.
+
+
+Open or create the .bash_profile file in the home 
directory with your favorite editor,
+and add to the end of the file:
+
+If you are building the qt module (you are by default), add instead:
+
+
+QTDIR=(path to qtdir)   # Such as ~/kdesrc/build/qt by default.
+PATH=${install-dir}/bin:$QTDIR/bin:$PATH
+MANPATH=$QTDIR/doc/man:$MANPATH
+
+# Act appropriately if LD_LIBRARY_PATH is not already set.
+if [ -z $LD_LIBRARY_PATH ]; then
+  LD_LIBRARY_PATH=${install-dir}:/lib:$QTDIR/lib
+else
+  LD_LIBRARY_PATH=${install-dir}:/lib:$QTDIR/lib:$LD_LIBRARY_PATH
+fi
+
+export QTDIR PATH MANPATH LD_LIBRARY_PATH
+
+
+or, if you are not building qt (and are using your system  instead), add
+this instead:
+
+
+PATH=${install-dir}/bin:$QTDIR/bin:$PATH
+
+# Act appropriately if LD_LIBRARY_PATH is not already set.
+if [ -z $LD_LIBRARY_PATH ]; then
+  LD_LIBRARY_PATH=${install-dir}/lib
+else
+  LD_LIBRARY_PATH=${install-dir}/lib:$LD_LIBRARY_PATH
+fi
+
+export PATH LD_LIBRARY_PATH
+
+
+
+
+If you are not using a dedicated user, set a different $KDEHOME
+for your new environment in your .bash_profile:
+
+
+export KDEHOME="${HOME}/.kde-git"
+
+# Create it if needed
+[ ! -e ~/.kde-git ]  mkdir ~/.kde-git
+
+
+
+
+
+If later your K Menu is empty or too crowded with applications from your
+distribution, you may have to set the XDG environment
+variables in your .bash_profile:
+
+
+XDG_CONFIG_DIRS="/etc/xdg"
+XDG_DATA_DIRS="${install-dir}/share:/usr/share"
+export XDG_CONFIG_DIRS XDG_DATA_DIRS
+
+
+
+
+
+
+
+Starting 
+
+
+Now that you have adjusted your environment settings to use the correct ,
+it is important to ensure that the correct startkde script
+is used as well.
+
+
+
+Open the .xinitrc text file from the home directory, or
+create it if necessary. Add the line:
+
+
+exec ${install-dir}/bin/startkde
+
+
+
+On some distributions, it may be necessary to perform the same
+steps with the .xsession file, also in the home directory.
+This is especially true when using graphical login managers such as
+sddm, gdm, or xdm.
+
+
+
+Now start your fresh : in  and  systems with virtual terminal 
support,
+F1 ... 
F12 keystroke 
combinations are used to switch to Virtual Console 1 through 12.
+This allows you to run more than one desktop environment at the same time. The 
fist six are
+text terminals and the following six are graphical displays.
+
+
+
+If when you start your computer you are presented to the graphical display
+manager instead, you can use the new  environment, even if it is not 
listed
+as an option. Most display managers, including sddm, have an option to use
+a Custom Session when you login. With this option, your session 
settings are
+loaded from the .xsession file in your home directory. If
+you have already modified this file as described above, this option should load
+you into your new  installation.
+
+
+If it does not, there is something else you can try that should normally
+work: Press F2,
+and you will be presented to a text terminal. Log in using the dedicated user
+and type:
+
+
+
+startx -- :1
+
+
+
+
+You can run the  from sources and the old  at the same time! Log in
+using your regular user, start the stable  desktop. Press F2 (or
+F1, F3, etc..), and you will be presented
+with a text terminal. Log in using the dedicated   user and
+type:
+
+
+startx -- :1
+
+
+You can go back to the  desktop of your regular user by pressing the
+shortcut key for the already running desktop. This is normally
+F7, you may 
need
+to use F6 or F8 instead. To return to your
+-compiled , you would use the same sequence, except with the
+next function key. For example, if you needed to enter F7
+to switch to your regular , you would 

[sdk/kdesrc-build] doc: doc: building-specific-modules - separate docbook

2024-01-05 Thread Andrew Shark
Git commit 70175b26036e7cd31776b4c8a45d49de2bd1abab by Andrew Shark.
Committed on 05/01/2024 at 19:58.
Pushed by ashark into branch 'master'.

doc: building-specific-modules - separate docbook

A  +62   -0doc/building-specific-modules.docbook
M  +2-62   doc/index.docbook

https://invent.kde.org/sdk/kdesrc-build/-/commit/70175b26036e7cd31776b4c8a45d49de2bd1abab

diff --git a/doc/building-specific-modules.docbook 
b/doc/building-specific-modules.docbook
new file mode 100644
index ..d0e30a76
--- /dev/null
+++ b/doc/building-specific-modules.docbook
@@ -0,0 +1,62 @@
+
+Building specific modules
+
+Rather than building every module all the time, you may only want to 
build a single
+module, or other small subset.  Rather than editing your configuration 
file, you can simply
+pass the names of modules or module sets to build to the command 
line.
+
+
+Example output of a kdesrc-build specific module build
+
+ kdesrc-build 
--include-dependencies 
dolphin
+Updating kde-build-metadata (to branch master)
+Updating sysadmin-repo-metadata (to branch master)
+
+Building extra-cmake-modules from frameworks-set (1/79)
+Updating extra-cmake-modules (to branch master)
+No changes to extra-cmake-modules source, proceeding to build.
+Running cmake...
+Compiling... succeeded (after 0 seconds)
+Installing.. succeeded (after 0 seconds)
+
+Building phonon from phonon (2/79)
+Updating phonon (to branch master)
+No changes to phonon source, proceeding to build.
+Compiling... succeeded (after 0 seconds)
+Installing.. succeeded (after 0 seconds)
+
+Building attica from frameworks-set (3/79)
+Updating attica (to branch master)
+No changes to attica source, proceeding to build.
+Compiling... succeeded (after 0 seconds)
+Installing.. succeeded (after 0 seconds)
+
+...
+
+Building dolphin from base-apps (79/79)
+Updating dolphin (to branch master)
+No changes to dolphin source, proceeding to build.
+Compiling... succeeded (after 0 seconds)
+Installing.. succeeded (after 0 seconds)
+
+  PACKAGES SUCCESSFULLY BUILT  
+Built 79 modules
+
+Your logs are saved in /home/kde-src/kdesrc/log/2018-01-20-07
+
+
+
+In this case, although only the dolphin
+application was specified, the --include-dependencies flag
+caused  to include the dependencies listed for
+dolphin (by setting the include-dependencies option).
+
+
+The dependency resolution worked in this case only because
+dolphin happened to be specified in a
+kde-projects-based module set (in this example, named
+base-apps). See .
+
+
+
diff --git a/doc/index.docbook b/doc/index.docbook
index f7462149..55314add 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -72,6 +72,7 @@
   
   
   
+  
 ]>
 
 
@@ -544,68 +545,7 @@ which is described in .
 
 
 
-
-Building specific modules
-
-Rather than building every module all the time, you may only want to 
build a single
-module, or other small subset.  Rather than editing your configuration 
file, you can simply
-pass the names of modules or module sets to build to the command 
line.
-
-
-Example output of a kdesrc-build specific module build
-
- kdesrc-build 
--include-dependencies 
dolphin
-Updating kde-build-metadata (to branch master)
-Updating sysadmin-repo-metadata (to branch master)
-
-Building extra-cmake-modules from frameworks-set (1/79)
-Updating extra-cmake-modules (to branch master)
-No changes to extra-cmake-modules source, proceeding to build.
-Running cmake...
-Compiling... succeeded (after 0 seconds)
-Installing.. succeeded (after 0 seconds)
-
-Building phonon from phonon (2/79)
-Updating phonon (to branch master)
-No changes to phonon source, proceeding to build.
-Compiling... succeeded (after 0 seconds)
-Installing.. succeeded (after 0 seconds)
-
-Building attica from frameworks-set (3/79)
-Updating attica (to branch master)
-No changes to attica source, proceeding to build.
-Compiling... succeeded (after 0 seconds)
-Installing.. succeeded (after 0 seconds)
-
-...
-
-Building dolphin from base-apps (79/79)
-Updating dolphin (to branch master)
-No changes to dolphin source, proceeding to build.
-Compiling... succeeded (after 0 seconds)
-Installing.. succeeded (after 0 seconds)
-
-  PACKAGES SUCCESSFULLY BUILT  
-Built 79 modules
-
-Your logs are saved in /home/kde-src/kdesrc/log/2018-01-20-07
-
-
-
-In this case, although only the dolphin
-application was specified, the --include-dependencies flag
-caused  to include the dependencies listed for
-dolphin (by setting the include-dependencies option).
-
-
-The dependency resolution worked in this case only because
-dolphin happened to be specified in a
-kde-projects-based module set (in this example, named
-base-apps). See .
-
-
-
+
 
 
 Setting the 

[sdk/kdesrc-build] doc: doc: appendix-modules - separate docbook

2024-01-05 Thread Andrew Shark
Git commit b9d905dff7bf8aaa0d943d96bac2bf69494161fe by Andrew Shark.
Committed on 05/01/2024 at 19:56.
Pushed by ashark into branch 'master'.

doc: appendix-modules - separate docbook

A  +131  -0doc/appendix-modules.docbook
M  +2-131  doc/index.docbook

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

diff --git a/doc/appendix-modules.docbook b/doc/appendix-modules.docbook
new file mode 100644
index ..109f2daf
--- /dev/null
+++ b/doc/appendix-modules.docbook
@@ -0,0 +1,131 @@
+
+ modules and source code organization
+
+The Module
+
+ groups its software into modules of various size.
+This was initially a loose grouping of a few large modules, but with the
+introduction of the https://git-scm.com/;>Git-based https://commits.kde.org/;>source code repositories, these large
+modules were further split into many smaller modules.
+
+
+ uses this module concept as well. In essence, a
+module is a grouping of code that can be downloaded, built,
+tested, and installed.
+
+
+
+Individual modules
+
+It is easy to set  to build a single module. The following
+listing is an example of what a declaration for a Git-based module would
+look like in the configuration
+file.
+
+
+module kdefoo
+cmake-options 
-DCMAKE_BUILD_TYPE=Debug
+end module
+
+
+This is a Git-based module since it doesn't use a repository option. Also, the
+cmake-options option is listed as an example only, it is not
+required.
+
+
+
+Groups of related modules
+
+Now most  source modules are Git-based , and are normally
+combined into groups of modules.
+
+ therefore supports groups of modules as well, using
+module sets. An example:
+
+
+module-set base-modules
+repository kde-projects
+use-modules kde-runtime kde-workspace 
kde-baseapps
+end module-set
+
+
+You can leave the module set name 
(base-modules
+in this case) empty if you like. This repository setting tells
+ where to download the source from, but you can also use a
+git:// URL.
+
+One special feature of the repository
+kde-projects is that  will
+automatically include any Git modules that are grouped under the modules you
+list (in the KDE Project database).
+
+
+
+Module branch groups
+
+Taking the concept of a group of
+modules further, the  developers eventually found that
+synchronizing the names of the Git branches across a large number of
+repositories was getting difficult, especially during the development push for
+the new  Frameworks for  5.
+
+
+So the concept of branch groups was developed, to allow
+users and developers to select one of only a few groups, and allow the script
+to automatically select the appropriate Git branch.
+
+
+ supports this feature as of version 1.16-pre2, via the
+branch-group option.
+
+
+
+Example of using branch-group
+
+branch-group can be used in the configuration file as follows:
+
+
+
+global
+# Select KDE Frameworks 5 and other Qt5-based apps
+branch-group kf5-qt5
+
+# Other global options here ...
+end global
+
+module-set
+# branch-group only works for kde-projects
+repository kde-projects
+
+# branch-group is inherited from the one set globally, but could
+# specified here.
+
+use-modules kdelibs 
kde-workspace
+end module-set
+
+# kdelibs's branch will be "frameworks"
+# kde-workspace's branch will be "master" (as of August 2013)
+
+
+In this case the same branch-group gives different
+branch names for each Git module.
+
+
+
+This feature requires some data maintained by the  developers in a 
Git
+repository named kde-build-metadata, however this module
+will be included automatically by  (though you may see it appear
+in the script output).
+
+
+ modules that do not have a set branch name for the branch
+group you choose will default to an appropriate branch name, as if you had not
+specified branch-group at all.
+
+
+
+
+
+
diff --git a/doc/index.docbook b/doc/index.docbook
index 228b67bb..db3eddcf 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -68,6 +68,7 @@
Just add them as necessary.
   -->
   
+  
 ]>
 
 
@@ -4388,137 +4389,7 @@ as of  version 1.6.3.
 
 
 
-
- modules and source code organization
-
-The Module
-
- groups its software into modules of various size.
-This was initially a loose grouping of a few large modules, but with the
-introduction of the https://git-scm.com/;>Git-based https://commits.kde.org/;>source code repositories, these large
-modules were further split into many smaller modules.
-
-
- uses this module concept as well. In essence, a
-module is a grouping of code that can be downloaded, built,
-tested, and installed.
-
-
-
-Individual modules
-
-It is easy to set  to build a single module. The following
-listing is an example of what a declaration for a Git-based module would
-look like in the configuration
-file.
-
-
-module kdefoo
-cmake-options 
-DCMAKE_BUILD_TYPE=Debug
-end module
-
-
-This is a Git-based module since it doesn't use a repository option. Also, the
-cmake-options