diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..abd331a
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,112 @@
+reclass (1.5.3-1mir1) xenial; urgency=medium
+
+  * xenial build reclass version 1.5.3
+
+ -- Jiri Broulik <jbroulik@mirantis.com>  Thu, 14 Jun 2018 17:17:36 +0200
+
+reclass (1.4.1-1tcp4) xenial; urgency=medium
+
+  * rebuild for xenial
+
+ -- Filip Pytloun <filip@pytloun.cz>  Thu, 09 Jun 2016 13:59:21 +0200
+
+reclass (1.4.1-1tcp3) trusty; urgency=medium
+
+  * backport UndefinedVariableError fix from master
+
+ -- Filip Pytloun <filip@pytloun.cz>  Fri, 16 Oct 2015 21:01:14 +0200
+
+reclass (1.4.1-1tcp2) trusty; urgency=medium
+
+  * make symlink to reclass-salt and reclass-ansible
+
+ -- Filip Pytloun <filip@pytloun.cz>  Tue, 13 Oct 2015 14:07:54 +0200
+
+reclass (1.4.1-1tcp1) trusty; urgency=medium
+
+  * trusty build
+
+ -- Filip Pytloun <filip@pytloun.cz>  Mon, 13 Jul 2015 10:19:47 +0200
+
+reclass (1.4.1-1) unstable; urgency=low
+
+  * New upstream release reverting the logging changes, which weren't ready
+    yet.
+
+ -- martin f. krafft <madduck@debian.org>  Tue, 28 Oct 2014 15:56:59 +0100
+
+reclass (1.4-1) unstable; urgency=low
+
+  * New upstream release (closes: #761952).
+  * Compliant with Debian Policy 3.9.6.
+
+ -- martin f. krafft <madduck@debian.org>  Sat, 25 Oct 2014 15:12:25 +0200
+
+reclass (1.3-2) UNRELEASED; urgency=medium
+
+  * Add myself as uploader.
+  * Update Vcs-Git and Vcs-Browser URLs.
+  * Improve long description of reclass-doc.
+  * Have python-reclass depend on python-pkg-resources.
+    Closes: bug#757423.
+
+ -- Jonas Smedegaard <dr@jones.dk>  Wed, 17 Sep 2014 10:17:04 +0200
+
+reclass (1.3-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- martin f. krafft <madduck@debian.org>  Sat, 01 Mar 2014 14:48:19 +0100
+
+reclass (1.2.2-1) unstable; urgency=medium
+
+  * New upstream release, fixing recursion of class mappings.
+  * Updated Standards-Version to 3.9.5; no changes required.
+
+ -- martin f. krafft <madduck@debian.org>  Fri, 27 Dec 2013 09:44:42 +1300
+
+reclass (1.2.1-1) unstable; urgency=low
+
+  * New upstream release, fixing the Salt adapter.
+
+ -- martin f. krafft <madduck@debian.org>  Thu, 26 Dec 2013 17:08:15 +1300
+
+reclass (1.2-1) unstable; urgency=low
+
+  * New upstream release, with the following major changes:
+    - class mappings
+    - parameter interpolation across lists
+    - classes caching
+    - yaml_fs: nodes may reside in subdirectories
+  * Remove dangling symlink from /usr/share/doc/reclass/html, add a note about
+    documentation in reclass-doc (and online) to README.Debian instead.
+
+ -- martin f. krafft <madduck@debian.org>  Wed, 28 Aug 2013 13:24:17 +0200
+
+reclass (1.1-1) unstable; urgency=low
+
+  * Add a build-dependency on python-yaml, thanks Jeroen Dekkers.
+  * Fix inter-package dependencies (use binary:Version instead of
+    source:Version), again thanks Jeroen Dekkers.
+  * Move reclass binary package into 'admin' section.
+
+ -- martin f. krafft <madduck@debian.org>  Wed, 28 Aug 2013 09:13:48 +0200
+
+reclass (1.0.2-1) unstable; urgency=low
+
+  * New upstream release (version number fix).
+  * Split Python module into python-reclass.
+
+ -- martin f. krafft <madduck@debian.org>  Tue, 27 Aug 2013 21:43:20 +0200
+
+reclass (1.0.1-1) unstable; urgency=low
+
+  * New upstream release (documentation updates only).
+
+ -- martin f. krafft <madduck@debian.org>  Tue, 27 Aug 2013 18:07:39 +0200
+
+reclass (1.0-1) unstable; urgency=low
+
+  * Initial release (closes: #720922).
+
+ -- martin f. krafft <madduck@debian.org>  Mon, 26 Aug 2013 10:52:31 +0200
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..45a4fb7
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+8
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..ba284e8
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,71 @@
+Source: reclass
+Section: python
+Priority: extra
+Maintainer: tcpcloud Packaging Team <pkg-team@tcpcloud.eu>
+XSBC-Original-Maintainer: martin f. krafft <madduck@debian.org>
+Uploaders: Jonas Smedegaard <dr@jones.dk>
+Build-Depends: python-setuptools, python, debhelper (>= 8.9.7), python-sphinx, python-yaml
+Standards-Version: 3.9.6
+XS-Python-Version: all
+Homepage: http://reclass.pantsfullofunix.net/
+Vcs-Git: git://anonscm.debian.org/collab-maint/reclass.git
+Vcs-Browser: https://anonscm.debian.org/cgit/collab-maint/reclass.git?h=debian
+
+Package: reclass
+Architecture: all
+Section: admin
+Depends: python-reclass (= ${binary:Version}), ${misc:Depends}, ${python:Depends}
+Suggests: reclass-doc
+Description: hierarchical inventory backend for configuration management systems
+ reclass is an "external node classifier" (ENC) as can be used with automation
+ tools, such as Puppet, Salt, and Ansible. It is also a stand-alone tool for
+ merging data sources recursively.
+ .
+ The purpose of an ENC is to allow a system administrator to maintain an
+ inventory of nodes to be managed, completely separately from the configuration
+ of the automation tool. Usually, the external node classifier completely
+ replaces the tool-specific inventory (such as site.pp for Puppet,
+ ext_pillar/master_tops for Salt, or /etc/ansible/hosts).
+ .
+ reclass allows you to define your nodes through class inheritance, while
+ always able to override details further up the tree (i.e. in more specific
+ nodes). Think of classes as feature sets, as commonalities between nodes, or
+ as tags. Add to that the ability to nest classes (multiple inheritance is
+ allowed, well-defined, and encouraged), and piece together your infrastructure
+ from smaller bits, eliminating redundancy and exposing all important
+ parameters to a single location, logically organised.
+ .
+ This package provides the reclass CLI and adapters for Salt and Ansible.
+
+Package: python-reclass
+Architecture: all
+Depends: ${misc:Depends}, ${python:Depends}, python-pkg-resources
+Description: hierarchical inventory backend for configuration management systems
+ reclass is an "external node classifier" (ENC) as can be used with automation
+ tools, such as Puppet, Salt, and Ansible. It is also a stand-alone tool for
+ merging data sources recursively.
+ .
+ The purpose of an ENC is to allow a system administrator to maintain an
+ inventory of nodes to be managed, completely separately from the configuration
+ of the automation tool. Usually, the external node classifier completely
+ replaces the tool-specific inventory (such as site.pp for Puppet,
+ ext_pillar/master_tops for Salt, or /etc/ansible/hosts).
+ .
+ reclass allows you to define your nodes through class inheritance, while
+ always able to override details further up the tree (i.e. in more specific
+ nodes). Think of classes as feature sets, as commonalities between nodes, or
+ as tags. Add to that the ability to nest classes (multiple inheritance is
+ allowed, well-defined, and encouraged), and piece together your infrastructure
+ from smaller bits, eliminating redundancy and exposing all important
+ parameters to a single location, logically organised.
+
+Package: reclass-doc
+Architecture: all
+Section: doc
+Depends: ${sphinxdoc:Depends}, ${misc:Depends}
+Description: reclass documentation
+ reclass is an "external node classifier" (ENC) as can be used with automation
+ tools, such as Puppet, Salt, and Ansible. It is also a stand-alone tool for
+ merging data sources recursively.
+ .
+ This package provides the documentation for reclass.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..a009446
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,189 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: reclass
+Source: https://github.com/madduck/reclass
+
+Files: *
+Copyright: 2007–2013 martin f. krafft <madduck@madduck.net>
+License: Artistic-2.0
+
+Files: debian/*
+Copyright: 2013 martin f. krafft <madduck@debian.org>
+License: Artistic-2.0
+
+License: Artistic-2.0
+ "The Artistic Licence 2.0"
+ Copyright (c) 2000-2006, The Perl Foundation.
+ http://www.perlfoundation.org/legal/licenses/artistic-2_0.html
+ .
+ Everyone is permitted to copy and distribute verbatim copies of this license
+ document, but changing it is not allowed.
+ .
+ Preamble
+ ~~~~~~~~
+ This license establishes the terms under which a given free software Package
+ may be copied, modified, distributed, and/or redistributed. The intent is that
+ the Copyright Holder maintains some artistic control over the development of
+ that Package while still keeping the Package available as open source and free
+ software.
+ .
+ You are always permitted to make arrangements wholly outside of this license
+ directly with the Copyright Holder of a given Package. If the terms of this
+ license do not permit the full use that you propose to make of the Package,
+ you should contact the Copyright Holder and seek a different licensing
+ arrangement.
+ .
+ Definitions
+ ~~~~~~~~~~~
+ "Copyright Holder" means the individual(s) or organization(s) named in the
+ copyright notice for the entire Package.
+ .
+ "Contributor" means any party that has contributed code or other material to
+ the Package, in accordance with the Copyright Holder's procedures.
+ .
+ "You" and "your" means any person who would like to copy, distribute, or
+ modify the Package.
+ .
+ "Package" means the collection of files distributed by the Copyright Holder,
+ and derivatives of that collection and/or of those files. A given Package may
+ consist of either the Standard Version, or a Modified Version.
+ .
+ "Distribute" means providing a copy of the Package or making it accessible to
+ anyone else, or in the case of a company or organization, to others outside of
+ your company or organization.
+ .
+ "Distributor Fee" means any fee that you charge for Distributing this Package
+ or providing support for this Package to another party. It does not mean
+ licensing fees.
+ .
+ "Standard Version" refers to the Package if it has not been modified, or has
+ been modified only in ways explicitly requested by the Copyright Holder.
+ .
+ "Modified Version" means the Package, if it has been changed, and such changes
+ were not explicitly requested by the Copyright Holder.
+ .
+ "Original License" means this Artistic License as Distributed with the
+ Standard Version of the Package, in its current version or as it may be
+ modified by The Perl Foundation in the future.
+ .
+ "Source" form means the source code, documentation source, and configuration
+ files for the Package.
+ .
+ "Compiled" form means the compiled bytecode, object code, binary, or any other
+ form resulting from mechanical transformation or translation of the Source
+ form.
+ .
+ Permission for Use and Modification Without Distribution
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ (1) You are permitted to use the Standard Version and create and use Modified
+ Versions for any purpose without restriction, provided that you do not
+ Distribute the Modified Version.
+ .
+ Permissions for Redistribution of the Standard Version
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ (2) You may Distribute verbatim copies of the Source form of the Standard
+ Version of this Package in any medium without restriction, either gratis or
+ for a Distributor Fee, provided that you duplicate all of the original
+ copyright notices and associated disclaimers. At your discretion, such
+ verbatim copies may or may not include a Compiled form of the Package.
+ .
+ (3) You may apply any bug fixes, portability changes, and other modifications
+ made available from the Copyright Holder. The resulting Package will still be
+ considered the Standard Version, and as such will be subject to the Original
+ License.
+ .
+ Distribution of Modified Versions of the Package as Source
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ (4) You may Distribute your Modified Version as Source (either gratis or for
+ a Distributor Fee, and with or without a Compiled form of the Modified
+ Version) provided that you clearly document how it differs from the Standard
+ Version, including, but not limited to, documenting any non-standard features,
+ executables, or modules, and provided that you do at least ONE of the
+ following:
+ .
+     (a) make the Modified Version available to the Copyright Holder of the
+         Standard Version, under the Original License, so that the Copyright
+         Holder may include your modifications in the Standard Version.
+     (b) ensure that installation of your Modified Version does not prevent the
+         user installing or running the Standard Version. In addition, the
+         Modified Version must bear a name that is different from the name of
+         the Standard Version.
+     (c) allow anyone who receives a copy of the Modified Version to make the
+         Source form of the Modified Version available to others under
+         (i) the Original License or
+         (ii) a license that permits the licensee to freely copy, modify and
+             redistribute the Modified Version using the same licensing terms
+             that apply to the copy that the licensee received, and requires
+             that the Source form of the Modified Version, and of any works
+             derived from it, be made freely available in that license fees
+             are prohibited but Distributor Fees are allowed.
+ .
+ Distribution of Compiled Forms of the Standard Version or Modified Versions
+ without the Source
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ (5) You may Distribute Compiled forms of the Standard Version without the
+ Source, provided that you include complete instructions on how to get the
+ Source of the Standard Version. Such instructions must be valid at the time of
+ your distribution. If these instructions, at any time while you are carrying
+ out such distribution, become invalid, you must provide new instructions on
+ demand or cease further distribution. If you provide valid instructions or
+ cease distribution within thirty days after you become aware that the
+ instructions are invalid, then you do not forfeit any of your rights under
+ this license.
+ .
+ (6) You may Distribute a Modified Version in Compiled form without the Source,
+ provided that you comply with Section 4 with respect to the Source of the
+ Modified Version.
+ .
+ Aggregating or Linking the Package
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ (7) You may aggregate the Package (either the Standard Version or Modified
+ Version) with other packages and Distribute the resulting aggregation provided
+ that you do not charge a licensing fee for the Package. Distributor Fees are
+ permitted, and licensing fees for other components in the aggregation are
+ permitted. The terms of this license apply to the use and Distribution of the
+ Standard or Modified Versions as included in the aggregation.
+ .
+ (8) You are permitted to link Modified and Standard Versions with other works,
+ to embed the Package in a larger work of your own, or to build stand-alone
+ binary or bytecode versions of applications that include the Package, and
+ Distribute the result without restriction, provided the result does not expose
+ a direct interface to the Package.
+ .
+ Items That are Not Considered Part of a Modified Version
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ (9) Works (including, but not limited to, modules and scripts) that merely
+ extend or make use of the Package, do not, by themselves, cause the Package to
+ be a Modified Version. In addition, such works are not considered parts of the
+ Package itself, and are not subject to the terms of this license.
+ .
+ General Provisions
+ ~~~~~~~~~~~~~~~~~~
+ (10) Any use, modification, and distribution of the Standard or Modified
+ Versions is governed by this Artistic License. By using, modifying or
+ distributing the Package, you accept this license. Do not use, modify, or
+ distribute the Package, if you do not accept this license.
+ .
+ (11) If your Modified Version has been derived from a Modified Version made by
+ someone other than you, you are nevertheless required to ensure that your
+ Modified Version complies with the requirements of this license.
+ .
+ (12) This license does not grant you the right to use any trademark, service
+ mark, tradename, or logo of the Copyright Holder.
+ .
+ (13) This license includes the non-exclusive, worldwide, free-of-charge patent
+ license to make, have made, use, offer to sell, sell, import and otherwise
+ transfer the Package with respect to any patent claims licensable by the
+ Copyright Holder that are necessarily infringed by the Package. If you
+ institute patent litigation (including a cross-claim or counterclaim) against
+ any party alleging that the Package constitutes direct or contributory patent
+ infringement, then this Artistic License to you shall terminate on the date
+ that such litigation is filed.
+ .
+ (14) Disclaimer of Warranty: THE PACKAGE IS PROVIDED BY THE COPYRIGHT HOLDER
+ AND CONTRIBUTORS "AS IS' AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES. THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
+ NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT PERMITTED BY YOUR LOCAL LAW.
+ UNLESS REQUIRED BY LAW, NO COPYRIGHT HOLDER OR CONTRIBUTOR WILL BE LIABLE FOR
+ ANY DIRECT, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY
+ OUT OF THE USE OF THE PACKAGE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ DAMAGE.
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644
index 0000000..b9eb5b0
--- /dev/null
+++ b/debian/gbp.conf
@@ -0,0 +1,4 @@
+[DEFAULT]
+upstream-branch = master
+debian-branch = debian/xenial
+upstream-tag = %(version)s
diff --git a/debian/python-reclass.install b/debian/python-reclass.install
new file mode 100644
index 0000000..06b4743
--- /dev/null
+++ b/debian/python-reclass.install
@@ -0,0 +1 @@
+usr/lib/python2.7/dist-packages/reclass*
diff --git a/debian/reclass-doc.docs b/debian/reclass-doc.docs
new file mode 100644
index 0000000..8137b04
--- /dev/null
+++ b/debian/reclass-doc.docs
@@ -0,0 +1 @@
+doc/build/html
diff --git a/debian/reclass.README.Debian b/debian/reclass.README.Debian
new file mode 100644
index 0000000..395d91c
--- /dev/null
+++ b/debian/reclass.README.Debian
@@ -0,0 +1,10 @@
+reclass for Debian
+==================
+
+The documentation for reclass is provided in the reclass-doc package. Once
+installed, please have a look at /usr/share/doc/reclass-doc/html/index.html.
+
+Alternatively, you may also view the documentation online at
+http://reclass.pantsfullofunix.net/
+
+ -- martin f. krafft <madduck@debian.org>  Wed, 28 Aug 2013 13:23:23 +0200
diff --git a/debian/reclass.dirs b/debian/reclass.dirs
new file mode 100644
index 0000000..8289f78
--- /dev/null
+++ b/debian/reclass.dirs
@@ -0,0 +1 @@
+usr/share/reclass
diff --git a/debian/reclass.docs b/debian/reclass.docs
new file mode 100644
index 0000000..a1320b1
--- /dev/null
+++ b/debian/reclass.docs
@@ -0,0 +1 @@
+README.rst
diff --git a/debian/reclass.examples b/debian/reclass.examples
new file mode 100644
index 0000000..e39721e
--- /dev/null
+++ b/debian/reclass.examples
@@ -0,0 +1 @@
+examples/*
diff --git a/debian/reclass.install b/debian/reclass.install
new file mode 100644
index 0000000..f600704
--- /dev/null
+++ b/debian/reclass.install
@@ -0,0 +1 @@
+usr/bin/reclass
diff --git a/debian/reclass.links b/debian/reclass.links
new file mode 100644
index 0000000..15282bd
--- /dev/null
+++ b/debian/reclass.links
@@ -0,0 +1,2 @@
+/usr/share/reclass/reclass-salt /usr/bin/reclass-salt
+/usr/share/reclass/reclass-ansible /usr/bin/reclass-ansible
diff --git a/debian/reclass.manpages b/debian/reclass.manpages
new file mode 100644
index 0000000..4afc6ec
--- /dev/null
+++ b/debian/reclass.manpages
@@ -0,0 +1 @@
+doc/build/man/reclass.1
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..de18930
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,27 @@
+#!/usr/bin/make -f
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+DH_BUILDSYSTEM_OPTION=--buildsystem=python_distutils
+DH_OPTIONS=--with python2,sphinxdoc $(DH_BUILDSYSTEM_OPTION)
+
+%:
+	dh $@ $(DH_OPTIONS)
+
+override_dh_sphinxdoc:
+	dh_sphinxdoc || :
+
+override_dh_auto_build:
+	PYTHONPATH=.. $(MAKE) -C doc man html
+
+override_dh_install:
+	dh_install
+	mv debian/tmp/usr/bin/reclass-* debian/reclass/usr/share/reclass
+
+override_dh_installchangelogs:
+	dh_installchangelogs doc/source/changelog.rst
+
+override_dh_clean:
+	dh_clean -O$(DH_BUILDSYSTEM_OPTION)
+	$(MAKE) docsclean
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/source/options b/debian/source/options
new file mode 100644
index 0000000..5e0de7b
--- /dev/null
+++ b/debian/source/options
@@ -0,0 +1 @@
+extend-diff-ignore = "^(\.coverage$|reclass\.egg-info)"
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..efc8ac1
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,3 @@
+version=3
+opts=filenamemangle=s/.+\/v?(\d\S*)\.tar\.gz/reclass-$1\.tar\.gz/ \
+  https://github.com/madduck/reclass/tags .*/reclass-(\d\S*)\.tar\.gz
