Перейти к основному содержимому

Файл metadata.json

Файл metadata.json содержит метаданные пакета APG и используется менеджером пакетов Tulpar для управления установкой, зависимостями и конфликтами.

Пример файла

{
"name": "apgexample",
"version": "0.0.0",
"type": "misc",
"architecture": null,
"description": "The APG example package for NurOS (Tulpar).",
"maintainer": "NurOS Developers",
"license": null,
"tags": [
"example",
"test",
"apg"
],
"homepage": "https://nuros.org",
"dependencies": [],
"conflicts": [
"testapg"
],
"provides": [],
"replaces": [
"example-apg"
],
"conf": [
"/etc/example.conf",
"$HOME/exmplrc"
]
}

Описание полей

Основные поля

ПолеТипОписаниеПример
namestringУникальное имя пакета"firefox"
versionstringВерсия пакета"1.2.3"
typestringТип пакета"binary", "source", "misc"
architecturestring | nullЦелевая архитектура"x86_64", "aarch64", "riscv64", "all", null
descriptionstringКраткое описание пакета"Веб-браузер"

Информация о разработке

ПолеТипОписаниеПример
maintainerstringСопровождающий пакета"Ivan Petrov <[email protected]>"
licensestring | nullЛицензия"MIT", "GPL-3.0", "Apache-2.0"
homepagestringURL проекта"https://example.com"
tagsarrayТеги для поиска["browser", "web", "internet"]

Зависимости и конфликты

ПолеТипОписаниеПример
dependenciesarrayСписок зависимостей["glibc", "openssl >= 1.1"]
conflictsarrayКонфликтующие пакеты["chromium"]
providesarrayВиртуальные пакеты, которые предоставляет данный пакет["www-browser"]
replacesarrayПакеты, которые заменяет данный["old-firefox"]

Конфигурация

ПолеТипОписаниеПример
confarrayФайлы конфигурации, которые не перезаписываются при обновлении["/etc/app.conf", "$HOME/.apprc"]

Типы пакетов

ТипОписание
binaryСкомпилированные бинарные файлы
sourceИсходный код для компиляции
miscПрочее (данные, документация, темы и т.д.)

Архитектуры

ЗначениеОписание
x86_6464-битные процессоры AMD/Intel
aarch6464-битные процессоры ARM
riscv6464-битные процессоры RISC-V
allАрхитектурно-независимый пакет
nullАрхитектура не определена

Формат зависимостей

Зависимости могут указываться с версионными ограничениями:

"dependencies": [
"glibc", // любая версия
"openssl >= 1.1", // версия 1.1 или выше
"libpng < 2.0", // версия ниже 2.0
"zlib == 1.2.11" // точная версия
]
Информация

Поля license и architecture могут быть null, но рекомендуется указывать корректные значения для лучшей совместимости.

Внимание

Убедитесь, что список зависимостей корректен. Неправильные зависимости могут привести к ошибкам при установке пакета.