Packaging программ на Go для дистрибутивов линукса
От: Pzz Россия https://github.com/alexpevzner
Дата: 23.08.20 15:55
Оценка:
В процессе попадания моей програмки (https://github.com/OpenPrinting/ipp-usb) во всякие разные дистрибитивы линукса, неожиданно выяснилось, что там используются совершенно дикие процедуры сборки.

Вместо того, чтобы позволить Go самому выкачать все нужные внешние библиотеки, сборка идет на виртуальной машине, не подключенной к интернету, а для всех внешних зависимостей собираются отдельные пакеты, и предустанавливаются на сборочную машинку.

Естественно, это вспомогательные пакеты в дистрибутиве никому не нужны, потому что реальные программы могут быть привязаны к разным версиям внешних библиотек, и с этим сам Go великолепно справляется, а вот package manager'ы, что apt, что rpm — нет.

Однако они в дистрибутив попадают, и мозолят там глаза. Что предполагается делать, когда между ними случится конфликт по версиям (программа A хочет одну версию библиотеки XXX, а программа B — другую), науке не известно.

Кто нибудь понимает, это просто дикость и мракобесие, или за этим стоит какая-то рациональная причина?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.