Closed Bug 1894912 Opened 1 year ago Closed 1 year ago

Implement org.freedesktop.Application DBus interface

Categories

(Core :: Widget: Gtk, enhancement, P3)

enhancement

Tracking

()

RESOLVED FIXED
128 Branch
Tracking Status
firefox128 --- fixed

People

(Reporter: stransky, Assigned: stransky)

References

Details

Attachments

(5 files)

We need to implement org.freedesktop.Application DBus interface in order to get Gnome shell search service working.

Assignee: nobody → stransky
Status: NEW → ASSIGNED
Pushed by stransky@redhat.com: https://hg.mozilla.org/integration/autoland/rev/a09e38403e33 [Linux] Implement DBusService to provide org.freedesktop.Application r=emilio https://hg.mozilla.org/integration/autoland/rev/d008ea136363 [Linux] Launch DBusService on --dbus-service param r=emilio

Backed out for causing bpnu bustages on linux related to DBusService.cpp.

[task 2024-05-13T07:56:06.247Z] 07:56:06     INFO -  xpcom/components/nsCategoryCache.o
[task 2024-05-13T07:56:06.248Z] 07:56:06     INFO -  gmake[4]: Leaving directory '/builds/worker/workspace/obj-build/xpcom/components'
[task 2024-05-13T07:56:06.307Z] 07:56:06     INFO -  gmake[4]: Entering directory '/builds/worker/workspace/obj-build/widget/gtk'
[task 2024-05-13T07:56:06.313Z] 07:56:06     INFO -  /builds/worker/fetches/sccache/sccache /builds/worker/fetches/clang/bin/clang++ --sysroot /builds/worker/fetches/sysroot-x86_64-linux-gnu -o DBusService.o -c  -I/builds/worker/workspace/obj-build/dist/stl_wrappers -I/builds/worker/workspace/obj-build/dist/system_wrappers -include /builds/worker/checkouts/gecko/config/gcc_hidden.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fstack-clash-protection -DNDEBUG=1 -DTRIMMED=1 -DCAIRO_GFX '-DMOZ_APP_NAME="firefox"' -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DSTATIC_EXPORTABLE_JS_API -I/builds/worker/checkouts/gecko/widget/gtk -I/builds/worker/workspace/obj-build/widget/gtk -I/builds/worker/workspace/obj-build/ipc/ipdl/_ipdlheaders -I/builds/worker/checkouts/gecko/ipc/chromium/src -I/builds/worker/checkouts/gecko/layout/base -I/builds/worker/checkouts/gecko/layout/forms -I/builds/worker/checkouts/gecko/layout/generic -I/builds/worker/checkouts/gecko/layout/xul -I/builds/worker/checkouts/gecko/other-licenses/atk-1.0 -I/builds/worker/checkouts/gecko/third_party/cups/include -I/builds/worker/checkouts/gecko/widget -I/builds/worker/checkouts/gecko/widget/headless -I/builds/worker/checkouts/gecko/widget/x11 -I/builds/worker/workspace/obj-build/dist/include -I/builds/worker/workspace/obj-build/dist/include/nspr -I/builds/worker/workspace/obj-build/dist/include/nss -DMOZILLA_CLIENT -include /builds/worker/workspace/obj-build/mozilla-config.h -D_GLIBCXX_USE_CXX11_ABI=0 -fno-sized-deallocation -fno-aligned-new -fcrash-diagnostics-dir=/builds/worker/artifacts -fno-exceptions -fPIC -fno-rtti -ffunction-sections -fdata-sections -fno-exceptions -fno-math-errno -pthread -gdwarf-4 -Xclang -load -Xclang /builds/worker/workspace/obj-build/build/clang-plugin/libclang-plugin.so -Xclang -add-plugin -Xclang moz-check -O2 -fno-omit-frame-pointer -funwind-tables -Werror -Wall -Wbitfield-enum-conversion -Wempty-body -Wformat-type-confusion -Wignored-qualifiers -Wpointer-arith -Wshadow-field-in-constructor-modified -Wsign-compare -Wtautological-constant-in-range-compare -Wtype-limits -Wno-error=tautological-type-limit-compare -Wunreachable-code -Wunreachable-code-return -Wunused-but-set-parameter -Wno-invalid-offsetof -Wclass-varargs -Wempty-init-stmt -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wloop-analysis -Wno-range-loop-analysis -Wenum-compare-conditional -Wenum-float-conversion -Wno-deprecated-anon-enum-enum-conversion -Wno-deprecated-enum-enum-conversion -Wno-deprecated-this-capture -Wcomma -Wimplicit-fallthrough -Wstring-conversion -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=free-nonheap-object -Wno-error=atomic-alignment -Wno-error=deprecated-builtins -Wformat -Wformat-security -Wno-psabi -Wthread-safety -Wno-error=builtin-macro-redefined -Wno-unknown-warning-option -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/gtk-3.0 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/pango-1.0 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/glib-2.0 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/cairo -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/pixman-1 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/freetype2 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/libpng12 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/gdk-pixbuf-2.0 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/gio-unix-2.0/ -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/harfbuzz -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/atk-1.0 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/at-spi2-atk/2.0 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/at-spi-2.0 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/dbus-1.0 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/gtk-3.0/unix-print -pthread -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/gtk-3.0 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/pango-1.0 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/glib-2.0 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/cairo -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/pixman-1 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/freetype2 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/libpng12 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/gdk-pixbuf-2.0 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/gio-unix-2.0/ -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/harfbuzz -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/atk-1.0 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/at-spi2-atk/2.0 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/at-spi-2.0 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/dbus-1.0 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/x86_64-linux-gnu/dbus-1.0/include -pthread -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/include/dbus-1.0 -I/builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/x86_64-linux-gnu/dbus-1.0/include -Werror=switch -fno-strict-aliasing -ffp-contract=off  -MD -MP -MF .deps/DBusService.o.pp   /builds/worker/checkouts/gecko/widget/gtk/DBusService.cpp
[task 2024-05-13T07:56:06.313Z] 07:56:06    ERROR -  /builds/worker/checkouts/gecko/widget/gtk/DBusService.cpp:45:25: error: use of undeclared identifier 'nsPrintfCString'
[task 2024-05-13T07:56:06.314Z] 07:56:06     INFO -     45 |     return ToNewCString(nsPrintfCString(DBUS_BUS_NAME_TEMPLATE,
[task 2024-05-13T07:56:06.315Z] 07:56:06     INFO -        |                         ^
[task 2024-05-13T07:56:06.315Z] 07:56:06    ERROR -  /builds/worker/checkouts/gecko/widget/gtk/DBusService.cpp:55:25: error: use of undeclared identifier 'nsPrintfCString'
[task 2024-05-13T07:56:06.315Z] 07:56:06     INFO -     55 |     return ToNewCString(nsPrintfCString(DBUS_OBJECT_PATH_TEMPLATE,
[task 2024-05-13T07:56:06.315Z] 07:56:06     INFO -        |                         ^
[task 2024-05-13T07:56:06.315Z] 07:56:06     INFO -  2 errors generated.
[task 2024-05-13T07:56:06.315Z] 07:56:06    ERROR -  gmake[4]: *** [/builds/worker/checkouts/gecko/config/rules.mk:688: DBusService.o] Error 1
[task 2024-05-13T07:56:06.316Z] 07:56:06     INFO -  gmake[4]: Leaving directory '/builds/worker/workspace/obj-build/widget/gtk'
[task 2024-05-13T07:56:06.316Z] 07:56:06     INFO -  gmake[4]: Entering directory '/builds/worker/workspace/obj-build/widget/gtk'
[task 2024-05-13T07:56:06.316Z] 07:56:06     INFO -  widget/gtk/InProcessGtkCompositorWidget.o
Flags: needinfo?(stransky)

We need to run application launcher as shell command as distros may use shell script as firefox launcher (like /usr/bin/firefox)
where various config is set. It's not useful to run firefox binary directly as it may missing correct icons, distro specific plugins paths and so on.

Depends on D209911

Recently we use remoting app name as DBus name. That's not optimal as remoting name can be org.mozilla.Firefox for instance to match URI desktop schemes,
matches DBus service names and so on.

In this patch we use lower case of app name which we expect to get.

Depends on D210159

Flags: needinfo?(stransky)
Pushed by stransky@redhat.com: https://hg.mozilla.org/integration/autoland/rev/0233d7c72180 [Linux] Implement DBusService to provide org.freedesktop.Application r=emilio https://hg.mozilla.org/integration/autoland/rev/17813c727ad4 [Linux] Launch DBusService on --dbus-service param r=emilio https://hg.mozilla.org/integration/autoland/rev/867f3eb99b52 [Linux] Run launcher of DBus service as shell command r=emilio https://hg.mozilla.org/integration/autoland/rev/664761dad9ec [Linux] Add launcher param to DBus service r=emilio https://hg.mozilla.org/integration/autoland/rev/936287e7cba7 [Linux] Use lower case of app name as DBus app name r=emilio
Blocks: 1943650
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: