diff --git a/packaging/debian/changelog b/packaging/debian/changelog
index 589f7a81d0212e14d5274f81aa001e220e7aa1d8..63928fb4f8c15d1da67cc5ba193ff74bd430bb41 100644
--- a/packaging/debian/changelog
+++ b/packaging/debian/changelog
@@ -1,6 +1,16 @@
 pike7.7 (7.7.21-1) experimental; urgency=low
 
   * The latest cvs snapshot
+  * Updated the Standards-Version, no changes
+  * Using own version of specs.in, since the pike-generated one does not
+    make sense on a Debian system.
+  * Implemented configurable include_prefix for the install process
+  * GTK v1 is no longer used. Using GTK v2 and GNOME v2.x instead
+  * Turned on several experimental features, for wider testing
+  * Added new modules:
+     - SQLite
+     - Fuse
+     - DNS-SD (libhowl)
 
  -- Marek Habersack <grendel@debian.org>  Fri, 3 Jun 2005 16:45:28 +0200
 
diff --git a/packaging/debian/control b/packaging/debian/control
index 8b2b0bcc63915f37b5983fe42cccc9c5689a07c8..e81e9ce8f4841c13e49ce49434ba7ab41554c917 100644
--- a/packaging/debian/control
+++ b/packaging/debian/control
@@ -2,8 +2,8 @@ Source: pike7.7
 Section: interpreters
 Priority: optional
 Maintainer: Marek Habersack <grendel@debian.org>
-Standards-Version: 3.6.1
-Build-Depends: debhelper (>> 4.0.0), libgdbm-dev, libgmp3-dev, libz-dev, libjpeg-dev, libttf-dev, libmysqlclient10-dev, libreadline-dev, perl, bison, debhelper, freeglut3-dev (>= 2.2.0-6.1) [alpha hppa] | libglut3-dev, freeglut3-dev [!alpha !hppa] | libglut3-dev, xlibmesa-glu-dev | libglu-dev, xlibmesa-gl-dev | libgl-dev, libxpm4-dev, libglib1.2-dev, libglade0-dev, libxml2-dev, libgtkxmhtml-dev, libfreetype6-dev, autoconf, libiodbc2-dev, libsane-dev, postgresql-dev, librsvg2-dev, libsdl-mixer1.2-dev, libsdl1.2-dev, libperl-dev, sharutils, libpng3-dev, gtkglarea5-dev, libtiff3g-dev,  gdk-imlib1-dev, bc, libpcre3-dev, libbz2-dev, libnettle-dev
+Standards-Version: 3.6.2.1
+Build-Depends: debhelper (>> 4.0.0), libgdbm-dev, libgmp3-dev, libz-dev, libjpeg-dev, libttf-dev, libmysqlclient10-dev, libreadline-dev, perl, bison, debhelper, freeglut3-dev (>= 2.2.0-6.1) [alpha hppa] | libglut3-dev, freeglut3-dev [!alpha !hppa] | libglut3-dev, xlibmesa-glu-dev | libglu-dev, xlibmesa-gl-dev | libgl-dev, libxpm4-dev, gnome-devel, libgtkxmhtml-dev, libfreetype6-dev, autoconf, libiodbc2-dev, libsane-dev, postgresql-dev, librsvg2-dev, libsdl-mixer1.2-dev, libsdl1.2-dev, libperl-dev, sharutils, libpng3-dev, gtkglarea5-dev, libtiff3g-dev,  bc, libpcre3-dev, libbz2-dev, libnettle-dev, libsqlite3-dev, libfuse-dev, libhowl-dev
 Build-Conflicts: libutahglx-dev
 
 Package: pike7.7-core
@@ -130,6 +130,27 @@ Description: Bzip2 module for Pike
  This Pike module enables one to use the Bzip2 compression
  algorithm from within the Pike programs.
 
