ALT Linux Team development discussions
 help / color / mirror / Atom feed
From: Evgeny Sinelnikov <sin@altlinux.org>
To: ALT Linux Team development discussions <devel@lists.altlinux.org>
Subject: Re: [devel] dbus-introspection xml-files packaging
Date: Fri, 15 Mar 2024 20:08:28 +0400
Message-ID: <CAK42-GrxGLkO9FCNYybmPzJoBFXDso4-ek1mLBAbPA90cdHM=g@mail.gmail.com> (raw)
In-Reply-To: <2222825.M8Ui4to0z9@zerg.malta.altlinux.ru>

Добрый вечер,

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

Речь идёт о файлах интроспекции. Стоит или не стоит их хранить вместе
с пакетами? Или может быть стоит выносить в отдельные подпакеты?

На мой взгляд это совершенно бесполезно, особенно в тех случаях, когда
клиентам нужно проверять валидность интерфейсов. Например, мы именно
для этого его сейчас используем для всех новых бекендов, создаваемых с
помощью модуля alterator-module-executor.

Кроме того, существует, действительно, и такая штука, как
"кодогенерация на лету". Хотя "кодогенерацией" это может и не
являться. Скорее статическим способом интроспекции.

Стоит упомянуть также и такую особенность, как сам интерфейс
интроспекции. Устроен он так, что выдаёт ровно те же xml'ки, которые
предлагается куда-то, зачем-то спрятать:

$ busctl call org.freedesktop.Accounts /org/freedesktop/Accounts
org.freedesktop.DBus.Introspectable Introspect
s "<!DOCTYPE node PUBLIC \"-//freedesktop//DTD D-BUS Object
Introspection 1.0//EN\"\n
[...]
</interface>\n  <node name=\"User758801104\"/>\n  <node
name=\"User500\"/>\n</node>\n"

Ну, то есть все приложения и так выдают свой интерфейс в этом же
формате. В ряде случаев, я думаю, это даже может быть реализовано как
отправка в ответ на org.freedesktop.DBus.Introspectable.Introspect()
содержимое того файла, который лежит в каталоге
/usr/share/dbus-1/interfaces/, вместо того, чтобы прибивать его
"гвоздями" в код сервиса.

В общем, не понятна цель ради которой что-то предлагается. Свести dbus
интроспекцию только к кодогенерации уже не очень получится. Разве что
перенести эти файлы в отдельные пакеты может иметь смысл, чтобы не
тащить в сборочное окружение лишние пакеты с их зависимостями. Тогда
цель становится понятной. Но это довольно тогда большая работа. У нас
и без неё много всего лишнего тянется в сборочное окружение. Эту
задачу нужно решать более комплексно, я думаю. Уж точно не с dbusxml
файлов начинать стоит.


пт, 15 мар. 2024 г. в 17:21, Sergey V Turchin <zerg@altlinux.org>:
>
> Привет всем!
>
> Предлагаю обсудить https://bugs.altlinux.org/49665 .
> https://dbus.freedesktop.org/doc/dbus-api-design.html#code-generation
> https://dbus.freedesktop.org/doc/dbus-api-design.html#apis
> https://dbus.freedesktop.org/doc/dbus-specification.html#introspection-format
>
> --
> Regards, Sergey.
> _______________________________________________
> Devel mailing list
> Devel@lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel



-- 
Sin (Sinelnikov Evgeny)

  reply	other threads:[~2024-03-15 16:08 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-15 13:21 Sergey V Turchin
2024-03-15 16:08 ` Evgeny Sinelnikov [this message]
2024-03-16  7:40   ` Anton Farygin
2024-03-18  7:46   ` Sergey V Turchin
2024-03-18 10:46   ` Sergey V Turchin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAK42-GrxGLkO9FCNYybmPzJoBFXDso4-ek1mLBAbPA90cdHM=g@mail.gmail.com' \
    --to=sin@altlinux.org \
    --cc=devel@lists.altlinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git