LINUX.ORG.RU

Дополнения к приложениям в GNOME Software

 appstream, ,


2

3

После того момента, как мы показали GNOME Software Center, люди захотели добавить в него немного функционала. Одна из вещей, которая была очень важна для разработчиков Eclipse - способ установки расширений к основной программе, что показалось нам отличной идеей. Мы хотели сделать это настолько универсальным, чтобы её могли использовать другие проекты, как gedit и другие модульные приложения в составе GNOME и KDE. Мы сознательно не предоставляем такую функциональность для Chrome или Firefox, поскольку эти приложения сделают намного лучше это задание, чем GNOME Software.

Недавно Ричард Хьюз (Richard Hughes) добавил специальный тип компонентов в AppStream – дополнения.
AppStream – XML стандарт, созданный для удобства распространения приложений через центры приложений в разных дистрибутивах. На данный момент уже активно используется в дистрибутивах: Fedora, openSUSE. В ближайшее время так же будет использоваться в ArchLinux и Debian.

Создание специального metainfo.xml для каждого плагина позволит пользователю устанавливать доп. компоненты. Плагины для текстовых редакторов, мультимедиа кодеки и пр.



Как выглядит обычный metainfo.xml, заметки и как его использовать можно посмотреть в блоге Ричарда
Kalev Lember в настоящее время работает над интерфейсом плагинов в GNOME Software, Richard Hughes только завершил поддержку metainfo.xml в обработчике AppStream, так что не стоит ожидать видимость новых функций до GNOME 3.14 и Fedora 21.

Рекомендуем использовать утилиту для проверки AppStream файлов – appstream-util (входит в состав libappstream-glib). К сожалению в выпущенной версии 0.1.7 отсутствуют некоторые возможности, которые вы, наверное, хотели бы использовать. Среди них:

  • Проверка metainfo.xml.in файлов (используется при локализации) – fix #1, bug #2, fix #2;
  • При проверке одновременно множества файлов при неудачной проверке одного из файлов программа завершает свою работу – bug, fix;
  • Установка AppData и MetaInfo файлов (можно использовать во время тестирования) – fix;
  • Ну и куда же без автодополнения в Bash – fix #1, fix #2.



Ричард написал статью в своём блоге о том, как разработчики могут интегрировать свои дополнения в центры приложений KDE и GNOME. Мы с Ричардом с удовольствием поможем на данном этапе. Если у вас есть свои пакеты в своих репозиториях, то они не появятся автоматически в центрах приложений. Вы должны специальным образом обработать их. Пример того, как можно это сделать — в рассылке Russian Fedora. Надеюсь, в скором времени мы внедрим все эти новые технологии в Russian Fedora, т.к. мы стараемся максимально повторить процессы Fedora Project.

Наши контактные данные:

Richard Hughes:

  • IRC: hughsie on freenode and gimpnet
  • Email: richard AT hughsie DOT com

Igor Gnatenko



Мы уже написали много патчей, отправили багов:
Evolution RSS: https://bugzilla.gnome.org/show_bug.cgi?id=731553
GEedit plugins: https://bugzilla.gnome.org/show_bug.cgi?id=731632, https://git.gnome.org/browse/gedit-code-assistance/commit/?id=789e7b9f5569f5b...
Eclipse plugins: https://bugs.eclipse.org/bugs/show_bug.cgi?id=437245
Claws-mail plugins: http://www.thewildbeast.co.uk/claws-mail/bugzilla/show_bug.cgi?id=3210

Итого на сегодняшний момент написано:

  • Richard Hughes: 1 плагин (metainfo), 9 багрепортов;
  • Igor Gnatenko: 45 плагинов (metainfo), 3 багрепорта.

Присоединяйтесь к разработке нового стандарта/утилит!

Источник

>>> Оригинал

anonymous

Проверено: fallout4all ()
Последнее исправление: ymn (всего исправлений: 10)
Ответ на: комментарий от anonymous

Почему-то остальные плееры спокойно появляются в репозиториях, а deadbeef-у вечно что-то мешает. Хотя плеер хороший, сам пользуюсь.

вот из-за того что хороший, в репы и не берут. использование в своем проекте чужого кода с собственными улучшениями противоречит правилам packaging в федоре (и производных).

в дебиане формально это нигде не написано, но тоже не берут по этой же причине.

пример: http://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries

это значит, что нельзя взять опенсорс библиотеку, подправить ее под свои задачи, и поюзать у себя в проекте, потому что пакет с ней есть в системных репозиториях.

