[devel] ACL in branches
Денис Смирнов
=?iso-8859-1?q?mithraen_=CE=C1_altlinux=2Eru?=
Сб Мар 7 15:57:26 MSK 2009
On Fri, Mar 06, 2009 at 08:20:09PM +0300, Алексей Турбин wrote:
AT> С помощью автоматики убедиться в "стабильности", надежности и
AT> работоспособности очень сложно. Автоматика может проверять лишь
AT> некоторые заранее известные формальные условия.
Да.
AT> Но не всё так безнадёжно. Во-первых, формальные условия в значительной
AT> степени отражают некоторые важные характеристики работоспособности.
AT> Например, анметы означают, что какой-то пакет просто не удастся
AT> установить без нарушений. А "нарушение" связано с тем что пакету
AT> чего-то не хватает, и работать он не будет. Если бы анметы означали
AT> что-то ещё, то просто были бы менее полезной информацией.
AT> То есть существует стык между формальными условиями и содержательными
AT> требованиями. И на этом стыке можно реализовать полезную автоматику.
Да.
AT> Во-вторых, что можно противопоставить автоматике? Только
AT> квалифицированное тестирование вручную. А квалифицированные тестеры
AT> которые хорошо разбираются во всякой специфике это либо сами
AT> разработчики либо прикладные специалисты. Их просто не получится по
AT> количеству и по времени запрячь в какое-то предварительное тестирование
AT> перед выкладываением пакетов в сизиф. Можно через какое-то время
AT> надеяться на feedback. А автоматика работает достаточно быстро,
AT> и её легко запрячь на проверку предварительных условий.
Еще ее можно запрячь на действия по событиям от пользователей. Т.е. баг в
багтрекере -- тоже ценная информация.
>> Хорошо бы анонс видеть _за некоторое время_ до изменения. А не "все
>> сломали давайте чинить".
AT> Ну а зачем всё сломать а потом давайте всё чинить?
Спроси это у тех кто так поступает :)
>> Поясняю -- я теперь стараюсь держать у себя срез 5.0 за определенное
>> время. Потому как я месяц готовил дистр под клиента к релизу, и за два дня
>> до этого самого релиза оказалось что разломали нафиг alterator-lilo,
>> datetime. При этом где-то несовместимые изменения (лечится обновлением
>> профиля), а где-то -- страшные баги, уровня "это даже не пытались
>> запустить". И это -- в стабильном бранче.
AT> Ну я и говорю что стабильность это скорее демагогия. Она вроде бы
AT> поддерживается на плохо формализуемом конвенциональном принципе "в
AT> бранчи не следует заливать экспериментальный софт". Но его туда всё
AT> равно заливают. Потому что каждый думает, что его пакет хороший и в
AT> проблемах не виноват. Что тогда даёт этот бранч? Если все эти
AT> конвенциональные соображения трудно сформулировать и трудно проверить.
Вот о том и речь, что сейчас бранч -- это непонятно чем отличающееся от
Сизифа добро.
>> Мне этот эксперимент с использованием инсталлера в работе стоил очень
>> много нервов.
AT> И что тогда можно придумать, чтобы всем было хорошо?
AT> Если в бранче оказался такой же кривоватый инсталлер как в сизифе.
То что он оказался в Сизифе -- нормально. Но в бранч он должен попасть
только после прохождения тестирования в Сизифе.
>> Некоторые вещи можно тестировать автоматически и по поводу предсказуемости
>> обновлений. Для этого нужна полная история всех пакетов, включая их
>> зависимости и содержащиеся в них файлы. Целый ряд стандартных проблем при
>> обновлении этим решается.
AT> И какого же рода вещи таким образом можно протестировать? И важно
AT> чтобы проверка не лажалась, то есть чтобы уровень false positives был
AT> не больше 0.1%. Иначе мы просто будем зарубать нормальные пакеты.
Например -- пересечения по файлам между пакетами и отсутствие при этом
конфликтов на уровне rpm. Сейчас это проверяется repocop'ом, но это не
проверяется с учетом _истории_ пакета.
>> Другой пласт решается тем самым предлагаемым мной полиси на тему "если
>> изменился soname -- поменяйте имя пакета, и не создавайте, пожалуйста,
>> геморроя пользователю".
AT> Такого рода прикладную логику как раз реализовать несколько легче.
AT> Но и тут есть некоторые проблемы. Нельзя четко отделить системные
AT> библиотеки от как бы вспомогательных библиотек. Если у вспомогательной
AT> библиотеки меняется сонейм, и у этой библиотеки среди пакетов всего
AT> два-три клиента, тогда имя пакета можно не менять. А если у библиотеки
AT> 100 или более клиентов, тогда менять имя пакета нужно практически
AT> безусловно. А четкого критерия нет.
Есть случае когда точно менять можно -- если все пакеты которые requires
этот soname собираются из того же srpm.
Есть случаи когда точно менять нельзя -- если пакеты которые requires
собираются разными мантейнерами (что говорит о том, что это разные проекты
которые люди могут хотеть обновлять неодновременно).
>> Именно такая протестированность и нужна. То есть не просто "Вася Пупкин
>> взял и поигрался". А "некто поставил и пользуется в своей работе этим
>> пакетом, и при этом количество мата в адрес этой сборки пакета меньше чем
>> количество мата в адрес предыдущей сборки пакета".
AT> Возможна ли такая протестированность в предварительном режиме, перед
AT> тем, как пакеты попадают в Сизиф? У нас как процесс устроен:
AT> предварительное тестирование, попадание пакета в сизиф, дальше широкое
AT> тестирование (всем миром). Вопрос в том что можно сделать на первой
AT> стадии за конечное время. Ответ в том что тут впрягается автоматика
AT> которая отлавливает грубые нарушения.
Увы нет. Эти тесты должны проходить когда пакет уже в Сизифе или любом
другом публичном репозитории.
>> Вещи которые может сделать обезъяна должен делать робот.
AT> Не всегда. Графические приложения сложно протестировать автоматически,
AT> даже на минимальном уровне. Иксовый протокол очень дубовый. Грубо
AT> говоря, можно лишь передавать нажатия клавиш в окно, и больше сделать
AT> ничего нельзя. Всякие там объекты, меню и т.п. существуют уже на уровне
AT> тулкитов.
:(
--
С уважением, Денис
http://freesource.info
----------------------------------------------------------------------------
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20090307/ed56ba60/attachment.bin>
Подробная информация о списке рассылки Devel