ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] repocop patches for %post/un_ldconfig
@ 2008-04-14 18:29 Igor Vlasenko
  2008-04-14 18:49 ` Igor Vlasenko
                   ` (2 more replies)
  0 siblings, 3 replies; 21+ messages in thread
From: Igor Vlasenko @ 2008-04-14 18:29 UTC (permalink / raw)
  To: devel

Уважаемые коллеги,

Вопрос, какой генерировать патч по тестам на
missing %post_ldconfig/%postun_ldconfig.

+%post -p %post_ldconfig
+%postun -p %postun_ldconfig
смотрятся эффектно, но есть риск, что
1) кто-то испугается, что у него стало две секции %post
2) кто-то не испугается и даже упростит потом до
%post -p %post_ldconfig
%update_menus
:)

Рисковать или нет?

-- 

Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine



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

* Re: [devel] repocop patches for %post/un_ldconfig
  2008-04-14 18:29 [devel] repocop patches for %post/un_ldconfig Igor Vlasenko
@ 2008-04-14 18:49 ` Igor Vlasenko
  2008-04-14 20:39 ` Alexey I. Froloff
  2008-04-15 13:08 ` Alexey Tourbin
  2 siblings, 0 replies; 21+ messages in thread
From: Igor Vlasenko @ 2008-04-14 18:49 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Mon, Apr 14, 2008 at 09:29:21PM +0300, Igor Vlasenko wrote:
> 2) кто-то не испугается и даже упростит потом до
> %post -p %post_ldconfig
> %update_menus

Впрочем, в Сизифе таких пакетов нет
(есть пара пакетов, которые имеют непустое тело скрипта,
состоящее из shell-комментариев - безвредный случай)

-- 

Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine



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

* Re: [devel] repocop patches for %post/un_ldconfig
  2008-04-14 18:29 [devel] repocop patches for %post/un_ldconfig Igor Vlasenko
  2008-04-14 18:49 ` Igor Vlasenko
@ 2008-04-14 20:39 ` Alexey I. Froloff
  2008-04-15 10:25   ` Igor Vlasenko
  2008-04-15 13:08 ` Alexey Tourbin
  2 siblings, 1 reply; 21+ messages in thread
From: Alexey I. Froloff @ 2008-04-14 20:39 UTC (permalink / raw)
  To: ALT Devel discussion list

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

* Igor Vlasenko <vlasenko@> [080414 22:34]:
> +%post -p %post_ldconfig
> +%postun -p %postun_ldconfig
> смотрятся эффектно, но есть риск, что
> Рисковать или нет?
Не надо.  Робот должен быть умный на входе и тупой как дрова на
выходе.

P.S. Хотя, научить его делать %post вместо %post -n для
subpackage'й не помешало бы...

-- 
Regards,
Sir Raorn.

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

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

* Re: [devel] repocop patches for %post/un_ldconfig
  2008-04-14 20:39 ` Alexey I. Froloff
@ 2008-04-15 10:25   ` Igor Vlasenko
  0 siblings, 0 replies; 21+ messages in thread
From: Igor Vlasenko @ 2008-04-15 10:25 UTC (permalink / raw)
  To: ALT Linux Team development discussions

On Tue, Apr 15, 2008 at 12:39:24AM +0400, Alexey I. Froloff wrote:
> * Igor Vlasenko <vlasenko@> [080414 22:34]:
> > +%post -p %post_ldconfig
> > +%postun -p %postun_ldconfig
> > смотрятся эффектно, но есть риск, что
> > Рисковать или нет?
> Не надо.  Робот должен быть умный на входе и тупой как дрова на
> выходе.

хорошо.
 
> P.S. Хотя, научить его делать %post вместо %post -n для
> subpackage'й не помешало бы...

Это уже планируется к следующим diff.

-- 

Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine



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

* Re: [devel] repocop patches for %post/un_ldconfig
  2008-04-14 18:29 [devel] repocop patches for %post/un_ldconfig Igor Vlasenko
  2008-04-14 18:49 ` Igor Vlasenko
  2008-04-14 20:39 ` Alexey I. Froloff
@ 2008-04-15 13:08 ` Alexey Tourbin
  2008-04-15 14:23   ` Alexander Myltsev
                     ` (2 more replies)
  2 siblings, 3 replies; 21+ messages in thread
