1. Linux dynamic load libva, which can fix lack of libva dependency for appimage or flatpak, also fix libva version mismatch between build and run. 2. Remove libvdpau, it's not used, and add libva2 explicitly for deb and appimage 3. Print FFmpeg configure log to know the actual codecs. Test * ubuntu 22.04 x64 - [x] deb - [x] flatpak - [x] appimage * ubuntu 18.04 * deb: fcntl64 not found - [x]:appimage - [ ]: platpak hwcodec example: - [x]: combination of lacking any of libva2, libva-x11-2, libva-drm2, intel-media-va-driver - [ ] federa - [ ] arch - [ ] arm64: my ci can't finish arm64 building Signed-off-by: 21pages <sunboeasy@gmail.com>
93 lines
2.5 KiB
RPMSpec
93 lines
2.5 KiB
RPMSpec
Name: rustdesk
|
|
Version: 1.1.9
|
|
Release: 0
|
|
Summary: RPM package
|
|
License: GPL-3.0
|
|
Requires: gtk3 libxcb1 xdotool libXfixes3 alsa-utils libXtst6 libva2 pam gstreamer-plugins-base gstreamer-plugin-pipewire
|
|
Recommends: libayatana-appindicator3-1
|
|
|
|
%description
|
|
The best open-source remote desktop client software, written in Rust.
|
|
|
|
%prep
|
|
# we have no source, so nothing here
|
|
|
|
%build
|
|
# we have no source, so nothing here
|
|
|
|
%global __python %{__python3}
|
|
|
|
%install
|
|
mkdir -p %{buildroot}/usr/bin/
|
|
mkdir -p %{buildroot}/usr/lib/rustdesk/
|
|
mkdir -p %{buildroot}/usr/share/rustdesk/files/
|
|
mkdir -p %{buildroot}/usr/share/icons/hicolor/256x256/apps/
|
|
mkdir -p %{buildroot}/usr/share/icons/hicolor/scalable/apps/
|
|
install -m 755 $HBB/target/release/rustdesk %{buildroot}/usr/bin/rustdesk
|
|
install $HBB/libsciter-gtk.so %{buildroot}/usr/lib/rustdesk/libsciter-gtk.so
|
|
install $HBB/res/rustdesk.service %{buildroot}/usr/share/rustdesk/files/
|
|
install $HBB/res/128x128@2x.png %{buildroot}/usr/share/icons/hicolor/256x256/apps/rustdesk.png
|
|
install $HBB/res/scalable.svg %{buildroot}/usr/share/icons/hicolor/scalable/apps/rustdesk.svg
|
|
install $HBB/res/rustdesk.desktop %{buildroot}/usr/share/rustdesk/files/
|
|
install $HBB/res/rustdesk-link.desktop %{buildroot}/usr/share/rustdesk/files/
|
|
|
|
%files
|
|
/usr/bin/rustdesk
|
|
/usr/lib/rustdesk/libsciter-gtk.so
|
|
/usr/share/rustdesk/files/rustdesk.service
|
|
/usr/share/icons/hicolor/256x256/apps/rustdesk.png
|
|
/usr/share/icons/hicolor/scalable/apps/rustdesk.svg
|
|
/usr/share/rustdesk/files/rustdesk.desktop
|
|
/usr/share/rustdesk/files/rustdesk-link.desktop
|
|
|
|
%changelog
|
|
# let's skip this for now
|
|
|
|
# https://www.cnblogs.com/xingmuxin/p/8990255.html
|
|
%pre
|
|
# can do something for centos7
|
|
case "$1" in
|
|
1)
|
|
# for install
|
|
;;
|
|
2)
|
|
# for upgrade
|
|
systemctl stop rustdesk || true
|
|
;;
|
|
esac
|
|
|
|
%post
|
|
cp /usr/share/rustdesk/files/rustdesk.service /etc/systemd/system/rustdesk.service
|
|
cp /usr/share/rustdesk/files/rustdesk.desktop /usr/share/applications/
|
|
cp /usr/share/rustdesk/files/rustdesk-link.desktop /usr/share/applications/
|
|
systemctl daemon-reload
|
|
systemctl enable rustdesk
|
|
systemctl start rustdesk
|
|
update-desktop-database
|
|
|
|
%preun
|
|
case "$1" in
|
|
0)
|
|
# for uninstall
|
|
systemctl stop rustdesk || true
|
|
systemctl disable rustdesk || true
|
|
rm /etc/systemd/system/rustdesk.service || true
|
|
;;
|
|
1)
|
|
# for upgrade
|
|
;;
|
|
esac
|
|
|
|
%postun
|
|
case "$1" in
|
|
0)
|
|
# for uninstall
|
|
rm /usr/share/applications/rustdesk.desktop || true
|
|
rm /usr/share/applications/rustdesk-link.desktop || true
|
|
update-desktop-database
|
|
;;
|
|
1)
|
|
# for upgrade
|
|
;;
|
|
esac
|