Bug 7943 - Ошибки в работе скрипта freedesktop2menu.pl
Summary: Ошибки в работе скрипта freedesktop2menu.pl
Status: CLOSED WONTFIX
Alias: None
Product: Sisyphus
Classification: Development
Component: menu (show other bugs)
Version: unstable
Hardware: all Linux
: P2 normal
Assignee: Sergey V Turchin
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-09-13 09:40 MSD by Slava Semushin
Modified: 2006-05-18 18:49 MSD (History)
2 users (show)

See Also:


Attachments
Патч для скрипта freedesktop2menu.pl (3.97 KB, patch)
2005-09-13 09:41 MSD, Slava Semushin
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
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ö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 почищен полностью :-)