<?xml version="1.0" encoding="UTF-8" ?>

<bugzilla version="5.2"
          urlbase="https://bugzilla.altlinux.org/"
          
          maintainer="jenya@basealt.ru"
>

    <bug>
          <bug_id>20829</bug_id>
          
          <creation_ts>2009-07-20 00:30:48 +0400</creation_ts>
          <short_desc>Even less hacks</short_desc>
          <delta_ts>2009-08-04 16:23:35 +0400</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>4</classification_id>
          <classification>Development</classification>
          <product>Sisyphus</product>
          <component>gnome-menus</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>20852</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Rusakov">ktirf</reporter>
          <assigned_to name="Yuri N. Sedunov">aris</assigned_to>
          <cc>aen</cc>
    
    <cc>aris</cc>
    
    <cc>lav</cc>
    
    <cc>mike</cc>
    
    <cc>msp</cc>
    
    <cc>shrek</cc>
    
    <cc>viy</cc>
    
    <cc>zerg</cc>
          
          <qa_contact>qa-sisyphus</qa_contact>

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>94902</commentid>
    <comment_count>0</comment_count>
      <attachid>3677</attachid>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2009-07-20 00:30:48 +0400</bug_when>
    <thetext>Created attachment 3677
/etc/gnome/xdg/menus не нужен, используем стандартное место

Когда-то давным-давно был ALT Bug 9592, патч из которого до сих пор успешно прилагается. Однако вдумчивое чтение спецификации fd.o, в частности, раздела File locations: http://standards.freedesktop.org/menu-spec/latest/ar01s02.html, навело меня на мысль, что положив файл applications.menu в правильное место и назвав его правильным образом, можно избавиться от странного места /etc/gnome/xdg/menus, в котором всё равно больше ничего кроме этого файла не лежит. Предположение оказалось верным: следующая команда
mv /etc/gnome/xdg/menus/applications-merged/applications.menu /etc/xdg/menus/applications-merged/gnome-applications.menu
оставляет результирующую структуру меню такой же, но при этом избавляет нас от необходимости хардкодить в libgnome-menus путь /etc/gnome/xdg/menus и вообще использовать этот путь.
Итого, предлагается:
1. Применить к gnome-menus.spec прилагаемый патч.
2. Выбросить gnome-menus-2.14-add-config-dir.patch за ненадобностью.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95070</commentid>
    <comment_count>1</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2009-07-22 15:01:06 +0400</bug_when>
    <thetext>Представь, если я сделаю то же самое для 2-х KDE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95072</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2009-07-22 15:18:40 +0400</bug_when>
    <thetext>Будет много-много хороших меню :)
Понятно, в общем, нужен ещё один патч, который приведёт gnome-menus в соответствие с menu-spec и позволит зачитывать конфигурацию меню из средо-специфичных файлов (gnome-applications.menu, kde-applications.menu и т.п.), в зависимости от состояния переменной XDG_MENU_PREFIX. На данный момент то ли механизма совсем нет, то ли он не работает, потому что переменная не выставляется.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95106</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2009-07-23 02:21:28 +0400</bug_when>
    <thetext>Проверил. В GNOME механизм замечательно работает, достаточно выставить упомянутую переменную :)
Пойду писать фичереквест на gnome-session.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95113</commentid>
    <comment_count>4</comment_count>
    <who name="Repository Robot">repository-robot</who>
    <bug_when>2009-07-23 10:42:08 +0400</bug_when>
    <thetext>gnome-session-2.26.2-alt2 -&gt; sisyphus:

* Thu Jul 23 2009 Yuri N. Sedunov &lt;aris@altlinux&gt; 2.26.2-alt2

