Мы пытаемся создать поддерживаемый пакет i386 .deb мультидуги. Существует два .deb пакета, основываются на i386 X1, и X2 (X2 является подмножеством двоичных файлов X1). X1 <-> X2 конфликтуют друг друга при установке. Только один .deb пакет может быть установлен в любом экземпляре.
У нас так же есть двоичные файлы на xa64 дуге. Снова на xa64, существует два .deb пакета X1, и X2 (X2 является подмножеством двоичных файлов X1). X1 <-> X2 конфликтуют друг друга при установке. Только один .deb пакет может быть установлен в любом экземпляре.
В случае пакета i386 .deb мультидуги пакеты i386 .deb (X1 и X2) могут быть установлены на xa64 вдоль стороны с 64 битами (X1 и X2)
Однако я вижу, что при установке X1:i386 и X1:amd64 может сосуществовать Однако, он бросает ошибку конфликта при попытке установить X1:i386 и X2:amd64
Короче говоря, Можем мы отмечать пакет для конфликта на основе Конфликта дуги: X2:i386
Пакет X1:i386 должен только конфликтовать с X2:i386 и позволить другим пакетам сосуществовать, пакет X1:amd64 должен только конфликтовать с X2:amd64 и позволить другим пакетам сосуществовать
X1:i386 может сосуществовать с X1:amd64, ИЛИ X2:amd64 X2:i386 может сосуществовать с X1:amd64 ИЛИ X2:amd64
Спасибо за Ваш ответ
Отношения могут быть ограничены определенным набором архитектуры. Это обозначается в скобках после каждого отдельного имени пакета и дополнительной спецификации версии. Скобки включают непустой список имен архитектуры Debian в формате, описанном в строках спецификации Архитектуры, Раздел 11.1, разделенный пробелом. Восклицательные знаки могут предварительно ожидаться к каждому из имен. (Не разрешено для некоторых имен предварительно ожидаться с восклицательными знаками, в то время как другие не.)
https://www.debian.org/doc/debian-policy/ch-relationships.html
Это руководство обеспечивает ряд примеров, посмотрите, например:
Depends: foo [i386], bar [amd64]
Вы можете использовать определенный для дуги Conflicts:
и Replaces:
с этим синтаксисом. Я не уверен, как сказать "конфликты/замены X1 X2 той же архитектуры", это - чтобы Вы исследовали/пробовали. Я не уверен, работало ли что-то вроде этого:
package: X1
Architecture: i386
Conflicts: X2 [i386]
Replaces: X2 [i386]
package: X1
Architecture: amd64
Conflicts: X2 [amd64]
Replaces: X2 [amd64]
package: X2
Architecture: i386
Conflicts: X1 [i386]
Replaces: X1 [i386]
package: X2
Architecture: amd64
Conflicts: X1 [amd64]
Replaces: X1 [amd64]
я не уверен, если у Вас может быть два пакета с тем же именем, но различной архитектурой. Однако, это - начальная точка для Вас для экспериментирования. Обязательно прочитайте руководство политики, глава 7 описывает, как отношения работают в мельчайших подробностях.