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

Материал из ALT Linux Wiki
(Новая страница: «Категория:Devel Категория:RPM spec == Описание == Для корректной упаковки qml-модулей был соз…»)
 
 
(не показано 13 промежуточных версий 1 участника)
Строка 3: Строка 3:


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


При наличии таких provides, как qml(модуль) = 2.0 и qml(модуль) = 2.7 автоматически выставляются provides для версий от 2.1 до 2.6 включительно, поскольку эти версии также предоставляются. [http://git.altlinux.org/people/mcpain/packages/?p=qt5-declarative.git;a=blob;f=src/qml/qml/qqmlmetatype.cpp#l1769]
Для выставления 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