This is really great to see.

One issue with the released tarball though is no LICENSE or COPYING file
indicating the license of its contents.

Could that be fixed please?

Thanks,

 Orion

On 6/9/23 12:29, Mihai Moldovan wrote:
> Dear all
> 
> 
> The X2Go project is proud to announce the first release of the X2Go
> component ,,x2gokdrive''.
> 
> New gains of this version of ,,x2gokdrive'' are:
> 
> X2Go KDrive is a new backing technology for transferring remote content 
> between
> a server and a client, based upon the system-provided X.Org version, of which 
> we
> then build a custom DDX. It is mostly intended for fast, low-latency local
> networks and can improve rendering speed for, e.g., modern web browsers
> considerably.
> 
> While KDrive sessions can be used via the usual client applications, NX and
> KDrive sessions are *not* interchangeable.
> 
> 
> X2Go Component: x2gokdrive
> Version: 0.0.0.1
> Status: RELEASE
> Timestamp: 1686166664
> Date: Wed, 07 Jun 2023 21:37:44 +0200
> Changes:
>  x2gokdrive (0.0.0.1) RELEASED; urgency=medium
>  .
>    [ Oleksandr Shneyder ]
>    * Initial release:
>      - Calculate screen dimensions (in mm) according to dpi value.
>        Default DPI (Xorg) is 75. User can set DPI using -dpi command
>        line option.
>      - Move selection functionality to separate thread. Use XCB API to manage
>        selections.
>      - add xcb-xfixes to deps.
>      - send a receive feature versions.
>      - reinit client version on new connection and awaka sending thread when
>        client version received.
>      - support sending and receiving selections on demand. Support reading and
>        writing INCR properties.
>      - move declaration of RemoteHostVars from x2gokdriveremote.h to
>        x2gokdriveremote.c.
>      - add some support for HTML5 client (like converting pointer cursors to
>        PNG format).
>      - fix crashing if client is sending unrequested selection.
>      - extended clipboard support for HTML client.
>      - add name of the thread to the debug output.
>      - move calling of possibly thread-unsafe ospoll functions (SetNotifyFd,
>        RemoveNotifyFd) to main thread.
>      - (re)enable sessions debugging.
>      - fix infinite loop if reading of cookie has failed.
>      - improve initialization of cursor frame and cache element structures.
>      - improve clearing of the frame list.
>      - reiniting of frame and cursors caches by client request.
>      - don't check cache data size, only amount of elements.
>      - reduce amount of cache elements to save resources.
>      - rootless mode for x2gokdrive.
>      - improve icon handling in rootless mode.
>      - don't show invisible windows.
>      - sending KEYRELEASE immediately after KEYPRESS to avoid the "key
>        sticking".
>      - set initial geometry form the -geometry command line option.
>      - change from alder32 to crc32 to avoid collisions on small frames.
>      - automatically decrease the jpeg quality when to many frames in queue.
>      - update the screen with png frames when no data is transmitted.
>      - make screen repaint faster.
>      - add command line option for initial JPEG quality.
>      - fix building on Xorg <  11900000.
>      - don't exit when setting command line arguments -xkb-model, -xkb-layout,
>        -xkb-variant on Xorg < 11899001.
>      - support for windows with type _NET_WM_WINDOW_TYPE_DND. Ignore windows
>        with visibility >= 2.
>      - don't ignore windows with visibility == 2. Client should hide them from
>        taskbar.
>  .
>    [ Mihai Moldovan ]
>    * Initial release:
>      - patches.legacy/README.legacy-patches.md: whitespace-only fix.
>      - patches.legacy/README.legacy-patches.md: fix markdown syntax.
>      - {./,patches.xorg/{common,1.18.4,1.19.{2,6},1.20.{1,4,5}}/}quilt.env: 
> add
>        new quilt environment helper mechanism. Should make using quilt a lot
>        easier on the developer's machine. Requires SOURCING(!) the quilt.env:
> add trailing slash to QUILT_PATCHES
>        variable.
>      - patches.xorg/1.20.4/xorg-server-configure-ac.patch: backport
>        XORG_VERSION_CURRENT change from
>        e0dbca73f11e9aa7a066e748e6d08ba256be69cf / 1.20.5.
>      - patches.xorg/1.20.4: add missing/hw/xfree86/common/modeline2c.awk file,
>        working around a bug in CentOS 7 and Fedora 30 (possibly others as
>        well).
>      - patches.xorg/1.20.5: likewise add missing modeline2c.awk file. Actually
>        needed for Fedora 30.
>      - patches.xorg/1.19.2/xorg-server-configure-ac.patch: backport
>        XORG_VERSION_CURRENT change from
>        e0dbca73f11e9aa7a066e748e6d08ba256be69cf / 1.20.5.
>      - x2gokdrive{remote,selection}.c: warp initializer into another set of
>        curly braces until the first POD is reached. Fixes compile errors on
>        EPEL 7 and generally systems with older GCC versions. That warning,
>        which is turned into an error later on, is generally overly strict,
>        since {0} is widely used as an "universal zero initializer" in C,
>        initializing all other elements that are not explicitly given in the
>        list implicitly with zero. For some reason, GCC decided that it is an
>        error to initialize a whole struct that way and explicitly requires 
> that
>        at least one plain-old-data type is initialized that way. Case in 
> point,
>        newer GCC versions removed that warning altogether and just blindly
>        accepts the usual syntax.
>      - x2gokdriveselection.c: fix compile error, the xEvent struct (made up of
>        union of another struct) needs another layer of curly braces.
>      - patches.xorg/: add skeleton for 1.20.3 - needed for OpenSuSE Leap 15.1.
>      - patches.xorg/1.20.3: add actual (rebased) patches and potentially
>        missing files.
>      - patches.xorg/1.18.4: refresh against Ubuntu 16.04/xenial version.
>      - x2gokdrive{.c,remote.c,init.{c,h}}: patch for X.Org 1.18.x
>        compatibility, merging in the content from
>        patches.legacy/osuse_42.3.patch via preprocessor defines.
>      - patches.xorg/: add 1.20.6 files, essentially copied and refreshed from
>        1.20.5.
>      - patches.xorg/: add 1.20.7 files, essentially copied and refreshed from
>        1.20.6.
>      - x2gokdrive{,remote}.c: fix logic flaws.
>      - x2gokdriveremote.h: remove duplicate function declaration for
>        clientReadNotify ().
>      - patches.xorg/1.18.4/xorg-server-configure-ac.patch: add -lpthread to
>        X2GOKDRIVE_LIBS.
>      - patches.xorg/1.19.6: refresh patch set for Ubuntu 18.04/bionic,
>        including backporting of the XORG_VERSION_CURRENT change.
>      - patches.xorg/1.18.4/xorg-server-configure-ac.patch: add -lz and also
>        -ljpeg and -lpng to be on the safe side, since it seems that these
>        libraries are universally missing.
>      - Makefile.am: add print-debugging to figure out what is being generated
>        on Ubuntu 16.04/xenial.
>      - Makefile.am: revert print-debugging again.
>      - patches.xorg/1.18.4/xorg-server-configure-ac.patch: correctly add
>        -pthread and -lpthread references *after* the pkgconfig checks execute.
>      - quilt.env: add instructions from where to run the source command, this
>        got me confused two years later.
>      - patches.xorg/: add 1.20.13 subdirectory for Ubuntu Focal (20.04) with
>        rebased patch set.
>      - patches.xorg/: add 21.1.4 subdirectory for Ubuntu Kinetic (22.10) with
>        rebased patch set.
>      - patches.xorg/21.1.4/xorg-server-configure-ac.patch: fix FTBFS, typo 
> when
>        applying patch.
>      - patches.xorg/: add 21.1.7 subdirectory for Debian Bookworm (12) with
>        rebased patch set.
>      - misc: pre-release date update.
>    * debian/control:
>      + Grammar fix.
>      + Remove dependencies that refer to disabled features.
>      + Add build-dependency upon libpam-dev. It would really be libpam0g-dev
>        currently, but that looks like a moving target.
>      + Add B-D upon x11proto-gl-dev (or nil/hello).
>      + Recommend x2goserver >= 4.1.0.4, we'll better stay on the 4.1.x line.
>      + Try to pull libxfont1-dev (for old Ubuntu versions such as 16.04/xenial
>        that don't support building X.Org against libXfont2) and fallback to
>        libxfont-dev to retain the old, default behavior.
>      + Make libxfont1-dev an entirely optional dependency and libxfont-dev a
>        hard one. This should always install libxfont-dev (which typically is
>        the libXfont2-version), but also the libXfont1-version if available.
>        Ubuntu 16.04/xenial has X.Org Server 1.18.4 which is not compatible 
> with
>        libXfont2, but Debian 9/stretch uses X.Org Server 1.19.2, which is
>        compatible with libXfont2 (and actually requires it), but also has both
>        packages available.
>      + Depend upon libxfont1-dev << 1.5.2 (which is the version in Debian
>        9/stretch) or fall back to libxfont-dev *and* make sure that the
>        libxfont1-dev version is greater than 1.4.2. This should essentially
>        emulate libxfont1-dev (>> 1.4.2 << 1.5.2) | libxfont-dev (>> 1.4.2) and
>        fix issues with "hello" being picked with subsequent dependencies being
>        dropped (like libunwind, which is usually not optional).
>    * x2gokdrive.spec:
>      + Drop Debian-style formatting in description.
>      + Typo fixes.
>      + Remove empty line at EOF.
>      + Copy summary from Debian's short description.
>      + Spell out each (build) dependency on one line.
>      + Whitespace-only fixes.
>      + Backport changes from debian/rules.
>      + Copy *.la file removal mechanism from debian/rules.
>      + Pull in lsb-release on *SuSE systems and redhat-lsb otherwise for
>        lsb_release, needed at package configuration time.
>      + Enable hardening in a low-effort way.
>      + Disable debugsource... disabling. Debug packages are actually useful!
>      + Copy configure flags from debian/rules{,.flags}. Most compiler flags
>        should be getting passed down automatically through the %configure
>        macro, but CPPFLAGS is special and seemingly not defined in
>        redhat-rpm-macros (or the *SuSE equivalent) and is hence passed-down
>        manually. %{__global_ldflags} is empty and unknown on some systems, so
>        copy workaround from nx-libs for that one.
>      + Sync dependency lists with debian/control.
>      + Rename binary package to xorg-x11-server-x2gokdrive to be consistent
>        with Fedora/*SuSE package naming.
>      + It's still %endif, not %fi.
>      + Let description be the description of xorg-x11-server-x2gokdrive, not
>        the x2gokdrive source package.
>      + Add/copy Summary tag to xorg-x11-server-x2gokdrive binary package.
>      + Add description for x2gokdrive (source) package. It's a slightly
>        modified version of the binary package description.
>      + Fix typo pkgconfig(Xau) => pkgconfig(xau).
>      + Backport escaping layer change from debian/rules.
>      + Fix %autosetup usage - only use it when supported. RPM 4.11.x+.
>      + %autosetup (or %setup) create a top-level BUILD directory into which 
> the
>        source tarball is extracted - but we also need a BUILD sub-directory.
>        Create it.
>      + Use pushd instead of cd. Minor change.
>      + Build-depend upon libgcrypt-devel for "older" distros that don't define
>        a libgcrypt pkgconfig() virtual provide. That means: Fedora < 29, EPEL 
> <
>        8 and any *SuSE version that is not Tumbleweed. The most surprising 
> part
>        is probably *SuSE.
>      + Untangle libjpeg-turbo-devel build-dependency. Recent *SuSE versions
>        define a pkgconfig(libturbojpeg) virtual provide, which is unheard of 
> in
>        RHEL land. Older *SuSE versions sadly don't have any virtual provide 
> for
>        this, and, worse, don't even have libjpeg-turbo-devel packages, so 
> we'll
>        need to build-depend upon libjpeg62-devel instead and hope that this is
>        actually the turbo variant. RHEL-land (including Fedora) is more
>        forgiving and always ships the turbo variant, but sets the virtual
>        provide to pkgconfig(libjpeg) (yes, for all versions down to RHEL 6,
>        albit via the updates repository!) and do not mention "turbo" in there.
>      + Rework gettext-autopoint build dependency. *SuSE uses gettext-tools
>        (which provides a virtual gettext-devel package), while RHEL-land has a
>        "real" gettext-devel package that virtually provides a 
> gettext-autopoint
>        package.
>      + Also build-depend upon pam-devel.
>      + Build verbosely. We do want to see actual compilation steps.
>      + Copy xorg-server source verbosely. Matches debian/rules tar call more
>        closely.
>      + Use archive mode when copying xorg-server source. We probably want to
>        keep stuff like timestamps to not break the Makefile dependencies.
>      + *SuSE puts the xorg-server source code into /usr/src/xserver.
>      + Change /usr/share/xserver to /usr/src/xserver. For real this time.
>      + Add hack installing missing files into the xorg-server source tree.
>      + Port change from debian/rules.flags to disable Xorg DDX building.
>      + Delete old configure files that might have had the executable bit set.
>        We want those to be re-generated with the correct permissions later on.
>      + Port *.la file removal commenting from debian/rules.
>      + Pull in pkgconfig(glproto) BR. Needed for *SuSE, that doesn't seem to
>        pull it in by other means (while RHEL-land does).
>      + Fix %exclude entry for protocol.txt, the new configure flags changed 
> its
>        path to %{_libexecdir}.
>      + Downgrade dependency upon xorg-x11-server-common to 1.18.4. Strictly
>        speaking, we'd have to define a unique dependency for each
>        distro-version combination (e.g., Fedora 30 uses 1.20.5, EPEL 7
>        currently uses 1.20.4 etc.), but that's too complicated - let's depend
>        on at least the earliest supported version for now.
>      + Work around issue on *SuSE: for some reason, Mesa-libGL-devel doesn't
>        pull Mesa-devel in, leading to a compile failure. Do that manually.
>      + Depend on/recommend x2goserver >= 4.1.0.4, backported from
>        debian/control.
>      + Change libunwind build-dependency and usage: for ppc64(be), use it when
>        not on RHEL/CentOS (this includes *SuSE and Fedora) and for ppc64le, 
> use
>        it on RHEL/CentOS 8+ or when not on RHEL/CentOS.
>      + Fix syntax error due to unclosed %if.
>      + X11 server package is not split up into binary and common packages on
>        *SuSE, so change dependency to xorg-x11-server.
>    * debian/rules:
>      + Remove weird empty variable reference construct.
>      + Whitespace-only fixes.
>      + Move options to the front of commands.
>      + Drop useless use of cat.
>      + Avoid backticks, use $() instead.
>      + "a && b || c" doesn't really mean "if a then b else c", but 
> something...
>        more difficult: "c" does also run if "a" is false. Switch to a proper
>        if-else construct.
>      + Split up subshell content onto unique lines and fix bash syntax error
>        near "exit 1".
>      + Use printf instead of echo. Plain echo doesn't even substitute escape
>        sequences for their plain char counterparts and the -e switch is
>        non-portable.
>      + Avoid xargs, use find's -exec feature.
>      + More and better quoting.
>      + Verbosely remove *.la files.
>      + Add missing single quotes - two strings were merged into one by
>        accident.
>      + Drop additional escape layer in sed expression. This was previously 
> only
>        needed due to the weird escaping/quoting rules for code in backticks.
>        The more modern and equally POSIX-compatible $() syntax makes quoting
>        and escaping within subshell calls a lot easier.
>      + Comment out *.la file removal. We shouldn't need that any longer since
>        we don't build the Xorg DDX anymore.
>    * debian/rules.flags:
>      + Define NULL variable and use it throughout the file.
>      + Disable building Xorg DDX. We don't need it and it's only inflating
>        build times. Older X.Org patches will need to be modified to define the
>        version variable, but we can do that as we go and accept build failures
>        for the time being.
>  .
>    [ Mike Gabriel ]
>    * Initial release:
>      - patches.xorg/: Add 1.20.11 files, essentially copied and refreshed from
>        1.20.7.
>        This is the X.Org Xserver version shipped with Debian bullseye.
>      - x2gokdriveinit.c: Only define ddxInputThreadInit() prototype for
>        XORG_VERSION_CURRENT less than 1.20.7. Starting with 1.20.8, the
>        prototype definition is now available in include/os.h.
>      - x2gokdrivedebug.h: Introduce this new file and move all EPHYR_DBG
>        stuff into there. And: disable EPHYR_WANT_DEBUG as with it, the project
>        fails to build with standard Debian compiler flags."
>      - patches.xorg/: Support building against xorg-server 21.1.3.
>    * debian/control:
>      + Fix B-Ds for building against Ubuntu trusty.
>      + Add B-D mesa-common-dev. Introduced here with the X.Org Xserver 1.20.11
>        patchset.
>      + Add B-D: libxcvt (or 'sl' for not so recent versions of Debian/Ubuntu).
>      + No alternative 'hello' B-D for libunwind-dev.
> 
> 
> Regards,
> 
> 
> 
> Mihai Moldovan
> 
> 
> _______________________________________________
> x2go-announcements mailing list
> x2go-announceme...@lists.x2go.org
> https://lists.x2go.org/listinfo/x2go-announcements

-- 
Orion Poplawski
IT Systems Manager                         720-772-5637
NWRA, Boulder/CoRA Office             FAX: 303-415-9702
3380 Mitchell Lane                       or...@nwra.com
Boulder, CO 80301                 https://www.nwra.com/

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
x2go-dev mailing list
x2go-dev@lists.x2go.org
https://lists.x2go.org/listinfo/x2go-dev

Reply via email to