Файл 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"
]
}
Описание полей
Основные поля
| Поле | Тип | Описание | Пример |
|---|---|---|---|
name | string | Уникальное имя пакета | "firefox" |
version | string | Версия пакета | "1.2.3" |
type | string | Тип пакета | "binary", "source", "misc" |
architecture | string | null | Целевая архитектура | "x86_64", "aarch64", "riscv64", "all", null |
description | string | Краткое описание пакета | "Веб-браузер" |
Информация о разработке
| Поле | Тип | Описание | Пример |
|---|---|---|---|
maintainer | string | Сопровождающий пакета | "Ivan Petrov <[email protected]>" |
license | string | null | Лицензия | "MIT", "GPL-3.0", "Apache-2.0" |
homepage | string | URL проекта | "https://example.com" |
tags | array | Теги для поиска | ["browser", "web", "internet"] |
Зависимости и конфликты
| Поле | Тип | Описание | Пример |
|---|---|---|---|
dependencies | array | Список зависимостей | ["glibc", "openssl >= 1.1"] |
conflicts | array | Конфликтующие пакеты | ["chromium"] |
provides | array | Виртуальные пакеты, которые предоставляет данный пакет | ["www-browser"] |
replaces | array | Пакеты, которые заменяет данный | ["old-firefox"] |
Конфигурация
| Поле | Тип | Описание | Пример |
|---|---|---|---|
conf | array | Файлы конфигурации, которые не перезаписываются при обновлении | ["/etc/app.conf", "$HOME/.apprc"] |
Типы пакетов
| Тип | Описание |
|---|---|
binary | Скомпилированные бинарные файлы |
source | Исходный код для компиляции |
misc | Прочее (данные, документация, темы и т.д.) |
Архитектуры
| Значение | Описание |
|---|---|
x86_64 | 64-битные процессоры AMD/Intel |
aarch64 | 64-битные процессоры ARM |
riscv64 | 64-битные процессоры RISC-V |
all | Архитектурно-независимый пакет |
null | Архитектура не определена |
Формат зависимостей
Зависимости могут указываться с версионными ограничениями:
"dependencies": [
"glibc", // любая версия
"openssl >= 1.1", // версия 1.1 или выше
"libpng < 2.0", // версия ниже 2.0
"zlib == 1.2.11" // точная версия
]
Информация
Поля license и architecture могут быть null, но рекомендуется указывать корректные значения для лучшей совместимости.
Внимание
Убедитесь, что список зависимостей корректен. Неправильные зависимости могут привести к ошибкам при установке пакета.