diff --git a/lalapps/debian/changelog b/lalapps/debian/changelog
index b835157dd67edfec3eb431d9d73fb11fdfe793be..ec2b115bdf8d891ab3cca3f93822b11687e5d3ba 100644
--- a/lalapps/debian/changelog
+++ b/lalapps/debian/changelog
@@ -1,3 +1,9 @@
+lalapps (6.5.0-1lscsoft3) unstable; urgency=low
+
+  * LALApps 6.5.0, rewritten rules to use pyversions
+
+ -- Steffen Grunewald <steffen.grunewald@aei.mpg.de>  Thu, 17 Feb 2011 12:05:00 +0100
+
 lalapps (6.5.0-1lscsoft1) unstable; urgency=low
 
   * LALApps 6.5.0
diff --git a/lalapps/debian/control b/lalapps/debian/control
index 0400e90641e5bd7d5a1cf07e9a9d4d2c56ba6c7b..68a047ccc9fb67e8ab5ec36ea4cf4dae87b0b85e 100644
--- a/lalapps/debian/control
+++ b/lalapps/debian/control
@@ -2,13 +2,13 @@ Source: lalapps
 Section: lscsoft
 Priority: optional
 Maintainer: Steffen Grunewald <steffen.grunewald@aei.mpg.de>
-Build-Depends: debhelper (>= 5), libgsl0-dev (>= 1.9), libframe-dev (>= 8.0), libmetaio-dev (>= 8.2), fftw3-dev, zlib1g-dev, libcfitsio3-dev, lal-dev (>= 6.5), lalstochastic-dev (>= 1.1.1), lalframe-dev (>= 1.0.1), lalmetaio-dev (>= 1.0.1), lalburst-dev (>= 1.0.1), lalinspiral-dev (>= 1.1.0), lalpulsar-dev (>= 1.1.0), pkg-config, python2.4-dev, python2.5-dev, python-dev (>= 2.4)
+Build-Depends: debhelper (>= 5), libgsl0-dev (>= 1.9), libframe-dev (>= 8.0), libmetaio-dev (>= 8.2), fftw3-dev, zlib1g-dev, libcfitsio3-dev, lal-dev (>= 6.5), lalstochastic-dev (>= 1.1.1), lalframe-dev (>= 1.0.1), lalmetaio-dev (>= 1.0.1), lalburst-dev (>= 1.0.1), lalinspiral-dev (>= 1.1.0), lalpulsar-dev (>= 1.1.0), pkg-config, python-all-dev (>= 2.4)
 Standards-Version: 3.7.2
 
 Package: lalapps
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, zlib1g, libgsl0 (>= 1.9) | libgsl0ldbl (>= 1.10), libframe1 (>= 8.0), libmetaio1 (>= 8.2), fftw3, libcfitsio3, lal (>= 6.5), lalstochastic (>= 1.1.1), lalframe (>= 1.0.1), lalmetaio (>= 1.0.1), lalburst (>= 1.0.1), lalinspiral (>= 1.1.0), lalpulsar (>= 1.1.0), python (>= 2.4)
-Recommends: python2.4, python2.5
+Depends: ${shlibs:Depends}, ${misc:Depends}, zlib1g, libgsl0 (>= 1.9) | libgsl0ldbl (>= 1.10), libframe1 (>= 8.0), libmetaio1 (>= 8.2), fftw3, libcfitsio3, lal (>= 6.5), lalstochastic (>= 1.1.1), lalframe (>= 1.0.1), lalmetaio (>= 1.0.1), lalburst (>= 1.0.1), lalinspiral (>= 1.1.0), lalpulsar (>= 1.1.0), $(python:Depends)
+Recommends: python (>= 2.4)
 Description: LSC Algorithm Library Applications
  The LSC Algorithm Library Applications for gravitational wave data analysis.
  This package contains applications that are built on tools in the
