[Comm] помогите собрать... (webshots для linux'a)
Michael Shigorin
mike на osdn.org.ua
Пт Янв 8 13:48:03 UTC 2010
On Thu, Jan 07, 2010 at 09:16:22PM +0300, Andrew Clark wrote:
> > как и этот. Можно расшифровать - что тут происходит?
> Это значит, что файл будет лежать в /etc/.
> Миш, может все же %config (noreplace) ???
Эээ... да, упустил. Обычно конфигурационные файлы не стоит
заменять по умолчанию.
rpm -U:
При совпадении md5-суммы конфига на файловой системе с тем,
что в удаляемом пакете -- считается, что он не трогался и можно
автоматически обновить, даже если в новом пакете другой текст.
При расхождении:
- noreplace => старый не трогается, новый кладётся в *.rpmnew;
- иначе старый отодвигается в *.rpmsave, новый на его место.
Не помню, как возникают *.rpmorig.
rpm -e:
"Нетроганный" конфиг удаляется, "троганный" отодвигается
в *.rpmsave. Кажется, это никак не зависит от noreplace.
> и не %_bindir/%name, а %_bindir/*
Здесь зависит от того, что дороже -- предсказуемый состав пакета
(и ошибки при сборке в случае поплывших имён) либо "не потерять".
То есть от схемы взаимодействия ведущего пакет и апстрима.
> > Спасибо, Михаил, однако есть еще вопросы - где можно найти
> > описания всех этих сакральных макросов - например, в пакете
> > setup в спеке много записей в %files такого вида
> > %config(noreplace)
> В RPM Package Guide, которую Вы и читали. Еще в Maximum RPM.
Угу, сам в max-rpm именно за ключами %setup вроде -T/-a/-c и лажу.
> > И еще где бы взять описание, куда вставлять скрипты при
> > установке/обновлении/удалении пакета, например, мне нужно при
> > установке этого своего пакета прописать еще задание в cron
> > root`а и добавить две строки в /etc/inputrc, причем при
> > удалении cron надо будет подчистить (эт я сам сделаю), а
> > inputrc можно будет оставить.
> есть секция %postinstall, если не ошибаюсь.
%post (ещё есть %postun, %pre, %preun)
С такими секциями, из которых порождаются пакетные скрипты --
стоит быть особо осторожным, в т.ч. проверяя, что скрипт не
закончится с ненулевым кодом возврата без крайне веской на то
причины (например, когда новая glibc со старым ядром заведомо
взорвёт систему).
Иначе можно заложить мину для apt-get dist-upgrade.
--
---- WBR, Michael Shigorin <mike на altlinux.ru>
------ Linux.Kiev http://www.linux.kiev.ua/
Подробная информация о списке рассылки community