The branch, master has been updated via b09b686cf380a96717e29fbf1557b86d057a465f (commit) via d139e5d3da1b56457d7f076581de7e186fe2e6f2 (commit) via a12ad50503536fc1e9cd3ff1bf11ef4869da6e6d (commit) via 3970fabc565a26751a795c71722eaf3ec510303f (commit) via 263523d7bde6fd6f24c2e14ba88180ac38335fe7 (commit) via 6b505a48acf38d0450d7c615ac8f2e67b44aacf4 (commit) via d634c16aaa793ab61ac40ced6ab741d5831ef570 (commit) from 3727d736b600096b9a177bec5b8639605ba776ac (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit b09b686cf380a96717e29fbf1557b86d057a465f Author: Reinhard Tartler <siretart@tauware.de> Date: Wed Dec 12 15:20:44 2012 +0100 add rewritten roll-tarballs.sh script commit d139e5d3da1b56457d7f076581de7e186fe2e6f2 Author: Reinhard Tartler <siretart@tauware.de> Date: Wed Dec 12 12:45:41 2012 +0100 drop debian/patches/001_add-main-makefile.full+lite.patch Instead, place the makefile into debian/Makefile.nx-libs. This makes the makefile easier to edit. commit a12ad50503536fc1e9cd3ff1bf11ef4869da6e6d Author: Reinhard Tartler <siretart@tauware.de> Date: Wed Dec 12 12:42:03 2012 +0100 integrate debian/pre-build-nx.sh into debian/rules This change makes debian/rules a bit easier to read commit 3970fabc565a26751a795c71722eaf3ec510303f Author: Reinhard Tartler <siretart@tauware.de> Date: Wed Dec 12 12:27:00 2012 +0100 Rely on shlibs files instead of hard coding library dependencies If stricter dependencies are really required, they should absolutely be specified in the shlibs file instead. commit 263523d7bde6fd6f24c2e14ba88180ac38335fe7 Author: Reinhard Tartler <siretart@tauware.de> Date: Wed Dec 12 12:31:51 2012 +0100 disable parallel builds It seems that there is a race condition in the implementation of the nx-x11 makefiles somewhere. On machines with many cores and high levels of parallel workers (for me, 32 cores and -j20), nxcompext gets built before libNX_X11 is ready: + ln -s ../../lib/X11/libNX_X11.so . /usr/bin/ld: cannot find -lNX_X11 collect2: error: ld returned 1 exit status make[9]: *** [libXcompext.so.3.5.0] Fehler 1 make[9]: Leaving directory `/srv/scratch/tartler/nx-libs/nxcompext' Until those makefiles get fixed, better disable parallel operation commit 6b505a48acf38d0450d7c615ac8f2e67b44aacf4 Author: Reinhard Tartler <siretart@tauware.de> Date: Wed Dec 12 10:07:52 2012 +0100 remove unnecessary build-conflict on xbitmaps The Debian xterm package depends on xbitmaps. This change allows compiling on a host that has xterm installed. commit d634c16aaa793ab61ac40ced6ab741d5831ef570 Author: Reinhard Tartler <siretart@tauware.de> Date: Wed Dec 12 10:30:57 2012 +0100 make xfonts-base a recommends According to lintian, this is a severe error. Demote to recommends to ensure that it still gets installed by default. ----------------------------------------------------------------------- Summary of changes: debian/Makefile.nx-libs | 51 +++++++ debian/control | 25 ++-- .../patches/001_add-main-makefile.full+lite.patch | 93 ------------- debian/patches/series | 1 - debian/pre-build-nx.sh | 12 -- debian/roll-tarballs.sh | 142 ++++++++++++++++++++ debian/rules | 13 +- 7 files changed, 214 insertions(+), 123 deletions(-) create mode 100644 debian/Makefile.nx-libs delete mode 100644 debian/patches/001_add-main-makefile.full+lite.patch delete mode 100755 debian/pre-build-nx.sh create mode 100755 debian/roll-tarballs.sh The diff of changes is: diff --git a/debian/Makefile.nx-libs b/debian/Makefile.nx-libs new file mode 100644 index 0000000..3151be2 --- /dev/null +++ b/debian/Makefile.nx-libs @@ -0,0 +1,51 @@ +#!/usr/bin/make -f + +PREFIX ?= /usr/local +CONFIGURE=./configure + +%: + if test -f bin/Makefile; then ${MAKE} -C bin $@; fi + if test -f nxcomp/Makefile; then ${MAKE} -C nxcomp $@; fi + if test -f nxproxy/Makefile; then ${MAKE} -C nxproxy $@; fi + if test -d nx-X11; then \ + if test -f nxcompext/Makefile; then ${MAKE} -C nxcompext $@; fi; \ + if test -f nxcompshad/Makefile; then ${MAKE} -C nxcompshad $@; fi; \ + if test -f nx-X11/Makefile; then ${MAKE} -C nx-X11 $@; fi; \ + fi + +all: build + +test: + echo "No testing for NX (redistributed)" + +build-lite: + cd nxcomp && autoconf && (${CONFIGURE}) && ${MAKE} + cd nxproxy && autoconf && (${CONFIGURE}) && ${MAKE} + +build-full: +# in the full case, we rely on "magic" in the nx-X11 imake-based makefiles... + cd nxcomp && autoconf + cd nxcompext && autoconf + cd nxcompshad && autoconf + cd nx-X11 && ${MAKE} World + cd nxproxy && autoconf && (${CONFIGURE}) && ${MAKE} + +build: + if ! test -d nx-X11; then \ + ${MAKE} build-lite; \ + else \ + ${MAKE} build-full; \ + fi + +uninstall: + if test -f bin/Makefile; then ${MAKE} -C bin $@; fi + if test -f nxcomp/Makefile; then ${MAKE} -C nxcomp $@; fi + if test -f nxproxy/Makefile; then ${MAKE} -C nxproxy $@; fi + if test -d nx-X11; then \ + if test -f nxcompext/Makefile; then ${MAKE} -C nxcompext $@; fi; \ + if test -f nxcompshad/Makefile; then ${MAKE} -C nxcompshad $@; fi; \ + if test -f nx-X11/Makefile; then \ + if test -d $(PREFIX)/lib/nx; then rm -rf $(PREFIX)/lib/nx; fi; \ + if test -d $(PREFIX)/include/nx; then rm -rf $(PREFIX)/include/nx; fi; \ + fi; \ + fi diff --git a/debian/control b/debian/control index dc2604c..369c05e 100644 --- a/debian/control +++ b/debian/control @@ -22,7 +22,6 @@ Build-Conflicts: x11proto-randr-dev, x11proto-record-dev, x11proto-xinerama-dev, - xbitmaps, Standards-Version: 3.9.3 Homepage: http://code.x2go.org/gitweb?p=nx-libs.git;a=summary Vcs-Git: git://code.x2go.org/nx-libs.git @@ -33,7 +32,7 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, -Breaks: nxlibs (<=3.5.1) +Breaks: nxlibs (<= 3.5.1) Replaces: nxlibs Description: nx-X11 NX is a software suite which implements very efficient @@ -49,7 +48,7 @@ Architecture: any Breaks: nxlibs-dev (<=3.5.1) Replaces: nxlibs-dev Depends: - libnx-x11 (>= ${source:Version}), libnx-x11 (<< ${source:Version}.1~), + libnx-x11 (= ${binary:Version}), ${misc:Depends}, Description: Library headers for nx-X11 NX is a software suite which implements very efficient @@ -63,7 +62,7 @@ Package: libnx-mesa-extras-dev Section: libdevel Architecture: any Depends: - libnx-x11-dev (>= ${source:Version}), libnx-x11-dev (<< ${source:Version}.1~), + libnx-x11-dev (= ${binary:Version}), ${misc:Depends}, Description: Library headers for nx-X11 (extra headers) NX is a software suite which implements very efficient @@ -76,10 +75,10 @@ Description: Library headers for nx-X11 (extra headers) Package: nxagent Architecture: any Depends: - libnx-x11 (>= ${source:Version}), libnx-x11 (<< ${source:Version}.1~), - xfonts-base, ${shlibs:Depends}, ${misc:Depends}, +Recommends: + xfonts-base, Description: NX agent NX is a software suite which implements very efficient compression of the X11 protocol. This increases performance when @@ -102,7 +101,7 @@ Description: NX agent Package: x2goagent Architecture: all Depends: - nxagent (>= ${source:Version}), nxagent (<< ${source:Version}.1~), + nxagent (>= ${source:Version}) ${misc:Depends}, Suggests: x2goserver @@ -124,7 +123,6 @@ Description: X2Go agent Package: nxproxy Architecture: any Depends: - libxcomp3 (>= ${source:Version}), libxcomp3 (<< ${source:Version}.1~), ${shlibs:Depends}, ${misc:Depends}, Description: NX proxy @@ -137,7 +135,6 @@ Description: NX proxy Package: nxauth Architecture: any Depends: - libnx-x11 (>= ${source:Version}), libnx-x11 (<< ${source:Version}.1~), ${shlibs:Depends}, ${misc:Depends}, Description: NX xauth @@ -152,7 +149,7 @@ Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends}, -Breaks: nxcomp (<=3.5.1) +Breaks: nxcomp (<= 3.5.1) Replaces: nxcomp Description: NX X compression library NX is a software suite which implements very efficient @@ -179,7 +176,6 @@ Description: NX X compression library headers Package: libxcompext3 Architecture: any Depends: - libnx-x11 (>= ${source:Version}), libnx-x11 (<< ${source:Version}.1~), ${shlibs:Depends}, ${misc:Depends}, Breaks: nxcompext (<=3.5.1) @@ -195,7 +191,7 @@ Package: libxcompext-dev Architecture: any Section: libdevel Depends: - libxcompext3 (=${binary:Version}), + libxcompext3 (= ${binary:Version}), ${misc:Depends}, libxcomp-dev, Breaks: nxcompext-dev (<=3.5.1) @@ -212,7 +208,6 @@ Package: libxcompshad3 Section: x11 Architecture: any Depends: - libnx-x11 (>= ${source:Version}), libnx-x11 (<< ${source:Version}.1~), ${shlibs:Depends}, ${misc:Depends}, Breaks: nxcompshad (<=3.5.1) @@ -228,9 +223,9 @@ Package: libxcompshad-dev Section: libdevel Architecture: any Depends: - libxcompshad3 (=${binary:Version}), + libxcompshad3 (= ${binary:Version}), ${misc:Depends}, -Breaks: nxcompshad-dev (<=3.5.1) +Breaks: nxcompshad-dev (<= 3.5.1) Replaces: nxcompshad-dev Description: NX shadowing library headers NX is a software suite which implements very efficient diff --git a/debian/patches/001_add-main-makefile.full+lite.patch b/debian/patches/001_add-main-makefile.full+lite.patch deleted file mode 100644 index 6bbf70b..0000000 --- a/debian/patches/001_add-main-makefile.full+lite.patch +++ /dev/null @@ -1,93 +0,0 @@ -Description: Provide main Makefile for whole source tree - By design this patch is not needed to be sent upstream. -Forwarded: not-needed -Author: Mike Gabriel <mike.gabriel@das-netzwerkteam.de> -Last-Update: 2011-12-31 ---- /dev/null -+++ b/Makefile -@@ -0,0 +1,51 @@ -+#!/usr/bin/make -f -+ -+PREFIX ?= /usr/local -+CONFIGURE=./configure -+ -+%: -+ if test -f bin/Makefile; then ${MAKE} -C bin $@; fi -+ if test -f nxcomp/Makefile; then ${MAKE} -C nxcomp $@; fi -+ if test -f nxproxy/Makefile; then ${MAKE} -C nxproxy $@; fi -+ if test -d nx-X11; then \ -+ if test -f nxcompext/Makefile; then ${MAKE} -C nxcompext $@; fi; \ -+ if test -f nxcompshad/Makefile; then ${MAKE} -C nxcompshad $@; fi; \ -+ if test -f nx-X11/Makefile; then ${MAKE} -C nx-X11 $@; fi; \ -+ fi -+ -+all: build -+ -+test: -+ echo "No testing for NX (redistributed)" -+ -+build-lite: -+ cd nxcomp && autoconf && (${CONFIGURE}) && ${MAKE} -+ cd nxproxy && autoconf && (${CONFIGURE}) && ${MAKE} -+ -+build-full: -+# in the full case, we rely on "magic" in the nx-X11 imake-based makefiles... -+ cd nxcomp && autoconf -+ cd nxcompext && autoconf -+ cd nxcompshad && autoconf -+ cd nx-X11 && ${MAKE} World -+ cd nxproxy && autoconf && (${CONFIGURE}) && ${MAKE} -+ -+build: -+ if ! test -d nx-X11; then \ -+ ${MAKE} build-lite; \ -+ else \ -+ ${MAKE} build-full; \ -+ fi -+ -+uninstall: -+ if test -f bin/Makefile; then ${MAKE} -C bin $@; fi -+ if test -f nxcomp/Makefile; then ${MAKE} -C nxcomp $@; fi -+ if test -f nxproxy/Makefile; then ${MAKE} -C nxproxy $@; fi -+ if test -d nx-X11; then \ -+ if test -f nxcompext/Makefile; then ${MAKE} -C nxcompext $@; fi; \ -+ if test -f nxcompshad/Makefile; then ${MAKE} -C nxcompshad $@; fi; \ -+ if test -f nx-X11/Makefile; then \ -+ if test -d $(PREFIX)/lib/nx; then rm -rf $(PREFIX)/lib/nx; fi; \ -+ if test -d $(PREFIX)/include/nx; then rm -rf $(PREFIX)/include/nx; fi; \ -+ fi; \ -+ fi ---- /dev/null -+++ b/bin/Makefile -@@ -0,0 +1,31 @@ -+#!/usr/bin/make -f -+ -+INSTALL_DIR=install -d -o root -g root -m 755 -+INSTALL_FILE=install -o root -g root -m 644 -+INSTALL_PROGRAM=install -o root -g root -m 755 -+ -+RM_FILE=rm -f -+RM_DIR=rmdir -p --ignore-fail-on-non-empty -+ -+DESTDIR= -+PREFIX ?= /usr/local -+BINDIR=$(PREFIX)/bin -+NXLIBDIR=$(PREFIX)/lib/nx -+X2GOLIBDIR=$(PREFIX)/lib/x2go -+ -+%: -+ echo "Nothing to do for $@..." -+ -+install: -+ mkdir -p $(DESTDIR)$(X2GOLIBDIR)/bin -+ $(INSTALL_DIR) $(DESTDIR)$(X2GOLIBDIR)/bin/ -+ ln -sf $(NXLIBDIR)/bin/nxagent $(DESTDIR)$(X2GOLIBDIR)/bin/x2goagent -+ mkdir -p $(DESTDIR)$(BINDIR) -+ find nx* | while read file; do $(INSTALL_PROGRAM) $$file $(DESTDIR)$(BINDIR)/; done -+ find x2go* | while read file; do $(INSTALL_PROGRAM) $$file $(DESTDIR)$(BINDIR)/; done -+ -+uninstall: -+ find nx* | while read file; do rm -f $(DESTDIR)$(BINDIR)/$$file; done -+ find x2go* | while read file; do rm -f $(DESTDIR)$(BINDIR)/$$file; done -+ $(RM_FILE) $(DESTDIR)$(X2GOLIBDIR)/bin/x2goagent -+ $(RM_DIR) $(DESTDIR)$(X2GOLIBDIR)/bin/ diff --git a/debian/patches/series b/debian/patches/series index ea15ce5..c1bc033 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1,5 +1,4 @@ 000_add-NX-redistribution-README.full+lite.patch -001_add-main-makefile.full+lite.patch 002_nxcompshad_build-against-nx-x11-only.full.patch 003_nxcompshad_gcc43.full.patch 004_nx-X11_fix-nxcompshad-build.full.patch diff --git a/debian/pre-build-nx.sh b/debian/pre-build-nx.sh deleted file mode 100755 index 59a8a47..0000000 --- a/debian/pre-build-nx.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh - -# create copies of upstream changelogs so that names apply to Debian policy... -cp -a nx-X11/CHANGELOG nx-X11/changelog -cp -a nxcomp/CHANGELOG nxcomp/changelog -cp -a nxcompext/CHANGELOG nxcompext/changelog -cp -a nxcompshad/CHANGELOG nxcompshad/changelog -cp -a nx-X11/programs/Xserver/hw/nxagent/CHANGELOG nx-X11/programs/Xserver/hw/nxagent/changelog -cp -a nx-X11/programs/nxauth/CHANGELOG nx-X11/programs/nxauth/changelog -cp -a nxproxy/CHANGELOG nxproxy/changelog - -exit 0 diff --git a/debian/roll-tarballs.sh b/debian/roll-tarballs.sh new file mode 100755 index 0000000..b7f0c3e --- /dev/null +++ b/debian/roll-tarballs.sh @@ -0,0 +1,142 @@ +#!/bin/bash + +# Copyright (C) 2011 by Mike Gabriel <mike.gabriel@das-netzwerkteam.de> +# Copyright (C) 2012 by Reinhard Tartler <siretart@tauware.de> +# +# This 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 3 of the License, or +# (at your option) any later version. +# +# This 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. + +# Thanks to Jonas Smedegaard <dr@jones.dk> for inspiration... + +# Formatting/cleanups by siretart in December 2012 + +set -e + +usage() { + echo "To be called at the project root of an nx-libs checkout" + echo "usage: $(basename "$0") {<release-version>,HEAD} {server|client}" + exit 1 +} + +PROJECT="nx-libs" + +test -d .git || usage +test -f debian/Makefile.nx-libs || usage +RELEASE="$1" +test -n "${RELEASE}" || usage +CHECKOUT="$2" +test -n "$CHECKOUT" || usage + +if [ "x$CHECKOUT" = "xserver" ] || [ "x$CHECKOUT" = "xfull" ]; then + MODE="full" + CHECKOUT="redist-server/${RELEASE}" + RELEASE_SUFFIX='-full' +elif [ "x$CHECKOUT" = "xclient" ] || [ "x$CHECKOUT" = "xlite" ]; then + MODE="lite" + CHECKOUT="redist-client/${RELEASE}" + RELEASE_SUFFIX='-lite' +else + usage +fi + +if [ x"$RELEASE" == "xHEAD" ]; then + CHECKOUT=HEAD +fi + +if ! git rev-parse --verify -q "$CHECKOUT" >/dev/null; then + echo " '${RELEASE}' is not a valid release number because there is no git tag named $CHECKOUT." + echo " Please specify one of the following releases:" + echo "HEAD" + git tag -l | grep ^redist | cut -f2 -d/ | sort -u + exit 1 +fi + +TARGETDIR=".." + +MANIFEST="$(mktemp)" +TEMP_DIR="$(mktemp -d)" + +trap "rm -f \"${MANIFEST}\"; rm -rf \"${TEMP_DIR}\"" 0 + +# create local copy of Git project at temp location +git archive --format=tar ${CHECKOUT} --prefix=${PROJECT}-${RELEASE}/ | ( cd $TEMP_DIR; tar xf - ) + +echo "Created tarball for $CHECKOUT" + +cd "$TEMP_DIR/${PROJECT}-${RELEASE}/" + +mkdir -p doc/applied-patches + +# prepare patches for lite and full tarball +if [ "x$MODE" = "xfull" ]; then + find debian/patches | sort | egrep "(debian/patches/[0-9]+_.*\.(full|full\+lite)\.patch)" | while read file + do + cp -v $file doc/applied-patches + echo ${file##*/} >> doc/applied-patches/series + done +else + rm -Rf "nxcompshad"* + rm -Rf "nxcompext"* + rm -Rf "nx-X11"* + find debian/patches | sort | egrep "(debian/patches/[0-9]+_.*\.full\+lite\.patch)" | while read file + do + cp -v $file doc/applied-patches + echo ${file##*/} >> doc/applied-patches/series + done +fi + +# apply all patches shipped in debian/patches and create a copy of them that we ship with the tarball +if [ -s "doc/applied-patches/series" ]; then + QUILT_PATCHES=doc/applied-patches quilt --quiltrc /dev/null push -a -q +else + echo "No patches applied at all. Very old release?" +fi + +# very old release did not add any README +for f in $(ls README* 2>/dev/null); do + mv -v $f doc/; +done +mv -v debian/changelog doc/changelog + +# copy the top-level makefile if no quilt patch created it before +test -f Makefile || test -f debian/Makefile.nx-libs && cp -v debian/Makefile.nx-libs Makefile + +# remove folders that we do not want to roll into the tarball +rm -Rf ".pc/" +rm -Rf "debian/" + +# remove files, that we do not want in the tarballs (build cruft) +rm -Rf nx*/configure nx*/autom4te.cache* + +cd $OLDPWD + +# create target location for tarball +mkdir -p "$TARGETDIR/_releases_/source/${PROJECT}/" + +# roll the ball... +cd "$TEMP_DIR" +find "${PROJECT}-${RELEASE}" -type f | sort > "$MANIFEST" +cd $OLDPWD + +tar c -C "$TEMP_DIR" \ + --owner 0 \ + --group 0 \ + --numeric-owner \ + --no-recursion \ + --files-from "$MANIFEST" \ + --gzip \ + > "$TARGETDIR/_releases_/source/${PROJECT}/${PROJECT}-${RELEASE}${RELEASE_SUFFIX}.tar.gz" \ + +echo "$TARGETDIR/_releases_/source/${PROJECT}/${PROJECT}-${RELEASE}${RELEASE_SUFFIX}.tar.gz is ready" diff --git a/debian/rules b/debian/rules index 96bdbdb..7114b24 100755 --- a/debian/rules +++ b/debian/rules @@ -23,11 +23,20 @@ override_dh_clean: rm -f nx-X11/programs/Xserver/hw/nxagent/changelog rm -f nx-X11/programs/nxauth/changelog rm -f nxproxy/changelog + rm -f Makefile dh_clean override_dh_auto_build: - debian/pre-build-nx.sh - LD_LIBRARY_PATH=`pwd`/debian/libnx-x11/usr/lib/nx/X11:$$LD_LIBRARY_PATH dh_auto_build --with quilt --parallel + # create copies of upstream changelogs so that names apply to Debian policy... + cp -a nx-X11/CHANGELOG nx-X11/changelog + cp -a nxcomp/CHANGELOG nxcomp/changelog + cp -a nxcompext/CHANGELOG nxcompext/changelog + cp -a nxcompshad/CHANGELOG nxcompshad/changelog + cp -a nx-X11/programs/Xserver/hw/nxagent/CHANGELOG nx-X11/programs/Xserver/hw/nxagent/changelog + cp -a nx-X11/programs/nxauth/CHANGELOG nx-X11/programs/nxauth/changelog + cp -a nxproxy/CHANGELOG nxproxy/changelog + ln -s debian/Makefile.nx-libs Makefile + LD_LIBRARY_PATH=`pwd`/debian/libnx-x11/usr/lib/nx/X11:$$LD_LIBRARY_PATH dh_auto_build --with quilt debian/post-build-nx.sh override_dh_auto_install: hooks/post-receive -- nx-libs.git (NX (redistributed)) This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "nx-libs.git" (NX (redistributed)).