- set XDG_MENU_PREFIX variable to &quot;gnome-&quot; in startgnome2 (closes #20829)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95122</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2009-07-23 14:58:19 +0400</bug_when>
    <thetext>Таки 20852 закрыт этой сборкой, а не 20829 :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95130</commentid>
    <comment_count>6</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2009-07-23 15:56:13 +0400</bug_when>
    <thetext>Проблема будет во всех меню, отличных от того, которое захотим кастомизировать, т.к. applications-merged/my-custom.menu будет зависеть на конкретную структуру меню, но подгребаясь всеми остальными приводить к нежелательным результатам.

XDG_MENU_PREFIX здесь не поможет, зато давно работает текущий вариант, когда applications-merged/my-custom.menu находиться в недоступном для остальных месте.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95135</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2009-07-23 17:08:20 +0400</bug_when>
    <thetext>Мысль понятна. Но давайте тогда хотя бы не хардкодить такие вещи. Давайте, например, добавлять в XDG_CONFIG_DIRS пути типа /etc/gnome или /etc/kde. Даже это будет поприличнее.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95138</commentid>
    <comment_count>8</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2009-07-23 17:27:05 +0400</bug_when>
    <thetext>Выльестся в тот же самуй же хардкод.
KDE-шная программа может быть запущена не из-под GNOME, но меню GNOME-specific ей вряд ли будет нужен.
Кто ей выставит нужный XDG_CONFIG_DIRS? Тот самый хардкод.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95140</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2009-07-23 17:54:18 +0400</bug_when>
    <thetext>XDG_CONFIG_DIRS можно выставить при входе в сессию, точно так же как по результатам Bug 20852 в GNOME будет выставляться XDG_MENU_PREFIX. Но для начала я бы всё-таки задался вопросом, нужно ли придумывать отдельные applications-merged для разных сред. Просто ты для Юниора когда-то придумывал иерархию только под KDE, и в Юниоре только KDE и был, остальные среды на птичьих правах. Сейчас boyarsh@ проводит кастомизацию дистрибутива для конкретного заказчика, в этом дистрибутиве будет только GNOME.

Если всё-таки нужно, давайте выставлять XDG_CONFIG_DIRS - всё же это дополнительная ручка для варьирования путей, в отличие от прибивания гвоздями какого-то определённого пути в код, мимо которого потом ни проехать, ни пройти.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95143</commentid>
    <comment_count>10</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2009-07-23 18:21:21 +0400</bug_when>
    <thetext>(В ответ на комментарий №9)
&gt; я бы всё-таки задался вопросом, нужно ли придумывать отдельные
&gt; applications-merged для разных сред.
Когда в applications.menu переместиться структура меню, которая сейчас раздельно, тогда будет не нужно.

&gt; Просто ты для Юниора когда-то придумывал
&gt; иерархию только под KDE, и в Юниоре только KDE и был, остальные среды на
&gt; птичьих правах. Сейчас boyarsh@ проводит кастомизацию дистрибутива для
&gt; конкретного заказчика, в этом дистрибутиве будет только GNOME.
Я делал так, что б не гадить остальным.

&gt; Если всё-таки нужно, давайте выставлять XDG_CONFIG_DIRS 
Я уже объяснил, почему это будет тот же самый патч, только выставляющий XDG_CONFIG_DIRS, а не просто добавляющий каталог. Т.е. шило на мыло, но реализация сложнее.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95145</commentid>
    <comment_count>11</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2009-07-23 19:30:30 +0400</bug_when>
    <thetext>Это не хардкод. Отредактировать /usr/bin/start* можно обычным текстовым редактором (из-под рута, конечно) - это, конечно, не конфигфайл, но всё-таки. Дальше, тот же XDG_CONFIG_DIRS можно изменить из какого-нибудь ~/.xinitrc, тем самым, например, в XFCE сделать структуру меню от GNOME, и наоборот, в GNOME от &quot;родной&quot; структуры отказаться. Ничего этого сейчас сделать нельзя, иначе чем удалив файлы из /etc/*/xdg/menus.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95146</commentid>
    <comment_count>12</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2009-07-23 19:32:37 +0400</bug_when>
    <thetext>(В ответ на комментарий №11)
&gt; Это не хардкод.
Этот &quot;не хардкод&quot; не будет работать для программы из комплекта GNOME, запущенной из любой другой среды.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95147</commentid>
    <comment_count>13</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2009-07-23 19:34:58 +0400</bug_when>
    <thetext>Плохо ли это? Если в каком-нибудь гномьем редакторе меню, запущенном в другой среде, будет показываться то меню, которое актуально для этой среды, а не для GNOME - разве это плохо?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95150</commentid>
    <comment_count>14</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2009-07-23 19:44:30 +0400</bug_when>
    <thetext>Редактор меню -- единственная программа, в которой текущее меню имеет смысл, но она сама не имеет смысла, если есть более родной редактор меню.
Хотя, в этом случае, все-таки не должно быть никаких проблем.

Проблема, пожалуй, только в файле кастомизации, если он частично покорежит то меню, которое не учитывает.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95418</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2009-07-29 10:22:23 +0400</bug_when>
    <thetext>Выключил /etc/gnome/xdg/menus, переместил структуру меню в gnome-applications.menu. Когда понадобится кастомизировать именно гномье меню, что-нибудь изменю (например, добавлю каталог /etc/xdg/menus/gnome-applications-merged/). Но я не слишком верю в то, что такие прецеденты будут.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95419</commentid>
    <comment_count>16</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2009-07-29 10:23:05 +0400</bug_when>
    <thetext>FIXED</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95614</commentid>
    <comment_count>17</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2009-08-04 13:52:32 +0400</bug_when>
    <thetext>(В ответ на комментарий №15)
&gt; /etc/xdg/menus/gnome-applications-merged/
Но, это, ведь, то же, что и /etc/gnome/xdg/menus/applications-merged/ , только сбоку ...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95624</commentid>
    <comment_count>18</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2009-08-04 14:35:57 +0400</bug_when>
    <thetext>(В ответ на комментарий №17)
&gt; (В ответ на комментарий №15)
&gt; &gt; /etc/xdg/menus/gnome-applications-merged/
&gt; Но, это, ведь, то же, что и /etc/gnome/xdg/menus/applications-merged/ , только
&gt; сбоку ...
В принципе да, но оно, по крайней мере, лежит внутри XDG_CONFIG_DIR. Ну и опять-таки - пусть оно сначала понадобится.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95627</commentid>
    <comment_count>19</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2009-08-04 15:23:35 +0400</bug_when>
    <thetext>Тогда я в KDE ничего менять не буду до того времени, когда понадобиться.
Друг другу не мешаем.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95634</commentid>
    <comment_count>20</comment_count>
    <who name="Alexey Rusakov">ktirf</who>
    <bug_when>2009-08-04 16:23:17 +0400</bug_when>
    <thetext>Да, конечно.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>3677</attachid>
            <date>2009-07-20 00:30:48 +0400</date>
            <delta_ts>2009-07-20 00:30:48 +0400</delta_ts>
            <desc>/etc/gnome/xdg/menus не нужен, используем стандартное место</desc>
            <filename>gnome-menus.spec.patch</filename>
            <type>text/plain</type>
            <size>1213</size>
            <attacher name="Alexey Rusakov">ktirf</attacher>
            
              <data encoding="base64">LS0tIGdub21lLW1lbnVzLnNwZWMJMjAwOS0wNy0xOSAyMjozNjozNSArMDQwMAorKysgZ25vbWUt
bWVudXMuZml4ZWQuc3BlYwkyMDA5LTA3LTIwIDAwOjI3OjAzICswNDAwCkBAIC0xMSw3ICsxMSw2
IEBACiBQYWNrYWdlcjogR05PTUUgTWFpbnRhaW5lcnMgVGVhbSA8Z25vbWVAcGFja2FnZXMuYWx0
bGludXgub3JnPgogCiBTb3VyY2U6ICVnbm9tZV9mdHAvJW5hbWUvJXZlcl9tYWpvci8lbmFtZS0l
dmVyc2lvbi50YXIuYnoyCi1QYXRjaDE6ICVuYW1lLTIuMTQtYWx0LWFkZC1jb25maWctZGlyLnBh
dGNoCiBQYXRjaDI6ICVuYW1lLWFsdC1hcHBsaWNhdGlvbnMtbWVudS5wYXRjaAogCiAjIEZyb20g
Y29uZmlndXJlLmluCkBAIC03MSw3ICs3MCw2IEBACiAKICVwcmVwCiAlc2V0dXAgLXEKLSVwYXRj
aDEKICVwYXRjaDIgLXAxCiAKICMgTGluayB3aXRoIGN1cnJlbnQgcHl0aG9uCkBAIC04OSwxNyAr
ODcsMTMgQEAKICVtYWtlX2luc3RhbGwgREVTVERJUj0lYnVpbGRyb290IGluc3RhbGwKIAogaW5z
dGFsbCAtcEQgLW02NDQgJWJ1aWxkcm9vdCVfc3lzY29uZmRpci94ZGcvbWVudXMvYXBwbGljYXRp
b25zLm1lbnUgXAotJWJ1aWxkcm9vdCVfc3lzY29uZmRpci9nbm9tZS94ZGcvbWVudXMvYXBwbGlj
YXRpb25zLW1lcmdlZC9hcHBsaWNhdGlvbnMubWVudQorJWJ1aWxkcm9vdCVfc3lzY29uZmRpci94
ZGcvbWVudXMvYXBwbGljYXRpb25zLW1lcmdlZC9nbm9tZS1hcHBsaWNhdGlvbnMubWVudQogCiAl
ZmluZF9sYW5nICVuYW1lCiAKICVmaWxlcyAtZiAlbmFtZS5sYW5nCiAlX2RhdGFkaXIvZGVza3Rv
cC1kaXJlY3Rvcmllcy8qCi0lZGlyICVfc3lzY29uZmRpci9nbm9tZS8KLSVkaXIgJV9zeXNjb25m
ZGlyL2dub21lL3hkZy8KLSVkaXIgJV9zeXNjb25mZGlyL2dub21lL3hkZy9tZW51cy8KLSVkaXIg
JV9zeXNjb25mZGlyL2dub21lL3hkZy9tZW51cy9hcHBsaWNhdGlvbnMtbWVyZ2VkLwotJWNvbmZp
ZyAlX3N5c2NvbmZkaXIvZ25vbWUveGRnL21lbnVzL2FwcGxpY2F0aW9ucy1tZXJnZWQvYXBwbGlj
YXRpb25zLm1lbnUKKyVjb25maWcgJV9zeXNjb25mZGlyL3hkZy9tZW51cy9hcHBsaWNhdGlvbnMt
bWVyZ2VkL2dub21lLWFwcGxpY2F0aW9ucy5tZW51CiAlY29uZmlnICVfc3lzY29uZmRpci94ZGcv
bWVudXMvc2V0dGluZ3MubWVudQogCiAlZXhjbHVkZSAlX3N5c2NvbmZkaXIveGRnL21lbnVzL2Fw
cGxpY2F0aW9ucy5tZW51Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>