From: Alexey Tourbin @ 2008-04-15 13:08 UTC (permalink / raw)
  To: devel

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

On Mon, Apr 14, 2008 at 09:29:21PM +0300, Igor Vlasenko wrote:
> Вопрос, какой генерировать патч по тестам на
> missing %post_ldconfig/%postun_ldconfig.
> 
> +%post -p %post_ldconfig
> +%postun -p %postun_ldconfig
> смотрятся эффектно, но есть риск, что
> 1) кто-то испугается, что у него стало две секции %post

rpm не потянет две секции %post.

> 2) кто-то не испугается и даже упростит потом до
> %post -p %post_ldconfig
> %update_menus
> :)

Так нельзя упростить.  Это конструкция означает, что в качестве
интерпретатора будет запущен /sbin/ldconfig, и на stdin ему скормят
содержимое скрипта.  Если скрипт будет побольше, то rpmi при установке
получит SIGPIPE.  (Точнее, SIGPIPE он не получит, потому что он
сохраняет скрипт во временный файл, а не прокачивает его в интерпретатор
напрямую.)

Вообще, большая часть %post-like скриптов типична и сводится к тому,
что если в пакете есть файл или provides определённого шаблона, то нужно
дёрнуть соответствующий hook (возможно, с аргументами).

То есть в принципе это можно возложить на автоматику, но как хорошо эту
автоматику реализовать я не знаю.  В принципе есть два подхода:
1) В rpmb автоматически комплектовать %post-like скрипты при сборке
пакта.  Тогда каждый *.rpm пакет останется self-contained.
2) Модифицировать rpmi, чтобы он дёргал что надо прямо во время
установки.  Тогда в пакетах %post-like скрипты можно вообще не писать,
но это будет неявная зависимость на "вумный" rpmi.

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

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

* Re: [devel] repocop patches for %post/un_ldconfig
  2008-04-15 13:08 ` Alexey Tourbin
@ 2008-04-15 14:23   ` Alexander Myltsev
  2008-04-15 15:01     ` Sergey V Turchin
                       ` (2 more replies)
  2008-04-15 14:35   ` Igor Vlasenko
  2008-04-15 18:46   ` Alexander Myltsev
  2 siblings, 3 replies; 21+ messages in thread
From: Alexander Myltsev @ 2008-04-15 14:23 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2008/4/15 Alexey Tourbin <at@altlinux.ru>:
>  2) Модифицировать rpmi, чтобы он дёргал что надо прямо во время
>  установки.  Тогда в пакетах %post-like скрипты можно вообще не писать,

Этот вариант прекрасен тем, что автоматически исправляет старые
пакеты, без NMU и ругани. Кроме того, он их исправляет _навсегда_:
если потребуется делать что-то новое при появлении определённого сорта
файлов, то пакеты с этими файлами не придётся пересобирать.

