Fix RPM packager with alternative desktop file name.
diff --git a/nbpackage/src/main/java/org/apache/netbeans/nbpackage/rpm/RpmTask.java b/nbpackage/src/main/java/org/apache/netbeans/nbpackage/rpm/RpmTask.java
index 29df294..bdfbb5f 100644
--- a/nbpackage/src/main/java/org/apache/netbeans/nbpackage/rpm/RpmTask.java
+++ b/nbpackage/src/main/java/org/apache/netbeans/nbpackage/rpm/RpmTask.java
@@ -81,7 +81,7 @@
         Path share = baseDir.resolve("share");
         Files.createDirectories(share);
         setupIcons(share, pkgName);
-        setupDesktopFile(share, "/" + base + "/bin/" + execName, pkgName);
+        Path desktopFile = setupDesktopFile(share, "/" + base + "/bin/" + execName, pkgName);
 
         Path buildRootDir = image.resolve("BUILDROOT");
         Files.createDirectories(buildRootDir);
@@ -96,7 +96,7 @@
 
         Path specsDir = image.resolve("SPECS");
         Files.createDirectories(specsDir);
-        setupSpecFile(specsDir, execName);
+        setupSpecFile(specsDir, execName, desktopFile.getFileName().toString());
 
         return image;
     }
@@ -243,7 +243,7 @@
         }
     }
 
-    private void setupDesktopFile(Path share, String exec, String pkgName) throws IOException {
+    private Path setupDesktopFile(Path share, String exec, String pkgName) throws IOException {
         String template = RpmPackager.DESKTOP_TEMPLATE.load(context());
         Map<String, String> tokens = Map.of("EXEC", exec, "ICON", pkgName);
         String desktop = StringUtils.replaceTokens(template,
@@ -262,9 +262,10 @@
                 .orElse(pkgName);
         Path desktopFile = desktopDir.resolve(desktopFileName + ".desktop");
         Files.writeString(desktopFile, desktop, StandardOpenOption.CREATE_NEW);
+        return desktopFile;
     }
 
-    private void setupSpecFile(Path specsDir, String execName) throws Exception {
+    private void setupSpecFile(Path specsDir, String execName, String desktopName) throws Exception {
         String template = RpmPackager.SPEC_TEMPLATE.load(context());
         String spec = StringUtils.replaceTokens(template, Map.ofEntries(
                 Map.entry("RPM_PACKAGE", packageName()),
@@ -293,7 +294,8 @@
                         .orElse("")),
                 Map.entry("RPM_DESCRIPTION", context().getValue(NBPackage.PACKAGE_DESCRIPTION)
                         .orElse("")),
-                Map.entry("RPM_EXECNAME", execName)
+                Map.entry("RPM_EXEC_NAME", execName),
+                Map.entry("RPM_DESKTOP_NAME", desktopName)
         ));
 
         Path specFile = specsDir.resolve(packageName + ".spec");
diff --git a/nbpackage/src/main/resources/org/apache/netbeans/nbpackage/rpm/rpm.spec.template b/nbpackage/src/main/resources/org/apache/netbeans/nbpackage/rpm/rpm.spec.template
index 388d1b1..f648d5a 100644
--- a/nbpackage/src/main/resources/org/apache/netbeans/nbpackage/rpm/rpm.spec.template
+++ b/nbpackage/src/main/resources/org/apache/netbeans/nbpackage/rpm/rpm.spec.template
@@ -20,8 +20,8 @@
 ${RPM_DESCRIPTION}
 
 %files
-%{_bindir}/${RPM_EXECNAME}
+%{_bindir}/${RPM_EXEC_NAME}
 %{_libdir}/%{name}/*
-%{_datadir}/applications/%{name}.desktop
+%{_datadir}/applications/${RPM_DESKTOP_NAME}
 %{_datadir}/icons/hicolor/48x48/apps/%{name}.png
 %{_datadir}/icons/hicolor/scalable/apps/%{name}.svg