On Sat, Mar 07, 2009 at 01:39:59PM +0300, Алексей Турбин wrote: AT> А что касается X-сервера, то мейнтейнер вроде бы не очень комплексует, AT> когда выкладывает новые сборки, в которых есть известные проблемы по AT> сравнению с предыдущими сборками. Эти проблемы ему даже обычно известны AT> заранее. Не похоже, чтобы дополнительные возможности предварительного AT> тестирования могли радикально повлиять на политику мейнтейнера. Он AT> вроде сам немного тестирует перед выкладыванием. Но в бранчи пакет должен перемещаться в тот момент, когда там известно что нет критических проблем. AT> Я считаю, что это действительно с трудом возможно и отчасти бесполезно. AT> Потому что пакеты работают не изолированно. В рантайме собственный код AT> пакета комбинируется с кодом зависимостей пакета (причем транзитивно, AT> то есть с зависимостями зависимостей и т.д.). Пока Вы тестировали AT> что-то одно, кто-то залил что-то другое. И это может сделать Ваши AT> усилия если не бесполезными, то лишенными гарантии. Гарантии никто и никогда не даст. Но факты уровня "а вот там rm -rf /* в %pre" -- выловятся _гарантировано_. И меня это устраивает. AT> Кстати, поэтому имеет смысл налаживать автоматическое тестирование AT> при сборке пакета, что-то типа 'make test'. Пусть кто-то хочет AT> разломать Ваш пакет, но у Вас при сборке выполняется 'make test'. AT> Тогда облом 'make test' при тестовой пересборке является индикатором, AT> что новый входящий пакет не согласуется с Вашим существующим пакетом. Да, это хорошая практика. Но не все так можно протестировать. Во многих случаях тест, это apt-get upgrade на некритичной машинке с последующими матюками. AT> 1) Репозитарий пакетов в каждый момент времени может находится только AT> в одном состоянии. AT> 2) Возможны строго последовательные (сериализованные) переходы, при AT> которых репозитарий переходит из одного состояния в другое состояние. AT> 3) Каждый переход должен быть подготовлен на текущем состоянии AT> репозитария. AT> Последнее условие, в частности, запрещает копировать пакеты из одного AT> бранча в другой. Это делает невозможным bootstrap без разлома репозитория. AT> Карманы почему плохо согласуются с моделью? Потому что карманы дают AT> множество параллельных состояний. Не факт, что эти параллельные AT> состояния удастся "состыковать" и привести к виду последовательных AT> согласовнных транзакций. Перемещение из кармана в Сизиф -- это тоже транзакция. -- С уважением, Денис http://freesource.info ----------------------------------------------------------------------------