Можно ли дважды скомпилировать и собрать отдельные пакеты, только написав debian / rules?

Позвольте мне уточнить мой вопрос с некоторыми дополнительными деталями о том, что я пытаюсь достичь.

Моя конечная цель — получить два пакета debian: один, содержащий двоичные файлы, созданные для x86, а другой для ARM. В debian / control у меня определены два разных пакета, и для архитектуры в настоящий момент установлено «any» для обоих пакетов.

Я пытался следовать инструкциям на https://wiki.debian.org/PkgSplit а также, глядя на пример rules.multi2 для debhelper (http://www.fifi.org/doc/debhelper/examples/rules.multi2), но пока без везения.

Источником является Qt-проект, который должен быть развернут как для x86, так и для ARM.

Я успешно собираюсь с помощью dpkg-buildpackage, но, как бы я ни старался, мой исходный код компилируется только один раз.

Каков был бы идеальный способ достичь моей цели, достаточно ли «просто» ввести правильную информацию в debian / rules, чтобы это работало, или мне нужно использовать другой подход? Я не совсем уверен, возможно ли это вообще; что для начала я просто выбрал неправильный путь (я новичок в мире упаковки Debian).

(Я намеренно не включаю мои debian / control и debian / rules на этом этапе, при необходимости я предоставлю более подробную информацию, поскольку на этом этапе они немного запутаны).

Редактировать:
Этот комментарий меня привел к PkgSplit https://askubuntu.com/questions/246718/change-environment-variables-in-debian-rules-according-to-debian-control-targets/908351#908351
Но для меня ответ немного загадочный, поэтому рука помощи будет очень цениться.

0

Решение

нет.

один прогон dpkg-buildpackage создаст бинарные пакеты для одной архитектуры (либо amd64, или же i386, или же armhf или же s390x или что угодно).

просто позвони dpkg-buildpackage несколько раз (пересечь) сборку для нескольких архитектур:

dpkg-buildpackage -rfakeroot
dpkg-buildpackage -rfakeroot --host-arch i386
dpkg-buildpackage -rfakeroot --host-arch armhf

это создаст (максимум) 3 пакета: один из нативной архитектуры (скорее всего: amd64), один для x86_32 (ака i386) и один для малины (armhf).

кстати, PkgSplit Документы говорят о создании нескольких пакетов для одной и той же архитектуры. например когда у вас есть библиотека, вы обычно хотите разделить ее на библиотечную часть (установка libfoo.so.1) и часть разработки (установка заголовочных файлов).

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]