Здравствуйте, vdimas, Вы писали:
V>...
V>Что такое "токен"? Он был введен для определения бинарной совместимости.
V>Например, бинарник версии "3.0" с токеном "А" удовлетворит затребованную зависимость "2.0 A", но её не удовлетворит другой бинарник "2.0 B".
Затребует приложение "2.0 С", которого нет. Что получит приложение: "длл-хелл" или "хаос версий"?
V>Ведь именно поэтому в Linux невозможно сосуществование бинарников от разных сборок, что эти бинарники несовместимы (конфликтуют), хотя у них одинаковые или совместимые версии. Если бы ввести SxS в Linux, то можно было бы на одной системе иметь пакеты от разных сборок без всяких конфликтов, как это происходит в Windows.
SxS можно эмулировать для glibc посредством символьных ссылок, LD_PRELOAD, LD_LIBRARY_PATH и других интересных переменных среды, вплоть до подмены загрузчика (ld.so) прямо из командной строки.
Только нужен ли этот комбинаторный взрыв для получения более-менее детерминированной системы?
Для винды, где пакетный менеджер — это кнопка "загрузить" на сайте vasya-pupkin.narod.ru, устанавливающий без согласия пользователя сд-эжектор от тындекса, без комбинаторного взрыва никак.
_>>Посмотри на NixOS с менеджером пакетов Nix.
V>Те же самые проблемы, которые решаются через ональную огороженность от других сборок линухов и даже от собственных сборок (разумеется!), которые имеют другую версию. ))
V>Трэш и угар, как по мне, но индустрия этим живёт сегодня.
Вот именно, "индустрия" живет.
_>>SxS рядом не валялся.
V>Мде?
Мде.
_>>Этом, можно сказать, динамически загружаемые библиотеки как статически слинкованные.
V>Да это вообще не важно. Смотри в суть вещей. В линухах до сих пор ниасили link-time code generation, поэтому запросто, например, могут позволять себе подставлять статические библиотеки для динамических зависимостей. Рука-лицо, не? ))
_>>Проблема не решается, появляется проблема хаоса из очень мало отличающихся версий либ. Один ад заменили другим адом.
V>Ну ты бы копнул SxS, там немного совсем.
V>Это не пакетный менеджер ни в одном из мест.
V>Это скромная такая, малюсенькая подсистема управления зависимостями.
V>ЛЮБОЙ адекватный виндовый пакетный менеджер должен сидеть поверх этой базы.
Вот именно, sxs — это не пакетный менеджер, это какой-то костыль, с попыткой разрулить зависимости.
Лучше бы сделали нормальный пакетный менеджер.