* [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 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 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 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 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 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 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
* [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
* 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 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 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
* 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 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
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