+Package: pike7.7-fuse
+Architecture: any
+Depends: ${shlibs:Depends}, pike7.7-core (=${Source-Version})
+Description: Filesystem in USErspace support for Pike
+ This Pike module enables one to export filesystems to the Linux
+ kernel using the FUSE library.
+
+Package: pike7.7-mdns
+Architecture: any
+Depends: ${shlibs:Depends}, pike7.7-core (=${Source-Version})
+Description: mDNS support module for Pike
+ This Pike module enables one to use the mDNS/DNS-SD (part of the
+ Apple Zeroconf/Rendezvous strategy) protocol.
+
+Package: pike7.7-sqlite
+Architecture: any
+Depends: ${shlibs:Depends}, pike7.7-core (=${Source-Version})
+Description: SQLite module for Pike
+ This Pike module enables one to use the SQLite embedded database
+ library.
+
 Package: pike7.7-dev
 Architecture: all
 Depends: ${shlibs:Depends}
@@ -188,7 +209,7 @@ Description: Pike 7.7 documentation meta package
 
 Package: pike7.7-meta
 Architecture: all
-Depends: pike7.7 (=${Source-Version}), pike7.7-mysql (=${Source-Version}), pike7.7-pg (=${Source-Version}), pike7.7-odbc (=${Source-Version}), pike7.7-image (=${Source-Version}), pike7.7-sdl (=${Source-Version}), pike7.7-gdbm (=${Source-Version}), pike7.7-gtk (=${Source-Version}), pike7.7-gl (=${Source-Version}), pike7.7-sane (=${Source-Version}), pike7.7-doc (=${Source-Version}), pike7.7-dev (=${Source-Version}), pike7.7-perl (=${Source-Version}), pike7.7-svg (=${Source-Version}), pike7.7-pcre (=${Source-Version}), pike7.7-bzip2 (=${Source-Version})
+Depends: pike7.7 (=${Source-Version}), pike7.7-mysql (=${Source-Version}), pike7.7-pg (=${Source-Version}), pike7.7-odbc (=${Source-Version}), pike7.7-image (=${Source-Version}), pike7.7-sdl (=${Source-Version}), pike7.7-gdbm (=${Source-Version}), pike7.7-gtk (=${Source-Version}), pike7.7-gl (=${Source-Version}), pike7.7-sane (=${Source-Version}), pike7.7-doc (=${Source-Version}), pike7.7-dev (=${Source-Version}), pike7.7-perl (=${Source-Version}), pike7.7-svg (=${Source-Version}), pike7.7-pcre (=${Source-Version}), pike7.7-bzip2 (=${Source-Version}), pike7.7-fuse (=${Source-Version}), pike7.7-mdns (=${Source-Version}), pike7.7-sqlite (=${Source-Version})
 Description: Meta package for Pike 7.7
  This package depends on all the components that make up the Pike
  language distribution. It will pull in a LOT of packages the
diff --git a/packaging/debian/patches/01_master.in.diff b/packaging/debian/patches/01_master.in.diff
index 03d4fe3d0e447b61f187360593832bc1cb95fdd4..5029d21d4a3f5fdea0ff3df48c6c1805c695d806 100644
Binary files a/packaging/debian/patches/01_master.in.diff and b/packaging/debian/patches/01_master.in.diff differ
diff --git a/packaging/debian/patches/02_smartlink_rpath.diff b/packaging/debian/patches/02_smartlink_rpath.diff
index b436f984228960f77e990abdaceb2c39225b5bd1..4b5fdc080917376e94e1825ff48edc07ae2e2e77 100644
Binary files a/packaging/debian/patches/02_smartlink_rpath.diff and b/packaging/debian/patches/02_smartlink_rpath.diff differ
diff --git a/packaging/debian/patches/03_install.pike.diff b/packaging/debian/patches/03_install.pike.diff
new file mode 100644
index 0000000000000000000000000000000000000000..bf14adc848105c203f0db88a083d3bca51a87014
Binary files /dev/null and b/packaging/debian/patches/03_install.pike.diff differ
diff --git a/packaging/debian/patches/04_src_makefile.in.diff b/packaging/debian/patches/04_src_makefile.in.diff
new file mode 100644
index 0000000000000000000000000000000000000000..19ed2b927fe1b5e17853a42d70532f2f4f4692c7
Binary files /dev/null and b/packaging/debian/patches/04_src_makefile.in.diff differ
diff --git a/packaging/debian/rules b/packaging/debian/rules
index dbb73ce22d084f4f4fc5e32171e1bcd35cab5d28..72e309f640b428d58c68d33276aa1f47277c952a 100755
--- a/packaging/debian/rules
+++ b/packaging/debian/rules
@@ -6,7 +6,7 @@
 # architecture-dependant package, as well as an architecture-independent
 # package.
 #
