Сборка TDE: различия между версиями

Материал из ALT Linux Wiki
 
(не показано 12 промежуточных версий этого же участника)
Строка 142: Строка 142:


Через веб-интерфейс можно выбрать модуль, его версию и получить git-ссылку.
Через веб-интерфейс можно выбрать модуль, его версию и получить git-ссылку.
==Порядок работы==
*Клонируем с Gear
*[[TDE repo|Отвязываем от ALT и привязываем к Github]]
*вносим изменения
*заливаем
==Сама сборка==
==Сама сборка==
Создаем каталог. Обзываем как-то TDE-build. Переходим в него.
Создаем каталог. Обзываем как-то TDE-build. Переходим в него.
Строка 148: Строка 155:
  $ cd tdebuild
  $ cd tdebuild


===1 tqt3===
===1 cmake-trinity===
{{Note|Репозиторий TDE - https://mirror.git.trinitydesktop.org/gitea/TDE/tqt3}}
{{Note|Репозиторий TDE - https://mirror.git.trinitydesktop.org/gitea/TDE/tde-cmake.git<br>
 
Репозиторий для ALT - https://github.com/ALT-Linux-TDE/1-cmake-trinity}}
Получаем из архива Сизифа.
$ mkdir 1_tqt
$ cd 1_tqt
$ git clone https://git.altlinux.org/gears/t/trinity-tqt3.git
 
Состав:
<pre>
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
</pre>
 
Смотрим .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]]:
*тег {{cmd|copy}} - скопирует при сборке в общий каталог с исходниками файл из указанной папки
 
[https://mirror.git.trinitydesktop.org/gitea/TDE/tqt3/tags Исходники последней версии] (на 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
 
Заменяем файлы в
<pre>
/home/user/TDE-project/1_tqt/trinity-tqt3
└── trinity-tqt3
   └── <...> <-- здесь
</pre>
 
В спеке заменяем версии 14.0.х на 14.1.3. Не забываем сделать коммит.
 
Запускаем пересборку:
$ gear --hasher -- hsh --no-sisyphus-check -v


{{Note|Падает с ошибкой:
На 05.01.2025 hasher/gear-репозиторий создан и собирается.
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.
}}
===2 cmake-trinity===
{{Note|Репозиторий TDE - https://mirror.git.trinitydesktop.org/gitea/TDE/tde-cmake.git}}


Получаем из архива Сизифа.
===2 tqt3===
$ mkdir '2 rpm macros trinity'
{{Note|Репозиторий TDE - https://mirror.git.trinitydesktop.org/gitea/TDE/tqt3<br>
$ cd '2 rpm macros trinity'
Репозиторий для ALT - https://github.com/ALT-Linux-TDE/2-tqt3}}
$ git clone https://git.altlinux.org/gears/r/rpm-macros-trinity.git


Смотрим содержимое каталога:
Для релиза [https://mirror.git.trinitydesktop.org/gitea/TDE/tqt3/commit/0752cff40bf64b407933ed90e5bcb74caa493a38 14.1.3]
git clone https://mirror.git.trinitydesktop.org/gitea/TDE/tqt3.git --branch=r14.1.3


2 rpm macros trinity
====История вопросов====
├── .gear
=====Патчи от 05.01.25=====
│   └── rules
На 05.01.2025 были рассмотрены патчи из gear-репозитория tqt3 ALT Linux (которые были прописаны в спеке) и сравнены с апстримом. Исправления, добавленные в апстрим были убраны или закомментированы.
├── rpm.macros.trinity.standalone
└── trinity-filesystem.spec


Данный пакет содержит только спек и макрос для RPM для сборки пакетов с TDE.
Остаются 5 патчей:
*Patch48: qt-3.3.6-fontrendering-214371.patch
*Patch52: qt3-opentype-aliasing.patch
*Patch53: qt3-never-strip.diff
*Patch56: pluginmanager-fix.diff
*Patch68: qt-x11-free-3.3.6-alt-maccyrillic.patch


gear/rules содержит следующую строку:
В репозитории [https://github.com/ALT-Linux-TDE/2-tqt3/tree/main/altlinux в каталоге altlinux] были созданы дополнительные копии с учетом новых расположений файлов. К ним прибавлены постфиксы 25.
copy: rpm.macros.trinity.standalone
Т.е. сборочница просто скопирует файл в пакет и при установке расположит там, где нужно.


{{Note|Нужен комментарий от Руслана, нужно ли что-то менять для новой версии}}
Но hasher не собирает пакет с ними. Т.е. изменения сделаны, но сам патч выполнен некорректно.


===3 tqtinterface===
===3 tqtinterface===

Текущая версия от 14:42, 5 января 2025

На данной странице планируется описать воспроизводимый процесс сборки для 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

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


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

2 tqt3

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


Для релиза 14.1.3

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

История вопросов

Патчи от 05.01.25

На 05.01.2025 были рассмотрены патчи из gear-репозитория tqt3 ALT Linux (которые были прописаны в спеке) и сравнены с апстримом. Исправления, добавленные в апстрим были убраны или закомментированы.

Остаются 5 патчей:

  • Patch48: qt-3.3.6-fontrendering-214371.patch
  • Patch52: qt3-opentype-aliasing.patch
  • Patch53: qt3-never-strip.diff
  • Patch56: pluginmanager-fix.diff
  • Patch68: qt-x11-free-3.3.6-alt-maccyrillic.patch

В репозитории в каталоге altlinux были созданы дополнительные копии с учетом новых расположений файлов. К ним прибавлены постфиксы 25.

Но hasher не собирает пакет с ними. Т.е. изменения сделаны, но сам патч выполнен некорректно.

3 tqtinterface

4 arts

5 dbus-tqt

6 dbus-1-tqt

7 tqca-tls

8 libart-lgpl

9 avahi-tqt

10 tdelibs

11 tdebase

Примечания

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