Сборка TDE

Материал из ALT Linux Wiki

На данной странице планируется описать воспроизводимый процесс сборки для ALT Linux с участием всех заинтересованных участников.

Внимание! При клонировании с github выбирайте ssh, а не https!


Информация на официальных ресурсах

Информация о сборке базовых модулей указана на вики TDE - https://wiki.trinitydesktop.org/How_to_Build_TDE_Core_Modules

Перевод

Компоненты для сборки

Для сборки пакетов Trinity необходимы:

  • cmake >= 2.8.12
  • autotools (automake, autoconf и т. д.).
  • компилятор C++. (g++ до 4.6 включительно)

Дополнительные зависимости:

  • X server
  • openssl
  • fontconfig
  • freetype
  • ghostscript
  • xdg support
  • libpng
  • libmng

Для сборки tdepim также понадобится libical.

TQt

Trinity использует набор инструментов виджетов TQt. TQt — форк последней версии Qt3 со значительным количеством исправления ошибок и улучшения. Поскольку Trolltech, первоначальный разработчик Qt, прекратил поддержку Qt3, проект Trinity Project форкнул его и продолжил его обслуживание и развитие.

Порядок сборки

Порядок сборки (осн.)
Компонент
1 tqt3
2 cmake-trinity
3 tqtinterface
4 arts
5 dbus-tqt
6 dbus-1-tqt
7 tqca-tls[1]
8 libart-lgpl
9 avahi-tqt[2]
10 tdelibs
11 tdebase

Адаптация для ALT

Наименование пакетов

В различных дистрибутивах используется разный способ.

  • Debian:

имя-trinity.pkg

  • Arch:

tde-имя.pkg

  • Redhat

trinity-имя.pkg

Компоненты для сборки

Библиотеки в ALT
Компонент Треб. версия Пакет Версия
сизифа
cmake >= 2.8.12 cmake 3.31.3
autotools - autobook 1.5
g++ <=4.6 gcc-c++ 14
Библиотеки в ALT
Компонент Пакет Версия
сизифа
X server
openssl
fontconfig fontconfig-devel
freetype libfreetype-devel
ghostscript
xdg support
libpng libpng-*-devel
libmng libmng-devel
libical libical-devel

Репозиторий с исходными кодами

Git-репозиторий с TDE расположен по адресу: https://mirror.git.trinitydesktop.org/gitea/TDE/

В нем располагаются подрепозитории с различными модулями.

Через веб-интерфейс можно выбрать модуль, его версию и получить git-ссылку.

Порядок работы

Сама сборка

Создаем каталог. Обзываем как-то TDE-build. Переходим в него.

$ mkdir tdebuild
$ cd tdebuild

Основное

1 cmake-trinity

Примечание: Репозиторий TDE - https://mirror.git.trinitydesktop.org/gitea/TDE/tde-cmake.git
Репозиторий для ALT - https://github.com/ALT-Linux-TDE/2-cmake-trinity


Для релиза 14.1.3

git clone https://mirror.git.trinitydesktop.org/gitea/TDE/tde-cmake.git --branch=r14.1.3

2 tqt3

Примечание: Репозиторий TDE - https://mirror.git.trinitydesktop.org/gitea/TDE/tqt3
Репозиторий для ALT - https://github.com/ALT-Linux-TDE/3-tqt3


Для релиза 14.1.3

git clone https://mirror.git.trinitydesktop.org/gitea/TDE/tqt3.git --branch=r14.1.3

На 12.01.25 hasher/gear-репозиторий создан и собирается.

3 tqtinterface

Примечание: Репозиторий TDE - https://mirror.git.trinitydesktop.org/gitea/TDE/tqtinterface/src/tag/r14.1.3
Репозиторий для ALT - https://github.com/ALT-Linux-TDE/4-tqtinterface


Для релиза 14.1.3

git clone https://mirror.git.trinitydesktop.org/gitea/TDE/tqtinterface.git --branch=r14.1.3

https://mirror.git.trinitydesktop.org/gitea/TDE/tqtinterface

4 arts

Примечание: Репозиторий TDE - https://mirror.git.trinitydesktop.org/gitea/TDE/arts/

Репозиторий для ALT - https://github.com/ALT-Linux-TDE/5-arts

Старые наработки RHihin - https://git.altlinux.org/gears/t/trinity-arts.git

Для релиза 14.1.3

git clone https://mirror.git.trinitydesktop.org/gitea/TDE/arts.git --branch=r14.1.3

На самом деле нужно так:

$ git clone https://scm.trinitydesktop.org/gitea/TDE/arts.git --branch=r14.1.3
$ cd arts
$ git submodule init
$ git submodule update --recursive
Примечание: По совету Zerg-а Arts не нужен. Его сборку можно просто пропустить, для его "отключения" в других модулях ничего в конфиги прописывать не нужно.


5 dbus-tqt

Примечание: Репозиторий TDE - https://mirror.git.trinitydesktop.org/gitea/TDE/dbus-tqt

