# This is work in progress # not finished yet, so please don't complain about strange things # I just wanted to have it in svn, so it's revisioned # obgr_seneca %define x2golibdir %{_libdir}/x2go Name: x2goserver Version: 4.1.0.3 Release: %mkrel 4 Summary: The server-side core of X2go License: GPLv2+ Group: Networking/Remote access Url: https://wiki.x2go.org/doku.php Source0: https://code.x2go.org/releases/source/%{name}/%{name}-%{version}.tar.gz Patch1: 0001-x2goversion-Fix-situations-where-compfile-contains-a.patch BuildRequires: gcc BuildRequires: perl BuildRequires: man BuildRequires: man2html Requires: openssh-server Requires: openssh-clients Requires: lsof Requires: perl-Config-Simple Requires: makepasswd Requires: xauth Requires: sshfs-fuse # x2go / nx dependencies Requires: x2goagent Requires: xcomp Requires: xcompext Requires: nxproxy Requires: nxX11 Requires(post): rpm-helper >= 0.24.8-1 Requires(preun): rpm-helper >= 0.24.8-1 Recommends: %{name}-database %description x2go is a "server based computing environment" combining the advantages of different existing solutions. The x2goserver package provides the server-side core of X2go. %package sqlite Summary: Virtual package for using %{name} with sqlite Group: Networking/Remote access Requires: sqlite3-tools Requires: perl-DBD-SQLite Provides: %{name}-database = %{version}-%{release} %description sqlite This is a virtual package that just provides the necessary packages needed to run x2go with a default sqlite database setup. %package postgresql Summary: Virtual package for using %{name} with a PostgreSQL database Group: Networking/Remote access Requires: postgresql-server Requires: perl-DBD-Pg Provides: %{name}-database = %{version}-%{release} %description postgresql This is a virtual package that just provides the necessary packages needed to run x2go with a PostgreSQL setup. Note, you can also run x2go with a remote postgresql setup. %prep %autosetup -p1 # Set path find -type f | xargs sed -i -r -e '/^LIBDIR=/s,/lib/,/%{_lib}/,' sed -i -e 's,/lib/,/%{_lib}/,' x2goserver/bin/x2gopath # Don't try to be root sed -i -e 's/-o root -g root//' */Makefile # Perl pure_install sed -i -e 's/perl install/perl pure_install/' Makefile %build %set_build_flags export LC_ALL=C %make_build PREFIX=%{_prefix} %install export LC_ALL=C %make_install PREFIX=%{_prefix} \ INSTALL_DIR="install -d -m 755" \ INSTALL_FILE="install -m 644" \ INSTALL_PROGRAM="install -m 755" rm -f %{buildroot}%{_sysconfdir}/x2go/Xsession.d mkdir -p %{buildroot}%{_unitdir} install -m0644 x2goserver.service %{buildroot}%{_unitdir}/%{name}.service cat > README.install.urpmi << EOF DATABASE SETUP ----------------- You need either an sqlite or a PostgreSQL database for running x2go. If you want to run x2go just on a single server, sqlite is sufficient, for running x2go on a multi server setup, PostgreSQL is required. $ x2godbadmin --createdb DEFAULT: SQLite setup ------------------------ This variant is the default X2go database setup. The X2go database keeps track of running/suspended/finished X2go sessions, mounted devices, etc. If you use SQLite as DB back-end, X2go will run on one single server. For multi-X2goServer support use the PostgreSQL setup variant of X2go server. All files should be present for this setup. If not, please report it as a bug. ALTERNATIVE: PostgreSQL setup -------------------------------- This variant is for a setup of x2goserver that uses a PostgreSQL database back-end... The exact installation of x2goserver with PostgreSQL support is described here: https://wiki.x2go.org/doku.php/wiki:advanced:multi-node:x2goserver-pgsql LOCAL FOLDER SHARING ----------------------- Users that shall be able to use X2go's local folder sharing functionality (via sshfs) have to be members of your server system's ,,fuse'' group $ usermod -a -G fuse <username> PRINTING ----------- Also users that shall be able to send print jobs to client-side printers have to be members of the server-side ,,fuse'' group (see above). As X2go printing setups can be rather versatile, details on X2go printing are explained in the project wiki: https://wiki.x2go.org/doku.php/doc:installation:printing INITSCRIPT ------------ Until now, there is none, has to be written from scratch and will follow soonest. The server can be started by the command x2gocleansessions& as root in the meanwhile. EOF find %{buildroot} -name .placeholder -delete mkdir -p %{buildroot}%{_localstatedir}/lib/x2go touch %{buildroot}%{_localstatedir}/lib/x2go/x2go_sessions mkdir -p %{buildroot}%{_localstatedir}/spool/x2goprint %pre %_pre_useradd x2gouser %{_localstatedir}/lib/x2go /bin/false %_pre_useradd x2goprint %{_localstatedir}/spool/x2goprint /bin/false %post %_tmpfilescreate %{name} # Initialize the session database [ ! -f %{_localstatedir}/lib/x2go/x2go_sessions ] && %{_sbindir}/x2godbadmin --createdb || : %files sqlite %files postgresql %files %doc README.install.urpmi %doc %{_mandir}/man*/* # rights set by 'x2godbadmin --createdb' %attr(0770,root,x2gouser) %dir %{_localstatedir}/lib/x2go %attr(0660,root,x2gouser) %ghost %{_localstatedir}/lib/x2go/x2go_sessions %attr(0700,x2goprint,x2goprint) %dir %{_localstatedir}/spool/x2goprint %{_datadir}/x2go/ %{_datadir}/pixmaps/x2goagent.xpm %{_bindir}/x2gobasepath %{_bindir}/x2gocmdexitmessage %{_bindir}/x2gofeature %{_bindir}/x2gofeaturelist %{_bindir}/x2gofm %{_bindir}/x2gogetapps %{_bindir}/x2gogetservers %{_bindir}/x2golistdesktops %{_bindir}/x2golistmounts %{_bindir}/x2golistsessions %{_bindir}/x2gomountdirs %attr(2755,root,x2goprint) %{_bindir}/x2goprint %{_bindir}/x2goresume-session %{_bindir}/x2goruncommand %{_bindir}/x2goserver-run-extensions %{_bindir}/x2gosessionlimit %{_bindir}/x2gosetkeyboard %{_bindir}/x2gostartagent %{_bindir}/x2gosuspend-session %{_bindir}/x2goterminate-session %{_bindir}/x2goumount-session %{_bindir}/x2goversion %{_bindir}/x2gopath %{_sbindir}/x2go* %{_bindir}/x2goagent %{_bindir}/x2golistshadowsessions %{_bindir}/x2goresume-desktopsharing %{_bindir}/x2gosuspend-desktopsharing %{_bindir}/x2goterminate-desktopsharing %{_sysconfdir}/sudoers.d/x2goserver %dir %{_sysconfdir}/x2go %{_sysconfdir}/x2go/Xresources %{_sysconfdir}/x2go/Xsession %{_sysconfdir}/x2go/xinitrc.d %{_sysconfdir}/x2go/desktopsharing/settings %{_sysconfdir}/x2go/keystrokes.cfg %{_sysconfdir}/x2go/x2goagent.keyboard %config(noreplace) %{_sysconfdir}/logcheck %config(noreplace) %{_sysconfdir}/x2go/x2goserver.conf %{_sysconfdir}/x2go/x2gosql/sql %{_sysconfdir}/x2go/x2go_logout %{_sysconfdir}/x2go/x2go_logout.d/010_userscripts.sh %{_sysconfdir}/x2go/x2goagent.options %{_datadir}/applications/x2gofm.desktop %{_datadir}/mime/packages/sshfs-x2go.xml %{_unitdir}/%{name}.service %dir %{x2golibdir} %{x2golibdir}/x2gochangestatus %{x2golibdir}/x2gocreatesession %{x2golibdir}/x2gogetagent %{x2golibdir}/x2gogetagentstate %{x2golibdir}/x2gogetdisplays %{x2golibdir}/x2gogetports %{x2golibdir}/x2gogetstatus %{x2golibdir}/x2goinsertport %{x2golibdir}/x2goinsertsession %{x2golibdir}/x2golistsessions_sql %{x2golibdir}/x2gologlevel %{x2golibdir}/x2gormforward %{x2golibdir}/x2gormport %{x2golibdir}/x2goresume %{x2golibdir}/extensions %{x2golibdir}/x2gosuspend-agent %{x2golibdir}/x2gosyslog %{_libdir}/nx/bin/x2goagent %attr(2755,root,x2gouser) %{x2golibdir}/libx2go-server-db-sqlite3-wrapper %{x2golibdir}/libx2go-server-db-sqlite3-wrapper.pl %{x2golibdir}/x2gocheckport %{x2golibdir}/x2gocreateshadowsession %{x2golibdir}/x2gogetfreeport %{x2golibdir}/x2gogetrandomport %{x2golibdir}/x2goinsertshadowsession %{x2golibdir}/x2goistrue %{x2golibdir}/x2goqueryconfig %perl_vendorlib/X2Go/ %{_tmpfilesdir}/x2goserver.conf %changelog * Wed Jan 18 2023 wally <wally> 4.1.0.3-4.mga9 + Revision: 1934311 - fix libx2go-server-db-sqlite3-wrapper owner * Wed Jan 18 2023 wally <wally> 4.1.0.3-3.mga9 + Revision: 1934309 - fix x2goversion output (mga#31426) * Wed Jan 18 2023 wally <wally> 4.1.0.3-2.mga9 + Revision: 1934303 - fix /var/lib/x2go/ and /var/spool/x2goprint owner and permissions - own /var/lib/x2go/x2go_sessions - drop %%postun scriptlets doing actually nothing * Fri Aug 12 2022 neoclust <neoclust> 4.1.0.3-1.mga9 + Revision: 1877148 - New version 4.1.0.3 * Mon Mar 28 2022 umeabot <umeabot> 4.0.1.20-5.mga9 + Revision: 1830215 - Mageia 9 Mass Rebuild * Fri Feb 14 2020 umeabot <umeabot> 4.0.1.20-4.mga8 + Revision: 1518583 - Mageia 8 Mass Rebuild + wally <wally> - replace deprecated %%setup_compile_flags * Sun Sep 23 2018 umeabot <umeabot> 4.0.1.20-3.mga7 + Revision: 1301790 - Mageia 7 Mass Rebuild * Sat Sep 02 2017 daviddavid <daviddavid> 4.0.1.20-2.mga7 + Revision: 1150905 - use ours compile flags thus fixing empty debugsourcefiles.list * Tue Jan 17 2017 ghibo <ghibo> 4.0.1.20-1.mga6 + Revision: 1082142 - Update to release 4.0.1.20. * Wed Feb 17 2016 umeabot <umeabot> 4.0.1.13-6.mga6 + Revision: 963471 - Mageia 6 Mass Rebuild * Thu Nov 12 2015 tv <tv> 4.0.1.13-5.mga6 + Revision: 902881 - BR man2html * Thu Oct 22 2015 daviddavid <daviddavid> 4.0.1.13-4.mga6 + Revision: 894107 - update file list to fix build (add missing xinitrc.d file) * Wed Oct 15 2014 umeabot <umeabot> 4.0.1.13-3.mga5 + Revision: 748077 - Second Mageia 5 Mass Rebuild * Tue Sep 16 2014 umeabot <umeabot> 4.0.1.13-2.mga5 + Revision: 690535 - Mageia 5 Mass Rebuild + tv <tv> - s/uggests:/Recommends:/ * Sun Jan 26 2014 colin <colin> 4.0.1.13-1.mga4 + Revision: 568256 - New version: 4.0.1.13 * Mon Dec 30 2013 philippem <philippem> 4.0.0.2-2.mga4 + Revision: 563330 - update to 4.0.0.2 to fix CVE-2013-4376 (mga#11557) * Wed Nov 20 2013 dams <dams> 4.0.0.0-5.mga4 + Revision: 552061 - Add the session database initialization in %%post * Wed Nov 20 2013 dams <dams> 4.0.0.0-4.mga4 + Revision: 552054 - Add 'extensions' directory as asked on mga#10739 - Fix URLs in README.install.urpmi - Fix %%x2golibdir * Fri Oct 18 2013 umeabot <umeabot> 4.0.0.0-3.mga4 + Revision: 520365 - Mageia 4 Mass Rebuild * Mon Jan 14 2013 umeabot <umeabot> 4.0.0.0-2.mga3 + Revision: 386405 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Wed Jan 09 2013 obgr_seneca <obgr_seneca> 4.0.0.0-1.mga3 + Revision: 344109 - added missing files - new version 4.0.0.0 * Thu Dec 13 2012 obgr_seneca <obgr_seneca> 3.1.1.9-1.mga3 + Revision: 330139 - new version * Wed Sep 26 2012 obgr_seneca <obgr_seneca> 3.1.1.4-1.mga3 + Revision: 297937 - New version * Tue Jul 03 2012 obgr_seneca <obgr_seneca> 3.1.1.3-1.mga3 + Revision: 266951 - Fixed path for build dir - New version 3.1.1.3 * Sun Jul 01 2012 obgr_seneca <obgr_seneca> 3.1.1.2-1.mga3 + Revision: 265897 - New version 3.1.1.2 * Thu Jun 14 2012 obgr_seneca <obgr_seneca> 3.1.1.0-2.mga3 + Revision: 260531 - Add missing require on sshfs * Mon May 28 2012 obgr_seneca <obgr_seneca> 3.1.1.0-1.mga3 + Revision: 247919 - New version 3.1.1.0 * Sat Apr 28 2012 tmb <tmb> 3.1.0.1-2.mga2 + Revision: 233908 - Require rpm-helper >= 0.24.8-1 for systemd support * Tue Apr 03 2012 obgr_seneca <obgr_seneca> 3.1.0.1-1.mga2 + Revision: 228280 - New version 3.1.0.1 * Fri Mar 09 2012 obgr_seneca <obgr_seneca> 3.1.0.0-2.mga2 + Revision: 222049 - remove symlink to non existing /etc/Xsession.d * Thu Mar 01 2012 obgr_seneca <obgr_seneca> 3.1.0.0-1.mga2 + Revision: 216577 - added missing BR on man - new version 3.1.0.0 - imported package x2goserver * Tue Feb 07 2012 Oliver Burger <obgr_seneca@mageia.org>3.0.99.10-1.mga2 - new version 3.0.99.10 * Sun Feb 05 2012 Oliver Burger <obgr_seneca@mageia.org> 3.0.99.9-3.mga2 - removed init script since it doesn't work - will be readded in the next days * Sat Jan 28 2012 Oliver Burger <obgr_seneca@mageia.org> 3.0.99.9-2.mga2 - added x2goafgent wrapper script * Sat Jan 28 2012 Oliver Burger <obgr_seneca@mageia.org> 3.0.99.9-1.mga2 - new version 3.0.99.9 - initial build for Mageia * Fri Jun 11 2010 Oliver Burger <rpm@mandrivauser.de> 3.0.1-3mud2010.1 - rebuild for 2010.1 * Sat Nov 07 2009 Oliver Burger <rpm@mandrivauser.de> 3.0.1-2mud2010.0 - rebuild for 2010.0 final * Sun Aug 09 2009 Oliver Burger <rpm@mandrivauser.de> 3.0.1-1mud2010.0 - rebuild for 2010.0/cooker * Thu Apr 30 2009 Oliver Burger <rpm@mandrivauser.de> 3.0.1-1mud2009.1 - new version 3.0.1 * Thu Apr 30 2009 Oliver Burger <rpm@mandrivauser.de> 2.0.1-3mud2009.1 - rebuild for 2009.1 Final * Wed Feb 04 2009 Oliver Burger <rpm@mandrivauser.de> 2.0.1-2mud2009.0 - new patch-level 2.0.1-19 * Mon Dec 08 2008 Oliver Burger <rpm@mandrivauser.de> 2.0.1-1mud2009.0 - Rebuild for 2009.0 * Fri Jul 18 2008 Oliver Burger <rpm@mandrivauser.de> 2.0.1-2mud2008.1 - Rebuild with lenny-packages * Thu Jul 17 2008 Oliver Burger <rpm@mandrivauser.de> 2.0.1-1mud2008.1 - Rebuild for Mandrivalinux - based upon ALT-package - init-Script taken from original deb-package * Mon Jul 14 2008 Mikhail Efremov <sem@altlinux.org> 2.0.1-alt3 - spec cleanup * Wed Jun 25 2008 Mikhail Efremov <sem@altlinux.org> 2.0.1-alt2 - Debian patches are added * Wed Jun 04 2008 Mikhail Efremov <sem@altlinux.org> 2.0.1-alt1 - initial build