Skip to content

feat(packaging): setup automated APT and DNF repository for Debian/Ubuntu and Fedora #1059

Description

@ZhuchkaTriplesix

Summary

Настроить автоматический публичный APT-репозиторий (для Debian/Ubuntu) и DNF/YUM-репозиторий (для Fedora/RHEL), позволяющий пользователям устанавливать и обновлять Querya Desktop стандартными командами (apt update && apt upgrade).

Context

Сейчас пользователям Debian/Ubuntu и Fedora приходится вручную скачивать .deb и .rpm файлы из релизов GitHub. Собственный репозиторий обеспечит:

  1. Автоматическое обновление приложения вместе с остальной ОС (sudo apt update && sudo apt upgrade).
  2. Проверку цифровой подписи пакетов через GPG ключ.

Architecture Options

  1. GitHub Pages + apt-ftparchive / createrepo_c (Полностью бесплатно):
    • В .github/workflows/release.yml после сборки .deb и .rpm генерировать индексы (Packages.gz, Release.gpg, repodata/) и пушить в ветку gh-pages репозитория QueryaHub/repo.
    • Пользователь подключает репозиторий:
    # Debian / Ubuntu:
    curl -fsSL https://repo.querya.app/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/querya.gpg
    echo "deb [signed-by=/etc/apt/keyrings/querya.gpg] https://repo.querya.app/apt stable main" | sudo tee /etc/apt/sources.list.d/querya.list
    sudo apt update && sudo apt install querya-desktop
    
    # Fedora / RHEL:
    sudo dnf config-manager --add-repo https://repo.querya.app/rpm/querya.repo
    sudo dnf install querya-desktop
  2. Альтернатива: Использование бесплатного OSS-тарифа Cloudsmith или Fedora COPR для RPM.

Acceptance Criteria

  • Настроен GPG ключ подписи пакетов QueryaHub.
  • Релизный workflow автоматически публикует новые .deb и .rpm в репозиторий.
  • Документация по установке обновлена однострочными командами для Ubuntu и Fedora.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Low priority / Polish & EnhancementsenhancementNew feature or requeststabilityTheme parser epic label: stability

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions