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 0a2b0a7 Merge branch '3.6.x' into 3.6.x-rpm-debug new 26ab7b8 nxagent: implement RPATH/RUNPATH override for libX11. new b13bf67 nxcompshad/src/Makefile.am: implement libX11 RPATH/RUNPATH override. new 4b153f5 nx-X11/config/cf/{gnu,lnx}Lib.rules: enable new ELF dtags to force RUNPATH creation for nxagent. new 44f8c42 nxcompshad/src/Makefile.am: enable new ELF dtags to force RUNPATH creation for libXcompshad. new ffc09a7 nx-X11: build programs with a temporary RPATH/RUNPATH value and a relinked version with the system location. new 3d17c66 Makefile: install relinked program binary instead of the "temporary" one. new ecaa13c nx-X11: reintroduce creation of libX11 compat symlinks. new b91b13b Makefile: only try to copy/dereference libNX* files when installing data. new 4d481bf nxproxy/configure.ac: drop --enable-cxx11. new d189771 nxproxy/configure.ac: enable libtool support. new 1c1431c nxproxy/src/Makefile.am: build library using RUNPATH instead of RPATH. new f5cdd35 Merge branch 'bugfix/rpath' into 3.6.x-rpm-debug The 12 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: nxproxy/configure.ac | 9 +++------ nxproxy/src/Makefile.am | 1 + 2 files changed, 4 insertions(+), 6 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 ffc09a73d3fad32f3765caf62546a3e7cc5b9cd8 Author: Mihai Moldovan <ionic@ionic.de> Date: Fri Dec 29 21:44:56 2017 +0100 nx-X11: build programs with a temporary RPATH/RUNPATH value and a relinked 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. --- nx-X11/config/cf/Imake.rules | 37 +++++++++++++++++++++++++++++++++---- nx-X11/config/cf/Imake.tmpl | 1 + nx-X11/config/cf/README | 1 + nx-X11/config/cf/cross.def | 2 ++ nx-X11/config/cf/gnuLib.rules | 19 +++++++++++++++++-- nx-X11/config/cf/lnxLib.rules | 24 ++++++++++++++++++++++-- nx-X11/programs/Xserver/Imakefile | 4 ++-- 7 files changed, 78 insertions(+), 10 deletions(-) diff --git a/nx-X11/config/cf/Imake.rules b/nx-X11/config/cf/Imake.rules index f53a15b..46538a6 100644 --- a/nx-X11/config/cf/Imake.rules +++ b/nx-X11/config/cf/Imake.rules @@ -21,6 +21,7 @@ XCOMM --------------------------------------------------------------------- * _MUseCat (a,b,c) * ProgramTargetName (target) * HostProgramTargetName (target) + * ProgramRelinkName (target) * RunProgram (progvar,options) * RunProgramWithSetup (setup,progvar,options) * RemoveFile (file) @@ -44,6 +45,7 @@ XCOMM --------------------------------------------------------------------- * BuildIncludes (srclist,dstsubdir,dstupdir) * LinkRule (program,options,objects,libraries) * HostLinkRule (program,options,objects,libraries) + * LinkInstallRule (program,options,objects,libraries) * NoCmpScript (target) * NoConfigRec (target) * NormalProgramTarget (program,objects,deplibs,locallibs,syslibs) @@ -76,6 +78,7 @@ XCOMM --------------------------------------------------------------------- * InstallNonExecFileNoClobber (file,dest) * InstallNonExec (file,dest) * InstallProgramWithFlags (program,dest,flags) + * RelinkProgram (program,objects,libs,syslibs) * InstallProgram (program,dest) * InstallScript (program,dest) * InstallNamedProg (srcname,dstname,dest) @@ -316,6 +319,10 @@ XCOMM special target for clearmake @@\ #define HostProgramTargetName(target)target #endif +#ifndef ProgramRelinkName +#define ProgramRelinkName(target)Concat(target,-relink) +#endif + #ifndef RunProgram #define RunProgram(progvar,options) $(progvar) options #endif @@ -610,6 +617,14 @@ $(CCLINK) -o program options objects libraries $(EXTRA_LOAD_FLAGS) #endif /* LinkRule */ /* + * LinkRule - link a program, suitable for later installation + */ +#ifndef LinkInstallRule +#define LinkInstallRule(program,options,objects,libraries) \ +$(CCLINK) -o program options objects libraries $(EXTRA_INSTALL_LOAD_FLAGS) +#endif /* LinkInstallRule */ + +/* * HostLinkRule - link a utility to be used on the build host * (differs from LinkRule if cross compiling) */ @@ -1101,6 +1116,7 @@ CplusplusProgramTargetHelper(program,SRCS10,OBJS10,DEPLIBS10,locallib,syslib) #ifndef ServerTargetWithFlags #define ServerTargetWithFlags(server,subdirs,objects,libs,syslibs,flags) @@\ AllTarget(ProgramTargetName(server)) @@\ +AllTarget(ProgramRelinkName(server)) @@\ ProgramTargetName(server): subdirs objects libs @@\ MoveToBakFile($@) @@\ LinkRule($@,$(SERVERLDOPTIONS),objects,libs $(LDLIBS) syslibs) @@\ @@ -1118,10 +1134,12 @@ PurifyLinkTarget(Concat(load,server),server,objects libs $(LDLIBS) syslibs) @@\ ProofProgramTarget(server,subdirs objects libs,objects libs $(LDLIBS) syslibs) @@\ ProofLinkTarget(Concat(load,server),server,objects libs $(LDLIBS) syslibs) @@\ @@\ +RelinkProgram(ProgramTargetName(server),objects,libs,syslibs) @@\ InstallProgramWithFlags(server,$(BINDIR),flags) @@\ @@\ clean:: @@\ - RemoveFile(ProgramTargetName(server)) + RemoveFile(ProgramTargetName(server)) @@\ + RemoveFile(ProgramRelinkName(server)) #endif /* ServerTargetWithFlags */ /* @@ -1586,17 +1604,28 @@ install:: file @@\ /* + * RelinkProgram - relinks an executable program in preparation of installation + */ +#ifndef RelinkProgram +#define RelinkProgram(program,objects,libs,syslibs) @@\ +ProgramRelinkName(program): program @@\ + MoveToBakFile($@) @@\ + LinkInstallRule($@,$(SERVERLDOPTIONS),objects,libs $(LDLIBS) syslibs) +#endif /* RelinkProgram */ + + +/* * InstallProgramWithFlags - generate rules to install an executable program * using given install flags. */ #ifndef InstallProgramWithFlags #if StripInstalledPrograms && CrossCompiling -#define InstallProgramWithFlags(program,dest,flags) @@\ -InstallTarget(install,ProgramTargetName(program),$(INSTPGMFLAGS) flags,dest) @@\ +#define InstallProgramWithFlags(program,dest,flags) @@\ +InstallTarget(install,ProgramRelinkName(program),$(INSTPGMFLAGS) flags,dest) @@\ CrossStripCmd $(DESTDIR)dest/ProgramTargetName(program) #else #define InstallProgramWithFlags(program,dest,flags) @@\ -InstallTarget(install,ProgramTargetName(program),$(INSTPGMFLAGS) flags,dest) +InstallTarget(install,ProgramRelinkName(program),$(INSTPGMFLAGS) flags,dest) #endif /* StripInstalledPrograms && CrossCompiling */ #endif /* InstallProgramWithFlags */ diff --git a/nx-X11/config/cf/Imake.tmpl b/nx-X11/config/cf/Imake.tmpl index 307d00d..285b534 100644 --- a/nx-X11/config/cf/Imake.tmpl +++ b/nx-X11/config/cf/Imake.tmpl @@ -1846,6 +1846,7 @@ MODLDCOMBINEFLAGS = ModuleLdCombineFlags STD_DEFINES = StandardDefines $(PROJECT_DEFINES) SETITIMER_DEFINES = HasSetitimerDefines EXTRA_LOAD_FLAGS = ExtraLoadFlags +EXTRA_INSTALL_LOAD_FLAGS = ExtraInstallLoadFlags EXTRA_LDOPTIONS = ExtraLoadOptions EXTRA_LIBRARIES = MallocLibraries ExtraLibraries TAGS = TagsCmd diff --git a/nx-X11/config/cf/README b/nx-X11/config/cf/README index aca6b39..59a08f4 100644 --- a/nx-X11/config/cf/README +++ b/nx-X11/config/cf/README @@ -37,6 +37,7 @@ Imake.tmpl provides defaults for the following variables: ExtraFilesToClean extra files to remove on make clean ExtraLibraries system-specific libraries need to link ExtraLoadFlags system-specific loader flags + ExtraInstallLoadFlags system-specific loader flags for later installation FileManSuffix man suffix for file format pages FilesToClean files to delete in make clean FortranCmd command to run Fortran compiler diff --git a/nx-X11/config/cf/cross.def b/nx-X11/config/cf/cross.def index ee3767c..d1b737f 100644 --- a/nx-X11/config/cf/cross.def +++ b/nx-X11/config/cf/cross.def @@ -27,6 +27,8 @@ #define RanlibCmd /opt/Embedix/tools/bin/arm-linux-ranlib #undef ExtraLoadFlags #define ExtraLoadFlags +#undef ExtraInstallLoadFlags +#define ExtraInstallLoadFlags #define FbNoPixelAddrCode #undef TermcapLibrary #define TermcapLibrary -ltermcap diff --git a/nx-X11/config/cf/gnuLib.rules b/nx-X11/config/cf/gnuLib.rules index fe0e82d..5dee428 100644 --- a/nx-X11/config/cf/gnuLib.rules +++ b/nx-X11/config/cf/gnuLib.rules @@ -40,11 +40,18 @@ XCOMM XXX To rpath or not to rpath... #endif #ifndef RpathLoadFlags #if UseRpath -#define RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath=$(USRLIBDIRPATH) +#define RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath=\$$ORIGIN/$(BUILDLIBDIR) #else #define RpathLoadFlags /**/ #endif #endif +#ifndef RpathInstallLoadFlags +#if UseRpath +#define RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath=$(USRLIBDIRPATH) +#else +#define RpathInstallLoadFlags /**/ +#endif +#endif #ifndef LibraryRpathLoadFlags #define LibraryRpathLoadFlags RpathLoadFlags #endif @@ -62,7 +69,15 @@ XCOMM XXX To rpath or not to rpath... XCOMM XXX Maybe superfluous. #define ExtraLoadFlags RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link=$(USRLIBDIRPATH) #else -#define ExtraLoadFlags RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link=$(BUILDLIBDIR) +#define ExtraLoadFlags RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link=\$$ORIGIN/$(BUILDLIBDIR) +#endif +#endif +#ifndef ExtraInstallLoadFlags +#ifdef UseInstalled +XCOMM XXX Maybe superfluous. +#define ExtraInstallLoadFlags RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link=$(USRLIBDIRPATH) +#else +#define ExtraInstallLoadFlags RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link=\$$ORIGIN/$(BUILDLIBDIR) #endif #endif diff --git a/nx-X11/config/cf/lnxLib.rules b/nx-X11/config/cf/lnxLib.rules index 76fcb39..5b89cdd 100644 --- a/nx-X11/config/cf/lnxLib.rules +++ b/nx-X11/config/cf/lnxLib.rules @@ -51,11 +51,18 @@ # endif #ifndef RpathLoadFlags #if UseRpath -#define RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath,$(USRLIBDIRPATH) +#define RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath,\$$ORIGIN/$(BUILDLIBDIR) #else #define RpathLoadFlags /**/ #endif #endif +#ifndef RpathInstallLoadFlags +#if UseRpath +#define RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath,$(USRLIBDIRPATH) +#else +#define RpathInstallLoadFlags /**/ +#endif +#endif #ifndef LibraryRpathLoadFlags #define LibraryRpathLoadFlags RpathLoadFlags #endif @@ -75,12 +82,25 @@ # define ExtraLoadFlags RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link,$(USRLIBDIRPATH) # endif # else -# define ExtraLoadFlags RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link,$(BUILDLIBDIR) +# define ExtraLoadFlags RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link,\$$ORIGIN/$(BUILDLIBDIR) # endif # else # define ExtraLoadFlags RpathLoadFlags # endif # endif +# ifndef ExtraInstallLoadFlags +# if LinuxBinUtilsMajorVersion >= 26 +# ifdef UseInstalled +# if LinuxBinUtilsMajorVersion < 27 +# define ExtraInstallLoadFlags RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link,$(USRLIBDIRPATH) +# endif +# else +# define ExtraInstallLoadFlags RpathInstallLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link,\$$ORIGIN/$(BUILDLIBDIR) +# endif +# else +# define ExtraInstallLoadFlags RpathInstallLoadFlags +# endif +# endif # ifndef HardCodeLibdirFlag # define HardCodeLibdirFlag RpathLoadFlags # endif diff --git a/nx-X11/programs/Xserver/Imakefile b/nx-X11/programs/Xserver/Imakefile index efab0de..f6dd115 100644 --- a/nx-X11/programs/Xserver/Imakefile +++ b/nx-X11/programs/Xserver/Imakefile @@ -400,7 +400,7 @@ nxagent_static: nxagent else exit 0; fi $(CCLINK) -o nxagent_static -static $(LDOPTIONS) $(NXAGENTOBJS) \ $(LIBCWRAPPER) $(NXCOMPEXT) $(NXAGENTLIBS) $(LOADABLEEXTS) $(LDLIBS) \ - $(NXCOMPEXTSYSLIBS) $(NXAGENTSYSLIBS) $(EXTRA_LOAD_FLAGS) + $(NXCOMPEXTSYSLIBS) $(NXAGENTSYSLIBS) $(EXTRA_INSTALL_LOAD_FLAGS) /* * Hard coded target to build a static nxagent server except for libX11 and libXext. @@ -411,7 +411,7 @@ nxagent_static_nolibs: nxagent else exit 0; fi $(CCLINK) -o nxagent_static_nolibs -Wl,-Bstatic $(LDOPTIONS) $(NXAGENTOBJS) \ $(NXAGENTLIBS) $(LOADABLEEXTS) $(LIBCWRAPPER) $(LDLIBS) \ - $(LDPRELIBS) $(SYSLIBS) -Wl,-Bdynamic -lNX_X11 -lXext $(EXTRA_LOAD_FLAGS) + $(LDPRELIBS) $(SYSLIBS) -Wl,-Bdynamic -lNX_X11 -lXext $(EXTRA_INSTALL_LOAD_FLAGS) #endif /* NXAgentServer */ #if defined(NXWinServer) && NXWinServer -- 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 26ab7b8a79e6c901518d9136d00b79e2905dab58 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
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 b13bf675acbd384cffdcb0ecb6430a5d7b4a19e0 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 4b153f5b057c0f8bd476883c009a91aaba03575b Author: Mihai Moldovan <ionic@ionic.de> Date: Thu Dec 28 23:12:50 2017 +0100 nx-X11/config/cf/{gnu,lnx}Lib.rules: enable new ELF dtags to force RUNPATH creation for nxagent. --- nx-X11/config/cf/gnuLib.rules | 6 +++--- nx-X11/config/cf/lnxLib.rules | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/nx-X11/config/cf/gnuLib.rules b/nx-X11/config/cf/gnuLib.rules index 7b057c1..fe0e82d 100644 --- a/nx-X11/config/cf/gnuLib.rules +++ b/nx-X11/config/cf/gnuLib.rules @@ -40,7 +40,7 @@ XCOMM XXX To rpath or not to rpath... #endif #ifndef RpathLoadFlags #if UseRpath -#define RpathLoadFlags -Wl,-rpath=$(USRLIBDIRPATH) +#define RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath=$(USRLIBDIRPATH) #else #define RpathLoadFlags /**/ #endif @@ -60,9 +60,9 @@ XCOMM XXX To rpath or not to rpath... #ifndef ExtraLoadFlags #ifdef UseInstalled XCOMM XXX Maybe superfluous. -#define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link=$(USRLIBDIRPATH) +#define ExtraLoadFlags RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link=$(USRLIBDIRPATH) #else -#define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link=$(BUILDLIBDIR) +#define ExtraLoadFlags RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link=$(BUILDLIBDIR) #endif #endif diff --git a/nx-X11/config/cf/lnxLib.rules b/nx-X11/config/cf/lnxLib.rules index e415db8..76fcb39 100644 --- a/nx-X11/config/cf/lnxLib.rules +++ b/nx-X11/config/cf/lnxLib.rules @@ -51,7 +51,7 @@ # endif #ifndef RpathLoadFlags #if UseRpath -#define RpathLoadFlags -Wl,-rpath,$(USRLIBDIRPATH) +#define RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath,$(USRLIBDIRPATH) #else #define RpathLoadFlags /**/ #endif @@ -72,10 +72,10 @@ # if LinuxBinUtilsMajorVersion >= 26 # ifdef UseInstalled # if LinuxBinUtilsMajorVersion < 27 -# define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link,$(USRLIBDIRPATH) +# define ExtraLoadFlags RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link,$(USRLIBDIRPATH) # endif # else -# define ExtraLoadFlags RpathLoadFlags -Wl,-rpath-link,$(BUILDLIBDIR) +# define ExtraLoadFlags RpathLoadFlags -Wl,--enable-new-dtags -Wl,-rpath-link,$(BUILDLIBDIR) # endif # else # define ExtraLoadFlags RpathLoadFlags -- 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 44f8c424e70311283b274c3e9fddbd7ca928f003 Author: Mihai Moldovan <ionic@ionic.de> Date: Thu Dec 28 23:16:32 2017 +0100 nxcompshad/src/Makefile.am: enable new ELF dtags to force RUNPATH creation for libXcompshad. --- nxcompshad/src/Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/nxcompshad/src/Makefile.am b/nxcompshad/src/Makefile.am index 670bc4d..f7beac8 100644 --- a/nxcompshad/src/Makefile.am +++ b/nxcompshad/src/Makefile.am @@ -39,6 +39,7 @@ AM_CPPFLAGS = \ libXcompshad_la_LDFLAGS = \ -version-number @LT_COMPSHAD_VERSION@ -no-undefined \ + -Wl,--enable-new-dtags \ -R '$(libdir)/nx/X11' \ $(NULL) -- 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 3d17c665b23ad1bdefade873bec7273efb53aa99 Author: Mihai Moldovan <ionic@ionic.de> Date: Fri Dec 29 22:35:58 2017 +0100 Makefile: install relinked program binary instead of the "temporary" one. --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index ec3ec86..8f9eb84 100644 --- a/Makefile +++ b/Makefile @@ -176,7 +176,7 @@ install-full: $(MAKE) -C nxcompshad install $(INSTALL_DIR) $(DESTDIR)$(BINDIR)/bin - $(INSTALL_PROGRAM) nx-X11/programs/Xserver/nxagent $(DESTDIR)$(BINDIR) + $(INSTALL_PROGRAM) nx-X11/programs/Xserver/nxagent-relink $(DESTDIR)$(BINDIR)/nxagent $(INSTALL_DIR) $(DESTDIR)$(PREFIX)/share/pixmaps $(INSTALL_FILE) nx-X11/programs/Xserver/hw/nxagent/nxagent.xpm $(DESTDIR)$(PREFIX)/share/pixmaps -- 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 f5cdd35d4d69c3a224cbb40c9e9cf3eddc2a3bc8 Merge: 0a2b0a7 1c1431c Author: Mihai Moldovan <ionic@ionic.de> Date: Wed Jan 3 03:25:31 2018 +0100 Merge branch 'bugfix/rpath' into 3.6.x-rpm-debug nxproxy/configure.ac | 9 +++------ nxproxy/src/Makefile.am | 1 + 2 files changed, 4 insertions(+), 6 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 b91b13b37462e19b0d3eedd0568d5f32393e4d97 Author: Mihai Moldovan <ionic@ionic.de> Date: Sat Dec 30 00:40:06 2017 +0100 Makefile: only try to copy/dereference libNX* files when installing data. --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 8f9eb84..57aabfc 100644 --- a/Makefile +++ b/Makefile @@ -201,7 +201,7 @@ install-full: cp -aL nx-X11/exports/include/* nx-X11/.build-exports/include # copy libs (for libnx-x11), we want the targets of the links - . replace.sh; set -x; find nx-X11/exports/lib/ | grep -F ".so" | while read libpath; do \ + . replace.sh; set -x; find nx-X11/exports/lib/ -name "libNX*.so" | while read libpath; do \ libfile=$$(basename $$libpath); \ libdir=$$(dirname $$libpath); \ link=$$(readlink $$libpath); \ -- 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 ecaa13ce6817282c1b9a3a75a2c022876834be83 Author: Mihai Moldovan <ionic@ionic.de> Date: Sat Dec 30 00:17:57 2017 +0100 nx-X11: reintroduce creation of libX11 compat symlinks. We need this to be able to execute the resulting nxagent binary from within the build directory. --- nx-X11/config/cf/Imake.rules | 23 +++++++++++++++++++++++ nx-X11/programs/Xserver/Imakefile | 2 ++ 2 files changed, 25 insertions(+) diff --git a/nx-X11/config/cf/Imake.rules b/nx-X11/config/cf/Imake.rules index 46538a6..8fc344a 100644 --- a/nx-X11/config/cf/Imake.rules +++ b/nx-X11/config/cf/Imake.rules @@ -58,6 +58,7 @@ XCOMM --------------------------------------------------------------------- * ComplexProgramTarget_3 (program,locallib,syslib) * ServerTargetWithFlags (server,subdirs,objects,libs,syslibs,flags) * ServerTarget (server,subdirs,objects,libs,syslibs) + * LibX11Links () * MoveToBakFile (file) * RMoveToBakFile (file) * RanLibrary (args) @@ -1150,6 +1151,28 @@ clean:: @@\ ServerTargetWithFlags(server,subdirs,objects,libs,syslibs,$(_NOOP_)) #endif /* ServerTarget */ + +/* + * Creates libX11 compat symlinks to enable execution of rpath-dependent + * programs. + */ +#ifndef LibX11Links +#define LibX11Links() @@\ +AllTarget(libX11links) @@\ +libX11links: @@\ + $(LN) libNX_X11.so $(BUILDLIBDIR)/libX11.so @@\ + $(LN) libNX_X11.so.6 $(BUILDLIBDIR)/libX11.so.6 @@\ + $(LN) libNX_X11.so.6.3.0 $(BUILDLIBDIR)/libX11.so.6.3.0 @@\ + touch libX11links @@\ + @@\ +clean:: @@\ + RemoveFile($(BUILDLIBDIR)/libX11.so) @@\ + RemoveFile($(BUILDLIBDIR)/libX11.so.6) @@\ + RemoveFile($(BUILDLIBDIR)/libX11.so.6.3.0) @@\ + RemoveFile(libX11links) +#endif /* LibX11Links */ + + #if DoRanlibCmd #define RanLibrary(args) $(RANLIB) args #else diff --git a/nx-X11/programs/Xserver/Imakefile b/nx-X11/programs/Xserver/Imakefile index f6dd115..5d86a53 100644 --- a/nx-X11/programs/Xserver/Imakefile +++ b/nx-X11/programs/Xserver/Imakefile @@ -391,6 +391,8 @@ NX_XSHADOWLIBNAME = libXcompshad.so ServerTarget(nxagent,$(NXAGENTDIRS),$(NXAGENTOBJS), \ $(LIBCWRAPPER) $(NXCOMPEXT) $(NXAGENTLIBS) $(LOADABLEEXTS),$(NXAGENTNXLIBS) $(NXAGENTSYSLIBS) $(NXCOMPEXTSYSLIBS)) +LibX11Links() + /* * Hard coded target to build a static nxagent server. */ -- 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 4d481bf99431a22fb5df5e49254c60280bf1815b Author: Mihai Moldovan <ionic@ionic.de> Date: Wed Jan 3 03:17:10 2018 +0100 nxproxy/configure.ac: drop --enable-cxx11. This is a C program, so enabling or disabling C++11 support will not do anything useful. At most it'll lead to errors when using libtool, which is the next change to come... --- nxproxy/configure.ac | 6 ------ 1 file changed, 6 deletions(-) diff --git a/nxproxy/configure.ac b/nxproxy/configure.ac index 811862e..70f43ec 100644 --- a/nxproxy/configure.ac +++ b/nxproxy/configure.ac @@ -34,12 +34,6 @@ dnl We will work around this bug by using AX_PTHREAD and linking with pthread su dnl libXcomp for now. AX_PTHREAD([], AC_MSG_ERROR([no POSIX threads support detected])) -AC_ARG_ENABLE([cxx11], - [AS_HELP_STRING([--enable-cxx11], - [enable optional features requiring C++11 support (disabled by default)])], - [AS_IF([test x$enableval = xyes], - [AX_CXX_COMPILE_STDCXX_11([], [mandatory])])]) - AC_CONFIG_FILES([ Makefile man/Makefile -- 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 d1897719ae47dc013184d9676516d5d0fb9e85f2 Author: Mihai Moldovan <ionic@ionic.de> Date: Wed Jan 3 03:18:12 2018 +0100 nxproxy/configure.ac: enable libtool support. Using libtool, the nxproxy binary will be replaced by a shell script wrapper that correctly pulls in required libraries (like libXcomp), thus making it possible to start the binary directly in the build directory. This wrapper is dropped during installation time. --- nxproxy/configure.ac | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nxproxy/configure.ac b/nxproxy/configure.ac index 70f43ec..a1dcab4 100644 --- a/nxproxy/configure.ac +++ b/nxproxy/configure.ac @@ -16,6 +16,9 @@ AC_CONFIG_MACRO_DIR([m4]) AM_INIT_AUTOMAKE([foreign no-dist-gzip dist-bzip2]) +# Initialize libtool +AC_PROG_LIBTOOL + PROXY_VERSION=nxproxy_version AC_SUBST([PROXY_VERSION]) -- 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 1c1431c0ff41afa8221ea8a1e0d4514746ebbaa3 Author: Mihai Moldovan <ionic@ionic.de> Date: Wed Jan 3 03:22:31 2018 +0100 nxproxy/src/Makefile.am: build library using RUNPATH instead of RPATH. Will only be useful at build time, since installation strips any RPATH/RUNPATH again. --- nxproxy/src/Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/nxproxy/src/Makefile.am b/nxproxy/src/Makefile.am index 4fd2eef..ecf2a04 100644 --- a/nxproxy/src/Makefile.am +++ b/nxproxy/src/Makefile.am @@ -15,6 +15,7 @@ nxproxy_LDADD = \ nxproxy_LDFLAGS = \ $(PTHREAD_LDFLAGS) \ + -Wl,--enable-new-dtags \ $(NULL) nxproxy_CFLAGS = \ -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/nx-libs.git