# 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 %{_prefix}/lib/x2go Name: x2goserver Version: 3.1.1.9 Release: %mkrel 1 Summary: The server-side core of X2go License: GPLv2+ Group: Networking/Remote access Url: http://x2go.berlios.de/index-en.html Source0: http://code.x2go.org/releases/source/%{name}/%{name}-%{version}.tar.gz Source1: %{name}.service BuildRequires: gcc BuildRequires: perl BuildRequires: man 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 Suggests: %{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 neccesary 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 neccesary packages needed to run x2go with a postgresql setup. Note, you can also run x2go with a remote postgresql setup. %prep %setup -q %build export LC_ALL=C %make PREFIX=%{_prefix} %install export LC_ALL=C %makeinstall_std 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 %{SOURCE1} %{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 backend, 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 backend... The exact installation of x2goserver with PostgreSQL support is described here: http://wiki.x2go.org/adding_x2go_server_postgresql_support 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 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: http://wiki.x2go.org/installing_x2go_printing_debian_ubuntu 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 mkdir -p %{buildroot}%{_localstatedir}/spool/x2goprint %pre %_pre_useradd x2gouser %{_localstatedir}/lib/x2go /bin/false %_pre_useradd x2goprint %{_localstatedir}/spool/x2goprint /bin/false %post chown x2gouser:x2gouser %{_localstatedir}/lib/x2go chown x2goprint:x2goprint %{_localstatedir}/spool/x2goprint %postun %_postun_userdel x2gouser %_postun_userdel x2goprint %files sqlite %files postgresql %files %doc README.install.urpmi %doc %{_mandir}/man*/x2go* %dir %{_localstatedir}/lib/x2go %dir %{_localstatedir}/spool/x2goprint %{_datadir}/x2go %{_bindir}/x2gobasepath %{_bindir}/x2gocmdexitmessage %{_bindir}/x2gofeature %{_bindir}/x2gofeaturelist %{_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}/x2goshowblocks %{_bindir}/x2gostartagent %{_bindir}/x2gosuspend %{_bindir}/x2gosuspend-agent %{_bindir}/x2gosuspend-session %{_bindir}/x2goterminate %{_bindir}/x2goterminate-session %{_bindir}/x2goumount-session %{_bindir}/x2goversion %{_sbindir}/x2go* %{_sysconfdir}/X11/Xsession.options %dir %{_sysconfdir}/x2go %{_sysconfdir}/x2go/Xresources %{_sysconfdir}/x2go/Xsession %{_sysconfdir}/x2go/Xsession.options %config(noreplace) %{_sysconfdir}/x2go/x2goserver.conf %{_sysconfdir}/x2go/x2gosql/sql %{_unitdir}/%{name}.service %dir %{x2golibdir} %{x2golibdir}/x2gochangestatus %{x2golibdir}/x2gocreatesession %{x2golibdir}/x2godbwrapper.pm %{x2golibdir}/x2gogetagent %{x2golibdir}/x2gogetdisplays %{x2golibdir}/x2gogetports %{x2golibdir}/x2gogetstatus %{x2golibdir}/x2goinsertport %{x2golibdir}/x2goinsertsession %{x2golibdir}/x2golistsessions_sql %{x2golibdir}/x2gologlevel %{x2golibdir}/x2gologlevel.pm %{x2golibdir}/x2gormport %{x2golibdir}/x2goresume %attr(2755,root,x2gouser) %{x2golibdir}/x2gosqlitewrapper %{x2golibdir}/x2gosqlitewrapper.pl %{x2golibdir}/x2gosuspend-agent %{x2golibdir}/x2gosyslog