Ну а информацию о требуемом наборе действий rpmi должен брать из
какого-нибудь /etc/rpm/autoscripts.d. Например, пакет GConf будет
приносить с собой информацию о том, что /etc/gconf2/*.gconf надо
регистрировать.

Прям мечта.

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

* Re: [devel] repocop patches for %post/un_ldconfig
  2008-04-15 13:08 ` Alexey Tourbin
  2008-04-15 14:23   ` Alexander Myltsev
@ 2008-04-15 14:35   ` Igor Vlasenko
  2008-04-15 18:46   ` Alexander Myltsev
  2 siblings, 0 replies; 21+ messages in thread
From: Igor Vlasenko @ 2008-04-15 14:35 UTC (permalink / raw)
  To: ALT Linux Team development discussions; +Cc: at

On Tue, Apr 15, 2008 at 05:08:37PM +0400, Alexey Tourbin wrote:
> rpm не потянет две секции %post.

Это я недавно открыл для себя RPM::Headers 
и обратил внимание, что в заголовках допускаются 
множественные %post.

Т. е. это бутафория?

> 
> > 2) кто-то не испугается и даже упростит потом до
> > %post -p %post_ldconfig
> > %update_menus
> > :)

> Так нельзя упростить.  Это конструкция означает, что в качестве
> интерпретатора будет запущен /sbin/ldconfig, и на stdin ему скормят
> содержимое скрипта.  Если скрипт будет побольше, то rpmi при установке
> получит SIGPIPE.  (Точнее, SIGPIPE он не получит, потому что он
> сохраняет скрипт во временный файл, а не прокачивает его в интерпретатор
> напрямую.)

Алексей, вы не заметили :) в конце :).

> Вообще, большая часть %post-like скриптов типична и сводится к тому,
> что если в пакете есть файл или provides определённого шаблона, то нужно
> дёрнуть соответствующий hook (возможно, с аргументами).
> 
> То есть в принципе это можно возложить на автоматику, но как хорошо эту
> автоматику реализовать я не знаю.  В принципе есть два подхода:
> 1) В rpmb автоматически комплектовать %post-like скрипты при сборке
> пакта.  Тогда каждый *.rpm пакет останется self-contained.
> 2) Модифицировать rpmi, чтобы он дёргал что надо прямо во время
> установки.  Тогда в пакетах %post-like скрипты можно вообще не писать,
> но это будет неявная зависимость на "вумный" rpmi.

При 2) пакеты обновлять проще, так как весь код в одном месте.

-- 

Dr. Igor Vlasenko
--------------------
Topology Department
Institute of Math
Kiev, Ukraine



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

* Re: [devel] repocop patches for %post/un_ldconfig
  2008-04-15 14:23   ` Alexander Myltsev
@ 2008-04-15 15:01     ` Sergey V Turchin
  2008-04-15 17:22       ` Alexey I. Froloff
  2008-04-15 17:48     ` Alexey Tourbin
  2008-04-15 20:11     ` [devel] repocop patches for %post/un_ldconfig Alexey Rusakov
  2 siblings, 1 reply; 21+ messages in thread
From: Sergey V Turchin @ 2008-04-15 15:01 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Tuesday 15 April 2008, Alexander Myltsev wrote:

[...]
> Ну а информацию о требуемом наборе действий rpmi должен брать из
> какого-нибудь /etc/rpm/autoscripts.d
/etc/rpm/autoscripts_pre.d и /etc/rpm/autoscripts_post.d, т.к. может 
понадобиться что-то запомнить, чтоб после установки пакетов 
сравнить

[...]

-- 
Regards, Sergey, ALT Linux Team, http://www.altlinux.ru
http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

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

* Re: [devel] repocop patches for %post/un_ldconfig
  2008-04-15 15:01     ` Sergey V Turchin
@ 2008-04-15 17:22       ` Alexey I. Froloff
  2008-04-16 11:32         ` Sergey V Turchin
  0 siblings, 1 reply; 21+ messages in thread
From: Alexey I. Froloff @ 2008-04-15 17:22 UTC (permalink / raw)
  To: ALT Devel discussion list

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

* Sergey V Turchin <zerg@> [080415 19:08]:
> > Ну а информацию о требуемом наборе действий rpmi должен брать из
> > какого-нибудь /etc/rpm/autoscripts.d
> /etc/rpm/autoscripts_pre.d и /etc/rpm/autoscripts_post.d, т.к. может 
> понадобиться что-то запомнить, чтоб после установки пакетов 
> сравнить
А ещё большинство этих скриптов можно запускать один раз по
окончании транзакции.  На самом деле исключение я тут вижу всего
одно - ldconfig.

P.S. "Эти скрипты" - это скрипты без аргументов, срабатывающие на
некоторые файлы.  Не думаю что тут надо обрабатывать %_initdir,
*.info, control...

-- 
Regards,
Sir Raorn.

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

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

* Re: [devel] repocop patches for %post/un_ldconfig
  2008-04-15 14:23   ` Alexander Myltsev
  2008-04-15 15:01     ` Sergey V Turchin
@ 2008-04-15 17:48     ` Alexey Tourbin
  2008-04-15 18:01       ` Alexey I. Froloff
  2008-04-15 20:11     ` [devel] repocop patches for %post/un_ldconfig Alexey Rusakov
  2 siblings, 1 reply; 21+ messages in thread
From: Alexey Tourbin @ 2008-04-15 17:48 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Tue, Apr 15, 2008 at 06:23:20PM +0400, Alexander Myltsev wrote:
> Ну а информацию о требуемом наборе действий rpmi должен брать из
> какого-нибудь /etc/rpm/autoscripts.d. Например, пакет GConf будет

В каком виде можно описать эту информацию?  Если хочется обрабатывать
нетривиальные случаи, то мы закончим языком программирования.
А подходящего языка программирования нет.  То есть нужно скармливать
на вход хедер rpm пакета.  Может lua подойдёт...

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

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

* Re: [devel] repocop patches for %post/un_ldconfig
  2008-04-15 17:48     ` Alexey Tourbin
@ 2008-04-15 18:01       ` Alexey I. Froloff
  2008-04-15 19:50         ` Alexey Tourbin
  0 siblings, 1 reply; 21+ messages in thread
From: Alexey I. Froloff @ 2008-04-15 18:01 UTC (permalink / raw)
  To: ALT Devel discussion list

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

* Alexey Tourbin <at@> [080415 21:50]:
> > Ну а информацию о требуемом наборе действий rpmi должен брать из
> > какого-нибудь /etc/rpm/autoscripts.d. Например, пакет GConf будет
> В каком виде можно описать эту информацию?
В самом тупом.  "МАСКА  СКРИПТ".  Сейчас большинство (если не
все) макросов %update_*/%clean_* отличаются только разбором
$RPM_ARG1 (или как он там называется).  Почти все эти скрипты не
принимают аргументов, работают со всеми файлами в системе (а не
только с файлами из пакетов) и могут запускаться один раз за
транзакцию.  Может с этого и начнём?