а в deadbeef это используется очень активно. именно поэтому он не вылетает на добавлении файлов в плейлист, и играет гораздо больше файлов, чем другие линуксовые плееры.

думаю, можно было бы обмануть мантейнеров, и переименовать все пропатченные библиотеки. но это лишний гемор, для мержинга с апстримом особенно.

доходило до маразма, типа «проект использует libayplay — переделай код чтобы использовалась другая либа, которая есть в репах дебиана, тогда примем». ИЧСХ, та либа, что они предлагали, ископаемое говно. ну и ессно если бы даже переделал — все равно прикопались бы к чему-то еще. они ж не говорят сразу полный список что нужно поменять, чтобы им понравилось. выдают порциями. типа «поменяй вот это», ты потратишь неделю на переделки, выпилишь половину плеера.. присылаешь, а они «о, а теперь поменяй еще вот это». если выпилить все что они хотят — получится акидакус.

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

Я слежу за историй дедбифа немного, ситуация на мой взгляд показательна и интересна. И единственным выходом я вижу патчи в апстрим, почему бы твоими наработками на попользоваться и другим? Я помню, были какие-то причины, почему твои патчи не берут в апстрим библиотек - вот это и надо решать. А не заходить с черного хода. (Конечно, если тебе это хочется, тут уже работа на интерес получается... если ты не заинтересован, то хз что делать)

Но неужели в какие-то неформальные 3rdparty репы дедбиф не берут? Ведь специально создаются всякие rpmfusion и deb-multimedia, потому что ПО в них противоречит политики партии, однако решение.

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

Так в appstore тоже есть цензура и куча ПО туда не может попасть по административным соображениям.

а в линуксе не попадет потому что мантайнерам не нравится, какие библиотеки ты в проекте используешь. причем вовсе не исходя из их качества.

Репозитарии дебиана и федоры в этом отношении хотя бы более прозрачны.

попасть в playstore и appstore намного проще, чем в дебиан или федору. например, в playstore есть мой проект. и появился он там через час после того, как у меня появилось такое желание. а в дебиане и федоре — он не может появиться принципиально. просто из-за дурацких ограничений специально для опенсурса. для проприетарщины, к примеру, этих ограничений нет. просто репо отдельное.

Тебе из GlobalLinuxAppStore придет письмо «Не положим твое ПО в репозиторий, потому что оно не соответствует политике стора». Твой ход?

если политика будет сравнима с appstore и playstore — то я не вижу причин для письма с отказом.

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

А оно надо, лезть в репы дистра?
За последний год, разочарование и возвращение к виндовой привычке - «ищем офф сайт разработчика, ищем репу, нет репы ищем собранный пакет, нет пакета качаем сырцы, пробуем собрать» для винды просто качал инсталятор свежей версии, хотя предпочитал Standalone. Какой-то треш творится с дистрами.
Плагины в центре приложений? зачем? ПО само должно уметь искать свои плаги и выкачивать их, на худой конец в диру настроек в хомяке руками закинуть не сложно. Зачем открывать тормозящего монтра искать в нем имя пакета, потом плагины к этому пакету. Открыл ПО, ткнул настройки плагины, увидел список доступных, логично и приемлемо.

anonymous
()
Ответ на: комментарий от waker

если политика будет сравнима с appstore и playstore — то я не вижу причин для письма с отказом.

А мне не нравится куча адвари и квазивирусни в appsrote и playstore - эта политика известная, проторенная дорожка же для.

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

Открыл ПО, ткнул настройки плагины, увидел список доступных, логично и приемлемо.

Плюсую. Как Эклипс, например. Но раз уж упомянул этого зверя - не зря делают кучу standalone сборок этого эклипса для питона явы андроида, отдельно - все эти плагины вместе не очень-то уживаются друг с другом.

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

И единственным выходом я вижу патчи в апстрим

уже спрашивали это много раз. апстрим у многих библиотек мертв с 2005-2007 года. в других библиотеках изменения агрессивны, и несовместимы с апстримом. иногда намертво привязаны к deadbeef. есть 1 случай, где библиотека используется старой версии, потому что впоследствии она перешла на неугодную (мне) лицензию.

апстриму, опять же, никто не мешает взять у меня патчи, если они им нужны. никто не запрещает. все на гитхабе в удобном виде.

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

кому надо - пользуются. например моя работа по поддержке ape используется в qmmp.

Но неужели в какие-то неформальные 3rdparty репы дедбиф не берут?

берут. но речь не о них.

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

