[devel] %pre in update package
Dmitry V. Levin
=?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Вс Ноя 23 02:38:13 MSK 2008
On Sun, Nov 23, 2008 at 01:34:18AM +0200, Led wrote:
> On Sunday, 23 November 2008 01:23:40 Dmitry V. Levin wrote:
> > On Sun, Nov 23, 2008 at 01:19:19AM +0200, Led wrote:
> > > On Sunday, 23 November 2008 01:08:37 Dmitry V. Levin wrote:
> > > > On Sun, Nov 23, 2008 at 01:01:10AM +0200, Led wrote:
[...]
> > > > > http://git.altlinux.org/people/led/packages/erlang-doc.git
> > > >
> > > > Вы предлагаете это собрать и установить apt'ом?
> > >
> > > Нет, не предлагаю. Я показал пример, в котором это произошло.
> >
> > Это пример глючного %pre-скрипта.
> >
> > > > А какой смысл в написанном там действии
> > > > %pre
> > > > /bin/find %_docdir/%bname-%version/lib -type l -delete
> > >
> > > Я не знаю как иначе rpm заставить удалить симлинки, если в новом релизе
> > > пакета эти симлинки на каталоги поменялись на реальные каталоги.
> >
> > Сперва проверьте, что каталог %_docdir/%bname-%version/lib существует.
>
> Проверял. При существующем каталоге и симлинках в нём "rpm -U"
> отрабатывает %pre-скрипт, а "apt--get install" - нет и пытается обновить
> пакет (естественно, обламывается).
"Не верю" (c).
> > cd %_docdir/%bname-%version/lib 2>/dev/null &&
> > find -type l -delete ||:
>
> Зачем? find сам проверяет наличие каталога, в которые его натравливают,
> если %_docdir/%bname-%version/lib не существует, find ничего не делает.
> "2>/dev/null ||:" действительно стОит указать, спасибо.
Чтобы отличить штатную ситуацию (отсутствие каталога) от нештатной
ситуации (find не смог искать и/или удалить запрошенное).
--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20081123/628c8a51/attachment.bin>
Подробная информация о списке рассылки Devel