> Если хочется обрабатывать нетривиальные случаи, то мы закончим
> языком программирования.  А подходящего языка программирования
> нет.
Для нетривиальных случаев есть %post скрипты в пакете ;-)

Хотя, хотелось бы автоматизировать случаи типа схем GConf или
info.

-- 
Regards,
Sir Raorn.

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

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

* Re: [devel] repocop patches for %post/un_ldconfig
  2008-04-15 13:08 ` Alexey Tourbin
  2008-04-15 14:23   ` Alexander Myltsev
  2008-04-15 14:35   ` Igor Vlasenko
@ 2008-04-15 18:46   ` Alexander Myltsev
  2 siblings, 0 replies; 21+ messages in thread
From: Alexander Myltsev @ 2008-04-15 18:46 UTC (permalink / raw)
  To: ALT Linux Team development discussions

2008/4/15 Alexey Tourbin <at@altlinux.ru>:
>  2) Модифицировать rpmi, чтобы он дёргал что надо прямо во время
>  установки.  Тогда в пакетах %post-like скрипты можно вообще не писать,

Рискую навлечь на себя негодование общественности, но замечу, что
"дёргать что надо" вполне может отдельный процесс, которому rpmi через
pipe рассказывает про свои манипуляции с файлами. То есть этот кусочек
функциональности можно сделать почти независимым от собственно rpm.

В результате, кажется, проще будет а) улучшать этот механизм и б)
портировать его на потенциальный rpm5.

(А ещё! Ещё можно сделать обновлятор сервисом на D-Bus... :o)

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

* Re: [devel] repocop patches for %post/un_ldconfig
  2008-04-15 18:01       ` Alexey I. Froloff
@ 2008-04-15 19:50         ` Alexey Tourbin
  2008-04-15 20:41           ` Alexey I. Froloff
                             ` (2 more replies)
  0 siblings, 3 replies; 21+ messages in thread
