ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [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