ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] %pre in update package
@ 2008-11-21 22:49 Led
  2008-11-21 23:24 ` Led
  0 siblings, 1 reply; 14+ messages in thread
From: Led @ 2008-11-21 22:49 UTC (permalink / raw)
  To: ALT Linux Team development discussions

А почему у нас не обрабатывается %pre скрипт, если пакет обновляется apt'ом?
Если обновлять "rpm -U", то скрипт отрабатывает.

-- 
Led

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [devel] %pre in update package
  2008-11-21 22:49 [devel] %pre in update package Led
@ 2008-11-21 23:24 ` Led
  2008-11-22 22:53   ` Dmitry V. Levin
  0 siblings, 1 reply; 14+ messages in thread
From: Led @ 2008-11-21 23:24 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Saturday, 22 November 2008 00:49:30 Led wrote:
> А почему у нас не обрабатывается %pre скрипт, если пакет обновляется
> apt'ом? Если обновлять "rpm -U", то скрипт отрабатывает.

Всё таки отрабатывает, но не так, как в случае
rpm -U

По крайней мере,
find ...
при обновлении apt'ом не отработал (не нашёлся?)

/bin/find ...
отработал

Но всё равно, ИМХО неправильно это (различное поведение при
apt-get update package
и
rpm -U package
)

-- 
Led

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [devel] %pre in update package
  2008-11-21 23:24 ` Led
@ 2008-11-22 22:53   ` Dmitry V. Levin
  2008-11-22 23:01     ` Led
  0 siblings, 1 reply; 14+ messages in thread
From: Dmitry V. Levin @ 2008-11-22 22:53 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 745 bytes --]

On Sat, Nov 22, 2008 at 01:24:27AM +0200, Led wrote:
> On Saturday, 22 November 2008 00:49:30 Led wrote:
> > А почему у нас не обрабатывается %pre скрипт, если пакет обновляется
> > apt'ом? Если обновлять "rpm -U", то скрипт отрабатывает.
> 
> Всё таки отрабатывает, но не так, как в случае
> rpm -U
> 
> По крайней мере,
> find ...
> при обновлении apt'ом не отработал (не нашёлся?)
> 
> /bin/find ...
> отработал

Обычно такого не бывает, чтобы /bin выпал из непустого $PATH.
По крайней мере, я бы не стал дальше искать баги в такой системе.

> Но всё равно, ИМХО неправильно это (различное поведение при
> apt-get update package
> и
> rpm -U package

Обычно никакого различия в поведении не наблюдается.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [devel] %pre in update package
  2008-11-22 22:53   ` Dmitry V. Levin
@ 2008-11-22 23:01     ` Led
  2008-11-22 23:08       ` Dmitry V. Levin
  0 siblings, 1 reply; 14+ messages in thread
From: Led @ 2008-11-22 23:01 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Sunday, 23 November 2008 00:53:47 Dmitry V. Levin wrote:
> On Sat, Nov 22, 2008 at 01:24:27AM +0200, Led wrote:
> > On Saturday, 22 November 2008 00:49:30 Led wrote:
> > > А почему у нас не обрабатывается %pre скрипт, если пакет обновляется
> > > apt'ом? Если обновлять "rpm -U", то скрипт отрабатывает.
> >
> > Всё таки отрабатывает, но не так, как в случае
> > rpm -U
> >
> > По крайней мере,
> > find ...
> > при обновлении apt'ом не отработал (не нашёлся?)
> >
> > /bin/find ...
> > отработал
>
> Обычно такого не бывает, чтобы /bin выпал из непустого $PATH.
> По крайней мере, я бы не стал дальше искать баги в такой системе.
>
> > Но всё равно, ИМХО неправильно это (различное поведение при
> > apt-get update package
> > и
> > rpm -U package
>
> Обычно никакого различия в поведении не наблюдается.

http://git.altlinux.org/people/led/packages/erlang-doc.git

-- 
Led

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [devel] %pre in update package
  2008-11-22 23:01     ` Led
@ 2008-11-22 23:08       ` Dmitry V. Levin
  2008-11-22 23:19         ` Led
  0 siblings, 1 reply; 14+ messages in thread
From: Dmitry V. Levin @ 2008-11-22 23:08 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1172 bytes --]

