[X2Go-Commits] [nx-libs] 02/03: Make nxagent process aware of its current NX'ish version.

git-admin at x2go.org git-admin at x2go.org
Tue Feb 17 09:29:11 CET 2015


This is an automated email from the git hooks/post-receive script.

x2go pushed a commit to branch 3.6.x
in repository nx-libs.

commit 203d97147623b97a48c0f6456cc1de9d8364db03
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date:   Mon Feb 16 15:11:02 2015 +0100

    Make nxagent process aware of its current NX'ish version.
    
      This feature copies the way how X.Org version string and number
      are propagated at build time.
    
      First use case: if people start nxagent, it reports its version number
      on stderr. This is about being human-friendly.
    
      Second use case: None, so far. But it will now be easy to use
      the NXAGENT_VERSION_STRING in later feature add-ons.
---
 Makefile                                     |   19 ++++++++++++++
 nx-X11/config/cf/Imakefile                   |    3 ++-
 nx-X11/config/cf/nxversion.def.in            |    4 +++
 nx-X11/config/cf/xorg.cf                     |   26 +++++++++++++++++++-
 nx-X11/programs/Xserver/hw/nxagent/Imakefile |    7 +++++-
 nx-X11/programs/Xserver/hw/nxagent/Init.c    |    5 ++--
 version.sh                                   |   34 ++++++++++++++++++++++++++
 7 files changed, 93 insertions(+), 5 deletions(-)

diff --git a/Makefile b/Makefile
index f0c8a97..2f8dda8 100644
--- a/Makefile
+++ b/Makefile
@@ -19,6 +19,11 @@ NXLIBDIR    ?= $(PREFIX)/lib/nx
 X2GOLIBDIR  ?= $(PREFIX)/lib/x2go
 CONFIGURE   ?= ./configure
 
+NX_VERSION_MAJOR=$(shell ./version.sh 1)
+NX_VERSION_MINOR=$(shell ./version.sh 2)
+NX_VERSION_MICRO=$(shell ./version.sh 3)
+NX_VERSION_PATCH=$(shell ./version.sh 4)
+
 SHELL:=/bin/bash
 
 %:
@@ -44,7 +49,21 @@ build-full:
 	cd nxcomp && autoconf
 	cd nxcompext && autoconf
 	cd nxcompshad && autoconf
+
+	# prepare nx-X11/config/cf/nxversion.def
+	sed \
+	    -e 's/###NX_VERSION_MAJOR###/$(NX_VERSION_MAJOR)/' \
+	    -e 's/###NX_VERSION_MINOR###/$(NX_VERSION_MINOR)/' \
+	    -e 's/###NX_VERSION_MICRO###/$(NX_VERSION_MICRO)/' \
+	    -e 's/###NX_VERSION_PATCH###/$(NX_VERSION_PATCH)/' \
+	    nx-X11/config/cf/nxversion.def.in \
+	    > nx-X11/config/cf/nxversion.def
+
 	cd nx-X11 && ${MAKE} World
+
+	# clean directly after build
+	rm -f nx-X11/config/cf/nxversion.def
+
 	cd nxproxy && autoconf && (${CONFIGURE}) && ${MAKE}
 
 build:
diff --git a/nx-X11/config/cf/Imakefile b/nx-X11/config/cf/Imakefile
index 2eb7e99..cbcec40 100644
--- a/nx-X11/config/cf/Imakefile
+++ b/nx-X11/config/cf/Imakefile
@@ -27,7 +27,8 @@ xorgsite.def \
 $(VERSIONDEFFILES) \
 $(HOSTDEFFILES) \
 site.def \
-xorgversion.def  
+xorgversion.def \
+nxversion.def
 
 RULEFILES = \
 Imake.rules \
diff --git a/nx-X11/config/cf/nxversion.def.in b/nx-X11/config/cf/nxversion.def.in
new file mode 100644
index 0000000..03ac921
--- /dev/null
+++ b/nx-X11/config/cf/nxversion.def.in
@@ -0,0 +1,4 @@
+#define NX_VERSION_MAJOR ###NX_VERSION_MAJOR###
+#define NX_VERSION_MINOR ###NX_VERSION_MINOR###
+#define NX_VERSION_MICRO ###NX_VERSION_MICRO###
+#define NX_VERSION_PATCH ###NX_VERSION_PATCH###
diff --git a/nx-X11/config/cf/xorg.cf b/nx-X11/config/cf/xorg.cf
index 6c42574..71dab56 100644
--- a/nx-X11/config/cf/xorg.cf
+++ b/nx-X11/config/cf/xorg.cf
@@ -54,6 +54,31 @@ XCOMM $Xorg: xfree86.cf,v 1.4 2000/08/17 19:41:49 cpqbld Exp $
 XORG_VERSION_CURRENT = XorgVersion
 RELEASE_VERSION = ReleaseVersion
 
