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

apgbuild

Документация APG Builder (apgbuild)

Общее описание

Назначение

APG Builder (apgbuild) представляет собой утилиту для создания и управления программными пакетами. Разработана с использованием современных стандартов C++17 и предоставляет удобный интерфейс командной строки для работы с пакетами.

Версия и информация

Техническая спецификация

Системные требования

  1. Компилятор: Совместимый с C++17
  2. Библиотеки:
    • nlohmann/json для работы с JSON
    • OpenSSL для вычисления MD5
    • Стандартная библиотека filesystem
  3. Система сборки: meson & ninja

Основные возможности

  1. Создание метаданных пакета
  2. Генерация контрольных сумм MD5
  3. Создание архивов пакетов
  4. Извлечение содержимого пакетов
  5. Проверка целостности

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 путь/к/другому/файлу

Безопасность

Проверка целостности

  1. Автоматическая генерация MD5-хешей
  2. Проверка контрольных сумм при распаковке
  3. Безопасная обработка файлов

Обработка ошибок

  • Проверка существования файлов и директорий
  • Валидация метаданных
  • Проверка прав доступа
  • Обработка исключений при файловых операциях