From: Alexey Tourbin @ 2008-04-15 19:50 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Tue, Apr 15, 2008 at 10:01:21PM +0400, Alexey I. Froloff wrote:
> * Alexey Tourbin <at@> [080415 21:50]:
> > > Ну а информацию о требуемом наборе действий rpmi должен брать из
> > > какого-нибудь /etc/rpm/autoscripts.d. Например, пакет GConf будет
> > В каком виде можно описать эту информацию?
> В самом тупом.  "МАСКА  СКРИПТ".  Сейчас большинство (если не
> все) макросов %update_*/%clean_* отличаются только разбором
> $RPM_ARG1 (или как он там называется).  Почти все эти скрипты не
> принимают аргументов, работают со всеми файлами в системе (а не
> только с файлами из пакетов) и могут запускаться один раз за
> транзакцию.  Может с этого и начнём?
> 
> > Если хочется обрабатывать нетривиальные случаи, то мы закончим
> > языком программирования.  А подходящего языка программирования
> > нет.
> Для нетривиальных случаев есть %post скрипты в пакете ;-)
> 
> Хотя, хотелось бы автоматизировать случаи типа схем GConf или
> info.

Понимаешь, нужно высокоуровневое семантическое описание того, что
находится в пакете.  Тогда можно обрабатывать нетривиальные случаи,
напр. condrestart сервисов.  А также не хочется играть в "большинство"
пакетов, это не игра в проценты, и надёжность должна быть очень высокой.

"МАСКА СКРИПТ" покрывает только самые тривиальные случаи (без
аргументов, которые просто делают какой-то кеш-генерат).  Кроме того,
остаётся открытым вопрос, чем парсить "МАСКУ СКРИПТ".  На Си это писать
глупо, а на шелле это не хочется писать по другой причине -- выбор
средств для модификаций rpmi гораздо сильнее ограничен, чем выбор
средств для модификации rpmb.  Ну, в rpmb можно засунуть всё что угодно,
и в худшем случае просто какие-то пакеты не пересобирутся, но мы потом
просто rpmb поправим к следующему разу (достаточно, чтобы rpmb мог
пересобрать сам себя, но это обычно проверяется).  А если в rpmi что-то
обламывается, то это уже не проблемы разработчиков, а материализация
духов.

Короче тра-ля-ля, нужно думать, может ли эта идея быть универсально
жизнеспособной, то есть не просто для большей половины пакетов, а для
подавляющего числа пакетов (надёжность начинается с 99%), и что делать
с пакетами, которые в это дело не вписываются.  А именно, надо,
например, продумать схему 1) condrestart сервисов;
и 2) control-dump/control-restore.  Можно это делать автоматически,
ВЫВОДЯ (deduce) всю необходимою информацию из хедера пакета, или нет?

Рассмотрим condrestart сервисов.  Условие может быть таким: если
в пакете есть файл %_initdir/foo, то после установки надо запустить
%_initdir/foo condrestart.  Но не все init-скритпы допускают conrestart.
А некоторые ничего не должны делать при condrestart (напр. network;
сейчас в network вообще нет condrestart).  Это накладывает новые
требования на init-скритпы: они должны выполнять некое DWIM-действие
при вызове condrestart.

Можно конечно проверить что если condrestart нет то и спросу нет,
но это глупо.

$ grep condrestart /etc/init.d/network || echo $?
1
$

Рассмотрим другой вопрос: добавление псевдопользователей и псевдогрупп
в систему.  Если в rpm пакете (в списке %files) есть левые
псевдопользователи и псведогруппы, тогда их можно добавлять
автоматически.  Но иногда их нет, а есть лишь демон (бинарь), который
при запуске рассчитывает, что этот пользователь/группа должны быть в
системе.  Тогда уже на автомате ничего сделать нельзя.

Это возвращает меня к начальному постулату: нужно высокоуровневое,
семантическое, декларативное описание того, что именно находится
в rpm пакете (кроме файлов).  Но это противоречит юникс-вею, что типа
всё тупо и прозрачно, и никаких неявных связей нету.  А они есть, и
их не всегда можно вывести.

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

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

