This is an automated email from the git hooks/post-receive script. x2go pushed a change to branch 3.6.x-rpm-debug in repository nx-libs. from a10fcd4 Merge branch '3.6.x' into 3.6.x-rpm-debug new 6a53356 nxagent: implement RPATH/RUNPATH override for libX11. new 2e64034 nxcompshad/src/Makefile.am: implement libX11 RPATH/RUNPATH override. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "adds" were already present in the repository and have only been added to this reference. Summary of changes: debian/rules | 8 ++++++++ nx-X11/config/cf/Imake.rules | 4 ++-- nx-X11/config/cf/Imake.tmpl | 1 + nx-X11/programs/Xserver/Imakefile | 4 ++++ nxcompshad/src/Makefile.am | 6 +++++- 5 files changed, 20 insertions(+), 3 deletions(-) -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/nx-libs.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch 3.6.x-rpm-debug in repository nx-libs. commit 2e64034c3bf6972f256e73c438542d600974e6b1 Author: Mihai Moldovan <ionic@ionic.de> Date: Tue Dec 26 04:10:27 2017 +0100 nxcompshad/src/Makefile.am: implement libX11 RPATH/RUNPATH override. Same method as used in the previous commit, but easier done thanks to autotools and libtool. Fixes: ArcticaProject/nx-libs#610 --- nxcompshad/src/Makefile.am | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/nxcompshad/src/Makefile.am b/nxcompshad/src/Makefile.am index 33f3abd..670bc4d 100644 --- a/nxcompshad/src/Makefile.am +++ b/nxcompshad/src/Makefile.am @@ -13,6 +13,7 @@ libXcompshad_la_SOURCES = \ $(NULL) libXcompshad_la_LIBADD = \ + -lX11 \ @Xext_LIBS@ \ @Xdamage_LIBS@ \ @Xrandr_LIBS@ \ @@ -36,7 +37,10 @@ AM_CPPFLAGS = \ -I$(top_srcdir)/../nx-X11/exports/include \ $(NULL) -libXcompshad_la_LDFLAGS = -version-number @LT_COMPSHAD_VERSION@ -no-undefined +libXcompshad_la_LDFLAGS = \ + -version-number @LT_COMPSHAD_VERSION@ -no-undefined \ + -R '$(libdir)/nx/X11' \ + $(NULL) libXcompshadincludedir = $(includedir)/nx libXcompshadinclude_HEADERS = \ -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/nx-libs.git
This is an automated email from the git hooks/post-receive script. x2go pushed a commit to branch 3.6.x-rpm-debug in repository nx-libs. commit 6a53356ded8ca9796c467345fde63c266babc935 Author: Mihai Moldovan <ionic@ionic.de> Date: Tue Dec 26 04:06:40 2017 +0100 nxagent: implement RPATH/RUNPATH override for libX11. 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 --- debian/rules | 8 ++++++++ nx-X11/config/cf/Imake.rules | 4 ++-- nx-X11/config/cf/Imake.tmpl | 1 + nx-X11/programs/Xserver/Imakefile | 4 ++++ 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/debian/rules b/debian/rules index 90234c5..b2258cd 100755 --- a/debian/rules +++ b/debian/rules @@ -124,5 +124,13 @@ override_dh_strip: override_dh_makeshlibs: dh_makeshlibs -n +# Needed for the libX11 RUNPATH/RPATH link-time hack. +# dh_shlibdeps will follow dependencies within binaries and choke +# on the libX11 dependency, since the SONAME (libX11.*) used while linking +# does not match the later detected SONAME (libNX_X11.*) obtained through +# the libX11 -> libNX_X11 compat symlink. +override_dh_shlibdeps: + dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info + get-orig-source: uscan --noconf --force-download --rename --download-current-version --destdir=.. diff --git a/nx-X11/config/cf/Imake.rules b/nx-X11/config/cf/Imake.rules index 06b7899..f53a15b 100644 --- a/nx-X11/config/cf/Imake.rules +++ b/nx-X11/config/cf/Imake.rules @@ -1103,11 +1103,11 @@ CplusplusProgramTargetHelper(program,SRCS10,OBJS10,DEPLIBS10,locallib,syslib) AllTarget(ProgramTargetName(server)) @@\ ProgramTargetName(server): subdirs objects libs @@\ MoveToBakFile($@) @@\ - LinkRule($@,$(LDOPTIONS),objects,libs $(LDLIBS) syslibs) @@\ + LinkRule($@,$(SERVERLDOPTIONS),objects,libs $(LDLIBS) syslibs) @@\ @@\ Concat(load,server): @@\ MoveToBakFile(ProgramTargetName(server)) @@\ - LinkRule(ProgramTargetName(server),$(LDOPTIONS),objects,libs $(LDLIBS) syslibs) @@\ + LinkRule(ProgramTargetName(server),$(SERVERLDOPTIONS),objects,libs $(LDLIBS) syslibs) @@\ @@\ loadX:: Concat(load,server) @@\ @@\ diff --git a/nx-X11/config/cf/Imake.tmpl b/nx-X11/config/cf/Imake.tmpl index 5d989d1..307d00d 100644 --- a/nx-X11/config/cf/Imake.tmpl +++ b/nx-X11/config/cf/Imake.tmpl @@ -1995,6 +1995,7 @@ XEXT_EXTRA_DEFINES = LDPRELIB = LdPreLib $(INSTALLED_LIBS) LDPOSTLIB = LdPostLib LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_LDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS) + SERVERLDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_LDFLAGS) $(LOCAL_LDFLAGS) CXXLDOPTIONS = $(CXXDEBUGFLAGS) $(CXXOPTIONS) $(EXTRA_LDOPTIONS) $(THREADS_CXXLDFLAGS) $(LOCAL_LDFLAGS) $(LDPRELIBS) LDLIBS = $(LDPOSTLIBS) $(THREADS_LIBS) $(SYS_LIBRARIES) $(EXTRA_LIBRARIES) diff --git a/nx-X11/programs/Xserver/Imakefile b/nx-X11/programs/Xserver/Imakefile index 25ebd73..efab0de 100644 --- a/nx-X11/programs/Xserver/Imakefile +++ b/nx-X11/programs/Xserver/Imakefile @@ -319,6 +319,7 @@ NXAGENTNXLIBS = -L/usr/sfw/lib \ -L../../../nxcompshad/src/.libs \ -L../../lib/src/.libs \ -lrt \ + -lX11 \ -lXcomp \ -lXcompshad \ -lXrender \ @@ -334,6 +335,7 @@ NXAGENTNXLIBS = -L/usr/sfw/lib \ NXAGENTNXLIBS = -L../../../nxcomp/src/.libs \ -L../../../nxcompshad/src/.libs \ -L../../lib/src/.libs \ + -lX11 \ -lXcomp \ -lXcompshad \ -lXrender \ @@ -349,6 +351,7 @@ NXAGENTNXLIBS = -L../../../nxcomp/src/.libs \ -L../../../nxcompshad/src/.libs \ -L../../lib/src/.libs \ -lkvm \ + -lX11 \ -lXcomp \ -lXcompshad \ -lXrender \ @@ -364,6 +367,7 @@ NXAGENTNXLIBS = -L../../../nxcomp/src/.libs \ NXAGENTNXLIBS = -L../../../nxcomp/src/.libs \ -L../../../nxcompshad/src/.libs \ -L../../lib/src/.libs \ + -lX11 \ -lXcomp \ -lXcompshad \ -lXrender \ -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/nx-libs.git