On Sun, Nov 23, 2008 at 01:01:10AM +0200, Led wrote:
> On Sunday, 23 November 2008 00:53:47 Dmitry V. Levin wrote:
> > On Sat, Nov 22, 2008 at 01:24:27AM +0200, Led wrote:
> > > On Saturday, 22 November 2008 00:49:30 Led wrote:
> > > > А почему у нас не обрабатывается %pre скрипт, если пакет обновляется
> > > > apt'ом? Если обновлять "rpm -U", то скрипт отрабатывает.
> > >
> > > Всё таки отрабатывает, но не так, как в случае
> > > rpm -U
> > >
> > > По крайней мере,
> > > find ...
> > > при обновлении apt'ом не отработал (не нашёлся?)
> > >
> > > /bin/find ...
> > > отработал
> >
> > Обычно такого не бывает, чтобы /bin выпал из непустого $PATH.
> > По крайней мере, я бы не стал дальше искать баги в такой системе.
> >
> > > Но всё равно, ИМХО неправильно это (различное поведение при
> > > apt-get update package
> > > и
> > > rpm -U package
> >
> > Обычно никакого различия в поведении не наблюдается.
> 
> http://git.altlinux.org/people/led/packages/erlang-doc.git

Вы предлагаете это собрать и установить apt'ом?
А какой смысл в написанном там действии
%pre
/bin/find %_docdir/%bname-%version/lib -type l -delete


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [devel] %pre in update package
  2008-11-22 23:08       ` Dmitry V. Levin
@ 2008-11-22 23:19         ` Led
  2008-11-22 23:23           ` Dmitry V. Levin
  0 siblings, 1 reply; 14+ messages in thread
From: Led @ 2008-11-22 23:19 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Sunday, 23 November 2008 01:08:37 Dmitry V. Levin wrote:
> On Sun, Nov 23, 2008 at 01:01:10AM +0200, Led wrote:
> > On Sunday, 23 November 2008 00:53:47 Dmitry V. Levin wrote:
> > > On Sat, Nov 22, 2008 at 01:24:27AM +0200, Led wrote:
> > > > On Saturday, 22 November 2008 00:49:30 Led wrote:
> > > > > А почему у нас не обрабатывается %pre скрипт, если пакет
> > > > > обновляется apt'ом? Если обновлять "rpm -U", то скрипт
> > > > > отрабатывает.
> > > >
> > > > Всё таки отрабатывает, но не так, как в случае
> > > > rpm -U
> > > >
> > > > По крайней мере,
> > > > find ...
> > > > при обновлении apt'ом не отработал (не нашёлся?)
> > > >
> > > > /bin/find ...
> > > > отработал
> > >
> > > Обычно такого не бывает, чтобы /bin выпал из непустого $PATH.
> > > По крайней мере, я бы не стал дальше искать баги в такой системе.
> > >
> > > > Но всё равно, ИМХО неправильно это (различное поведение при
> > > > apt-get update package
> > > > и
> > > > rpm -U package
> > >
> > > Обычно никакого различия в поведении не наблюдается.
> >
> > http://git.altlinux.org/people/led/packages/erlang-doc.git
>
> Вы предлагаете это собрать и установить apt'ом?

Нет, не предлагаю. Я показал пример, в котором это произошло.

> А какой смысл в написанном там действии
> %pre
> /bin/find %_docdir/%bname-%version/lib -type l -delete

Я не знаю как иначе rpm заставить удалить симлинки, если в новом релизе пакета 
эти симлинки на каталоги поменялись на реальные каталоги.

-- 
Led

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [devel] %pre in update package
  2008-11-22 23:19         ` Led
@ 2008-11-22 23:23           ` Dmitry V. Levin
  2008-11-22 23:34             ` Led
  0 siblings, 1 reply; 14+ messages in thread
From: Dmitry V. Levin @ 2008-11-22 23:23 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1838 bytes --]

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:
> > > On Sunday, 23 November 2008 00:53:47 Dmitry V. Levin wrote:
> > > > On Sat, Nov 22, 2008 at 01:24:27AM +0200, Led wrote:
> > > > > On Saturday, 22 November 2008 00:49:30 Led wrote:
> > > > > > А почему у нас не обрабатывается %pre скрипт, если пакет
> > > > > > обновляется apt'ом? Если обновлять "rpm -U", то скрипт
> > > > > > отрабатывает.
> > > > >
> > > > > Всё таки отрабатывает, но не так, как в случае
> > > > > rpm -U
> > > > >
> > > > > По крайней мере,
> > > > > find ...
> > > > > при обновлении apt'ом не отработал (не нашёлся?)
> > > > >
> > > > > /bin/find ...
> > > > > отработал
> > > >
> > > > Обычно такого не бывает, чтобы /bin выпал из непустого $PATH.
> > > > По крайней мере, я бы не стал дальше искать баги в такой системе.
> > > >
> > > > > Но всё равно, ИМХО неправильно это (различное поведение при
> > > > > apt-get update package
> > > > > и
> > > > > rpm -U package
> > > >
> > > > Обычно никакого различия в поведении не наблюдается.
> > >
> > > 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 существует.

cd %_docdir/%bname-%version/lib 2>/dev/null &&
find -type l -delete ||:


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [devel] %pre in update package
  2008-11-22 23:23           ` Dmitry V. Levin
@ 2008-11-22 23:34             ` Led
  2008-11-22 23:38               ` Dmitry V. Levin
  0 siblings, 1 reply; 14+ messages in thread
From: Led @ 2008-11-22 23:34 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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:
> > > > On Sunday, 23 November 2008 00:53:47 Dmitry V. Levin wrote:
> > > > > On Sat, Nov 22, 2008 at 01:24:27AM +0200, Led wrote:
> > > > > > On Saturday, 22 November 2008 00:49:30 Led wrote:
> > > > > > > А почему у нас не обрабатывается %pre скрипт, если пакет
> > > > > > > обновляется apt'ом? Если обновлять "rpm -U", то скрипт
> > > > > > > отрабатывает.
> > > > > >
> > > > > > Всё таки отрабатывает, но не так, как в случае
> > > > > > rpm -U
> > > > > >
> > > > > > По крайней мере,
> > > > > > find ...
> > > > > > при обновлении apt'ом не отработал (не нашёлся?)
> > > > > >
> > > > > > /bin/find ...
> > > > > > отработал
> > > > >
> > > > > Обычно такого не бывает, чтобы /bin выпал из непустого $PATH.
> > > > > По крайней мере, я бы не стал дальше искать баги в такой системе.
> > > > >
> > > > > > Но всё равно, ИМХО неправильно это (различное поведение при
> > > > > > apt-get update package
> > > > > > и
> > > > > > rpm -U package
> > > > >
> > > > > Обычно никакого различия в поведении не наблюдается.
> > > >
> > > > 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" - нет и пытается обновить 
пакет (естественно, обламывается).

>
> cd %_docdir/%bname-%version/lib 2>/dev/null &&
> find -type l -delete ||:

Зачем? find сам проверяет наличие каталога, в которые его натравливают, 
если %_docdir/%bname-%version/lib не существует, find ничего не делает.
"2>/dev/null ||:" действительно стОит указать, спасибо.

-- 
Led

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [devel] %pre in update package
  2008-11-22 23:34             ` Led
@ 2008-11-22 23:38               ` Dmitry V. Levin
  2008-11-22 23:47                 ` Led
  0 siblings, 1 reply; 14+ messages in thread
From: Dmitry V. Levin @ 2008-11-22 23:38 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1583 bytes --]

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

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [devel] %pre in update package
  2008-11-22 23:38               ` Dmitry V. Levin
@ 2008-11-22 23:47                 ` Led
  2008-11-22 23:57                   ` Dmitry V. Levin
  0 siblings, 1 reply; 14+ messages in thread
From: Led @ 2008-11-22 23:47 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Sunday, 23 November 2008 01:38:13 Dmitry V. Levin wrote:
> 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).

Проверил ровно 3 (ТРИ) раза. После того, как сделал
s|find|/bin/&|
всё заработало и в случае "apt-get install" 

>
> > > cd %_docdir/%bname-%version/lib 2>/dev/null &&
> > > find -type l -delete ||:
> >
> > Зачем? find сам проверяет наличие каталога, в которые его натравливают,
> > если %_docdir/%bname-%version/lib не существует, find ничего не делает.
> > "2>/dev/null ||:" действительно стОит указать, спасибо.
>
> Чтобы отличить штатную ситуацию (отсутствие каталога) от нештатной
> ситуации (find не смог искать и/или удалить запрошенное).

И то, и другое - штатная ситуация. find (в данном случае) должен что-то делать 
ТОЛЬКО если:
1) каталог, в котором ему указали искать, существует
2) в каталоге есть симлинки - тогда их нужно удалить, иначе rpm "захлебнётся" 
(я уже не пытаюсь говорить, что это похоже на багу rpm, потому как она 
существует достаточно длительное время, чтобы считать её тупой фичей:)

-- 
Led

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [devel] %pre in update package
  2008-11-22 23:47                 ` Led
