rpm-flutter.spec 2.8 KB

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