summaryrefslogtreecommitdiffstats
path: root/debian/_buildscripts
diff options
context:
space:
mode:
Diffstat (limited to 'debian/_buildscripts')
-rwxr-xr-xdebian/_buildscripts/local/00_pre_base.sh (renamed from debian/_buildscripts/local/00_extradeps.sh)3
-rwxr-xr-xdebian/_buildscripts/local/01_base_01.sh5
-rwxr-xr-xdebian/_buildscripts/local/09_apps_development.sh1
-rwxr-xr-xdebian/_buildscripts/local/91_build_base.sh4
-rw-r--r--debian/_buildscripts/local/README.txt49
-rw-r--r--debian/_buildscripts/local/additional_files/etc/pbuilderrc21
-rwxr-xr-xdebian/_buildscripts/local/build_module.sh206
-rwxr-xr-xdebian/_buildscripts/local/create_repo.sh2
-rw-r--r--debian/_buildscripts/local/internals/_config_template.sh11
-rwxr-xr-xdebian/_buildscripts/local/internals/_pbuilder.sh53
-rw-r--r--debian/_buildscripts/local/internals/distro_list.txt16
-rw-r--r--debian/_buildscripts/local/internals/extra_deps.txt9
-rw-r--r--debian/_buildscripts/local/internals/prebuilt_pkg_paths.txt17
13 files changed, 239 insertions, 158 deletions
diff --git a/debian/_buildscripts/local/00_extradeps.sh b/debian/_buildscripts/local/00_pre_base.sh
index ec5aa1b54..082c47224 100755
--- a/debian/_buildscripts/local/00_extradeps.sh
+++ b/debian/_buildscripts/local/00_pre_base.sh
@@ -5,6 +5,9 @@
#----------------------------
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"
diff --git a/debian/_buildscripts/local/01_base_01.sh b/debian/_buildscripts/local/01_base_01.sh
index 53f605d88..ed8c46d62 100755
--- a/debian/_buildscripts/local/01_base_01.sh
+++ b/debian/_buildscripts/local/01_base_01.sh
@@ -5,14 +5,15 @@
#----------------------------
set_log_start
-build_module "metapackages/tde-cdbs"
-build_module "dependencies/tde-cmake"
build_module "dependencies/libr"
build_module "dependencies/akode"
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-1-tqt"
build_module "dependencies/tqca"
diff --git a/debian/_buildscripts/local/09_apps_development.sh b/debian/_buildscripts/local/09_apps_development.sh
index cb876661f..1d913e4f2 100755
--- a/debian/_buildscripts/local/09_apps_development.sh
+++ b/debian/_buildscripts/local/09_apps_development.sh
@@ -13,6 +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/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/README.txt b/debian/_buildscripts/local/README.txt
index 265205721..500435c09 100644
--- a/debian/_buildscripts/local/README.txt
+++ b/debian/_buildscripts/local/README.txt
@@ -11,19 +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.
- 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.
- - 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, cdbs, git, pbuilder, quilt, rsync and required dependencies.
- NOTE: sudo should already be installed. If not, install sudo as well.
+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)
@@ -94,9 +99,14 @@ 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/devuan/ubuntu.
- These modules can be built locally or alternatively pre-built binaries from the TDE archive 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)
@@ -128,6 +138,9 @@ A) Environment preparation
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
----------------------
@@ -193,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.
@@ -216,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
@@ -231,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
@@ -244,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
-------------------------
@@ -257,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 efe932b93..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|trixie|bookwork|bullseye|buster)
+ sid|forky|trixie|bookwork|bullseye)
COMPONENTS="main contrib non-free"
;;
# devuan
- ceres|excalibur|daedalus|chimaera|beowulf)
+ ceres|excalibur|daedalus|chimaera)
COMPONENTS="main"
DEBOOTSTRAPOPTS=(--variant=buildd --no-check-gpg)
EXTRAPACKAGES="$EXTRAPACKAGES devuan-keyring"
;;
# ubuntu
- oracular|noble|mantic|lunar|jammy|focal|bionic)
+ questing|plucky|oracular|noble|jammy|focal|bionic)
COMPONENTS="main restricted universe multiverse"
DEBOOTSTRAPOPTS=(--variant=buildd)
;;
# raspbian
- raspbian-trixie|raspbian-bookworm|raspbian-bullseye|raspbian-buster)
+ 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|trixie|bookwork|bullseye|buster)
+ sid|forky|trixie|bookwork|bullseye)
MIRRORSITE=http://deb.debian.org/debian
;;
# devuan
- ceres|excalibur|daedalus|chimaera|beowulf)
- MIRRORSITE=http://auto.mirror.devuan.org/merged
+ ceres|excalibur|daedalus|chimaera)
+ MIRRORSITE=https://pkgmaster.devuan.org/merged
;;
# ubuntu
- oracular|noble|mantic|lunar|jammy|focal|bionic)
+ 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-trixie|raspbian-bookworm|raspbian-bullseye|raspbian-buster)
+ raspbian-trixie|raspbian-bookworm|raspbian-bullseye)
MIRRORSITE=http://ftp.fi.muni.cz/pub/linux/raspbian/raspbian
;;
esac
@@ -118,4 +118,5 @@ if [ -z "$DEB_SIGN_KEYID" ]; then
fi
#-- dependency solver
-PBUILDERSATISFYDEPENDSCMD="/usr/lib/pbuilder/pbuilder-satisfydepends-apt"
+#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 515303ebe..09c80f2bf 100755
--- a/debian/_buildscripts/local/build_module.sh
+++ b/debian/_buildscripts/local/build_module.sh
@@ -69,56 +69,62 @@ function search_module()
MODULE_FOUND="n"
- # 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 metapackage found
- MODULE_FOUND="y"
+ # 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 metapackage found
+ MODULE_FOUND="y"
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 unique GIT repository
- LOC_MATCH=`sed -n "s|^\[submodule \"main/\([^\"]*\)\"\]$|\1|p" <"$REPO_TDE/.gitmodules" | grep "$LOC_MOD_NAME$"`
- if [ "$LOC_MATCH" != "" -a "`echo $LOC_MATCH | wc -l`" = "1" ]; then
- # Unique module
- 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"
- else
- # Search for a unique folder with the same name
- if [ -d "${REPO_TDE_MAIN}/$LOC_MOD_NAME" ]; then
- # Folder found
- MODULE_FOUND="y"
- 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 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"
- 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_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 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_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 for a unique folder with the same name
+ if [ -d "${REPO_TDE_MAIN}/$LOC_MOD_NAME" ]; then
+ # Folder found
+ MODULE_FOUND="y"
+ 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 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"
+ 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
}
@@ -153,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"
;;
@@ -192,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}"
@@ -270,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
@@ -330,11 +336,11 @@ if [ "$bool_EXTRADEP_MOD" != "y" ]; then
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`
+ 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
@@ -377,17 +383,17 @@ if [ "$bool_EXTRADEP_MOD" != "y" -a "$bool_COPY_PKGING_FILES" = "y" ]; then
fi
if [ "$bool_METAPACKAGE_MOD" = "y" ]; then
cp -R "$MOD_GIT_PKGING_PATH/.." "$MOD_BUILD_PATH"
- else
+ else
cp -R "$MOD_GIT_PKGING_PATH" "$MOD_BUILD_PKGING_PATH"
- fi
- if [[ -s "$MOD_BUILD_PKGING_PATH/patches/series" ]]; then
- cd "$MOD_BUILD_PATH"
- 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
+ fi
+ 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
@@ -412,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"
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 7c1e929c6..ff506273c 100644
--- a/debian/_buildscripts/local/internals/_config_template.sh
+++ b/debian/_buildscripts/local/internals/_config_template.sh
@@ -5,19 +5,24 @@ set -a
#----------------------------
# Repo information
#----------------------------
-TDE_DIR="" # TDE root folder
-UPDATE_BRANCHES="master" # Space separated list. Available choices: master, r14.1.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
+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
diff --git a/debian/_buildscripts/local/internals/_pbuilder.sh b/debian/_buildscripts/local/internals/_pbuilder.sh
index b520a93af..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_03 >> "$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_03
+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_04 >> "$PBUILDER_DEPS_HOOK"
+
+ cat <<END_D05_06 >> "$PBUILDER_DEPS_HOOK"
apt-get update
-END_D05_04
+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 ef1104eb9..440b8bd94 100644
--- a/debian/_buildscripts/local/internals/distro_list.txt
+++ b/debian/_buildscripts/local/internals/distro_list.txt
@@ -10,30 +10,28 @@
#
# debian
-debian 10.0 buster - -
debian 11.0 bullseye - -
debian 12.0 bookworm - -
-debian 13.0 trixie ~a -
-debian 14.0 sid ~b -
+debian 13.0 trixie - -
+debian 14.0 forky ~a -
+debian 15.0 sid ~b -
# devuan
-devuan 3.0 beowulf - debian/buster
devuan 4.0 chimaera - debian/bullseye
devuan 5.0 daedalus - debian/bookwork
devuan 6.0 excalibur ~a debian/trixie
devuan 7.0 ceres ~b debian/sid
# raspbian
-raspbian 10.0 raspbian-buster - -
raspbian 11.0 raspbian-bullseye - -
raspbian 12.0 raspbian-bookworm - -
-raspbian 13.0 raspbian-trixie ~a -
+raspbian 13.0 raspbian-trixie - -
# ubuntu
ubuntu 18.04 bionic - -
ubuntu 20.04 focal - -
ubuntu 22.04 jammy - -
-ubuntu 23.04 lunar - -
-ubuntu 23.10 mantic - -
ubuntu 24.04 noble - -
-ubuntu 24.10 oracular ~a -
+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 521b16d0c..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.1.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
+"