diff --git a/lalapps/debian/dirs b/lalapps/debian/dirs
index c0229364751c52bb899b706f619eac5cf9d256ec..8d38a1aa68975433c5a9ad39118690162353a2bc 100644
--- a/lalapps/debian/dirs
+++ b/lalapps/debian/dirs
@@ -1,7 +1,7 @@
-opt/lscsoft/lalapps/bin
-opt/lscsoft/lalapps/etc
-opt/lscsoft/lalapps/lib/python2.4
-opt/lscsoft/lalapps/lib/python2.5
-opt/lscsoft/lalapps/sbin
-opt/lscsoft/lalapps/share/lalapps
-opt/lscsoft/lalapps/share/man
+#opt/lscsoft/lalapps/bin
+#opt/lscsoft/lalapps/etc
+#opt/lscsoft/lalapps/lib/python2.4
+#opt/lscsoft/lalapps/lib/python2.5
+#opt/lscsoft/lalapps/sbin
+#opt/lscsoft/lalapps/share/lalapps
+#opt/lscsoft/lalapps/share/man
diff --git a/lalapps/debian/lalapps-user-env.csh b/lalapps/debian/lalapps-user-env.csh
index 42dbe4af350b61b959db02e33b04e4c2cadd5d52..4e99150c2bcfb0897b6acfd4dfebfe6485ab781d 100644
--- a/lalapps/debian/lalapps-user-env.csh
+++ b/lalapps/debian/lalapps-user-env.csh
@@ -1,13 +1,15 @@
 # Source this file to access LALApps
-setenv PATH "/opt/lscsoft/lalapps/bin:${PATH}"
+setenv LALAPPS_PREFIX /opt/lscsoft/lalapps
+#setenv LALAPPS_PREFIX /usr
+setenv PATH "${LALAPPS_PREFIX}/bin:${PATH}"
 setenv PYSITE_PATH python`python -V |& cut -d' ' -f2 | cut -d. -f-2`
 if ( $?MANPATH ) then
-  setenv MANPATH "/opt/lscsoft/lalapps/share/man:${MANPATH}"
+  setenv MANPATH "${LALAPPS_PREFIX}/share/man:${MANPATH}"
 else
-  setenv MANPATH "/opt/lscsoft/lalapps/share/man"
+  setenv MANPATH "${LALAPPS_PREFIX}/share/man"
 endif
 if ( $?PYTHONPATH ) then
-  setenv PYTHONPATH "/opt/lscsoft/lalapps/lib/${PYSITE_PATH}/site-packages:${PYTHONPATH}"
+  setenv PYTHONPATH "${LALAPPS_PREFIX}/lib/${PYSITE_PATH}/site-packages:${PYTHONPATH}"
 else
-  setenv PYTHONPATH "/opt/lscsoft/lalapps/lib/${PYSITE_PATH}/site-packages"
+  setenv PYTHONPATH "${LALAPPS_PREFIX}/lib/${PYSITE_PATH}/site-packages"
 endif
diff --git a/lalapps/debian/lalapps-user-env.sh b/lalapps/debian/lalapps-user-env.sh
index 087d3ce85aa8bdf159cb07f91866e25ff4409f84..3c969d31b1957c7f7461532002ac5cbc50581a87 100644
--- a/lalapps/debian/lalapps-user-env.sh
+++ b/lalapps/debian/lalapps-user-env.sh
@@ -1,6 +1,9 @@
 # Source this file to access LALApps
-PATH="/opt/lscsoft/lalapps/bin:${PATH}"
-MANPATH="/opt/lscsoft/lalapps/share/man:${MANPATH}"
+LALAPPS_PREFIX=/opt/lscsoft/lalapps
+#LALAPPS_PREFIX=/usr
+export LALAPPS_PREFIX
+PATH="${LALAPPS_PREFIX}/bin:${PATH}"
+MANPATH="${LALAPPS_PREFIX}/share/man:${MANPATH}"
 PYSITE_PATH=python`python -V 2>&1 | cut -d' ' -f2 | cut -d. -f-2`