-# $Id: rules,v 1.50 2004/05/11 14:13:28 grendel Exp $
+# $Id: rules,v 1.51 2005/09/03 01:37:40 grendel Exp $
 #
 
 # Uncomment this to turn on verbose mode. 
@@ -21,6 +21,39 @@ else
 CC=gcc
 endif
 
+CFLAGS = -DDEBIAN
+
+ifdef SSP
+SSP_FLAGS=-fstack-protector
+endif
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+CFLAGS += -O0
+CFARGSEXTRA=--with-rtldebug --with-cdebug --with-debug --without-copt
+else
+CFLAGS += -O2
+CFARGSEXTRA=--without-rtldebug --without-cdebug --without-debug
+endif
+
+# Temporary workaround for hppa linker issues
+ifeq ($(DEB_BUILD_ARCH),hppa)
+CFLAGS += -ffunction-sections
+endif
+
+ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
+CFLAGS += -g3 -ggdb3
+endif
+
+CFLAGS += $(SSP_FLAGS)
+# Temporary workaround for hppa linker issues
+ifeq ($(DEB_BUILD_ARCH),hppa)
+CFLAGS+=-ffunction-sections
+endif
+
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
+	INSTALL_PROGRAM += -s
+endif
+
 EXTRA_ARGS=--with-security
 
 DO_MACHINE_CODE=no
@@ -40,13 +73,25 @@ else
 MACHINE_OPTS=--without-machine-code
 endif
 
-VERSION:=$(shell dpkg-parsechangelog | grep ^Version | sed -e 's/Version: //;s/-[0-9.]*$$//')
+#
+# These are on so that people can report problems with them
+#
+EXPERIMENTAL_CFARGS=--with-computed-goto \
+                    --with-small-eval-instruction \
+		    --with-keypair-loop \
+		    --without-lock
+
+VERSION:=$(shell dpkg-parsechangelog | grep ^Version | sed -e 's/Version: //;s/-[^-]*$$//')
 OS=$(shell uname -srm|sed -e 's/ /-/g'|tr '[A-Z]' '[a-z]'|tr '/' '_')
 BUILDDIR=build/$(OS)
-CFARGS=--without-rtldebug \
-       --without-cdebug \
-       --without-ssleay \
-       --with-security \
+CFARGS=$(CFARGSEXTRA) \
+       $(EXPERIMENTAL_CFARGS) \
+       --disable-rpath \
+       --enable-pikelib \
+       --disable-smartlink-binary \
+       --with-relocatable-dumped-modules \
+       --without-bundles \
+       --with-cflags="$(CFLAGS)" \
        --with-bignums \
        --with-gmp \
        --with-poll \
@@ -65,26 +110,16 @@ CFARGS=--without-rtldebug \
        --with-perl \
        --without-ffmpeg \
        --without-libpdf \
-       --without-libpanda --without-machine-code
+       --without-GTK \
+       --with-GTK2 \
+       --with-sqlite \
+       --without-libpanda $(MACHINE_OPTS) $(EXTRA_ARGS)
 
 RUNPIKE=$(CURDIR)/$(BUILDDIR)/pike -DNOT_INSTALLED -DPRECOMPILED_SEARCH_MORE -m$(CURDIR)/$(BUILDDIR)/master.pike
 RUNPIKE2=$(CURDIR)/debian/$(PIKE)-core/usr/bin/pike -m$(CURDIR)/$(BUILDDIR)/lib/master.pike
 PIKE_FAKEROOT=$(CURDIR)/debian/$(PIKE)-core
 PIKE_FAKEROOT_OMIT=$(BUILDDIR)*:$(CURDIR)/lib*:$(CURDIR)/src*:$(CURDIR)/bin*:$(CURDIR)/man*:$(BUILDDIR)/lib*:$(CURDIR)*:$(CURDIR)/debian/$(PIKE)-core*
 
