|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Vladimir Bormotov 2:5020/400 03 Jan 2003 06:16:44 To : Valentin Nechayev Subject : Re: rpm dependences in Linux distributions --------------------------------------------------------------------------------
Hi, Valentin!
>>>>> "VN" == Valentin Nechayev <netch@segfault.kiev.ua> writes:
VB>> на самом деле, основная (на мой вгляд) ошибка - "в одну транзакцию".
VN> Hе вижу ошибки.;) Почему транзакция в мире БД может объединять insert,
VN> update, delete, основываться на результате select'а по состоянию на её
VN> начало, а тут - не может? Что мы, рыжие?;))
[skip]
VB>> Смотерть в исходники rpm'а мне уже совсем лень.
VN> Мне было не лень. Hе умеет.
кстати, таки умеет через в librpm API
VN> Hет. librpm API я не смотрел, а на уровне команды - такого нет, потому
VN> что install, update и freshen - действия разные и на уровне одной
VN> команды необъединимые.
я вот пересилил свою лень и полез более пристально покопался в yum, потом
внимательно посмотрел на rpm-python (кстати, то что в cvs заметно
причесали и документировали ;).
Hакропал такую вот "рыбу":
http://insight.donbass.com/~bor/py/rpm_ts.py.bz2
// при rpm > 4.0.x работать не будет
В этой рыбе нет примера "за одну транзакцию что-то можно удалить и
поставить". Приведен вариант как _автоматически_ rpm сносит старую либу,
во время обновления версии прогарммы, и новой либы, которая теперь
порезана на две, и вообще с другим именем. К примеру с glibc-kernheaders,
imho более актуально.
Вариант с "обновление+установка+удаление за одну транзакцию" думаю за пол
часика под настроение ты и сам напишешь из этой рыбы и попробуешь ;)
VB>> ЗЫ если пойти езе далее в эту сторону, я вообещ считаю что транзакции
VB>> нужно вынести из тепершнего rpm в отдельный слой. Это даст возомжность
VB>> наделать в каждом слое правлиьных ручек, за которые можно дергать.
VB>> Сейчас там уж слишком все запутано.
VN> Там нет ничего особо запутанного, есть достаточно простая и прямая
VN> логика. Обеспечить транзакцию на уровень выше элементарно - --nodeps
VN> или аналогичная рукоятка у librpm.
таки --nodeps это ПОДПОРКА для лечения поломаных rpmdb, и пока примера
когда "без него никак" я не услышал ;)
Все ранее заявленое своидтся к "кривой пакет".
"лень собирать пакет" - это по сути тоже "кривой пакет" ;)
--
Bor.
--- ifmail v.2.15dev5
* Origin: BorHomeLand (2:5020/400)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор Архивное /ru.linux/25411fa762fd.html, оценка из 5, голосов 10
|