А мне не нравится куча адвари и квазивирусни в appsrote и playstore - эта политика известная, проторенная дорожка же для.

т.е. ты не рассматриваешь вариант, чтобы в линуксовом аппсторе адварь и прочее блокировались, и не пропускались?

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

А оно надо, лезть в репы дистра?

в том виде как они есть в линухе — это пустая трата времени. то о чем я пишу — другие репы. хочу такие как на андроиде и макоси.

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

берут. но речь не о них.

Для меня тогда вопрос исчерпан полностью:

$ yum list deadbeef
Available Packages
deadbeef.i686    0.6.1-1.fc20.R    russianfedora-free-updates

Это для меня равносильно «дедбиф есть в репах федоры», по сути.

Deleted
()
Ответ на: комментарий от waker

Тонка та грань. Если политика будет слишком навязчивой, многие авторы опять будут недовольны. Сликом лояльная политика приведет к упомянутым вирусам.

Deleted
()
Ответ на: комментарий от waker

А какой нибудь Nix Package Manager не подходит?

Для плагинов emacs уже несколько репозитариев-менедрежов: elpa, el-get, mermalade ... Наплодили. Самый демократичный el-get. Наверно, нужно сделать аналог для прикладного ПО. Суть: https://github.com/dimitri/el-get . «рецепты» (recipes) принимаются пул-реквестами практически без ограничений, в них указаны способы забора исходников у автора, сборки, установки. Т.е. поставить el-get на систему - дело плевое. Попасть авторам в el-get - тоже дело плевое. В итоге - как бы все довольны, плагины централизованно могут устанавливаться в emacs, фиксы рецептов может сделать каждый заинтересованный. Сделать такое для прикладного ПО - задача сложнее. Ведь дистрибутивов уже зоопарк, а emacs он один :) И в нем, кстати, есть плеер :)

Deleted
()
Последнее исправление: Deleted (всего исправлений: 2)
Ответ на: комментарий от waker

думаю, можно было бы обмануть мантейнеров, и переименовать все пропатченные библиотеки. но это лишний гемор, для мержинга с апстримом особенно.

Я немного не понимаю, ты вносишь свои изменения в библиотеку, но название библиотеки оставляешь старое? Это вообще как?

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

Я немного не понимаю, ты вносишь свои изменения в библиотеку, но название библиотеки оставляешь старое? Это вообще как?

а что тебя в этом не устраивает?

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

что именно данный package manager (и другие) должен решать?

аналог для прикладного по — это и есть что-то вроде mac appstore.

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

что именно данный package manager (и другие) должен решать?

да это как раз вопрос к тебе, что бы ты хотел, как выглядел бы такой, нужный тебе, stor во всех линукс.

NiX вроде как позволяет быть установленным в любой линукс дистрибутив и использовать общие пакеты, сгенеренные авторами ПО. Если я не ошибаюсь. Вот, пожалуйста, аналог appstore. Там даже web-морда есть

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

да это как раз вопрос к тебе, что бы ты хотел, как выглядел бы такой, нужный тебе, stor во всех линукс.

с точки зрения юзера — что-то вроде ubuntu software center, или steam, или mac app store. предустановленный. или чтобы в каждом DE был свой клиент к нему, на радость тулкитофобам.

с точки зрения девелопера — что-то вроде google play store или mac app store.

ubuntu software center в линуксе ближе всего к этому, но в него бинарные сборки опенсорса не пропускают. это разрешено только для проприетарного софта.

nix не подходит именно потому, что он не предустановлен в дистрах, и юзеров никак не заставить его поставить, потому что его тоже нет в репах.

стор, он ведь нужен чтобы упростить доставку, а не усложнить. так что щас проще юзерам дать тарболл с бинарями, чем просить скомпилять nix, разобраться как им пользоваться, и потом ставить через него.

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

nix не подходит именно потому, что он не предустуновлен в дистрах, и юзеров никак не заставить его поставить, потому что его тоже нет в репах.

Это замкнутый круг. Любой Vasya Pupkit Software Center не будет сначала предустановлен в дистрах и будет отсутствовать в репах. ubuntu software center не подходит и не ближе, потому что он отсутствует в федора, например. Вот хочу я из этого USC купить себе проприетарь, ан хренушки! Масло масляное, короче. Проще скачать сорцы и собрать, или поставить блоб в /opt.

Не надо в монастырь со своим уставом. Тут или очередной rh родит очередного поттеринга, который «собиратель земель русских» будет, всмысле, насадит новый устав(стандарт), или будет как обычно - куча разных несовместимых software center-ов.

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

