Отслеживание зависимостей пакетов при сборке дистрибутива
http://ru.wikipedia.org/wiki/Rosa_Linux
http://techquisitor.livejournal.com/236159.html?thread=617599#t617599
Вычитал по ссылке такое: "Ещё одна фича сборочной системы - циклический контроль зависимостей. К выходу 2012.1 наши инженеры проделали то, что есть, пожалуй, только у ALT Linux. А именно, все зависимости теперь жёстко контролируются и весь софт в репозитории не имеет внешних зависимостей. Т.е. ситуация, когда ты ставишь какую-либо программу, а она тебе говорит, что не хватает libfoo, потому что она вообще в каком-то другом репозтории лежит или её нет в дистрибутиве - теперь исключена"
Это что, серьезно, нигде такого больше нету? Ну, в смысле, автоматом пройтись по всем пакетам и проверить, что их зависимости за пределы данного репозитория не выходят? Вроде же самоочевидная фича.
http://techquisitor.livejournal.com/236159.html?thread=617599#t617599
Вычитал по ссылке такое: "Ещё одна фича сборочной системы - циклический контроль зависимостей. К выходу 2012.1 наши инженеры проделали то, что есть, пожалуй, только у ALT Linux. А именно, все зависимости теперь жёстко контролируются и весь софт в репозитории не имеет внешних зависимостей. Т.е. ситуация, когда ты ставишь какую-либо программу, а она тебе говорит, что не хватает libfoo, потому что она вообще в каком-то другом репозтории лежит или её нет в дистрибутиве - теперь исключена"
Это что, серьезно, нигде такого больше нету? Ну, в смысле, автоматом пройтись по всем пакетам и проверить, что их зависимости за пределы данного репозитория не выходят? Вроде же самоочевидная фича.
no subject
При анализе замкнутости репозитория если попал в цикл ты должен это понять и проверить что он самодостаточен в этом репозитории.
no subject
должен? а если я проигнорирую цикл, я что не смогу понять, что репозиторий самодостаточен?
http://ideone.com/VJCQP0
no subject
--- test.py.orig 2014-08-25 13:17:30.282501285 +0300
+++ test.py 2014-08-25 13:16:51.134525778 +0300
@@ -5,8 +5,10 @@
repository = [
package('udev', ['util-linux']),
- package('util-linux', ['udev']),
- package('kde', ['qt'])
+ package('util-linux', ['udev', 'gcc']),
+ package('gcc', ['broken2']),
+ package('kde', ['qt']),
+ package('qt', ['broken'])
]
good_packages = []
===============================================================
# python test.py
good packages: ['udev', 'util-linux', 'kde']
bad packages: ['gcc', 'qt']
Разговор окончен.
no subject
У пакетов udev, util-linux и kde всё хорошо, они смотрят только внутрь репозитория.
А вот пакеты gcc и qt выбиваются из концепции замкнутого репозитория, надо ими заняться.
no subject
no subject
Найдите большого дядю из, в принципе, любого серьёзного дистрибьютива, который в этом мире не вчера родился и посмотрите что он делает, чтобы не попадать в такие ситуации.
Хуёво быть слепым сироткой, по возможности старайтесь избегать этого :)