# Участие в Nivora

Проект принимает исправления рецептов, автоматизации и документации.

## Перед изменением

1. Проверьте официальное название, package ID, desktop-id и AppStream component-id.
2. Найдите официальный HTTPS-источник для каждой архитектуры.
3. Уточните лицензию и возможность переупаковки.
4. Сверьте зависимости на поддерживаемых дистрибутивах.

## Требования к пакету

- Имя каталога точно совпадает с `name`.
- Версия совпадает с upstream; изменение рецепта повышает `release`.
- Скачиваемые sources привязаны к версии и защищены SHA-256.
- `local:///`-файлы присутствуют в каталоге, а скрипты имеют executable bit.
- `provides`, `replaces` и `conflicts` описывают package names, а не имена бинарников или desktop-id.
- Lifecycle-скрипты идемпотентны и не удаляют пользовательские данные.
- `files()` описывает весь payload и не захватывает чужие пути.

## Проверка

```bash
tools/run_checks.sh
stplr-spec verify-checksums --path package/Staplerfile
tools/clean_build.sh package
```

Для изменения package ID нужны отдельные DEB/RPM-тесты замены и проверка
сохранности данных.

## Pull request

Один pull request должен решать одну задачу. В описании укажите:

- что изменилось;
- ссылку на upstream;
- выполненные проверки и сборки;
- оставшиеся ограничения.
