LINUX.ORG.RU

Как правильно делать пункты меню в deb-пакетах для Debian/Ubuntu?

 , , ,


0

1

Делаю deb-пакет. В мануале сказано

 X Window System users usually have a window manager with a menu that can be customized to launch programs. If they have installed the Debian menu package, a set of menus for every program on the system will be created for them.

Here's the default menu.ex file that dh_make created. 

?package(gentoo):needs=X11|text|vc|wm \
        section=Applications/see-menu-manual\
        title=gentoo command=/usr/bin/gentoo

заполнил этот файлик (menu) вот так:

?package(pica-client):needs="X11" section="Applications/Network/Communication"\
        title="Pica Pica IM Client" command="/usr/bin/pica-client"

После инсталляции сгенерированного .deb пакета в убунте никакого пункта меню нигде (в Unity) не появляется.

Для сравнения, в ебилде для Gentoo инсталляция пунктов меню сделана вот так:

pkg_postinst() {
	xdg-icon-resource install --size 32 "${S}/pica-client/picapica-icon-sit.png" pica-client
	xdg-icon-resource install --size 22 "${S}/pica-client/picapica-icon-sit.png" pica-client
	xdg-icon-resource install --size 64 "${S}/pica-client/picapica-icon-sit.png" pica-client

	xdg-desktop-menu install "${S}/pica-client/pica-client.desktop"
}

Куда будет правильно засунуть вызов xdg-* утилит для инсталляции меню в случае deb-пакета? Если они вызываются из Makefile в процессе выполнения make install, то dpkg-buildpackage ругается на проблемы с песочницей

файл menu - для Debian Menu. Тебе нужно сделать скрипт postinst по аналогии с другими пакетами.

alex_custov ★★★★★
()

dh_installmenu в rules есть?

xpahos ★★★★★
()

Сейчас посмотрел для примера как сделано в deb-е Pidgin-а.

http://packages.debian.org/stable/net/pidgin

Там по ходу в процессе сборки .desktop файл просто копируется в /usr/share/applications, т.е в data.tar.gz внутри deb-а лежит файлик usr/share/applications/pidgin.desktop, а утилиты xdg нигде не вызываются.

Это можно считать правильным способом?

antonsv
() автор топика
Ответ на: комментарий от antonsv

обычное меню приложений, свой велосипед. В KDE3 когда-то можно было в основное меню K добавить подпункт с Debian Menu, и там было своё структурированное меню с приложениями, установленными через .deb и со своими menu файлами. Смысл в универсальности для deb-based видимо.

alex_custov ★★★★★
()
Ответ на: комментарий от antonsv

да. Пункт в меню - это просто .desktop файл в нужном месте на диске. Есть файл - есть пункт меню.

alex_custov ★★★★★
()
Последнее исправление: alex_custov (всего исправлений: 1)
Ответ на: комментарий от alex_custov

свой велосипед

емнип тогда просто xdg не было

lazyklimm ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.