Bug 7943

Summary: Ошибки в работе скрипта freedesktop2menu.pl
Product: Sisyphus Reporter: Slava Semushin <php-coder>
Component: menuAssignee: Sergey V Turchin <zerg>
Status: CLOSED WONTFIX QA Contact: qa-sisyphus
Severity: normal    
Priority: P2 CC: viy, zerg
Version: unstable   
Hardware: all   
OS: Linux   
Attachments:
Description Flags
Патч для скрипта freedesktop2menu.pl none

Description Slava Semushin 2005-09-13 09:40:07 MSD
Помогаю migor@ пилить KMyMoney2 и в процессе этого прочитал на
http://www.freesource.info/wiki/AltLinux/Razrabotchiku/OsobennostiSborkiPaketov
про возможность генерировать menu-файлы из desktop-файлов. Решил попробовать.
Вылетело несколько ошибок

Argument "text" isn't numeric in numeric eq (==) at /usr/bin/freedesktop2menu.pl
line 128.
Argument "x11" isn'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 файле была такая строка:
"ServiceTypes=" Она же попадала и в результирующий 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Г&#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 "Office"
/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 "text" isn't numeric in numeric eq (==) at /usr/bin/freedesktop2menu.pl
line 128.
Argument "x11" isn'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="x11" extra_filename="kmymoney2" section="Office"
title="KMyMoney" icon="kmymoney2.png" command="kmymoney2" genericname=""
longtitle="Personal Finance Manager"
mimetypes="application/x-kmymoney,application/vnd.intu.qfx,application/x-ofx"
hints="Office,Finance"
extra_opt="\\nDocPath=kmymoney2/index.html\\nMiniIcon=kmymoney2\\nServiceTypes="

[c0der@mycomp ~]$ ./freedesktop2menu.pl kmymoney2 "Office"
/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="x11" \
        extra_filename="kmymoney2" \
        section="Office" \
        title="KMyMoney" \
        icon="kmymoney2.png" \
        command="kmymoney2" \
        longtitle="Personal Finance Manager" \
       
mimetypes="application/x-kmymoney,application/vnd.intu.qfx,application/x-ofx" \
        hints="Office,Finance" \
       
extra_mimetype="application/x-kmymoney,application/vnd.intu.qfx,application/x-ofx" \
        extra_opt="\\nDocPath=kmymoney2/index.html\\nMiniIcon=kmymoney2" 

P.S. Еще я думаю, что неплохо было бы изменить имя макроса, вызывающего скрипт
freedesktop2menu.pl, потому что %Md2m как-то не очень понятен и не говорит сам
за себя :)
Comment 1 Slava Semushin 2005-09-13 09:41:57 MSD
Created attachment 1109 [details]
Патч для скрипта freedesktop2menu.pl

А ничего так перловочка, есть можно :)
Comment 2 Sergey V Turchin 2006-05-18 18:49:10 MSD
код freedesktop2menu.pl почищен полностью :-)