diff -Nru gnunet-0.9.3/debian/changelog gnunet-0.9.3/debian/changelog
--- gnunet-0.9.3/debian/changelog	2013-01-13 18:00:32.000000000 +0100
+++ gnunet-0.9.3/debian/changelog	2013-01-27 12:56:58.000000000 +0100
@@ -1,3 +1,11 @@
+gnunet (0.9.3-6) unstable; urgency=low
+
+  * Fix build on kfreebsd, thanks to Christoph Egger (Closes: #688486).
+  * gnunet-server.postinst: check the existence of a binary before changing its
+    permissions (Closes: #688484).
+
+ -- Bertrand Marc <beberking@gmail.com>  Sun, 27 Jan 2013 12:55:10 +0100
+
 gnunet (0.9.3-5) unstable; urgency=low
 
   * Revert previous changes to target wheezy:
diff -Nru gnunet-0.9.3/debian/gnunet-server.install.kfreebsd gnunet-0.9.3/debian/gnunet-server.install.kfreebsd
--- gnunet-0.9.3/debian/gnunet-server.install.kfreebsd	1970-01-01 01:00:00.000000000 +0100
+++ gnunet-0.9.3/debian/gnunet-server.install.kfreebsd	2013-01-27 12:56:28.000000000 +0100
@@ -0,0 +1,52 @@
+etc/gnunet.conf
+usr/bin/gnunet-arm
+usr/bin/gnunet-core
+usr/bin/gnunet-daemon-*
+usr/bin/gnunet-dht-*
+usr/bin/gnunet-fs
+usr/bin/gnunet-gns*
+usr/bin/gnunet-helper-*
+usr/bin/gnunet-namestore
+usr/bin/gnunet-nat-server
+usr/bin/gnunet-peerinfo
+usr/bin/gnunet-resolver
+usr/bin/gnunet-rsa
+usr/bin/gnunet-service-*
+usr/bin/gnunet-testing
+usr/bin/gnunet-transport
+usr/bin/gnunet-transport-certificate-creation
+usr/bin/mockup-service
+usr/lib/libgnunetarm.so.*
+usr/lib/libgnunetats.so.*
+usr/lib/libgnunetblock.so.*
+usr/lib/libgnunetcore.so.*
+usr/lib/libgnunetdatacache.so.*
+usr/lib/libgnunetdht.so.*
+usr/lib/libgnunetfragmentation.so.*
+usr/lib/libgnunethello.so.*
+usr/lib/libgnunetlockmanager.so.0*
+usr/lib/libgnunetmesh.so.*
+usr/lib/libgnunetnamestore.so.*
+usr/lib/libgnunetnat.so.*
+usr/lib/libgnunetnse.so.*
+usr/lib/libgnunetpeerinfo.so.*
+usr/lib/libgnunettesting.so.*
+usr/lib/libgnunettesting_new.so.0*
+usr/lib/libgnunettestbed.so.0*
+usr/lib/libgnunettransport.so.*
+usr/lib/libgnunettransporttesting.so.*
+usr/lib/libgnunettun.so.*
+usr/lib/gnunet/*.so
+usr/share/gnunet/config.d
+usr/share/gnunet/hellos/*
+usr/share/man/man1/gnunet-arm.1
+usr/share/man/man1/gnunet-core.1
+usr/share/man/man1/gnunet-fs.1
+usr/share/man/man1/gnunet-gns.1
+usr/share/man/man1/gnunet-namestore.1
+usr/share/man/man1/gnunet-nat-server.1
+usr/share/man/man1/gnunet-peerinfo.1
+usr/share/man/man1/gnunet-rsa.1
+usr/share/man/man1/gnunet-transport.1
+usr/share/man/man1/gnunet-vpn.1
+debian/man/* usr/share/man/man1/
diff -Nru gnunet-0.9.3/debian/gnunet-server.postinst gnunet-0.9.3/debian/gnunet-server.postinst
--- gnunet-0.9.3/debian/gnunet-server.postinst	2013-01-13 17:59:07.000000000 +0100
+++ gnunet-0.9.3/debian/gnunet-server.postinst	2013-01-27 12:56:58.000000000 +0100
@@ -86,18 +86,20 @@
 			/usr/bin/gnunet-helper-vpn
 		do
 			# only do something when no setting exists
-			if ! dpkg-statoverride --list $file >/dev/null 2>&1
+			if ! dpkg-statoverride --list $file >/dev/null 2>&1 && [ -e $file ]
 			then
 				chown root:${_GROUPNAME} $file
 				chmod 4754 $file
 			fi
 		done
-		if ! dpkg-statoverride --list /usr/bin/gnunet-helper-dns >/dev/null 2>&1
+		if ! dpkg-statoverride --list /usr/bin/gnunet-helper-dns >/dev/null 2>&1 \
+			&& [ -e /usr/bin/gnunet-helper-dns ]
 		then
 			chown root:${GNUNETDNS_GROUP} /usr/bin/gnunet-helper-dns
 			chmod 4754 /usr/bin/gnunet-helper-dns
 		fi
-		if ! dpkg-statoverride --list /usr/bin/gnunet-service-dns >/dev/null 2>&1
+		if ! dpkg-statoverride --list /usr/bin/gnunet-service-dns >/dev/null 2>&1 \
+			&& [ -e /usr/bin/gnunet-service-dns ]
 		then
 			chown ${_USERNAME}:${GNUNETDNS_GROUP} /usr/bin/gnunet-service-dns
 			chmod 2754 /usr/bin/gnunet-service-dns
diff -Nru gnunet-0.9.3/debian/patches/fix_kfreebsd_build.diff gnunet-0.9.3/debian/patches/fix_kfreebsd_build.diff
--- gnunet-0.9.3/debian/patches/fix_kfreebsd_build.diff	1970-01-01 01:00:00.000000000 +0100
+++ gnunet-0.9.3/debian/patches/fix_kfreebsd_build.diff	2013-01-27 12:56:28.000000000 +0100
@@ -0,0 +1,29 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -91,7 +91,7 @@
+      UNIXONLY="#"
+      AC_PATH_XTRA
+      ;;
+-freebsd*)
++*freebsd*)
+      AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
+      AC_DEFINE_UNQUOTED(FREEBSD,1,[This is a FreeBSD system])
+      CFLAGS="-D_THREAD_SAFE $CFLAGS"
+@@ -100,7 +100,7 @@
+      DLLDIR=lib
+      UNIXONLY="#"
+      ;;
+-openbsd*)
++*openbsd*)
+      AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
+      AC_DEFINE_UNQUOTED(OPENBSD,1,[This is an OpenBSD system])
+      LIBS=`echo $LIBS | sed -e "s/-ldl//"`
+@@ -109,7 +109,7 @@
+      DLLDIR=lib
+      UNIXONLY="#"
+      ;;
+-netbsd*)
++*netbsd*)
+      AC_DEFINE_UNQUOTED(SOMEBSD,1,[This is a BSD system])
+      AC_DEFINE_UNQUOTED(NETBSD,1,[This is a NetBSD system])
+      LIBPREFIX=
diff -Nru gnunet-0.9.3/debian/patches/series gnunet-0.9.3/debian/patches/series
--- gnunet-0.9.3/debian/patches/series	2013-01-13 18:04:46.000000000 +0100
+++ gnunet-0.9.3/debian/patches/series	2013-01-27 12:56:28.000000000 +0100
@@ -1,3 +1,4 @@
 configure_libnss.diff
+fix_kfreebsd_build.diff
 support_GNU_hurd.patch
 sparc_alignment.patch
