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

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


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


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


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


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


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

Текущая версия от 12:21, 31 октября 2017


Описание

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

Для выставления Provides достаточно указать rpm-build-qml в BuildRequires нужного пакета

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(модуль)" в том пакете, который предоставляет нужный модуль при условии, что необходимое предоставление не было автоматически найдено.
Пример: При нахождении зависимостей на QtQuick.Controls уберет из них версию. Зависимости на QtQuick.Controls.* останутся без изменений.

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

Для выставления Requires в спеке достаточно указать

%qml_req_skipall 0