У меня есть собственное APT-репо, в котором хранятся пользовательские DEB, созданные/упакованные мной. В этом репозитории есть набор DEB пакетов, которые имеют следующее в их управляющем файле
Package: my-foo-<type>
Architecture: any
Section: admin
Provides: my-foo
Conflicts: my-foo
где <тип>
- один из нескольких типов (например, abc
, def
и т.д.). Другими словами, у меня есть несколько реальных пакетов, которые предоставляют один и тот же виртуальный пакет my-foo
. Как и ожидалось, если я попытаюсь запустить apt install my-foo
, я получу ожидаемое приглашение
Package my-foo is a virtual package provided by:
my-foo-abc 0.3.0-1
my-foo-def 0.4.3-1
You should explicitly select one to install.
У меня также есть другой пакет в том же репозитории, который имеет Depends: my-foo
в своем управляющем файле. Я ожидал, что когда я попытаюсь установить этот пакет, не указав явно, какой my-foo
виртуальный вкус использовать, мне также будет предложено сделать выбор. Однако этого не происходит - apt, похоже, выбирает первый пакет, удовлетворяющий имени виртуального пакета.
Есть ли способ принудительно добиться желаемого поведения?