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

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

    <bug>
          <bug_id>7943</bug_id>
          
          <creation_ts>2005-09-13 09:40:07 +0400</creation_ts>
          <short_desc>Ошибки в работе скрипта freedesktop2menu.pl</short_desc>
          <delta_ts>2006-05-18 18:49:10 +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>menu</component>
          <version>unstable</version>
          <rep_platform>all</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>CLOSED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Slava Semushin">php-coder</reporter>
          <assigned_to name="Sergey V Turchin">zerg</assigned_to>
          <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>30467</commentid>
    <comment_count>0</comment_count>
    <who name="Slava Semushin">php-coder</who>
    <bug_when>2005-09-13 09:40:07 +0400</bug_when>
    <thetext>Помогаю migor@ пилить KMyMoney2 и в процессе этого прочитал на
http://www.freesource.info/wiki/AltLinux/Razrabotchiku/OsobennostiSborkiPaketov
про возможность генерировать menu-файлы из desktop-файлов. Решил попробовать.
Вылетело несколько ошибок

Argument &quot;text&quot; isn&apos;t numeric in numeric eq (==) at /usr/bin/freedesktop2menu.pl
line 128.
Argument &quot;x11&quot; isn&apos;t numeric in numeric eq (==) at /usr/bin/freedesktop2menu.pl
line 128.
Use of uninitialized value in concatenation (.) or string at
/usr/bin/freedesktop2menu.pl line 173.

Пришлось залезть в исходник и поправит. Попутно также переименовал переменную из
MDKVERSION в ALTVERSION. Также у меня в desktop файле была такая строка:
&quot;ServiceTypes=&quot; Она же попадала и в результирующий menu-файл. Это тоже поправил
(там лишь изменил спецификатор в регулярном выражении). Ну и последнее это
сделал более удобочитаемым вывод скрипта, добавил переводы строк и табуляцию.
Патч сейчас приаттачу...

P.S. Демонстрация:

[c0der@mycomp ~]$ cat /usr/share/applications/kde/kmymoney2.desktop
[Desktop Entry]
Encoding=UTF-8
Name=KMyMoney
Exec=kmymoney2
Comment=Personal Finance Manager
Comment[de]=PersГ&amp;#182;nlicher Finanzassistent
Comment[fr]=
MimeType=application/x-kmymoney;application/vnd.intu.qfx;application/x-ofx
Type=Application
DocPath=kmymoney2/index.html
Icon=kmymoney2
MiniIcon=kmymoney2
ServiceTypes=
Categories=Office;Finance

[c0der@mycomp ~]$ freedesktop2menu.pl kmymoney2 &quot;Office&quot;
/usr/share/applications/kde/kmymoney2.desktop kmymoney.orig
I: found name: KMyMoney
I: found command: kmymoney2
I: found comment: Personal Finance Manager
I: found mimetype: application/x-kmymoney;application/vnd.intu.qfx;application/x-ofx
I: found icon: kmymoney2
I: found hint: Office;Finance
Argument &quot;text&quot; isn&apos;t numeric in numeric eq (==) at /usr/bin/freedesktop2menu.pl
line 128.
Argument &quot;x11&quot; isn&apos;t numeric in numeric eq (==) at /usr/bin/freedesktop2menu.pl
line 128.
Use of uninitialized value in concatenation (.) or string at
/usr/bin/freedesktop2menu.pl line 173.

[c0der@mycomp ~]$ cat kmymoney.orig
?package(kmymoney2): needs=&quot;x11&quot; extra_filename=&quot;kmymoney2&quot; section=&quot;Office&quot;
title=&quot;KMyMoney&quot; icon=&quot;kmymoney2.png&quot; command=&quot;kmymoney2&quot; genericname=&quot;&quot;
longtitle=&quot;Personal Finance Manager&quot;
mimetypes=&quot;application/x-kmymoney,application/vnd.intu.qfx,application/x-ofx&quot;
hints=&quot;Office,Finance&quot;
extra_opt=&quot;\\nDocPath=kmymoney2/index.html\\nMiniIcon=kmymoney2\\nServiceTypes=&quot;