+#if NXAgentServer
+#include "nxversion.def"
+
+#if !defined(nxVersionString) && \
+    defined(NX_VERSION_MAJOR) && defined(NX_VERSION_MINOR) && \
+    defined(NX_VERSION_MICRO) && defined(NX_VERSION_PATCH)
+# define nxVersionString `echo NX_VERSION_MAJOR NX_VERSION_MINOR NX_VERSION_MICRO NX_VERSION_PATCH | sed 's/ /./g'`
+#endif
+
+/*
+ * NX versions are M.m.µ.p, and NXVersion is:
+ *
+ *    M * 10000000 + m * 100000 + µ * 1000 + p
+ *
+ */
+
+#if !defined(nxVersion) && defined(nxVersionString)
+#  define nxVersion (((NX_VERSION_MAJOR) * 10000000) + ((NX_VERSION_MINOR) * 100000) + ((NX_VERSION_MICRO) * 1000) + NX_VERSION_PATCH)
+
+NX_VERSION_CURRENT = nxVersion
+NX_VERSION_CURRENT_STRING  = nxVersionString
+
+#endif
+#endif /* NXAgentServer */
+
 #if !defined(XorgManVersionString) && \
     defined(XORG_VERSION_MAJOR) && defined(XORG_VERSION_MINOR) && \
     defined(XORG_VERSION_PATCH) && defined(XORG_VERSION_SNAP)
@@ -1686,4 +1711,3 @@ XFREE86JAPANESEDOCDIR = $(DOCDIR)/Japanese
 #include <cross.def>
 #endif
 #include <xf86.rules>
-
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Imakefile b/nx-X11/programs/Xserver/hw/nxagent/Imakefile
index d812c7f..6c075fa 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Imakefile
+++ b/nx-X11/programs/Xserver/hw/nxagent/Imakefile
@@ -189,7 +189,12 @@ UPG_DEFINES=-DNXAGENT_UPGRADE
 UPG_DEFINES=
 #endif
 
-DEFINES = -g $(OS_DEFINES) $(EXT_DEFINES) $(UPG_DEFINES) \
+#if nxVersion
+NX_DEFINES=-DNX_VERSION_CURRENT="$(NX_VERSION_CURRENT)" \
+           -DNX_VERSION_CURRENT_STRING="\"$(NX_VERSION_CURRENT_STRING)\""
+#endif
+
+DEFINES = -g $(OS_DEFINES) $(EXT_DEFINES) $(UPG_DEFINES) $(NX_DEFINES) \
           -UXF86VIDMODE -UXFreeXDGA -UXF86MISC -UXF86DRI -UXFree86LOADER \
           -DNXAGENT_SERVER \
           -DNXAGENT_CONSTRAINCURSOR \
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Init.c b/nx-X11/programs/Xserver/hw/nxagent/Init.c
index 8d4eed2..dbc706c 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Init.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Init.c
@@ -74,7 +74,8 @@ is" without express or implied warranty.
 #undef  DEBUG
 #undef  DUMP
 
-#define NXAGENT_VERSION  "3.5.0"
+#define NXAGENT_VERSION NX_VERSION_CURRENT
+#define NXAGENT_VERSION_STRING NX_VERSION_CURRENT_STRING
 
 /*
  * ProcVector array defined in tables.c.
@@ -226,7 +227,7 @@ void InitOutput(ScreenInfo *screenInfo, int argc, char *argv[])
 
   if (serverGeneration <= 1)
   {
-    fprintf(stderr, "\nNXAGENT - Version " NXAGENT_VERSION "\n\n");
+    fprintf(stderr, "\nNXAGENT - Version " NXAGENT_VERSION_STRING "\n\n");
     fprintf(stderr, "Copyright (C) 2001, 2011 NoMachine.\n");
     fprintf(stderr, "See http://www.nomachine.com/ for more information.\n\n");
 
diff --git a/version.sh b/version.sh
new file mode 100755
index 0000000..8915368
--- /dev/null
+++ b/version.sh
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+# Copyright (C) 2015 Mihai Moldovan <ionic at ionic.de>
+# Copyright (C) 2015 Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the
+# Free Software Foundation, Inc.,
+# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
+
+COMPONENT="$1"
+VERSION_FILE="VERSION"
+
+case "${COMPONENT}" in
+  (1|2|3|4) :;;
+  (*) echo "usage: $(basename ${0}) <position-in-version-number>" >&2; exit 1;;
+esac
+
+# More than one line is not supported.
+VER="$(head -n "1" "${VERSION_FILE}" | cut -d"." -f"${COMPONENT}")"
+
+[ "x${VER}" = "x" ] && VER="0"
+
+printf "${VER}"

--
Alioth's /srv/git/_hooks_/post-receive-email on /srv/git/code.x2go.org/nx-libs.git


More information about the x2go-commits mailing list