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 f299e2c Merge branch 'bugfix/rpath' into 3.6.x-rpm-debug new f2cfad0 nx-X11: build programs with a temporary RPATH/RUNPATH value and a relinked version with the system location. new 5758807 Makefile: install relinked program binary instead of the "temporary" one. new e1ca90b nx-X11: reintroduce creation of libX11 compat symlinks. new c2bb28d Merge branch 'bugfix/rpath' into 3.6.x-rpm-debug The 4 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: nx-X11/config/cf/Imake.rules | 26 +++++++++++++++++++++++++- nx-X11/programs/Xserver/Imakefile | 2 ++ 2 files changed, 27 insertions(+), 1 deletion(-) -- 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 575880700af2303b53ed2e29296a7b021334838b 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 e1ca90b3b463a55c32c1e4b3e72fb0126cd044d9 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..4c79de4 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)) +CreateX11Links + /* * 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 f2cfad0c6b7594bc97dd2a1507d2d429b7d8ef98 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 c2bb28d5b3b89dc3bf0bcfd06ef9682be0edefd0 Merge: f299e2c e1ca90b Author: Mihai Moldovan <ionic@ionic.de> Date: Sat Dec 30 00:22:47 2017 +0100 Merge branch 'bugfix/rpath' into 3.6.x-rpm-debug nx-X11/config/cf/Imake.rules | 26 +++++++++++++++++++++++++- nx-X11/programs/Xserver/Imakefile | 2 ++ 2 files changed, 27 insertions(+), 1 deletion(-) -- Alioth's /home/x2go-admin/maintenancescripts/git/hooks/post-receive-email on /srv/git/code.x2go.org/nx-libs.git