diff --git a/debian/changelog b/debian/changelog
index 29f516b..841104b 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,18 @@
+freeglut (2.6.0-3) unstable; urgency=low
+
+  [ Anton Gladky ]
+  * [14a5bb4] Use compat-level 9.
+  * [9adaee5] Implement multiarch. (Closes: #677735)
+  * [3b4bc1a] Fix path to dbg-libraries. (Closes: #331244)
+  * [a515c32] Set DM-Upload-Allowed to yes.
+  * [3439f5b] Disable *fghJoystickWalkUSBdev on kfreeBSD* systems. 
+              Prevents FTBFS on those platforms. (Closes: #678571)
+
+  [ Michael Gilbert ]
+  * [68e563b] Automatically handle build flags via debhelper 9.
+
+ -- Anton Gladky <gladky.anton@gmail.com>  Sat, 30 Jun 2012 16:45:48 -0400
+
 freeglut (2.6.0-2) unstable; urgency=low
 
   * [58daa57] Simplify debian/rules, use dh 8.
diff --git a/debian/compat b/debian/compat
index 45a4fb7..ec63514 100644
--- a/debian/compat
+++ b/debian/compat
@@ -1 +1 @@
-8
+9
diff --git a/debian/control b/debian/control
index 16eb038..3fab2d5 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,8 @@ Source: freeglut
 Section: graphics
 Priority: optional
 Maintainer: Anton Gladky <gladky.anton@gmail.com>
-Build-Depends: debhelper (>= 8), libx11-dev, libxt-dev, libxext-dev, libxi-dev, 
+DM-Upload-Allowed: yes
+Build-Depends: debhelper (>= 9), libx11-dev, libxt-dev, libxext-dev, libxi-dev, 
   libgl1-mesa-dev | libgl-dev, libglu1-mesa-dev | libglu-dev, 
   libusbhid-dev [kfreebsd-any], quilt, autotools-dev, 
   autoconf, automake, libtool
@@ -15,6 +16,8 @@ Package: freeglut3
 Section: libs
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
 Description: OpenGL Utility Toolkit
  GLUT is a window system independent toolkit for writing OpenGL programs,
  implementing a simple windowing API, which makes learning about and
@@ -30,6 +33,8 @@ Section: libdevel
 Architecture: any
 Depends: freeglut3 (= ${binary:Version}), libgl1-mesa-dev | libgl-dev, 
   libglu1-mesa-dev | libglu-dev, libxt-dev, libxext-dev, ${misc:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
 Description: OpenGL Utility Toolkit development files
  GLUT is a window system independent toolkit for writing OpenGL programs.
  It implements a simple windowing API, which makes learning about and
@@ -47,7 +52,9 @@ Package: freeglut3-dbg
 Section: debug
 Priority: extra
 Architecture: any
-Depends: freeglut3 (= ${binary:Version}), ${misc:Depends}
+Depends: freeglut3 (= ${binary:Version}), ${shlibs:Depends}, ${misc:Depends}
+Pre-Depends: ${misc:Pre-Depends}
+Multi-Arch: same
 Description: OpenGL Utility Toolkit debugging information
  GLUT is a window system independent toolkit for writing OpenGL programs.
  It implements a simple windowing API, which makes learning about and
diff --git a/debian/freeglut3-dbg.install b/debian/freeglut3-dbg.install
new file mode 100644
index 0000000..3484ddd
--- /dev/null
+++ b/debian/freeglut3-dbg.install
@@ -0,0 +1 @@
+usr/lib/*/debug/*
diff --git a/debian/freeglut3-dev.install b/debian/freeglut3-dev.install
index b6b7471..f6e54ab 100644
--- a/debian/freeglut3-dev.install
+++ b/debian/freeglut3-dev.install
@@ -2,5 +2,5 @@ usr/include/GL/glut.h
 usr/include/GL/freeglut.h
 usr/include/GL/freeglut_std.h
 usr/include/GL/freeglut_ext.h
-usr/lib/libglut.a
-usr/lib/libglut.so
+usr/lib/*/libglut.a
+usr/lib/*/libglut.so
diff --git a/debian/freeglut3.install b/debian/freeglut3.install
index d030bfe..0e508b0 100644
--- a/debian/freeglut3.install
+++ b/debian/freeglut3.install
@@ -1,2 +1,2 @@
-usr/lib/libglut.so.3.9.0
-usr/lib/libglut.so.3
+usr/lib/*/libglut.so.3.9.0
+usr/lib/*/libglut.so.3
diff --git a/debian/patches/06_fix_FTBFS_kFreeBSD.patch b/debian/patches/06_fix_FTBFS_kFreeBSD.patch
new file mode 100644
index 0000000..c2fde51
--- /dev/null
+++ b/debian/patches/06_fix_FTBFS_kFreeBSD.patch
@@ -0,0 +1,36 @@
+Description: disable *fghJoystickWalkUSBdev on kfreeBSD* systems. Prevents FTBFS
+Author: Anton Gladky
+Applied-Upstream: https://svn.redports.org/gahr/graphics/freeglut/freeglut-2.8.0.diff
+Last-Update: 2012-06-22
+
+--- a/src/freeglut_joystick.c
++++ b/src/freeglut_joystick.c
+@@ -151,7 +151,11 @@
+ #                include <libusbhid.h>
+ #            endif
+ #        endif
+-#        include <legacy/dev/usb/usb.h>
++#        if !(defined(__FreeBSD__) || defined(__FreeBSD_kernel__))
++#            include <legacy/dev/usb/usb.h>
++#        else
++#            include <dev/usb/usb_ioctl.h>
++#        endif
+ #        include <dev/usb/usbhid.h>
+ 
+ /* Compatibility with older usb.h revisions */
+@@ -198,6 +202,7 @@
+  */
+ static char *fghJoystickWalkUSBdev(int f, char *dev, char *out, int outlen)
+ {
++# if !(defined(__FreeBSD__) || defined(__FreeBSD_kernel__))  
+   struct usb_device_info di;
+   int i, a;
+   char *cp;
+@@ -219,6 +224,7 @@
+         return out;
+       }
+   }
++# endif
+   return NULL;
+ }
+ 
diff --git a/debian/patches/series b/debian/patches/series
index 2f99a6b..8e9c248 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -2,3 +2,4 @@
 03_fix_hurd.diff
 04_ld_no_add_needed.diff
 05_gold.diff
+06_fix_FTBFS_kFreeBSD.patch
diff --git a/debian/rules b/debian/rules
index 64f42b8..8d64a4b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -6,27 +6,21 @@
 DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
 DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
 
-export CFLAGS := -Wall -g $(shell dpkg-buildflags --get CFLAGS)
+export DEB_BUILD_MAINT_OPTIONS := hardening=+all
 
-export CXXFLAGS := -Wall $(shell dpkg-buildflags --get CXXFLAGS)
-export CPPFLAGS := $(shell dpkg-buildflags --get CPPFLAGS)
-export LDFLAGS := $(shell dpkg-buildflags --get LDFLAGS)
-
-extra_flags = CFLAGS='$(CFLAGS)' CXXFLAGS='$(CXXFLAGS)' CPPFLAGS='$(CPPFLAGS)' LDFLAGS='$(LDFLAGS)' \
+extra_flags = \
 	--host="$(DEB_HOST_GNU_TYPE)" \
 	--build="$(DEB_BUILD_GNU_TYPE)" \
 	--prefix="/usr" \
 	--mandir="/usr/share/man" \
 	--infodir="/usr/share/info" \
 
-
 override_dh_auto_configure:
 	autoreconf -i
 	dh_auto_configure -- $(extra_flags)
 
 override_dh_auto_install-arch:
 	dh_auto_install -a -- DESTDIR=$(CURDIR)/debian/tmp
+	mkdir $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/debug/
+	cp $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/libglut.so.3.9.0 $(CURDIR)/debian/tmp/usr/lib/$(DEB_HOST_MULTIARCH)/debug/
 	find . -name '*.la' -print0 | xargs -0 rm -f
-
-override_dh_strip-arch:
-	dh_strip -a --dbg-package=freeglut3-dbg
