apgbuild
Документация APG Builder (apgbuild)
Общее описание
Назначение
APG Builder (apgbuild) представляет собой утилиту для создания и управления программными пакетами. Разработана с использованием современных стандартов C++17 и предоставляет удобный интерфейс командной строки для работы с пакетами.
Версия и информация
- Автор: AnmiTaliDev
- Лицензия: GNU GPL 3.0
- Репозиторий: https://github.com/NurOS-Linux/apgbuild
Техническая спецификация
Системные требования
- Компилятор: Совместимый с C++17
- Библиотеки:
- nlohmann/json для работы с JSON
- OpenSSL для вычисления MD5
- Стандартная библиотека filesystem
- Система сборки: meson & ninja
Основные возможности
- Создание метаданных пакета
- Генерация контрольных сумм MD5
- Создание архивов пакетов
- Извлечение содержимого пакетов
- Проверка целостности
API и основные компоненты
Формат вызова
apgbuild [опции] [директория]
Опции командной строки
--makemetadata, -m: Создание файла метаданных--open: Распаковка пакета--makesums: Создание контрольных сумм--version, -v: Информация о версии-o <путь>: Указание пути вывода
Форматы данных
Структура metadata.json
{
"name": "имя-пакета",
"version": "версия",
"architecture": "архитектура",
"description": "описание",
"maintainer": "сопровождающий",
"license": "лицензия",
"homepage": "домашняя-страница",
"dependencies": [
{
"name": "имя-зависимости",
"version": "версия",
"condition": "условие"
}
],
"conflicts": ["конфликтующие-пакеты"],
"provides": ["предоставляемые-возможности"],
"replaces": ["заменяемые-пакеты"]
}
Формат файла контрольных сумм
md5 путь/к/файлу
md5 путь/к/другому/файлу
Безопасность
Проверка целостности
- Автоматическая генерация MD5-хешей
- Проверка контрольных сумм при распаковке
- Безопасная обработка файлов
Обработка ошибок
- Проверка существования файлов и директорий
- Валидация метаданных
- Проверка прав доступа
- Обработка исключений при файловых операциях