Сборка 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
Компоненты для сборки
Библиотеки в 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
Репозиторий для ALT - https://github.com/ALT-Linux-TDE/1-cmake-trinity
Получаем из архива Сизифа.
$ mkdir '1 rpm macros trinity' $ cd '1 rpm macros trinity' $ git clone https://git.altlinux.org/gears/r/rpm-macros-trinity.git
Смотрим содержимое каталога:
1 rpm macros trinity ├── .gear │ └── rules ├── rpm.macros.trinity.standalone └── trinity-filesystem.spec
Данный пакет содержит только спек и макрос для RPM для сборки пакетов с TDE.
gear/rules содержит следующую строку:
copy: rpm.macros.trinity.standalone
Т.е. сборочница просто скопирует файл в пакет и при установке расположит там, где нужно.
2 tqt3
Репозиторий для ALT - https://github.com/ALT-Linux-TDE/2-tqt3
Получаем из архива Сизифа.
$ mkdir 1_tqt $ cd 1_tqt $ git clone https://git.altlinux.org/gears/t/trinity-tqt3.git
Состав:
1_tqt/trinity-tqt3 ├── .gear │ └── rules ├── altlinux │ └── ПАТЧИ ДЛЯ ALT ├── build-examples.sh ├── import.info ├── qsa-x11-free │ ├── changes-1.1.5 │ ├── configure │ ├── configure2 │ ├── doc │ ├── examples │ ├── INSTALL │ ├── LICENSE.GPL │ ├── Makefile │ ├── qsa.pro │ ├── README │ ├── src │ └── tools ├── qt-ru │ ├── tqassistant_ru.ts │ ├── tqdesigner_ru.ts │ ├── tqlinguist_ru.ts │ ├── tqtconfig_ru.ts │ └── tqt_ru.ts ├── tqt3.spec ├── trinity-tqt3 │ └── ИСХОДНИКИ TQT3 ├── trinity-tqt3-rpmlintrc ├── trinity-tqt3.spec └── upstream ├── build-examples.sh ├── tqassistant.desktop ├── tqdesigner.desktop ├── tqlinguist.desktop ├── tqt3-14.0.0.spec └── tqtconfig.desktop
Смотрим .gear/rules:
copy?: upstream/*.desktop copy?: upstream/*.sh copy: altlinux/*.patch copy: altlinux/*.diff copy: altlinux/*.png copy: altlinux/*-sh copy: altlinux/*.distribution copy: altlinux/*.cpp copy: altlinux/import.info tar: qsa-x11-free name=qsa-x11-free-1.1.5 tar: qt-ru name=qt-ru-3.3.2-20040604 base= tar: tqt name=trinity-tqt3-14.0.4 spec: tqt3-14.0.0.spec
В дополнение к Сборка_пакетов_start:
- тег copy - скопирует при сборке в общий каталог с исходниками файл из указанной папки
Исходники последней версии (на 02.01.25) 14.1.3:
Для клонирования используем команду:
$ git clone --depth 1 --branch <tag_name> <repo_url>
- опция --depth 1 указывает, что нужно скачать только одну ревизию, без всей истории
Для 14.1.3:
$ git clone --depth 1 --branch r14.1.3 https://mirror.git.trinitydesktop.org/gitea/TDE/tqt3.git
Заменяем файлы в
/home/user/TDE-project/1_tqt/trinity-tqt3 └── trinity-tqt3 └── <...> <-- здесь
В спеке заменяем версии 14.0.х на 14.1.3. Не забываем сделать коммит.
Запускаем пересборку:
$ gear --hasher -- hsh --no-sisyphus-check -v
NIS disabled. NIS support cannot be enabled due to functionality tests! Turn on verbose messaging (-v) to ./configure to see the final report. If you believe this message is in error you may use the continue switch (-continue) to ./configure to continue.
Думаю, его можно выключить. В Qt4 стоит параметр nonis.
В спеке заменяем
%{?with_nis:-nis} %{?!with_nis:-no-nis} \
на
-no-nis \
После этого сборка падает на:
# proceed %__make %{?_smp_mflags} sub-src sub-plugins sub-tools
С ошибкой:
make: *** No rule to make target 'sub-src'. Stop.