rpm-flutter.spec 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. Name: rustdesk
  2. Version: 1.3.2
  3. Release: 0
  4. Summary: RPM package
  5. License: GPL-3.0
  6. Requires: gtk3 libxcb libxdo libXfixes alsa-lib libvdpau libva pam gstreamer1-plugins-base
  7. Recommends: libayatana-appindicator-gtk3
  8. Provides: libdesktop_drop_plugin.so()(64bit), libdesktop_multi_window_plugin.so()(64bit), libfile_selector_linux_plugin.so()(64bit), libflutter_custom_cursor_plugin.so()(64bit), libflutter_linux_gtk.so()(64bit), libscreen_retriever_plugin.so()(64bit), libtray_manager_plugin.so()(64bit), liburl_launcher_linux_plugin.so()(64bit), libwindow_manager_plugin.so()(64bit), libwindow_size_plugin.so()(64bit), libtexture_rgba_renderer_plugin.so()(64bit)
  9. %description
  10. The best open-source remote desktop client software, written in Rust.
  11. %prep
  12. # we have no source, so nothing here
  13. %build
  14. # we have no source, so nothing here
  15. # %global __python %{__python3}
  16. %install
  17. mkdir -p "%{buildroot}/usr/lib/rustdesk" && cp -r ${HBB}/flutter/build/linux/x64/release/bundle/* -t "%{buildroot}/usr/lib/rustdesk"
  18. mkdir -p "%{buildroot}/usr/bin"
  19. install -Dm 644 $HBB/res/rustdesk.service -t "%{buildroot}/usr/share/rustdesk/files"
  20. install -Dm 644 $HBB/res/rustdesk.desktop -t "%{buildroot}/usr/share/rustdesk/files"
  21. install -Dm 644 $HBB/res/rustdesk-link.desktop -t "%{buildroot}/usr/share/rustdesk/files"
  22. install -Dm 644 $HBB/res/128x128@2x.png "%{buildroot}/usr/share/icons/hicolor/256x256/apps/rustdesk.png"
  23. install -Dm 644 $HBB/res/scalable.svg "%{buildroot}/usr/share/icons/hicolor/scalable/apps/rustdesk.svg"
  24. %files
  25. /usr/lib/rustdesk/*
  26. /usr/share/rustdesk/files/rustdesk.service
  27. /usr/share/icons/hicolor/256x256/apps/rustdesk.png
  28. /usr/share/icons/hicolor/scalable/apps/rustdesk.svg
  29. /usr/share/rustdesk/files/rustdesk.desktop
  30. /usr/share/rustdesk/files/rustdesk-link.desktop
  31. %changelog
  32. # let's skip this for now
  33. # https://www.cnblogs.com/xingmuxin/p/8990255.html
  34. %pre
  35. # can do something for centos7
  36. case "$1" in
  37. 1)
  38. # for install
  39. ;;
  40. 2)
  41. # for upgrade
  42. systemctl stop rustdesk || true
  43. ;;
  44. esac
  45. %post
  46. cp /usr/share/rustdesk/files/rustdesk.service /etc/systemd/system/rustdesk.service
  47. cp /usr/share/rustdesk/files/rustdesk.desktop /usr/share/applications/
  48. cp /usr/share/rustdesk/files/rustdesk-link.desktop /usr/share/applications/
  49. ln -s /usr/lib/rustdesk/rustdesk /usr/bin/rustdesk
  50. systemctl daemon-reload
  51. systemctl enable rustdesk
  52. systemctl start rustdesk
  53. update-desktop-database
  54. %preun
  55. case "$1" in
  56. 0)
  57. # for uninstall
  58. systemctl stop rustdesk || true
  59. systemctl disable rustdesk || true
  60. rm /etc/systemd/system/rustdesk.service || true
  61. ;;
  62. 1)
  63. # for upgrade
  64. ;;
  65. esac
  66. %postun
  67. case "$1" in
  68. 0)
  69. # for uninstall
  70. rm /usr/share/applications/rustdesk.desktop || true
  71. rm /usr/share/applications/rustdesk-link.desktop || true
  72. rm /usr/bin/rustdesk || true
  73. update-desktop-database
  74. ;;
  75. 1)
  76. # for upgrade
  77. ;;
  78. esac