Инструкция "Как сделать"

На этой странице описано, как новое приложение попадает в основной репозиторий F-Droid. Она включает в себя технические детали, о которых должен знать отправитель.

Предложение о включении в заявку

Чтобы предложить включение нового приложения в основной репозиторий F-Droid, можно разместить соответствующую информацию о приложении в очереди подачи заявок. Более продвинутая альтернатива - написать полный файл метаданных самостоятельно, протестировать и предложить включение (запрос на слияние) непосредственно в Git-репозиторий fdroiddata, что ускоряет процесс. Оба способа будут подробно описаны ниже.

Обратите внимание, что вы можете предложить включение, даже если вы не являетесь разработчиком или сопровождающим предлагаемого приложения. См. Inclusion Policy и Repository Style Guide для политического аспекта этого раздела.

Предложение по очереди подачи

Это самый простой способ включения заявки. Но из-за количества труда рецензента, необходимого для каждого приложения, это самый медленный метод.

Для этого создайте новый тикет на F-Droid Submission Queue on GitLab, добавьте все детали, требуемые минимальным шаблоном проблемы; и ждите, пока люди из команды F-Droid рассмотрят заявку и сделают все необходимые шаги за вас.

Предложение по запросу на слияние метаданных

Более продвинутая альтернатива для включения приложения - написать файл метаданных F-Droid для приложения самостоятельно и предложить включить его в репозиторий метаданных приложения F-Droid (fdroiddata GitLab repository) путем подачи git-запроса на слияние. Это приведет к гораздо более быстрому включению, поскольку уже имеющийся файл метаданных снизит нагрузку на рецензентов при проверке предложенных вами метаданных; податель заявки берет на себя ответственность за предоставление корректного файла метаданных.

Когда предложение о включении делается таким образом, предполагается, что:

Рекомендуемые шаги для предложения включения таким образом записаны на F-Droid application metadata repository.

Процесс рассмотрения заявок

После подачи предложения о включении, приложение попадает в процесс рассмотрения, в ходе которого сотрудники F-Droid изучают исходный код приложения и определяют, подходит ли оно для включения (а если нет, то определяют все необходимые шаги, чтобы сделать его таковым).

Поскольку F-Droid является хранилищем программного обеспечения, которое обещает пользователям свободное программное обеспечение, процесс рецензирования предназначен для обеспечения того, что все приложения, распространяемые из главного хранилища F-Droid, являются свободным программным обеспечением.

Это неполный список того, что должен делать рецензент:

  • Они обратятся к вашему репозиторию исходных текстов и будут искать уведомления об авторских правах в файлах лицензий, включая README, чтобы проверить, что предлагаемое приложение выпущено под признанной лицензией (лицензиями) свободного программного обеспечения.
  • Они посмотрят на ваш сценарий сборки, чтобы выяснить, какую систему сборки вы используете, и может ли сервер сборки F-Droid справиться с ней (Ant и Gradle - самые распространенные и простые).
  • Они попытаются загрузить копию вашего исходного кода.
  • Они будут просматривать все файлы исходного кода на предмет соответствия лицензий соответствующим файлам лицензий/README.
  • Они проверят, использует ли ваше приложение какие-либо предварительно скомпилированные библиотеки или двоичные файлы.
  • Они просмотрят ваши файлы не исходного кода, чтобы определить Несвободные ресурсы, используемые в вашем приложении.
  • Они просмотрят исходный код на предмет того, использует ли ваше приложение несвободные зависимости, показывает ли рекламу, отслеживает пользователей, продвигает или зависит от несвободных сервисов/приложений или делает что-либо вредное или иным образом нежелательное для пользователей.
  • Они перечислят краткое описание всех AntiFeatures в вашем приложении.
  • Они попробуют внести исправления в ваше приложение, чтобы удалить использование стороннего проприетарного программного обеспечения (если таковое имеется).
  • Они попытаются определить подходящий процесс обновления для вашего приложения (например, посмотрев, как ваши релизы соотносятся с тегами VCS и/или информацией о версии в AndroidManifest.xml).
  • Они попробуют написать подходящий файл метаданных для вашего приложения и добавят его в локальный экземпляр сервера сборки F-Droid. (fdroid rewritemeta, fdroid lint используются для обеспечения правильного формирования метаданных)
  • Они попытаются собрать ваше приложение в изолированной среде, чтобы посмотреть, удастся ли процесс и получить функциональный APK.
  • Если все прошло гладко, они добавят новый файл метаданных в свой локальный git-репозиторий fdroiddata и синхронизируют изменения с GitLab.