@ 2008-11-22 23:57                   ` Dmitry V. Levin
  2008-11-23  0:04                     ` Led
  2008-11-23  0:28                     ` Led
  0 siblings, 2 replies; 14+ messages in thread
From: Dmitry V. Levin @ 2008-11-22 23:57 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 2454 bytes --]

On Sun, Nov 23, 2008 at 01:47:35AM +0200, Led wrote:
> On Sunday, 23 November 2008 01:38:13 Dmitry V. Levin wrote:
> > 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).
> 
> Проверил ровно 3 (ТРИ) раза. После того, как сделал
> s|find|/bin/&|
> всё заработало и в случае "apt-get install" 

Так не бывает.  Попробуйте вставить в %pre отладку (set -x),
вернуть find в нормальный вид и снова сравнить.

> > > > cd %_docdir/%bname-%version/lib 2>/dev/null &&
> > > > find -type l -delete ||:
> > >
> > > Зачем? find сам проверяет наличие каталога, в которые его натравливают,
> > > если %_docdir/%bname-%version/lib не существует, find ничего не делает.
> > > "2>/dev/null ||:" действительно стОит указать, спасибо.
> >
> > Чтобы отличить штатную ситуацию (отсутствие каталога) от нештатной
> > ситуации (find не смог искать и/или удалить запрошенное).
> 
> И то, и другое - штатная ситуация. find (в данном случае) должен что-то делать 
> ТОЛЬКО если:
> 1) каталог, в котором ему указали искать, существует
> 2) в каталоге есть симлинки - тогда их нужно удалить, иначе rpm "захлебнётся" 

Ещё раз: не надо "затыкать рот" find'у -- он не сможет сообщить об ошибке,
которую вы НЕ ожидаете встретить.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [devel] %pre in update package
  2008-11-22 23:57                   ` Dmitry V. Levin
