aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2016-06-30 23:50:12 +0200
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2016-07-01 16:07:50 +0200
commit5934d03efdcf32e8ecdf61cc29a80b2088e6de9c (patch)
treee1b687d9c6a658c81801c8fc9dba9a063f22b3da
parentda7261cfe0244fcf329e0597f9d122293fd4f9eb (diff)
downloadnx-libs-5934d03efdcf32e8ecdf61cc29a80b2088e6de9c.tar.gz
nx-libs-5934d03efdcf32e8ecdf61cc29a80b2088e6de9c.tar.bz2
nx-libs-5934d03efdcf32e8ecdf61cc29a80b2088e6de9c.zip
Rework nxagent and nxproxy wrapper scripts.
o Install nxagent/nxproxy executables into multi-arch path. o Fake libNX_X11.so* as $LIBDIR/nx-X11/libX11.so*. o Allow injecting different $NXAPP containing the executable name. o For e.g. x2goagent this requires the following changes: - Move x2goagent symlink from /usr/lib/x2go/bin/x2goagent to $LIBDIR/nx/bin/x2goagent - Replace /usr/bin/x2goagent by a two-liner... ``` #!/bin/sh export NXAPP=x2goagent nxagent ```
-rw-r--r--Makefile15
-rw-r--r--bin/nxagent.in (renamed from bin/nxproxy)10
-rw-r--r--bin/nxproxy.in (renamed from bin/nxagent)9
-rw-r--r--debian/nxagent.install3
-rw-r--r--debian/nxproxy.install2
-rw-r--r--nx-libs.spec3
6 files changed, 21 insertions, 21 deletions
diff --git a/Makefile b/Makefile
index 47ac50fe9..470a46d6e 100644
--- a/Makefile
+++ b/Makefile
@@ -14,7 +14,7 @@ BINDIR ?= $(PREFIX)/bin
LIBDIR ?= $(PREFIX)/lib
USRLIBDIR ?= $(LIBDIR)
INCLUDEDIR ?= $(PREFIX)/include
-NXLIBDIR ?= $(PREFIX)/lib/nx
+NXLIBDIR ?= $(LIBDIR)/nx
CONFIGURE ?= ./configure
NX_VERSION_MAJOR=$(shell ./version.sh 1)
@@ -36,6 +36,8 @@ SHELL:=/bin/bash
# clean auto-generated nxversion.def file \
if [ "x$@" == "xclean" ] || [ "x$@" = "xdistclean" ]; then \
rm -f nx-X11/config/cf/nxversion.def; \
+ rm -f bin/nxagent; \
+ rm -f bin/nxproxy; \
fi
all: build
@@ -91,6 +93,7 @@ install-lite:
# install nxproxy wrapper script
$(INSTALL_DIR) $(DESTDIR)$(BINDIR)
+ sed -e 's|@@NXLIBDIR@@|$(NXLIBDIR)|g' bin/nxproxy.in > bin/nxproxy
$(INSTALL_PROGRAM) bin/nxproxy $(DESTDIR)$(BINDIR)
# FIXME: the below install logic should work via nxproxy/Makefile.in
@@ -103,8 +106,11 @@ install-lite:
gzip $(DESTDIR)$(PREFIX)/share/man/man1/*.1
install-full:
- for f in nxagent; do \
- $(INSTALL_PROGRAM) bin/$$f $(DESTDIR)$(BINDIR); done
+ # install nxagent wrapper script
+ $(INSTALL_DIR) $(DESTDIR)$(BINDIR)
+ sed -e 's|@@NXLIBDIR@@|$(NXLIBDIR)|g' bin/nxagent.in > bin/nxagent
+ $(INSTALL_PROGRAM) bin/nxagent $(DESTDIR)$(BINDIR)
+
for d in nxcompext nxcompshad; do \
$(MAKE) -C $$d install; done
@@ -141,6 +147,9 @@ install-full:
$(INSTALL_DIR) $(DESTDIR)$(USRLIBDIR)
$(COPY_SYMLINK) nx-X11/.build-exports/lib/*.so* $(DESTDIR)$(USRLIBDIR)/
+ $(INSTALL_DIR) $(DESTDIR)$(USRLIBDIR)/nx-X11
+ $(INSTALL_SYMLINK) ../libNX_X11.so $(DESTDIR)$(USRLIBDIR)/nx-X11/libX11.so
+ $(INSTALL_SYMLINK) ../libNX_X11.so.6.2 $(DESTDIR)$(USRLIBDIR)/nx-X11/libX11.so.6.2
. replace.sh; set -x; find nx-X11/.build-exports/include/ -type d | \
while read dirname; do \
diff --git a/bin/nxproxy b/bin/nxagent.in
index 23e7109e3..86603d549 100644
--- a/bin/nxproxy
+++ b/bin/nxagent.in
@@ -15,15 +15,11 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
-NXAPP=nxproxy
-NX_LIBS=/usr/lib/nx
-NX_LOCAL_LIBS=/usr/local/lib/nx
+NX_LIBS=@@NXLIBDIR@@
# make sure nxagent starts properly with pam_tmpdir.so being in use
NX_TEMP=${NX_TEMP:-/tmp}
export NX_TEMP
+export LD_LIBRARY_PATH=@@NXLIBDIR@@-X11/
-test -x $NX_LOCAL_LIBS/bin/$NXAPP && export NX_LIBS=$NX_LOCAL_LIBS
-test -x $NX_LIBS/bin/$NXAPP && export NX_LIBS=$NX_LIBS
-
-exec $NX_LIBS/bin/$NXAPP "$@" \ No newline at end of file
+exec $NX_LIBS/bin/${NXAPP:-"nxagent"} "$@"
diff --git a/bin/nxagent b/bin/nxproxy.in
index 6306ed069..d21388d18 100644
--- a/bin/nxagent
+++ b/bin/nxproxy.in
@@ -15,15 +15,10 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see http://www.gnu.org/licenses/.
-NXAPP=nxagent
-NX_LIBS=/usr/lib/nx
-NX_LOCAL_LIBS=/usr/local/lib/nx
+NX_LIBS=@@NXLIBDIR@@
# make sure nxagent starts properly with pam_tmpdir.so being in use
NX_TEMP=${NX_TEMP:-/tmp}
export NX_TEMP
-test -x $NX_LOCAL_LIBS/bin/$NXAPP && export NX_LIBS=$NX_LOCAL_LIBS
-test -x $NX_LIBS/bin/$NXAPP && export NX_LIBS=$NX_LIBS
-
-exec $NX_LIBS/bin/$NXAPP "$@"
+exec $NX_LIBS/bin/${NXAPP:="nxproxy"} "$@"
diff --git a/debian/nxagent.install b/debian/nxagent.install
index 123971a7c..75e72fcde 100644
--- a/debian/nxagent.install
+++ b/debian/nxagent.install
@@ -3,7 +3,8 @@ etc/nxagent/rgb
usr/share/nx/rgb
usr/share/nx/VERSION.nxagent
usr/share/man/man1/nxagent.1*
-usr/lib/nx/bin/nxagent
+usr/lib/*/nx/bin/nxagent
+usr/lib/*/nx-X11/
usr/bin/nxagent
usr/share/pixmaps/nxagent.xpm
etc/nxagent/nxagent.keyboard
diff --git a/debian/nxproxy.install b/debian/nxproxy.install
index ab7c97d58..8ade77d6d 100644
--- a/debian/nxproxy.install
+++ b/debian/nxproxy.install
@@ -1,4 +1,4 @@
-usr/lib/nx/bin/nxproxy
+usr/lib/*/nx/bin/nxproxy
usr/bin/nxproxy
usr/share/man/man1/nxproxy.1*
usr/share/nx/VERSION.nxproxy
diff --git a/nx-libs.spec b/nx-libs.spec
index 5adb42ca2..418a83bdd 100644
--- a/nx-libs.spec
+++ b/nx-libs.spec
@@ -329,8 +329,7 @@ sed -i -e 's#-O3#%{optflags}#' nx-X11/config/cf/host.def
# Use multilib dirs
# We're installing binaries into %%{_libdir}/nx/bin rather than %%{_libexedir}/nx
# because upstream expects libraries and binaries in the same directory
-sed -i -e 's,/lib/nx,/%{_lib}/nx,' Makefile nx-X11/config/cf/X11.tmpl
-sed -i -e 's,/usr/lib/,/usr/%{_lib}/,' bin/*
+sed -i -e 's,/lib/nx,/%{_lib}/nx,' nx-X11/config/cf/X11.tmpl
# Fix FSF address
find -name LICENSE | xargs sed -i \
-e 's/59 Temple Place/51 Franklin Street/' -e 's/Suite 330/Fifth Floor/' \