* [devel] Установка *.schemes @ 2008-03-01 10:59 Yury Aliaev 2008-03-01 12:02 ` Alexey Rusakov 0 siblings, 1 reply; 8+ messages in thread From: Yury Aliaev @ 2008-03-01 10:59 UTC (permalink / raw) To: devel Приветствую уважаемых разработчиков! Я занимаюсь исправлением пакета gnucash. У него есть некоторое количество файлов типа /etc/gconf/schemas/*gnucash*.schemas, которые не устанавливаются корректным образом. В его багзилле предлагают после установки программы от рута сказать "for ff in /usr/share/gconf/schemas/*gnucash* ; do gconftool-2 --config-source=xml::/etc/gconf/gconf.xml.defaults --install-schema-file $ff ; done pkill gconfd" (И, действительно, после этого всё начинает работать) Это можно, конечно, вынести, в %post секцию спека, чтобы эти действия выполнялись при установке пакета. Но вроде как у нас достаточно добавить в спек следующее: %post %gconf2_install %name %preun if [ $1 = 0 ]; then %gconf2_uninstall %name fi Так вот, если сделать так, то при установке пакета вылезает следующее: [root@testing i586]# rpm -ivh gnucash-2.2.3-alt2.i586.rpm libgnucash-2.2.3-alt2.i586.rpm Preparing... ################################################################################# libgnucash ################################################################################# gnucash ################################################################################# I/O warning : failed to load external entity "/etc/gconf/schemas/gnucash.schemas" Failed to open `/etc/gconf/schemas/gnucash.schemas': No such file or directory error: execution of %post scriptlet from gnucash-2.2.3-alt2 failed, exit status 1 Вопрос: что должен содержать файл /etc/gconf/schemas/gnucash.schemas (которого действительно нет), или всё же следует поступать так, как написано в багзилле гнукэша? Заранее спасибо за помощь, Юрий ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] Установка *.schemes 2008-03-01 10:59 [devel] Установка *.schemes Yury Aliaev @ 2008-03-01 12:02 ` Alexey Rusakov 2008-03-03 9:06 ` Yury Aliaev 0 siblings, 1 reply; 8+ messages in thread From: Alexey Rusakov @ 2008-03-01 12:02 UTC (permalink / raw) To: devel On Sat, 01 Mar 2008 13:59:19 +0300 Yury Aliaev wrote: > Я занимаюсь исправлением пакета gnucash. У него есть некоторое > количество файлов типа /etc/gconf/schemas/*gnucash*.schemas, которые не > устанавливаются корректным образом. В его багзилле предлагают после > установки программы от рута сказать "for ff in > /usr/share/gconf/schemas/*gnucash* ; do gconftool-2 > --config-source=xml::/etc/gconf/gconf.xml.defaults --install-schema-file > $ff ; > done > pkill gconfd" > > (И, действительно, после этого всё начинает работать) Всё правильно, но у нас это забрано в скрипты-макросы. > Это можно, конечно, вынести, в %post секцию спека, чтобы эти действия > выполнялись при установке пакета. Но вроде как у нас достаточно добавить > в спек следующее: > > %post > %gconf2_install %name > > %preun > if [ $1 = 0 ]; then > %gconf2_uninstall %name > fi Почти правда. С одной оговоркой, ниже. > Так вот, если сделать так, то при установке пакета вылезает следующее: > > [root@testing i586]# rpm -ivh gnucash-2.2.3-alt2.i586.rpm > libgnucash-2.2.3-alt2.i586.rpm > Preparing... > ################################################################################# > libgnucash > ################################################################################# > gnucash > ################################################################################# > I/O warning : failed to load external entity > "/etc/gconf/schemas/gnucash.schemas" > Failed to open `/etc/gconf/schemas/gnucash.schemas': No such file or > directory > error: execution of %post scriptlet from gnucash-2.2.3-alt2 failed, exit > status 1 > > Вопрос: что должен содержать файл /etc/gconf/schemas/gnucash.schemas > (которого действительно нет), Если кратко и лень читать то, что ниже - посмотрите, как на самом деле называется файл со схемой > или всё же следует поступать так, как написано в багзилле гнукэша? Не следует. Я немного с другой стороны пойду, но зато укажу точный алгоритм, по которому нужно идти в таких случаях. Даже странно, на fs.i его до сих пор нет... Я хотел это вообще в какие-нибудь хитрые макросы завернуть, которые бы сами генерили нужные %post/%postun скрипты, но в итоге дело кончилось ничем... Короче говоря: 1. Собираем пакет и находим все файлы вида /etc/gconf/schemas/<название cхемы>.schemas. 2. (опционально) Раскладываем эти файлы по подпакетам так, как нам нравится. 3. Для каждого из этих файлов пишем (в подходящем подпакете, если он в подпакете) упоминавшуюся связку: %post %gconf2_install <название схемы> %preun if [ $1 = 0 ]; then %gconf2_uninstall <название схемы> fi Обратите внимание,что указывать нужно не %name, а <название схемы> - нередко оно совпадает с %name, но не всегда. По теме подпакетов добавлю, что файлы schemas редко попадают в lib-пакеты (хотя и такое бывает); как правило, они относятся всё же к конкретным программам. Для примера можете обратиться к пакету seahorse. Обратите внимание, что там _две_ схемы, а не одна, и они лежат в разных подпакетах. -- Alexey "Ktirf" Rusakov Head of System development dept. ALT Linux Ltd. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] Установка *.schemes 2008-03-01 12:02 ` Alexey Rusakov @ 2008-03-03 9:06 ` Yury Aliaev 2008-03-03 15:28 ` Alexey Rusakov 0 siblings, 1 reply; 8+ messages in thread From: Yury Aliaev @ 2008-03-03 9:06 UTC (permalink / raw) To: ALT Linux Team development discussions Alexey Rusakov scripsit: > On Sat, 01 Mar 2008 13:59:19 +0300 > Yury Aliaev wrote: > > >>Я занимаюсь исправлением пакета gnucash. У него есть некоторое >>количество файлов типа /etc/gconf/schemas/*gnucash*.schemas, которые не >>устанавливаются корректным образом. В его багзилле предлагают после >>установки программы от рута сказать "for ff in >>/usr/share/gconf/schemas/*gnucash* ; do gconftool-2 >>--config-source=xml::/etc/gconf/gconf.xml.defaults --install-schema-file >>$ff ; >>done >>pkill gconfd" >> >>(И, действительно, после этого всё начинает работать) > > Всё правильно, но у нас это забрано в скрипты-макросы. > > >>Это можно, конечно, вынести, в %post секцию спека, чтобы эти действия >>выполнялись при установке пакета. Но вроде как у нас достаточно добавить >>в спек следующее: >> >>%post >>%gconf2_install %name >> >>%preun >>if [ $1 = 0 ]; then >>%gconf2_uninstall %name >>fi > > Почти правда. С одной оговоркой, ниже. > > >>Так вот, если сделать так, то при установке пакета вылезает следующее: >> >>[root@testing i586]# rpm -ivh gnucash-2.2.3-alt2.i586.rpm >>libgnucash-2.2.3-alt2.i586.rpm >>Preparing... >>################################################################################# >>libgnucash >>################################################################################# >>gnucash >>################################################################################# >>I/O warning : failed to load external entity >>"/etc/gconf/schemas/gnucash.schemas" >>Failed to open `/etc/gconf/schemas/gnucash.schemas': No such file or >>directory >>error: execution of %post scriptlet from gnucash-2.2.3-alt2 failed, exit >>status 1 >> >>Вопрос: что должен содержать файл /etc/gconf/schemas/gnucash.schemas >>(которого действительно нет), > > Если кратко и лень читать то, что ниже - посмотрите, как на самом деле > называется файл со схемой > > >>или всё же следует поступать так, как написано в багзилле гнукэша? > > Не следует. > Я немного с другой стороны пойду, но зато укажу точный алгоритм, по > которому нужно идти в таких случаях. Даже странно, на fs.i его до сих пор > нет... Я хотел это вообще в какие-нибудь хитрые макросы завернуть, которые > бы сами генерили нужные %post/%postun скрипты, но в итоге дело кончилось > ничем... > Короче говоря: > 1. Собираем пакет и находим все файлы вида > /etc/gconf/schemas/<название cхемы>.schemas. > 2. (опционально) Раскладываем эти файлы по подпакетам так, как нам > нравится. > 3. Для каждого из этих файлов пишем (в подходящем подпакете, если он в > подпакете) упоминавшуюся связку: > > %post > %gconf2_install <название схемы> > > %preun > if [ $1 = 0 ]; then > %gconf2_uninstall <название схемы> > fi Спасибо за подробное разъясснение! Правда возникает следующий вопрос: в gnucash'е пара десятков схем, и в связи с этим есть ли возможность не перечислять все файлы, а просто подсунуть конструкцию типа *gnucash* ? Тем более, что я не уверен, что от версии к версии набор схем не меняется. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] Установка *.schemes 2008-03-03 9:06 ` Yury Aliaev @ 2008-03-03 15:28 ` Alexey Rusakov 2008-03-03 18:03 ` Yury Aliaev 2008-03-05 17:09 ` Yury Aliaev 0 siblings, 2 replies; 8+ messages in thread From: Alexey Rusakov @ 2008-03-03 15:28 UTC (permalink / raw) To: devel On Mon, 03 Mar 2008 12:06:25 +0300 Yury Aliaev wrote: > Спасибо за подробное разъясснение! Правда возникает следующий вопрос: в > gnucash'е пара десятков схем, и в связи с этим есть ли возможность не > перечислять все файлы, а просто подсунуть конструкцию типа *gnucash* ? > Тем более, что я не уверен, что от версии к версии набор схем не > меняется. Интересно, зачем было разбивать схемы для Gnucash на столько отдельных файлов... В общем, можете заглянуть в пакет gnome-applets, там тоже схем до фига. Но я всё-таки предпочёл их перечислить явным образом. -- Alexey "Ktirf" Rusakov Head of System development dept. ALT Linux Ltd. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] Установка *.schemes 2008-03-03 15:28 ` Alexey Rusakov @ 2008-03-03 18:03 ` Yury Aliaev 2008-03-03 18:21 ` Alexey Rusakov 2008-03-05 17:09 ` Yury Aliaev 1 sibling, 1 reply; 8+ messages in thread From: Yury Aliaev @ 2008-03-03 18:03 UTC (permalink / raw) To: ALT Linux Team development discussions Alexey Rusakov пишет: > >> Спасибо за подробное разъясснение! Правда возникает следующий вопрос: в >> gnucash'е пара десятков схем, и в связи с этим есть ли возможность не >> перечислять все файлы, а просто подсунуть конструкцию типа *gnucash* ? >> Тем более, что я не уверен, что от версии к версии набор схем не >> меняется. > Интересно, зачем было разбивать схемы для Gnucash на столько отдельных > файлов... В общем, можете заглянуть в пакет gnome-applets, там тоже > схем до фига. Но я всё-таки предпочёл их перечислить явным образом. > Я тоже не совсем понимаю логику создателей Gnucash... хотя, возможно, это связано с тем, что в состав пакета входит куча модулей расширения, и, возможно, каждый из них имеет свою схему. Мне тут пришла в голову идейка, как можно попробовать при сборке пакета составлять файлик с перечислением его схем, который затем скармливать макросам %gconf... ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] Установка *.schemes 2008-03-03 18:03 ` Yury Aliaev @ 2008-03-03 18:21 ` Alexey Rusakov 2008-03-04 10:10 ` Yury Aliaev 0 siblings, 1 reply; 8+ messages in thread From: Alexey Rusakov @ 2008-03-03 18:21 UTC (permalink / raw) To: devel On Mon, 03 Mar 2008 21:03:01 +0300 Yury Aliaev wrote: > Я тоже не совсем понимаю логику создателей Gnucash... хотя, возможно, > это связано с тем, что в состав пакета входит куча модулей расширения, > и, возможно, каждый из них имеет свою схему. Мне тут пришла в голову > идейка, как можно попробовать при сборке пакета составлять файлик с > перечислением его схем, который затем скармливать макросам %gconf... Будет очень хорошо, если вы всё-таки сможете это реализовать. У меня все подходы к снаряду неизменно заканчивались неудачей, но скорее всего, я был недостаточно настойчив. -- Alexey "Ktirf" Rusakov Head of System development dept. ALT Linux Ltd. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] Установка *.schemes 2008-03-03 18:21 ` Alexey Rusakov @ 2008-03-04 10:10 ` Yury Aliaev 0 siblings, 0 replies; 8+ messages in thread From: Yury Aliaev @ 2008-03-04 10:10 UTC (permalink / raw) To: ALT Linux Team development discussions Alexey Rusakov scripsit: > > >>Я тоже не совсем понимаю логику создателей Gnucash... хотя, возможно, >>это связано с тем, что в состав пакета входит куча модулей расширения, >>и, возможно, каждый из них имеет свою схему. Мне тут пришла в голову >>идейка, как можно попробовать при сборке пакета составлять файлик с >>перечислением его схем, который затем скармливать макросам %gconf... > > Будет очень хорошо, если вы всё-таки сможете это реализовать. У меня все > подходы к снаряду неизменно заканчивались неудачей, но скорее всего, я был > недостаточно настойчив. > У тебя несколько другой случай, т.к. каждый гномовский апплет лежит в отдельном пакете вместе со своей схемой. У меня всё в одной куче. ^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [devel] Установка *.schemes 2008-03-03 15:28 ` Alexey Rusakov 2008-03-03 18:03 ` Yury Aliaev @ 2008-03-05 17:09 ` Yury Aliaev 1 sibling, 0 replies; 8+ messages in thread From: Yury Aliaev @ 2008-03-05 17:09 UTC (permalink / raw) To: ALT Linux Team development discussions Alexey Rusakov пишет: > >> Спасибо за подробное разъясснение! Правда возникает следующий вопрос: в >> gnucash'е пара десятков схем, и в связи с этим есть ли возможность не >> перечислять все файлы, а просто подсунуть конструкцию типа *gnucash* ? >> Тем более, что я не уверен, что от версии к версии набор схем не >> меняется. > Интересно, зачем было разбивать схемы для Gnucash на столько отдельных > файлов... В общем, можете заглянуть в пакет gnome-applets, там тоже > схем до фига. Но я всё-таки предпочёл их перечислить явным образом. > Здесь я изложил своё решение проблемы. Может оно и несколько кривенько, зато работает :)... https://bugzilla.altlinux.org/show_bug.cgi?id=14767 ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2008-03-05 17:09 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2008-03-01 10:59 [devel] Установка *.schemes Yury Aliaev 2008-03-01 12:02 ` Alexey Rusakov 2008-03-03 9:06 ` Yury Aliaev 2008-03-03 15:28 ` Alexey Rusakov 2008-03-03 18:03 ` Yury Aliaev 2008-03-03 18:21 ` Alexey Rusakov 2008-03-04 10:10 ` Yury Aliaev 2008-03-05 17:09 ` Yury Aliaev
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