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 40cbeb6 Fixup merge with bugfix/rpath. new a1833ad nx-X11: build programs with a temporary RPATH/RUNPATH value and only use system location when installing. new b0f0825 Makefile: install relinked program binary instead of the "temporary" one. new f299e2c Merge branch 'bugfix/rpath' into 3.6.x-rpm-debug The 3 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/gnuLib.rules | 6 +++--- nx-X11/config/cf/lnxLib.rules | 6 +++--- 2 files changed, 6 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 a1833ad51a65faa7250f4dd13238b5ae54ba3048 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 only use system location when installing. --- nx-X11/config/cf/Imake.rules | 34 +++++++++++++++++++++++++++++++--- 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, 76 insertions(+), 9 deletions(-) diff --git a/nx-X11/config/cf/Imake.rules b/nx-X11/config/cf/Imake.rules index f53a15b..bdec3fd 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,6 +1134,7 @@ 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:: @@\ @@ -1586,17 +1603,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 f299e2c70f1a139a863ca10a59263a3fa823443b Merge: 40cbeb6 b0f0825 Author: Mihai Moldovan <ionic@ionic.de> Date: Fri Dec 29 23:15:22 2017 +0100 Merge branch 'bugfix/rpath' into 3.6.x-rpm-debug nx-X11/config/cf/gnuLib.rules | 6 +++--- nx-X11/config/cf/lnxLib.rules | 6 +++--- 2 files changed, 6 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 b0f082582ca3ff40b4fc0dd7213a4e48df2b14e4 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