То что любые изменения, не проходящие в апстрим, по сути есть форк, и если они выходят за пределы локалхоста, то не должны наводить путаницу названием идентичным оригиналу, который, к слову, может тоже находиться в системе. Разве не так?

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

Это замкнутый круг. Любой Vasya Pupkit Software Center не будет сначала предустановлен в дистрах и будет отсутствовать в репах.

ага, именно поэтому, увидев, что в гнуме теперь свой software center, я и написал в эту тему. ведь эта штука будет установлена, как минимум, везде где будет установлен гном. а это уже половина успеха.

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

Надо запилить software center в ядро. тогда это будет уже 100% успеха. Или хотя бы в systemd :)

Deleted
()
Ответ на: комментарий от waker

У меня конкретно нигде, я пользуюсь другим плеером. Из праздного любопытства и чисто для расширения кругозора интересуюсь: ты предлагаешь держать в системе несколько разных библиотек с одинаковым именем?

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

ты предлагаешь держать в системе несколько разных библиотек с одинаковым именем?

нет. даже в мыслях такого не было.

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

Тогда я не понимаю, как это работает. Вот есть DeaDBeeF, который использует патченные библиотеки. Эти библиотеки носят то же название. что и до патчей, ибо переименовывать лишний гемор. И есть какой-то другой софт, использующий оригинальные версии библиотек. Что будет если я захочу иметь в системе и то и другое?

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

они не ставятся в систему, и используются только в deadbeef. технически, другие приложения их не видят. аналогично, deadbeef не использует те что в системе.

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

Ну тогда это сложный вопрос, должно ли мейнтейнера колыхать с чем там твоя программа слинкована статически. Если бы не было пересечения даже просто на уровне имен, это решило бы проблемы включения deadbeef в репозитории? Или все-таки искать/использовать альтернативные методы доставки получается менее энергозатратно в итоге?

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

Ну тогда это сложный вопрос, должно ли мейнтейнера колыхать с чем там твоя программа слинкована статически.

на взгляд мантейнеров — однозначно должно колыхать. за исключением арча, и большинства малораспространенных дистров.

Если бы не было пересечения даже просто на уровне имен, это решило бы проблемы включения deadbeef в репозитории?

я не уверен, что мантейнеры не заметят обмана. они сцуко хитрые. легко увидят, что это те же либы, просто под другим именем и с другим кодом. так что нет, не решило бы.

Или все-таки искать/использовать альтернативные методы доставки получается менее энергозатратно в итоге?

гм. а что, кроме альтернативных методов есть какой-то выбор? в репы не пускают же!

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

Или кто-то всё-таки взялся за него?

fbourigault

Он взялся разрабатывать бэкэнд для archlinux.

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

Вас Reset что-ли покусал?

Нет, здравый смысл.

Почему-то остальные плееры спокойно появляются в репозиториях

Songbird под какой дистрибутив поставишь из репозитария?

В нормальных дистрах обновился практически сразу, там ведь наверняка security фиксы были, а во всяких росах и альтах, так я не удивительно.

О чём и речь.

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

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

А зачем это делать перепаковкой? Это можно делать и без перепаковки.

Мое мнение: репозитарий (1-2-5 штук) должны быть доверенные

Никто не мешает микрорепозитарии делать доверяемыми.

а не десятки левых репозитариев непонятно кем поддерживаемые

Не непонятно кем, а разработчиками. Если ты не доверяешь разработчикам, никакие майнтейнеры не помогут :-)

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

Общими усилиями заинтересованных пользователей репозитарии дистрибутивов наполняются полезным софтом.

Или не наполняются, примеры см. выше.

С другой стороны, элементарно опакечивается нужное себе ПО, которого нет в репах.

Ну вот, опять. Ты реально думаешь, что опакетить самому себе ПО — это выход?

Так это проблемы мозилловцев, не?

Не. Это проблемы пользователей. А проблемы мозилловцев в том, что они никогда не осилят поддерживать весь зоопарк.

О чём и шла речь на прошлой странице.

Сделай под любимый дистр репу. И рядом исходники в tar.gz - остальные сами сделают, коли надо.

Ну вот, опять.

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

С другой стороны, элементарно опакечивается нужное себе ПО, которого нет в репах.

2025 год. Вендекапец настал. На дверях подъездов вместо объявлений «настрою интернет, установлю драйверы, удалю вирусы» висят объявления «опакечу софт».

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

«настрою интернет, установлю драйверы, удалю вирусы» висят объявления «опакечу софт».

