[sdk/kdesrc-build] /: Delete the kdesrc-build-setup

Nate Graham null at kde.org
Wed Nov 29 16:32:17 GMT 2023


Git commit 036f5092adc382e3cc0e4c5a4946b1dbcb10ec03 by Nate Graham, on behalf of Andrew Shark.
Committed on 29/11/2023 at 17:32.
Pushed by ngraham into branch 'master'.

Delete the kdesrc-build-setup

This is duplicating the work of --generate-config. But it is mostly broken and creates redundant source of "options defaults", see #132 

Can I be made the maintainer of this project?

M  +0    -1    CMakeLists.txt
M  +5    -20   README.md
M  +0    -1    doc/CMakeLists.txt
M  +1    -1    doc/README.md
M  +0    -1    doc/build-docs
M  +4    -13   doc/index.docbook
D  +0    -204  doc/man-kdesrc-build-setup.1.docbook
M  +0    -2    doc/man-kdesrc-build.1.docbook
D  +0    -615  kdesrc-build-setup
M  +1    -1    sample-kde-env-master.sh
M  +1    -1    sample-xsession.sh

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

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0e5869e2..789c34af 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -45,7 +45,6 @@ if (KDESRC_BUILD_INSTALL_MODULES)
 endif()
 
 install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/kdesrc-build DESTINATION ${KDE_INSTALL_BINDIR})