* Re: [devel] repocop patches for %post/un_ldconfig
  2008-04-15 14:23   ` Alexander Myltsev
  2008-04-15 15:01     ` Sergey V Turchin
  2008-04-15 17:48     ` Alexey Tourbin
@ 2008-04-15 20:11     ` Alexey Rusakov
  2008-04-15 20:26       ` Alexey Tourbin
  2 siblings, 1 reply; 21+ messages in thread
From: Alexey Rusakov @ 2008-04-15 20:11 UTC (permalink / raw)
  To: devel

В Втр, 15/04/2008 в 18:23 +0400, Alexander Myltsev пишет:
> 2008/4/15 Alexey Tourbin <at@altlinux.ru>:
> >  2) Модифицировать rpmi, чтобы он дёргал что надо прямо во время
> >  установки.  Тогда в пакетах %post-like скрипты можно вообще не писать,
> 
> Этот вариант прекрасен тем, что автоматически исправляет старые
> пакеты, без NMU и ругани. Кроме того, он их исправляет _навсегда_:
> если потребуется делать что-то новое при появлении определённого сорта
> файлов, то пакеты с этими файлами не придётся пересобирать.
> 
> Ну а информацию о требуемом наборе действий rpmi должен брать из
> какого-нибудь /etc/rpm/autoscripts.d. Например, пакет GConf будет
> приносить с собой информацию о том, что /etc/gconf2/*.gconf надо
> регистрировать.
> 
> Прям мечта.
+1
Для схем GConf, базы MIME-типов и многого другого.

-- 
  Alexey "Ktirf" Rusakov
  GNOME Project
  ALT Linux Team



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

* Re: [devel] repocop patches for %post/un_ldconfig
  2008-04-15 20:11     ` [devel] repocop patches for %post/un_ldconfig Alexey Rusakov
@ 2008-04-15 20:26       ` Alexey Tourbin
  2008-04-15 20:43         ` Alexey I. Froloff
  2008-04-16 11:50         ` Sergey V Turchin
  0 siblings, 2 replies; 21+ messages in thread
From: Alexey Tourbin @ 2008-04-15 20:26 UTC (permalink / raw)
  To: devel

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

On Wed, Apr 16, 2008 at 12:11:04AM +0400, Alexey Rusakov wrote:
> В Втр, 15/04/2008 в 18:23 +0400, Alexander Myltsev пишет:
> > 2008/4/15 Alexey Tourbin <at@altlinux.ru>:
> > >  2) Модифицировать rpmi, чтобы он дёргал что надо прямо во время
> > >  установки.  Тогда в пакетах %post-like скрипты можно вообще не писать,
> > 
> > Этот вариант прекрасен тем, что автоматически исправляет старые
> > пакеты, без NMU и ругани. Кроме того, он их исправляет _навсегда_:
> > если потребуется делать что-то новое при появлении определённого сорта
> > файлов, то пакеты с этими файлами не придётся пересобирать.
> > 
> > Ну а информацию о требуемом наборе действий rpmi должен брать из
> > какого-нибудь /etc/rpm/autoscripts.d. Например, пакет GConf будет
> > приносить с собой информацию о том, что /etc/gconf2/*.gconf надо
> > регистрировать.
> > 
> > Прям мечта.
> +1
> Для схем GConf, базы MIME-типов и многого другого.

Перечисляйте дальше, для чего подходит, и главное, для чего не подходит
(или же подходит, но не всегда, и как разруливать частные случаи).
Дьявол в деталях.

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

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

* Re: [devel] repocop patches for %post/un_ldconfig
  2008-04-15 19:50         ` Alexey Tourbin
