diff --git a/contrib/create-debian-packages.sh b/contrib/create-debian-packages.sh
new file mode 100644
index 0000000..e8906f1
--- /dev/null
+++ b/contrib/create-debian-packages.sh
@@ -0,0 +1,13 @@
+#!/bin/sh
+set -e
+
+ln -s contrib/debian debian
+
+dpkg-buildpackage -rfakeroot -tc
+
+# results
+ls ../*.deb ../*.dsc ../*.tar.gz ../*.changes
+
+# cleanup
+rm debian
+
diff --git a/contrib/debian/changelog b/contrib/debian/changelog
new file mode 100644
index 0000000..7d8fc81
--- /dev/null
+++ b/contrib/debian/changelog
@@ -0,0 +1,41 @@
+thrift (0.6.0-dev1) stable; urgency=low
+
+  * update version field
+  * added debian folder to thrift/contrib
+  * changed a few details in control file
+  * update copyright file
+
+ -- Roger Meier <roger@apache.org>  Tue, 14 Dec 2010 12:12:33 -0800
+
+thrift (0.5.0+nmu2) stable; urgency=low
+
+  * Non-maintainer upload.
+  * Merged THRIFT-71_v9.patch to skip ./bootstrap.sh if not exists.
+    https://issues.apache.org/jira/secure/attachment/12465360/THRIFT-71_v9.patch
+
+ -- Yamashita Yuu <yamashita@geishatokyo.com>  Tue, 07 Dec 2010 15:00:55 +0900
+
+thrift (0.5.0+nmu1) stable; urgency=low
+
+  * Non-maintainer upload.
+  * Imported package information for php5-thrift from https://github.com/simplegeo/thrift.
+
+ -- Yamashita Yuu <yamashita@geishatokyo.com>  Tue, 07 Dec 2010 01:00:17 +0900
+
+thrift (0.5.0) stable; urgency=low
+
+  * update to 0.5.0
+
+ -- Roger Meier <roger@apache.org>  Fri, 08 Oct 2010 11:23:53 +0200
+
+thrift (0.4.0) stable; urgency=low
+
+  * update to 0.4.0
+
+ -- Roger Meier <roger@bufferoverflow.ch>  Sun, 22 Aug 2010 21:26:00 +0100
+
+thrift (0.2008.12.30~8.04) hardy; urgency=low
+
+  * Initial release.
+
+ -- Esteve Fernandez <esteve@fluidinfo.com>  Thu, 15 Jan 2009 11:34:24 +0100
diff --git a/contrib/debian/compat b/contrib/debian/compat
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ b/contrib/debian/compat
@@ -0,0 +1 @@
+5
diff --git a/contrib/debian/control b/contrib/debian/control
new file mode 100644
index 0000000..2632c08
--- /dev/null
+++ b/contrib/debian/control
@@ -0,0 +1,152 @@
+Source: thrift
+Section: devel
+Priority: extra
+Build-Depends: debhelper (>= 5), build-essential, mono-gmcs, python-dev, ant,
+    libmono-dev, erlang-base, ruby1.8-dev, autoconf, python-support, automake,
+    pkg-config, libtool, bison, flex, libboost-dev | libboost1.40-dev, python-all, python-all-dev,
+    python-all-dbg, ruby, openjdk-6-jdk | java-sdk, libcommons-lang-java,
+    libboost-test-dev | libboost-test1.40-dev, libevent-dev, perl (>= 5.8.0-7),
+    php5, php5-dev
+Maintainer: Thrift Developer's <dev@thrift.apache.org>
+Homepage: http://thrift.apache.org/
+Vcs-Svn: https://svn.apache.org/repos/asf/thrift
+Vcs-Browser: http://svn.apache.org/viewvc/thrift
+Standards-Version: 3.7.2
+XS-Python-Version: >= 2.4
+
+Package: thrift-compiler
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Compiler for Thrift definition files
+ Thrift is a software framework for scalable cross-language services
+ development. It combines a software stack with a code generation engine to
+ build services that work efficiently and seamlessly.
+ This package contains the Thrift compiler that is used for translating from
+ .thrift files (containing the definitions) to the language binding for the
+ supported languages.
+
+Package: python-thrift
+Architecture: any
+Section: python
+Depends: ${python:Depends}, ${shlibs:Depends}, ${misc:Depends}
+Recommends: python-twisted-core
+Provides: ${python:Provides}
+Description: Python bindings for Thrift
+ Thrift is a software framework for scalable cross-language services
+ development. It combines a software stack with a code generation engine to
+ build services that work efficiently and seamlessly.
+ This package contains the Python bindings for Thrift. You will need the thrift
+ tool (in the thrift-compiler package) to compile your definition to Python
+ classes, and then the modules in this package will allow you to use those
+ classes in your programs.
+
+Package: python-thrift-dbg
+Architecture: any
+Section: python
+Depends: ${shlibs:Depends}, ${misc:Depends}, python-thrift (= ${binary:Version}), python-all-dbg
+Provides: ${python:Provides}
+Description: Python bindings for Thrift (debug version)
+ Thrift is a software framework for scalable cross-language services
+ development. It combines a software stack with a code generation engine to
+ build services that work efficiently and seamlessly.
+ This package contains the Python bindings for Thrift with debugging symbols.
+ You will need the thrift tool (in the thrift-compiler package) to compile your
+ definition to Python classes, and then the modules in this package will allow
+ you to use those classes in your programs.
+
+Package: libthrift-ruby
+Architecture: any
+Section: libs
+Depends: ${shlibs:Depends}, ${misc:Depends}, ruby1.8 (>= 1.8), ruby1.8 (<< 1.9)
+Description: Ruby bindings for Thrift
+ Thrift is a software framework for scalable cross-language services
+ development. It combines a software stack with a code generation engine to
+ build services that work efficiently and seamlessly.
+ This package contains the Ruby bindings for Thrift. You will need the thrift
+ tool (in the thrift-compiler package) to compile your definition to Ruby
+ classes, and then the modules in this package will allow you to use those
+ classes in your programs.
+
+Package: libthrift-java
+Architecture: all
+Section: libs
+Depends: java-gcj-compat | java1-runtime | java2-runtime, ${misc:Depends}
+Recommends: libcommons-lang-java
+Description: Java bindings for Thrift
+ Thrift is a software framework for scalable cross-language services
+ development. It combines a software stack with a code generation engine to
+ build services that work efficiently and seamlessly.
+ This package contains the Java bindings for Thrift. You will need the thrift
+ tool (in the thrift-compiler package) to compile your definition to Java
+ classes, and then the modules in this package will allow you to use those
+ classes in your programs.
+
+Package: libthrift-cil
+Architecture: all
+Section: libs
+Depends: cli-common, libmono-corlib1.0-cil (>= 1.0), libmono-system1.0-cil (>= 1.0), ${misc:Depends}
+Description: CLI bindings for Thrift
+ Thrift is a software framework for scalable cross-language services
+ development. It combines a software stack with a code generation engine to
+ build services that work efficiently and seamlessly.
+ This package contains the CLI bindings for Thrift. You will need the thrift
+ tool (in the thrift-compiler package) to compile your definition to C#
+ classes, and then the modules in this package will allow you to use those
+ classes in your programs.
+
+Package: libthrift-erlang
+Architecture: all
+Section: libs
+Depends: erlang-nox, ${misc:Depends}
+Description: Erlang bindings for Thrift
+ Thrift is a software framework for scalable cross-language services
+ development. It combines a software stack with a code generation engine to
+ build services that work efficiently and seamlessly.
+ This package contains the Erlang bindings for Thrift. You will need the thrift
+ tool (in the thrift-compiler package) to compile your definition to Erlang
+ classes, and then the modules in this package will allow you to use those
+ classes in your programs.
+
+Package: libthrift-perl
+Architecture: all
+Section: perl
+Depends: perl (>= 5.8.0-7), ${misc:Depends}
+Description: Perl bindings for Thrift
+ Thrift is a software framework for scalable cross-language services
+ development. It combines a software stack with a code generation engine to
+ build services that work efficiently and seamlessly.
+ This package contains the Perl bindings for Thrift. You will need the thrift
+ tool (in the thrift-compiler package) to compile your definition to Perl
+ classes, and then the modules in this package will allow you to use those
+ classes in your programs.
+
+Package: libthrift0
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Thrift C++ library
+ Thrift is a software framework for scalable cross-language services
+ development. It combines a software stack with a code generation engine to
+ build services that work efficiently and seamlessly.
+ This package contains the runtime libraries needed for C++ applications.
+
+Package: libthrift-dev
+Architecture: any
+Section: libdevel
+Depends: ${shlibs:Depends}, ${misc:Depends}, libthrift0
+Description: Thrift C++ library (development headers)
+ Thrift is a software framework for scalable cross-language services
+ development. It combines a software stack with a code generation engine to
+ build services that work efficiently and seamlessly.
+ This package contains the development libraries required for writing C++
+ applications.
+
+Package: php5-thrift
+Architecture: any
+Section: php
+Depends: ${php:Depends}, ${shlibs:Depends}, ${misc:Depends}
+Provides: ${php:Provides}
+Description: PHP bindings for Thrift
+ Thrift is a software framework for scalable cross-language services
+ development. It combines a software stack with a code generation engine to
+ build services that work efficiently and seamlessly.
+ This package contains the PHP bindings for Thrift.
diff --git a/contrib/debian/copyright b/contrib/debian/copyright
new file mode 100644
index 0000000..25546b4
--- /dev/null
+++ b/contrib/debian/copyright
@@ -0,0 +1,129 @@
+This package was debianized by Thrift Developer's <dev@thrift.apache.org>.
+
+
+This package and the Debian packaging is licensed under the Apache License,
+see `/usr/share/common-licenses/Apache-2.0'.
+
+The following informations was copied from Apache Thrift LICENSE file.
+
+--------------------------------------------------
+SOFTWARE DISTRIBUTED WITH THRIFT:
+
+The Apache Thrift software includes a number of subcomponents with
+separate copyright notices and license terms. Your use of the source
+code for the these subcomponents is subject to the terms and
+conditions of the following licenses.
+
+--------------------------------------------------
+Portions of the following files are licensed under the MIT License:
+
+  lib/erl/src/Makefile.am
+
+Please see doc/otp-base-license.txt for the full terms of this license.
+
+
+--------------------------------------------------
+The following files contain some portions of code contributed under
+the Thrift Software License (see doc/old-thrift-license.txt), and relicensed
+under the Apache 2.0 License:
+
+  compiler/cpp/Makefile.am
+  compiler/cpp/src/generate/t_cocoa_generator.cc
+  compiler/cpp/src/generate/t_cpp_generator.cc
+  compiler/cpp/src/generate/t_csharp_generator.cc
+  compiler/cpp/src/generate/t_erl_generator.cc
+  compiler/cpp/src/generate/t_hs_generator.cc
+  compiler/cpp/src/generate/t_java_generator.cc
+  compiler/cpp/src/generate/t_ocaml_generator.cc
+  compiler/cpp/src/generate/t_perl_generator.cc
+  compiler/cpp/src/generate/t_php_generator.cc
+  compiler/cpp/src/generate/t_py_generator.cc
+  compiler/cpp/src/generate/t_rb_generator.cc
+  compiler/cpp/src/generate/t_st_generator.cc
+  compiler/cpp/src/generate/t_xsd_generator.cc
+  compiler/cpp/src/main.cc
+  compiler/cpp/src/parse/t_field.h
+  compiler/cpp/src/parse/t_program.h
+  compiler/cpp/src/platform.h
+  compiler/cpp/src/thriftl.ll
+  compiler/cpp/src/thrifty.yy
+  lib/csharp/src/Protocol/TBinaryProtocol.cs
+  lib/csharp/src/Protocol/TField.cs
+  lib/csharp/src/Protocol/TList.cs
+  lib/csharp/src/Protocol/TMap.cs
+  lib/csharp/src/Protocol/TMessage.cs
+  lib/csharp/src/Protocol/TMessageType.cs
+  lib/csharp/src/Protocol/TProtocol.cs
+  lib/csharp/src/Protocol/TProtocolException.cs
+  lib/csharp/src/Protocol/TProtocolFactory.cs
+  lib/csharp/src/Protocol/TProtocolUtil.cs
+  lib/csharp/src/Protocol/TSet.cs
+  lib/csharp/src/Protocol/TStruct.cs
+  lib/csharp/src/Protocol/TType.cs
+  lib/csharp/src/Server/TServer.cs
+  lib/csharp/src/Server/TSimpleServer.cs
+  lib/csharp/src/Server/TThreadPoolServer.cs
+  lib/csharp/src/TApplicationException.cs
+  lib/csharp/src/Thrift.csproj
+  lib/csharp/src/Thrift.sln
+  lib/csharp/src/TProcessor.cs
+  lib/csharp/src/Transport/TServerSocket.cs
+  lib/csharp/src/Transport/TServerTransport.cs
+  lib/csharp/src/Transport/TSocket.cs
+  lib/csharp/src/Transport/TStreamTransport.cs
+  lib/csharp/src/Transport/TTransport.cs
+  lib/csharp/src/Transport/TTransportException.cs
+  lib/csharp/src/Transport/TTransportFactory.cs
+  lib/csharp/ThriftMSBuildTask/Properties/AssemblyInfo.cs
+  lib/csharp/ThriftMSBuildTask/ThriftBuild.cs
+  lib/csharp/ThriftMSBuildTask/ThriftMSBuildTask.csproj
+  lib/rb/lib/thrift.rb
+  lib/st/README
+  lib/st/thrift.st
+  test/OptionalRequiredTest.cpp
+  test/OptionalRequiredTest.thrift
+  test/ThriftTest.thrift
+
+--------------------------------------------------
+For the aclocal/ax_boost_base.m4 and contrib/fb303/aclocal/ax_boost_base.m4 components:
+
+#   Copyright (c) 2007 Thomas Porschberg <thomas@randspringer.de>
+#
+#   Copying and distribution of this file, with or without
+#   modification, are permitted in any medium without royalty provided
+#   the copyright notice and this notice are preserved.
+
+--------------------------------------------------
+For the compiler/cpp/src/md5.[ch] components:
+
+/*
+  Copyright (C) 1999, 2000, 2002 Aladdin Enterprises.  All rights reserved.
+
+  This software is provided 'as-is', without any express or implied
+  warranty.  In no event will the authors be held liable for any damages
+  arising from the use of this software.
+
+  Permission is granted to anyone to use this software for any purpose,
+  including commercial applications, and to alter it and redistribute it
+  freely, subject to the following restrictions:
+
+  1. The origin of this software must not be misrepresented; you must not
+     claim that you wrote the original software. If you use this software
+     in a product, an acknowledgment in the product documentation would be
+     appreciated but is not required.
+  2. Altered source versions must be plainly marked as such, and must not be
+     misrepresented as being the original software.
+  3. This notice may not be removed or altered from any source distribution.
+
+  L. Peter Deutsch
+  ghost@aladdin.com
+
+ */
+
+---------------------------------------------------
+For the lib/rb/setup.rb: Copyright (c) 2000-2005 Minero Aoki,
+lib/ocaml/OCamlMakefile and lib/ocaml/README-OCamlMakefile components:
+     Copyright (C) 1999 - 2007  Markus Mottl
+
+Licensed under the terms of the GNU Lesser General Public License 2.1
+(see doc/lgpl-2.1.txt for the full terms of this license)
diff --git a/contrib/debian/debian b/contrib/debian/debian
new file mode 120000
index 0000000..0c2a25c
--- /dev/null
+++ b/contrib/debian/debian
@@ -0,0 +1 @@
+contrib/debian
\ No newline at end of file
diff --git a/contrib/debian/dirs b/contrib/debian/dirs
new file mode 100644
index 0000000..ca882bb
--- /dev/null
+++ b/contrib/debian/dirs
@@ -0,0 +1,2 @@
+usr/bin
+usr/sbin
diff --git a/contrib/debian/docs b/contrib/debian/docs
new file mode 100644
index 0000000..50bd824
--- /dev/null
+++ b/contrib/debian/docs
@@ -0,0 +1,2 @@
+NEWS
+README
diff --git a/contrib/debian/libthrift-dev.install b/contrib/debian/libthrift-dev.install
new file mode 100644
index 0000000..58b5223
--- /dev/null
+++ b/contrib/debian/libthrift-dev.install
@@ -0,0 +1,4 @@
+usr/lib/*.a
+usr/lib/*.la
+usr/lib/pkgconfig
+usr/include
diff --git a/contrib/debian/libthrift0.install b/contrib/debian/libthrift0.install
new file mode 100644
index 0000000..ddaa8cd
--- /dev/null
+++ b/contrib/debian/libthrift0.install
@@ -0,0 +1 @@
+usr/lib/libthrift*.so.*
diff --git a/contrib/debian/php5-thrift.dirs b/contrib/debian/php5-thrift.dirs
new file mode 100644
index 0000000..8ca3a0f
--- /dev/null
+++ b/contrib/debian/php5-thrift.dirs
@@ -0,0 +1 @@
+etc/php5/conf.d
diff --git a/contrib/debian/rules b/contrib/debian/rules
new file mode 100755
index 0000000..17c8e9a
--- /dev/null
+++ b/contrib/debian/rules
@@ -0,0 +1,207 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+#
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+#
+# Modified to make a template file for a multi-binary package with separated
+# build-arch and build-indep targets  by Bill Allombert 2001
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+# This has to be exported to make some magic below work.
+export DH_OPTIONS
+
+PYVERS := $(shell pyversions -r)
+
+configure: configure-stamp
+configure-stamp:
+	dh_testdir
+	# Add here commands to configure the package.
+	if [ -f bootstrap.sh ]; then $(CURDIR)/bootstrap.sh; fi
+	$(CURDIR)/configure --prefix=/usr
+
+	touch configure-stamp
+
+
+#Architecture
+build: build-arch build-indep
+	# Tests disabled
+	# $(MAKE) -C test check
+
+build-arch: build-arch-stamp
+build-arch-stamp: configure-stamp
+
+	# Compile compiler
+	$(MAKE) -C $(CURDIR)/compiler/cpp
+
+	# Compile C++ library
+	$(MAKE) -C $(CURDIR)/lib/cpp
+
+	# Python library
+	cd $(CURDIR)/lib/py && \
+    for py in $(PYVERS); do  \
+        $$py setup.py build; \
+        $$py-dbg setup.py build; \
+    done
+
+	# Ruby library
+	cd $(CURDIR)/lib/rb	&& \
+		ruby setup.rb config --installdirs=std && \
+		ruby setup.rb setup
+
+	# PHP
+	cd $(CURDIR)/lib/php/src/ext/thrift_protocol && \
+		phpize && \
+		./configure && make
+
+	touch $@
+
+build-indep: build-indep-stamp
+build-indep-stamp: configure-stamp
+
+	# Add here commands to compile the indep part of the package.
+	#$(MAKE) doc
+
+	# Java
+	cd $(CURDIR)/lib/java && \
+		ant
+
+	# Erlang
+	$(MAKE) -C $(CURDIR)/lib/erl
+
+	# C#
+	$(MAKE) -C $(CURDIR)/lib/csharp
+
+	# Perl
+	$(MAKE) -C $(CURDIR)/lib/perl INSTALLDIRS=vendor
+
+	touch $@
+
+clean:
+	dh_testdir
+	dh_testroot
+	rm -f build-arch-stamp build-indep-stamp configure-stamp
+
+	# Add here commands to clean up after the build process.
+	-$(MAKE) clean
+
+	dh_clean
+
+install: install-indep install-arch
+install-indep:
+	dh_testdir
+	dh_testroot
+	dh_clean -k -i
+	dh_installdirs -i
+
+	# Add here commands to install the indep part of the package into
+	# debian/<package>-doc.
+	#INSTALLDOC#
+
+    # Java
+	mkdir -p $(CURDIR)/debian/libthrift-java/usr/share/java/ && \
+	cp $(CURDIR)/lib/java/libthrift.jar \
+		$(CURDIR)/debian/libthrift-java/usr/share/java/
+
+	# Erlang
+	mkdir -p $(CURDIR)/debian/libthrift-erlang/usr/lib/erlang/lib/thrift/ && \
+	cp -r $(CURDIR)/lib/erl/ebin \
+		$(CURDIR)/lib/erl/include \
+		$(CURDIR)/lib/erl/src \
+		$(CURDIR)/debian/libthrift-erlang/usr/lib/erlang/lib/thrift/
+
+	# C#
+	mkdir -p $(CURDIR)/debian/libthrift-cil/usr/lib/cli/thrift/ && \
+	cp $(CURDIR)/lib/csharp/Thrift.dll \
+		$(CURDIR)/debian/libthrift-cil/usr/lib/cli/thrift/Thrift.dll
+
+	# Perl
+	$(MAKE) -C $(CURDIR)/lib/perl install DESTDIR=$(CURDIR)/debian/libthrift-perl/usr
+
+	dh_install -i
+
+install-arch:
+	dh_testdir
+	dh_testroot
+	dh_clean -k -s
+	dh_installdirs -s
+
+	# Add here commands to install the arch part of the package into
+	# debian/tmp.
+	#$(MAKE) DESTDIR=$(CURDIR)/debian/thrift install
+
+	#compiler
+	mkdir -p $(CURDIR)/debian/thrift-compiler/usr/bin && \
+	cp $(CURDIR)/compiler/cpp/thrift \
+		$(CURDIR)/debian/thrift-compiler/usr/bin/thrift && \
+	rmdir $(CURDIR)/debian/thrift-compiler/usr/sbin
+
+	#python
+	cd $(CURDIR)/lib/py && \
+	for py in $(PYVERS); do \
+		$$py setup.py install --no-compile --root=$(CURDIR)/debian/python-thrift; \
+		$$py-dbg setup.py install --no-compile --root=$(CURDIR)/debian/python-thrift-dbg; \
+	done
+
+	find $(CURDIR)/debian/python-thrift-dbg -name "*.pyc" -print0 | xargs -0 rm -f
+	find $(CURDIR)/debian/python-thrift-dbg -name "*.py" -print0 | xargs -0 rm -f
+	find $(CURDIR)/debian/python-thrift-dbg -name "*.egg-info" -print0 | xargs -0 rm -f
+	find $(CURDIR)/debian/python-thrift-dbg -depth -type d -empty -exec rmdir {} \;
+
+	#ruby
+	mkdir -p $(CURDIR)/debian/libthrift-ruby && \
+	cd $(CURDIR)/lib/rb && \
+		ruby setup.rb install --prefix=$(CURDIR)/debian/libthrift-ruby
+
+	# PHP
+	mkdir -p $(CURDIR)/debian/php5-thrift
+	cd $(CURDIR)/lib/php && \
+		$(MAKE) DESTDIR=$(CURDIR)/debian/php5-thrift install
+
+	#cpp
+	mkdir -p $(CURDIR)/debian/tmp; \
+	cd $(CURDIR)/lib/cpp && \
+		make DESTDIR=$(CURDIR)/debian/tmp install
+
+	dh_install --sourcedir=debian/tmp -s
+
+
+# Must not depend on anything. This is to be called by
+# binary-arch/binary-indep
+# in another 'make' thread.
+binary-common:
+	dh_testdir
+	dh_testroot
+	dh_installchangelogs
+	dh_installdocs
+	dh_installexamples
+	dh_installman
+	dh_link
+	dh_strip -Npython-thrift-dbg -Nthrift-compiler -Nlibthrift0 -Nlibthrift-ruby --dbg=python-thrift-dbg
+	dh_strip -Npython-thrift-dbg
+	dh_compress
+	dh_fixperms
+	dh_pysupport
+	dh_makeshlibs
+	dh_installdeb
+	dh_perl
+	dh_shlibdeps
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+# Build architecture independant packages using the common target.
+binary-indep: build-indep install-indep
+	$(MAKE) -f debian/rules DH_OPTIONS=-i binary-common
+
+# Build architecture dependant packages using the common target.
+binary-arch: build-arch install-arch
+	echo "php:Depends=phpapi-$(php-config5 --phpapi)" > debian/substvars
+	$(MAKE) -f debian/rules DH_OPTIONS=-s binary-common
+
+binary: binary-arch binary-indep
+.PHONY: build clean binary-indep binary-arch binary install install-indep install-arch configure
diff --git a/contrib/debian/substvars b/contrib/debian/substvars
new file mode 100644
index 0000000..badf572
--- /dev/null
+++ b/contrib/debian/substvars
@@ -0,0 +1 @@
+php:Depends=phpapi-
diff --git a/contrib/debian/thrift-doc.docs b/contrib/debian/thrift-doc.docs
new file mode 100644
index 0000000..299950c
--- /dev/null
+++ b/contrib/debian/thrift-doc.docs
@@ -0,0 +1,2 @@
+#DOCS#
+
diff --git a/contrib/debian/thrift-doc.install b/contrib/debian/thrift-doc.install
new file mode 100644
index 0000000..299950c
--- /dev/null
+++ b/contrib/debian/thrift-doc.install
@@ -0,0 +1,2 @@
+#DOCS#
+