-install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/kdesrc-build-setup DESTINATION ${KDE_INSTALL_BINDIR})
 install(PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/kdesrc-run DESTINATION ${KDE_INSTALL_BINDIR})
 
 install(PROGRAMS
diff --git a/README.md b/README.md
index 4b6fb180..6d938b1a 100644
--- a/README.md
+++ b/README.md
@@ -63,30 +63,15 @@ Later we will set up kdesrc-build to keep itself updated automatically.
 2. Set up kdesrc-build:
 
 - Now that kdesrc-build is installed and works, you need to set up kdesrc-build
-  to work appropriately on your particular system. Do this by running the
-  provided set up script to generate the **configuration file**
-  (~/.config/kdesrc-buildrc):
+  to work appropriately on your particular system.
 
 ```shell
 $ cd ~/kde/src/kdesrc-build
-$ ./kdesrc-build-setup
-```
-
-- Answer the questions given, but do not fret if you don't know what exactly
-  you want to build, it is easy to edit the configuration later or just to
-  re-run `kdesrc-build-setup` again.
-
-- This script will reference a standard configuration provided as part of the
-  kdesrc-build repository that you downloaded earlier. As kdesrc-build
-  self-updates, these changes will reflect for your configuration as well.
-
-- After a configuration has been generated, kdesrc-build is able to bootstrap
-  its environment on most distributions by running:
-```shell
 $ ./kdesrc-build --initial-setup
 ```
-  This will install the dependencies required by kdesrc-build as well as add
-  itself to your path for convenience.
+
+-  This will install the distribution packages dependencies required by kdesrc-build,
+   generate a configuration file, and add itself to your path for convenience.
 
 3. Download the KDE project and dependency data:
 
@@ -171,7 +156,7 @@ successfully upgraded kdesrc-build.
 
 A sample configuration file is included for demonstration purposes. You could
 copy it to `~/.config/kdesrc-buildrc` and edit manually. However,
-it is advised to use provided `kdesrc-build-setup` script instead.
+it is advised to use provided `kdesrc-build --generate-config` script instead.
 
 ## HELP!!!
 
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index d22b60a1..603d4b35 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -1,7 +1,6 @@
 ########### install files ###############
 kdoctools_create_handbook(index.docbook INSTALL_DESTINATION ${KDE_INSTALL_DOCBUNDLEDIR}/en SUBDIR kdesrc-build)
 kdoctools_create_manpage(man-kdesrc-build.1.docbook 1 INSTALL_DESTINATION ${MAN_INSTALL_DIR})
-kdoctools_create_manpage(man-kdesrc-build-setup.1.docbook 1 INSTALL_DESTINATION ${MAN_INSTALL_DIR})
 
 install(PROGRAMS kdesrc-build.desktop DESTINATION ${KDE_INSTALL_APPDIR})
 
diff --git a/doc/README.md b/doc/README.md
index 984ab378..e6c60812 100644
--- a/doc/README.md
+++ b/doc/README.md
@@ -29,7 +29,7 @@ directory and generate multiple HTML files from the index.docbook.
 ### Man page
 
 There is also a man page, also authored in Docbook, at
-`man-kdesrc-build-setup.1.docbook` and `man-kdesrc-build.1.docbook`. These will
+`man-kdesrc-build.1.docbook`. It will
 be built and installed to the KDE-specific `MANPATH` if you build kdesrc-build
 with CMake.  The content is mostly the same as in the normal DocBook docs but
 can be more convenient at the command line, especially if Internet access is
diff --git a/doc/build-docs b/doc/build-docs
index 78616993..954a9661 100755
--- a/doc/build-docs
+++ b/doc/build-docs
@@ -100,4 +100,3 @@ STYLE=kde-chunk-online.xsl  # the official one, used in docs.kde.org website.
 # render_docbook usage: $1 = docbook_file, $2 = folder for rendered html files, $3 - stylesheet_file
 render_docbook "index.docbook" "preview_doc_html" "$STYLE"
 render_docbook "man-kdesrc-build.1.docbook" "preview_man_html" "$STYLE"
-#render_docbook "man-kdesrc-build-setup.1.docbook" "preview_man_setup_html" "$STYLE"
diff --git a/doc/index.docbook b/doc/index.docbook
index fe8b8248..8fce177a 100644
--- a/doc/index.docbook
+++ b/doc/index.docbook
@@ -392,16 +392,11 @@ This file is located at <filename>~/.config/kdesrc-buildrc</filename>
 (<filename>$XDG_CONFIG_HOME/kdesrc-buildrc</filename>, if
 <envar>$XDG_CONFIG_HOME</envar> is set).</para>
 
-<para>You can use a program included with &kdesrc-build;, called
-<application>kdesrc-build-setup</application> in order to prepare a simple
+<para>You can use <application>kdesrc-build --generate-config</application> in order to prepare a simple
 kdesrc-build configuration. You can then edit the
 <filename>~/.config/kdesrc-buildrc</filename> configuration file to make
 any changes you see fit.</para>
 
-<para><application>kdesrc-build-setup</application> itself runs from a terminal
-(instead of using a graphical interface), just like &kdesrc-build;, so you can
-use it even if you have no graphical interface available yet.</para>
-
 <sect4 id="setup-rcfile-manually">
 <title>Manual setup of configuration file</title>
 
@@ -413,9 +408,7 @@ its <link linkend="conf-options-table">table of configuration options</link>.
 </para>
 
 <para>&kdesrc-build; contains many recommended configuration files to support
-&kde; Frameworks 5, &plasma; 5, and other &kde; applications. The
-<application>kdesrc-build-setup</application> refers to these files in the
-configuration file it generates, but you can also use them yourself. See
+&kde; Frameworks 5, &plasma; 5, and other &kde; applications. See
 <xref linkend="kdesrc-buildrc-including"/> for information on how to use other
 configuration files from your own <filename>kdesrc-buildrc</filename>.
 </para>
@@ -2019,8 +2012,7 @@ number, the "nicer" the program is.</para>
 <member>Default value</member><member>Depends on system</member>
 <member>Available since</member><member>20.07</member>
 </simplelist>
-<para>This option is defined by &kdesrc-build; (when using the kdesrc-build-setup tool
-or <command>kdesrc-build --generate-config</command>), set to be the number of
+<para>This option is defined by &kdesrc-build; (when using <command>kdesrc-build --generate-config</command>), set to be the number of
 available CPUs (as indicated by the external application
 <application>nproc</application>). If &kdesrc-build; cannot detect the
 number of CPUs, this value is set to 4.</para>
@@ -2038,8 +2030,7 @@ option's usage.</para>
 <member>Default value</member><member>Depends on system</member>
 <member>Available since</member><member>20.07</member>
 </simplelist>
-<para>This option is defined by &kdesrc-build; (when using the kdesrc-build-setup tool
-or <command>kdesrc-build --generate-config</command>), set to be the number of
+<para>This option is defined by &kdesrc-build; (when using <command>kdesrc-build --generate-config</command>), set to be the number of
 CPUs that is deemed safe for heavyweight or other highly-intensive modules,
 such as <literal>qtwebengine</literal>, to avoid running out of memory
 during the build.</para>
diff --git a/doc/man-kdesrc-build-setup.1.docbook b/doc/man-kdesrc-build-setup.1.docbook
deleted file mode 100644
index da78e231..00000000
--- a/doc/man-kdesrc-build-setup.1.docbook
+++ /dev/null
@@ -1,204 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE refentry PUBLIC "-//KDE//DTD DocBook XML V4.5-Based Variant V1.1//EN" "dtd/kdedbx45.dtd" [
-<!ENTITY % English "INCLUDE">
-]>
-
-<!--
-    Man page for kdesrc-build-setup.
-    Copyright (c) 2011 Michael Pyne <mpyne at kde.org>
-
-    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.
- -->
-
-<refentry lang="&language;">
-<refentryinfo>
-<title>kdesrc-build-setup User's Manual</title>
-<author>
-    <personname><firstname>Michael</firstname><surname>Pyne</surname></personname>
-    <email>mpyne at kde.org</email>
-    <personblurb><para>Authored man page</para></personblurb>
-</author>
-<date>2012-05-05</date>
-<releaseinfo>kdesrc-build-setup 16.05</releaseinfo>
-</refentryinfo>
-
-<refmeta>
-<refentrytitle><command>kdesrc-build-setup</command></refentrytitle>
-<manvolnum>1</manvolnum>
-<refmiscinfo class="version">0.02</refmiscinfo>
-</refmeta>
-
-<refnamediv>
-    <refname><command>kdesrc-build-setup</command></refname>
-    <refpurpose>Creates a <filename>kdesrc-buildrc</filename> configuration
-        file for <command>kdesrc-build</command>(1).</refpurpose>
-</refnamediv>
-
-<refsynopsisdiv id="_synopsis">
-<cmdsynopsis>
-<command>kdesrc-build-setup</command>
-</cmdsynopsis>
-</refsynopsisdiv>
-
-<refsect1>
-<title>DESCRIPTION</title>
-
-<para>The <command>kdesrc-build-setup</command> command is used to generate
-a simple configuration file for <command>kdesrc-build</command>(1).</para>
-
-<para>It requires the <command>dialog</command>(1) script be available, and
-Perl (just like <command>kdesrc-build</command>).</para>
-
-<para>No command line options are accepted. The operation of the program is
-instead driven through dialog-style prompts to gather the data required to
-generate the configuration file. The resultant file can be saved to a location
-other than <filename>~/.config/kdesrc-buildrc</filename>.
-</para>
-
-</refsect1>
-
-<refsect1>
-<title>OPTIONS</title>
-
-<para>No command line options are supported for this command.</para>
-
-</refsect1>
-
-<refsect1>
-<title>EXIT STATUS</title>
-
-<variablelist>
-
-<varlistentry>
-<term>
-<emphasis role="strong">0</emphasis>
-</term>
-
-<listitem>
-<para>
-    Success
-</para>
-</listitem>
-</varlistentry>
-
-<varlistentry>
-<term>
-<emphasis role="strong">Anything else</emphasis>
-</term>
-
-<listitem>
-<para>
-    Either there was an I/O failure of some type (invalid permissions, disk
-    full, etc.), or the user canceled the program by pressing
-    &Esc; during a dialog.
-</para>
-</listitem>
-</varlistentry>
-
-</variablelist>
-</refsect1>
-
-<refsect1>
-<title>ENVIRONMENT</title>
-
-<variablelist>
-
-<varlistentry>
-<term>
-<envar>HOME</envar>
-</term>
-
-<listitem>
-<para>
-    Used for tilde-expansion of file names, and is the default base for the
-    source, build, and installation directories.
-</para>
-</listitem>
-</varlistentry>
-
-<varlistentry>
-<term>
-    <command>dialog</command>(1)
-</term>
-
-<listitem>
-<para>
-    The <command>dialog</command>(1) program is required for the operation of
-    this script and may obey environment variables of its own.
-</para>
-</listitem>
-</varlistentry>
-
-</variablelist>
-</refsect1>
-
-<refsect1>
-<title>FILES</title>
-
-<para><filename>~/.config/kdesrc-buildrc</filename>
-(<filename>$XDG_CONFIG_HOME/kdesrc-buildrc</filename>, if
-<envar>$XDG_CONFIG_HOME</envar> is set) - Default global configuration file,
-generated by this script. If the file already exists, the existing file is
-renamed to <filename>kdesrc-buildrc~</filename> as a backup before generating
-the configuration.</para>
-
-<para>The file generated by this script can be saved to a different name
-instead.</para>
-
-</refsect1>
-
-<refsect1>
-<title>BUGS</title>
-
-<para>See <ulink url="https://bugs.kde.org/">https://bugs.kde.org/</ulink>. Be
-sure to search against the <command>kdesrc-build</command> product.</para>
-
-</refsect1>
-
-<refsect1>
-<title>SEE ALSO</title>
-
-<para><command>kdesrc-build</command>(1)</para>
-
-<para><filename>kdesrc-buildrc-sample</filename> file (if included with your
-<application>kdesrc-build</application> distribution).</para>
-
-</refsect1>
-
-<refsect1>
-<title>RESOURCES</title>
-
-<para>Main web site: <ulink
-url="https://apps.kde.org/kdesrc_build/">https://apps.kde.org/kdesrc_build/</ulink></para>
-
-<para>Documentation: <ulink
-url="https://docs.kde.org/?application=kdesrc-build">https://docs.kde.org/?application=kdesrc-build</ulink></para>
-
-</refsect1>
-
-<refsect1>
-<title>COPYING</title>
-
-<para>Copyright (C) 2011, 2020-2022 Michael Pyne.</para>
-
-<para>This program is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the Free
-Software Foundation; either version 2 of the License, or (at your option) any
-later version.</para>
-
-<para>This program is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
-details.</para>
-
-<para>You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc., 51
-Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA</para>
-
-</refsect1>
-
-</refentry>
diff --git a/doc/man-kdesrc-build.1.docbook b/doc/man-kdesrc-build.1.docbook
index 9356a082..803583f6 100644
--- a/doc/man-kdesrc-build.1.docbook
+++ b/doc/man-kdesrc-build.1.docbook
@@ -1353,8 +1353,6 @@ url="https://apps.kde.org/kdesrc_build/">https://apps.kde.org/kdesrc_build/</uli
 <para>Documentation: <ulink
 url="https://docs.kde.org/?application=kdesrc-build">https://docs.kde.org/?application=kdesrc-build</ulink></para>
 
-<para>Setup script: <command>kdesrc-build-setup</command></para>
-
 </refsect1>
 
 <refsect1>
diff --git a/kdesrc-build-setup b/kdesrc-build-setup
deleted file mode 100755
index d86eb2e6..00000000
--- a/kdesrc-build-setup
+++ /dev/null
@@ -1,615 +0,0 @@
-#!/usr/bin/env perl
-
-# Script to create a configuration file for kdesrc-build.
-#
-# Copyright © 2011, 2020-2022 Michael Pyne. <mpyne at kde.org>
-# Home page: https://apps.kde.org/kdesrc_build/
-#
-# This program is free software; you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free Software
-# Foundation; either version 2 of the License, or (at your option) any later
-# version.
-#
-# This program is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
-# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
-# details.
-#
-# You should have received a copy of the GNU General Public License along with
-# this program; if not, write to the Free Software Foundation, Inc., 51
-# Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-
-use v5.28;
-use strict;
-use warnings;
-
-# On many container-based distros, even FindBin is missing to conserve space.
-# But we can use File::Spec to do nearly the same.
-my $RealBin;
-my $modPath;
-
-# The File::Spec calls have to run when parsing (i.e. in BEGIN) to make the
-# 'use lib' below work (which itself implicitly uses BEGIN { })
-BEGIN {
-    use File::Spec;
-
-    # resolve symlinks
-    my $scriptPath = $0;
-    for (1..16) {
-        last unless -l $scriptPath;
-        $scriptPath = readlink $scriptPath;
-    }
-    die "Too many symlinks followed looking for script" if -l $scriptPath;
-
-    my ($volume, $directories, $script) = File::Spec->splitpath($scriptPath);
-
-    $RealBin = File::Spec->catpath($volume, $directories, '');
-    die "Couldn't find base directory!" unless $RealBin;
-
-    # Use modules in git repo if running from git dir, otherwise assume
-    # system install
-    $modPath = File::Spec->rel2abs('modules', $RealBin);
-    $modPath = ($RealBin =~ s,/bin/?$,/share/kdesrc-build/modules,r)
-        unless -d $modPath;
-
-    die "Couldn't find modules for kdesrc-build-setup!" unless $modPath;
-}
-
-use lib "$modPath"; # Make ksb:: modules available
-
-use ksb;
-use ksb::FirstRun;
-
-use Cwd qw(abs_path);
-use File::Basename;
-use File::Copy;
-use File::Path qw(make_path);
-use File::Temp qw(tempfile);
-use IO::Pipe;
-use List::Util qw(max min first);
-
-our $VERSION = 0.10; # Not user-visible yet.
-
-my $OS = `uname`; # Check whether we're using Linux or FreeBSD
-
-sub clearScreen
-{
-    require POSIX;
-    my $termios = POSIX::Termios->new();
-    $termios->getattr(1); # Get STDOUT attributes
-
-    require Term::Cap;
-    my $terminal = Term::Cap->Tgetent({OSPEED => $termios->getospeed});
-
-    # Force the clear characters to be output immediately.
-    # Otherwise it might overlap with other output, like error messages.
-    local $| = 1;
-
-    print $terminal->Tputs('cl', 0);
-
-    return 0;
-}
-
-sub runDialogExecutable (@args)
-{
-    # Allow for 3 more file descriptors (on top of the normally allowed 0, 1,
-    # 2) to survive the upcoming exec
-    # See "SYSTEM_FD_MAX" in perldoc:perlvar
-    $^F = 5;
-
-    my $pipe = new IO::Pipe;
-    my $pid;
-
-    if ($pid = fork()) {
-        # Parent
-        $pipe->reader();
-
-        my $output = <$pipe>;
-
-        waitpid $pid, 0;
-        my $result = ($? >> 8);
-        $pipe->close();
-
-        # dialog uses -1 as an exit code, Perl gets just the standard 8 bits
-        # the rest of UNIX uses...
-        if ($? == -1) {
-            clearScreen();
-            die "Failed to run dialog(1): $@";
-        }
-        elsif ($result == 255) {
-            clearScreen();
-            die "Canceled the dialog";
-        }
-        return $output || $result;
-    }
-    elsif (defined $pid) {
-        # Child
-        $pipe->writer();
-        my $outputFd = $pipe->fileno();
-
-        print "Using fd $outputFd";
-        exec ('dialog', '--output-fd', $outputFd,
-                        '--backtitle', 'kdesrc-build setup',
-                        @args);
-    }
-    else {
-        die "Unable to fork? $!";
-    }
-}
-
-sub getUserInput
-{
-    my $prompt = shift;
-    my $default = shift;
-
-    my @args = qw/--inputbox 8 50/;
-    splice @args, 1, 0, $prompt;
-    push @args, $default if $default;
-
-    return runDialogExecutable(@args);
-}
-
-sub getMenuOption
-{
-    my ($prompt, @opts) = @_;
-    @opts = @{$opts[0]} if ref $opts[0] eq 'ARRAY';
-
-    my @args = qw/--menu 20 70 18/;
-    splice @args, 1, 0, $prompt;
-
-    return runDialogExecutable(@args, @opts);
-}
-
-sub showInfo
-{
-    my $message = shift;
-    my @args = qw/--msgbox 22 64/;
-    splice @args, 1, 0, $message;
-
-    return runDialogExecutable(@args);
-}
-
-sub getYesNoAnswer
-{
-    my $prompt = shift;
-    my @args = qw/--yesno 8 55/;
-    splice @args, 1, 0, $prompt;
-
-    return runDialogExecutable(@args) == 0;
-}
-
-sub getDirectory
-{
-    my $dir = shift;
-    my @args = qw/--dselect 10 70/;
-    splice @args, 1, 0, $dir;
-
-    return runDialogExecutable(@args);
-}
-
-sub getListOptions
-{
-    my ($prompt, $opts, $enabled) = @_;
-    die "\$opts not a hash ref" unless (ref $opts eq 'ARRAY');
-    die "\$enabled not a hash ref" unless (ref $enabled eq 'HASH');
-
-    my @args = qw/--checklist 20 70 18/;
-    splice @args, 1, 0, $prompt;
-    splice @args, 0, 0, '--output-separator', ',';
-
-    while (my ($k, $v) = splice(@{$opts}, 0, 2)) {
-        push (@args, $k, $v, (exists ${$enabled}{$k} ? 'on' : 'off'));
-    }
-
-    my $output = runDialogExecutable(@args);
-
-    # Filter out empty results, remove quotes.
-    my @items = split (/,/, $output);
-    s/^"(.*)"$/$1/ foreach @items;
-    @items = grep { length $_ } @items;
-    return @items;
-}
-
-# The 'dialog(1)' program is required, verify it exists before going
-# further.
-# We use the --help option since it doesn't send weird terminal characters to the screen
-# and it's supported on dialog and Debian's dialog replacement called whiptail.
-system('dialog', '--help') == 0 or do {
-    my $osError = "$!";
-
-    say "Unable to run the dialog(1) program, it is required for this setup script.";
-    if ($? == -1) {
-        say "\tThe program wouldn't even run, due to error: $osError";
-    }
-    else {
-        say "\tProgram ran, but exited with error: ", $? >> 8;
-    }
-
-    exit 1;
-};
-
-showInfo(<<EOF);
-This program sets up a base kdesrc-build configuration to
-use.
-
-It can be modified as you wish later. Before the form is
-presented, you will be asked if you would like an
-explanation of the kdesrc-build file layout.  It is
-recommended to read this if you are not already familiar
-with building software.
-EOF
-
-if (getYesNoAnswer('See the tutorial?')) {
-    showInfo(<<EOF);
-kdesrc-build must download source code from the KDE
-repositories.  This source code is then compiled, in the
-"build directory". Once complete, this compiled code is
-installed to its final location, the "install directory".
-
-This program will only configure the install location, but
-all directories are configurable.
-
-The space requirements vary with the amount of software you
-choose to build, and whether you keep the build directories
-to speed up later builds.  You will probably need at least
-20 GiB in total free space unless you take steps to
-customize your install to use fewer modules.
-EOF
-}
-
-# If the user appears to be using a proxy, ask for it directly, otherwise
-# prompt for one.
-my $proxy = $ENV{http_proxy} // '';
-
-my $installDir = getMenuOption('Where do you want to install the software?',
-    [
-        home => "$ENV{HOME}/kde/usr (default)",
-        custom => "Custom location, chosen next screen",
-    ]);
-
-if ($installDir eq 'custom') {
-    $installDir = getDirectory('/usr/local/kde');
-}
-else {
-    $installDir = "~/kde/usr";
-}
-
-my $sourceDir = getMenuOption('Where do you want the source code to be saved?',
-    [
-        home => "$ENV{HOME}/kde/src (default)",
-        custom => "Custom location, chosen next screen",
-    ]);
-
-if ($sourceDir eq 'custom') {
-    $sourceDir = getDirectory('/usr/local/kde/src');
-}
-else {
-    $sourceDir = "~/kde/src";
-}
-
-my $buildDir = getMenuOption('Where do you want temporary build files to be saved? (They might need lots of space)',
-    [
-        home => "$ENV{HOME}/kde/build (default)",
-        custom => "Custom location, chosen next screen",
-    ]);
-
-if ($buildDir eq 'custom') {
-    $buildDir = getDirectory('/usr/local/kde/build');
-}
-else {
-    $buildDir = "~/kde/build";
-}
-
-showInfo(<<EOF);
-Should kdesrc-build automatically try to include needed KDE
-dependencies in each build?
-
-Doing this makes it easier to just get a single application
-built without worrying about the details. Most KDE software
-under active development needs these dependencies.
-IF IN ANY DOUBT, SELECT YES on the next screen.
-
-If you know exactly what you want to build or want to ensure
-that only modules you have allowed in your configuration
-file are built, then you should disable this option.
-
-You can always use the --include-dependencies or
---no-include-dependencies command line option to
-kdesrc-build, and you can change this default at any time by
-editing the file that this script will generate.
-EOF
-
-my $includeDependencies =
-    getYesNoAnswer('Should kdesrc-build include KDE dependencies by default with each build?');
-
-my @chosenModules = getListOptions(
-    "Which major module groups do you want to build?",
-    [
-        qt5 => 'Qt 5 - Base support libraries (required if distro version is old)',
-        frameworks => 'KDE Frameworks 5 - Essential libraries/runtime (required)',
-        workspace => 'KDE Plasma 5 Desktop and workspace',
-        base => 'Assorted useful KF5-based applications',
-        pim => 'Personal Information Management software',
-    ],
-    {
-        frameworks => 1,
-        workspace => 1,
-        base => 1,
-    },
-);
-
-# According to XDG spec, if $XDG_CONFIG_HOME is not set, then we should default
-# to ~/.config
-my $xdgConfigHome = $ENV{XDG_CONFIG_HOME} // "$ENV{HOME}/.config";
-my $xdgConfigHomeShort = $xdgConfigHome =~ s/^$ENV{HOME}/~/r; # Replace $HOME with ~
-my $outputFile = "$xdgConfigHome/kdesrc-buildrc";
-my $outputFileShort = $outputFile =~ s/^$ENV{HOME}/~/r; # Replace $HOME with ~
-my $output; # Will be output filehandle.
-
-while (-e $outputFile) {
-    my $outputChoice = getMenuOption(
-        "$outputFileShort already exists, what do you want to do?",
-        [
-            backup => 'Make a backup, then overwrite with the new configuration',
-            custom => 'Write the new configuration to a different file',
-            cancel => 'Cancel setup',
-        ],
-    );
-
-    if ($outputChoice eq 'cancel') {
-        showInfo('Setup canceled');
-        exit 0;
-    }
-
-    if ($outputChoice eq 'custom') {
-        $outputFile = getUserInput('Enter desired configuration file name.');
-        $outputFile =~ s/^~/$ENV{HOME}/;
-        $outputFileShort = $outputFile =~ s/^$ENV{HOME}/~/r;
-    }
-
-    if ($outputChoice eq 'backup') {
-        copy($outputFile, "$outputFile~") or do {
-            my $error = "$!";
-            showInfo(<<EOF);
-Failed to make backup of $outputFileShort, due to error $error.
-Configuration will be written to a temporary file instead.
-EOF
-
-            ($output, $outputFile) = tempfile("kdesrc-buildrc-XXXX");
-            $outputFileShort = $outputFile =~ s/^$ENV{HOME}/~/r;
-        };
-
-        last;
-    }
-}
-
-# Filehandle could already be opened as a tempfile.
-if (!$output) {
-    # Ensure the directory we need exists
-    my ($vol, $dir, $file) = File::Spec->splitpath($outputFile);
-    make_path($dir) unless -d $dir;
-
-    open ($output, '>', $outputFile) or do {
-        my $error = "$!";
-        showInfo (<<EOF);
-Unable to open output file $outputFileShort for writing due to error $error.
-EOF
-        die "$!";
-    }
-}
-
-print $output <<EOF;
-# Autogenerated by kdesrc-build-setup. You may modify this file if desired.
-global
-EOF
-
-# Only set qtdir if we're building it ourselves. If user uses their own custom
-# Qt they should already be setting PATH and in that case we need do nothing
-# anyways.
-if (grep /^qt5$/, @chosenModules) {
-    print $output <<EOF;
-
-    # The path to your Qt installation (default is empty, assumes Qt provided
-    # by system)
-    qtdir ~/kde/qt5
-EOF
-}
-
-my $num_cores;
-
-if ($OS == 'Linux') {
-    chomp($num_cores = `nproc`);
-} elsif ($OS == 'FreeBSD') {
-    chomp($num_cores = `sysctl -n hw.ncpu`);
-}
-$num_cores ||= 4;
-
-my $num_cores_low = min(ksb::FirstRun::suggestedNumCoresForLowMemory(), $num_cores);
-
-$includeDependencies = $includeDependencies ? 'true' : 'false';
-
-#
-### Start generating the kdesrc-buildrc
-#
-print $output <<EOF;
-
-    # Finds and includes *KDE*-based dependencies into the build.  This makes
-    # it easier to ensure that you have all the modules needed, but the
-    # dependencies are not very fine-grained so this can result in quite a few
-    # modules being installed that you didn't need.
-    include-dependencies $includeDependencies
-
-    # Install directory for KDE software
-    kdedir $installDir
-
-    # Directory for downloaded source code
-    source-dir $sourceDir
-
-    # Directory to build KDE into before installing
-    # relative to source-dir by default
-    build-dir $buildDir
-
-   ## kdesrc-build sets 2 options which is used in options like make-options or set-env
-    # to help manage the number of compile jobs that happen during a build:
-    #
-    # 1. num-cores, which is just the number of detected CPU cores, and can be passed
-    #    to tools like make (needed for parallel build) or ninja (completely optional).
-    #
-    # 2. num-cores-low-mem, which is set to largest value that appears safe for
-    #    particularly heavyweight modules based on total memory, intended for
-    #    modules like qtwebengine
-    num-cores $num_cores
-    num-cores-low-mem $num_cores_low
-
-    # kdesrc-build can install a sample .xsession file for "Custom"
-    # (or "XSession") logins,
-    install-session-driver false
-
-    # or add a environment variable-setting script to
-    # ~/.config/kde-env-master.sh
-    install-environment-driver true
-
-    # Stop the build process on the first failure
-    stop-on-failure true
-
-    # Use a flat folder layout under $sourceDir and $buildDir
-    # rather than nested directories
-    directory-layout flat
-
-    # Use Ninja as cmake generator instead of gmake
-    cmake-generator Kate - Ninja
-
-    # Build with LSP support for everything that supports it
-    compile-commands-linking true
-    compile-commands-export true
-EOF
-
-if ($proxy) {
-    print $output <<EOF;
-
-    # Proxy to use for HTTP downloads.
-    http-proxy $proxy
-
-    # Prefer HTTPS instead of Git-native protocol for git modules that come
-    # from 'kde-projects' repositories.
-    #
-    # Note that any git:// repositories you use will need to be
-    # manually converted to https:// URLs if your network does not allow
-    # git:// protcol.
-    git-desired-protocol https
-EOF
-}
-
-# Assume we can refer to files present alongside kdesrc-build in the source
-# directory
-my $basedir = dirname(abs_path($0));
-my $baseDirShort = $basedir =~ s/^$ENV{HOME}/~/r; # Replace $HOME with ~
-
-if (! -e "$basedir/kf5-frameworks-build-include") {
-    # Check if it's installed to a share/ prefix
-    $basedir = abs_path(dirname($0) . "/../share/kdesrc-build/");
-    $baseDirShort = $basedir =~ s/^$ENV{HOME}/~/r;
-
-    if (! -e "$basedir/kf5-frameworks-build-include") {
-        close $output;
-        showInfo("Unable to find kdesrc-build installation to build a configuration!");
-        exit 1;
-    }
-}
-
-print $output <<EOF;
-end global
-
-# Common options that should be set for some KDE modules no matter how
-# kdesrc-build finds them. Do not comment these out unless you know
-# what you are doing.
-include $basedir/kf5-common-options-build-include
-
-EOF
-
-my $do_incl = '#';
-$do_incl = '' if grep { $_ eq 'qt5' } @chosenModules;
-
-print $output <<EOF;
-# Refers to the qt5 file included as part of kdesrc-build. The file
-# is simply read-in at this point as if you'd typed it in yourself.
-${do_incl}include $basedir/qt5-build-include
-
-# Support libraries that use Qt5
-${do_incl}include $basedir/custom-qt5-libs-build-include
-
-EOF
-
-$do_incl = '#';
-$do_incl = '' if grep { $_ eq 'frameworks' } @chosenModules;
-
-print $output <<EOF;
-# Refers to the kf5-frameworks file included as part of kdesrc-build. The file
-# is simply read-in at this point as if you'd typed it in yourself.
-${do_incl}include $basedir/kf5-frameworks-build-include
-
-EOF
-
-$do_incl = '#';
-$do_incl = '' if grep { $_ eq 'workspace' } @chosenModules;
-
-print $output <<EOF;
-# Refers to the kf5-workspace file included as part of kdesrc-build. The file
-# is simply read-in at this point as if you'd typed it in yourself.
-${do_incl}include $basedir/kf5-workspace-build-include
-
-EOF
-
-$do_incl = '#';
-$do_incl = '' if grep { $_ eq 'base' } @chosenModules;
-
-print $output <<EOF;
-# Refers to the kf5-applications file included as part of kdesrc-build. The file
-# is simply read-in at this point as if you'd typed it in yourself.
-${do_incl}include $basedir/kf5-applications-build-include
-
-EOF
-
-$do_incl = '#';
-$do_incl = '' if grep { $_ eq 'pim' } @chosenModules;
-
-print $output <<EOF;
-# Refers to the kf5-kdepim file included as part of kdesrc-build. The file
-# is simply read-in at this point as if you'd typed it in yourself.
-${do_incl}include $basedir/kf5-kdepim-build-include
-
-EOF
-
-close($output);
-
-showInfo("Generated configuration has been written to $outputFileShort");
-
-if (!@chosenModules) {
-    showInfo(<<EOF);
-You have not chosen any major module groups. You will have to
-add modules and module-sets to your configuration after this.
-
-To help you with this, please consult the sample files in
-$basedir
-EOF
-}
-
-# Say same thing in text mode just in case.
-system('clear');
-say "Generated configuration has been written to $outputFileShort";
-say "Sample configuration files are available in $baseDirShort";
-
-if ($outputFile ne "$xdgConfigHome/kdesrc-buildrc") {
-    say <<EOF;
-
-Do note, that your configuration file $outputFileShort will NOT BE USED,
-unless you will do one of the following:
-- Overwrite $xdgConfigHomeShort/kdesrc-buildrc with $outputFileShort
-- Copy $outputFileShort to some directory and rename it to "kdesrc-buildrc",
-  then ALWAYS run kdesrc-build from that directory
-- ALWAYS pass the "--rc-file $outputFileShort" option to kdesrc-build when
-  you run it
-EOF
-}
-
-exit 0;
diff --git a/sample-kde-env-master.sh b/sample-kde-env-master.sh
index 4f47ba1c..db0ee225 100644
--- a/sample-kde-env-master.sh
+++ b/sample-kde-env-master.sh
@@ -10,7 +10,7 @@
 # See also the sample xsession setup script, which requires this file.
 #
 # Use by copying this script to $XDG_CONFIG_HOME/kde-env-master.sh (this will
-# be done for you by kdesrc-build and/or kdesrc-build-setup, later). 99% of the
+# be done for you by kdesrc-build later). 99% of the
 # time this means ~/.config/kde-env-master.sh
 #
 # NOTHING IN THIS FILE IS MODIFIABLE, OTHERWISE WARNINGS WILL BE GENERATED
diff --git a/sample-xsession.sh b/sample-xsession.sh
index c8a7268b..fe616139 100644
--- a/sample-xsession.sh
+++ b/sample-xsession.sh
@@ -3,7 +3,7 @@
 # Written by Michael Jansen and Michael Pyne
 #
 # Use by copying this script to ~/.xsession (this will be done for you by
-# kdesrc-build and/or kdesrc-build-setup, later).
+# kdesrc-build later).
 #
 # From there, select "custom" session when logging in, in order to login using
 # this script.


More information about the kde-doc-english mailing list