Вы здесь

Вопрос по make_desktop_entry

Здравствуйте.
Помогите поправить ебилд http://data.gpo.zugaina.org/gentoo/media-video/avidemux/avidemux-2.5.6-r2.ebuild
Я хочу чтоб avidemux2_qt4 отображался в списке програм nautilus, для этого нужно чтоб в файле
/usr/share/applications/avidemux2.desktop
было так
Exec=avidemux2_qt4 %f
Как это сделать я не знаю, но пробовал создать

/etc/portage/env/media-video/avidemux

src_install() {
        # install the application
        cmake-utils_src_install

        # install plugins
        emake -C "${CMAKE_BUILD_DIR}/plugins" DESTDIR="${D}" install

        newicon ${PN}_icon.png ${PN}.png
        make_desktop_entry avidemux2_qt4 %f
        use gtk && domenu avidemux2-gtk.desktop
        use qt4 && domenu avidemux2.desktop
}

но, почему-то не работает.
Помогите найти решение.
Спасибо

make_desktop_entry make_desktop_entry(<command>, [name], [icon], [type], [fields])
 Make a .desktop file. 

binary:   what command does the app run with ?
name:     the name that will show up in the menu
icon:     the icon to use in the menu entry
          this can be relative (to /usr/share/pixmaps) or
          a full path to an icon
type:     what kind of application is this?
          for categories:
          http://standards.freedesktop.org/menu-spec/latest/apa.html
          if unset, function tries to guess from package's category
fields: extra fields to append to the desktop file; a printf string

очевидно, что command (если это avidemux2_qt4 %f), нужно изобразить как "avidemux2_qt4 %f". Таки шелл же. Для полноты стоит и [name], [icon], [type] указать, хотя type скорее всего из media-video подхватится — см в eutils.eclass

Сделал так

make_desktop_entry "avidemux2_qt4 %f" "Avidemux" avidemux Application "MimeType=video/mpeg;video/quicktime;video/x-msvideo;video/x-anim;audio/x-mp3;audio/x-mp2;"

Не помогает...

то есть ничего не происходит? :D
Не вижу точного примера того, что Вы хотите получить в сравнении с тем, что получаете.

мне нужно чтоб было Exec=avidemux2_qt4 %f, как этого добится?
что тут непонятного?

вопрос был «что Вы получаете»? Что тут непонятного? Делайте что говорят или не задавайте вопросов тогда.

Ок! Поясню
Я получаю это:

Exec=avidemux2_qt4

а надо:

Exec=avidemux2_qt4 %f

исходя из eutils.eclass:

make_desktop_entry() {
	[[ -z $1 ]] && die "make_desktop_entry: You must specify the executable"

	local exec=${1}
…
	cat <<-EOF > "${desktop}"
	[Desktop Entry]
	Name=${name}
	Type=Application
	Comment=${DESCRIPTION}
	Exec=${exec}
	TryExec=${exec%% *}
	Icon=${icon}
	Categories=${type}
	EOF
…

я могу заключить, что как Вы функции передали первый аргумент, так он и запишется. Очевидно, что Вы что-то упустили.

Знаешь, Beelzebubbie, вы, конечно, помогаете мне и все такое... но эти цитаты я не могу понять, так как я НЕ РАЗРАБОТЧИК генту,
об этом можно было догадаться после первого моего ответа вам, и просто запостить для меня одну, интересующую меня строчку,
потратив на это, учитывая ваши знания, меньше времени, чем на постинг 3х сообщений.
Я сам уже где только не искал пример, образец ебилда с подобной задачей, но не нашел

и проблема это не лично моя, это проблема генту, так как avidemux и nautilus, популярные программы.

Перефразирую вопрос, для понятности: как изменить ебилд http://data.gpo.zugaina.org/gentoo/media-video/avidemux/avidemux-2.5.6-r2.ebuild, чтоб при установке в файле /usr/share/applications/avidemux2.desktop была строчка Exec=avidemux2_qt4 %f?

>эти цитаты я не могу понять
вернее говоря «не хочу понимать ибо считаю, что мне это не нужно», не так ли?

>можно было догадаться
брать на себя тяжкий и неблагодарный труд угадательства? оно надо?

>проблема это не лично моя, это проблема генту
да, надо срочно жаловаться куда-нить. но точно не мне. можете тов. slepnoga пожаловаться — он мастит, отзывчив и РАЗРАБОТЧИК.

По вопросу. Если я все правильно недоугадал, то строчка в ебилде должна выглядеть как-то так:
make_desktop_entry 'avidemux2_qt4 %f' Avidemux2-Qt ${PN}

[type] определится сам, про mime в .десктоп не в курсе.

PS смысл use qt4 && domenu avidemux2.desktop после make_desktop_entry мне не понятен. это разные .desktop файлы вообще?

>надо срочно жаловаться куда-нить. но точно не мне
я просто хочу комфортной работы, или это невозможно без изучения всех eclass?
А вы тут при том, что взялись помогать, и бросать на пол пути негоже.

make_desktop_entry 'avidemux2_qt4 %f' Avidemux2-Qt ${PN}
не работает
мало того - все попытки никак не сказываются на /usr/share/applications/avidemux2.desktop

>use qt4 && domenu avidemux2.desktop
вы думаете, что мне эта строчка понятна?)))

