File x2gothinclient.spec of Package x2gothinclient
#
# spec file for package x2gothinclient
#
# Copyright (c) 2020 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# 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: x2gothinclient
Summary: Login daemon starting x2goclient in displaymanager mode
Version: 1.5.0.1
Release: 0
License: GPL-2.0-or-later
Group: Productivity/Networking/Remote Desktop
URL: https://wiki.x2go.org/
#DL-URL: http://code.x2go.org/releases/source/x2gothinclient/
#Git-Clone: git://code.x2go.org/x2gothinclient
#Git-Web: http://code.x2go.org/gitweb?p=x2gothinclient.git;a=summary
Source: http://code.x2go.org/releases/source/%name/%name-%version.tar.gz
Source2: http://code.x2go.org/releases/source/%name/%name-%version.tar.gz.asc
Source3: %name.keyring
Source4: %name-rpmlintrc
BuildRequires: gcc-c++
BuildRequires: libqt4-devel >= 4.6
Requires: coreutils
Requires: perl(IPC::Open3)
Requires: psmisc
Requires: x2goclient >= 3.99.1.1
Recommends: gpg2
Recommends: pinentry-x2go
Recommends: x2gocdmanager
Recommends: x2gocommon
Recommends: x2gousbmount
Recommends: x2gosmartcardrules
%if 0%{suse_version}
Requires: xauth
Requires: xinit
%endif
%if 0%{?centos_version} || 0%{?fedora_version} || 0%{?redhat_version}
Requires: xorg-x11-xauth
Requires: xorg-x11-xinit
%endif
Obsoletes: x2gothinshutdown
%description
x2go is a server based computing environment with
- session resuming
- low bandwith support
- LDAP support
- client side mass storage mounting support
- audio support
- authentication by smartcard and USB stick
Use the "x2gothinclient" package only for the x2go Thin Client
environment. (This package is meant to be installed in a chroot
environment.)
This package starts x2goclient in fullscreen mode--without window
decorations, without menu and toolbar, and optionally with enabled
LDAP support. The package ships the core x2go thin client daemon that
guards over x2goclient functionality.
x2goclient will behave like xdm, kdm or gdm on x2go thin clients.
%package -n x2gocdmanager
Summary: The x2go client-side daemon enabling automatic CD-ROM mounting
Group: Productivity/Networking/Remote Desktop
# killall->psmisc, mount
Requires: eject
Requires: lsscsi
Requires: psmisc
Requires: util-linux
%description -n x2gocdmanager
Use the "x2gocdmanager" package only for the x2go Thin Client
environment. (This package is meant to be installed in a chroot
environment.)
This package adds a client-side daemon to your x2go thin client that
enables automatic CD-ROM mounting within thin client x2go sessions.
%package -n x2gosmartcardrules
Summary: The x2go udev rules for smartcard readers
Group: Productivity/Networking/Remote Desktop
Requires: coreutils
Requires: sed
Requires: udev
%description -n x2gosmartcardrules
Use the "x2gosmartcardrules" package only for the x2go Thin Client
environment. (This package is meant to be installed in a chroot
environment.)
This package provides udev rules for smartcard readers (devices that
serve the purpose of ID card-based authentication).
%package -n x2gocommon
Summary: The x2go common files
Group: Productivity/Networking/Remote Desktop
Requires: coreutils
%description -n x2gocommon
The common files package only for the x2go Thin Client
environment.
This package provides common files.
%package -n x2gothinclientmanagement
Summary: Management tools for x2go thin client chroot server
Group: Productivity/Networking/Remote Desktop
# x2gothinclient_create: debootstrap wtf? patch, pwdutils
Requires: coreutils
Recommends: nfs-kernel-server, syslinux, tftp
Suggests: dhcp-server
%description -n x2gothinclientmanagement
Install the "x2gothinclientmanagement" package on the chroot server
that provides x2go thin client images over PXE/Etherboot.
For chroot servers, a very separate machine that only serves this
purpose is recommended.
%package -n x2gousbmount
Summary: Client-side USB mass storage device mounting for x2go
Group: Productivity/Networking/Remote Desktop
Requires: cryptsetup, coreutils, udev, util-linux
%description -n x2gousbmount
Use the "x2gousbmount" package only for the x2go Thin Client
environment. (This package is meant to be installed in a chroot
environment.)
This package adds client-side USB mass storage device mounting using
udev rules to your x2go thin client.
%prep
%setup -q
%build
pushd cdmanager/powerej/;
qmake QMAKE_CFLAGS+="%optflags" QMAKE_CXXFLAGS+="%optflags";
make %{?_smp_mflags};
popd;
%install
b="%buildroot";
echo "Install x2gocdmanager..."
pushd cdmanager/;
mkdir -p "$b/%_bindir" "$b/%_sbindir" "$b/%_mandir"/man{1,8};
install -pm0755 "powerej/x2goejectcd" "$b/%_bindir/";
install -pm0755 "x2gocdmanager" "$b/%_sbindir/";
install -pm0644 man/*.1 "$b/%_mandir/man1/";
install -pm0644 man/*.8 "$b/%_mandir/man8/";
popd;
echo "Install x2gosmartcardrules..."
pushd smartcardrules/;
mkdir -p "$b/%_prefix/lib/udev/rules.d" "$b/%_libexecdir/x2go/tce";
mkdir -p "$b/%_mandir/man8";
install -pm0644 *.rules "$b/%_prefix/lib/udev/rules.d/";
install -pm0755 x2gognupgccid "$b/%_libexecdir/x2go/tce/";
install -pm0644 man/*.8 "$b/%_mandir/man8/";
popd;
echo "Install x2gocommon..."
pushd common/;
mkdir -p "$b/%_sysconfdir/x2go" "$b/%_sysconfdir/x2go/freerdp" "$b/%_libexecdir/x2go";
install -pm0644 etc/freerdp/* "$b/%_sysconfdir/x2go/freerdp";
install -pm0755 lib/x2gothinclient_init "$b/%_libexecdir/x2go/";
popd;
echo "Install x2gothinclient..."
pushd displaymanager/;
mkdir -p "$b/%_sbindir" "$b/%_mandir/man8";
install -pm0755 sbin/x2gothinclientd "$b/%_sbindir/";
install -pm0644 man/*.8 "$b/%_mandir/man8/";
popd;
echo "Install x2gothinclientmanagement..."
pushd management/;
mkdir -p "$b/%_sbindir" "$b/%_sysconfdir/x2go" "$b/%_datadir/x2go/tce" "$b/%_datadir/x2go/tce/x2gothinclient_init.d";
mkdir -p "$b/%_mandir/man8";
install -pm0755 sbin/x2gothinclient_* "$b/%_sbindir/";
install -pm0644 etc/x2gothinclient_* "$b/%_sysconfdir/x2go/";
install -pm0644 share/etc/x2gothinclient-*.svg "$b/%_sysconfdir/x2go/";
install -pm0644 share/etc/x2gothinclient_sessions "$b/%_sysconfdir/x2go/";
install -pm0755 share/etc/x2gothinclient-*_start "$b/%_datadir/x2go/tce/";
install -pm0755 share/etc/x2gothinclient_init.d/* "$b/%_datadir/x2go/tce/x2gothinclient_init.d/";
install -pm0644 man/*.8 "$b/%_mandir/man8/";
cp -a share/tftpboot "$b/%_datadir/x2go/tce/";
popd;
echo "Install x2gousbmount..."
pushd usbmount/;
mkdir -p "$b/%_mandir/man8" "$b/%_prefix/lib/udev/rules.d" "$b/%_libexecdir/x2go/tce";
install -pm0644 61-x2gousbmount.rules "$b/%_prefix/lib/udev/rules.d/";
install -pm0755 x2gousbmount "$b/%_libexecdir/x2go/tce/";
install -pm0644 man/*.8 "$b/%_mandir/man8/";
popd;
%files
%_sbindir/x2gothinclientd
%_mandir/man8/x2gothinclientd.8*
%files -n x2gocdmanager
%_bindir/x2goejectcd
%_sbindir/x2gocdmanager
%_mandir/man1/x2goejectcd.1*
%_mandir/man8/x2gocdmanager.8*
%files -n x2gosmartcardrules
%dir %_prefix/lib/udev
%dir %_prefix/lib/udev/rules.d
%_prefix/lib/udev/rules.d/21-x2gognupgccid.rules
%dir %_libexecdir/x2go
%dir %_libexecdir/x2go/tce
%_libexecdir/x2go/tce/x2gognupgccid
%_mandir/man8/x2gognupgccid.8*
%files -n x2gocommon
%dir %_sysconfdir/x2go
%dir %_sysconfdir/x2go/freerdp
%dir %_libexecdir/x2go
%config(noreplace) %_sysconfdir/x2go/freerdp/known_hosts
%config(noreplace) %_sysconfdir/x2go/freerdp/known_hosts2
%_libexecdir/x2go/x2gothinclient_init
%files -n x2gothinclientmanagement
%_sbindir/x2gothinclient_*
%dir %_sysconfdir/x2go
%config(noreplace) %_sysconfdir/x2go/x2gothinclient_*
%config(noreplace) %_sysconfdir/x2go/x2gothinclient-*
%dir %_datadir/x2go
%dir %_datadir/x2go/tce
%dir %_datadir/x2go/tce/x2gothinclient_init.d
%_datadir/x2go/tce/x2gothinclient-*_start
%_datadir/x2go/tce/x2gothinclient_init.d/*x2gothinclient-*
%_datadir/x2go/tce/tftpboot
%doc management/README
%_mandir/man8/x2gothinclient_*.8*
%files -n x2gousbmount
%dir %_prefix/lib/udev
%dir %_prefix/lib/udev/rules.d
%_prefix/lib/udev/rules.d/61-x2gousbmount.rules
%dir %_libexecdir/x2go
%dir %_libexecdir/x2go/tce
%_libexecdir/x2go/tce/x2gousbmount
%_mandir/man8/x2gousbmount.8*
%changelog