[c0der@mycomp ~]$ ./freedesktop2menu.pl kmymoney2 &quot;Office&quot;
/usr/share/applications/kde/kmymoney2.desktop kmymoney.new
I: found name: KMyMoney
I: found command: kmymoney2
I: found comment: Personal Finance Manager
W: This should never happen: Ignoring Comment[fr]=
I: found mimetype: application/x-kmymoney;application/vnd.intu.qfx;application/x-ofx
I: found icon: kmymoney2
W: This should never happen: Ignoring ServiceTypes=
I: found hint: Office;Finance

[c0der@mycomp ~]$ cat kmymoney.new
?package(kmymoney2):\
        needs=&quot;x11&quot; \
        extra_filename=&quot;kmymoney2&quot; \
        section=&quot;Office&quot; \
        title=&quot;KMyMoney&quot; \
        icon=&quot;kmymoney2.png&quot; \
        command=&quot;kmymoney2&quot; \
        longtitle=&quot;Personal Finance Manager&quot; \
       
mimetypes=&quot;application/x-kmymoney,application/vnd.intu.qfx,application/x-ofx&quot; \
        hints=&quot;Office,Finance&quot; \
       
extra_mimetype=&quot;application/x-kmymoney,application/vnd.intu.qfx,application/x-ofx&quot; \
        extra_opt=&quot;\\nDocPath=kmymoney2/index.html\\nMiniIcon=kmymoney2&quot; 

P.S. Еще я думаю, что неплохо было бы изменить имя макроса, вызывающего скрипт
freedesktop2menu.pl, потому что %Md2m как-то не очень понятен и не говорит сам
за себя :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>30468</commentid>
    <comment_count>1</comment_count>
      <attachid>1109</attachid>
    <who name="Slava Semushin">php-coder</who>
    <bug_when>2005-09-13 09:41:57 +0400</bug_when>
    <thetext>Created attachment 1109
Патч для скрипта freedesktop2menu.pl

А ничего так перловочка, есть можно :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>38153</commentid>
    <comment_count>2</comment_count>
    <who name="Sergey V Turchin">zerg</who>
    <bug_when>2006-05-18 18:49:10 +0400</bug_when>
    <thetext>код freedesktop2menu.pl почищен полностью :-)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>1109</attachid>
            <date>2005-09-13 09:41:57 +0400</date>
            <delta_ts>2005-09-13 09:41:57 +0400</delta_ts>
            <desc>Патч для скрипта freedesktop2menu.pl</desc>
            <filename>freedesktop2menu.pl.patch</filename>
            <type>text/plain</type>
            <size>4064</size>
            <attacher name="Slava Semushin">php-coder</attacher>
            
              <data encoding="base64">LS0tIC91c3IvYmluL2ZyZWVkZXNrdG9wMm1lbnUucGwJMjAwNC0wNS0xNCAxNDoyNDoxOCArMDcw