-PYTHONPATH="/opt/lscsoft/lalapps/lib/${PYSITE_PATH}/site-packages:${PYTHONPATH}"
+PYTHONPATH="${LALAPPS_PREFIX}/lib/${PYSITE_PATH}/site-packages:${PYTHONPATH}"
 export PATH MANPATH PYTHONPATH
diff --git a/lalapps/debian/rules b/lalapps/debian/rules
index 65fc07c8a7f9388884e4ff6144cb994790b89fa9..6318ff732dc43d6a88376b301c511884fd527c27 100755
--- a/lalapps/debian/rules
+++ b/lalapps/debian/rules
@@ -16,7 +16,9 @@ DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
 DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
 
 PREFIX = /opt/lscsoft/lalapps
+#PREFIX = /usr
 FRAMEPREFIX = /opt/lscsoft/libframe
+# etc. pp. - will we ever move to /usr?
 METAIOPREFIX = /opt/lscsoft/libmetaio
 LALPREFIX = /opt/lscsoft/lal
 LALFRAMEPREFIX = /opt/lscsoft/lalframe
@@ -27,6 +29,11 @@ LALPULSARPREFIX = /opt/lscsoft/lalpulsar
 LALSTOCHPREFIX = /opt/lscsoft/lalstochastic
 LALXMLPREFIX = /opt/lscsoft/lalxml
 
+PACKAGE = lalapps
+
+# list of pythonX.Y available for release used for building
+PYVERS=$(shell pyversions -r)
+
 CFLAGS = -Wall -g
 
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
@@ -49,6 +56,17 @@ config.status: configure
 #	    --enable-frame --enable-metaio \
 #	    --disable-debug
 
+# $() expands to list of clean-pythonX.Y
+clean:
+	dh_testdir
+	dh_testroot
+	rm -f build-python*
+
+	-$(MAKE) distclean
+	-rm -rf build
+	dh_clean 
+
+
 build: build-stamp
 
 build-stamp:  config.status
@@ -59,53 +77,57 @@ build-stamp:  config.status
 
 	touch $@
 
-clean:
-	dh_testdir
-	dh_testroot
-	rm -f build-stamp 
-
-	-$(MAKE) distclean
-	dh_clean 
-
-install: build
-	dh_testdir
-	dh_testroot
-	dh_clean -k 
-	dh_installdirs
-
+# $() expands to list of install-pythonX.Y
+install: build $(PYVERS:%=install-%)
+#	dh_testdir
+#	dh_testroot
+#	dh_clean -k
+#	dh_installdirs
+	# for some nasty reasons, setup.py replaces shebang lines with pythonX.Y call
+	# revert that!
 	set -e; \
-	for v in 2.4 2.5; do                                                         \
-	PYTHON="/usr/bin/python$$v"                                                    \
-	CFLAGS="$(CFLAGS)"                                                    \
-	PKG_CONFIG_PATH=$(FRAMEPREFIX)/lib/pkgconfig:$(METAIOPREFIX)/lib/pkgconfig:$(LALPREFIX)/lib/pkgconfig:$(LALFRAMEPREFIX)/lib/pkgconfig:$(LALMETAIOPREFIX)/lib/pkgconfig:$(LALBURSTPREFIX)/lib/pkgconfig:$(LALINSPIRALPREFIX)/lib/pkgconfig:$(LALPULSARPREFIX)/lib/pkgconfig:$(LALSTOCHPREFIX)/lib/pkgconfig:$(LALXMLPREFIX)/lib/pkgconfig \
-	./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
-	    --prefix=$(PREFIX)                                                \
-	    --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info   \
-	    --enable-nightly=no                                               \
-	    --enable-frame --enable-metaio                                    \
-	    --disable-debug                                                   \
-	    --disable-gcc-flags ;                                                    \
-	PYTHON="/usr/bin/python$$v"                                                    \
-	$(MAKE) V=1 ;                                                                    \
-	PYTHON="/usr/bin/python$$v"                                                    \
-	$(MAKE) DESTDIR=$(CURDIR)/debian/lalapps install ;                           \
-	PYTHON="/usr/bin/python$$v"                                                    \
-	$(MAKE) clean ;                                                              \
+	for i in `find debian/$(PACKAGE)/$(PREFIX)/bin -type f`; do      \
+	        echo $$i;                                                \
+	        if head -n1 $$i | grep -q '^#!.*python2\..' ; then         \
+	                sed -i '1s/python2\../python/' $$i;             \
+	        fi ;                                                     \
 	done
