[devel] rpm: find-package
Sergey Bolshakov
=?iso-8859-1?q?sbolshakov_=CE=C1_altlinux=2Eru?=
Пн Фев 16 18:00:32 MSK 2009
Обнаружен (внезапно!) некоторый неприятный момент в логике
скрипта find-package, вид по ссылке:
http://tinyurl.com/c7tzgq
а именно: если однажды каким-либо образом в сборочной итерации N-1
путь внешней зависимости не был разрешён в имя пакета, то такой путь
будет внесён в зависимости пакета as is, и, таким образом, клауза
'The path is also "safe enough" if it is already required by someone'
будет сама себя поддерживать сколь угодно большое количество
пересборок, несмотря на то, что путь (уже) может быть разрешён в имя
пакета, если пакет сборочно зависит, пусть непрямо, сам от себя.
На примере пакета openssl098:
однажды в нём возникла зависимость на
/usr/share/ca-certificates/ca-bundle.crt из-за ссылки
/var/lib/ssl/cert.pem -> ../../../usr/share/ca-certificates/ca-bundle.crt,
которая не могла (на тот момент) быть разрешена в ca-certificates.
Последующие пересборки openssl098 ничего не принесут, поскольку
в сборочном окружении неизбежно оказывается предыдущий (кривой)
openssl098, и клауза 'already required by, well, OMFG, ME!' не пустит
пройти посмотреть в contents_index_all. Круг замкнулся.
Есть идеи ?
--
Подробная информация о списке рассылки Devel