[devel] How to use alternatives ?

Илья Евсеев =?iso-8859-1?q?ilya=5Fevseev_=CE=C1_mail=2Eru?=
Пн Дек 27 03:36:06 MSK 2004


   Всем привет.
Имеется следующая проблема с использованием alternatives-0.2.0-alt0.6:
при удалении пакета с высоким приоритетом симлинк исчезает вообще,
вместо того чтобы переназначиться на вариант с низким приоритетом.

Спек первого пакета (%name = dosbox):
-------------------------------------------------------
%install
...
# Alternatives support
%__mkdir_p %buildroot%_altdir
%__cat << __EOF__ > %buildroot%_altdir/%name
<group name="candidate">
    <option name="link">%_bindir/%name</option>
    <option name="real">%_bindir/%name-wrapper</option>
    <option name="weight" type="number">10</option>
</group>
__EOF__

%post
%post_register_alternatives %name -- %name

%preun
%preun_unregister_alternatives %name
-------------------------------------------------------
При его инсталляции правильно создается симлинк
/usr/bin/dosbox, указывающий на /usr/bin/dosbox-wrapper.

Спек второго пакета (%name = dosbox-russian, %name0 = dosbox):
-------------------------------------------------------
%install
...
# Alternatives support
%__mkdir_p %buildroot%_altdir
%__cat << __EOF__ > %buildroot%_altdir/%name
<group name="candidate">
    <option name="link">%_bindir/%name0</option>
    <option name="real">%_bindir/%name</option>
    <option name="weight" type="number">40</option>
</group>
__EOF__

%post
%post_register_alternatives %name

%preun
%preun_unregister_alternatives %name
-------------------------------------------------------
При его инсталляции правильно симлинк /usr/bin/dosbox
начинает указывать на /usr/bin/dosbox-russian.
Однако при удалении этого пакета симлинк не перенацеливается
обратно на /usr/bin/dosbox-wrapper, а исчезает совсем.

Что я сделал не так?

С уважением,
Илья Евсеев



Подробная информация о списке рассылки Devel