Qml: различия между версиями

Материал из ALT Linux Wiki
Строка 10: Строка 10:


== Используемые макросы ==
== Используемые макросы ==
* '''%qml_add_req_skip''' - вычеркивает указанные модули из Requires, не предоставляемые ни одним пакетом.<br>
* '''%qml_add_req_skip''' - удаляет указанные модули из Requires<br>
После макроса можно указать несколько модулей qml, а сам макрос можно вызывать несколько раз.
Пример: удаляет из пакета все Requires, ссылающиеся на QtQuick.Controls, QtQuick.Templates и на все их подмодули
%qml_add_req_skip QtQuick.Controls QtQuick.Templates


* '''%qml_add_prov_skip''' - вычеркивает указанные модули из Provides.<br>
* '''%qml_add_prov_skip''' - удаляет указанные модули из Provides.<br>
Можно указать несколько макросов, после которых идут несколько модулей qml.<br>
Пример: удаляет из пакета все Provides, ссылающиеся на QtQuick.Controls, QtQuick.Templates и на все их подмодули
''Макросы *_skip вычеркивают модули по шаблону "начинается с %s"''
%qml_add_req_skip QtQuick.Controls QtQuick.Templates


* '''%qml_add_req_nover''' - добавляет указанный модуль в Requires без указания версии.<br>
* '''%qml_add_req_nover''' - при наличии зависимости на указанный модуль убирает из него версию<br>
Используется в паре с "Provides: qml(модуль)" в том пакете, который предоставляет нужный модуль при условии, что необходимая зависимость не была автоматически найдена.
Используется в паре с "Provides: qml(модуль)" в том пакете, который предоставляет нужный модуль при условии, что необходимая зависимость не была автоматически найдена.
Пример:
%qml_add_req_nover QtQuick.Controls
При нахождении зависимостей на QtQuick.Controls уберет из них версию. Зависимости на QtQuick.Controls.* останутся без изменений.


* '''%qml_req_skipall''' - если равен "1", не выставляет ни одного Requires в пакет.<br>
* '''%qml_req_skipall''' - если равен "1", отключает добавление зависимостей в пакет.<br>
Значение по умолчанию - "1", для выставления Requires в спеке достаточно указать "%qml_req_skipall 0"
Значение по умолчанию - "1", для выставления Requires в спеке достаточно указать
%qml_req_skipall 0

Версия от 09:06, 31 октября 2017


Описание

Для корректной упаковки qml-модулей создан пакет rpm-build-qml, который выставляет зависимости вида qml(модуль) = major.minor

Provides выставляются по умолчанию без пропусков, для их выставления достаточно указать rpm-build-qml в BuildRequires(pre) нужного пакета

Requires работают в тестовом режиме, поэтому они отключены по умолчанию (см. %qml_req_skipall)

Используемые макросы

  • %qml_add_req_skip - удаляет указанные модули из Requires

Пример: удаляет из пакета все Requires, ссылающиеся на QtQuick.Controls, QtQuick.Templates и на все их подмодули

%qml_add_req_skip QtQuick.Controls QtQuick.Templates
  • %qml_add_prov_skip - удаляет указанные модули из Provides.

Пример: удаляет из пакета все Provides, ссылающиеся на QtQuick.Controls, QtQuick.Templates и на все их подмодули

%qml_add_req_skip QtQuick.Controls QtQuick.Templates
  • %qml_add_req_nover - при наличии зависимости на указанный модуль убирает из него версию

Используется в паре с "Provides: qml(модуль)" в том пакете, который предоставляет нужный модуль при условии, что необходимая зависимость не была автоматически найдена. Пример:

%qml_add_req_nover QtQuick.Controls

При нахождении зависимостей на QtQuick.Controls уберет из них версию. Зависимости на QtQuick.Controls.* останутся без изменений.

  • %qml_req_skipall - если равен "1", отключает добавление зависимостей в пакет.

Значение по умолчанию - "1", для выставления Requires в спеке достаточно указать

%qml_req_skipall 0