+	# shouldn't dh_fixperms take care of that?
 	set -e; \
 	for i in `find debian -mindepth 2 -type f ! -perm 755`; do       \
 		if head -n1 $$i | grep -q '^#!' ; then                   \
 		        chmod +x $$i;                                    \
 		fi ;                                                     \
 	done
-	set -e; \
-	for i in `find debian/lalapps/$(PREFIX)/bin -type f`; do      \
-	        echo $$i;                                                \
-	        if head -n1 $$i | grep -q '^#!.*python2\..' ; then         \
-	                sed -i '1s/python2\../python/' $$i;             \
-	        fi ;                                                     \
-	done
-	cp -p debian/lalapps-user-env.* $(CURDIR)/debian/lalapps/$(PREFIX)/etc/
+	cp -p debian/lalapps-user-env.* $(CURDIR)/debian/$(PACKAGE)/$(PREFIX)/etc/
+	# if building with prefix /usr, move config files to /etc
+	if [ "$(PREFIX)" = "/usr" ]; then \
+		mkdir -p $(CURDIR)/debian/$(PACKAGE)/etc/ ; \
+		mv -f $(CURDIR)/debian/$(PACKAGE)/$(PREFIX)/etc/* $(CURDIR)/debian/$(PACKAGE)/etc/ ; \
+		rmdir $(CURDIR)/debian/$(PACKAGE)/$(PREFIX)/etc ; \
+	fi
+
+install-%:
+	# Add here commands to install the package into debian/$(PACKAGE).
+#	$(MAKE) DESTDIR=$(CURDIR)/debian/$(PACKAGE) install
+	mkdir -p $(CURDIR)/debian/$(PACKAGE)/$(PREFIX)/share/doc/$(PACKAGE)
+	set -e
+	PYTHON="/usr/bin/$*" \
+	CFLAGS="$(CFLAGS)" \
+	PKG_CONFIG_PATH=$(FRAMEPREFIX)/lib/pkgconfig:$(METAIOPREFIX)/lib/pkgconfig:$(LALPREFIX)/lib/pkgconfig:$(LALFRAMEPREFIX)/lib/pkgconfig:$(LALMETAIOPREFIX)/lib/pkgconfig:$(LALBURSTPREFIX)/lib/pkgconfig:$(LALINSPIRALPREFIX)/lib/pkgconfig:$(LALPULSARPREFIX)/lib/pkgconfig:$(LALSTOCHPREFIX)/lib/pkgconfig:$(LALXMLPREFIX)/lib/pkgconfig \
+	./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) \
+	    --prefix=$(PREFIX) \
+	    --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info \
+	    --enable-nightly=no \
+	    --enable-frame --enable-metaio \
+	    --disable-debug \
+	    --disable-gcc-flags
+	PYTHON="/usr/bin/$*" \
+	$(MAKE) V=1
+	PYTHON="/usr/bin/$*" \
+	$(MAKE) DESTDIR=$(CURDIR)/debian/lalapps install
+	PYTHON="/usr/bin/$*" \
+	$(MAKE) clean
 
 binary-common: build install
 	dh_testdir
@@ -120,7 +142,8 @@ binary-common: build install
 #	dh_installemacsen
 #	dh_installpam
 #	dh_installmime
-	dh_python
+# don't use dh_python as it would remove bytecompiled modules!
+#	dh_python
 #	dh_installinit
 #	dh_installcron
 #	dh_installinfo