Как работать с зависимостями построения с разрозненными цифрами?

У меня есть сборка на Launchpad, которая терпит неудачу по причинам, которые убегают от меня.

В пакете четко указаны зависимости сборки:

Merged Build-Depends: ..., golang (>= 1:1.4~) | gccgo-5, ... Filtered Build-Depends: ..., golang (>= 1:1.4~) | gccgo-5, ... 

Если я что-то не хватает, это означает, что необходимо установить версию golang > = 1.4 или установить gccgo-5 .

Но APT не делает ни того, ни другого. Далее мы видим:

 The following NEW packages will be installed: ... golang-go ... 0 upgraded, 29 newly installed, 0 to remove and 0 not upgraded. Need to get 26.5 MB of archives. After this operation, 139 MB of additional disk space will be used. ... Get:27 [...] trusty/universe golang-go i386 2:1.2.1-2ubuntu1 [7148 kB] 

Как на golang 1.2 удовлетворяет зависимость от сборки? Что тут происходит? Что я делаю не так?


Изменить: как указано в комментариях, проблема вращается вокруг чисел эпохи. Теперь мой вопрос: что я могу сделать, чтобы обойти это?

Как только цифры эпохи вступают в игру, вы не можете осмысленно просить что-либо, кроме точной версии, из более старой эпохи в качестве депрессии. >= 1:1.4 будет удовлетворяться любой упаковкой с более новой эпохи, даже 2:0.1 . Вы можете использовать точные соответствия ( == 1:1.4 ), но я сомневаюсь, что это то, что вы хотите.

Поскольку все поддерживаемые в настоящее время версии Ubuntu имеют пакеты golang с версией новой эпохи , пришло время переходить к ней. Debian также использует новую эпоху. Таким образом, на данный момент похоже, что только неофициальные источники даже будут иметь 1: golang пакет golang .