-CFLAGS=-O2 -s
-# Temporary workaround for hppa linker issues
-ifeq ($(DEB_BUILD_ARCH),hppa)
-CFLAGS+=-ffunction-sections
-endif
-
-ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS)))
-	CFLAGS += -g
-endif
-ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
-	INSTALL_PROGRAM += -s
-endif
-
 export CFLAGS CC PIKE VERSION
 
 configure: configure-stamp
@@ -98,7 +133,7 @@ configure-stamp:
 	touch patched-stamp
 
 	# Add here commands to configure the package.
-	(cd $(BUILDDIR); $(CURDIR)/src/configure --prefix=/usr $(CFARGS) $(EXTRA_ARGS))
+	(cd $(BUILDDIR); $(CURDIR)/src/configure --prefix=/usr $(CFARGS))
 	touch configure-stamp
 
 
@@ -192,8 +227,12 @@ install: build
 	dh_installdirs
 
 	# Add here commands to install the package into debian/$(PIKE).
-	$(MAKE) -C$(BUILDDIR)/ buildroot=$(CURDIR)/debian/$(PIKE)-core \
-	        prefix=/usr/lib pike_name=/usr/bin/$(PIKE) install
+	$(MAKE) -C$(BUILDDIR)/ \
+	        buildroot=$(CURDIR)/debian/$(PIKE)-core \
+	        prefix=/usr/lib \
+		pike_name=/usr/bin/$(PIKE) \
+		include_prefix="/usr/include/pike/$(VERSION)/" \
+		install
 
 	# Some cleaning
 	-rm -f `find $(CURDIR)/debian/$(PIKE)-core/usr/lib/pike/$(VERSION)/ -name ".autodoc" -type f -print`
@@ -260,6 +299,11 @@ install: build
 		dh_link -p$$f /usr/share/doc/$(PIKE)-core /usr/share/doc/$$f ; \
 	done
 
+	# install the specs file
+	sed -e 's/@PIKEVERSION@/$(VERSION)/g' \
+	    -e 's;@CONFIGURE_ARGS@;$(CFARGS);g' \
+	    < $(CURDIR)/debian/specs.in > $(CURDIR)/debian/$(PIKE)-core/usr/include/pike/$(VERSION)/specs
+
 	rm -r $(CURDIR)/debian/$(PIKE)-core/usr/lib/pike/$(VERSION)/doc
 	dh_movefiles --sourcedir=debian/$(PIKE)-core
 
diff --git a/packaging/debian/specs.in b/packaging/debian/specs.in
new file mode 100644
index 0000000000000000000000000000000000000000..6d7cc7603781d06ceff7731de800450e4ebf6c2f
--- /dev/null
+++ b/packaging/debian/specs.in
@@ -0,0 +1,7 @@
+CC=gcc
+CFLAGS=-O2 -DDEBIAN
+LDFLAGS=-L/usr/lib -L/usr/X11R6/lib
+CPPFLAGS=-I/usr/include/pike/@PIKEVERSION@/ -I/usr/include
+CPP=gcc -E
+LDSHARED=gcc -shared
+configure_args=@CONFIGURE_ARGS@
diff --git a/packaging/debian/toremove.txt b/packaging/debian/toremove.txt
index a5e4fd93ffcc08090357ba6883062e65837b4d90..18eed24ee9fa3608559ba66247e1f031c959902e 100644
--- a/packaging/debian/toremove.txt
+++ b/packaging/debian/toremove.txt
@@ -33,7 +33,6 @@ usr/lib/pike/@VERSION@/include/pike/precompile.sh
 usr/lib/pike/@VERSION@/include/pike/smartlink
 usr/lib/pike/@VERSION@/include/pike/test_pike.pike
 usr/lib/pike/@VERSION@/include/pike/aclocal.m4
-usr/lib/pike/@VERSION@/include/pike/specs
 usr/lib/pike/@VERSION@/lib/master.pike.in
 usr/lib/pike/@VERSION@/bin/pike.syms
 usr/lib/pike/@VERSION@/bin/rsif