MAorKysgLi9mcmVlZGVza3RvcDJtZW51LnBsCTIwMDUtMDktMTMgMTY6MzQ6NDAgKzA3MDAKQEAg
LTEzLDggKzEzLDEwIEBACiAjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgdG8gc3VwcG9ydCAuZGlyZWN0b3J5IGZpbGVz
CiAjIG1vZGlmaWVkIGJ5IEZyZWRlcmljIENyb3phdCA8ZmNyb3phdEBtYW5kcmFrZXNvZnQuY29t
PiBBdWcgMDcgMjAwMSB1c2UgbmV3IG1pbWV0eXBlIGtleXdvcmQgZm9yIE1kayA4LjEKICMgbW9k
aWZpZWQgYnkgTGF1cmVudCBNb250ZWwgPGxtb250ZWxAbWFuZHJha2Vzb2Z0LmNvbT4gRnJpIEF1
ZyAxMCAyMDAxIGluaXQgaWNvbiB2YXJpYWJsZSBzb21lIGRlc2t0b3AKLSMgbW9kaWZpZWQgYnkg
U2VyZ2V5IFYgVHVyY2hpbiA8bHplcmdAYWx0bGludXgub3JnPiBUdWUgTWFyIDkgMjAwNCB0byBh
ZG9wdCBmb3IgZnJlZWRlc2t0b3AKLSMgZmlsZSBkb2Vzbid0IGhhdmUgaWNvbgorIyBtb2RpZmll
ZCBieSBTZXJnZXkgViBUdXJjaGluIDx6ZXJnQGFsdGxpbnV4Lm9yZz4gVHVlIE1hciA5IDIwMDQg
dG8KKyMgICAgICAgICAgICAgYWRvcHQgZm9yIGZyZWVkZXNrdG9wIGZpbGUgZG9lc24ndCBoYXZl
IGljb24KKyMgbW9kaWZpZWQgYnkgcGhwLWNvZGVyIDxwaHAtY29kZXJAYWx0bGludXgub3JnPiBU
dWUgU2VwIDEzIDIwMDUgdG8KKyMgICAgICAgICAgICAgc21hbGwgZml4ZXMgYW5kIGNoYW5nZWQg
b3V0cHV0IGZvcm1hdAogCiAoKCQjQVJHViA9PSAzKSBvciAoJCNBUkdWID09IDQpIG9yICgkI0FS
R1YgPT0gNSkpIG9yIGRpZSAiRTogWW91IGdhdmUgbWUgJCNBUkdWIHBhcmFtZXRlcnMuIFRoaXMg
c2NyaXB0IG11c3QgYmUgaW52b2tlZCB3aXRoIHBhcmFtZXRlcnM6IDxwYWNrYWdlPiA8c2VjdGlv
bj4gPGZpbGVfaW4+IDxmaWxlX291dD4gW3JlcXVpcmVzXSBbdGl0bGVdXG4iOwogCkBAIC0zMiwx
NSArMzQsMTUgQEAKICgkcmVxdWlyZXMgZXEgInRleHQiKSBvciAoJHJlcXVpcmVzIGVxICJ4MTEi
KSBvciAoJHJlcXVpcmVzIGVxICJrZGUiKSBvciAoJHJlcXVpcmVzIGVxICJnbm9tZSIpIG9yIHBy
aW50ICJXOiByZXF1aXJlcyBpcyAkcmVxdWlyZXMgKGUuZy4gbm90IHRleHQgbm9yIHgxMSBub3Ig
a2RlIG5vciBnbm9tZSlcbiI7CiAKIG15ICRkZWJ1ZyA9IDE7Ci1vcGVuIChNREtWRVJTSU9OLCIv
ZXRjL2FsdGxpbnV4LXJlbGVhc2UiKSBvciBkaWUgIkNhbid0IG9wZW4gL2V0Yy9hbHRsaW51eC1y
ZWxlYXNlIjsKLXdoaWxlICg8TURLVkVSU0lPTj4pCitvcGVuIChBTFRWRVJTSU9OLCIvZXRjL2Fs
dGxpbnV4LXJlbGVhc2UiKSBvciBkaWUgIkNhbid0IG9wZW4gL2V0Yy9hbHRsaW51eC1yZWxlYXNl
IjsKK3doaWxlICg8QUxUVkVSU0lPTj4pCiB7CiAgY2hvbXA7CiAgaWYgKC9cUytccytcUytccytc
UytccysoXFMrKS8pIHsKICAgICRtZGtfdmVyc2lvbiA9ICQxOwogIH0KIH0KLWNsb3NlIChNREtW
RVJTSU9OKTsKK2Nsb3NlIChBTFRWRVJTSU9OKTsKIG9wZW4gKElOUFVULCAkQVJHVlsyXSkgb3Ig
ZGllICJDYW4ndCBvcGVuICRBUkdWWzJdIVxuIjsKIG9wZW4gKE9VVFBVVCwgIj4kQVJHVlszXSIp
IG9yIGRpZSAiQ2FuJ3Qgb3BlbiAkQVJHVlszXSFcbiI7CiAKQEAgLTQ5LDcgKzUxLDcgQEAKICAg
bmV4dCBpZiAoL15ccyojLyk7ICAgICAgICAgICAgICMgSWdub3JlIGNvbW1lbnRzCiAgIG5leHQg
aWYgKC9eXHMqJC8pOyAgICAgICAgICAgICAjIElnbm9yZSB2b2lkIGxpbmVzCiAgIGNob21wOyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICMgUmVtb3ZlIHRyYWlsaW5nIHNsYXNoCi0gIGlmICht
L14oW149XSspXHMqPSguKikvKSAgICAgICAgIyBMaW5lIG9mIHRoZSBmb3JtIEtleSA9IFZhbHVl
ID8KKyAgaWYgKG0vXihbXj1dKylccyo9KC4rKS8pICAgICAgICAjIExpbmUgb2YgdGhlIGZvcm0g
S2V5ID0gVmFsdWUgPwogICB7CiAgICAgJGtleSA9ICQxOwogICAgICR2YWx1ZSA9ICQyOwpAQCAt
MTI1LDcgKzEyNyw3IEBACiAjICBpZiAoJG1ka192ZXJzaW9uID49IDguMSkgewogICBpZiAoMSkg
ewogICAgICRfID0gJGNvbW1hbmQ7Ci0gICAgaWYgKCAkcmVxdWlyZXMgPT0gInRleHQiIG9yICRy
ZXF1aXJlcyA9PSAieDExIiApIHsKKyAgICBpZiAoICRyZXF1aXJlcyBlcSAidGV4dCIgb3IgJHJl
cXVpcmVzIGVxICJ4MTEiICkgewogICAgICAgaWYgKC8uKiV1LiovKSB7CiAJJGFjY2VwdF91cmwg
PSAidHJ1ZSI7CiAJJG11bHRpcGxlX2ZpbGVzID0gImZhbHNlIjsKQEAgLTE2NywyMCArMTY5LDE2
IEBACiB9CiAKICMgT2ssIHdlJ3ZlIGdvdCBhbGwgdGhlIGluZm8sIHdyaXRlIHRoZSBtZW51IGZp
bGUuCi1wcmludCBPVVRQVVQgIj9wYWNrYWdlKCRwYWNrYWdlX25hbWUpOiBuZWVkcz1cIiRyZXF1
aXJlc1wiIGV4dHJhX2ZpbGVuYW1lPVwiJGV4dHJhX2ZpbGVuYW1lXCIgc2VjdGlvbj1cIiRzZWN0
aW9uXCIiLgotICAgICAgICAgICAgICIgdGl0bGU9XCIkbmFtZVwiIGljb249XCIkaWNvbi5wbmdc
IiI7Ci1kZWZpbmVkICRjb21tYW5kIGFuZCBwcmludCBPVVRQVVQgIiBjb21tYW5kPVwiJGNvbW1h
bmRcIiI7Ci1kZWZpbmVkICRjb21tYW5kIGFuZCBwcmludCBPVVRQVVQgIiBnZW5lcmljbmFtZT1c
IiRnZW5lcmljbmFtZVwiIjsKLWRlZmluZWQgJGNvbW1lbnQgYW5kIHByaW50IE9VVFBVVCAiIGxv
bmd0aXRsZT1cIiRjb21tZW50XCIiOwotI2lmICgkbWRrX3ZlcnNpb24gPj0gOC4xKSB7Ci1pZiAo
MSkgewotICBkZWZpbmVkICRtaW1ldHlwZSBhbmQgcHJpbnQgT1VUUFVUICIgbWltZXR5cGVzPVwi
JG1pbWV0eXBlXCIiOwotICBkZWZpbmVkICRjb21tYW5kIGFuZCBwcmludCBPVVRQVVQgIiBoaW50
cz1cIiRoaW50XCIiOwotICBkZWZpbmVkICRtdWx0aXBsZV9maWxlcyBhbmQgcHJpbnQgT1VUUFVU
ICIgbXVsdGlwbGVfZmlsZXM9XCIkbXVsdGlwbGVfZmlsZXNcIiI7Ci0gIGRlZmluZWQgJGFjY2Vw
dF91cmwgYW5kIHByaW50IE9VVFBVVCAiIGFjY2VwdF91cmw9XCIkYWNjZXB0X3VybFwiIjsKLX0K
LWVsc2UgewotICBkZWZpbmVkICRtaW1ldHlwZSBhbmQgcHJpbnQgT1VUUFVUICIgZXh0cmFfbWlt
ZXR5cGU9XCIkbWltZXR5cGVcIiI7Ci19Ci1wcmludCBPVVRQVVQgIiBleHRyYV9vcHQ9XCIkZXh0
cmFfb3B0XCIiOworcHJpbnQgT1VUUFVUICI/cGFja2FnZSgkcGFja2FnZV9uYW1lKTpcXFxuXHRu
ZWVkcz1cIiRyZXF1aXJlc1wiIFxcXG5cdGV4dHJhX2ZpbGVuYW1lPVwiJGV4dHJhX2ZpbGVuYW1l
XCIgXFxcblx0c2VjdGlvbj1cIiRzZWN0aW9uXCIgXFxcblx0dGl0bGU9XCIkbmFtZVwiIFxcXG4i
OworZGVmaW5lZCAkaWNvbiBhbmQgcHJpbnQgT1VUUFVUICJcdGljb249XCIkaWNvbi5wbmdcIiBc
XFxuIjsKK2RlZmluZWQgJGNvbW1hbmQgYW5kIHByaW50IE9VVFBVVCAiXHRjb21tYW5kPVwiJGNv
bW1hbmRcIiBcXFxuIjsKK2RlZmluZWQgJGdlbmVyaWNuYW1lIHByaW50IE9VVFBVVCAiXHRnZW5l
cmljbmFtZT1cIiRnZW5lcmljbmFtZVwiIFxcXG4iOworZGVmaW5lZCAkY29tbWVudCBhbmQgcHJp
bnQgT1VUUFVUICJcdGxvbmd0aXRsZT1cIiRjb21tZW50XCIgXFxcbiI7CitkZWZpbmVkICRtaW1l
dHlwZSBhbmQgcHJpbnQgT1VUUFVUICJcdG1pbWV0eXBlcz1cIiRtaW1ldHlwZVwiIFxcXG4iOwor
ZGVmaW5lZCAkY29tbWFuZCBhbmQgcHJpbnQgT1VUUFVUICJcdGhpbnRzPVwiJGhpbnRcIiBcXFxu
IjsKK2RlZmluZWQgJG11bHRpcGxlX2ZpbGVzIGFuZCBwcmludCBPVVRQVVQgIlx0bXVsdGlwbGVf
ZmlsZXM9XCIkbXVsdGlwbGVfZmlsZXNcIiBcXFxuIjsKK2RlZmluZWQgJGFjY2VwdF91cmwgYW5k
IHByaW50IE9VVFBVVCAiXHRhY2NlcHRfdXJsPVwiJGFjY2VwdF91cmxcIiBcXFxuIjsKK2RlZmlu
ZWQgJG1pbWV0eXBlIGFuZCBwcmludCBPVVRQVVQgIlx0ZXh0cmFfbWltZXR5cGU9XCIkbWltZXR5
cGVcIiBcXFxuIjsKKworcHJpbnQgT1VUUFVUICJcdGV4dHJhX29wdD1cIiRleHRyYV9vcHRcIiI7
CiBjbG9zZShPVVRQVVQpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>