This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch master in repository x2goclient. commit 36296338c29994e9af121dcc7488e11f1e38da3a Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Date: Fri Jan 22 21:51:17 2021 +0100 debian{,-qt4,-qt5}: Add a Qt5-based debian(-qt5)/ packaging folder and make it easy to switch between Qt4 and Qt5 build by simply changing the symlink target of debian/ (which is, yes indeed, a symlink, not a directory anymore). --- debian | 1 + {debian => debian-common}/changelog | 4 + {debian => debian-common}/copyright | 90 +-- {debian => debian-common}/source/format | 0 debian-common/upstream/metadata | 8 + debian-common/upstream/signing-key.asc | 210 ++++++ debian-common/watch | 3 + debian-qt4/changelog | 1 + {debian => debian-qt4}/compat | 0 {debian => debian-qt4}/control | 0 debian-qt4/copyright | 1 + {debian => debian-qt4}/menu | 0 {debian => debian-qt4}/rules | 0 debian-qt4/source | 1 + debian-qt4/upstream | 1 + debian-qt4/watch | 1 + {debian => debian-qt4}/x2goclient.dirs | 0 {debian => debian-qt4}/x2goclient.docs | 0 {debian => debian-qt4}/x2goclient.examples | 0 {debian => debian-qt4}/x2goclient.install | 0 {debian => debian-qt4}/x2goclient.manpages | 0 {debian => debian-qt4}/x2goplugin-provider.install | 0 {debian => debian-qt4}/x2goplugin.install | 0 debian-qt5/changelog | 1 + debian-qt5/control | 57 ++ debian-qt5/copyright | 1 + .../patches/1002_fix-ftbfs-on-non-linux.patch | 749 +++++++++++++++++++++ debian-qt5/patches/README | 3 + debian-qt5/patches/series | 2 + debian-qt5/patches/update_makefile_qt5-build.patch | 18 + debian-qt5/rules | 35 + debian-qt5/source | 1 + debian-qt5/upstream | 1 + debian-qt5/watch | 1 + {debian => debian-qt5}/x2goclient.dirs | 4 +- {debian => debian-qt5}/x2goclient.docs | 0 {debian => debian-qt5}/x2goclient.examples | 0 .../x2goclient.install | 10 +- 38 files changed, 1155 insertions(+), 49 deletions(-) diff --git a/debian b/debian new file mode 120000 index 0000000..eb6b140 --- /dev/null +++ b/debian @@ -0,0 +1 @@ +debian-qt4 \ No newline at end of file diff --git a/debian/changelog b/debian-common/changelog similarity index 99% rename from debian/changelog rename to debian-common/changelog index 61b8348..b13a26c 100644 --- a/debian/changelog +++ b/debian-common/changelog @@ -44,6 +44,10 @@ x2goclient (4.1.2.3-0x2go1) UNRELEASED; urgency=medium extension. * debian/x2gocient.install: + Install x-x2go.xml into bin:pkg x2goclient. + * debian/{,-qt4,-qt5}: + + Add a Qt5-based debian(-qt5)/ packaging folder and make it easy to switch + between Qt4 and Qt5 build by simply changing the symlink target of + debian/ (which is, yes indeed, a symlink, not a directory anymore). * x2goclient.spec: + Install x-x2go.xml into bin:pkg and run update-mime-database during postinst. diff --git a/debian/copyright b/debian-common/copyright similarity index 64% rename from debian/copyright rename to debian-common/copyright index a587d06..104e6fb 100644 --- a/debian/copyright +++ b/debian-common/copyright @@ -1,12 +1,24 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: x2goclient -Upstream-Contact: Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +Upstream-Contact: Mihai Moldovan <ionic@ionic.de> Source: https://wiki.x2go.org Files: * -Copyright: 2005-2020, Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> - 2005-2020, Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> - 2005-2020, obviously nice - https://www.obviously-nice.de +Copyright: 2005-2017, Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> + 2005-2017, Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + 2005-2017, obviously nice - http://www.obviouslynice.de +License: GPL-2+~OpenSSL + +Files: Makefile.docupload +Copyright: 2010-2016, Mike Gabriel <mike.gabriel@das-netzwerkteam.de> +License: GPL-3 + +Files: debian/* +Copyright: 2007, Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> + 2011-2012, Reinhard Tartler <siretart@tauware.de> + 2011-2018, Mike Gabriel <sunweaver@debian.org> +License: GPL-2+ or GPL-2+~OpenSSL + License: GPL-2+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public @@ -28,46 +40,8 @@ License: GPL-2+ On Debian systems, the full text of the GNU General Public License version 2 can be found in the file `/usr/share/common-licenses/GPL-2'. -Comment: - Quoting from README.OpenSSL-Exception... - . - * In addition, as a special exception, the copyright holders give - * permission to link the code of portions of this program with the - * OpenSSL library under certain conditions as described in each - * individual source file, and distribute linked combinations - * including the two. - * You must obey the GNU General Public License in all respects - * for all of the code used other than OpenSSL. If you modify - * file(s) with this exception, you may extend this exception to your - * version of the file(s), but you are not obligated to do so. If you - * do not wish to do so, delete this exception statement from your - * version. If you delete this exception statement from all source - * files in the program, then also delete it here. -Files: Makefile.docupload -Copyright: 2010-2020, Mike Gabriel <mike.gabriel@das-netzwerkteam.de> -License: GPL-3 - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, version 3 of the License. - . - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - . - You should have received a copy of the GNU General Public License - along with this program. If not, see <https://www.gnu.org/licenses/>. - . - On Debian systems, the full text of the GNU General Public - License version 3 can be found in the file - `/usr/share/common-licenses/GPL-3'. - -Files: debian/* -Copyright: 2007-2020, Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> - 2011-2020, Reinhard Tartler <siretart@tauware.de> - 2011-2020, Mike Gabriel <sunweaver@debian.org> -License: GPL-2+ +License: GPL-2+~OpenSSL This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either @@ -88,3 +62,33 @@ License: GPL-2+ On Debian systems, the full text of the GNU General Public License version 2 can be found in the file `/usr/share/common-licenses/GPL-2'. + . + In addition, as a special exception, the copyright holders give + permission to link the code of portions of this program with the + OpenSSL library under certain conditions as described in each + individual source file, and distribute linked combinations + including the two. + You must obey the GNU General Public License in all respects + for all of the code used other than OpenSSL. If you modify + file(s) with this exception, you may extend this exception to your + version of the file(s), but you are not obligated to do so. If you + do not wish to do so, delete this exception statement from your + version. If you delete this exception statement from all source + files in the program, then also delete it here. + +License: GPL-3 + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, version 3 of the License. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + . + On Debian systems, the full text of the GNU General Public + License version 3 can be found in the file + `/usr/share/common-licenses/GPL-3'. diff --git a/debian/source/format b/debian-common/source/format similarity index 100% rename from debian/source/format rename to debian-common/source/format diff --git a/debian-common/upstream/metadata b/debian-common/upstream/metadata new file mode 100644 index 0000000..5702ec5 --- /dev/null +++ b/debian-common/upstream/metadata @@ -0,0 +1,8 @@ +Name: X2Go Client +Bug-Database: https://bugs.x2go.org/src:x2goclient +Bug-Submit: https://bugs.x2go.org/Reporting.html +Contact: x2go-dev@lists.x2go.org +Donation: https://wiki.x2go.org/doku.php/doc:sponsors +Repository: git://code.x2go.org/x2goclient.git +Repository-Browse: https://code.x2go.org/gitweb?p=x2goclient.git;a=summary +Security-Contact: security@lists.x2go.org diff --git a/debian-common/upstream/signing-key.asc b/debian-common/upstream/signing-key.asc new file mode 100644 index 0000000..0e6e7d6 --- /dev/null +++ b/debian-common/upstream/signing-key.asc @@ -0,0 +1,210 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +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 +ZRs60sdFXk+ppSLNlHSlhfuJ3DW3sv8/07s01FFbDqt0fGj/GhoYTbrv5KGT8/bp +rdPPYTlmRP4m9JHWTNtTUtBOdvbJ3EvQOgVcyJW+eC0a93yms6gZ1pEoxTlu45yb +N+QfM+ZdyRpgtGqboIB1GLM+gw7CHZqqFZJY4LxjIftT0dBP2B7Yn5fPKVfi+Ea0 +i6WCTURMVc7HKdr/7yoFQkahen3CVsM9qJ5HalM0d1UwNOKSedbTOLc6M+xUZyxt +vgfQODwiPEUay3GuL7NW0GuWlHmWVLyPpyfhu65ZKKurn6Q+Z8yJU/f9vEYvt7Tx +kfBXr8WTT7jgvzZJT1+b09I/XiV5RcGvOfXmiJcwtCtNaWtlIEdhYnJpZWwgPG1p +a2UuZ2FicmllbEBtb29ud2VhdmVycy5uZXQ+iQI9BBMBCAAnBQJR/1OyAhsDBQkK +wiSEBQsJCAcDBRUKCQgLBRYCAwEAAh4BAheAAAoJEJr0azAldxsxESsP/2oECQab +zFWAGocjiaOFPmBoJfUm7s3dkNiGTVBAW4P8h/Y+Y70GsMQ2bJXArs/XRpHvono/ +GRyo6FSsqcK67LRI1lw5czIBV5ZPpoeaoLMRqd69nSut5/7+DbyfYE2S9ywmcGsJ +L7uqFEMiMw/v+iiiBTnpwNQwm9pwQKm3Tj2AqacaYteuVu5/vAkD9bJGkDbYVQ5O +v9LXIOUZrxlNOrTUDC4Dq5FbKbV4PKm8q1kWun5V2psQc8biKyLoCumcRpm1Pnxv +LhNzZ67Tje4kYznMhGDKQ+fts+vtuDH2pluiiqqk0lw7qOOuelTzb44SKKgvarrc +7KWSJs4Jzcbi5JaJ1uIDXhJJtAtGItGmoaRUDPk8m25lDyPXE44M8bkzeriPt6pc +8+jFcz96X7BTaRJTkaZKLfQdMlMnmRp4IG+J08aVEsXUfjTMq+RaZOAWYiHaRhB7 +N7Pq/EMGS/RDvT7xPvzBb9ghj3N883IyKC657MBhXT/l6Xxc5PA+yabfCPGKChr+ +ZBp6sW0mt6FudBhvj7lR1wNYAgqxJ+lnyMME47kYwwo60FSCadBthwy+fVqotw9w +6zoD1ztj1z9xwYKnMhXY2WiOvQIKng/RmfqS40or8fNFSMG448J34YqTpSJQ9tN6 +wT2hALTcMNayV09AYm+sWiizrT1eWh7xLJ2ttCVNaWtlIEdhYnJpZWwgPG1pa2Uu +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 +=+XWS +-----END PGP PUBLIC KEY BLOCK----- +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v1 + +mQENBE2tuy4BCADGBBdB0ODen5YK/QkIrngZygroJg2SA/THvQHQ3COU0YZM3WGn +rgj1noGygBDPbf5CeUM6oFW1xeW40LAxl5RNN2qFFQQFoccZ/4RwhVcAUQBxptbJ +L1wk/A+U49eL5QnoqSSCp+26fLJNizFgXL6r78oVbG/KIC4dZyNo9K5aA5xNxz1w +eW5HMXJI06QJjqF4NRAXYwqPnR1iiVsCzQUTKx8U/KCIkbay94Bvgk6vCLi62Cw5 +Z407c8NOmXw8BqrNVqgNGwkylLP3ly+ccL0GNNBLKzt7S29Oe4pbl6kfFwd2fcPk +yXAkMXnNcrpsna6M93pVNSWy0H0DEXlHvr5tABEBAAG0K1gyZ28gR2l0IEFkbWlu +aXN0cmF0b3IgPGdpdC1hZG1pbkB4MmdvLm9yZz6JATgEEwECACIFAk2tuy4CGwMG +CwkIBwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEPSnZ4ycawsrUucIAKsISRirU6qb +LvmaAsSHuzJVknEning3FYNsoCGN8BzERwLEJXfzibu9i6ULI5guYwjR7/P9QRuo +al3FN85+cOYwENOYXYqdEQTcrszLFCattQw2IVg5zfq9P6BmjtXWceMkcMreH03v +i3UwY/D/14ORWvPX/JVis/ARlUPo5jN97EEJbWSpkvHwgeakzEfptIqpDW/j1wNe +ENpB94jgHM9br0bOGH1VXseOqN141lGgoqH1IQdc/LqDls6VXZD2WjpjFQFWWEE5 +J/YohX5eF5VGRT+uuTeFr87/lQBZHq+F3KlA5aCwBOcu91J8RVPJfrEsoPWgX6Df +Fr7XVCHZAhG5AQ0ETa27LgEIAMAX7bqT3jW1Ffr4Ndh94cYopDGUuyStwiFBMW7L +wWEc6Go9D3T/0e3vLfktDOgstckHNlz5Wv+Q4j0gpTcseqC3bn0VGPHQyNARfYvL +guabqHeFxxFHYHo9RawHEfTYWFRw+h/2INtihOyNuzJVltrpPmkiTTQ9p5lKH+QR +a2zJSPZjQA+CSg+IpLfC9YEDiU8s4BQfPPI+2TptO8iCqDpIEXETGdIXdwp9PzKP +pBSK1rBiPnCF+LyqYY6JInhQqvT4SCdYg6ukDMjmYEJ4ID7yr3J2meb8X0xKWfwn +cGee8P4NQCOlKg7m3j88E/NDSh4waA2uech5x6u7tfiyJ40AEQEAAYkBHwQYAQIA +CQUCTa27LgIbDAAKCRD0p2eMnGsLKyFfCADEy04ycshk1WSwNMrL7nXvDDLpe63f +tOcODEDDOxoQ283U9yHV4/1p3CYM5YN7y5kHvvTD56/6ULs89iZhTZe1TIm3FQxQ +MYvuI2Auy4AVbEFCKWTg6+PgWeLvLoGsQ0edTb9OwyiaawVlOwGxjRVoU7E0V8xs +h9rIY/11F6w6kAEBYxEGqoZthefhODjn7Ffxs4fZYPevw/w4/rwa6DwyQNuybCac +IiVGUmcLGBYa0C+qiwLY3LFekfmEmFIwaeADI/crDKJOL1Qss/TkXERtZ73gJRfD +EKS4kfioXKwMYFGuN5rfcdqODk0nHDSWu9833dlH2+c3fcSIWVIMXEPG +=b3FB +-----END PGP PUBLIC KEY BLOCK----- diff --git a/debian-common/watch b/debian-common/watch new file mode 100644 index 0000000..91d6bc7 --- /dev/null +++ b/debian-common/watch @@ -0,0 +1,3 @@ +version=3 +opts=pgpsigurlmangle=s/$/.asc/ \ +https://code.x2go.org/releases/source/x2goclient/x2goclient-(\d+\.\d+\.\d+\.\d+)\.tar\.gz diff --git a/debian-qt4/changelog b/debian-qt4/changelog new file mode 120000 index 0000000..ddd751e --- /dev/null +++ b/debian-qt4/changelog @@ -0,0 +1 @@ +../debian-common/changelog \ No newline at end of file diff --git a/debian/compat b/debian-qt4/compat similarity index 100% rename from debian/compat rename to debian-qt4/compat diff --git a/debian/control b/debian-qt4/control similarity index 100% rename from debian/control rename to debian-qt4/control diff --git a/debian-qt4/copyright b/debian-qt4/copyright new file mode 120000 index 0000000..613ba8d --- /dev/null +++ b/debian-qt4/copyright @@ -0,0 +1 @@ +../debian-common/copyright \ No newline at end of file diff --git a/debian/menu b/debian-qt4/menu similarity index 100% rename from debian/menu rename to debian-qt4/menu diff --git a/debian/rules b/debian-qt4/rules similarity index 100% rename from debian/rules rename to debian-qt4/rules diff --git a/debian-qt4/source b/debian-qt4/source new file mode 120000 index 0000000..6840b09 --- /dev/null +++ b/debian-qt4/source @@ -0,0 +1 @@ +../debian-common/source \ No newline at end of file diff --git a/debian-qt4/upstream b/debian-qt4/upstream new file mode 120000 index 0000000..5f6c874 --- /dev/null +++ b/debian-qt4/upstream @@ -0,0 +1 @@ +../debian-common/upstream \ No newline at end of file diff --git a/debian-qt4/watch b/debian-qt4/watch new file mode 120000 index 0000000..046c942 --- /dev/null +++ b/debian-qt4/watch @@ -0,0 +1 @@ +../debian-common/watch \ No newline at end of file diff --git a/debian/x2goclient.dirs b/debian-qt4/x2goclient.dirs similarity index 100% copy from debian/x2goclient.dirs copy to debian-qt4/x2goclient.dirs diff --git a/debian/x2goclient.docs b/debian-qt4/x2goclient.docs similarity index 100% copy from debian/x2goclient.docs copy to debian-qt4/x2goclient.docs diff --git a/debian/x2goclient.examples b/debian-qt4/x2goclient.examples similarity index 100% copy from debian/x2goclient.examples copy to debian-qt4/x2goclient.examples diff --git a/debian/x2goclient.install b/debian-qt4/x2goclient.install similarity index 100% rename from debian/x2goclient.install rename to debian-qt4/x2goclient.install diff --git a/debian/x2goclient.manpages b/debian-qt4/x2goclient.manpages similarity index 100% rename from debian/x2goclient.manpages rename to debian-qt4/x2goclient.manpages diff --git a/debian/x2goplugin-provider.install b/debian-qt4/x2goplugin-provider.install similarity index 100% rename from debian/x2goplugin-provider.install rename to debian-qt4/x2goplugin-provider.install diff --git a/debian/x2goplugin.install b/debian-qt4/x2goplugin.install similarity index 100% rename from debian/x2goplugin.install rename to debian-qt4/x2goplugin.install diff --git a/debian-qt5/changelog b/debian-qt5/changelog new file mode 120000 index 0000000..ddd751e --- /dev/null +++ b/debian-qt5/changelog @@ -0,0 +1 @@ +../debian-common/changelog \ No newline at end of file diff --git a/debian-qt5/control b/debian-qt5/control new file mode 100644 index 0000000..7023fb1 --- /dev/null +++ b/debian-qt5/control @@ -0,0 +1,57 @@ +Source: x2goclient +Section: x11 +Priority: optional +Maintainer: X2Go Developers <x2go-dev@lists.x2go.org> +Uploaders: + Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de>, + Mike Gabriel <mike.gabriel@das-netzwerkteam.de>, + Mihai Moldovan <ionic@ionic.de>, +Build-Depends: + apache2-dev, + debhelper-compat (= 12), + dpkg-dev (>= 1.16.1.1), + libldap2-dev, + libssh-dev (>= 0.5.4-2~), + libcups2-dev, + libqt5svg5-dev, + libqt5x11extras5-dev, + libx11-dev, + libxpm-dev, + man2html-base | man2html, + pkg-config, + qtbase5-dev, + qttools5-dev-tools, + quilt, +Standards-Version: 4.5.1 +Homepage: https://wiki.x2go.org/ +Vcs-Git: https://salsa.debian.org/debian-remote-team/x2goclient.git +Vcs-Browser: https://salsa.debian.org/debian-remote-team/x2goclient/ + +Package: x2goclient +Architecture: any +Depends: + ${shlibs:Depends}, + ${misc:Depends}, + openssh-client, + nxproxy, +Recommends: + openssh-server, + rdesktop | freerdp-x11, +Suggests: + pinentry-x2go, +Conflicts: + x2goclient-gtk, +Replaces: + x2goclient-gtk, +Description: X2Go Client application (Qt5) + X2Go is a serverbased computing environment with + - session resuming + - low bandwidth support + - session brokerage support + - client-side mass storage mounting support + - client-side printing support + - audio support + - authentication by smartcard and USB stick + . + X2Go Client is a graphical client (Qt5) for the X2Go system. + You can use it to connect to running sessions and start new sessions. diff --git a/debian-qt5/copyright b/debian-qt5/copyright new file mode 120000 index 0000000..613ba8d --- /dev/null +++ b/debian-qt5/copyright @@ -0,0 +1 @@ +../debian-common/copyright \ No newline at end of file diff --git a/debian-qt5/patches/1002_fix-ftbfs-on-non-linux.patch b/debian-qt5/patches/1002_fix-ftbfs-on-non-linux.patch new file mode 100644 index 0000000..efa55af --- /dev/null +++ b/debian-qt5/patches/1002_fix-ftbfs-on-non-linux.patch @@ -0,0 +1,749 @@ +Description: Successfully built on Debian GNU/kFreeBSD and Debian GNU/Hurd +Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> + +--- a/src/clicklineedit.cpp ++++ b/src/clicklineedit.cpp +@@ -31,7 +31,7 @@ + { + } + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + void ClickLineEdit::mouseReleaseEvent ( QMouseEvent * event ) + { + QLineEdit::mouseReleaseEvent(event); +--- a/src/clicklineedit.h ++++ b/src/clicklineedit.h +@@ -31,7 +31,7 @@ + ~ClickLineEdit(); + signals: + void clicked(); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + protected: + virtual void mouseReleaseEvent ( QMouseEvent * event ); + /* virtual void focusInEvent ( QFocusEvent * event ); +--- a/src/editconnectiondialog.cpp ++++ b/src/editconnectiondialog.cpp +@@ -85,7 +85,7 @@ + connect ( sessSet,SIGNAL ( nameChanged ( const QString & ) ),this, + SLOT ( slot_changeCaption ( const QString& ) ) ); + connect ( this,SIGNAL ( accepted() ),this,SLOT ( slot_accepted() ) ); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + connect (sessSet, SIGNAL(directRDP(bool,bool)), this, SLOT(slot_directRDP(bool,bool))); + + connect (sessSet, +@@ -112,7 +112,7 @@ + setContentsMargins ( 3,3,3,3 ); + fr->setCurrentIndex ( ind ); + slot_changeCaption(sessSet->sessionName()); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + sessSet->slot_rdpDirectClicked(); + #endif + } +@@ -171,7 +171,7 @@ + } + } + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + void EditConnectionDialog::slot_directRDP(bool direct, bool isXDMCP) + { + fr->setTabEnabled(1,!direct); +--- a/src/editconnectiondialog.h ++++ b/src/editconnectiondialog.h +@@ -64,7 +64,7 @@ + void slot_changeCaption ( const QString& newName ); + void slot_accepted(); + void slot_default(); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + void slot_directRDP(bool direct, bool isXDMCP); + #endif + }; +--- a/src/ongetpass.cpp ++++ b/src/ongetpass.cpp +@@ -52,7 +52,7 @@ + QApplication app ( argc,argv ); + + #ifndef Q_WS_HILDON +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + #if QT_VERSION < 0x050000 + app.setStyle ( new QPlastiqueStyle() ); + #else +--- a/src/onmainwindow.cpp ++++ b/src/onmainwindow.cpp +@@ -62,7 +62,7 @@ + } + #endif + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + image=shape=0; + #endif + x2goInfof(1) << tr("Starting X2Go Client %1...").arg (QString (VERSION)); +@@ -152,7 +152,7 @@ + systemDisablePA=false; + #endif /* defined (Q_OS_DARWIN) || defined (Q_OS_WIN) */ + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + directRDP = false; + #endif /* defined (Q_OS_LINUX) */ + +@@ -235,7 +235,7 @@ + addToAppNames ( "OFFICE",tr ( "OpenOffice.org" ) ); + addToAppNames ( "TERMINAL",tr ( "Terminal" ) ); + +-#ifndef Q_OS_LINUX ++#if defined(Q_OS_DARWIN) || defined(Q_OS_WIN) + #if QT_VERSION < 0x050000 + widgetExtraStyle = new QPlastiqueStyle (); + #else +@@ -545,7 +545,7 @@ + + + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + if (thinMode) + { + QTimer *timer = new QTimer(this); +@@ -680,7 +680,7 @@ + { + if (!isHidden()) + hide(); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + XSync(QX11Info::display(),false); + #endif + } +@@ -1435,7 +1435,7 @@ + QVariant ( isMaximized() ) ); + st.setting()->sync(); + x2goDebug<<"Saved settings."; +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + if (image) + XFreePixmap(QX11Info::display(),image); + if (shape) +@@ -2812,7 +2812,7 @@ + autologin=st->setting()->value ( + sid+"/autologin", + ( QVariant ) false ).toBool(); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + if(command =="XDMCP" && st->setting()->value ( + sid+"/directxdmcp", + ( QVariant ) false ).toBool()) +@@ -3423,7 +3423,7 @@ + if (config.brokerNoAuth && brokerNoauthWithSessionUsername) { + config.brokerUser = login->text(); + } +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + X2goSettings* st=new X2goSettings(config.iniFile, QSettings::IniFormat); + QString sid=sessionExplorer->getLastSession()->id(); + QString cmd=st->setting()->value ( sid+"/command", +@@ -3485,7 +3485,7 @@ + sshConnection->executeCommand ( "x2gogetservers", this, SLOT ( slotGetServers ( bool, QString,int ) )); + } + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + void ONMainWindow::startDirectRDP() + { + if (!(sessionExplorer->getLastSession())) { +@@ -3740,7 +3740,7 @@ + { + connectionType=conType; + setEnabled ( false ); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + directRDP=false; + #endif + QString passwd; +@@ -3810,7 +3810,7 @@ + ( QVariant ) false ).toBool(); + krbDelegation=st->setting()->value ( sid+"/krbdelegation", + ( QVariant ) false ).toBool(); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + directRDP=(st->setting()->value ( sid+"/directrdp", + ( QVariant ) false ).toBool() && cmd == "RDP"); + +@@ -5236,7 +5236,7 @@ + void ONMainWindow::slotSuspendSess() + { + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + if (directRDP) + { + nxproxy->terminate(); +@@ -5314,7 +5314,7 @@ + { + sendEventToBroker(SUSPENDING); + } +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + if (directRDP) + { + nxproxy->terminate(); +@@ -5338,7 +5338,7 @@ + + void ONMainWindow::slotTermSessFromSt() + { +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + if (directRDP) + { + +@@ -5424,7 +5424,7 @@ + void ONMainWindow::slotTermSess() + { + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + if (directRDP) + { + nxproxy->terminate(); +@@ -5844,7 +5844,7 @@ + sshConnection->executeCommand (scmd); + + bool sysPulse=false; +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + loadPulseModuleNativeProtocol(); + QFile file ( "/etc/default/pulseaudio" ); + if ( file.open ( QIODevice::ReadOnly | +@@ -6511,7 +6511,7 @@ + + void ONMainWindow::slotProxyError ( QProcess::ProcessError err ) + { +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + if(err==QProcess::FailedToStart && directRDP) + { + QString main_text = tr("Failed to start RDP or XDMCP client"); +@@ -6614,7 +6614,7 @@ + } + } + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + if (directRDP) + nxproxy=0; + #endif +@@ -6627,7 +6627,7 @@ + nxproxy=0l; + proxyWinId=0; + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + if (directRDP) + { + if (closeDisconnect) +@@ -9937,7 +9937,7 @@ + return false; + } + +-#ifndef Q_OS_LINUX ++#if defined(Q_OS_WIN) || defined(Q_OS_DARWIN) + void ONMainWindow::setWidgetStyle ( QWidget* widget ) + { + widget->setStyle ( widgetExtraStyle ); +@@ -10334,7 +10334,7 @@ + ( QVariant ) + "UTF-8" ).toString(); + #endif +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + QString fromCode=st.setting()->value ( + sid+"/iconvfrom", + ( QVariant ) tr ( +@@ -11544,7 +11544,7 @@ + else + pixmap=*(sessionExplorer->getLastSession()->sessIcon()); + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + + XStoreName(QX11Info::display(), proxyWinId, title.toLocal8Bit().data()); + +@@ -11591,7 +11591,7 @@ + void ONMainWindow::slotSetProxyWinFullscreen() + { + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + + QRect geom=QApplication::desktop()->screenGeometry(localDisplayNumber-1); + Atom atom = XInternAtom ( QX11Info::display(), "_NET_WM_STATE_FULLSCREEN", True ); +@@ -11647,7 +11647,7 @@ + ", h: "+ QString("%1").arg(geom.height()); + x2goDebug<<"Resizing proxy window to fit display: " + QString("%1").arg(disp) + " " + geoStr; + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + XSync(QX11Info::display(),false); + XMoveResizeWindow(QX11Info::display(), proxyWinId, geom.x(), geom.y(), 800, 600); + XMapWindow(QX11Info::display(), proxyWinId); +@@ -11667,7 +11667,7 @@ + return QRect(); + return proxyRect; + #endif +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + QRect proxyRect; + Window root; + int x,y; +@@ -11754,7 +11754,7 @@ + xinSizeInc=1; + else + xinSizeInc=-1; +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + lastDisplayGeometry.setWidth(lastDisplayGeometry.width()+xinSizeInc); + XSync(QX11Info::display(),false); + XResizeWindow(QX11Info::display(), proxyWinId, +@@ -11893,7 +11893,7 @@ + setStatStatus(); + act_embedContol->setText ( tr ( "Attach X2Go window" ) ); + act_embedContol->setIcon ( QIcon ( iconsPath("/32x32/attach.png" ) )); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + //if QX11EmbedContainer cannot embed window, check if window exists + //and reconnect + if ( !embedControlChanged ) +@@ -12301,7 +12301,7 @@ + + void ONMainWindow::slotChangeKbdLayout(const QString& layout) + { +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + QStringList args; + args<<"-layout"<<layout; + +@@ -12378,7 +12378,7 @@ + pass->setEchoMode ( QLineEdit::Password ); + pass->setFocus(); + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + connect ( login,SIGNAL ( clicked() ),this, + SLOT ( slotActivateWindow() ) ); + connect ( pass,SIGNAL ( clicked() ),this, +@@ -13354,7 +13354,7 @@ + dr.rmdir ( path ); + } + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + long ONMainWindow::X11FindWindow ( QString text, long rootWin ) + { + Window wParent; +@@ -13395,7 +13395,7 @@ + long ONMainWindow::findWindow ( QString text ) + { + x2goDebug<<"Searching window with title: " + text; +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + return X11FindWindow ( text ); + #endif + #ifdef Q_OS_WIN +--- a/src/onmainwindow.h ++++ b/src/onmainwindow.h +@@ -797,7 +797,7 @@ + bool newSession; + bool runStartApp; + bool ldapOnly; +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + bool directRDP; + #endif + +@@ -910,7 +910,7 @@ + QRect dispGeometry; + #endif + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + long image, shape; + #endif + +@@ -1196,7 +1196,7 @@ + + private: + void resizeProxyWinOnDisplay(int display); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + long X11FindWindow ( QString text, long rootWin=0 ); + #endif + void addToAppNames ( QString intName, QString transName ); +@@ -1222,7 +1222,7 @@ + void printSshDError_noAuthorizedKeysFile(); + void loadPulseModuleNativeProtocol(); + void initEmbedToolBar(); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + void startDirectRDP(); + #endif + void filterDesktops ( const QString& filter, +--- a/src/onmainwindow_privat.h ++++ b/src/onmainwindow_privat.h +@@ -87,11 +87,9 @@ + #include "contest.h" + + #if !defined Q_OS_WIN +-#include <sys/mount.h> +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + #include <X11/Xatom.h> + #include <X11/xpm.h> +-#include <linux/fs.h> + #endif // Q_OS_LINUX + #endif // !defined Q_OS_WIN + +@@ -153,7 +151,7 @@ + #include <QHostInfo> + #endif + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + #if QT_VERSION < 0x050000 + #include <QX11Info> + #else +--- a/src/pulsemanager.cpp ++++ b/src/pulsemanager.cpp +@@ -135,7 +135,7 @@ + #elif defined (Q_OS_WIN) + server_working_dir_ = QString (app_dir_ + "/pulse/"); + server_binary_ = QString (app_dir_ + "/pulse/pulseaudio.exe"); +-#elif defined (Q_OS_LINUX) ++#elif defined (Q_OS_LINUX) || defined (Q_OS_FREEBSD_KERNEL) || defined (Q_OS_HURD) + std::ssize_t path_len = pathconf (".", _PC_PATH_MAX); + + if (-1 == path_len) { +@@ -206,7 +206,7 @@ + start_osx (); + #elif defined (Q_OS_WIN) + start_win (); +-#elif defined (Q_OS_LINUX) ++#elif defined (Q_OS_LINUX) || defined (Q_OS_FREEBSD_KERNEL) || defined (Q_OS_HURD) + start_linux (); + #endif // defined (Q_OS_DARWIN) + } +--- a/src/sessionbutton.cpp ++++ b/src/sessionbutton.cpp +@@ -484,7 +484,7 @@ + } + else if ( command =="RDP" ) + { +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + if (st->setting()->value ( sid+"/directrdp", + ( QVariant ) false ).toBool()) + directRDP=true; +@@ -495,7 +495,7 @@ + } + else if ( command =="XDMCP" ) + { +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + if (st->setting()->value ( sid+"/directxdmcp", + ( QVariant ) false ).toBool()) { + directRDP=true; +--- a/src/sessionwidget.cpp ++++ b/src/sessionwidget.cpp +@@ -95,7 +95,7 @@ + sshPort->setMinimum ( 0 ); + sshPort->setMaximum ( 65535 ); + sshPort->setToolTip (ssh_port_tooltip_text); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + rdpPort=new QSpinBox ( sgb ); + rdpPort->setValue ( mainWindow->getDefaultSshPort().toInt() ); + rdpPort->setMinimum ( 0 ); +@@ -127,7 +127,7 @@ + elLay->addWidget ( server ); + elLay->addWidget ( uname ); + elLay->addWidget ( sshPort ); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + elLay->addWidget ( rdpPort ); + #endif + suLay->addLayout ( slLay ); +@@ -254,7 +254,7 @@ + sessLay->addSpacing ( 15 ); + sessLay->addWidget ( sgb ); + sessLay->addWidget ( deskSess ); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + cbDirectRDP=new QCheckBox(tr("Direct RDP connection"), deskSess); + cmdLay->addWidget(cbDirectRDP,2,0,1,6); + cbDirectRDP->hide(); +@@ -292,7 +292,7 @@ + connect (server, SIGNAL(textChanged(const QString&)),this, SLOT(slot_emitSettings())); + connect (uname, SIGNAL(textChanged(const QString&)),this, SLOT(slot_emitSettings())); + connect (cbKrbLogin, SIGNAL(clicked(bool)), this, SLOT(slot_krbChecked())); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + connect (rdpPort, SIGNAL(valueChanged(int)),this, SLOT(slot_emitSettings())); + #endif + +@@ -376,7 +376,7 @@ + } + + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + void SessionWidget::slot_rdpDirectClicked() + { + bool isDirectRDP=cbDirectRDP->isChecked(); +@@ -488,7 +488,7 @@ + { + leCmdIp->setText ( tr ( "Command:" ) ); + pbAdvanced->hide(); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + cbDirectRDP->hide(); + #endif + leCmdIp->show(); +@@ -516,7 +516,7 @@ + leCmdIp->setText ( tr ( "Server:" ) ); + pbAdvanced->show(); + cmd->setText ( rdpServer ); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + cbDirectRDP->show(); + #endif + } +@@ -524,7 +524,7 @@ + { + leCmdIp->setText ( tr ( "XDMCP server:" ) ); + cmd->setText ( xdmcpServer ); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + cbDirectRDP->show(); + cbDirectRDP->setText(tr ("direct XDMCP connection")); + #endif +@@ -536,7 +536,7 @@ + cmd->setText ( "" ); + } + } +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + slot_rdpDirectClicked(); + #endif + } +@@ -611,7 +611,7 @@ + sessionId+"/sshport", + ( QVariant ) mainWindow->getDefaultSshPort().toInt() + ).toInt() ); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + rdpPort->setValue ( + st.setting()->value ( + sessionId+"/rdpport",3389 +@@ -699,7 +699,7 @@ + ( QVariant ) "" ).toString().trimmed(); + xdmcpServer=st.setting()->value ( sessionId+"/xdmcpserver", + ( QVariant ) "localhost" ).toString().trimmed(); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + if(st.setting()->value (sessionId+"/directrdp",false ).toBool()) + { + cbDirectRDP->setChecked(true); +@@ -773,7 +773,7 @@ + cmd->setEnabled ( true ); + cmd->setText ( rdpServer ); + pbAdvanced->show(); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + cbDirectRDP->show(); + slot_rdpDirectClicked(); + #endif +@@ -784,7 +784,7 @@ + sessBox->setCurrentIndex ( XDMCP ); + cmd->setEnabled ( true ); + cmd->setText ( xdmcpServer ); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + cbDirectRDP->show(); + slot_rdpDirectClicked(); + #endif +@@ -804,7 +804,7 @@ + + cbKdrive->setChecked(st.setting()->value (sessionId+"/kdrive", false).toBool() ); + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + slot_rdpDirectClicked(); + #endif + slot_krbChecked(); +@@ -830,7 +830,7 @@ + icon->setIcon ( QIcon ( sessIcon ) ); + sshPort->setValue ( + mainWindow->getDefaultSshPort().toInt() ); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + rdpPort->setValue (3389); + #endif + +@@ -876,7 +876,7 @@ + + st.setting()->setValue ( sessionId+"/key", + ( QVariant ) key->text().trimmed() ); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + st.setting()->setValue ( sessionId+"/rdpport", + ( QVariant ) rdpPort->value() ); + #endif +@@ -885,7 +885,7 @@ + st.setting()->setValue(sessionId+"/autologin",( QVariant ) cbAutoLogin->isChecked()); + st.setting()->setValue(sessionId+"/krblogin",( QVariant ) cbKrbLogin->isChecked()); + st.setting()->setValue(sessionId+"/krbdelegation",( QVariant ) cbKrbDelegation->isChecked()); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + st.setting()->setValue(sessionId+"/directrdp",( QVariant ) cbDirectRDP->isChecked()); + st.setting()->setValue(sessionId+"/directxdmcp",( QVariant ) cbDirectRDP->isChecked()); + #endif +@@ -981,7 +981,7 @@ + return sessName->text(); + } + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + void SessionWidget::slot_emitSettings() + { + emit settingsChanged(server->text(), QString::number( rdpPort->value()), uname->text()); +--- a/src/sessionwidget.h ++++ b/src/sessionwidget.h +@@ -53,7 +53,7 @@ + void slot_krbChecked(); + void slot_openFolder(); + public slots: +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + void slot_rdpDirectClicked(); + void slot_emitSettings(); + #endif +@@ -66,14 +66,14 @@ + QSpinBox* sshPort; + ONMainWindow* parent; + bool newSession; +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + QSpinBox* rdpPort; + #endif + QLineEdit* key; + QCheckBox* cbAutoLogin; + QCheckBox* cbKrbLogin; + QCheckBox* cbKrbDelegation; +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + QCheckBox* cbDirectRDP; + #endif + QString sessIcon; +@@ -111,7 +111,7 @@ + void readConfig(); + signals: + void nameChanged ( const QString & ); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + void directRDP(bool, bool); + void settingsChanged(const QString &, const QString &, const QString &); + #endif +--- a/src/settingswidget.cpp ++++ b/src/settingswidget.cpp +@@ -199,7 +199,7 @@ + setLay->addWidget ( dgb ); + setLay->addWidget ( clipGr ); + setLay->addWidget ( kgb ); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + #ifdef CFGCLIENT + rdpBox=new QGroupBox ( tr ( "RDP client" ),this ); + setLay->addWidget ( rdpBox ); +@@ -301,7 +301,7 @@ + } + + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + void SettingsWidget::setDirectRdp(bool direct, bool isXDMCP) + { + clipGr->setVisible(!direct); +@@ -417,7 +417,7 @@ + displayNumber->setValue(1); + } + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + #ifdef CFGCLIENT + maxRes->setChecked(st.setting()->value ( sessionId+"/maxdim", false).toBool()); + QString client=st.setting()->value ( sessionId+"/rdpclient","rdesktop").toString(); +@@ -553,7 +553,7 @@ + st.setting()->setValue ( sessionId+"/display", + ( QVariant ) displayNumber->value() ); + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + #ifdef CFGCLIENT + st.setting()->setValue ( sessionId+"/maxdim", + ( QVariant ) maxRes->isChecked() ); +@@ -663,7 +663,7 @@ + st.setting()->sync(); + } + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + void SettingsWidget::setServerSettings(QString server, QString port, QString user) + { + this->server=server; +--- a/src/settingswidget.h ++++ b/src/settingswidget.h +@@ -43,7 +43,7 @@ + ~SettingsWidget(); + void setDefaults(); + void saveSettings(); +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + void setDirectRdp(bool direct, bool isXDMCP); + public slots: + void setServerSettings(QString server, QString port, QString user); +@@ -87,7 +87,7 @@ + QRadioButton *rbClipClient; + QRadioButton *rbClipNone; + +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + QGroupBox *rdpBox; + QRadioButton* rRdesktop; + QRadioButton* rXfreeRDPOld; +--- a/src/sharewidget.cpp ++++ b/src/sharewidget.cpp +@@ -240,7 +240,7 @@ + ( QVariant ) + "UTF-8" ).toString(); + #endif +-#ifdef Q_OS_LINUX ++#if defined(Q_OS_LINUX) || defined(Q_OS_FREEBSD_KERNEL) || defined(Q_OS_HURD) + QString fromCode=st.setting()->value ( sessionId+"/iconvfrom", + ( QVariant ) tr ( + "ISO8859-1" ) ).toString(); +--- a/src/InteractionDialog.cpp ++++ b/src/InteractionDialog.cpp +@@ -87,7 +87,7 @@ + textEdit->setFrameStyle ( QFrame::StyledPanel|QFrame::Plain ); + cancelButton->setFlat(true); + +-#ifndef Q_OS_LINUX ++#if defined(Q_OS_DARWIN) || defined(Q_OS_WIN) + QStyle* widgetExtraStyle; + #if QT_VERSION < 0x050000 + widgetExtraStyle = new QPlastiqueStyle (); diff --git a/debian-qt5/patches/README b/debian-qt5/patches/README new file mode 100644 index 0000000..80c1584 --- /dev/null +++ b/debian-qt5/patches/README @@ -0,0 +1,3 @@ +0xxx: Grabbed from upstream development. +1xxx: Possibly relevant for upstream adoption. +2xxx: Only relevant for official Debian release. diff --git a/debian-qt5/patches/series b/debian-qt5/patches/series new file mode 100644 index 0000000..eab3a65 --- /dev/null +++ b/debian-qt5/patches/series @@ -0,0 +1,2 @@ +update_makefile_qt5-build.patch +1002_fix-ftbfs-on-non-linux.patch diff --git a/debian-qt5/patches/update_makefile_qt5-build.patch b/debian-qt5/patches/update_makefile_qt5-build.patch new file mode 100644 index 0000000..85b0063 --- /dev/null +++ b/debian-qt5/patches/update_makefile_qt5-build.patch @@ -0,0 +1,18 @@ +Description: Update Makefile to support qt5. +Author: Scarlett Clark <sgclark@kde.org> +Last-Update: 2018-03-27 +--- +This patch header follows DEP-3: http://dep.debian.net/deps/dep3/ +--- a/Makefile ++++ b/Makefile +@@ -20,8 +20,8 @@ + BINDIR=$(PREFIX)/bin + SHAREDIR=$(PREFIX)/share + MANDIR=$(SHAREDIR)/man +-QMAKE_BINARY=qmake-qt4 +-LRELEASE_BINARY=lrelease-qt4 ++QMAKE_BINARY=qmake ++LRELEASE_BINARY=lrelease + QMAKE_OPTS= + + LDFLAGS= diff --git a/debian-qt5/rules b/debian-qt5/rules new file mode 100755 index 0000000..288516c --- /dev/null +++ b/debian-qt5/rules @@ -0,0 +1,35 @@ +#!/usr/bin/make -f + +export DEB_BUILD_MAINT_OPTIONS = hardening=+all +DPKG_EXPORT_BUILDFLAGS = 1 +export QT_SELECT=qt5 +include /usr/share/dpkg/buildflags.mk + +%: + dh $@ --with=quilt + +override_dh_auto_configure: + cp debian/changelog res/txt/changelog + if [ -f ChangeLog.gitlog ]; then cp ChangeLog.gitlog res/txt/git-info; fi + dh_auto_configure + +override_dh_auto_build: + make PREFIX=/usr build_client + make PREFIX=/usr build_man + +override_dh_auto_install: + make install_client DESTDIR=$(CURDIR)/$(PACKAGE) PREFIX=/usr + make install_man DESTDIR=$(CURDIR)/$(PACKAGE) PREFIX=/usr + +override_dh_auto_clean: + dh_auto_clean + # clean stray .qm files that are not handled by clean rule in upstream Makefile + mkdir -p txt/ + rm -Rf res/i18n/x2goclient_*.qm + rm -f res/txt/changelog + +override_dh_missing: + dh_missing --fail-missing + +get-orig-source: + uscan --noconf --force-download --rename --download-current-version --destdir=.. diff --git a/debian-qt5/source b/debian-qt5/source new file mode 120000 index 0000000..6840b09 --- /dev/null +++ b/debian-qt5/source @@ -0,0 +1 @@ +../debian-common/source \ No newline at end of file diff --git a/debian-qt5/upstream b/debian-qt5/upstream new file mode 120000 index 0000000..5f6c874 --- /dev/null +++ b/debian-qt5/upstream @@ -0,0 +1 @@ +../debian-common/upstream \ No newline at end of file diff --git a/debian-qt5/watch b/debian-qt5/watch new file mode 120000 index 0000000..046c942 --- /dev/null +++ b/debian-qt5/watch @@ -0,0 +1 @@ +../debian-common/watch \ No newline at end of file diff --git a/debian/x2goclient.dirs b/debian-qt5/x2goclient.dirs similarity index 78% copy from debian/x2goclient.dirs copy to debian-qt5/x2goclient.dirs index ceef262..ee163ee 100644 --- a/debian/x2goclient.dirs +++ b/debian-qt5/x2goclient.dirs @@ -1,6 +1,6 @@ usr/bin/ -usr/share/x2goclient -usr/share/x2goclient/icons +usr/share/x2goclient/ +usr/share/x2goclient/icons/ usr/share/icons/hicolor/128x128/apps/ usr/share/icons/hicolor/16x16/apps/ usr/share/icons/hicolor/64x64/apps/ diff --git a/debian/x2goclient.docs b/debian-qt5/x2goclient.docs similarity index 100% rename from debian/x2goclient.docs rename to debian-qt5/x2goclient.docs diff --git a/debian/x2goclient.examples b/debian-qt5/x2goclient.examples similarity index 100% rename from debian/x2goclient.examples rename to debian-qt5/x2goclient.examples diff --git a/debian/x2goclient.dirs b/debian-qt5/x2goclient.install similarity index 60% rename from debian/x2goclient.dirs rename to debian-qt5/x2goclient.install index ceef262..4216286 100644 --- a/debian/x2goclient.dirs +++ b/debian-qt5/x2goclient.install @@ -1,9 +1,11 @@ usr/bin/ -usr/share/x2goclient -usr/share/x2goclient/icons +usr/share/applications/ +usr/share/mime/ +usr/share/x2goclient/icons/ +usr/share/x2goclient/icons/ +usr/share/x2goclient/icons/ usr/share/icons/hicolor/128x128/apps/ usr/share/icons/hicolor/16x16/apps/ usr/share/icons/hicolor/64x64/apps/ usr/share/icons/hicolor/32x32/apps/ -usr/share/applications/ - +usr/share/man/ -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/x2goclient.git