Как создать пакеты PPA для ARM или PowerPC в Launchpad?

Вопрос или проблема

Когда я запрашиваю сборки в этом рецепте, он создает только 32-битные и 64-битные пакеты. Как создать пакеты для armhf, arm64 или PowerPC?

Пакеты Python

Нет необходимости включать сборки для ARM для пакетов, собранных с помощью python, так как исходный код python интерпретируется и не зависит от архитектуры. Архитектура в debian/control должна быть all, и пакет PPA автоматически будет работать на всех архитектурах (хотя Launchpad будет отображать его только для amd64 или i386).


Другие пакеты

Для других пакетов запись для architecture в debian/control должна быть any.

Для включения сборок ARM

С 8 ноября 2016 года включение сборок ARM осуществляется в режиме самообслуживания: вы можете изменить опцию в настройках PPA, чтобы автоматически получать сборки для любой из следующих архитектур (ссылка на документацию):

  • AMD x86-64 (amd64)
  • ARM ARMv8 (arm64)
  • ARM ARMv7 Soft Float (armel)
  • ARM ARMv7 Hard Float (armhf)
  • Intel x86 (i386)
  • PowerPC64 Little-Endian (ppc64el)
  • PowerPC
  • IBM System z

Настройки PPA Launchpad

Войдите в систему и выберите “Изменить детали” в правом верхнем углу страницы вашего PPA. Внизу следующей страницы вы увидите вышеуказанные параметры, которые можно включить.

Настройки изменения деталей

Для сборки ARM пакетов, уже опубликованных в PPA

После того как вы включите ARM в настройках PPA на Launchpad, нажмите “скопировать пакеты” и скопируйте пакеты в тот же PPA (нажмите на “скопировать существующие двоичные файлы”, чтобы Launchpad просто скопировал уже собранные пакеты для amd64 или i386, и создавал только новые пакеты для ARM).

Следующая версия?

Когда следующая версия вашего пакета будет выпущена, вам не придется повторять эту процедуру, Launchpad автоматически соберет его для всех архитектур, которые вы выбрали.


Следующие записи могут включать только администраторы Launchpad для вашей учетной записи.

  • Risk-V 64 бит

Для этого вам все равно нужно запросить доступ на форумах, хотя поиск по форуму показывает, что Canonical ранее делал это только при особых обстоятельствах (только если вы являетесь сотрудником Canonical или имеете контракт с Canonical). Другой пост на форуме предполагает, что сборки powerpc и s390x должны быть доступны всем пользователям к настоящему моменту, но я не уверен, были ли решены вопросы безопасности, связанные с сборкой вашего (возможно, вредоносного) пакета на не виртуализированном оборудовании Canonical.

По состоянию на ноябрь 2016 года этот ответ больше не актуален. Смотрите другой ответ rajb245 для текущей процедуры включения сборок ARM.

Процесс и требования для сборок ARM здесь.

В кратце, если вы:

  1. имеете сборки, которые занимают 4 часа или меньше, и

  2. имеете 10 или меньше сборок в неделю,

вы можете запросить сборки ARM для вашего PPA здесь.

Ответ или решение

Как создать PPA-пакеты для ARM или PowerPC в Launchpad

Создание пакетов PPA в Launchpad для архитектур ARM (например, armhf, arm64) и PowerPC требует понимания не только процесса упаковки, но и некоторых особенностей настроек самой платформы. Рассмотрим, как это сделать шаг за шагом.

1. Подготовка вашего пакета

Перед тем как начинать процесс сборки, убедитесь, что в файле debian/control вашего пакета указаны правильные архитектуры:

  • Для пакетов Python: Убедитесь, что поле Architecture установлено на all. Это позволит пакету работать на всех архитектурах, так как Python является интерпретируемым языком.
Architecture: all
  • Для прочих пакетов: Убедитесь, что поле Architecture установлено на any, чтобы Launchpad понимал, что необходимо собирать пакеты для всех архитектур, включая ARM и PowerPC.
Architecture: any

2. Настройки PPA в Launchpad

Чтобы начать сборку пакетов для ARM и PowerPC, вам нужно изменить настройки вашего PPA. Для этого выполните следующие шаги:

  • Войдите в ваш аккаунт на Launchpad.
  • Перейдите на страницу вашего PPA.
  • Нажмите "Change details" (Изменить детали) в верхнем правом углу.
  • Прокрутите вниз до секции выбора архитектур.
  • Выберите архитектуры, для которых желаете включить сборку: ARM (armhf, arm64) или PowerPC (ppc64el).

Изменение настроек PPA

Запомните, что в этом разделе можно выбрать:

  • AMD x86-64 (amd64)
  • ARM ARMv8 (arm64)
  • ARM ARMv7 Soft Float (armel)
  • ARM ARMv7 Hard Float (armhf)
  • Intel x86 (i386)
  • PowerPC64 Little-Endian (ppc64el)
  • PowerPC
  • IBM System z

3. Копирование уже собранных пакетов

Если в вашем PPA уже имеются пакеты, и вы хотите скомпилировать их для ARM, выполните следующие действия:

  • После включения ARM-сборок в настройках PPA, используйте функцию "copy packages" (копировать пакеты).
  • Выберите "copy existing binaries" (копировать существующие бинарные файлы). Это позволит Launchpad просто скопировать уже собранные пакеты для amd64 или i386, а для новых архитектур будет инициирована сборка.

4. Автоматизация сборок для следующих версий

После вашего первого запуска сборок для ARM и PowerPC вам не нужно будет повторять активацию сборок для новых версий пакетов. Запросите новую версию вашего пакета, и Launchpad автоматически создаст пакеты для всех ранее выбранных архитектур.

5. Возможные ограничения

Обратите внимание, что некоторые архитектуры могут требовать административного доступа, и для их активации может потребоваться специальная просьба. Например, для архитектуры RISC-V или в случае специфических ограничений на PowerPC, может требоваться обращение к администрации Launchpad.

Заключение

Создание PPA-пакетов для архитектур ARM и PowerPC в Launchpad стало значительно проще благодаря внедрению автоматических настроек. Следуя указанным шагам и правильно указывая архитектуры в вашем пакете, вы сможете без проблем разрабатывать и разворачивать свои программы для различных платформ.

Если у вас возникли сопутствующие вопросы или ошибки во время сборки, рекомендуется просмотреть документацию Launchpad или задать вопросы на форумах community, чтобы получить помощь от расширенного сообщества разработчиков.

Оцените материал
Добавить комментарий

Капча загружается...