diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt
index 24c8c701d9..09c22b25b7 100644
--- a/resources/CMakeLists.txt
+++ b/resources/CMakeLists.txt
@@ -5,9 +5,18 @@ if( APPLE )
#TODO Generate this at runtime as well
include( ${KICAD_CMAKE_MODULE_PATH}/WritePlatformMetadata_macos.cmake )
elseif( UNIX )
+ # Note: We use two different app IDs here for legacy reasons. The org.kicad.KiCad
+ # ID is from FlatHub Flatpaks, while the org.kicad.kicad ID is used everywhere else.
+ # Having these two be separate causes problems in Gnome Software because they wll
+ # each appear as their own app, so KiCad gets two entries.
+ #
+ # To work around this, we include a provides statement in the metainfo for the other
+ # app ID to link the two IDs together.
+
# Default values for regular builds
set( KICAD_REVERSE_DOMAIN "org.kicad" )
set( KICAD_APP_NAME "${KICAD_REVERSE_DOMAIN}.kicad" )
+ set( KICAD_PROVIDES_APP_ID "${KICAD_REVERSE_DOMAIN}.KiCad" )
set( KICAD_APP_PREFIX "${KICAD_REVERSE_DOMAIN}" )
set( KICAD_ICON_PREFIX "" )
set( KICAD_DESKTOP_FILE_ICON_PREFIX "" )
@@ -18,8 +27,10 @@ elseif( UNIX )
# Override default values from above if we are building a flatpak
if( KICAD_BUILD_FLATPAK )
set( KICAD_APP_NAME "${KICAD_REVERSE_DOMAIN}.KiCad" )
+ set( KICAD_PROVIDES_APP_ID "${KICAD_REVERSE_DOMAIN}.kicad" )
if( KICAD_BUILD_NIGHTLY_FLATPAK )
set( KICAD_APP_NAME "${KICAD_APP_NAME}.Nightly" )
+ set( KICAD_PROVIDES_APP_ID "${KICAD_PROVIDES_APP_ID}.Nightly" )
endif()
set( KICAD_APP_PREFIX "${KICAD_APP_NAME}" )
set( KICAD_ICON_PREFIX "${KICAD_APP_NAME}" )
@@ -37,6 +48,7 @@ elseif( UNIX )
-DBUILD_PATH=${PROJECT_BINARY_DIR}
-DKICAD_CMAKE_MODULE_PATH=${PROJECT_SOURCE_DIR}/cmake
-DKICAD_APP_NAME=${KICAD_APP_NAME}
+ -DKICAD_PROVIDES_APP_ID=${KICAD_PROVIDES_APP_ID}
-P ${KICAD_CMAKE_MODULE_PATH}/BuildSteps/WritePlatformMetadata_linux.cmake
DEPENDS ${KICAD_CMAKE_MODULE_PATH}/BuildSteps/WritePlatformMetadata_linux.cmake
COMMENT "Configuring Linux metainfo"
diff --git a/resources/linux/metainfo/org.kicad.kicad.metainfo.xml.in b/resources/linux/metainfo/org.kicad.kicad.metainfo.xml.in
index 63428403e3..e648a6e92d 100644
--- a/resources/linux/metainfo/org.kicad.kicad.metainfo.xml.in
+++ b/resources/linux/metainfo/org.kicad.kicad.metainfo.xml.in
@@ -14,6 +14,7 @@
An EDA suite for schematic and circuit board design
+ @KICAD_PROVIDES_APP_ID@
kicad
eeschema
pcbnew