On Thu, Apr 20, 2006 at 03:54:12AM +0400, Dmitry V. Levin wrote: > Так бывает, когда у библиотеки меняется ABI, но при этом в API сохраняется > обратная совместимость. В такой ситуации _необходимо_ менять soname. > > > Радует в некотром смысле только одно: робот работает правильно. > Спасибо ему! Робот работает довольно долго и запускается по ночам. В принципе можно придумать что-то вроде Makefile'а, чтобы робот запускался тогда только тогда, когда появляется новый сизиф. Тогда результаты будут доступны быстро, и по этим результатам можно не пропускать библиотеки, которые ломают обратную совместимость. Но в любом случае это будет требовать вмешательство эксперта. То есть пока я не представляю, как это автоматизировать. Кстати, я придумал ещё одного робота, который анализирует бинарную совместимость между двумя различными срезами сизифа. Идея в следующем: при частичном обновлении возможны конфигурации, когда приложение из нового среза не работает с библиотекой из старого среза, потому что использует какие-то функции, которые появились в более новой версии библиотеки (в новом срезе сизифа). Этот робот уже лежит в cvs, называется abi_drift. Правда пока он ничего не выводит. В принципе можно его запустить, но интерпретация его работы опять же требует экспертного мнения. В идеале просто нельзя допускать переход сизифа в "менее стабильное" состояние. Энтропия замкнутого сизифа не должна возрастать. С какого среза сизифа лучше начать анализировать бинарную совместимость?