могу точно добавить что avidemux имеер 2 морды (gtk и qt), и поэтому в ебилде предусмотрено 2 desktop файла

brothermechanic написал:
я просто хочу комфортной работы, или это невозможно без изучения всех eclass?

Это невозможно без навыков использования штатной системы документации (частный случай --- локализация области поиска ответа на интересующий тебя вопрос и добычи ответа из [в данном случае] страницы руководства соответствующего екласса).

brothermechanic написал:
А вы тут при том, что взялись помогать, и бросать на пол пути негоже.

Вероятно необходимо разъяснить разницу от нахождения и указания достаточного набора ключей (что может быть и интересно и полезно самому отвечабщему) и полным прохождением маршрута?

brothermechanic написал:
>use qt4 && domenu avidemux2.desktop
вы думаете, что мне эта строчка понятна?)))

А должна [была бы быть]...

brothermechanic написал:
могу точно добавить что avidemux имеер 2 морды (gtk и qt), и поэтому в ебилде предусмотрено 2 desktop файла

Подозреваю, что оно включается (должно включаться) соответствующими USE-флагами.
И очень сильно не уверен, что рулят (должны рулить) только х.desktop-файлами.

:wq
--
Live free or die

а если заменить

use qt4 && domenu avidemux2.desktop

на

use qt4 && make_desktop_entry 'avidemux2_qt4 %f' Avidemux2-Qt avidemux2

?

>я просто хочу комфортной работы
в известной комнате, по-видимому, никого кроме Вас нет :D

>негоже
вот указывать другим, что и как делать — действительно не только негоже но и чревато. лопата всегда наготове.

>не работает
файл не создается? в ${T} отсутствует? не верю.

>все попытки никак не сказываются на /usr/share/applications/avidemux2.desktop
ЕМНИП пакет называется не avidemux2 а avidemux? Соответственно и .desktop, создаваемый функцией make_desktop_entry в данном случае будет называться как бы не avidemux2_qt4_%f-avidemux.desktop, за точность не отвечаю, глядите в екласс. Если имя не нравится — переименуйте в ебилде. Name в нем, тем не менее, будет таким, какое Вы указали во втором параметре.

>вы думаете, что мне эта строчка понятна?
ну а иначе зачем в ебилд-то лезть?

поэтому в ебилде предусмотрено 2 desktop файла (gtk и qt)
а Вы третий хотите еще, тоже Qt ?

У Вас есть три варианта, если что-то не работает:
1. Не трогать эбилды, а писать разработчикам, если Вы считаете, что в Генту есть проблема. Они исправят.
2. Поправить эбилд. В этом случае придется читать документацию и понимать, что Вы делаете. Вы еще на АЭС сходите, кнопки потыкайте в попытках заставить давать больше энергии, ага. Ну и в этом случае, если Вы считаете, что в Генту есть проблема, следует сообщить разработчикам. Только уже с Вашим решением, чтобы они исправили и другим было хорошо.
3. Поставить наконец БлогенОС с красивыми обоями и не парить людям мозги.

Jauhien написал:
У Вас есть три варианта, если что-то не работает:
1. Не трогать эбилды, а писать разработчикам, если Вы считаете, что в Генту есть проблема. Они исправят.

Или не исправят, а пошлют. Далеко, пешком и с чуством вины :0

Jauhien написал:
2. Поправить эбилд. В этом случае придется читать документацию и понимать, что Вы делаете. Вы еще на АЭС сходите, кнопки потыкайте в попытках заставить давать больше энергии, ага. Ну и в этом случае, если Вы считаете, что в Генту есть проблема, следует сообщить разработчикам. Только уже с Вашим решением, чтобы они исправили и другим было хорошо.

это же надо напрягатся :)

Jauhien написал:
3. Поставить наконец БлогенОС с красивыми обоями и не парить людям мозги.

Сюрпрайс, там тоже есть проблемы :)

Так что если у ТС закоренелая привычка к экономии мЫшленья - то тут словами делу не поможешь.

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

я не РАЗРАБОТЧИК :) по крайней мере не генты.

Compute:
Bosch M2.8.1 -> custom Bosch M2.8.3 clone from Russia.
Speed about 260 km,Ram 2 pers.,HDD - 70 kg,210 FLOPS ;)

ну да, капсом слишком пафосно :) с остальным-то хоть угадал? с учетом того, конечно, что «мастит» — не существительное в том контексте :D