Empaquetado Centos 7 RPM: cree un acceso directo en el escritorio durante la instalación

Empaquetado Centos 7 RPM: cree un acceso directo en el escritorio durante la instalación

Estoy desarrollando una interfaz de usuario multiplataforma con .Net Core y la estoy empaquetando usando RPM Package Manager. He creado el archivo RPM para instalarlo localmente. La sección %install de mi archivo de especificaciones se ve así

%install
mkdir -p %{buildroot}/%{_bindir}
mkdir -p %{buildroot}/%{_bindir}/%{name}
mkdir -p %{buildroot}/%{_datadir}/applications
install -m 0755 %{name} %{buildroot}/%{_bindir}/%{name}
install -m 0755 *.dll %{buildroot}/%{_bindir}/%{name}
install -m 0755 *.json %{buildroot}/%{_bindir}/%{name}
install -m 0755 *.so %{buildroot}/%{_bindir}/%{name}
install -m 0755 %{name}.png %{buildroot}/%{_bindir}/%{name}

cat > %{buildroot}/%{_datadir}/applications/%{name}.desktop <<'EOF'
[Desktop Entry]
Name=Hello_World
Exec=%{_bindir}/%{name}/%{name}
Icon=%{_bindir}/%{name}/%{name}.png
Type=Application
Terminal=false
EOF

El proyecto contiene el ejecutable para Linux, archivos de dependencia y un .png para el icono. En el paso de instalación, creé un archivo .desktop y lo coloqué en /usr/share/applications para que el ejecutable aparezca en las aplicaciones cuando se instala el paquete.

Me gustaría saber cómo hacer que la aplicación tenga un acceso directo en el escritorio creado cuando se instala el paquete para que el usuario no tenga que crearlo él mismo. Sé que para hacer esto manualmente después de la instalación, debes acceder a la carpeta /usr/share/applications usando Nautilus y copiar la aplicación al escritorio, pero me gustaría que esto se hiciera automáticamente.

Intenté usar un comando de copia en la sección posterior a la instalación, pero no sé cómo copiarlo en el escritorio de ningún usuario que instale el paquete. ¿Existe algún comando que pueda agregar a mi archivo de especificaciones o al archivo .desktop creado para lograr esto?

Respuesta1

Recomendaría crear un enlace después de la instalación exitosa en lugar de durante, crear un enlace en la %postsección para la compilación de rpm.

https://docs.fedoraproject.org/ro/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch09s04s05.html

Algo enlace abajo

ln [OPTION]... [-T] TARGET LINK_NAME

información relacionada