Как собрать Ubuntuone-клиент так, чтобы он не зависел от nautilus и gnome

По сути, я хочу собрать ubuntuone-client, чтобы он не имел зависимостей, связанных с nautilus и gnome. Можно ли это сделать? если так как?

1 ответ

Демон синхронизации файлов Ubuntu One, ubuntuone-syncdaemon и связанная утилита командной строки u1sdtoolявляются программами на Python и, как таковые, не нуждаются в "сборке" в традиционном смысле ubuntuone-client необходимо создать расширение nautilus, которое вам не нужно, и используемые им значки. Во время выполнения u1sdtool просто разговаривает с syncdaemon через дБ и syncdaemon имеет очень узкие зависимости от некоторых сервисов, предоставляемых рабочим столом Ubuntu, и опять же только через dbus (так что теоретически вы могли бы удовлетворить зависимости с другим сервисом, который предоставлял тот же API).

Вам нужно что-то на сессионной шине org.freedesktop.Secret.Session и связанные интерфейсы. Это используется ubuntu-sso-client, который используется syncdaemon предоставить необходимые полномочия.

Вы, вероятно, также хотите что-то на системной шине, обеспечивающей org.freedesktop.NetworkManager (как правило, сам сетевой менеджер), чтобы дать syncdaemon осведомленность о том, подключены ли вы к сети или нет. Это не важно, однако.

Вам также понадобятся следующие библиотеки Python: configglue, dbus (Очевидно), oauth, pyinotify, simplejson, twisted, xdg, а также ubuntuone.storageprotocol (что, в свою очередь, зависит от некоторых из вышеперечисленных, а также protobuf). При желании вы могли бы иметь pynotify, zeitgeistи некоторые вещи, связанные с Unity, которые, я полагаю, у вас не будет.

Удачи в портировании, и если я что-то забыл или вы застряли, пожалуйста, дайте нам знать!

Другие вопросы по тегам