From 77c02746d946338dae8531369c7a76eb3d7445e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tukusej=E2=80=99s=20Sirs?= Date: Mon, 19 Jul 2021 13:15:24 +0000 Subject: docs: update compilation-guide --- compilation-guide.html | 80 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 79 insertions(+), 1 deletion(-) diff --git a/compilation-guide.html b/compilation-guide.html index 1e2363c..f6f1348 100644 --- a/compilation-guide.html +++ b/compilation-guide.html @@ -2,7 +2,7 @@ title: Compilation guide description: A guide to compile Remmina from source on different operating systems published: true -date: 2021-07-19T12:12:57.783Z +date: 2021-07-19T13:15:17.849Z tags: editor: code dateCreated: 2021-07-18T10:35:58.314Z @@ -145,6 +145,84 @@ dateCreated: 2021-07-18T10:35:58.314Z

TODO: We might want to divide the dependencies by features (like RDP, SSH, VNC, etc).

+

Tab

+ +

apt

+
+			
+		
+ +

dnf/yum

+ +

We use yum for all commands as it’s still an alias on those distros which migrated to dnf.

+ +

We should create separate commands for Fedora, CentOS / Red Hat 7 and CentOS / Red Hat 8.

+ +

Add repositories

+ +
+			## Get some info of the currently installed distribution
+			## Note: This is used to determine what repositories need to be be installed
+			## and to create the relevant URLs
+			distro_name="$(grep -Po '^ID="*\K[^"]*' /etc/os-release)"
+			distro_version="$(rpm -E %$distro_name)"
+			
+			if [ "$distro_name" = 'fedora' ]; then
+			  distro_name_short='fedora'
+			else
+			  distro_name_short='el'
+			  epel_repo='epel-release'
+			fi
+			
+			## epel (on CentOS only): required for `openjpeg2-devel`, `openssl-devel`
+			## rpmfusion-free-updates (on both CentOS and Fedora): required for `ffmpeg-devel`
+			## PowerTools (on CentOS 8+ only)
+			## okay (on CentOS 8+); required for `avahi-ui-devel`
+			sudo yum -y install $epel_repo \
+			  https://download1.rpmfusion.org/free/${distro_name_short}/rpmfusion-free-release-${distro_version}.noarch.rpm
+			
+			if [ "$distro_name" = 'centos' ] && [ "$distro_version" = 8 ]; then
+			  sudo dnf config-manager --enable PowerTools
+			  sudo rpm -ivh http://repo.okay.com.mx/${distro_name}/${distro_version}/x86_64/release/okay-release-1-3.el${distro_version}.noarch.rpm
+			
+			  # Disable okay repo for potential package conflicts
+			  sudo dnf config-manager --disable okay
+			fi
+		
+ +

Update yum cache and packages

+ +
+			sudo yum -y upgrade
+		
+ +

Install dependencies

+ +
+			sudo yum -y install alsa-lib-devel atk-devel avahi-ui-gtk3 cairo-devel cmake3 \
+			  cups-devel docbook-style-xsl ffmpeg-devel gcc gcc-c++ git \
+			  glib2-devel gnutls-devel gstreamer1-devel \
+			  gstreamer1-plugins-base-devel gtk3-devel harfbuzz-devel \
+			  json-glib-devel libappindicator-gtk3 \
+			  libappindicator-gtk3-devel libgcrypt-devel \
+			  libsecret-devel libSM-devel libsodium libsodium-devel \
+			  libsoup-devel libssh-devel libusb-devel \
+			  libvncserver-devel libX11-devel libXcursor-devel \
+			  libXdamage-devel libXext-devel libXi-devel \
+			  libXinerama-devel libxkbfile-devel libXrandr-devel \
+			  libxslt libxslt-devel libXtst-devel libXv-devel make \
+			  ninja-build openjpeg2-devel openssl-devel pango-devel \
+			  pulseaudio-libs-devel vte291 vte291-devel \
+			  webkitgtk4-devel xmlto xorg-x11-server-utils pcre2 pcre2-devel
+		
+ +

pacman

+
+			sudo pacman -S base-devel git avahi gtk3 libssh libvncserver gnome-keyring kwallet \
+			  libgnome-keyring libpulse libsodium vte3 cmake libappindicator-gtk3 \
+			  docbook-utils docbook-xsl pcre pcre2 spice-gtk spice-protocol gtk-vnc
+		
+

Clone Remmina repository

Additional information

-- cgit v1.2.3