Compare commits

...

22 Commits

Author SHA1 Message Date
madomado a42d1b8892 Merge branch 'f38' into p/rustdesk 2024-03-25 22:21:47 +08:00
madomado eb206aede2 Update rustdesk.spec
Signed-off-by: madomado <madonuko@outlook.com>
2023-12-04 19:45:44 +08:00
madomado 1dbe7b2f08 Update rustdesk.spec
Signed-off-by: madomado <madonuko@outlook.com>
2023-12-03 23:13:50 +08:00
madomado 16db6e4603 Update rustdesk.spec
Signed-off-by: madomado <madonuko@outlook.com>
2023-12-03 23:09:23 +08:00
madomado c9759df23b Update rustdesk.spec
Signed-off-by: madomado <madonuko@outlook.com>
2023-12-03 20:50:21 +08:00
madomado 247d2cf88c Update rustdesk.spec
Signed-off-by: madomado <madonuko@outlook.com>
2023-10-30 22:12:14 +08:00
Cappy Ishihara 09d9f61ae9 Update rustdesk.spec
Signed-off-by: Cappy Ishihara <cappy@cappuchino.xyz>
2023-10-30 21:10:53 +07:00
madomado 283914c2a3 Update rustdesk.spec
Signed-off-by: madomado <madonuko@outlook.com>
2023-10-30 20:40:55 +08:00
madomado c1508b7e34 add files
Signed-off-by: madomado <madonuko@outlook.com>
2023-10-30 00:07:10 +08:00
madomado 240daf4bb7 add patches for rustdesk 2023-10-29 22:31:40 +08:00
Cappy Ishihara 75f598918d create dirs before install 2023-10-23 21:24:05 +07:00
Cappy Ishihara 9c83a0b3c9 fix funny copies 2023-10-23 20:27:59 +07:00
Cappy Ishihara b7f0f01b25 there is no pycache in ba sing se 2023-10-23 20:26:19 +07:00
Cappy Ishihara 841a7dec99 funny 2023-10-23 17:05:10 +07:00
Cappy Ishihara d8da0ba726 build all features 2023-10-23 16:55:58 +07:00
Cappy Ishihara f4301a93e6 maybe not all features, also pam 2023-10-23 16:40:07 +07:00
Cappy Ishihara 9b460cb0ec set features 2023-10-23 16:06:25 +07:00
Cappy Ishihara b0429a6fcc wtf 2023-10-23 15:47:08 +07:00
Cappy Ishihara 189563adbf add gstreamer-app 2023-10-23 15:36:23 +07:00
Cappy Ishihara f3760d0ecc add rustdesk package 2023-10-23 15:20:40 +07:00
Cappy Ishihara a6d81ba1ed add build deps 2023-10-01 22:48:50 +07:00
Cappy Ishihara 0b20f0bf6d add rustdesk-selinux 2023-10-01 22:38:55 +07:00
9 changed files with 310 additions and 0 deletions
+5
View File
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "rustdesk-selinux.spec"
}
}
@@ -0,0 +1,69 @@
# vim: sw=4:ts=4:et
# Rustdesk will be added later, but for now this supplements the
# external rustdesk package
%define relabel_files() \
restorecon -R /usr/lib/rustdesk/rustdesk; \
%define selinux_policyver 38.28-1
Name: rustdesk-selinux
Version: 1.0
Release: 1%{?dist}
Summary: SELinux policy module for rustdesk
Group: System Environment/Base
License: GPLv2+
URL: http://rustdesk.com
Source0: rustdesk.te
Requires: policycoreutils, libselinux-utils
BuildRequires: policycoreutils, libselinux-utils, checkpolicy
Supplements: rustdesk
Enhances: rustdesk
Requires(post): selinux-policy-base >= %{selinux_policyver}, policycoreutils
Requires(postun): policycoreutils
BuildArch: noarch
%description
This package installs and sets up the SELinux policy security module for rustdesk.
%build
checkmodule -M -m -o rustdesk.mod %{SOURCE0}
semodule_package -o rustdesk.pp -m rustdesk.mod
%install
install -d %{buildroot}%{_datadir}/selinux/packages
install -m 644 rustdesk.pp %{buildroot}%{_datadir}/selinux/packages
%post
semodule -n -i %{_datadir}/selinux/packages/rustdesk.pp
if /usr/sbin/selinuxenabled ; then
/usr/sbin/load_policy
%relabel_files
fi;
exit 0
%postun
if [ $1 -eq 0 ]; then
semodule -n -r rustdesk
if /usr/sbin/selinuxenabled ; then
/usr/sbin/load_policy
%relabel_files
fi;
fi;
exit 0
%files
%attr(0600,root,root) %{_datadir}/selinux/packages/rustdesk.pp
%changelog
* Sun Oct 1 2023 Cappy Ishihara <cappy@fyralabs.com> 1.0-1
- Initial version
+44
View File
@@ -0,0 +1,44 @@
module rustdesk 1.0;
require {
type xdm_t;
type sudo_exec_t;
type cache_home_t;
type chronyc_t;
type xserver_misc_device_t;
type xserver_t;
type chronyd_restricted_t;
type device_t;
type unreserved_port_t;
type xserver_port_t;
type event_device_t;
type init_t;
type speech_dispatcher_t;
class capability dac_override;
class dir create;
class unix_dgram_socket sendto;
class unix_stream_socket connectto;
class tcp_socket name_connect;
class chr_file { getattr open read write };
class file execute;
}
#============= chronyc_t ==============
allow chronyc_t chronyd_restricted_t:unix_dgram_socket sendto;
#============= init_t ==============
allow init_t event_device_t:chr_file open;
allow init_t sudo_exec_t:file execute;
#!!!! This avc can be allowed using the boolean 'nis_enabled'
allow init_t unreserved_port_t:tcp_socket name_connect;
allow init_t xserver_misc_device_t:chr_file { read write };
allow init_t xserver_port_t:tcp_socket name_connect;
allow init_t xserver_t:unix_stream_socket connectto;
#============= speech_dispatcher_t ==============
allow speech_dispatcher_t cache_home_t:dir create;
allow speech_dispatcher_t self:capability dac_override;
#============= xdm_t ==============
allow xdm_t device_t:chr_file getattr;
+5
View File
@@ -0,0 +1,5 @@
project pkg {
rpm {
spec = "rustdesk.spec"
}
}
+13
View File
@@ -0,0 +1,13 @@
diff --git a/Cargo.toml b/Cargo.toml
index be7e2aef..1f0c1eac 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -17,7 +17,7 @@ travis-ci = { repository = "1wilkens/pam" }
[dependencies]
libc = "^0.2"
-pam-sys = "^0.5"
+pam-sys = { version = "1.0.0-alpha4", path = "./pam-sys" }
users = "^0.8"
[dev-dependencies]
+23
View File
@@ -0,0 +1,23 @@
From df8080b8b813f33963e8a169f157bff1607d54f4 Mon Sep 17 00:00:00 2001
From: David Johnson <davidjohnson@rivosinc.com>
Date: Tue, 5 Sep 2023 10:29:20 -0700
Subject: [PATCH] Added __gnuc_va_list to the list of blocked types since this
type exists on at least some Linux platforms, and prevents pam-sys from
compiling without this exclusion.
---
build.rs | 1 +
1 file changed, 1 insertion(+)
diff --git a/build.rs b/build.rs
index 7ac5cf3..cf44cde 100644
--- a/build.rs
+++ b/build.rs
@@ -29,6 +29,7 @@ fn main() {
.blocklist_type("va_list")
.blocklist_type("__va_list")
.blocklist_type("__builtin_va_list")
+ .blocklist_type("__gnuc_va_list")
.blocklist_type("__va_list_tag")
.blocklist_function("pam_v.*")
.blocklist_function("pam_syslog")
+13
View File
@@ -0,0 +1,13 @@
diff --git a/Cargo.toml b/Cargo.toml
index 9e8224fc..8fbbe54c 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -127,7 +127,7 @@ mouce = { git="https://github.com/fufesou/mouce.git" }
evdev = { git="https://github.com/fufesou/evdev" }
dbus = "0.9"
dbus-crossroads = "0.5"
-pam = { git="https://github.com/fufesou/pam", optional = true }
+pam = { path = "./pam", optional = true }
users = { version = "0.11" }
[target.'cfg(target_os = "android")'.dependencies]
+137
View File
@@ -0,0 +1,137 @@
#global pamsys_ver v1.0.0-alpha5
#global pamsys 1.0.0-alpha5
#global pam_ver v0.7.0
#global pam 0.7.0
%ifarch x86_64
%global scarch x64
%else
%ifarch aarch64
%global scarch arm64
%endif
%endif
Name: rustdesk
Version: 1.2.3
Release: 1%{?dist}
Summary: An open-source remote desktop, and alternative to TeamViewer.
Group: System Environment/Base
License: GPLv2+
URL: http://rustdesk.com
Source0: https://github.com/rustdesk/rustdesk/archive/refs/tags/%{version}.tar.gz
Source1: https://github.com/c-smile/sciter-sdk/raw/master/bin.lnx/%{scarch}/libsciter-gtk.so
%dnl Source2: https://github.com/fufesou/pam/archive/refs/tags/%{pam_ver}.tar.gz
%dnl Source3: https://github.com/1wilkens/pam-sys/archive/refs/tags/%{pamsys_ver}.tar.gz
%dnl Patch0: pam-deps.diff
%dnl Patch1: pam-sys-build.patch
%dnl Patch2: rustdesk-deps.diff
BuildRequires: rust-packaging anda-srpm-macros gcc-c++ git curl wget nasm yasm gcc gtk3-devel clang libxcb-devel libxdo-devel libXfixes-devel pulseaudio-libs-devel cmake alsa-lib-devel
BuildRequires: gstreamer1-devel rust-gstreamer-devel pkgconfig(gstreamer-app-1.0)
BuildRequires: libvpx-devel opus-devel libyuv-devel libaom-devel pam-devel clang-devel
Requires: gtk3 libxcb libxdo libXfixes alsa-lib libappindicator libvdpau1 libva2 pam gstreamer1-plugins-base
%description
The best open-source remote desktop client software, written in Rust.
%prep
%setup -q -n rustdesk-%version
%{dnl:
%patch 2 -p1
tar xf %SOURCE2
mv pam-%pam pam
cd pam
git apply %PATCH0
tar xf %SOURCE3
mv pam-sys-%pamsys pam-sys
cd pam-sys
git apply %PATCH1
cd ../..
}
%cargo_prep_online
%build
%cargo_build -a
%global __python %{__python3}
%install
%cargo_install -a
mkdir -p %buildroot/usr/lib/rustdesk/
mkdir -p %buildroot%_datadir/rustdesk/files/
mkdir -p %buildroot%_datadir/icons/hicolor/{256x256,scalable}/apps/
install %SOURCE1 %buildroot/usr/lib/rustdesk/libsciter-gtk.so
install res/rustdesk.service %buildroot%_datadir/rustdesk/files/
install res/128x128@2x.png %buildroot%_datadir/icons/hicolor/256x256/apps/rustdesk.png
install res/scalable.svg %buildroot%_datadir/icons/hicolor/scalable/apps/rustdesk.svg
install res/rustdesk.desktop %buildroot%_datadir/rustdesk/files/
install res/rustdesk-link.desktop %buildroot%_datadir/rustdesk/files/
install -d %buildroot%_datadir/applications/
install res/rustdesk.desktop %buildroot%_datadir/applications/
install res/rustdesk-link.desktop %buildroot%_datadir/applications/
install -d %buildroot%_unitdir
install res/rustdesk.service %buildroot%_unitdir/rustdesk.service
%files
%_bindir/rustdesk
%_bindir/naming
/usr/lib/rustdesk/libsciter-gtk.so
%_datadir/rustdesk/files/rustdesk.service
%_datadir/icons/hicolor/256x256/apps/rustdesk.png
%_datadir/icons/hicolor/scalable/apps/rustdesk.svg
%_datadir/rustdesk/files/rustdesk.desktop
%_datadir/rustdesk/files/rustdesk-link.desktop
%_datadir/applications/rustdesk.desktop
%_datadir/applications/rustdesk-link.desktop
%_unitdir/rustdesk.service
%pre
# can do something for centos7
case "$1" in
1)
# for install
;;
2)
# for upgrade
systemctl stop rustdesk || true
;;
esac
%post
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
;;
1)
# for upgrade
;;
esac
%postun
case "$1" in
0)
# for uninstall
update-desktop-database
;;
1)
# for upgrade
;;
esac
%changelog
%autochangelog
+1
View File
@@ -0,0 +1 @@
rpm.version(gh("rustdesk/rustdesk"));