@ 2008-11-23  0:04                     ` Led
  2008-11-23  0:06                       ` Dmitry V. Levin
  2008-11-23  0:28                     ` Led
  1 sibling, 1 reply; 14+ messages in thread
From: Led @ 2008-11-23  0:04 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Sunday, 23 November 2008 01:57:01 Dmitry V. Levin wrote:
> On Sun, Nov 23, 2008 at 01:47:35AM +0200, Led wrote:
> > On Sunday, 23 November 2008 01:38:13 Dmitry V. Levin wrote:
> > > 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).
> >
> > Проверил ровно 3 (ТРИ) раза. После того, как сделал
> > s|find|/bin/&|
> > всё заработало и в случае "apt-get install"
>
> Так не бывает.  Попробуйте вставить в %pre отладку (set -x),
> вернуть find в нормальный вид и снова сравнить.

ок.

>
> > > > > cd %_docdir/%bname-%version/lib 2>/dev/null &&
> > > > > find -type l -delete ||:
> > > >
> > > > Зачем? find сам проверяет наличие каталога, в которые его
> > > > натравливают, если %_docdir/%bname-%version/lib не существует, find
> > > > ничего не делает. "2>/dev/null ||:" действительно стОит указать,
> > > > спасибо.
> > >
> > > Чтобы отличить штатную ситуацию (отсутствие каталога) от нештатной
> > > ситуации (find не смог искать и/или удалить запрошенное).
> >
> > И то, и другое - штатная ситуация. find (в данном случае) должен что-то
> > делать ТОЛЬКО если:
> > 1) каталог, в котором ему указали искать, существует
> > 2) в каталоге есть симлинки - тогда их нужно удалить, иначе rpm
> > "захлебнётся"
>
> Ещё раз: не надо "затыкать рот" find'у -- он не сможет сообщить об ошибке,
> которую вы НЕ ожидаете встретить.

Например?

-- 
Led

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [devel] %pre in update package
  2008-11-23  0:04                     ` Led