Репозиторий для ALT - https://github.com/ALT-Linux-TDE/5-dbus-tqt

Старые наработки RHihin - https://git.altlinux.org/gears/t/trinity-dbus-tqt.git

Для релиза 14.1.3

git clone https://mirror.git.trinitydesktop.org/gitea/TDE/dbus-tqt.git --branch=r14.1.3

6 dbus-1-tqt

Примечание: Репозиторий TDE - https://mirror.git.trinitydesktop.org/gitea/TDE/dbus-1-tqt

Репозиторий для ALT - https://github.com/ALT-Linux-TDE/6-dbus-1-tqt

Старые наработки RHihin - https://git.altlinux.org/gears/t/trinity-dbus-1-tqt.git

Для релиза 14.1.3

git clone https://mirror.git.trinitydesktop.org/gitea/TDE/dbus-1-tqt.git --branch=r14.1.3

7 tqca-tls

Рекомендуется, но требуется для некоторых приложений, таких как надстройка Kopete OTR.

Будет пропущен.

8 libart-lgpl

Для релиза 14.1.3

git clone https://mirror.git.trinitydesktop.org/gitea/TDE/libart-lgpl.git --branch=r14.1.3
Ошибка
Macro %tde_bindir not found

После конвертации спека обнаружилась ошибка Macro %tde_bindir not found.

Поиск причины привел на нашу вики.

Igor Vlasenko писал:

По хорошему, вместо хака add_trinity_prefix.pl надо бы сделать скрипт, который удаляет из спеков все эти определения

%define tde_prefix /opt/trinity                                                                                                 
%define tde_bindir %{tde_prefix}/bin
%define tde_confdir %{_sysconfdir}/trinity
%define tde_datadir %{tde_prefix}/share
%define tde_docdir %{tde_datadir}/doc
%define tde_includedir %{tde_prefix}/include
%define tde_libdir %{tde_prefix}/%{_lib}
%define tde_mandir %{tde_datadir}/man
[...]

и вставляет вместо этого

BuildRequires(pre): rpm-macros-trinity.

Так что в будущем все эти строчки удаляем и добавляем

BuildRequires: tde-rpm-macros

Потому что пакет со скриптом теперь переименован.

process-lto: ERROR: ./usr/lib64/libart_lgpl_2.a: contains __gnu_lto_slim only.

См. Типы библиотек start

9 avahi-tqt

Для релиза 14.1.3

git clone https://mirror.git.trinitydesktop.org/gitea/TDE/avahi-tqt.git --branch=r14.1.3

10 tdelibs

Для релиза 14.1.3

git clone https://mirror.git.trinitydesktop.org/gitea/TDE/tdelibs.git --branch=r14.1.3
Внимание! Для tdelibs нужен a-tde-filesystem


11 tdebase

Для релиза 14.1.3

git clone https://mirror.git.trinitydesktop.org/gitea/TDE/tdebase.git --branch=r14.1.3

Дополнительное

a-tde-filesystem


Результаты

Результаты
Компонент Репозиторий srpm пакеты Одиночная зависимоть
1 tqt3 github tde-tqt3.src.rpm
  • tqt3
  • libtqt3-mt-devel
  • libtqt3-devel
  • libtqt3-mysql
  • libtqt3-odbc
  • libtqt3-psql
  • libtqt3-ibase
  • libtqt3-sqlite
  • libtqt3-sqlite3
  • tqt3-dev-tools
  • tqt3-dev-tools-devel
  • tqt3-designer
  • libtqt3-apps
  • libtqt3-apps-devel
  • tqt3-linguist
  • tqt3-assistant
  • tqt3-qtconfig
  • tqt3-dev-tools-embedded
  • tqt3-dev-tools-compat
  • tqt3-i18n
  • tqt3-doc
  • tqt3-examples
2 cmake-trinity github tde-cmake.src.rpm
  • tde-cmake
3 tqtinterface github tde-tqtinterface.src.rpm
  • libtqt4
  • libtqt4-devel
4 arts не нужно
5 dbus-1-tqt github tde-dbus-1-tqt.src.rpm
  • libdbus-1-tqt0
  • libdbus-1-tqt-devel
6 dbus-tqt github tde-dbus-tqt.src.rpm
  • libdbus-tqt-1-0
  • libdbus-tqt-1-devel
7 tqca-tls будет пропущен
8 libart-lgpl github tde-libart-lgpl.src.rpm
  • lib64art_lgpl_2-2
  • lib64art_lgpl-devel
9 avahi-tqt будет пропущен
10 tdelibs github
  • tde-filesystem
  • tde-libltdl-devel
11 tdebase
a tde-filesystem github trinity-filesystem.src.rpm trinity-filesystem
b b-tde-libltdl github trinity-filesystem.src.rpm tde-libltdl-devel

Примечания

  1. Рекомендуется, но требуется для некоторых приложений, таких как дополнение Kopete OTR
  2. Рекомендуется, но требуется для поддержки обнаружения служб DNS