Last active
July 5, 2018 07:25
-
-
Save koter84/2f81b0768fe2452be1b869da1ccfbc21 to your computer and use it in GitHub Desktop.
update remmina from git
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
##### UNINSTALL ##### | |
if [ -f /etc/ld.so.conf.d/freerdp_devel.conf ] | |
then | |
read -p "uninstall git-version ? [y/N] " do_uninstall | |
if [ "$do_uninstall" == "Y" ] || [ "$do_uninstall" == "y" ] | |
then | |
echo "do-uninstall!" | |
rm -rf /opt/remmina_build/ | |
sudo rm -rf /opt/remmina/ | |
sudo rm /etc/ld.so.conf.d/freerdp_devel.conf /usr/local/bin/remmina /usr/local/bin/xfreerdp | |
sudo ldconfig | |
read -p "continue with new build ? [Y/n] " do_build | |
if [ "$do_build" == "N" ] || [ "$do_build" == "n" ] | |
then | |
exit | |
fi | |
fi | |
fi | |
# create build-dir | |
if [ -d /opt/remmina_build ]; then | |
read -p "clean build-dir ? [y/N] " do_remove | |
if [ "$do_remove" == "Y" ] || [ "$do_remove" == "y" ]; then | |
rm -rf /opt/remmina_build | |
fi | |
fi | |
mkdir -p /opt/remmina_build | |
read -p "test freerdp with connection to jody ? [y/N] " do_test | |
if [ "$do_test" == "Y" ] || [ "$do_test" == "y" ]; | |
then | |
freerdp_test="1" | |
fi | |
# remove current installed packages for remmina and freerdp | |
#sudo rpm -e remmina remmina-devel remmina-plugins-gnome remmina-plugins-nx remmina-plugins-rdp remmina-plugins-telepathy remmina-plugins-vnc remmina-plugins-xdmcp | |
sudo dnf remove remmina remmina-* freerdp freerdp-devel freerdp-libs | |
# packages needed for freerdp | |
#sudo dnf install gcc gcc-c++ cmake openssl-devel libX11-devel libXext-devel \ | |
# libXinerama-devel libXcursor-devel \ | |
# libXdamage-devel libXv-devel libxkbfile-devel alsa-lib-devel cups-devel ffmpeg-devel glib2-devel \ | |
# pulseaudio-libs-devel git libssh-devel libXi-devel libXtst-devel xmlto gstreamer1-devel \ | |
# libXrandr-devel gstreamer1-plugins-base-devel json-glib-devel | |
# packages needed for remmina | |
#sudo dnf install gtk3-devel libgcrypt-devel libssh-devel libxkbfile-devel openjpeg2-devel \ | |
# gnutls-devel libgnome-keyring-devel avahi-ui-devel avahi-ui-gtk3 \ | |
# libvncserver-devel vte3-devel libappindicator-devel libappindicator-gtk3 libappindicator-gtk3-devel \ | |
# telepathy-glib-devel libSM-devel webkitgtk4-devel libsecret-devel | |
# clone freerdp | |
cd /opt/remmina_build | |
if [ ! -d FreeRDP ]; then | |
git clone https://github.com/FreeRDP/FreeRDP.git -b master | |
FORCE="1" | |
fi | |
cd FreeRDP | |
git remote update | |
if [ "$(git rev-parse HEAD)" == "$(git rev-parse @{u})${FORCE}" ] | |
then | |
echo "> no need to rebuild FreeRDP" | |
else | |
echo "> er zijn bestanden gewijzigd" | |
git pull | |
# configure, build and install freerdp | |
cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_SSE2=ON -DWITH_PULSE=ON -DWITH_CUPS=on -DWITH_WAYLAND=off -DCMAKE_INSTALL_PREFIX:PATH=/opt/remmina/freerdp . | |
make && sudo make install | |
# link xfreerdp to $PATH | |
if [ -f /usr/local/bin/xfreerdp ]; then | |
sudo rm /usr/local/bin/xfreerdp | |
fi | |
sudo ln -s /opt/remmina/freerdp/bin/xfreerdp /usr/local/bin/ | |
# update libraries | |
echo /opt/remmina/freerdp/lib64/ | sudo tee /etc/ld.so.conf.d/freerdp_devel.conf > /dev/null | |
sudo ldconfig | |
# test freerdp with a test-connection | |
if [ "$freerdp_test" == "1" ]; then | |
xfreerdp +clipboard /sound:rate:44100,channel:2 /v:192.168.90.90 /u:DKoot | |
fi | |
fi | |
# clone remmina | |
cd /opt/remmina_build | |
if [ ! -d Remmina ]; then | |
git clone https://gitlab.com/Remmina/Remmina.git | |
FORCE="1" | |
fi | |
cd Remmina | |
# check that the repo is from gitlab | |
if [ $(git remote -v|head -n1 | awk '{ print $2 }') == "https://github.com/FreeRDP/Remmina.git" ] | |
then | |
echo "> repo still pointing to GitHub, changing to GitLab" | |
git remote remove origin | |
git remote add origin https://gitlab.com/Remmina/Remmina.git | |
git remote update | |
git branch --set-upstream-to=origin/master master | |
fi | |
if [ "$(git rev-parse HEAD)" == "$(git rev-parse @{u})${FORCE}" ] | |
then | |
echo "> no need to rebuild Remmina" | |
else | |
echo "> er zijn bestanden gewijzigd" | |
git pull | |
# configure, build and install remmina | |
cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX:PATH=/opt/remmina/remmina -DCMAKE_PREFIX_PATH=/opt/remmina/freerdp --build=build . | |
make && sudo make install | |
# link remmina to $PATH | |
if [ -f /usr/local/bin/remmina ]; then | |
sudo rm /usr/local/bin/remmina | |
fi | |
sudo ln -s /opt/remmina/remmina/bin/remmina /usr/local/bin/ | |
# copy desktop-file | |
cp /opt/remmina/remmina/share/applications/remmina.desktop /home/$USER/.local/share/applications/remmina.desktop | |
# fix icon in desktop-file | |
sed -i s:Icon=.*:Icon=/opt/remmina/remmina/share/icons/hicolor/scalable/apps/remmina.svg: /home/$USER/.local/share/applications/remmina.desktop | |
fi | |
echo "Done!" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment