Сборка TDE
На данной странице планируется описать воспроизводимый процесс сборки для ALT Linux с участием всех заинтересованных участников.
Информация на официальных ресурсах
Информация о сборке базовых модулей указана на вики 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-ссылку.
Порядок работы
- Клонируем с Gear
- Отвязываем от ALT и привязываем к Github
- вносим изменения
- заливаем
Сама сборка
Создаем каталог. Обзываем как-то TDE-build. Переходим в него.
$ mkdir tdebuild $ cd tdebuild
Основное
1 cmake-trinity
Репозиторий для 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
Репозиторий для 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
Репозиторий для 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
Репозиторий для ALT - https://github.com/ALT-Linux-TDE/5-arts
Для релиза 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
5 dbus-tqt
Репозиторий для ALT - https://github.com/ALT-Linux-TDE/5-dbus-tqt
Для релиза 14.1.3
git clone https://mirror.git.trinitydesktop.org/gitea/TDE/dbus-tqt.git --branch=r14.1.3
6 dbus-1-tqt
Репозиторий для ALT - https://github.com/ALT-Linux-TDE/6-dbus-1-tqt
Для релиза 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
Репозиторий для ALT - https://github.com/ALT-Linux-TDE/8-libart
Для релиза 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.
9 avahi-tqt
Репозиторий для ALT - https://github.com/ALT-Linux-TDE/9-avahi-tqt
Для релиза 14.1.3
git clone https://mirror.git.trinitydesktop.org/gitea/TDE/avahi-tqt.git --branch=r14.1.3
10 tdelibs
Репозиторий для ALT - https://github.com/ALT-Linux-TDE/10-tdelibs
Для релиза 14.1.3
git clone https://mirror.git.trinitydesktop.org/gitea/TDE/tdelibs.git --branch=r14.1.3
11 tdebase
Репозиторий для ALT - https://github.com/ALT-Linux-TDE/11-tdebase
Для релиза 14.1.3
git clone https://mirror.git.trinitydesktop.org/gitea/TDE/tdebase.git --branch=r14.1.3
Дополнительное
a-tde-filesystem
Репозиторий для ALT - https://github.com/ALT-Linux-TDE/a-tde-filesystem
Результаты
Результаты | |||||
---|---|---|---|---|---|
№ | Компонент | Репозиторий | srpm | пакеты | Одиночная зависимоть |
1 | tqt3 | github | tde-tqt3.src.rpm |
|
|
2 | cmake-trinity | github | tde-cmake.src.rpm |
|
|
3 | tqtinterface | github | tde-tqtinterface.src.rpm |
|
|
4 | arts | не нужно | |||
5 | dbus-1-tqt | github | tde-dbus-1-tqt.src.rpm |
|
|
6 | dbus-tqt | github | tde-dbus-tqt.src.rpm |
|
|
7 | tqca-tls | будет пропущен | |||
8 | libart-lgpl | github | tde-libart-lgpl.src.rpm |
|
|
9 | avahi-tqt | будет пропущен | |||
10 | tdelibs | github |
| ||
11 | tdebase | ||||
a | tde-filesystem | github | trinity-filesystem.src.rpm | trinity-filesystem | |
b | b-tde-libltdl | github | trinity-filesystem.src.rpm | tde-libltdl-devel |