File x2goserver.spec of Package x2goserver
#
# spec file for package x2goserver
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: x2goserver
Version: 4.1.0.3
Release: lp156.0.1
Summary: X2Go Server and Tools
License: GPL-2.0-or-later
Group: Productivity/Networking/Remote Desktop
URL: https://x2go.org/
#DL-URL: http://code.x2go.org/releases/source/x2goserver/
#Git-Clone: git://code.x2go.org/x2goserver
#Git-Web: http://code.x2go.org/gitweb?p=x2goserver.git;a=summary
Source: https://code.x2go.org/releases/source/%name/%name-%version.tar.gz
Source1: https://code.x2go.org/releases/source/%name/%name-%version.tar.gz.asc
Source4: %name.keyring
Source5: %name-rpmlintrc
Patch2: x2goserver-corrected-numlock-basb.patch
Patch3: distro.diff
BuildRequires: desktop-file-utils
BuildRequires: eh-man2html
BuildRequires: fdupes
BuildRequires: findutils
BuildRequires: gcc
BuildRequires: man
BuildRequires: nxagent
BuildRequires: shadow
BuildRequires: shared-mime-info
BuildRequires: sudo
BuildRequires: systemd
BuildRequires: systemd-rpm-macros
BuildRequires: sysuser-tools
BuildRequires: xinit
BuildRequires: perl(Config::Simple)
BuildRequires: perl(DBD::SQLite)
BuildRequires: perl(DBI) >= 1.617
BuildRequires: perl(ExtUtils::MakeMaker)
Requires: bash
Requires: bc
Requires: coreutils
Requires: findutils
Requires: fonts-config
Requires: fuse
Requires: gawk
Requires: grep
Requires: iproute2
Requires: lsof
Requires: net-tools
Requires: numlockx
Requires: openssh
Requires: perl-X2Go-Server = %version-%release
Requires: perl-base
Requires: psmisc
Requires: pwgen
Requires: sed
Requires: setxkbmap
Requires: sshfs
Requires: sudo
Requires: util-linux
Requires: x2goagent
Requires: x2goserver-common
Requires: x2goserver-extensions
Requires: x2goserver-x2goagent = %version-%release
Requires: x2goserver-xsession
Requires: xkeyboard-config
Requires: xmessage
Requires: xorg-x11-xauth
Requires: xwininfo
Requires: perl(Capture::Tiny)
Requires: perl(Config::Simple)
Requires: perl(Cwd)
Requires: perl(DBD::Pg)
Requires: perl(DBD::SQLite) >= 1.27
Requires: perl(DBI)
Requires: perl(Encode::Locale)
Requires: perl(File::BaseDir)
Requires: perl(File::Basename)
Requires: perl(File::Copy)
Requires: perl(File::Path)
Requires: perl(File::ReadBackwards)
Requires: perl(File::Which)
Requires: perl(Getopt::Long)
Requires: perl(POSIX)
Requires: perl(Switch)
Requires: perl(Sys::Hostname)
Requires: perl(Sys::Syslog) >= 0.14
Requires: perl(Try::Tiny)
Requires(post): permissions
Requires(verify): permissions
Requires(post): grep
Requires(post): perl-X2Go-Server-DB
Requires(post): x2goserver-common
Requires(pre): shadow
Requires(post): perl(Config::Simple)
Requires(post): perl(DBD::SQLite)
Requires(post): perl(DBI) >= 1.617
Suggests: x2goserver-fmbindings
Suggests: x2goserver-printing
%perl_requires
%{?systemd_requires}
%sysusers_requires
#Requires: polkit-pkla-compat (or polkit <= 0.105)
# -> %_sysconfdir/polkit-1/localauthority/10-vendor.d/x2goserver-no-colord.pkla
#or
#Requires: polkit (>= 0.106)
# -> %_sysconfdir/polkit-1/rules.d/x2goserver-no-colord.rules
%{?perl_default_filter}
%if 0%{?fedora} > 19 || 0%{?el5} || 0%{?el6} || 0%{?el7}
BuildRequires: logcheck
%endif
%description
X2Go is a server based 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
This package contains the main daemon and tools for X2Go server-side session
administrations.
%package common
Summary: X2Go Server (common files)
Group: Productivity/Networking/Remote Desktop
BuildRequires: shadow
Requires(pre): shadow
%perl_requires
%if 0%{?suse_version} > 1500
# OpenSuSE Tumbleweed currently has a bug and doesn't pull in
# openSUSE-release automatically, leaving %_sysconfdir/os-release a dangling
# symlink.
# Why? No idea.
BuildRequires: openSUSE-release
%endif
%description common
X2Go is a server based computing environment.
This package contains common files needed by the X2Go Server
and the X2Go::Server Perl API.
%package -n perl-X2Go-Server
Summary: Perl X2Go::Server package
Group: Development/Libraries/Perl
Requires: perl-X2Go-Log = %version-%release
Requires: perl-X2Go-Server-DB = %version-%release
Requires: x2goserver-common = %version-%release
Requires: perl(Capture::Tiny)
%perl_requires
%description -n perl-X2Go-Server
X2Go is a server based computing environment.
This package contains the X2Go::Server Perl package.
%package -n perl-X2Go-Server-DB
Summary: Perl X2Go::Server::DB package
Group: Development/Libraries/Perl
Requires: perl-X2Go-Log = %version-%release
Requires: x2goserver-common = %version-%release
Requires: perl(Config::Simple)
Requires: perl(DBD::Pg)
Requires: perl(DBD::SQLite)
#Requires: perl(DBD::mysql)
Requires(pre): permissions
Requires(post): perl(DBD::SQLite)
%perl_requires
%description -n perl-X2Go-Server-DB
X2Go is a server based computing environment.
This package contains the X2Go::Server::DB Perl package.
%package -n perl-X2Go-Log
Summary: Perl X2Go::Log package
Group: Development/Libraries/Perl
Requires: x2goserver-common = %version-%release
%perl_requires
%description -n perl-X2Go-Log
X2Go is a server based computing environment.
This package contains the X2Go::Log Perl package.
%package x2goagent
Summary: X2Go Server's X2Go Agent Xserver
Group: Applications/System
Requires: nxagent >= 3.5.99.17
Conflicts: x2goagent < %version-%release
Obsoletes: x2goagent < %version-%release
Provides: x2goagent = %version-%release
%description x2goagent
X2Go is a software suite that uses NX and/or KDrive technology for remote
desktop computing.
NX technology implements a very efficient compression of the X11
protocol. This increases performance when using X applications over a
network, especially a slow one.
X2Go agent functionality has been completely incorporated into NX
agent's code base. If the nxagent binary is executed under the name of
`x2goagent', the X2Go functionalities get activated.
This package is a wrapper that activates X2Go branding in nxagent.
Please refer to the nxagent package's description for more information
on NX.
#%%package x2gokdrive
#Group: Applications/System
#Summary: X2Go Server's X2Go KDrive Xserver
#Requires: xorg-x11-server-x2gokdrive
#%%description x2gokdrive
#X2Go is a software suite that uses NX and/or KDrive technology for
#remote desktop computing.
#
#X2Go KDrive technology implements a remote X11 Xserver backend for
#modern desktop environments, namely desktops derived from the GNOME
#desktop shell.
#
#X2Go KDrive does not require an XServer on the client-side, only the
#X11-independent x2gokdriveclient. esktop session data transfers from
#server to client use differential image compression and image data gets
#cached client-side.
%package printing
Summary: X2Go Server (printing support)
Group: Productivity/Networking/Remote Desktop
BuildRequires: shadow
Requires: %name = %version-%release
Requires(pre): shadow
%perl_requires
%description printing
The X2Go Server printing package provides client-side printing support for
X2Go.
This package has to be installed on X2Go servers that shall be able to pass
X2Go print jobs on to the X2Go client.
This package co-operates with the cups-x2go CUPS backend. If CUPS server and
X2Go server are hosted on different machines, then make sure you install
this package on the X2Go server(s) (and the cups-x2go package on the CUPS
server).
%package desktopsharing
Summary: X2Go Server (Desktop Sharing support)
Group: Productivity/Networking/Remote Desktop
Requires: %name = %version-%release
Requires: x2godesktopsharing >= 3.2.0.0
%description desktopsharing
X2Go Desktop Sharing is an X2Go add-on feature that allows a user to
grant other X2Go users access to the current session (shadow session
support). The user's current session may be an X2Go session itself or
simply a local X11 session.
This package contains all the integration and configuration logics
of a system-wide manageable desktop sharing setup.
%package extensions
Summary: X2Go Server (extension support)
Group: Productivity/Networking/Remote Desktop
Requires: %name = %version-%release
%description extensions
The X2Go Server extension namespace offers contributors
to add script functionality to X2Go.
Make sure you have this package installed on your server
if you want X2Go clients to be able to access your server
without lack of features.
%package xsession
Summary: X2Go Server (Xsession runner)
Group: Productivity/Networking/Remote Desktop
Requires: %name = %version-%release
Requires: dbus-1
# For %_sysconfdir/X11/Xresources
Requires: xinit
Requires: perl(Cwd)
%perl_requires
%description xsession
This X2Go Server add-on enables Xsession script handling
when starting desktop sessions with X2Go.
Amongst others the parsing of Xsession scripts will
enable desktop-profiles, ssh-agent startups, gpgagent
startups and many more Xsession related features on
X2Go session login automagically.
%package fmbindings
Summary: X2Go Server (file manager bindings)
Group: Productivity/Networking/Remote Desktop
Requires: %name = %version-%release
Requires: xdg-utils
Requires(post): desktop-file-utils
Requires(post): shared-mime-info
Requires(postun): desktop-file-utils
Requires(postun): shared-mime-info
%description fmbindings
This package contains generic MIME type information
for X2Go's local folder sharing. It can be used with all
freedesktop.org compliant desktop shells.
However, this package can be superseded by other, more specific
destkop binding components, if installed and being used with the
corresponding desktop shell:
- under LXDE by x2golxdebindings
- under GNOMEv2 by x2gognomebindings
- under KDE4 by plasma-widget-x2go
- under MATE by x2gomatebindings
%package logcheck
Summary: X2Go Server (logcheck configuration)
Requires: %name = %version-%release
%if 0%{?fedora} > 19 || 0%{?el5} || 0%{?el6} || 0%{?el7}
Requires: logcheck
%endif
%if 0%{?fedora} || 0%{?rhel}
Group: Applications/Communications
%else
Group: Productivity/Networking/Remote Desktop
%endif
%description logcheck
X2Go is a server based computing environment.
This package contains the logcheck configuration files that avoid
false-positives when running X2Go sessions.
%prep
%setup -q
%patch2 -p1
# Don't try to be root
sed -i -e 's/-o root -g root//' */Makefile
%ifarch x86_64
sed -i -e 's|\$base\/lib|\$base\/%{_lib}|g' x2goserver/bin/x2gopath
%endif
%build
%make_build CFLAGS='%{?__global_cppflags} %{?__global_cflags} %optflags' LDFLAGS='%{?__global_ldflags}' PERL_INSTALLDIRS='vendor' PREFIX='%_prefix' NXLIBDIR='%_libdir/nx' LIBDIR='%_libdir/x2go'
%install
b="%buildroot"
%make_install DESTDIR='%buildroot' PREFIX='%_prefix' NXLIBDIR='%_libdir/nx' LIBDIR='%_libdir/x2go'
find "%buildroot" -type l -exec ls -al {} +
%if 0%{?suse_version} >= 1550
ln -fs /usr/etc/X11/Xresources "%buildroot/etc/x2go/Xresources"
%endif
# Make sure the .packlist file is removed from %%perl_vendorarch...
find %buildroot%perl_vendorarch -name .packlist -print -delete
# Remove placeholder files (in a way that works on EPEL-5, as well)
find %buildroot%_libdir/x2go/extensions/ -type f -name ".placeholder" -print -delete
# x2gouser homedir, state dir
mkdir -p %buildroot%_localstatedir/lib/x2go/
# Create empty session file for %%ghost
touch %buildroot%_localstatedir/lib/x2go/x2go_sessions
# Printing spool dir
mkdir -p %buildroot%_localstatedir/spool/x2goprint
# Systemd session cleanup script
mkdir -p %buildroot%_unitdir
install -pm0644 %name.service %buildroot%_unitdir
mkdir -p %buildroot%_sbindir
ln -s %_sbindir/service %buildroot%_sbindir/rc%name
desktop-file-validate %buildroot%_datadir/applications/x2gofm.desktop
chmod -x %buildroot%_datadir/applications/x2gofm.desktop
mkdir -p "%buildroot%_sysconfdir/permissions.d"
cat > "%buildroot%_sysconfdir/permissions.d/perl-X2Go-Server-DB" <<-EOF
%_libdir/x2go/libx2go-server-db-sqlite3-wrapper root:x2gouser 02755
EOF
# Dummy file - will be created/removed in post* scriptlets.
# We just need this here for the %%ghost directory to work.
touch "%buildroot%_sysconfdir/x2go/applications"
mkdir -p "$b/%_sysusersdir"
echo 'u x2gouser - "x2go" %_localstatedir/lib/x2go' >system-user-x2gouser.conf
echo 'u x2goprint - "x2go" %_localstatedir/spool/x2goprint' >system-user-x2goprint.conf
cp -a system-user-*.conf "$b/%_sysusersdir/"
%sysusers_generate_pre system-user-x2gouser.conf snip-x2gouser system-user-x2gouser.conf
%sysusers_generate_pre system-user-x2goprint.conf snip-x2goprint system-user-x2goprint.conf
%pre common -f snip-x2gouser.pre
%post common
%tmpfiles_create %_tmpfilesdir/%name.conf
%post
# Initialize the session database
if [ ! -s %_localstatedir/lib/x2go/x2go_sessions ]; then
if grep -E "^backend=sqlite.*" %_sysconfdir/x2go/x2gosql/sql 1>/dev/null 2>&1; then
%_sbindir/x2godbadmin --createdb 1>/dev/null 2>&1 || :
fi
fi
if grep -E "^backend=sqlite.*" %_sysconfdir/x2go/x2gosql/sql 1>/dev/null 2>/dev/null; then
if [ -s %_localstatedir/lib/x2go/x2go_sessions ]; then
%_sbindir/x2godbadmin --updatedb 1>/dev/null 2>/dev/null || :
fi
fi
# create %_sysconfdir/x2go/applications symlink if not already there
# as a regular file, as a symlink, as a special file or as a directory
# N.B.: dangling symlinks will lead to test -e FAILING, because the symlink is dereferenced.
# This means that without the explicit symlink check (which doesn't dereference the last
# element), the ln call would be executed and fail, since the file/symlink already exists,
# leading to this scriptlet failing and hence leading to the installation failing.
if ! [ -e "%_sysconfdir/x2go/applications" ] && ! [ -L "%_sysconfdir/x2go/applications" ]; then
ln -s "%_datadir/applications" "%_sysconfdir/x2go/applications"
fi
%service_add_post x2goserver.service
%preun
if [ "$1" = "0" ]; then
if [ -L %_sysconfdir/x2go/applications ]; then
rm -f %_sysconfdir/x2go/applications || :
fi
fi
%service_del_preun x2goserver.service
%pre
%service_add_pre x2goserver.service
%postun
%service_del_postun x2goserver.service
%post -n perl-X2Go-Server-DB
%set_permissions %_libdir/x2go/libx2go-server-db-sqlite3-wrapper
%verifyscript -n perl-X2Go-Server-DB
%verify_permissions -e %_libdir/x2go/libx2go-server-db-sqlite3-wrapper
%post fmbindings
# Bug in SuSE's mime DB update script, work around it...
mkdir -p "%_localstatedir/cache/gio-2.0"
%mime_database_post
%desktop_database_post
# We need the "weird" foo && foo < ... structure, because we only want to check the value
# *if* the macro is defined. Otherwise it will decay to 0 which means that the branch
# is always triggered - even on operating systems for which it should not be triggered.
# For example, this branch would be taken on Fedora >= 24 if using a plain "0%{?rhel} < 8"
# condition, since this ("0 < 8") would be true on a Fedora system.
%postun fmbindings
if [ $1 -eq 0 ] ; then
mkdir -p "%_localstatedir/cache/gio-2.0"
%mime_database_postun
%desktop_database_postun
fi
%pre printing -f snip-x2goprint.pre
%files
%license COPYING
%doc README.md README.i18n ChangeLog
# Workaround for sudoers on OpenSUSE 11/SLE{S,D} 11.
%config(noreplace) %_sysconfdir/sudoers.d/x2goserver
## polkit (<= 0.105)
#%%config(noreplace) %%_sysconfdir/polkit-1/localauthority/10-vendor.d/x2goserver-no-colord.pkla
## polkit (>= 0.106)
#%%config(noreplace) %%_sysconfdir/polkit-1/rules.d/x2goserver-no-colord.rules
%_bindir/x2go*
%exclude %_bindir/x2goserver-run-extensions
%exclude %_bindir/x2gofm
%exclude %_bindir/x2goprint
%exclude %_bindir/x2goagent
%exclude %_bindir/x2go*-desktopsharing
%dir %_libdir/x2go
%_libdir/x2go/x2gochangestatus
%_libdir/x2go/x2gocheckport
%_libdir/x2go/x2gocreatesession
%_libdir/x2go/x2gocreateshadowsession
%_libdir/x2go/x2gogetagent
%_libdir/x2go/x2gogetagentstate
%_libdir/x2go/x2gogetdisplays
%_libdir/x2go/x2gogetfreeport
%_libdir/x2go/x2gogetports
%_libdir/x2go/x2gogetrandomport
%_libdir/x2go/x2gogetstatus
%_libdir/x2go/x2goinsertport
%_libdir/x2go/x2goinsertsession
%_libdir/x2go/x2goinsertshadowsession
#%%_libdir/x2go/x2goisint
%_libdir/x2go/x2goistrue
%_libdir/x2go/x2golistsessions_sql
%_libdir/x2go/x2gologlevel
%_libdir/x2go/x2goqueryconfig
%_libdir/x2go/x2goresume
%_libdir/x2go/x2gormforward
%_libdir/x2go/x2gormport
%_libdir/x2go/x2gosuspend-agent
%_libdir/x2go/x2gosyslog
%_sbindir/x2go*
%_mandir/man8/x2go*.8%{?ext_man}
%_mandir/man1/x2go*.1%{?ext_man}
%exclude %_mandir/man8/x2gofm.8*
%exclude %_mandir/man8/x2goprint.8*
%exclude %_mandir/man8/x2goserver-run-extensions.8*
%exclude %_mandir/man8/x2go*-desktopsharing.8*
%exclude %_mandir/man1/x2goagent.1*
%dir %_datadir/x2go/
%dir %_datadir/x2go/x2gofeature.d/
%_datadir/x2go/x2gofeature.d/x2goserver.features
%_datadir/x2go/versions/VERSION.x2goserver
%ghost %attr(0660,root,x2gouser) %_localstatedir/lib/x2go/x2go_sessions
%_unitdir/x2goserver.service
%_sbindir/rc%name
##%%_sbindir/rcx2goserver
%files -n perl-X2Go-Log
%license COPYING
%doc README.md README.i18n ChangeLog
%dir %perl_vendorlib/X2Go
%perl_vendorlib/X2Go/Log.pm
%_mandir/man3/X2Go::Log.*
%files -n perl-X2Go-Server
%license COPYING
%doc README.md README.i18n ChangeLog
%dir %perl_vendorlib/X2Go/Server
%perl_vendorlib/X2Go/Config.pm
%perl_vendorlib/X2Go/Server.pm
%perl_vendorlib/X2Go/SupeReNicer.pm
%perl_vendorlib/X2Go/Utils.pm
%perl_vendorlib/X2Go/Server/Agent*
%_mandir/man3/X2Go::Config.*
%_mandir/man3/X2Go::Server.*
%_mandir/man3/X2Go::SupeReNicer.*
%_mandir/man3/X2Go::Utils.*
%_mandir/man3/X2Go::Server::Agent.*
%_mandir/man3/X2Go::Server::Agent::*
%files -n perl-X2Go-Server-DB
%license COPYING
%doc README.md README.i18n ChangeLog
%dir %_libdir/x2go
%config(noreplace) %_sysconfdir/permissions.d/perl-X2Go-Server-DB
%perl_vendorlib/X2Go/Server/DB*
%attr(2755,root,x2gouser) %_libdir/x2go/libx2go-server-db-sqlite3-wrapper
%_libdir/x2go/libx2go-server-db-sqlite3-wrapper.pl
%_mandir/man3/X2Go::Server::DB.*
%_mandir/man3/X2Go::Server::DB::*
%files common
%license COPYING
%doc README.md README.i18n ChangeLog
%attr(0775,root,x2gouser) %dir %_localstatedir/lib/x2go/
%dir %_sysconfdir/x2go/
%dir %_sysconfdir/x2go/x2gosql
%dir %_sysconfdir/x2go/x2gosql/passwords
%ghost %config(noreplace) %_sysconfdir/x2go/applications
%config(noreplace) %_sysconfdir/x2go/x2go_logout
%config(noreplace) %_sysconfdir/x2go/x2go_logout.d/
%config(noreplace) %_sysconfdir/x2go/x2goserver.conf
%config(noreplace) %_sysconfdir/x2go/x2gosql/sql
%_tmpfilesdir/%name.conf
%_mandir/man5/x2goserver.conf.5%{?ext_man}
%dir %_datadir/x2go/versions
%_datadir/x2go/versions/VERSION.x2goserver-common
%_sysusersdir/system-user-x2gouser.conf
%files desktopsharing
%license COPYING
%doc README.md README.i18n ChangeLog
%_bindir/x2go*-desktopsharing
%_datadir/x2go/versions/VERSION.x2goserver-desktopsharing
%_datadir/x2go/x2gofeature.d/x2goserver-desktopsharing.features
%_mandir/man8/x2go*-desktopsharing.8%{?ext_man}
%dir %_sysconfdir/x2go/desktopsharing
%config(noreplace) %_sysconfdir/x2go/desktopsharing/settings
%files extensions
%license COPYING
%doc README.md README.i18n ChangeLog
%_libdir/x2go/extensions
%_bindir/x2goserver-run-extensions
%_datadir/x2go/x2gofeature.d/x2goserver-extensions.features
%_datadir/x2go/versions/VERSION.x2goserver-extensions
%_mandir/man8/x2goserver-run-extensions.8%{?ext_man}
%files fmbindings
%license COPYING
%doc README.md README.i18n ChangeLog
%_bindir/x2gofm
%_datadir/applications/x2gofm.desktop
%_datadir/mime/packages/sshfs-x2go.xml
%_datadir/x2go/versions/VERSION.x2goserver-fmbindings
%_datadir/x2go/x2gofeature.d/x2goserver-fmbindings.features
%_mandir/man8/x2gofm.8%{?ext_man}
%files x2goagent
%license COPYING
%doc README.md README.i18n ChangeLog
%_bindir/x2goagent
%_libdir/nx/bin/x2goagent
%_datadir/x2go/versions/VERSION.x2goserver-x2goagent
%_datadir/pixmaps/x2goagent.xpm
%_datadir/x2go/x2gofeature.d/x2goserver-x2goagent.features
%_mandir/man1/x2goagent.1%{?ext_man}
%config(noreplace) %_sysconfdir/x2go/x2goagent.options
%config(noreplace) %_sysconfdir/x2go/keystrokes.cfg
%config(noreplace) %_sysconfdir/x2go/x2goagent.keyboard
#%%files x2gokdrive
#%%license COPYING
#%%doc README.md README.i18n ChangeLog
#%%_datadir/x2go/versions/VERSION.x2goserver-x2gokdrive
#%%_datadir/x2go/x2gofeature.d/x2goserver-x2gokdrive.features
#%%config(noreplace) %%_sysconfdir/x2go/x2gokdrive.options
%files printing
%license COPYING
%doc README.md README.i18n ChangeLog
%_bindir/x2goprint
%_datadir/x2go/versions/VERSION.x2goserver-printing
%_datadir/x2go/x2gofeature.d/x2goserver-printing.features
%attr(0700,x2goprint,x2goprint) %_localstatedir/spool/x2goprint
%_mandir/man8/x2goprint.8%{?ext_man}
%_sysusersdir/system-user-x2goprint.conf
%files xsession
%license COPYING
%doc README.md README.i18n ChangeLog
##%%_sysconfdir/x2go/xinitrc.d
%_sysconfdir/x2go/Xresources
%config(noreplace) %_sysconfdir/x2go/Xsession
%_datadir/x2go/x2gofeature.d/x2goserver-xsession.features
%_datadir/x2go/versions/VERSION.x2goserver-xsession
%files logcheck
%license COPYING
%doc README.md README.i18n ChangeLog
# logcheck is not available on OpenSUSE, SLES/SLED, FC19 and RHEL.
# Please re-check this periodically.
%if 0%{?suse_version} || ( 0%{?fedora} && 0%{?fedora} < 20 ) || 0%{?rhel}
%dir %_sysconfdir/logcheck
%dir %_sysconfdir/logcheck/ignore.d.server
%endif
%config(noreplace) %_sysconfdir/logcheck/ignore.d.server/x2goserver
%changelog
* Mon Feb 12 2024 Jan Engelhardt <jengelh@inai.de>
- Use sysuser-tools to generate `x2gouser` and `x2goprint` users
[boo#1219694]
* Mon Oct 3 2022 Jan Engelhardt <jengelh@inai.de>
- Add distro.diff [boo#1183642] [boo#1203953]
* Fri Jul 16 2021 ecsos <ecsos@opensuse.org>
- Change base/lib to base/lib64 if arch is x86_64 in x2gopath,
because package spec install x2go files under /usr/lib64/x2go
if it es an x86_64.
* Fri Jun 11 2021 ecsos <ecsos@opensuse.org>
- Update to 4.1.0.3
- x2goserver/lib/x2gocheckport: remove executable flag. This file is STILL
not meant to be executed directly.
- libx2go-server-db-perl/Makefile: make sure our {C,LD}FLAGS are always
appended to the user-provided ones.
- x2goserver-desktopsharing/bin/x2goterminate-desktopsharing: replace
historical "egrep" with "grep -E".
- x2goserver-desktopsharing/bin/x2goterminate-desktopsharing: don't use
negative exit codes.
- x2goserver-desktopsharing/bin/x2goterminate-desktopsharing: more curly
braces, quotes etc.
- x2goserver-extensions/bin/x2goserver-run-extensions: replace historical
"egrep" with "grep -E".
- x2goserver-extensions/bin/x2goserver-run-extensions: don't use negative
exit codes.
- x2goserver-extensions/bin/x2goserver-run-extensions: more curly braces,
quotes etc.
- x2goserver/bin/x2gofeaturelist: replace historical "egrep" with "grep
- E".
- x2goserver/bin/x2gofeaturelist: more curly braces, quotes etc.
- x2goserver/bin/x2goruncommand: replace historical "egrep" with "grep
- E".
- x2goserver/bin/x2goversion: replace historical "egrep" with "grep -E".
- x2goserver/bin/x2goversion: more curly braces, quotes etc.
- x2goserver/bin/x2gostartagent: use single quotes instead of double
quotes for literal strings.
- x2goserver-x2goagent/etc/x2goagent.options: re-enable BIG-REQUESTS;
newer nx-libs versions (3.5.99.17+) should handle this much better.
Fixes: #1325. Fixes: #1321.
- misc: copyright updates, but for contributors who haven't been active or
requested not to be bumped.
- misc: switch to HTTPS-based URLs where appropriate.
- misc: update Oleksandr's email address.
- misc manpages: pre-release date update.
- libx2go-server-db-perl/src/libx2go-server-db-sqlite3-wrapper.c: revamp
wrapper, alike to what was done in x2gobroker.
- x2goserver{/bin/x2gostartagent,-x2goagent/etc/x2goagent.options}: allow
setting nxagent nx/nx options on the server via x2goagent.options.
Fixes: #1322.
- Make package compatible to nx-libs version >= 3.5.99.0
- There are so many changes since 4.0.1.20, so please look add
changelog from upstream for all changes.
- Change mostly of code in spec.
- Delete x2gocleansessions.service and x2goserver.service from
upstream instead.
* Thu Mar 11 2021 Jan Engelhardt <jengelh@inai.de>
- Follow up on x2go replacing makepasswd with pwgen
* Mon Dec 5 2016 jengelh@inai.de
- Update to new upstream release 4.0.1.20
* Add support for qterminal
* x2gosessionlimit: don't iterate over the whole groups file.
Only check the primary and secondary groups as returned by
getgid()/getgroups(). Fixes long delays in session startup on
machines with lots of groups.
* x2gocleansessions: re-fetch the current sessions' status
before handling it. Using the "cached" value from the initial
x2golistsessions run may be desynchronized with the actual
current value. Avoids a race condition logging users out
after they attached to a session.
* x2gocleansessions: rename %%remembered_sessions_since to
%%remembered_sessions_status_since. That's what it really is.
Add comments to further clarify what it's actually doing.
Change it to include a timestamp instead of the "iteration
count multiplied by two" value. Compare timestamps to see if
killing hanging nxagent processes is necessary.
* x2gocleansessions: rename remembered_sessions_status_since to
%%remembered_sessions_status_since_time. Add
%%remembered_sessions_status_since_iterations.
* x2gocleansessions: give suspended-but-running sessions a
grace period of one iteration.
* x2gomountdirs: remove blowfish Cipher spec hardcoded for
sshfs mounts. Resolves errors like "Connection reset by
peer." because modern openssh disables BF.
* Sun Sep 20 2015 jengelh@inai.de
- Update to new upstream release 4.0.1.19
* Wed Nov 12 2014 wagner-thomas@gmx.at
- Revert back to 4.0.1.15 since a major feature of x2goserver is
broken with further versions.
openSUSE bug: bnc#904968
x2go bug: #671
* Thu Nov 6 2014 wagner-thomas@gmx.at
- Update to new upstream release 4.0.1.18
* Remove stale X11 lock files in cases where x2goagent mysteriously
disappeared (e.g., due to kill -9 or a crash).
* Make sure that incompletely started up sessions get wiped from the
session DB after 10 seconds.
* Make X2Go Server aware of the Openbox and IceWM desktop environments
* Fix launching GNOME 3 Fallback session (GNOME 3.4 & 3.6)
* Fix support for Cinnamon 1.4
* Fix the logic for launching Cinnamon 2.0 and 2.2
- package either sysvinit or systemd files, not both
* Thu May 1 2014 jengelh@inai.de
- Add perl-File-ReadBackwards runtime dependency (bnc#875969)
* Sun Nov 24 2013 jengelh@inai.de
- Update to new upstream release 4.0.1.6
* Correctly do resizing on session resume
- Install Xsession file as executable, make Xsession.d directory location
configurable during build process, do not create unused Xsession.options.
(Fixes: #278).
- Fine-tune x2goserver-xsession/Makefile: if /etc/X11 has Xsession.d and/or
Xsession.options they get symlinked into /etc/x2go. Otherwise Xsession.d
and Xsession.options are created under /etc/x2go as empty dir/file.
(Fixes: #278).
* Resolve a problem with automatic keyboard setup (via x2gosetkeyboard)
while resuming a session.
- Provide sudoers.d/x2goserver file that allows sudoed commands under
KDE (by pertaining the env var QT_GRAPHICSSYSTEM. (Fixes: #276).
* Start/resume rootless sessions without geometry parameter. Esp.
using X2GO_GEOMETRY=fullscreen for rootless sessions lead to an
extra 1x1 px session window.
* Make umask that is used when mounting client-side directories via
SSHFS configurable in x2goserver.conf.
* Sun Aug 4 2013 jengelh@inai.de
- Update to new upstream release 4.0.1.4
* Multiply query USED_DISPLAYS and USED_PORTS in x2gostartagent to
minimize race conditions in cases where many clients launch
session simultaneously.
* Make X2Go Server aware of the MATE desktop environment.
* x2goumount-session: allow args $X2GO_SESSION <server-mount-point>
in addition to $X2GO_SESSION <client-directory>.
* The gnome-terminal TERMINAL returns immediately and runs in
background starting with GNOME 3.8. Thus, set IMEXIT to false for
gnome-terminal.
- Update to new upstream release 4.0.1.6
* Fix client-side unmounting of shared directories.
* Tue Jul 9 2013 lars@linux-schulserver.de
- Update to 4.0.1.3:
+ Improve session status management in x2gocleansessions
+ Accelerate resuming of sessions. Fix failures when resuming
sessions that result from the latest changes in
x2gocleansessions.
- added rcx2gocleansessions symlink as "requested" by rpmlint
- added unkown uid/gid entries to rpmlintrc
* Sat Jun 15 2013 jengelh@inai.de
- Update to new upstream release 4.0.1.1
- Remove 0001-x2gocleansessions-correct-path-to-Perl-modules.patch
(merged upstream)
* Wed Jun 12 2013 jengelh@inai.de
- Remove sudo files for no longer existing x2gopgwrapper
* Mon Jun 10 2013 jengelh@inai.de
- Add 0001-x2gocleansessions-correct-path-to-Perl-modules.patch:
make x2gocleansessions look into the proper path for .pm files
* Sun Jun 9 2013 jengelh@inai.de
- Update to new upstream release 4.0.1.0
* Make x2gomountdirs / x2goumount-session UNC path aware.
* Add support to x2gocleansessions to suspend session via state
changes in the session DB.
* Add support for terminating sessions via the session DB.
* Raise the frequency of the x2gocleansessions loop to every two
seconds.
* Send SIGKILL to blocked X-Server (x2goagent) processes, if they
do not disappear within 20 secs.
* Partially revert USED_PORTS detection code back to the old-style
awk-way.
* Wed May 22 2013 jengelh@inai.de
- Tell x2gosqlitewrapper the proper path to the trusted binary
(http://bugs.x2go.org/219)
* Sun May 19 2013 jengelh@inai.de
- Update to new upstream release 4.0.0.2
* Do parse profile/xprofile files in X2Go's Xsession file.
* Use x2gopath in Perl scripts to set the lib path.
* Use make_path from File::Path in x2godbadmin to create user
directory if not present.
* Security fix for setgid wrapper x2gosqlitewrapper.c. Hard-code
path to x2gosqlitewrapper.pl during build via defining a macro
in the Makefile.
- Remove x2gopath.diff (merged upstream)
* Sat Mar 23 2013 jengelh@inai.de
- Update to new upstream release 4.0.0.1
* Allow for deploying X2Go Published Applications system-wide on a
per-user basis (in /etc/x2go/applications-per-user/<username>).
* Sat Mar 2 2013 jengelh@inai.de
- Use %%systemd_{post,postun} macros outside of openSUSE.
* Thu Feb 21 2013 jengelh@inai.de
- Make sure x2gocleansessions uses libdir, not libexecdir,
to locate Perl modules
- Limit fdupes to /usr
* Tue Jan 8 2013 jengelh@inai.de
- Update to new upstream release 4.0.0.0
* Adapt Xinerama path in x2gopath
* Fix mounting of multiple paths
* Create /tmp/.X11-unix if not exists
* Disable XFIXES and GLX. Both are known to cause certain problems.
* Wed Nov 28 2012 jengelh@inai.de
- Require perl(DBI) >= 1.617 to resolve
“Can't locate object method "sqlite_busy_timeout" via package
"DBI::db" at ...”
* Fri Nov 23 2012 jengelh@inai.de
- Update to new upstream release 3.1.1.9
* Fix too many quotation marks in x2godesktopsharing
* Detect GNOME and UNITY startup commands via DISTRIB_RELEASE
version number
* Sun Nov 11 2012 jengelh@inai.de
- Update to new upstream release 3.1.1.6
* Prevent x2gocleansessions from leaving zombie processes behind
* Sat Sep 29 2012 jengelh@inai.de
- Explcitily require version 1.27 of DBD::SQLite since we
need sqlite_busy_timeout
* Wed Sep 26 2012 jengelh@inai.de
- Update to new upstream release 3.1.1.4
* Audio support (pulseaudio) with X2Go-proxied RDP sessions
* Media support (client-side shared directories) for X2Go-proxied
RDP sessions
* Sat Sep 1 2012 jengelh@inai.de
- Update to new upstream release 3.1.1.3
* No user-visible changes; patches were merged
* Tue Jul 3 2012 jengelh@inai.de
- Correct DB name when touching it in %%post; should be
x2go_sessions, not x2go_session.
* Tue Mar 6 2012 jengelh@medozas.de
- Package /var/lib/x2go with permissions required during runtime
* Mon Mar 5 2012 jengelh@medozas.de
- Untangled more libdirs into lib and libexec
* Tue Feb 28 2012 jengelh@medozas.de
- Replace most hardcoded paths by a dynamic script
* Sat Feb 25 2012 jengelh@medozas.de
- Needs at least Sys::Syslog-0.14 for LOG_UPTO function
* Fri Feb 24 2012 jengelh@medozas.de
- Edit scripts to look in the proper libexec location
- Exclude SUSE commands in %%post, %%preun, %%postun, %%verify to
be executed on non-SUSE
- Add xorg-x11-fonts-misc for Redhatish
* Wed Jan 25 2012 jengelh@medozas.de
- Update to new upstream release 3.0.99.9
* Fix for install stanzas in several Makefiles.
* Give X2Go session windows a human readable title.
* Desktop sharing: fix username of user who requests desktop
sharing.
* Fix x2gobasepath for Perl versions < 5.10.x.
* Fix x2godbadmin for Perl versions < 5.10.x.
* Remove x2gosetkeyboard from x2goserver-extensions package.
* Re-add x2gosetkeyboard via new subproject x2goserver-pyhoca.
* Call x2golistmounts with user privileges instead of using
db_getmounts in x2goprint script.
* Avoid potentially empty LD_LIBRARY_PATH path in x2goruncommand.
* Install x2gogetservers to $PREFIX/bin instead of
$PREFIX/lib/x2go.
* Wed Nov 25 2009 gburt@suse.de
- Initial packaging, version 3.0.1