@ 2008-04-15 20:41           ` Alexey I. Froloff
  2008-04-16  6:44           ` Vladimir V. Kamarzin
  2008-04-16 20:18           ` [devel] rpmi auto-actions Michael Shigorin
  2 siblings, 0 replies; 21+ messages in thread
From: Alexey I. Froloff @ 2008-04-15 20:41 UTC (permalink / raw)
  To: ALT Devel discussion list

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

* Alexey Tourbin <at@> [080415 23:52]:
> Понимаешь, нужно высокоуровневое семантическое описание того, что
> находится в пакете.  Тогда можно обрабатывать нетривиальные случаи,
> напр. condrestart сервисов.  А также не хочется играть в "большинство"
> пакетов, это не игра в проценты, и надёжность должна быть очень высокой.
Поэтому нетривиальные случаи надо обрабатывать вручную.  Если
нетривиальные варианты _возможны_ - разбираться в каждом
конкретном случае, тривиальный ли он или нет будет всё равно
человек. 

> "МАСКА СКРИПТ" покрывает только самые тривиальные случаи (без
> аргументов, которые просто делают какой-то кеш-генерат).  Кроме того,
> остаётся открытым вопрос, чем парсить "МАСКУ СКРИПТ".  На Си это писать
> глупо,
Нет ну почему же?  Есть некоторое количество задач, которые можно
назвать "обновление кеша".  Если в процессе установки или
обновления пакета создаются, изменяются или удаляются файлы
попадающие под маску с точностью до fnmatch(3), то по окончании
транзакции надо запустить некий соответствующий этой маске
скрипт.  Отсюда можно сделать вывод, что этот некий скрипт должен
попадать в зависимости таких пакетов и если "этот скрипт" тоже
удаляется в процессе транзакции, то его запускать уже не надо.

Где я ошибся в своих рассуждениях?

-- 
Regards,
Sir Raorn.

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

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

* Re: [devel] repocop patches for %post/un_ldconfig
  2008-04-15 20:26       ` Alexey Tourbin
@ 2008-04-15 20:43         ` Alexey I. Froloff
  2008-04-16 11:50         ` Sergey V Turchin
  1 sibling, 0 replies; 21+ messages in thread
From: Alexey I. Froloff @ 2008-04-15 20:43 UTC (permalink / raw)
  To: ALT Devel discussion list

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

* Alexey Tourbin <at@> [080416 00:32]:
> > Для схем GConf, базы MIME-типов и многого другого.
> Перечисляйте дальше, для чего подходит, и главное, для чего не подходит
> (или же подходит, но не всегда, и как разруливать частные случаи).
> Дьявол в деталях.
Для схем GConf и *.info (как например) надо вызывать скрипт на
каждый файл, передавая ему аргументом либо полный путь, либо
basename без расширения.  При чём при удалении файлов это надо
делать где-то в районе %preun.

-- 
Regards,
Sir Raorn.

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

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

* Re: [devel] repocop patches for %post/un_ldconfig
  2008-04-15 19:50         ` Alexey Tourbin
  2008-04-15 20:41           ` Alexey I. Froloff
@ 2008-04-16  6:44           ` Vladimir V. Kamarzin
  2008-04-16 20:18           ` [devel] rpmi auto-actions Michael Shigorin
  2 siblings, 0 replies; 21+ messages in thread
From: Vladimir V. Kamarzin @ 2008-04-16  6:44 UTC (permalink / raw)
  To: ALT Devel discussion list

>>>>> On 16 Apr 2008 at 01:50 "AT" == Alexey Tourbin writes:

AT> Рассмотрим другой вопрос: добавление псевдопользователей и псевдогрупп
AT> в систему.  Если в rpm пакете (в списке %files) есть левые
AT> псевдопользователи и псведогруппы, тогда их можно добавлять
AT> автоматически.

А на основе чего выставлять им home, shell и добавлять их в какие-то другие
группы, когда это требуется?

-- 
vvk


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

* Re: [devel] repocop patches for %post/un_ldconfig
  2008-04-15 17:22       ` Alexey I. Froloff
@ 2008-04-16 11:32         ` Sergey V Turchin
  0 siblings, 0 replies; 21+ messages in thread
From: Sergey V Turchin @ 2008-04-16 11:32 UTC (permalink / raw)
  To: ALT Linux Team development discussions

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

On Tuesday 15 April 2008, Alexey I. Froloff wrote:

[...]
> А ещё большинство этих скриптов можно запускать один раз по
> окончании транзакции.
Я только их и имел ввиду :-)

[...]

-- 
Regards, Sergey, ALT Linux Team, http://www.altlinux.ru
http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

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

* Re: [devel] repocop patches for %post/un_ldconfig
  2008-04-15 20:26       ` Alexey Tourbin
  2008-04-15 20:43         ` Alexey I. Froloff
