summaryrefslogtreecommitdiffstats
path: root/debian/_buildscripts/local
diff options
context:
space:
mode:
Diffstat (limited to 'debian/_buildscripts/local')
-rwxr-xr-xdebian/_buildscripts/local/00_pre_base.sh (renamed from debian/_buildscripts/local/00_extradeps.sh)7
-rwxr-xr-xdebian/_buildscripts/local/01_base_01.sh18
-rwxr-xr-xdebian/_buildscripts/local/02_base_02.sh4
-rwxr-xr-xdebian/_buildscripts/local/05_apps_system.sh4
-rwxr-xr-xdebian/_buildscripts/local/06_apps_utilities.sh1
-rwxr-xr-xdebian/_buildscripts/local/07_apps_settings.sh3
-rwxr-xr-xdebian/_buildscripts/local/09_apps_development.sh2
-rwxr-xr-xdebian/_buildscripts/local/10_apps_games.sh1
-rwxr-xr-xdebian/_buildscripts/local/12_apps_office.sh1
-rwxr-xr-xdebian/_buildscripts/local/13_apps_multimedia.sh3
-rwxr-xr-xdebian/_buildscripts/local/14_apps_tdeio.sh1
-rwxr-xr-xdebian/_buildscripts/local/15_apps_themes.sh5
-rwxr-xr-xdebian/_buildscripts/local/16_apps_misc.sh2
-rwxr-xr-xdebian/_buildscripts/local/91_build_base.sh4
-rwxr-xr-xdebian/_buildscripts/local/92_build_applications.sh1
-rwxr-xr-xdebian/_buildscripts/local/99_build_TDE.sh1
-rw-r--r--debian/_buildscripts/local/README.txt91
-rw-r--r--debian/_buildscripts/local/additional_files/etc/pbuilderrc44
-rwxr-xr-xdebian/_buildscripts/local/build_module.sh215
-rwxr-xr-xdebian/_buildscripts/local/create_repo.sh2
-rw-r--r--debian/_buildscripts/local/internals/_config_template.sh23
-rwxr-xr-xdebian/_buildscripts/local/internals/_pbuilder.sh53
-rw-r--r--debian/_buildscripts/local/internals/distro_list.txt30
-rw-r--r--debian/_buildscripts/local/internals/extra_deps.txt9
-rw-r--r--debian/_buildscripts/local/internals/prebuilt_pkg_paths.txt17
-rwxr-xr-xdebian/_buildscripts/local/update_repositories.sh6
26 files changed, 326 insertions, 222 deletions
diff --git a/debian/_buildscripts/local/00_extradeps.sh b/debian/_buildscripts/local/00_pre_base.sh
index 82edb1404..082c47224 100755
--- a/debian/_buildscripts/local/00_extradeps.sh
+++ b/debian/_buildscripts/local/00_pre_base.sh
@@ -5,20 +5,21 @@
#----------------------------
set_log_start
+build_module "metapackages/tde-cdbs"
+build_module "dependencies/tde-cmake"
+
if [[ "$USE_PREBUILD_EXTRA_DEPS" = "y" ]]; then
echo -e "${CBrown}#### Use of pre-built extra dependency packages is currently configured. Nothing to do. ####\n${CNone}"
echo "Use of pre-built extra dependency packages is currently configured. Nothing to do." >>"$LOG_BUILD_RESULT_FILENAME"
else
- build_module "$CFG_EXTRA_DEPS_DIR/uncrustify-trinity"
#
build_module "$CFG_EXTRA_DEPS_DIR/fireflies"
+ build_module "$CFG_EXTRA_DEPS_DIR/gettext-kde"
build_module "$CFG_EXTRA_DEPS_DIR/htdig"
build_module "$CFG_EXTRA_DEPS_DIR/imlib"
build_module "$CFG_EXTRA_DEPS_DIR/jasper"
build_module "$CFG_EXTRA_DEPS_DIR/lcms"
- build_module "$CFG_EXTRA_DEPS_DIR/mp4v2"
build_module "$CFG_EXTRA_DEPS_DIR/openslp-dfsg"
- build_module "$CFG_EXTRA_DEPS_DIR/transcode"
build_module "$CFG_EXTRA_DEPS_DIR/wv2"
fi
diff --git a/debian/_buildscripts/local/01_base_01.sh b/debian/_buildscripts/local/01_base_01.sh
index e291ed8e5..ed8c46d62 100755
--- a/debian/_buildscripts/local/01_base_01.sh
+++ b/debian/_buildscripts/local/01_base_01.sh
@@ -5,22 +5,22 @@
#----------------------------
set_log_start
-build_module "common/cmake"
build_module "dependencies/libr"
build_module "dependencies/akode"
-build_module "dependencies/tqt3"
-build_module "dependencies/tqtinterface"
+build_module "dependencies/libart-lgpl"
+build_module "dependencies/libcaldav"
+build_module "dependencies/libcarddav"
+build_module "dependencies/tqt"
+if [[ "$DEFAULT_REPO_BRANCH" == "r14.1.x" ]]; then
+ build_module "dependencies/tqtinterface"
+fi
build_module "dependencies/arts"
-build_module "dependencies/dbus-tqt"
build_module "dependencies/dbus-1-tqt"
build_module "dependencies/tqca"
-build_module "dependencies/libart-lgpl"
build_module "dependencies/avahi-tqt"
-build_module "dependencies/libcaldav"
-build_module "dependencies/libcarddav"
+build_module "dependencies/polkit-tqt"
if [[ "$USE_PREBUILD_EXTRA_DEPS" != "y" ]]; then
- # needs cmake-trinity so must be build after common/cmake module
- build_module "$CFG_EXTRA_DEPS_DIR/pcsc-lite-nodbus"
+ build_module "$CFG_EXTRA_DEPS_DIR/pcsc-lite-nodbus"
fi
build_module "core/tdelibs"
build_module "libraries/libtdeldap"
diff --git a/debian/_buildscripts/local/02_base_02.sh b/debian/_buildscripts/local/02_base_02.sh
index 61c500d36..abe995014 100755
--- a/debian/_buildscripts/local/02_base_02.sh
+++ b/debian/_buildscripts/local/02_base_02.sh
@@ -7,8 +7,8 @@ set_log_start
build_module "dependencies/sip4-tqt"
build_module "dependencies/tqscintilla"
-build_module "dependencies/python-tqt"
-build_module "libraries/python-trinity"
+build_module "dependencies/pytqt"
+build_module "libraries/pytde"
build_module "libraries/pytdeextensions"
build_module "core/tdebindings"
build_module "libraries/libtqt-perl"
diff --git a/debian/_buildscripts/local/05_apps_system.sh b/debian/_buildscripts/local/05_apps_system.sh
index fa3d861a6..4e851a121 100755
--- a/debian/_buildscripts/local/05_apps_system.sh
+++ b/debian/_buildscripts/local/05_apps_system.sh
@@ -19,10 +19,14 @@ build_module "applications/system/krusader"
build_module "applications/system/kshutdown"
build_module "applications/system/ksystemlog"
build_module "applications/system/kvkbd"
+build_module "applications/system/polkit-agent-tde"
build_module "applications/system/smartcardauth"
build_module "applications/system/tastymenu"
+build_module "applications/system/tdebluez"
build_module "applications/system/tdedocker"
build_module "applications/system/tdepowersave"
+build_module "applications/system/tdesshaskpass"
+build_module "applications/system/xdg-desktop-portal-tde"
build_module "applications/system/yakuake"
set_log_end
diff --git a/debian/_buildscripts/local/06_apps_utilities.sh b/debian/_buildscripts/local/06_apps_utilities.sh
index c90ff66cc..eb3edc68e 100755
--- a/debian/_buildscripts/local/06_apps_utilities.sh
+++ b/debian/_buildscripts/local/06_apps_utilities.sh
@@ -13,6 +13,7 @@ build_module "applications/utilities/kcpuload"
build_module "applications/utilities/kdirstat"
build_module "applications/utilities/keep"
build_module "applications/utilities/knutclient"
+build_module "applications/utilities/kommando"
build_module "applications/utilities/kompose"
build_module "applications/utilities/krename"
build_module "applications/utilities/ksensors"
diff --git a/debian/_buildscripts/local/07_apps_settings.sh b/debian/_buildscripts/local/07_apps_settings.sh
index f20a83bc6..065d45e40 100755
--- a/debian/_buildscripts/local/07_apps_settings.sh
+++ b/debian/_buildscripts/local/07_apps_settings.sh
@@ -12,9 +12,10 @@ build_module "applications/settings/kkbswitch"
build_module "applications/settings/klcddimmer"
build_module "applications/settings/kmyfirewall"
build_module "applications/settings/tde-guidance"
+build_module "applications/settings/tde-systemsettings"
+build_module "applications/settings/tdealternatives"
build_module "applications/settings/tdenetworkmanager"
build_module "applications/settings/tdesudo"
-build_module "applications/settings/tde-systemsettings"
build_module "applications/settings/wlassistant"
set_log_end
diff --git a/debian/_buildscripts/local/09_apps_development.sh b/debian/_buildscripts/local/09_apps_development.sh
index f5e41d1bf..1d913e4f2 100755
--- a/debian/_buildscripts/local/09_apps_development.sh
+++ b/debian/_buildscripts/local/09_apps_development.sh
@@ -13,5 +13,7 @@ build_module "applications/development/ktechlab"
build_module "applications/development/kxmleditor"
build_module "applications/development/piklab"
build_module "applications/development/tdesvn"
+build_module "applications/development/tdexsldbg"
+build_module "applications/development/universal-indent-gui-tqt"
set_log_end
diff --git a/debian/_buildscripts/local/10_apps_games.sh b/debian/_buildscripts/local/10_apps_games.sh
index 09290d0c0..72d3869f5 100755
--- a/debian/_buildscripts/local/10_apps_games.sh
+++ b/debian/_buildscripts/local/10_apps_games.sh
@@ -6,6 +6,7 @@
set_log_start
build_module "applications/games/knights"
+build_module "applications/games/tdeknighttour"
build_module "applications/games/tdepacman"
set_log_end
diff --git a/debian/_buildscripts/local/12_apps_office.sh b/debian/_buildscripts/local/12_apps_office.sh
index c9baaecd1..80f2cbd8f 100755
--- a/debian/_buildscripts/local/12_apps_office.sh
+++ b/debian/_buildscripts/local/12_apps_office.sh
@@ -14,6 +14,7 @@ build_module "applications/office/knowit"
build_module "applications/office/koffice"
build_module "applications/office/koffice-i18n"
build_module "applications/office/keximdb"
+build_module "applications/office/tde-ebook-reader"
build_module "applications/office/tellico"
if [[ "$USE_PREBUILD_EXTRA_DEPS" != "y" ]]; then
diff --git a/debian/_buildscripts/local/13_apps_multimedia.sh b/debian/_buildscripts/local/13_apps_multimedia.sh
index 3c3dc30d4..ae54294ec 100755
--- a/debian/_buildscripts/local/13_apps_multimedia.sh
+++ b/debian/_buildscripts/local/13_apps_multimedia.sh
@@ -11,8 +11,7 @@ build_module "applications/multimedia/k3b"
build_module "applications/multimedia/k3b-i18n"
build_module "applications/multimedia/k9copy"
build_module "applications/multimedia/kaffeine"
-build_module "applications/multimedia/kaffeine-mozilla"
-build_module "applications/multimedia/kmplayer" # depends on koffice-trinity-dev
+build_module "applications/multimedia/kmplayer"
build_module "applications/multimedia/kplayer"
build_module "applications/multimedia/mplayerthumbs"
build_module "applications/multimedia/rosegarden"
diff --git a/debian/_buildscripts/local/14_apps_tdeio.sh b/debian/_buildscripts/local/14_apps_tdeio.sh
index ad588b66d..d50b03a5c 100755
--- a/debian/_buildscripts/local/14_apps_tdeio.sh
+++ b/debian/_buildscripts/local/14_apps_tdeio.sh
@@ -5,6 +5,7 @@
#----------------------------
set_log_start
+build_module "applications/tdeio/tdeio-appinfo"
build_module "applications/tdeio/tdeio-apt"
build_module "applications/tdeio/tdeio-ftps"
build_module "applications/tdeio/tdeio-gopher"
diff --git a/debian/_buildscripts/local/15_apps_themes.sh b/debian/_buildscripts/local/15_apps_themes.sh
index 8bffc9ab8..25bc06a34 100755
--- a/debian/_buildscripts/local/15_apps_themes.sh
+++ b/debian/_buildscripts/local/15_apps_themes.sh
@@ -9,15 +9,18 @@ build_module "applications/themes/gtk3-tqt-engine"
build_module "applications/themes/gtk-qt-engine"
build_module "applications/themes/kgtk-qt3"
build_module "applications/themes/ksplash-engine-moodin"
-# build_module "applications/themes/qt4-tqt-theme-engine"
build_module "applications/themes/tde-style-baghira"
build_module "applications/themes/tde-style-domino"
build_module "applications/themes/tde-style-ia-ora"
build_module "applications/themes/tde-style-lipstik"
+build_module "applications/themes/tde-style-polyester"
build_module "applications/themes/tde-style-qtcurve"
build_module "applications/themes/tdmtheme"
build_module "applications/themes/twin-style-crystal"
build_module "applications/themes/twin-style-dekorator"
+build_module "applications/themes/twin-style-fahrenheit"
+build_module "applications/themes/twin-style-machbunt"
+build_module "applications/themes/twin-style-mallory"
build_module "applications/themes/twin-style-suse2"
set_log_end
diff --git a/debian/_buildscripts/local/16_apps_misc.sh b/debian/_buildscripts/local/16_apps_misc.sh
index 2ffd8277e..f7f028ff3 100755
--- a/debian/_buildscripts/local/16_apps_misc.sh
+++ b/debian/_buildscripts/local/16_apps_misc.sh
@@ -7,7 +7,6 @@ set_log_start
build_module "applications/misc/bibletime"
build_module "applications/misc/desktop-effects-tde"
-build_module "applications/misc/fusion-icon"
build_module "applications/misc/kcmldap"
build_module "applications/misc/kcmldapcontroller"
build_module "applications/misc/kcmldapmanager"
@@ -20,7 +19,6 @@ if [[ "$USE_PREBUILD_EXTRA_DEPS" != "y" ]]; then
build_module "$CFG_EXTRA_DEPS_DIR/compiz-fusion-bcop-trinity"
build_module "$CFG_EXTRA_DEPS_DIR/compiz-fusion-plugins-main-trinity"
build_module "$CFG_EXTRA_DEPS_DIR/compiz-fusion-plugins-extra-trinity"
- build_module "$CFG_EXTRA_DEPS_DIR/compizconfig-python-trinity"
fi
build_module "applications/misc/compizconfig-backend-tdeconfig"
diff --git a/debian/_buildscripts/local/91_build_base.sh b/debian/_buildscripts/local/91_build_base.sh
index b53ba9048..d83f9d544 100755
--- a/debian/_buildscripts/local/91_build_base.sh
+++ b/debian/_buildscripts/local/91_build_base.sh
@@ -1,8 +1,6 @@
#!/bin/bash
-if [[ "$USE_PREBUILD_EXTRA_DEPS" != "y" ]]; then
- ./00_extradeps.sh
-fi
+./00_pre_base.sh
./01_base_01.sh
./02_base_02.sh
./03_base_03.sh
diff --git a/debian/_buildscripts/local/92_build_applications.sh b/debian/_buildscripts/local/92_build_applications.sh
index d16b5cc54..b617bc311 100755
--- a/debian/_buildscripts/local/92_build_applications.sh
+++ b/debian/_buildscripts/local/92_build_applications.sh
@@ -12,3 +12,4 @@
./14_apps_tdeio.sh
./15_apps_themes.sh
./16_apps_misc.sh
+./17_meta_packages.sh
diff --git a/debian/_buildscripts/local/99_build_TDE.sh b/debian/_buildscripts/local/99_build_TDE.sh
index 1a80862a6..45e85f97e 100755
--- a/debian/_buildscripts/local/99_build_TDE.sh
+++ b/debian/_buildscripts/local/99_build_TDE.sh
@@ -50,6 +50,5 @@ set_log_start
./91_build_base.sh
./92_build_applications.sh
-./17_meta_packages.sh
set_log_end
diff --git a/debian/_buildscripts/local/README.txt b/debian/_buildscripts/local/README.txt
index 12044c7ae..500435c09 100644
--- a/debian/_buildscripts/local/README.txt
+++ b/debian/_buildscripts/local/README.txt
@@ -11,12 +11,24 @@ A) Environment preparation
--------------------------
0) Initial notes
- this guide has been prepared based on a clean debian testing netinstall system without any other DE.
- It should work for other debian/ubuntu distros as well, but eventually you may run into small differences
+ It should work for other debian/devuan/ubuntu distros as well, but eventually you may run into small differences
here and there.
- you can change folder names below, as long as you update the "_config.sh" file accordingly.
-
-1) Install following packages: bc, cdbs, git, pbuilder, rsync and required dependencies.
- NOTE: sudo should already be installed. If not, install sudo as well.
+ - you need to choose whether to use standard git repository clones or use git worktrees.
+ Different instructions will be provided where necessary, based on the choice made.
+ - if you want to build a single module, you can choose to use prebuilt TDE packages to satisfy the missing
+ dependencies. More on this at point 8).
+ - you need to choose whether to use pre built extra dependency packages or build them yourself.
+ Different instructions will be provided where necessary, based on the choice made.
+ More on this at point 9).
+
+1) Install following packages: bc, build-essential, cdbs, debhelper, fakeroot, git, pbuilder, quilt,
+ rsync, sudo and required dependencies.
+ To build some python related packages, you will also need to install dh-python and python3-setuptools.
+ NOTE:
+ pytdeextensions requires some actions before you can build it (even in a clean environment) due to the current build scripts
+ used for it. You will need to first build tdelibs, pytqt and pytde, then install those packages on your system and then
+ you should be able to successfully build pytdeextensions.
2) Create a base folder for TDE, hereafter referred to as TDE_DIR (for example $HOME/tde_src)
@@ -41,7 +53,7 @@ A) Environment preparation
cd tde
./scripts/switch_all_submodules_to_head_and_clean anonymous
- A.2) If you are not using pre-built extra dependencies:
+ A.2) If you are *not* using pre-built extra dependencies:
cd "$TDE_DIR/1_git"
git clone https://mirror.git.trinitydesktop.org/gitea/TDE/extra-dependencies.git edeps
@@ -50,15 +62,16 @@ A) Environment preparation
cd "$TDE_DIR/1_git"
git clone --bare --config "remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*" https://mirror.git.trinitydesktop.org/gitea/TDE/tde.git repos/tde.git
- B.2) If you are not using pre-built extra dependencies:
+ B.2) If you are *not* using pre-built extra dependencies:
cd "$TDE_DIR/1_git"
git clone --bare --config "remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*" https://mirror.git.trinitydesktop.org/gitea/TDE/extra-dependencies.git repos/edeps.git
B.3) run the script "update_repositories.sh" once you have completed the setup as described later in this document.
-5) Add your user to the sudo group (not required if you are root)
- su -c "adduser <username> sudo"
- Logout and login again to make sure the new settings are applied.
+5) Add your user to the sudo group (not required if you are root). Mind the stand alone "-"!
+ su - -c "adduser <username> sudo"
+ Logout and login again to make sure the new settings are applied. If you forget this step, you will have build
+ errors when you first try to build a module.
* Optionally, consider extending your sudo timeout interval to avoid having to type your password too often
(this could be quite painful especially during long builds, which would not be able to complete if unattended).
To do this, type "sudo visudo" and then add "Defaults timestamp_timeout=<new timeout>", where the value is in
@@ -71,9 +84,11 @@ A) Environment preparation
sudo pbuilder create
If you wish to build for a different distro or architecture, use the command:
sudo DISTRO_NAME=<target distro> ARCHITECTURE=<target architecture> pbuilder create
+ If all goes well there should be no errors reported and a file named "base-<distro name>@<architecture>.tgz"
+ should be found at location "/var/cache/pbuilder/".
8) Setup the build scripts locally:
- - copy build scripts from "TDE_DIR/1_git/tde/packaging/debian/_buildscripts/local" to "TDE_DIR/buildscripts"
+ - copy the contents of "TDE_DIR/1_git/tde/packaging/debian/_buildscripts/local" to "TDE_DIR/buildscripts"
and make sure all shell scripts are executable
- cd "TDE_DIR/buildscripts"
- cp ./internals/_config_template.sh _config.sh
@@ -84,38 +99,48 @@ A) Environment preparation
from your current setup. Otherwise the variables can be left empty and auto detection will be performed.
* UPDATE_BRANCHES to the branches you want to keep updated from the main repositories.
* DEFAULT_REPO_BRANCH to the branch to check out at the end of the repositories update process.
+ * USE_PREBUILD_PACKAGES to decide whether to use prebuilt TDE packages to safisty missing dependencies.
+ Setting this to "y" is useful if you intend to work on a specific module, because it allows you to
+ build it without having to previously build all the other TDE modules that it depends upon.
+ The prebuilt modules will be taken from the TDE prelimirary builds archive.
-9) Some additional packages (referred to as extra dependencies) are required to build and install TDE in debian/ubuntu.
- These modules can be built locally or alternatively Slavek Banko's pre-built binaries can be used.
+9) Some additional packages (referred to as extra dependencies) are required to build and install TDE in
+ debian/devuan/ubuntu. These modules can be built locally or alternatively pre-built binaries from the
+ TDE prelimirary builds archive can be used.
9.1) Using pre-built extra dependencies
- open "_config.sh" and set the variable USE_PREBUILD_EXTRA_DEPS to "y" (this is the default initial setting)
- - add the following lines to the /etc/apt/sources.list file. This will setup Slavek's repositories in apt for
- installing the extra dependency packages when TDE is installed.
- * For R14.1.x series (repository branch "master")
- # --- SLAVEK BANKO'S EXTRA DEPENDENCIES REPOSITORY ---
+ - create the file /etc/apt/sources.list.d/tde.list add the following lines to it. This will setup the
+ correct repository in apt for installing the required extra dependency packages.
+ * For R14.2.x series (repository branch "master")
+ # --- TDE EXTRA DEPENDENCIES REPOSITORY ---
deb http://mirror.ppa.trinitydesktop.org/trinity-testing <YOUR DISTRO> deps
- * For R14.0.x series (repository branch "r14.0.x")
- # --- SLAVEK BANKO'S EXTRA DEPENDENCIES REPOSITORY ---
+ * For R14.1.x series (repository branch "r14.1.x")
+ # --- TDE EXTRA DEPENDENCIES REPOSITORY ---
deb http://mirror.ppa.trinitydesktop.org/trinity-sb <YOUR DISTRO> deps-r14
For example:
deb http://mirror.ppa.trinitydesktop.org/trinity-sb buster deps-r14
- install package dirmngr if required
- - import TDE Archive Signing key into your apt keyring
- sudo apt-key adv --keyserver pool.sks-keyservers.net --recv-key C93AF1698685AD8B
+ - import the TDE archive signing key into your apt keyring
+ sudo wget http://mirror.ppa.trinitydesktop.org/trinity/deb/trinity-keyring.deb
+ sudo dpkg -i trinity-keyring.deb
9.2) Building extra dependencies locally (recommended option)
- open "_config.sh" and set the variables USE_PREBUILD_EXTRA_DEPS to "n" and
CFG_EXTRA_DEPS_DIR to "edeps"
- build the extra dependency as any other normal module
-10) Add the following lines to the /etc/apt/sources.list file. This will setup your local repo in apt.
+10) If needed, create the file /etc/apt/sources.list.d/tde.list. Then add the following lines to it.
+ This will setup your local repository in apt.
# --- LOCAL TDE REPOSITORY ---
- deb [trusted=yes] file:TDE_DIR/3_repo <YOUR DISTRO> main
+ deb [trusted=yes] file:$TDE_DIR/3_repo <YOUR DISTRO> main
For example:
deb [trusted=yes] file:/home/tde_src/3_repo buster main
+11) Depending on your git version, you may have an error about a suspicious folder when trying to run the "create_repo.sh" script.
+ In such case follow the suggested command and add the "tde" folder to your git safe folders.
+ git config --global --add safe.directory TDE_DIR/1_git/tde
----------------------
@@ -181,18 +206,19 @@ When building sets of modules or the whole TDE, a global build summary is automa
build_module.sh [options] [module_name]
Options:
-g (Git) : build from git repo sources. If missing, build from the local copy in build folder.
- -l (Local) : build the module locally. If missing, build in a clean chroot environment
- -p <folder> (Path): build from the specified folder. This option cannot be used together with -g.
- The path must be a module in the git repository or in the local build folder.
- This option is mostly intended to be used when using branches with git worktrees.
+ -l (Local) : build the module locally. If missing then
+ you should be able to successfully build pytdeextensions., build in a clean chroot environment
+ -p <folder> (Path): build from the specified folder. This option cannot be used together with -g.
+ The path must be a module in the git repository or in the local build folder.
+ This option is mostly intended to be used when using branches with git worktrees.
-sl (Show Log) : output the building logs to terminal while the build is ongoing
-lr (Log Result) : log (append) build result (OK, FAILED) to TDE_DIR/0_logs/build_result.log file
-sh (Shell Hook) : use a shell hook for failing builds, only valid if building using pbuilder (clean chroot environment)
-po (Prepare Only): only prepare the source folder but do not build the module. Useful to prepare the source code before
doing local changes/development. The module can then be built from the modified local folder
-d (Debug) : enable debug symbols if possible (debian/rules file must contain "RelWithDebInfo" for this to work)
- module_name : the module to build. If '-p <folder>' is used, this parameter must not be specified since the module
- is derived from the <folder> parameter.
+ module_name : the module to build. If '-p <folder>' is used, this parameter must not be specified since the module
+ is derived from the <folder> parameter.
- <dd>_<set_name>.sh
A number of scripts used to build sets of modules. Each script builds an individual set.
@@ -204,11 +230,11 @@ When building sets of modules or the whole TDE, a global build summary is automa
-s N: if specified, skip first N modules from the set of modules
The sets are logically grouped as "base system", "applications" and "meta packages".
- 00_extradeps.sh : extra dependencies modules
+ 00_pre_base.sh : prerequirements and extra dependencies modules
01_base_01.sh - 04_base_04.sh : base system
05_apps_system.sh - 16_apps_misc.sh : application modules
17_meta_packages.sh : meta package modules
- 91_build_base.sh : whole TDE base system in 00_extradeps.sh - 04_base_04.sh
+ 91_build_base.sh : whole TDE base system in 00_pre_base.sh - 04_base_04.sh
92_build_applications.sh : all TDE applications in 05_apps_system.sh - 16_apps_misc.sh
- 99_build_TDE.sh
@@ -219,7 +245,7 @@ When building sets of modules or the whole TDE, a global build summary is automa
- create_repo.sh
Creates a local repository from the .deb files currently stored in TDE_DIR/2_build/debs.
Usage:
- [sudo] create_repo.sh [options]
+ sudo create_repo.sh [options]
Options:
-b (Backup) : create a backup of the existing repository in TDE_DIR/CFG_REPO_DIR.backup
@@ -232,7 +258,6 @@ There are two type of hooks:
To use a hook, create an executable script (pre_build.sh and/or post_build.sh) in the TDE_DIR/1_git/hooks/<MODULE NAME> folder. The scripts are executed in the build_module.sh environment, so have access to all the variables defined in that file. See the files in the "hook examples" folder for real usage samples.
-
-------------------------
C) How to use the scripts
-------------------------
@@ -245,7 +270,7 @@ C) How to use the scripts
5) Build modules as per your needs. You don't need to use "sudo" directly since the scripts will do that automatically if
required. Just type your sudo password when prompted to do so.
6) Create a local repository from the packages you have just built, to be used as installation repository.
- [sudo] ./create_repo.sh
+ sudo ./create_repo.sh
7) Install TDE as you usually do. For example as follow:
- sudo apt-get update
- sudo aptitude install tdebase-trinity (for a minimalistic TDE environment)
diff --git a/debian/_buildscripts/local/additional_files/etc/pbuilderrc b/debian/_buildscripts/local/additional_files/etc/pbuilderrc
index 6c6dc6f25..7eff414db 100644
--- a/debian/_buildscripts/local/additional_files/etc/pbuilderrc
+++ b/debian/_buildscripts/local/additional_files/etc/pbuilderrc
@@ -45,25 +45,25 @@ BASETGZ="/var/cache/pbuilder/base-$DISTRIBUTION@$ARCHITECTURE.tgz"
#-- select apt components
case "$DISTRIBUTION" in
# debian
- sid|bookwork|bullseye|buster|stretch)
+ sid|forky|trixie|bookwork|bullseye)
COMPONENTS="main contrib non-free"
;;
# devuan
- ceres|daedalus|chimaera|beowulf|ascii)
+ ceres|excalibur|daedalus|chimaera)
COMPONENTS="main"
DEBOOTSTRAPOPTS=(--variant=buildd --no-check-gpg)
EXTRAPACKAGES="$EXTRAPACKAGES devuan-keyring"
;;
# ubuntu
- jammy|impish|hirsute|groovy|focal|bionic|xenial)
+ questing|plucky|oracular|noble|jammy|focal|bionic)
COMPONENTS="main restricted universe multiverse"
DEBOOTSTRAPOPTS=(--variant=buildd)
;;
# raspbian
- raspbian-bookworm|raspbian-bullseye|raspbian-buster|raspbian-stretch)
+ raspbian-trixie|raspbian-bookworm|raspbian-bullseye)
COMPONENTS="main contrib non-free"
DEBOOTSTRAPOPTS=(--variant=buildd --no-check-gpg)
;;
@@ -73,17 +73,17 @@ EXTRAPACKAGES="$EXTRAPACKAGES fakeroot apt-transport-https ca-certificates"
#-- select base apt sources
case "$DISTRIBUTION" in
# debian
- sid|bookwork|bullseye|buster|stretch)
+ sid|forky|trixie|bookwork|bullseye)
MIRRORSITE=http://deb.debian.org/debian
;;
# devuan
- ceres|daedalus|chimaera|beowulf|ascii)
- MIRRORSITE=http://auto.mirror.devuan.org/merged
+ ceres|excalibur|daedalus|chimaera)
+ MIRRORSITE=https://pkgmaster.devuan.org/merged
;;
# ubuntu
- jammy|impish|hirsute|groovy|focal|bionic|xenial)
+ questing|plucky|oracular|noble|jammy|focal|bionic)
if [ "$ARCHITECTURE" = "amd64" ] || [ "$ARCHITECTURE" = "i386" ]; then
MIRRORSITE=http://archive.ubuntu.com/ubuntu
else
@@ -92,7 +92,7 @@ case "$DISTRIBUTION" in
;;
# raspbian
- raspbian-bookworm|raspbian-bullseye|raspbian-buster|raspbian-stretch)
+ raspbian-trixie|raspbian-bookworm|raspbian-bullseye)
MIRRORSITE=http://ftp.fi.muni.cz/pub/linux/raspbian/raspbian
;;
esac
@@ -108,12 +108,7 @@ APTCACHE="/var/cache/pbuilder/aptcache/$DISTRO-$DISTRIBUTION/"
if [ -n "$APTCACHE" ] && [ ! -d "$APTCACHE" ]; then
mkdir $APTCACHE
fi
-if [ -z "$(stat -L --print "%d\n" $APTCACHE/. /var/cache/pbuilder/build/. | uniq -d)" ]; then
- # apt cache for build on tmpfs is managed by hook scripts
- BINDMOUNTS="${BINDMOUNTS} ${APTCACHE}"
- APTCACHEHARDLINK=no
- APTCACHE=""
-fi
+APTCACHEHARDLINK=no
#-- extra options
DEBBUILDOPTS="-b"
@@ -122,19 +117,6 @@ if [ -z "$DEB_SIGN_KEYID" ]; then
AUTO_DEBSIGN=${AUTO_DEBSIGN:-no}
fi
-#-- choose dependency solver
-#-- apt is better if target distribution contains apt >= 1.4~beta3
-#-- aptitude is better if target distribution contains apt < 1.4~beta3
-case "$DISTRIBUTION" in
- sid|bookwork|bullseye|buster|stretch|\
- ceres|daedalus|chimaera|beowulf|ascii|\
- raspbian-bookworm|raspbian-bullseye|raspbian-buster|raspbian-stretch|\
- jammy|impish|hirsute|groovy|focal|bionic)
- PBUILDERSATISFYDEPENDSCMD="/usr/lib/pbuilder/pbuilder-satisfydepends-apt"
- ;;
-
- xenial)
- PBUILDERSATISFYDEPENDSCMD="/usr/lib/pbuilder/pbuilder-satisfydepends-aptitude"
- ;;
-esac
-
+#-- dependency solver
+#PBUILDERSATISFYDEPENDSCMD="/usr/lib/pbuilder/pbuilder-satisfydepends-apt"
+PBUILDERSATISFYDEPENDSCMD="/usr/lib/pbuilder/pbuilder-satisfydepends-classic"
diff --git a/debian/_buildscripts/local/build_module.sh b/debian/_buildscripts/local/build_module.sh
index 94fdab76a..09c80f2bf 100755
--- a/debian/_buildscripts/local/build_module.sh
+++ b/debian/_buildscripts/local/build_module.sh
@@ -69,54 +69,62 @@ function search_module()
MODULE_FOUND="n"
- # Search in GIT repository
- LOC_MATCH=`sed -n "s|^\[submodule \"main/\([^\"]*\)\"\]$|\1|p" <"$REPO_TDE/.gitmodules" | grep "$LOC_MOD_NAME$"`
+ # Check if it is a metapackage
+ LOC_BASENAME=`echo "$LOC_MOD_NAME" | sed -r "s|^(metapackages/)?||"`
+ LOC_MATCH=`ls "$REPO_TDE_MAIN/metapackages" | grep "^$LOC_BASENAME\$"`
if [ "$LOC_MATCH" != "" -a "`echo $LOC_MATCH | wc -l`" = "1" ]; then
- # Unique module
+ # Unique metapackage found
MODULE_FOUND="y"
- MOD_NAME=$LOC_MATCH
- if [ "${bool_BUILD_FROM_PATH}" = "y" ]; then
- MOD_GIT_PATH="$MOD_PATH"
- else
- MOD_GIT_PATH="$REPO_TDE_MAIN/$MOD_NAME"
- fi
- MOD_GIT_PKGING_PATH="$REPO_TDE_PACKAGING/$MOD_NAME/debian"
- MOD_BUILD_PATH="$TDE_BUILD_DIR/$MOD_NAME"
+ bool_METAPACKAGE_MOD="y"
+ MOD_NAME="metapackages/$LOC_MATCH"
+ MOD_GIT_PATH="$REPO_TDE_MAIN/metapackages/$LOC_BASENAME"
+ MOD_GIT_PKGING_PATH="$REPO_TDE_PACKAGING/$MOD_NAME/debian"
+ MOD_BUILD_PATH="$TDE_BUILD_DIR/metapackages/$LOC_BASENAME"
else
- # Search for a unique folder with the same name
- if [ -d "${REPO_TDE_MAIN}/$LOC_MOD_NAME" ]; then
- # Folder found
+ # Search for unique GIT repository
+ if [[ "$str" == */* ]]; then
+ # Module name contains path too
+ LOC_MATCH=`sed -n "s|^\[submodule \"main/\([^\"]*\)\"\]$|\1|p" <"$REPO_TDE/.gitmodules" | grep "$LOC_MOD_NAME$"`
+ else
+ # Module name only, no path. Search for exact name match
+ LOC_MATCH=`sed -n "s|^\[submodule \"main/\([^\"]*\)\"\]$|\1|p" <"$REPO_TDE/.gitmodules" | grep "/$LOC_MOD_NAME$"`
+ fi
+ if [ "$LOC_MATCH" != "" -a "`echo $LOC_MATCH | wc -l`" = "1" ]; then
+ # Unique module
MODULE_FOUND="y"
- MOD_NAME=$LOC_MOD_NAME
- MOD_GIT_PATH="$REPO_TDE_MAIN/$MOD_NAME"
+ MOD_NAME=$LOC_MATCH
+ if [ "${bool_BUILD_FROM_PATH}" = "y" ]; then
+ MOD_GIT_PATH="$MOD_PATH"
+ else
+ MOD_GIT_PATH="$REPO_TDE_MAIN/$MOD_NAME"
+ fi
MOD_GIT_PKGING_PATH="$REPO_TDE_PACKAGING/$MOD_NAME/debian"
MOD_BUILD_PATH="$TDE_BUILD_DIR/$MOD_NAME"
else
- # Search in extra dependency folder
- LOC_BASENAME=`echo "$LOC_MOD_NAME" | sed -r "s|^${CFG_EXTRA_DEPS_DIR}/(debian/)?||"`
- LOC_MATCH=`ls "$REPO_EXTRA_DEPENDENCIES/debian" | grep "^$LOC_BASENAME\$"`
- if [ "$LOC_MATCH" != "" -a "`echo $LOC_MATCH | wc -l`" = "1" ]; then
- # Unique module found
+ # Search for a unique folder with the same name
+ if [ -d "${REPO_TDE_MAIN}/$LOC_MOD_NAME" ]; then
+ # Folder found
MODULE_FOUND="y"
- bool_EXTRADEP_MOD="y"
- MOD_NAME="$CFG_EXTRA_DEPS_DIR/$LOC_MATCH"
- MOD_GIT_PATH="$REPO_EXTRA_DEPENDENCIES/debian/$LOC_BASENAME"
- MOD_BUILD_PATH="$TDE_BUILD_DIR/$CFG_EXTRA_DEPS_DIR/$LOC_BASENAME"
+ MOD_NAME=$LOC_MOD_NAME
+ MOD_GIT_PATH="$REPO_TDE_MAIN/$MOD_NAME"
+ MOD_GIT_PKGING_PATH="$REPO_TDE_PACKAGING/$MOD_NAME/debian"
+ MOD_BUILD_PATH="$TDE_BUILD_DIR/$MOD_NAME"
else
- # Search in metapackages folder
- LOC_BASENAME=`echo "$LOC_MOD_NAME" | sed -r "s|^(metapackages/)?||"`
- LOC_MATCH=`ls "$REPO_TDE_MAIN/metapackages" | grep "^$LOC_BASENAME\$"`
+ # Search in extra dependency folder
+ LOC_BASENAME=`echo "$LOC_MOD_NAME" | sed -r "s|^${CFG_EXTRA_DEPS_DIR}/(debian/)?||"`
+ LOC_MATCH=`ls "$REPO_EXTRA_DEPENDENCIES/debian" | grep "^$LOC_BASENAME\$"`
if [ "$LOC_MATCH" != "" -a "`echo $LOC_MATCH | wc -l`" = "1" ]; then
# Unique module found
MODULE_FOUND="y"
- MOD_NAME="metapackages/$LOC_MATCH"
- MOD_GIT_PATH="$REPO_TDE_MAIN/metapackages/$LOC_BASENAME"
- MOD_GIT_PKGING_PATH="$REPO_TDE_PACKAGING/$MOD_NAME/debian"
- MOD_BUILD_PATH="$TDE_BUILD_DIR/metapackages/$LOC_BASENAME"
+ bool_EXTRADEP_MOD="y"
+ MOD_NAME="$CFG_EXTRA_DEPS_DIR/$LOC_MATCH"
+ MOD_GIT_PATH="$REPO_EXTRA_DEPENDENCIES/debian/$LOC_BASENAME"
+ MOD_BUILD_PATH="$TDE_BUILD_DIR/$CFG_EXTRA_DEPS_DIR/$LOC_BASENAME"
fi
fi
fi
fi
+ export MOD_BUILD_PATH
MOD_BUILD_PKGING_PATH="$MOD_BUILD_PATH/debian"
IFS=$OLDIFS
}
@@ -130,6 +138,7 @@ bool_BUILD_FROM_GIT="n"
bool_BUILD_FROM_PATH="n"
bool_BUILD_LOCALLY="n"
bool_EXTRADEP_MOD="n"
+bool_METAPACKAGE_MOD="n"
bool_SHOW_BUILD_LOGS="n"
bool_LOG_RESULT="n"
bool_SHELL_HOOK="n"
@@ -150,15 +159,15 @@ while [ $# -gt 0 ]; do
-lr) # Log build Result to file
bool_LOG_RESULT="y"
;;
- -p) # build from specific Path
+ -p) # build from specific Path
if [ -z "$MOD_NAME" ]; then
- shift
+ shift
MOD_NAME="$1"
- bool_BUILD_FROM_PATH="y"
+ bool_BUILD_FROM_PATH="y"
else
bool_INVALID_PARAMETERS="y"
fi
- ;;
+ ;;
-po) # Prepare build folder Only but do not build
bool_PREPARE_ONLY="y"
;;
@@ -189,29 +198,29 @@ fi
# If building from a given path, look up the module name
if [ "${bool_BUILD_FROM_PATH}" = "y" ]; then
- if [ -d "${MOD_NAME}" ]; then
- cd "${MOD_NAME}"
- MOD_PATH=`pwd`
- if [ "${USE_GIT_WORKTREES}" = "y" ]; then
- MOD_NAME=`git rev-parse --git-dir 2>/dev/null | sed "s|.*/\([^\/]\+\)\.git.*|\1|"`
- else
- MOD_NAME=`basename "${MOD_PATH}"`
- fi
- if [ "${MOD_NAME}" != "" -a "${MOD_NAME}" != "tde" -a "${MOD_NAME}" != ".git" ]; then
- # Valid git module
- if [[ "${MOD_PATH}" =~ ${TDE_BUILD_DIR} ]]; then
- # Module from build folder
- bool_BUILD_FROM_GIT="n"
- else
- # Module from git repo
- bool_BUILD_FROM_GIT="y"
- fi
- else
- MOD_NAME=""
- fi
- else
- MOD_NAME=""
- fi
+ if [ -d "${MOD_NAME}" ]; then
+ cd "${MOD_NAME}"
+ MOD_PATH=`pwd`
+ if [ "${USE_GIT_WORKTREES}" = "y" ]; then
+ MOD_NAME=`git rev-parse --git-dir 2>/dev/null | sed "s|.*/\([^\/]\+\)\.git.*|\1|"`
+ else
+ MOD_NAME=`basename "${MOD_PATH}"`
+ fi
+ if [ "${MOD_NAME}" != "" -a "${MOD_NAME}" != "tde" -a "${MOD_NAME}" != ".git" ]; then
+ # Valid git module
+ if [[ "${MOD_PATH}" =~ ${TDE_BUILD_DIR} ]]; then
+ # Module from build folder
+ bool_BUILD_FROM_GIT="n"
+ else
+ # Module from git repo
+ bool_BUILD_FROM_GIT="y"
+ fi
+ else
+ MOD_NAME=""
+ fi
+ else
+ MOD_NAME=""
+ fi
fi
echo -e "${CLightCyan}#### Processing module \"$MOD_NAME\" ####${CNone}"
@@ -267,14 +276,14 @@ done
#----------------------------
# Check if module is an extra dependency
if [[ $MOD_NAME =~ ^$CFG_EXTRA_DEPS_DIR/ ]]; then
- bool_EXTRADEP_MOD="y"
+ bool_EXTRADEP_MOD="y"
fi
# Make sure the module exists
search_module $MOD_NAME
if [ "$MODULE_FOUND" != "y" ]; then
- echo "Module \"$MOD_NAME\" not found"
- do_exit 5
+ echo "Module \"$MOD_NAME\" not found"
+ do_exit 5
fi
if [ "$bool_BUILD_FROM_GIT" = "y" ]; then
@@ -309,6 +318,31 @@ if [ -d "$MOD_BUILD_PATH" ]; then
$SUDO_CMD rm *.deb *.dsc *.changes *.tar.bz2 *.tar.gz *.tar.xz *.log *.buildinfo &>/dev/null
fi
+# calculate package version, if needed
+if [ "$bool_EXTRADEP_MOD" != "y" ]; then
+ cd $MOD_GIT_PATH
+ branch=`git symbolic-ref -q HEAD | sed "s|^refs/heads/||"`
+ if [[ -z "$branch" ]]; then
+ branch=`git branch --contains HEAD | egrep -v "no branch|detached" | head -n1 | cut -c 3-`
+ fi
+ target_tag=`git tag | grep -F "$TDE_RELEASE" | head -n1`
+ tag=`git tag | \
+ sed "s|^\([^0-9]\)|\1.|" | sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr -k 5,5nr | sed "s|^\([^0-9]\)\.|\1|" | \
+ while read t; do \
+ git branch --contains $t | cut -c 3- | grep -x "$branch" >/dev/null && \
+ echo "$t..HEAD" && break; done`
+ count=`git log $tag --pretty=oneline | wc -l`
+ pkgver=$TDE_RELEASE
+ if [[ "$count" -gt 0 ]] || [[ -z "$target_tag" ]]; then
+ pkgver=$pkgver~pre$count+$(git rev-parse HEAD | cut -c 1-8)
+ fi
+ MOD_BRANCH=`git symbolic-ref -q HEAD | sed "s|^refs/heads/||"`
+ if [[ -z "$MOD_BRANCH" ]]; then
+ MOD_BRANCH=`git branch --contains HEAD | egrep -v "no branch|detached" | head -n1 | cut -c 3-`
+ fi
+ COMMIT_HASH=`git rev-parse HEAD`
+fi
+
# copy main repo source files, if needed
if [ "$bool_COPY_MOD_SRC" = "y" ]; then
bool_COPY_PKGING_FILES="y"
@@ -319,12 +353,7 @@ if [ "$bool_COPY_MOD_SRC" = "y" ]; then
# Add GIT information
echo "# TDE SCM module information" > "$MOD_BUILD_PATH/.tdescminfo"
echo "Name: $MOD_NAME" >> "$MOD_BUILD_PATH/.tdescminfo"
- cd "$MOD_GIT_PATH"
- MOD_BRANCH=`git symbolic-ref -q HEAD | sed "s|^refs/heads/||"`
- if [[ -z "$MOD_BRANCH" ]]; then
- MOD_BRANCH=`git branch --contains HEAD | egrep -v "no branch|detached" | head -n1 | cut -c 3-`
- fi
- COMMIT_HASH=`git rev-parse HEAD`
+ echo "Version: R$pkgver" >> "$MOD_BUILD_PATH/.tdescminfo"
echo "Revision: $MOD_BRANCH-$COMMIT_HASH" >> "$MOD_BUILD_PATH/.tdescminfo"
git log -1 --pretty=format:"DateTime: %cd%n" --date=format:"%m/%d/%Y %H:%M" >> "$MOD_BUILD_PATH/.tdescminfo"
else
@@ -338,7 +367,7 @@ if [ "$bool_COPY_MOD_SRC" = "y" ]; then
QUILT_PATCHES="debian/patches" quilt push -a >/dev/null
# Make sure patches are not reapplied in future local builds. This could stop pdebuild from working.
if [ -f "$MOD_BUILD_PATH/debian/patches/series" ]; then
- cp /dev/null "$MOD_BUILD_PATH/debian/patches/series"
+ rm "$MOD_BUILD_PATH/debian/patches/series"
fi
else
echo "There must be one and only one module folder in \"$MOD_GIT_PATH\""
@@ -352,31 +381,25 @@ if [ "$bool_EXTRADEP_MOD" != "y" -a "$bool_COPY_PKGING_FILES" = "y" ]; then
if [ -d "$MOD_BUILD_PKGING_PATH" ]; then
$SUDO_CMD rm -R $MOD_BUILD_PKGING_PATH
fi
- cp -R "$MOD_GIT_PKGING_PATH" "$MOD_BUILD_PKGING_PATH"
-
- # Default package name
- # Calculate package version
- cd $MOD_GIT_PATH
- branch=`git symbolic-ref -q HEAD | sed "s|^refs/heads/||"`
- if [[ -z "$branch" ]]; then
- branch=`git branch --contains HEAD | egrep -v "no branch|detached" | head -n1 | cut -c 3-`
+ if [ "$bool_METAPACKAGE_MOD" = "y" ]; then
+ cp -R "$MOD_GIT_PKGING_PATH/.." "$MOD_BUILD_PATH"
+ else
+ cp -R "$MOD_GIT_PKGING_PATH" "$MOD_BUILD_PKGING_PATH"
fi
- target_tag=`git tag | grep -F "$TDE_RELEASE" | head -n1`
- tag=`git tag | \
- sed "s|^\([^0-9]\)|\1.|" | sort -t. -k 1,1nr -k 2,2nr -k 3,3nr -k 4,4nr -k 5,5nr | sed "s|^\([^0-9]\)\.|\1|" | \
- while read t; do \
- git branch --contains $t | cut -c 3- | grep -x "$branch" >/dev/null && \
- echo "$t..HEAD" && break; done`
- count=`git log $tag --pretty=oneline | wc -l`
- package=$(basename $PWD)-trinity-$TDE_RELEASE
- if [[ "$count" -gt 0 ]] || [[ -z "$target_tag" ]]; then
- package=$package~pre$count+$(git rev-parse HEAD | cut -c 1-8)
+ if [[ -s "$MOD_BUILD_PKGING_PATH/patches/series" ]]; then
+ cd "$MOD_BUILD_PATH"
+ QUILT_PATCHES="debian/patches" quilt push -a
+ # Make sure patches are not reapplied in future local builds. This could stop pdebuild from working.
+ if [ -f "$MOD_BUILD_PKGING_PATH/patches/series" ]; then
+ rm "$MOD_BUILD_PKGING_PATH/patches/series"
+ fi
fi
+
+ # Default package name
+ package=$(basename $PWD)-trinity-$pkgver
REL=4:$TDE_RELEASE${package#*$TDE_RELEASE}
REL=${REL%+*}
REL=${REL/4:14.0.0/4:14.0.0-s}
- REL=${REL/4:14.0.0-s~pre/4:14.0.0-s~}
- REL=${REL/.0~pre/.0~s}
# Get package name and packaging release
PKG_NAME=$(head -n1 $MOD_BUILD_PKGING_PATH/changelog)
PKG_NAME=${PKG_NAME%% *}
@@ -395,8 +418,18 @@ if [ "$bool_EXTRADEP_MOD" != "y" -a "$bool_COPY_PKGING_FILES" = "y" ]; then
ADD_REL=0
# Update changelog
+ cd $MOD_GIT_PATH
REPO_DATE=`git log -1 --pretty=format:"%cd%n" --date=rfc`
- GITUSER="$(git config --get user.name) <$(git config --get user.email)>"
+ GITUSERNAME="$(git config --get user.name)"
+ GITUSEREMAIL="$(git config --get user.email)"
+ if [ -z "$GITUSERNAME" ]; then
+ GITUSERNAME="anonymous"
+ fi
+ if [ -z "$GITUSEREMAIL" ]; then
+ GITUSEREMAIL="anonymous@anonymous.org"
+ fi
+ GITUSER="$GITUSERNAME <$GITUSEREMAIL>"
+ cd $MOD_BUILD_PATH
echo "$PKG_NAME ($REL-0$DISTRO$DISTRO_VERSION.$ADD_REL+$PKG_REL) $DISTRO_NAME; urgency=low" > "$MOD_BUILD_PKGING_PATH/changelog"
echo -e "\n * Automated git build\n\n -- $GITUSER $REPO_DATE\n" >> "$MOD_BUILD_PKGING_PATH/changelog"
cat "$REPO_TDE_PACKAGING/$MOD_NAME/debian/changelog" >> "$MOD_BUILD_PKGING_PATH/changelog"
@@ -488,7 +521,7 @@ if [ "$bool_BUILD_LOCALLY" = "y" ]; then
fi
else
## Build module in a clean chroot environment using pbuilder
- $SUDO_CMD . "$SCRIPT_DIR/internals/_pbuilder.sh"
+ $SUDO_CMD "$SCRIPT_DIR/internals/_pbuilder.sh"
build_retval=$?
if [ "`whoami`" != "root" ]; then
cd "$MOD_DEB_PATH"
diff --git a/debian/_buildscripts/local/create_repo.sh b/debian/_buildscripts/local/create_repo.sh
index 222cb7740..524c4aecd 100755
--- a/debian/_buildscripts/local/create_repo.sh
+++ b/debian/_buildscripts/local/create_repo.sh
@@ -45,7 +45,7 @@ rsync -aHS --exclude="*/src/*.xz" --exclude="*/src/*.dsc" --exclude="*/src/*.cha
# Create package index file
echo -e "${CYellow}> Creating package index file${CNone}"
cd "$REPO_DIR"
-dpkg-scanpackages "./$ARCH_PATH" | gzip -9c > "./$ARCH_PATH/Packages.gz"
+dpkg-scanpackages "./$ARCH_PATH" > "./$ARCH_PATH/Packages"
#----------------------------
diff --git a/debian/_buildscripts/local/internals/_config_template.sh b/debian/_buildscripts/local/internals/_config_template.sh
index 232d99799..ff506273c 100644
--- a/debian/_buildscripts/local/internals/_config_template.sh
+++ b/debian/_buildscripts/local/internals/_config_template.sh
@@ -5,21 +5,26 @@ set -a
#----------------------------
# Repo information
#----------------------------
-TDE_DIR="" # TDE root folder
-UPDATE_BRANCHES="master" # Space separated list. Available choices: master, r14.0.x
+TDE_DIR="$HOME/tde_src" # TDE root folder
+
+USE_GIT_WORKTREES="n" # If == "y", use git worktrees. Need consistent cloned repository to start.
+UPDATE_BRANCHES="master r14.1.x" # Space separated list of branches to update. If using git worktrees,
+ # this list contains the branches for which worktrees will be created.
DEFAULT_REPO_BRANCH="master" # After update in completed, switch repo to this branch. Must be
# one of the branches specified in UPDATE_BRANCHES
#----------------------------
# Build information
#----------------------------
-TDE_RELEASE="14.1.0" # TDE release number
-DISTRO="" # Distro family (leave empty for auto-detection). For ex. debian
-DISTRO_NAME="" # Distro name of specific version (leave empty for auto-detection). For ex. buster
-ARCHITECTURE="" # Build for this architecture (leave empty for auto-detection). For ex. amd64
+TDE_RELEASE="14.2.0" # TDE release number
+DISTRO="" # Distro family (leave empty for auto-detection). For ex. debian
+DISTRO_NAME="" # Distro name of specific version (leave empty for auto-detection). For ex. buster
+ARCHITECTURE="" # Build for this architecture (leave empty for auto-detection). For ex. amd64
USE_PREBUILD_EXTRA_DEPS="y" # If == "y", use pre-built extra dependency packages
+USE_PREBUILD_PACKAGES="n" # If == "y", use pre-built TDE packages to satisfy package dependencies
+ # This is useful to build individual packages without having to do a full TDE build
BUILD_DEFAULT_OPTIONS="-g -lr" # Default building options (pbuilder)
-GPG_SIGN_KEYID="" # Use this GPG key to sign packages. If null, packages will not be signed
+GPG_SIGN_KEYID="" # Use this GPG key to sign packages. If null, packages will not be signed
#----------------------------
# Base directories
@@ -28,7 +33,7 @@ CFG_SCRIPT_LOG_DIR="0_logs"
CFG_GIT_DIR="1_git"
CFG_BUILD_DIR="2_build"
CFG_REPO_DIR="3_repo"
-CFG_EXTRA_DEPS_DIR="edeps" # Relative to CFG_GIT_DIR folder. Only required if USE_PREBUILD_EXTRA_DEPS != "y"
-CFG_HOOKS_DIR="hooks" # Relative to CFG_GIT_DIR folder
+CFG_EXTRA_DEPS_DIR="edeps" # Relative to CFG_GIT_DIR folder. Only required if USE_PREBUILD_EXTRA_DEPS != "y"
+CFG_HOOKS_DIR="hooks" # Relative to CFG_GIT_DIR folder
set +a
diff --git a/debian/_buildscripts/local/internals/_pbuilder.sh b/debian/_buildscripts/local/internals/_pbuilder.sh
index 5f00e718a..f8056de82 100755
--- a/debian/_buildscripts/local/internals/_pbuilder.sh
+++ b/debian/_buildscripts/local/internals/_pbuilder.sh
@@ -1,5 +1,7 @@
#!/bin/bash
+source "$SCRIPT_DIR/internals/prebuilt_pkg_paths.txt"
+
function run_pdebuild()
{
# pbuilder absolute paths
@@ -37,7 +39,9 @@ function run_pdebuild()
(cd "$TDE_DEBS_DIR"; apt-ftparchive packages . > Packages)
echo "deb [trusted=yes] file:$TDE_DEBS_DIR ./" >> /etc/apt/sources.list
END_D05_01
- if [[ "$USE_PREBUILD_EXTRA_DEPS" = "y" ]]; then
+
+ # -- prebuilt TDE packages
+ if [[ "$USE_PREBUILD_PACKAGES" = "y" ]]; then
# Get building branch from .tdescminfo file
if [[ -f "$MOD_BUILD_PATH/.tdescminfo" ]]; then
BUILD_BRANCH=`sed -n -r "s/^Revision: ([^-]+)-.*/\1/p" "$MOD_BUILD_PATH/.tdescminfo"`
@@ -51,25 +55,58 @@ echo "deb [trusted=yes] $l_repo $DISTRO_NAME $l_component" >> /etc/apt/sources.l
END_D05_02
break
fi
- done <<< $(cat "$SCRIPT_DIR/internals/extra_deps.txt" | grep -E "^[[:space:]]*[^#[:space:]]+[[:space:]]+[^[:space:]]+.*$")
+ done <<< $(echo "$TDE_PREBUILT_PKGS" | grep -E "^[[:space:]]*[^#[:space:]]+[[:space:]]+[^[:space:]]+.*$")
if [ "$bool_EDEPS_FOUND" != "y" ]; then
# EDEPS repository not found, use default. This could happen when building from sub branches of the main package repo
+ while read l_branch l_repo l_component; do
+ if [ "$l_branch" = "default" ]; then
+ bool_EDEPS_FOUND="y"
+ cat <<END_D05_03 >> "$PBUILDER_DEPS_HOOK"
+echo "deb [trusted=yes] $l_repo $DISTRO_NAME $l_component" >> /etc/apt/sources.list
+END_D05_03
+ break
+ fi
+ done <<< $(echo "$TDE_PREBUILT_PKGS" | grep -E "^[[:space:]]*[^#[:space:]]+[[:space:]]+[^[:space:]]+.*$")
+ fi
+ IFS=$OLD_IFS
+ fi
+ fi
+
+ # -- prebuilt extra dependencies
+ if [[ "$USE_PREBUILD_EXTRA_DEPS" = "y" ]]; then
+ # Get building branch from .tdescminfo file
+ if [[ -f "$MOD_BUILD_PATH/.tdescminfo" ]]; then
+ BUILD_BRANCH=`sed -n -r "s/^Revision: ([^-]+)-.*/\1/p" "$MOD_BUILD_PATH/.tdescminfo"`
+ bool_EDEPS_FOUND="n"
+ OLD_IFS=$IFS && IFS=$' \t'
while read l_branch l_repo l_component; do
- if [ "$l_branch" = "default" ]; then
+ if [ "$l_branch" = "$BUILD_BRANCH" ]; then
bool_EDEPS_FOUND="y"
- cat <<END_D05_02 >> "$PBUILDER_DEPS_HOOK"
+ cat <<END_D05_04 >> "$PBUILDER_DEPS_HOOK"
echo "deb [trusted=yes] $l_repo $DISTRO_NAME $l_component" >> /etc/apt/sources.list
-END_D05_02
+END_D05_04
break
fi
- done <<< $(cat "$SCRIPT_DIR/internals/extra_deps.txt" | grep -E "^[[:space:]]*[^#[:space:]]+[[:space:]]+[^[:space:]]+.*$")
+ done <<< $(echo "$TDE_PREBUILT_EDEPS" | grep -E "^[[:space:]]*[^#[:space:]]+[[:space:]]+[^[:space:]]+.*$")
+ if [ "$bool_EDEPS_FOUND" != "y" ]; then
+ # EDEPS repository not found, use default. This could happen when building from sub branches of the main package repo
+ while read l_branch l_repo l_component; do
+ if [ "$l_branch" = "default" ]; then
+ bool_EDEPS_FOUND="y"
+ cat <<END_D05_05 >> "$PBUILDER_DEPS_HOOK"
+echo "deb [trusted=yes] $l_repo $DISTRO_NAME $l_component" >> /etc/apt/sources.list
+END_D05_05
+ break
+ fi
+ done <<< $(echo "$TDE_PREBUILT_EDEPS" | grep -E "^[[:space:]]*[^#[:space:]]+[[:space:]]+[^[:space:]]+.*$")
fi
IFS=$OLD_IFS
fi
fi
- cat <<END_D05_03 >> "$PBUILDER_DEPS_HOOK"
+
+ cat <<END_D05_06 >> "$PBUILDER_DEPS_HOOK"
apt-get update
-END_D05_03
+END_D05_06
chmod a+x "$PBUILDER_DEPS_HOOK"
# Build
OPT_BUILD_PARALLEL=""
diff --git a/debian/_buildscripts/local/internals/distro_list.txt b/debian/_buildscripts/local/internals/distro_list.txt
index 0bcb3fe81..440b8bd94 100644
--- a/debian/_buildscripts/local/internals/distro_list.txt
+++ b/debian/_buildscripts/local/internals/distro_list.txt
@@ -10,30 +10,28 @@
#
# debian
-debian 9.0 stretch - -
-debian 10.0 buster - -
debian 11.0 bullseye - -
-debian 12.0 bookworm ~a -
-debian 13.0 sid ~b -
+debian 12.0 bookworm - -
+debian 13.0 trixie - -
+debian 14.0 forky ~a -
+debian 15.0 sid ~b -
# devuan
-devuan 2.0 ascii - debian/stretch
-devuan 3.0 beowulf - debian/buster
devuan 4.0 chimaera - debian/bullseye
-devuan 5.0 daedalus ~a debian/bookwork
-devuan 6.0 ceres ~b debian/sid
+devuan 5.0 daedalus - debian/bookwork
+devuan 6.0 excalibur ~a debian/trixie
+devuan 7.0 ceres ~b debian/sid
# raspbian
-raspbian 9.0 raspbian-stretch - -
-raspbian 10.0 raspbian-buster - -
raspbian 11.0 raspbian-bullseye - -
-raspbian 12.0 raspbian-bookworm ~a -
+raspbian 12.0 raspbian-bookworm - -
+raspbian 13.0 raspbian-trixie - -
# ubuntu
-ubuntu 16.04 xenial - -
ubuntu 18.04 bionic - -
ubuntu 20.04 focal - -
-ubuntu 20.10 groovy - -
-ubuntu 21.04 hirsute - -
-ubuntu 21.10 impish - -
-ubuntu 22.04 jammy ~a -
+ubuntu 22.04 jammy - -
+ubuntu 24.04 noble - -
+ubuntu 24.10 oracular - -
+ubuntu 25.04 plucky - -
+ubuntu 25.10 questing ~a -
diff --git a/debian/_buildscripts/local/internals/extra_deps.txt b/debian/_buildscripts/local/internals/extra_deps.txt
deleted file mode 100644
index b19514d84..000000000
--- a/debian/_buildscripts/local/internals/extra_deps.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/bash
-
-# List of repositories for extra dependency packages.
-# The "default" repo will be used in case a match can't be found.
-EDEPS_REPO="
- default http://mirror.ppa.trinitydesktop.org/trinity-testing deps
- master http://mirror.ppa.trinitydesktop.org/trinity-testing deps
- r14.0.x http://mirror.ppa.trinitydesktop.org/trinity-sb deps-r14
-"
diff --git a/debian/_buildscripts/local/internals/prebuilt_pkg_paths.txt b/debian/_buildscripts/local/internals/prebuilt_pkg_paths.txt
new file mode 100644
index 000000000..ca3063a40
--- /dev/null
+++ b/debian/_buildscripts/local/internals/prebuilt_pkg_paths.txt
@@ -0,0 +1,17 @@
+#!/bin/bash
+
+# List of repositories for TDE prebuilt packages.
+# The "default" repo will be used in case a match can't be found.
+TDE_PREBUILT_PKGS="
+ default http://mirror.ppa.trinitydesktop.org/trinity-testing main
+ master http://mirror.ppa.trinitydesktop.org/trinity-testing main
+ r14.1.x http://mirror.ppa.trinitydesktop.org/trinity-sb main-r14
+"
+
+# List of repositories for extra dependency packages.
+# The "default" repo will be used in case a match can't be found.
+TDE_PREBUILT_EDEPS="
+ default http://mirror.ppa.trinitydesktop.org/trinity-testing deps
+ master http://mirror.ppa.trinitydesktop.org/trinity-testing deps
+ r14.1.x http://mirror.ppa.trinitydesktop.org/trinity-sb deps-r14
+"
diff --git a/debian/_buildscripts/local/update_repositories.sh b/debian/_buildscripts/local/update_repositories.sh
index 4286393ef..57305c59d 100755
--- a/debian/_buildscripts/local/update_repositories.sh
+++ b/debian/_buildscripts/local/update_repositories.sh
@@ -283,6 +283,12 @@ function _do_worktree_update()
git branch -u "origin/${CURR_BR}" &>/dev/null #$
git reset --hard "origin/${CURR_BR}" &>/dev/null
fi
+ # If this is a clone of a local repository, make sure to do a fetch
+ # operation first, otherwise this clone won't see the latest changes
+ if [ "`git config --get remote.origin.url`" = "${MOD_REPO_PATH}" ]; then
+ eval git fetch --all --prune $GIT_NO_RECURSE_SUBMODULES $OPT_VERBOSE_LOG
+ eval git worktree prune $OPT_VERBOSE_LOG
+ fi
# Update
eval git reset --hard HEAD $OPT_VERBOSE_LOG
eval git clean -dxff $OPT_VERBOSE_LOG