aboutsummaryrefslogtreecommitdiff
path: root/debian/rules
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2015-01-27 13:56:36 +0100
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2015-01-28 11:35:59 +0100
commitb3d32ec569b8cd7efcb7a332d896eecd9681af02 (patch)
tree3c7e1d87ee226804e85e359dfe31bcdf67b0a198 /debian/rules
parenta3087eec9b048d308ae704f7a0540eaa416d4813 (diff)
downloadnx-libs-b3d32ec569b8cd7efcb7a332d896eecd9681af02.tar.gz
nx-libs-b3d32ec569b8cd7efcb7a332d896eecd9681af02.tar.bz2
nx-libs-b3d32ec569b8cd7efcb7a332d896eecd9681af02.zip
Fully rework the way nx-libs gets packaged for Debian/Ubuntu.
* Debian/Ubuntu packaging: + Fully rework the way nx-libs gets packaged for Debian/Ubuntu. + Split up libnx-x11 into individual packages. + Provide dbg:packages for each bin:package containing binaries. + Use Makefile logic to install files into DESTDIR. + Provide dev:packages for each lib:package individually. + Provide nx-x11proto-*-dev packages for all libnx-* libraries. + Install _all_ library files (*.so*) to /usr/lib/<triplet>/, so no extra settings of LD_LIBRARY_PATH is necessary.
Diffstat (limited to 'debian/rules')
-rwxr-xr-xdebian/rules85
1 files changed, 76 insertions, 9 deletions
diff --git a/debian/rules b/debian/rules
index 72454772c..db56f8aa2 100755
--- a/debian/rules
+++ b/debian/rules
@@ -9,8 +9,11 @@ else
CFLAGS += -O2
endif
+export LIBDIR = "/usr/lib/$(shell dpkg-architecture -qDEB_BUILD_MULTIARCH)"
+export INCLUDEDIR = "/usr/include/$(shell dpkg-architecture -qDEB_BUILD_MULTIARCH)"
+
%:
- CONFIGURE="./configure --prefix=/usr" LD_LIBRARY_PATH=`pwd`/debian/libnx-x11/usr/lib/nx/X11:$$LD_LIBRARY_PATH dh $@ --with quilt
+ CONFIGURE="./configure --with-symbols --prefix=/usr --libdir=$(LIBDIR) --includedir=$(INCLUDEDIR)" dh $@ --with quilt
# before build, we will remove unused code / bundled libraries (keep this in sync with roll-tarball.sh)
UNUSED_FOLDERS = nx-X11/extras/drm/ \
@@ -741,19 +744,65 @@ PRESERVE_SYMLINKED_FILES = nx-X11/extras/Mesa/include/GL/glext.h \
override_dh_auto_clean:
rm -Rf nx-X11/.build-exports
- LD_LIBRARY_PATH=`pwd`/debian/libnx-x11/usr/lib/nx/X11:$$LD_LIBRARY_PATH dh_auto_clean
+ dh_auto_clean
override_dh_clean:
rm -f nx*/configure
rm -f nx*/changelog
rm -f nx-X11/programs/Xserver/hw/nxagent/changelog
rm -f nx-X11/programs/nxauth/changelog
- rm -Rf replace.sh Makefile bin rgb VERSION.x2goagent etc/keystrokes.cfg
- rm -f debian/libnx-x11.postinst
- rm -Rf .preserve/
+ if [ ! -f replace.sh ] && [ ! -h replace.sh ]; then ln -s debian/Makefile.replace.sh replace.sh; fi
+ . ./replace.sh; set -x; ls debian/*.install.in | while read file; do rm -f $$(string_rep $$file .install.in .install); done
+ rm -fR replace.sh Makefile bin etc/rgb VERSION.x2goagent etc/keystrokes.cfg etc/nxagent.keyboard etc/x2goagent.keyboard
+ rm -f debian/libnx-xinerama1.postinst
+ rm -fR .preserve/
if [ -f nxcomp/.VERSION.NoMachine ]; then mv nxcomp/.VERSION.NoMachine nxcomp/VERSION; fi
dh_clean
+override_dh_install:
+
+ # handle builds for Debian squeeze (non multi-arch)
+ . ./replace.sh; set -x; if [ -z "$(DEB_BUILD_MULTIARCH)" ]; then \
+ find debian/*.install.in | while read file; do \
+ cat $$file | sed -e 's#/\*/#/#g' > $$(string_rep $$file .install.in .install); \
+ done; \
+ fi
+
+ # remove static libs
+ rm debian/tmp/usr/lib/$(DEB_BUILD_MULTIARCH)/libXcomp.a
+ rm debian/tmp/usr/lib/$(DEB_BUILD_MULTIARCH)/libXcompshad.a
+
+ # remove extras, GL, and other unneeded headers
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/GL/
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/bitmaps/
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/XInput.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/XK*.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/*Xv*.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xtrap*.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/Print*.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/XRes*.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/record*.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xf86vmode.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xf86vmstr.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xf86misc.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xf86dga1.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xf86dgastr.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xf86dga.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xf86dga1str.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xf86mscstr.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/dmxext.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/dmxproto.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/bigreqstr.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xcmiscstr.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/XIproto.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xf86bigfstr.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/xf86bigfont.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/extensions/XI.h
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/fonts/
+ rm -R debian/tmp/usr/include/$(DEB_BUILD_MULTIARCH)/nx/X11/Xtrans/
+
+ dh_install --fail-missing
+
override_dh_auto_install:
PREFIX=/usr dh_auto_install -Smakefile
@@ -777,8 +826,8 @@ override_dh_auto_build:
ln -sf debian/VERSION VERSION.x2goagent
ln -sf ../debian/VERSION nxcomp/VERSION
- # let's prep the libnx-x11.postinst script with the value of the build systems's DEB_BUILD_MULTIARCH variable
- sed debian/libnx-x11.postinst.in -e 's/#DEB_BUILD_MULTIARCH#/$(DEB_BUILD_MULTIARCH)/' > debian/libnx-x11.postinst
+ # let's prep the libnx-xinerama1.postinst script with the value of the build systems's DEB_BUILD_MULTIARCH variable
+ sed debian/libnx-xinerama1.postinst.in -e 's/#DEB_BUILD_MULTIARCH#/$(DEB_BUILD_MULTIARCH)/' > debian/libnx-xinerama1.postinst
# make a copy of code to be preserved for build
mkdir -p .preserve
@@ -793,7 +842,25 @@ override_dh_auto_build:
cp -av .preserve/* .
rm -Rf .preserve/
- LD_LIBRARY_PATH=`pwd`/debian/libnx-x11/usr/lib/nx/X11:$$LD_LIBRARY_PATH dh_auto_build --parallel
+ SHLIBDIR=$(LIBDIR) PREFIX=/usr dh_auto_build --parallel
override_dh_strip:
- dh_strip --dbg-package=nx-x11-dbg
+ dh_strip -plibnx-x11-6 --dbg-package=libnx-x11-6-dbg
+ dh_strip -plibnx-xau6 --dbg-package=libnx-xau6-dbg
+ dh_strip -plibnx-xcomposite1 --dbg-package=libnx-xcomposite1-dbg
+ dh_strip -plibnx-xdamage1 --dbg-package=libnx-xdamage1-dbg
+ dh_strip -plibnx-xdmcp6 --dbg-package=libnx-xdmcp6-dbg
+ dh_strip -plibnx-xext6 --dbg-package=libnx-xext6-dbg
+ dh_strip -plibnx-xfixes3 --dbg-package=libnx-xfixes3-dbg
+ dh_strip -plibnx-xinerama1 --dbg-package=libnx-xinerama1-dbg
+ dh_strip -plibnx-xpm4 --dbg-package=libnx-xpm4-dbg
+ dh_strip -plibnx-xrandr2 --dbg-package=libnx-xrandr2-dbg
+ dh_strip -plibnx-xrender1 --dbg-package=libnx-xrender1-dbg
+ dh_strip -plibnx-xtst6 --dbg-package=libnx-xtst6-dbg
+ dh_strip -plibxcomp3 --dbg-package=libxcomp3-dbg
+ dh_strip -plibxcompshad3 --dbg-package=libxcompshad3-dbg
+ dh_strip -plibxcompext3 --dbg-package=libxcompext3-dbg
+ dh_strip -pnxagent --dbg-package=nxagent-dbg
+ dh_strip -pnxproxy --dbg-package=nxproxy-dbg
+ dh_strip -pnxauth --dbg-package=nxauth-dbg
+