@ 2008-04-16 11:50         ` Sergey V Turchin
  1 sibling, 0 replies; 21+ messages in thread
From: Sergey V Turchin @ 2008-04-16 11:50 UTC (permalink / raw)
  To: devel

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

On Wednesday 16 April 2008, Alexey Tourbin wrote:

[...]
> Перечисляйте дальше, для чего подходит
%update_menus , если изменился состав файлов 
в %_menudir, %_datadir/menu и %_sysconfdir/menu-methods

-- 
Regards, Sergey, ALT Linux Team, http://www.altlinux.ru
http://stinkfoot.org:11371/pks/lookup?op=get&search=0x1C2A3F08

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 197 bytes --]

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

* [devel] rpmi auto-actions
  2008-04-15 19:50         ` Alexey Tourbin
  2008-04-15 20:41           ` Alexey I. Froloff
  2008-04-16  6:44           ` Vladimir V. Kamarzin
@ 2008-04-16 20:18           ` Michael Shigorin
  2 siblings, 0 replies; 21+ messages in thread
From: Michael Shigorin @ 2008-04-16 20:18 UTC (permalink / raw)
  To: ALT Devel discussion list

On Tue, Apr 15, 2008 at 11:50:00PM +0400, Alexey Tourbin wrote:
> Понимаешь, нужно высокоуровневое семантическое описание того,
> что находится в пакете.  Тогда можно обрабатывать нетривиальные
> случаи, напр. condrestart сервисов.  А также не хочется играть
> в "большинство" пакетов, это не игра в проценты, и надёжность
> должна быть очень высокой.

Для нетривиальных случаев можно рисовать свои %post.
Вопрос в том, чтоб тогда автомат для них не щёлкал.

> Рассмотрим condrestart сервисов.  Условие может быть таким: если
> в пакете есть файл %_initdir/foo, то после установки надо запустить
> %_initdir/foo condrestart.  Но не все init-скритпы допускают conrestart.

Есть мнение, что недопускающие глючны.  В редких случаях
бессмысленности condrestart() и желания пользоваться
post_service/preun_service можно и затычку нарисовать.
Всё равно сейчас тоже поплёвывается.

> А некоторые ничего не должны делать при condrestart (напр.
> network; сейчас в network вообще нет condrestart).  Это
> накладывает новые требования на init-скритпы: они должны
> выполнять некое DWIM-действие при вызове condrestart.

exit 0, ага.  Можно прям в functions забить дефолтный с зуделкой
"почини меня", если вломм. 

-- 
 ---- WBR, Michael Shigorin <mike@altlinux.ru>
  ------ Linux.Kiev http://www.linux.kiev.ua/


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

end of thread, other threads:[~2008-04-16 20:18 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-04-14 18:29 [devel] repocop patches for %post/un_ldconfig Igor Vlasenko
2008-04-14 18:49 ` Igor Vlasenko
2008-04-14 20:39 ` Alexey I. Froloff
2008-04-15 10:25   ` Igor Vlasenko
2008-04-15 13:08 ` Alexey Tourbin
2008-04-15 14:23   ` Alexander Myltsev
2008-04-15 15:01     ` Sergey V Turchin
2008-04-15 17:22       ` Alexey I. Froloff
2008-04-16 11:32         ` Sergey V Turchin
2008-04-15 17:48     ` Alexey Tourbin
2008-04-15 18:01       ` Alexey I. Froloff
2008-04-15 19:50         ` Alexey Tourbin
2008-04-15 20:41           ` Alexey I. Froloff
2008-04-16  6:44           ` Vladimir V. Kamarzin
2008-04-16 20:18           ` [devel] rpmi auto-actions Michael Shigorin
2008-04-15 20:11     ` [devel] repocop patches for %post/un_ldconfig Alexey Rusakov
2008-04-15 20:26       ` Alexey Tourbin
2008-04-15 20:43         ` Alexey I. Froloff
2008-04-16 11:50         ` Sergey V Turchin
2008-04-15 14:35   ` Igor Vlasenko
2008-04-15 18:46   ` Alexander Myltsev

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