| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Addresses ArcticaProject/nx-libs#985
|
| |
|
|
|
|
|
|
|
|
| |
We have never built nxwin within this tree. And we never shipped
it. So drop the according logic.
We have also removed CYGWIN stuff in the past so nxwin probably would
not compile/work anyway...
|
|
|
|
|
| |
instead of including it and creating NXextension.o we can simply use
the dix version. There are no NX specials anymore.
|
|
|
|
| |
With the previous commits this file finally becomes obsolete.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
nxagent links system libraries that link against libX11. Unfortunately,
nxagent (and libXcompshad) require a modified libX11 version,
nicknamed libNX_X11, for proper functioning. Fortunately, this one can
act as a drop-in replacement for the system libX11. So we’ll hack our
way out: add a DT_NEEDED entry for libX11 by linking against the
system library when building nxagent and link the other system
libraries later and set DT_RUNPATH to a special directory containing
symlinks from libNX_X11 to libX11.
This tricks the loader into pulling in the "fake" libX11 version
without checking its SONAME and thus satisfying the DT_NEEDED entry
early on - specifically also for the system libraries.
Ex.:
readelf -a /usr/bin/nxagent | grep NEEDED
0x0000000000000001 (NEEDED) Shared library: [libX11.so.6]
...
0x0000000000000001 (NEEDED) Shared library: [libNX_X11.so.6]
...
If, however, you run the build a second time, it will find the newly
created libX11 links in ../../exports/lib (used as an additional
library search path) instead of the system libX11. The results in a
binary looking like this:
0x0000000000000001 (NEEDED) Shared library: [libNX_X11.so.6]
...
With such a setup, the whole magic falls apart and system libraries
will suddenly pull in the actual system libX11 file.
We initially believed a compiler call such as:
${CC} [--unrelated-options ...] [-Lunrelated_library_path ...] -lX11 [more
options like -l and -L] -L../../exports/lib -lother_libraries
to do "the right thing" and link against the system libX11 (or, at
worst, a libX11 found in the library directory search list preceding the
link call) and use ../../exports/lib only for later linking operations,
since the order of options matters.
However, this turned out to be blatantly wrong: while the order of -L
arguments does matter for building the search path, the whole search
path including elements from *ALL* -L arguments (and the system paths)
will always be used when linking libraries.
Hence, (counter-intuitively to us) both these calls will be equivalent:
${CC} [--unrelated-options ...] -la -Loverride_liba -lb
[-Lunrelated_library_path ...] -lc
${CC} [--unrelated-options ...] -Loverride_liba [-Lunrelated_library_path
...] -la -lb -lc
By removing LDPRELIBS from NXAGENTSYSLIBS, ../../exports/lib is no
longer used during building/linking and the binaries are built
reproducibly. We never intended to use this directory at link time
anyway.
|
|
|
|
| |
The only left function is identical to the one in mi/miexpose.c.
|
|
|
|
| |
upstream xorg is also using that name
|
|
|
|
| |
UseTIRPC.
|
|
|
|
| |
since libXcompext doesn't actually need it.
|
|
|
|
| |
instead of echo for variable value.
|
|
|
|
|
|
|
|
|
|
| |
for nxagent regeneration.
Updating timestamps on object files and libraries used to compose
nxagent is only meaningful for actual files within the buildroot.
External dependencies would be ignored anyway, and worse, cause older
GNU Make versions to fail if they contain special characters like a
percent sign, which is typically interpreted as a wild card character.
|
|
|
|
|
| |
We need this to be able to execute the resulting nxagent binary from
within the build directory.
|
|
|
|
|
|
|
|
|
| |
version with the system location.
While the install target explicitly installs the relinked
system-location version of a program, we do not actually use this.
Currently, we copy nxagent directly out of the build root.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As discussed in ArcticaProject/nx-libs#610, we need a way to load
libNX_X11 as a fake version of libX11 into nxagent's address space.
For doing so, we have to link against libX11 at build-time and specify
a(n) RPATH/RUNPATH to our libX11 -> libNX_X11 compat symlinks.
This commit is essentially doing a cross between options 3 and 4
discussed in the provided GH issue.
We link libX11 early (before specifying -Lcompat_symlinks_dir), so that
the linker finds the "real" libX11 version with the libX11 SONAME. This
leads to our binary depending upon both libX11 and libNX_X11 SONAMEs. We
already always added RPATH/RUNPATH, but these values are not passed down
to dependent libraries.
What happens at run-time is that the loader searches for a libX11
SONAME, takes RPATH/RUNPATH into account and loads our libNX_X11 library
instead via the compat symlinks. This satisfies the libX11 SONAME and
dependent libraries will *not* load the system libX11 version again.
Debian's dpkg-shlibdeps isn't quite happy about this mismatching SONAME
situation, so instruct to look the other way while we're minding our
business.
Fixes: ArcticaProject/nx-libs#610
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
-L../../../nx-X11/exports/lib when linking nxagent. As -L../../exports/lib is already present and points to the same location.
|
|
|
|
| |
components get mentioned first in the nxagent linker command.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
alike.
Fixes ArcticaProject/nx-libs#296.
Inspired by the following X.org commit. Other than X.org, we will continue
support for building nx-libs against libXfont1 for a while.
commit 05a793f5b3c40747d5a92a076def7f4fb673c7e7
Author: Keith Packard <keithp@keithp.com>
Date: Tue Sep 1 18:50:55 2015 -0700
dix: Switch to the libXfont2 API (v2)
This new libXfont API eliminates exposing internal X server symbols to
the font library, replacing those with a struct full of the entire API
needed to use that library.
v2: Use libXfont2 instead of libXfont_2
Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
|
|
|
|
| |
adding more line-breaks.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
commit 6d6d4cb6043905d850834946e9bfc526ed5a9ef7
Author: Matthieu Herrb <matthieu.herrb@laas.fr>
Date: Mon Jan 2 13:23:59 2012 +0000
Add OpenBSD support to DetermineClientCmd()
Uses kvm_getargv() from libkvm.
Signed-off-by: Matthieu Herrb <matthieu.herrb@laas.fr>
Reviewed-by: Adam Jackson <ajax@redhat.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
commit cfc4c3d7fa8bd4da4c08b2ab8e6f85435f75353a
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Sat Dec 24 10:00:56 2011 -0800
Add Solaris support to DetermineClientCmd
Uses /proc/pid/psinfo to read command & partial arguments.
Moves cmdsize & argsize variables into non-Solaris #else clause
to avoid unused variable warnings.
Fixes format mismatch errors when building with DEBUG defined on
a 64-bit platform (where Mask is defined as CARD32).
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Rami Ylimäki <rami.ylimaki@vincit.fi>
Signed-off-by: Keith Packard <keithp@keithp.com>
commit 780133f9ae7fada462714b47e79d26075bbd9abe
Author: Alan Coopersmith <alan.coopersmith@oracle.com>
Date: Fri Oct 28 21:29:50 2011 -0700
Convert DetermineClientCmd to use strdup instead of malloc+strncpy
*cmdname is initialized to NULL earlier in the function, so it's
okay to overwrite it with NULL if strdup fails, don't need that
extra check.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
commit 2ef4ff45ef1fcfc4967ebe3d550408769e5f6500
Author: Erkki Seppälä <erkki.seppala@vincit.fi>
Date: Fri Mar 25 10:38:23 2011 +0200
os/client: Prevent rare fd leak in DetermineClientPid
DetermineClientPid didn't close file descriptor if read on
/proc/pid/cmdline failed. Adjusted the code to disregard the close
return value and perform the return after that, if the read failed or
returned EOF.
Signed-off-by: Mark Kettenis <mark.kettenis@xs4all.nl>
Signed-off-by: Erkki Seppälä <erkki.seppala@vincit.fi>
Reviewed-by: Rami Ylimäki <rami.ylimaki@vincit.fi>
Signed-off-by: Keith Packard <keithp@keithp.com>
commit 1e933665bef26c74196bb7c59910e6a78bcacf0e
Author: Rami Ylimäki <rami.ylimaki@vincit.fi>
Date: Wed Dec 22 16:51:09 2010 +0200
os: Add facilities for client ID tracking.
An interface is provided for figuring out the PID and process name of
a client. Make some existing functionality from SELinux and IA
extensions available for general use.
Signed-off-by: Rami Ylimäki <rami.ylimaki@vincit.fi>
Reviewed-by: Tiago Vignatti <tiago.vignatti@nokia.com>
Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that we can drop nx-X11/programs/Xserver/render/miglyph.c (and by extension nx-X11/programs/Xserver/hw/nxagent/NXmiglyph.c.)
This is essentially a bastardized cross/backport of these X.Org commits - based
on our current architecture:
commit 4b14c9a9cd2033d3839c4ba364d41ab4c4b198ab
Author: Eric Anholt <eric@anholt.net>
Date: Fri Oct 19 16:34:54 2007 -0700
Replace calls to Glyphs screen hook with CompositeGlyphs and remove dead code.
Not all of the DDX/miext Glyphs hook implementations have been removed, but
they should be.
and
commit 2251572062b2c25643671b8d5070de1c3f7ae976
Author: Aaron Plattner <aplattner@nvidia.com>
Date: Fri Oct 26 15:13:50 2007 -0700
Restore the CompositeGlyphs -> ps->Glyphs -> miGlyphs callchain to allow acceleration architectures to wrap above miGlyphs.
Conflicts:
nx-X11/programs/Xserver/render/miglyph.c
nx-X11/programs/Xserver/render/mipict.h
nx-X11/programs/Xserver/render/picture.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Content of that file is now hard-coded.
Adopting an exact copy of os/oscolor.c from X.org leads to this compiler warning:
```
oscolor.c:844:1: warning: string length ‘7614’ is greater than the length ‘4095’ ISO C99 compilers are required to support [-Woverlength-strings]
};
^
```
This will be address later in coordination with X.org.
Note: there is a tiny change in oscolor.c as we ship it. The original X.org file includes <X11/keysym.h> which seems
unneeded. We drop that one line from oscolor.c.
Fixes ArcticaProject/nx-libs#259.
|
|
|
|
| |
Relates to ArcticaProject/nx-libs#275.
|
|
|
|
| |
Relates to ArcticaProject/nx-libs#275.
|
|
|
|
| |
Fixes ArcticaProject/nx-libs#272.
|
|
|
|
| |
Fixes ArcticaProject/nx-libs#271.
|
| |
|
|
|
|
|
|
| |
includes at build time.
Fixes ArcticaProject/nx-libs#276.
|
|
|
|
|
|
| |
We do not build loadable modules, so we do not need them anywhere.
Also remove the extra files requires for module builds.
|
|
|
|
|
|
| |
of X.org and XFree86.
Fixes ArcticaProject/nx-libs#250.
|
| |
|
|
|
|
| |
implementations.
|
|
|
|
|
|
|
|
|
|
|
|
| |
commit f31bd087e8a7f65cd588bd1d022bb18e72b2a60c
Author: Adam Jackson <ajax@redhat.com>
Date: Fri Jun 13 10:35:07 2008 -0400
Death to mfb.
Anyone still interested in 1 or 4 bpp framebuffers, talk to fb.
Backported-to-NX-by: Mike Gabriel <mike.gabriel@das-netzwerkteam.de>
|
|
|
|
| |
Fixes ArcticaProject/nx-libs#255.
|
|
|
|
| |
that NoMachine placed there own copyright statement in.
|
|
|
|
| |
been added to nxagent.1 man page.
|
| |
|
|
|
|
| |
use system libXext instead
|
| |
|
|
|
|
| |
library.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
nx-X11 build scripts.
Note:
- The "normal" way to inject CFLAGS (and CPPFLAGS) into nx-X11 builds is copying those
options over into the variable CDEBUGFLAGS.
- LDFLAGS have to be handed to nx-X11 via LOCAL_LDFLAGS.
This change also includes a slight change in the nx-X11 build order.
Old build order:
Main Makefile:
- [...]
- libNX_X11
+ implicitly building nxcomp
+ implicitly building nxcompext
- [...]
- nxagent
+ implicitly building nxcompshad
- [...]
New build ordner:
Main Makefile:
- [...]
- nxcomp
- setup nx-X11 build env
+ cd nx-X11 && make BuildEnv
- nx-X11/lib/*
- nxcompext
- nxcompshad
- [...]
- nxagent
- [...]
Fixes ArcticaProject/nx-libs#141
Fixes X2GoBTS#84
|
|
|
|
|
| |
We have to make sure that all X.org libraries we link against
use symbols provided by libNX_X11.
|
|
|
|
|
|
|
|
|
|
| |
Reasoning:
(1) The diff between this file and mi/miwindow.c is so minimal, we simply
apply the change to mi/miwindow.c.
(2) In recent X.org, the fixed code has gone, so this patch won't exist
after having rebased nx-libs against X.org.
|
|
|
|
| |
be found in miext/damage/damage.c.
|
|
|
|
| |
with system-wide shared libraries.
|