|
1 | 1 | # Файл metadata.json |
2 | 2 |
|
3 | | -## Документация по файлу metadata.json |
| 3 | +Файл `metadata.json` содержит метаданные пакета APG и используется менеджером пакетов Tulpar для управления установкой, зависимостями и конфликтами. |
4 | 4 |
|
5 | | -Файл `metadata.json` содержит информацию о пакете и используется системой управления пакетами apg. |
6 | | - |
7 | | -### Пример файла metadata.json |
| 5 | +## Пример файла |
8 | 6 |
|
9 | 7 | ```json |
10 | 8 | { |
|
19 | 17 | "example", |
20 | 18 | "test", |
21 | 19 | "apg" |
22 | | - ] |
| 20 | + ], |
23 | 21 | "homepage": "https://nuros.org", |
24 | 22 | "dependencies": [], |
25 | 23 | "conflicts": [ |
|
38 | 36 |
|
39 | 37 | ## Описание полей |
40 | 38 |
|
| 39 | +### Основные поля |
| 40 | + |
| 41 | +| Поле | Тип | Описание | Пример | |
| 42 | +|------|-----|----------|--------| |
| 43 | +| `name` | string | Уникальное имя пакета | `"firefox"` | |
| 44 | +| `version` | string | Версия пакета | `"1.2.3"` | |
| 45 | +| `type` | string | Тип пакета | `"binary"`, `"source"`, `"misc"` | |
| 46 | +| `architecture` | string \| null | Целевая архитектура | `"x86_64"`, `"aarch64"`, `"riscv64"`, `"all"`, `null` | |
| 47 | +| `description` | string | Краткое описание пакета | `"Веб-браузер"` | |
| 48 | + |
| 49 | +### Информация о разработке |
| 50 | + |
| 51 | +| Поле | Тип | Описание | Пример | |
| 52 | +|------|-----|----------|--------| |
| 53 | +| `maintainer` | string | Сопровождающий пакета | `"Ivan Petrov <ivan@example.com>"` | |
| 54 | +| `license` | string \| null | Лицензия | `"MIT"`, `"GPL-3.0"`, `"Apache-2.0"` | |
| 55 | +| `homepage` | string | URL проекта | `"https://example.com"` | |
| 56 | +| `tags` | array | Теги для поиска | `["browser", "web", "internet"]` | |
| 57 | + |
| 58 | +### Зависимости и конфликты |
| 59 | + |
| 60 | +| Поле | Тип | Описание | Пример | |
| 61 | +|------|-----|----------|--------| |
| 62 | +| `dependencies` | array | Список зависимостей | `["glibc", "openssl >= 1.1"]` | |
| 63 | +| `conflicts` | array | Конфликтующие пакеты | `["chromium"]` | |
| 64 | +| `provides` | array | Виртуальные пакеты, которые предоставляет данный пакет | `["www-browser"]` | |
| 65 | +| `replaces` | array | Пакеты, которые заменяет данный | `["old-firefox"]` | |
| 66 | + |
| 67 | +### Конфигурация |
| 68 | + |
| 69 | +| Поле | Тип | Описание | Пример | |
| 70 | +|------|-----|----------|--------| |
| 71 | +| `conf` | array | Файлы конфигурации, которые не перезаписываются при обновлении | `["/etc/app.conf", "$HOME/.apprc"]` | |
| 72 | + |
| 73 | +## Типы пакетов |
| 74 | + |
| 75 | +| Тип | Описание | |
| 76 | +|-----|----------| |
| 77 | +| `binary` | Скомпилированные бинарные файлы | |
| 78 | +| `source` | Исходный код для компиляции | |
| 79 | +| `misc` | Прочее (данные, документация, темы и т.д.) | |
| 80 | + |
| 81 | +## Архитектуры |
| 82 | + |
| 83 | +| Значение | Описание | |
| 84 | +|----------|----------| |
| 85 | +| `x86_64` | 64-битные процессоры AMD/Intel | |
| 86 | +| `aarch64` | 64-битные процессоры ARM | |
| 87 | +| `riscv64` | 64-битные процессоры RISC-V | |
| 88 | +| `all` | Архитектурно-независимый пакет | |
| 89 | +| `null` | Архитектура не определена | |
| 90 | + |
| 91 | +## Формат зависимостей |
| 92 | + |
| 93 | +Зависимости могут указываться с версионными ограничениями: |
| 94 | + |
| 95 | +```json |
| 96 | +"dependencies": [ |
| 97 | + "glibc", // любая версия |
| 98 | + "openssl >= 1.1", // версия 1.1 или выше |
| 99 | + "libpng < 2.0", // версия ниже 2.0 |
| 100 | + "zlib == 1.2.11" // точная версия |
| 101 | +] |
| 102 | +``` |
| 103 | + |
| 104 | +:::info Информация |
| 105 | +Поля `license` и `architecture` могут быть `null`, но рекомендуется указывать корректные значения для лучшей совместимости. |
| 106 | +::: |
41 | 107 |
|
42 | | -| Поле | Описание поля | Пример содержания | |
43 | | -| ------------ | ------------------------- | --------------------------------------------------------- | |
44 | | -| name | Название пакета | example-package | |
45 | | -| version | Версия программы | 1.2.3 | |
46 | | -| type | Тип пакета | misc, binary, source | |
47 | | -| architecture | Целевая архитектура | x86\_64, aarch64, risc_v, all, null | |
48 | | -| description | Подробное описание пакета | "Текстовый редактор с подсветкой синтаксиса" | |
49 | | -| maintainer | Сопровождающий пакета | "Иван Петров [ivan@example.com](mailto:ivan@example.com)" | |
50 | | -| license | Лицензия | MIT, GPL-3.0, Apache-2.0 | |
51 | | -| tags | Тэги для поиска по ним | ["example", "test", "apg"] | |
52 | | -| homepage | Веб-сайт проекта | https://example.com | |
53 | | -| dependencies | Список зависимостей | \["lib-example >= 2.0.0"] | |
54 | | -| conflicts | Конфликтующие пакеты | \["old-package"] | |
55 | | -| provides | Виртуальные пакеты (Пакеты, которые предоставляет один пакет) | \["virtual-package"] | |
56 | | -| replaces | Заменяемые пакеты | \["legacy-package"] | |
57 | | -| conf | Файлы конфигурации | ["/etc/example.conf", "$HOME/exmplrc"] | |
58 | | - |
59 | | - |
60 | | -### Важные замечания |
61 | | - |
62 | | -* Поле `license` может быть `null`, но лучше указать соответствующую лицензию. |
63 | | -* Поле `architecture` может быть `null`. |
64 | | -* Убедитесь, что список зависимостей (`dependencies`) корректен, чтобы избежать проблем при установке. |
| 108 | +:::warning Внимание |
| 109 | +Убедитесь, что список зависимостей корректен. Неправильные зависимости могут привести к ошибкам при установке пакета. |
| 110 | +::: |
0 commit comments