@ 2008-11-23  0:06                       ` Dmitry V. Levin
  0 siblings, 0 replies; 14+ messages in thread
From: Dmitry V. Levin @ 2008-11-23  0:06 UTC (permalink / raw)
  To: ALT Linux Team development discussions

[-- Attachment #1: Type: text/plain, Size: 1452 bytes --]

On Sun, Nov 23, 2008 at 02:04:34AM +0200, Led wrote:
> On Sunday, 23 November 2008 01:57:01 Dmitry V. Levin wrote:
> > On Sun, Nov 23, 2008 at 01:47:35AM +0200, Led wrote:
> > > On Sunday, 23 November 2008 01:38:13 Dmitry V. Levin wrote:
> > > > On Sun, Nov 23, 2008 at 01:34:18AM +0200, Led wrote:
> > > > > On Sunday, 23 November 2008 01:23:40 Dmitry V. Levin wrote:
[...]
> > > > > > cd %_docdir/%bname-%version/lib 2>/dev/null &&
> > > > > > find -type l -delete ||:
> > > > >
> > > > > Зачем? find сам проверяет наличие каталога, в которые его
> > > > > натравливают, если %_docdir/%bname-%version/lib не существует, find
> > > > > ничего не делает. "2>/dev/null ||:" действительно стОит указать,
> > > > > спасибо.
> > > >
> > > > Чтобы отличить штатную ситуацию (отсутствие каталога) от нештатной
> > > > ситуации (find не смог искать и/или удалить запрошенное).
> > >
> > > И то, и другое - штатная ситуация. find (в данном случае) должен что-то
> > > делать ТОЛЬКО если:
> > > 1) каталог, в котором ему указали искать, существует
> > > 2) в каталоге есть симлинки - тогда их нужно удалить, иначе rpm
> > > "захлебнётся"
> >
> > Ещё раз: не надо "затыкать рот" find'у -- он не сможет сообщить об ошибке,
> > которую вы НЕ ожидаете встретить.
> 
> Например?

Например, ошибка в find-выражении, ошибка в (изменяющейся) структуре
файловой системы, ошибка в самом find.  Да мало ли какие бывают ошибки.


-- 
ldv

[-- Attachment #2: Type: application/pgp-signature, Size: 197 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [devel] %pre in update package
  2008-11-22 23:57                   ` Dmitry V. Levin
  2008-11-23  0:04                     ` Led
@ 2008-11-23  0:28                     ` Led
  1 sibling, 0 replies; 14+ messages in thread
From: Led @ 2008-11-23  0:28 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Sunday, 23 November 2008 01:57:01 Dmitry V. Levin wrote:
> On Sun, Nov 23, 2008 at 01:47:35AM +0200, Led wrote:
> > On Sunday, 23 November 2008 01:38:13 Dmitry V. Levin wrote:
> > > 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).
> >
> > Проверил ровно 3 (ТРИ) раза. После того, как сделал
> > s|find|/bin/&|
> > всё заработало и в случае "apt-get install"
>
> Так не бывает.  Попробуйте вставить в %pre отладку (set -x),
> вернуть find в нормальный вид и снова сравнить.

Сегодня всё работает.
Прошу прощения за то, что (как выяснилось) зря отнимал ваше время.
Похоже это были локальные проблемы, которые исчезли после перезагрузки системы 
(возможно, стОило перезагрузить систему ещё вчера после dist-upgrade).


-- 
Led

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2008-11-23  0:28 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-11-21 22:49 [devel] %pre in update package Led
2008-11-21 23:24 ` Led
2008-11-22 22:53   ` Dmitry V. Levin
2008-11-22 23:01     ` Led
2008-11-22 23:08       ` Dmitry V. Levin
2008-11-22 23:19         ` Led
2008-11-22 23:23           ` Dmitry V. Levin
2008-11-22 23:34             ` Led
2008-11-22 23:38               ` Dmitry V. Levin
2008-11-22 23:47                 ` Led
2008-11-22 23:57                   ` Dmitry V. Levin
2008-11-23  0:04                     ` Led
2008-11-23  0:06                       ` Dmitry V. Levin
2008-11-23  0:28                     ` Led

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git