Что вполне технологично, по сравнению с первым.

Deleted
()
Ответ на: комментарий от Aceler

Это можно делать и без перепаковки.

Тогда будет еще больше отказов принять софт в репу по причине «вы нам просто не подходите, а руками мы лезть внурь не будем». Например: я немного следил за owncloud в fedora, у проекта oc есть каталог 3rdparty, где валялись phpшные либы. По-началу, пакет собирался с этими 3rdp, но постеменно эти либы выкинули и стали использовать общесистемные, добавив или обновив недостающие. Профит для самого ОС очевиден - фиксы на третьи либы прилетают автоматом. Перепаковка тут дала гибкость, планомерность и достижение дзена.

Если ты не доверяешь разработчикам, никакие майнтейнеры не помогут :-)

помогут. Мейнтейнеры выкинут из «инсталлятора» google-панель, мейлр-агента и всего такого, чего туда понапихает разработчик ПО по меркантильным соображениям. Дай только волю, получим болезнь всех setup.exe

Deleted
()
Ответ на: комментарий от Aceler

Или не наполняются,примеры см. выше.

Какой пример? дедбиф? он есть в репозитариях, и выше я это показал. Софт есть в репозитариях нормальных дистрибутивов, либо это популярные неоффициальные репы, либо лояльные официальные. Если дистрибутив не болдженос

опакетить самому себе ПО — это выход?

Не для всех. Но для меня.

А проблемы мозилловцев в том, что они никогда не осилят поддерживать весь зоопарк.

зоопарк никуда не денется, пока «software center» не впилят прямо в ядро. и я не говорю что так нужно сделать, но пока другого решения я не вижу.

Ну вот, опять.

:)

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

Тогда будет еще больше отказов принять софт в репу

А не нужно принимать софт в репу. О чём и речь.

Мейнтейнеры выкинут из «инсталлятора» google-панель, мейлр-агента и всего такого, чего туда понапихает разработчик ПО по меркантильным соображениям.

Для этого не нужны системные репозитарии, опять же.

Дай только волю, получим болезнь всех setup.exe

Я не вижу вакханалии setup.exe на ppa.lanchpad.net. Я не вижу тонн вирусни и малвари.

Почему?

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

Какой пример? дедбиф? он есть в репозитариях, и выше я это показал.

Какой версии, какого года эта версия, как быстро она обновляется?

Я просто сижу на нескольких стульях, мне очень остро заметны эти ситуации, когда то, что есть в росе, отсутствует в убунте и наоборот.

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

ppa.lanchpad.net

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

Deleted
()
Ответ на: комментарий от Aceler

Какой версии, какого года эта версия, как быстро она обновляется?

Дополнения к приложениям в GNOME Software (комментарий)

Я просто набрал это в открытой консоли, потому как я не использую дедбиф, посмотрел что смогу поставить. Удовлетворившись, что версия совпадает с оф.сайтом - написал пост) Т.е. в моем случае - я получу свежий дедбиф незадумываясь. Ребята молодцы, кто бы они ни были, кто это обеспечил.

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

а почему в стиме нет адвари и квазивирусни? он как раз один из единых сторов на платформе, кроссдистровый т.е.

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

Кстати да, хороший пример. Слона-то я и не приметил. Не встречалась инфа по статистике вредоносных игр в стиме. Наверно, жесткая политика модерирования, но это предположение.

Ну значит тот, кто поймет, как срубить профит с создния AppSteam и привлечет к себе разработчиков - сделает единый кроссплатформенный стор.

Упомянутый Nix package manager - это как раз похоже на сабж. ТОлько популярностью не пользуется. Давайте продвигать Nix в дефолты дистриьутивов!

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

А если это будет единый для платформы стор, типа гуглплей - то и будет там как в гуглплее: адваре и квазивирусня.

У гугльплея другие цели. Единый для платформы f-droid точно также живёт без адвары и квазивирусни.

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

nix это плохой пример. он таки именно package manager, такой же как apt и прочие. т.е. будет срать в систему, потом начнется, что проги установленные nix ломают другие проги установленные apt, и т.п.

нужно именно средство для доставки прикладного софта. чтобы ставился в хомяк юзеру, либо в отдельную папочку для всех юзеров. типа /Applications vs $HOME/Applications, или так как в стиме.

+ было бы замечательно, как это принято в appstores, хранить профиль на сервере, и иметь возможность 1 кликом установить все свои приложения в свежеустановленном линупсе.

waker ★★★★★
()
Последнее исправление: waker (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.