diff options
Diffstat (limited to 'debian/_buildscripts')
23 files changed, 194 insertions, 171 deletions
diff --git a/debian/_buildscripts/local/00_extradeps.sh b/debian/_buildscripts/local/00_extradeps.sh index 82edb1404..ec5aa1b54 100755 --- a/debian/_buildscripts/local/00_extradeps.sh +++ b/debian/_buildscripts/local/00_extradeps.sh @@ -9,16 +9,14 @@ 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..53f605d88 100755 --- a/debian/_buildscripts/local/01_base_01.sh +++ b/debian/_buildscripts/local/01_base_01.sh @@ -5,22 +5,21 @@ #---------------------------- set_log_start -build_module "common/cmake" +build_module "metapackages/tde-cdbs" +build_module "dependencies/tde-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" 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..cb876661f 100755 --- a/debian/_buildscripts/local/09_apps_development.sh +++ b/debian/_buildscripts/local/09_apps_development.sh @@ -13,5 +13,6 @@ build_module "applications/development/ktechlab" build_module "applications/development/kxmleditor" build_module "applications/development/piklab" build_module "applications/development/tdesvn" +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/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..265205721 100644 --- a/debian/_buildscripts/local/README.txt +++ b/debian/_buildscripts/local/README.txt @@ -14,8 +14,15 @@ A) Environment preparation It should work for other debian/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. + - 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. + - 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. 2) Create a base folder for TDE, hereafter referred to as TDE_DIR (for example $HOME/tde_src) @@ -41,7 +48,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 +57,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 +79,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 @@ -85,34 +95,36 @@ A) Environment preparation * 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. -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 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 diff --git a/debian/_buildscripts/local/additional_files/etc/pbuilderrc b/debian/_buildscripts/local/additional_files/etc/pbuilderrc index 6c6dc6f25..efe932b93 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|trixie|bookwork|bullseye|buster) COMPONENTS="main contrib non-free" ;; # devuan - ceres|daedalus|chimaera|beowulf|ascii) + ceres|excalibur|daedalus|chimaera|beowulf) COMPONENTS="main" DEBOOTSTRAPOPTS=(--variant=buildd --no-check-gpg) EXTRAPACKAGES="$EXTRAPACKAGES devuan-keyring" ;; # ubuntu - jammy|impish|hirsute|groovy|focal|bionic|xenial) + oracular|noble|mantic|lunar|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|raspbian-buster) 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|trixie|bookwork|bullseye|buster) MIRRORSITE=http://deb.debian.org/debian ;; # devuan - ceres|daedalus|chimaera|beowulf|ascii) + ceres|excalibur|daedalus|chimaera|beowulf) MIRRORSITE=http://auto.mirror.devuan.org/merged ;; # ubuntu - jammy|impish|hirsute|groovy|focal|bionic|xenial) + oracular|noble|mantic|lunar|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|raspbian-buster) 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,5 @@ 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" diff --git a/debian/_buildscripts/local/build_module.sh b/debian/_buildscripts/local/build_module.sh index 94fdab76a..515303ebe 100755 --- a/debian/_buildscripts/local/build_module.sh +++ b/debian/_buildscripts/local/build_module.sh @@ -69,54 +69,56 @@ 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$"` - 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" + # 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 - MOD_GIT_PATH="$REPO_TDE_MAIN/$MOD_NAME" + # 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 - 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" - 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\$"` - 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" - fi - fi - fi - fi + fi + export MOD_BUILD_PATH MOD_BUILD_PKGING_PATH="$MOD_BUILD_PATH/debian" IFS=$OLDIFS } @@ -130,6 +132,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" @@ -309,6 +312,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 +347,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 +361,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 +375,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" + 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 + 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 # 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-` - 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) - fi + 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%% *} @@ -488,7 +505,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/internals/_config_template.sh b/debian/_buildscripts/local/internals/_config_template.sh index 232d99799..7c1e929c6 100644 --- a/debian/_buildscripts/local/internals/_config_template.sh +++ b/debian/_buildscripts/local/internals/_config_template.sh @@ -5,8 +5,8 @@ set -a #---------------------------- # Repo information #---------------------------- -TDE_DIR="" # TDE root folder -UPDATE_BRANCHES="master" # Space separated list. Available choices: master, r14.0.x +TDE_DIR="" # TDE root folder +UPDATE_BRANCHES="master" # Space separated list. Available choices: master, r14.1.x DEFAULT_REPO_BRANCH="master" # After update in completed, switch repo to this branch. Must be # one of the branches specified in UPDATE_BRANCHES @@ -14,12 +14,12 @@ DEFAULT_REPO_BRANCH="master" # After update in completed, switch repo to th # 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 +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 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 +28,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..b520a93af 100755 --- a/debian/_buildscripts/local/internals/_pbuilder.sh +++ b/debian/_buildscripts/local/internals/_pbuilder.sh @@ -57,9 +57,9 @@ END_D05_02 while read l_branch l_repo l_component; do if [ "$l_branch" = "default" ]; then bool_EDEPS_FOUND="y" - cat <<END_D05_02 >> "$PBUILDER_DEPS_HOOK" + cat <<END_D05_03 >> "$PBUILDER_DEPS_HOOK" echo "deb [trusted=yes] $l_repo $DISTRO_NAME $l_component" >> /etc/apt/sources.list -END_D05_02 +END_D05_03 break fi done <<< $(cat "$SCRIPT_DIR/internals/extra_deps.txt" | grep -E "^[[:space:]]*[^#[:space:]]+[[:space:]]+[^[:space:]]+.*$") @@ -67,9 +67,9 @@ END_D05_02 IFS=$OLD_IFS fi fi - cat <<END_D05_03 >> "$PBUILDER_DEPS_HOOK" + cat <<END_D05_04 >> "$PBUILDER_DEPS_HOOK" apt-get update -END_D05_03 +END_D05_04 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..ef1104eb9 100644 --- a/debian/_buildscripts/local/internals/distro_list.txt +++ b/debian/_buildscripts/local/internals/distro_list.txt @@ -10,30 +10,30 @@ # # 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 ~a - +debian 14.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 ~a - # 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 23.04 lunar - - +ubuntu 23.10 mantic - - +ubuntu 24.04 noble - - +ubuntu 24.10 oracular ~a - diff --git a/debian/_buildscripts/local/internals/extra_deps.txt b/debian/_buildscripts/local/internals/extra_deps.txt index b19514d84..521b16d0c 100644 --- a/debian/_buildscripts/local/internals/extra_deps.txt +++ b/debian/_buildscripts/local/internals/extra_deps.txt @@ -5,5 +5,5 @@ 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 + 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 |