В случае, если заявка не прошла некоторые этапы рассмотрения, обратная связь будет предоставлена в потоке очереди оригинальной заявки, где она была размещена.

После обновления репозитория fdroiddata на GitLab официальный сервер сборки F-Droid получит, соберет и опубликует ваше приложение в основном репозитории F-Droid.

Вы можете подтвердить включение вашего приложения, просмотрев историю ревизий GitLab fdroiddata revision history.

Специальное рассмотрение запроса на слияние метаданных

Если включение происходит из запроса на слияние на GitLab, процесс рассмотрения теоретически такой же. Они выполняются в основном для подтверждения того, что предложенные метаданные соответствуют тому, что действительно есть в исходном коде приложения. Шаги по написанию и фиксации метаданных опускаются, так как будет использоваться исходный файл метаданных, который вы предложили. Отзывы будут даны в оригинальной ветке запроса на слияние, в которой было предложено приложение; и как только процесс будет завершен, запрос будет объединен в ветку master GitLab-репозитория fdroiddata.

В попытке оптимизировать процесс, когда вы предлагаете включение через запрос на слияние метаданных, сотрудники F-Droid полагаются на несколько предположений (описанных выше). Таким образом, процесс рассмотрения будет гораздо менее интенсивным по нескольким параметрам и займет гораздо меньше времени. Приложения, нарушающие правила, которые каким-то образом пробрались таким образом, будут рассматриваться постфактум.

Процесс строительства

После добавления метаданных приложения в репозиторий fdroiddata GitLab, следующим шагом будет получение исходного кода приложения и связанных с ним компонентов, сборка приложения и публикация его в главном репозитории F-Droid.

Этот процесс сборки выполняется ежедневно, и заявки обрабатываются пакетно. Все шаги выполняются за сценой и в основном автоматически; все, что нужно сделать подателю, - это дождаться окончания процесса.

A record of a successful build process for one application is provided on the F-Droid’s website page for that specific app (e.g. see the Build Log for the F-Droid Client).

Apps that fail will have the log available during the build cycle on the F-Droid Monitor - Running page or, if in the previous cycle, on the Build page. This is useful to aid in diagnosing problems when the build unexpectedly failed.

Процесс обновления метаданных

Когда наступит запланированное время сборки, сервер сборки F-Droid получит изменения из репозитория fdroiddata GitLab и объединит их с локальным репозиторием. Затем будет выполнена проверка обновлений для всех приложений. Если будет найдена новая версия, их файлы метаданных будут обновлены и зафиксированы в репозитории автором F-Droid Builder <admin@f-droid.org>.

После обновления файлов метаданных сервер F-Droid Server сверяет их со списком выпущенных APK, чтобы составить список новых приложений и/или версий, которые необходимо собрать. Затем начнется процесс предварительной обработки приложений, а затем процесс сборки для каждого из них.

Предварительная обработка приложений

Процесс сборки приложения

Процесс подписания APK

Процесс публикации репозитория

Что ожидать

Когда метаданные вашего приложения будут одобрены и приняты в git-репозиторий fdroiddata на GitLab, они не сразу появятся в основном репозитории F-Droid.

При условии, что у вашего приложения нет проблем со сборкой, потребуется от 24 до 48 часов с момента слияния fdroiddata до появления приложения в основном репозитории.1 Это ограничение по времени связано с частью процесса сборки - подписанием APK, которое требует вмешательства человека на этапе доступа к хранилищу ключей.2

Тем не менее, ваше приложение еще не появится в списке “Последние приложения” на f-droid.org, хотя люди уже могут искать и скачивать его: Как только приложение появится в основном репозитории F-Droid, пройдет еще один день, прежде чем оно появится в Списке последних приложений.

Внешние ссылки