Use absolute executable path for dbus service

After the v4.8.7 release, I cannot launch telegram desktop because of the
recent dbus support introduced in
2dfe858327.
And it was fixed after I changed the value of the Exec field to absolute
path to the telegram-desktop executable.

In dbus specification they don't mention that they will find
executable from PATH variable, so this is a UB.
After this commit, cmake will use the full install path to generate the correct service file
and fix the above issue.

Signed-off-by: Avimitin <dev@avimit.in>
This commit is contained in:
Avimitin 2023-07-24 16:53:09 +08:00 committed by John Preston
parent fb4e05405e
commit 88a165d676
2 changed files with 3 additions and 2 deletions

View File

@ -1758,6 +1758,7 @@ endif()
if (LINUX AND DESKTOP_APP_USE_PACKAGED)
include(GNUInstallDirs)
configure_file("../lib/xdg/org.telegram.desktop.service" "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.service" @ONLY)
configure_file("../lib/xdg/org.telegram.desktop.metainfo.xml" "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.metainfo.xml" @ONLY)
generate_appdata_changelog(Telegram "${CMAKE_SOURCE_DIR}/changelog.txt" "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.metainfo.xml")
install(TARGETS Telegram RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" BUNDLE DESTINATION "${CMAKE_INSTALL_BINDIR}")
@ -1769,6 +1770,6 @@ if (LINUX AND DESKTOP_APP_USE_PACKAGED)
install(FILES "Resources/art/icon256.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/256x256/apps" RENAME "telegram.png")
install(FILES "Resources/art/icon512.png" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/512x512/apps" RENAME "telegram.png")
install(FILES "../lib/xdg/org.telegram.desktop.desktop" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/applications")
install(FILES "../lib/xdg/org.telegram.desktop.service" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/dbus-1/services")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.service" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/dbus-1/services")
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/org.telegram.desktop.metainfo.xml" DESTINATION "${CMAKE_INSTALL_DATAROOTDIR}/metainfo")
endif()

View File

@ -1,3 +1,3 @@
[D-BUS Service]
Name=org.telegram.desktop
Exec=telegram-desktop
Exec=@CMAKE_INSTALL_FULL_BINDIR@/telegram-desktop