commit 2ff1b6203dcc14d2537d2f205d561662ead6634e
Author: Dimitris Aragiorgis <dimara@grnet.gr>
Date:   Thu May 29 13:49:46 2014 +0300

    debian: Import debian files from backports
    
    Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>

diff --git a/debian/15-ganeti b/debian/15-ganeti
new file mode 100755
index 0000000..ce0d816
--- /dev/null
+++ b/debian/15-ganeti
@@ -0,0 +1,11 @@
+#!/bin/sh
+#
+# 15-ganeti -- detect if there are running ganeti(7) instances
+#
+# Copyright (c) 2014 Apollon Oikonomopoulos <apoikos@debian.org>
+#
+# Released under the terms of the GNU General Public License version 2 or later.
+
+HELPER="/usr/share/ganeti/default/molly-guard-helper"
+
+[ -x "$HELPER" ] && exec "$HELPER"
diff --git a/debian/NEWS b/debian/NEWS
new file mode 100644
index 0000000..e30960d
--- /dev/null
+++ b/debian/NEWS
@@ -0,0 +1,95 @@
+ganeti (2.10.2-1) unstable; urgency=medium
+
+  Ganeti now ships a molly-guard(8) script that attempts to prevent an
+  accidental shutdown or reboot of a node with running instances. To use this
+  functionality, simply install the molly-guard package.
+
+ -- Apollon Oikonomopoulos <apoikos@debian.org>  Thu, 20 Mar 2014 11:46:58 +0200
+
+ganeti (2.10.1-1) unstable; urgency=medium
+
+  As of 2.10.1-1, ganeti-htools is intended for stand-alone installation on
+  non-cluster systems only and conflicts with the ganeti package. The ganeti
+  package itself now provides the htools binaries for cluster systems in a way
+  that is compatible with upstream's new upgrade model[1].
+
+  Future minor version upgrades (e.g. from 2.10 to 2.11) will be compatible
+  with upstream's new upgrade model, using `gnt-cluster upgrade' (see [1]).
+
+    [1] http://docs.ganeti.org/ganeti/2.10/html/design-upgrade.html
+
+ -- Apollon Oikonomopoulos <apoikos@debian.org>  Wed, 05 Mar 2014 15:35:16 +0200
+
+ganeti (2.8.0-1) unstable; urgency=low
+
+  As of 2.8.0-1, ganeti is configured to use separate users for its daemons.
+  Each daemon now runs as a different user (all with a “gnt-” username prefix)
+  and root access is currently granted only to the node daemon. This is a
+  build-time setting and existing installations will be automatically converted
+  to use the new user separation model.
+
+ -- Apollon Oikonomopoulos <apoikos@gmail.com>  Tue, 01 Oct 2013 18:02:24 +0300
+
+ganeti (2.7.0-2) unstable; urgency=low
+  The ganeti2 package has been renamed to ganeti, since the original reasons
+  for nameing the package ganeti2 (i.e. the 1.2 to 2.0 migration) no longer
+  apply. A dummy transitional ganeti2 package is provided for compatibility,
+  you can safely remove it after the installation has finished.
+
+  Since 2.7.0-2, all internal Ganeti Python libraries are shipped as a private
+  module. This is done because the Ganeti internal APIs are not guaranteed to
+  be stable and direct use by 3rd-party applications is discouraged. Thus, any
+  3rd-party programs importing Ganeti's Python code, should now live under
+  /usr/share/ganeti or include /usr/share/ganeti in Python's sys.path.
+
+  The RAPI client library, being the only stable external API, is now shipped
+  as a public module in its own package, python-ganeti-rapi.
+
+  Since 2.7.0-2, the HTML documentation is provided in the ganeti-doc package.
+
+ -- Apollon Oikonomopoulos <apoikos@gmail.com>  Sat, 13 Jul 2013 04:04:27 +0300
+
+ganeti2 (2.1.1-1) unstable; urgency=low
+
+  Upgrading from Lenny's 1.2 directly to 2.1 requires a two-step method: first
+  run /usr/lib/ganeti/tools/cfgupgrade12 followed by the normal
+  /usr/lib/ganeti/tools/cfgupgrade. This is somewhat more tricky than the
+  intermediate step (1.2 to 2.0 and 2.0 to 2.1), but should otherwise work.
+  Backup of the configuration directory is of course recommended, and reading
+  the wiki page too. Note: if running 2.0, it is possible do to the upgrade
+  without downtime. If running 1.2, it is a must to stop instances.
+
+  Detailed instructions (for both 1.2->2.1 and 2.0->2.1 upgrades):
+
+  - stop cron, or comment out the watcher entry in cron
+  - stop ganeti on the master node
+  - make a backup of /var/lib/ganeti
+  - install new software
+  - if running 1.2, stop all instances
+  - if running 1.2, first migrate all instances to DRBD8 using
+    /usr/lib/ganeti/tools/drbd8-upgrade
+  - if running 1.2, on the master node run /usr/lib/ganeti/tools/cfgupgrade12
+  - on the master node, run /usr/lib/ganeti/tools/cfgupgrade
+  - if both cfgupgrade runs have finished successfully, remove the file
+    /var/lib/ganeti/ssconf_hypervisor on all nodes on which it still exists
+  - on all non-master nodes, restart ganeti (invoke-rc.d ganeti restart); this
+    will give some warnings for rapi and confd daemons, but ignore them for now
+  - on the master node, restart ganeti, and confirm "gnt-node list" works
+  - on the master node, run "gnt-cluster redist-conf"
+  - restart ganeti on all nodes now (once more, and on the master node last)
+  - check that "gnt-cluster verify" doesn't complain
+  - you can now start all instances (if you stopped them)
+  - you can now restart cron (or re-enable the watcher entry)
+
+ -- Iustin Pop <iustin@debian.org>  Sat, 17 Apr 2010 19:05:45 +0200
+
+ganeti2 (2.0.3-1) unstable; urgency=low
+
+  Upgrading from the 'ganeti' package (versions 1.2.x) requires manual
+  intervention; the proper procedure is available at
+  http://code.google.com/p/ganeti/wiki/UpgradeNotes and requires full
+  cluster shutdown. It is recommended to read that first before
+  installing this package.
+
+ -- Iustin Pop <iusty@k1024.org>  Sat, 25 Jul 2009 12:12:46 +0200
+
diff --git a/debian/burnin-fake.sh b/debian/burnin-fake.sh
new file mode 100755
index 0000000..619b29d
--- /dev/null
+++ b/debian/burnin-fake.sh
@@ -0,0 +1,12 @@
+#!/bin/bash
+
+# Note: change the valuues to some that are valid for your environment
+
+/usr/lib/ganeti/tools/burnin -p \
+  -o busybox \
+  -t drbd \
+  --disk-size=128m --disk-growth=0 \
+  --no-migrate \
+  --no-replace1 --no-failover --no-import --no-add-disks --no-add-nics \
+  -H fake \
+  gnta-i11
diff --git a/debian/burnin-xen.sh b/debian/burnin-xen.sh
new file mode 100755
index 0000000..58d3bc0
--- /dev/null
+++ b/debian/burnin-xen.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+
+# Note: change the valuues to some that are valid for your environment
+
+/usr/lib/ganeti/tools/burnin -p \
+  -o busybox \
+  -t drbd \
+  --disk-size=128m --disk-growth=0 \
+  --reboot-types=hard,full \
+  -H xen-pvm \
+  gnta-i{11,12}
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..a970e5b
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,641 @@
+ganeti (2.10.4-1~bpo70+1) wheezy-backports; urgency=medium
+
+  * Rebuild for wheezy-backports.
+
+ -- Apollon Oikonomopoulos <apoikos@debian.org>  Wed, 21 May 2014 12:32:27 +0300
+
+ganeti (2.10.4-1) unstable; urgency=medium
+
+  * New upstream bugfix release (see /usr/share/doc/ganeti/NEWS.gz):
+    + Support restricted migration in hbal
+    + Fix for the --shared-file-storage-dir of gnt-cluster modify
+    + Fail in replace-disks if attaching disks fails
+    + Set IFF_ONE_QUEUE on created tap interfaces for KVM
+    + Small fixes and enhancements in the build system
+    + Various documentation fixes
+
+ -- Apollon Oikonomopoulos <apoikos@debian.org>  Fri, 16 May 2014 09:48:05 +0300
+
+ganeti (2.10.3-1) unstable; urgency=medium
+
+  [ Apollon Oikonomopoulos ]
+  * New upstream bugfix release (see /usr/share/doc/ganeti/NEWS.gz):
+    + Fix filtering of pending jobs with -o id
+    + Make RAPI API calls more symmetric
+    + Make parsing of old cluster configuration more robust
+    + Fix wrong output of gnt-instance info after migrations
+    + Fix reserved PCI slots for KVM hotplugging
+    + Use runtime hypervisor parameters to calculate bockdevice options for KVM
+    + Fix high node daemon load during disk sync if the sync is paused manually
+    + Improve opportunistic locking during instance creation
+    + Make watcher submit queries low priority
+    + Add reason parameter to RAPI client functions
+    + Fix failing gnt-node list-drbd command
+    + Properly display fake job locks in gnt-debug.
+    + small fixes in documentation
+  * Drop 0001-Fix-specification-of-TIDiskParams.patch, merged upstream
+  * Update debconf templates and package descriptions (Closes: #741404)
+    + Update Greek translation to match the new templates
+  * control.in: add missing dependencies, already present in debian/control
+
+  [ Debconf translations ]
+  * Danish (Joe Hansen, closes: #744899)
+  * Japanese (Victory, closes: #743904)
+  * Russian (Yuri Kozlov, closes: #744272)
+  * Portuguese (Americo Monteiro, closes: #745146)
+  * French (Julien Patriarca, closes: #744361)
+  * Spanish (Camaleon, closes: #745429)
+
+ -- Apollon Oikonomopoulos <apoikos@debian.org>  Tue, 22 Apr 2014 16:15:41 +0300
+
+ganeti (2.10.2-2) unstable; urgency=high
+
+  * Fix broken extstorage support (upstream commit b26a275a0, closes: #742699)
+  * Urgency set to high; together with 2.10.2-1, this is an important bugfix
+    release.
+
+ -- Apollon Oikonomopoulos <apoikos@debian.org>  Thu, 27 Mar 2014 16:18:57 +0200
+
+ganeti (2.10.2-1) unstable; urgency=medium
+
+  * New upstream bugfix release (see /usr/share/doc/ganeti/NEWS.gz):
+    + Fix conflict between virtio + spice or soundhw
+    + accept relative paths in gnt-cluster copyfile
+    + Introduce shutdown timeout for 'xm shutdown' command
+    + Improve RAPI detection of the watcher
+  * Add molly-guard helper script to prevent accidental shutdown/reboot of
+    nodes with running instances. ganeti now Suggests: molly-guard.
+  * ganeti.postinst fixes:
+    + Silence daemon-util errors
+    + Do not double-start ganeti upon upgrade
+    + Fix a bug where the Haskell daemons would not be restarted properly on
+      upgrade (affecting upgrades from 2.10 and on only).
+  * ganeti-2.10: add dependency on python-fdsend, required for KVM NIC
+    hotplugging to work.
+
+ -- Apollon Oikonomopoulos <apoikos@debian.org>  Wed, 26 Mar 2014 09:58:14 +0200
+
+ganeti (2.10.1-1) unstable; urgency=medium
+
+  * New upstream stable release
+    + For new features and changes since 2.9.x, see
+      http://docs.ganeti.org/ganeti/2.10/html/news.html or NEWS.gz.
+    + Support multiple co-existing versions and cluster-wide upgrades, see
+      http://docs.ganeti.org/ganeti/2.10/html/design-upgrade.html
+  * Build-Depend on m4 (required upstream)
+  * New binary packages:
+    + ganeti-2.10: Python code and scripts for Ganeti 2.10
+    + ganeti-haskell-2.10: Haskell binaries for Ganeti 2.10. ganeti-haskell no
+      longer exists.
+    + ganeti-htools-2.10: Haskell tools for Ganeti 2.10
+  * Generate debian/control and most debhelper files from templates for the
+    given Ganeti version.
+  * ganeti-htools is now intended only for standalone use and conflicts with
+    ganeti, which now depends on ganeti-htools-2.10 and includes all htools
+    functionality.
+  * debian/watch: look for stable 2.10 releases
+  * postinst: restart the ganeti service only when needed, i.e. when the
+    actual running version has changed.
+  * Prompt (using debconf) to abort removal of versioned packages when they
+    are still in use (e.g. before `gnt-cluster upgrade' is run).
+    + ganeti-haskell-2.10, ganeti-htools-2.10 and ganeti-2.10 now depend on
+      debconf | debconf-2.0.
+    + Build-depend on po-debconf.
+    + Add debconf templates and translation template.
+    + Add Greek debconf translation.
+    + Override lintian's no-debconf-config tag, since we are using debconf
+      only to prompt interactively on removal (no actual configuration is
+      done).
+
+ -- Apollon Oikonomopoulos <apoikos@debian.org>  Thu, 06 Mar 2014 18:00:05 +0200
+
+ganeti (2.9.5-1) unstable; urgency=medium
+
+  * New upstream bugfix release (see /usr/share/doc/ganeti/NEWS.gz):
+    + Fix overflow problem in hbal that caused it to break when waiting for
+      jobs for more than 10 minutes.
+    + Make hbal properly handle non-LVM storage.
+    + Properly export and import NIC parameters, and do so in a backwards
+      compatible way.
+    + Fix net-common script in case of routed mode.
+    + Improve documentation.
+    
+ -- Apollon Oikonomopoulos <apoikos@debian.org>  Wed, 26 Feb 2014 14:11:38 +0200
+
+ganeti (2.9.4-1) unstable; urgency=medium
+
+  * New upstream bugfix release (see /usr/share/doc/ganeti/NEWS.gz).
+
+ -- Apollon Oikonomopoulos <apoikos@debian.org>  Mon, 10 Feb 2014 16:57:55 +0200
+
+ganeti (2.9.3-1) unstable; urgency=medium
+
+  * New upstream bugfix release (see /usr/share/doc/ganeti/NEWS.gz)
+    + Supports the blktap2 Xen driver. Be sure to install blktap-dkms if you
+      want to use file-backed instances on Xen 4.0.1+ (closes: #686823).
+    + Drop debian/patches/FTBFS_with_sphinx_1.2.patch (merged upstream).
+  * Update package description to also mention KVM.
+  * Suggest blktap-dkms for blktap2 compatibility.
+  * debian/watch: use the new downloads.ganeti.org distribution point and
+    verify upstream GPG signatures.
+
+ -- Apollon Oikonomopoulos <apoikos@debian.org>  Tue, 28 Jan 2014 11:52:11 +0200
+
+ganeti (2.9.2-2) unstable; urgency=medium
+
+  * Add patch fixing FTBFS with python-sphinx 1.2. Thanks to Andreas Moog!
+    (closes: #733181)
+  * Drop Recommends on qemu-system-x86, since it does not provide /usr/bin/kvm
+    anymore.
+  * Do not pass --enable-htools-rapi to configure, the option has been removed
+    upstream since 2.8.
+  * Bump standards to 3.9.5 (no changes needed).
+
+ -- Apollon Oikonomopoulos <apoikos@gmail.com>  Fri, 27 Dec 2013 10:38:05 +0200
+
+ganeti (2.9.2-1) unstable; urgency=medium
+
+  * New upstream bugfix release (see /usr/share/doc/ganeti/NEWS.gz)
+
+ -- Apollon Oikonomopoulos <apoikos@gmail.com>  Sun, 15 Dec 2013 19:47:41 +0200
+
+ganeti (2.9.1-1) unstable; urgency=low
+
+  * New upstream version
+  * postinst: remove the ganeti-mond user when upgrading from previous versions
+  * (Build-)Depends: OR with wheezy's names for iproute and kvm to ease
+    backports
+
+ -- Apollon Oikonomopoulos <apoikos@gmail.com>  Mon, 18 Nov 2013 08:13:22 +0200
+
+ganeti (2.8.2-1) unstable; urgency=medium
+
+  * New upstream bugfix release
+    + Urgency set to medium, as this is a bugfix-only release and it fixes a
+      serious bug with DRBD during live migrations.
+  * Build Haskell binaries with read-only relocations (fixes hardening-no-relro
+    lintian warning).
+  * Do not emit an error message in postinst if /var/lib/ganeti/queue/archive
+    does not exist.
+
+ -- Apollon Oikonomopoulos <apoikos@gmail.com>  Fri, 08 Nov 2013 10:53:59 +0200
+
+ganeti (2.8.1-1) unstable; urgency=low
+
+  * New upstream version (closes: #726502)
+  * Specify additional extstorage provider search paths:
+    + /srv/ganeti/extstorage
+    + /usr/local/lib/ganeti/extstorage
+    + /usr/lib/ganeti/extstorage
+    + /usr/share/ganeti/extstorage
+  * Recommend ganeti-htools (instead of Suggest) and break older htools versions
+
+ -- Apollon Oikonomopoulos <apoikos@gmail.com>  Thu, 17 Oct 2013 23:16:36 +0300
+
+ganeti (2.8.0-1) unstable; urgency=low
+
+  [ Iustin Pop ]
+  * Remove myself from uploaders
+
+  [ Apollon Oikonomopoulos ]
+  * New upstream version (Closes: #721824)
+  * Replace forgotten iproute dependency with iproute2
+  * Build-Depend on libghc-snap-server-dev for the new ganeti-mond
+  * Ship ganeti-mond and ganeti-luxid in ganeti-haskell
+  * Require python version >= 2.6
+  * Enable user separation
+    + Add postinst/postrm templates and generator script
+    + Update logrotate snippet to use su root root due to logdir permissions
+    + Update job queue archive permissions in postinst if necessary
+  * Disable the test suite during build
+    + Currently broken due to the user separation
+
+ -- Apollon Oikonomopoulos <apoikos@gmail.com>  Mon, 30 Sep 2013 14:29:51 +0300
+
+ganeti (2.7.1-3) unstable; urgency=low
+
+  * Remove Recommends: xen-linux-system-686 as the package has been replaced by
+    xen-linux-system-686-pae
+  * Ditto for Suggests: drbd8-module-source. DRBD has been available in all
+    stock kernels since squeeze
+  * ganeti-doc breaks ganeti2 due to the doc-base manifest (Closes: #718553)
+
+ -- Apollon Oikonomopoulos <apoikos@gmail.com>  Wed, 31 Jul 2013 13:35:04 +0300
+
+ganeti (2.7.1-2) unstable; urgency=low
+
+  * Build-Depend on bash-completion and use dh_bash-completion
+  * Fix binary-arch FTBFS (Closes: #718231)
+    - Switch ganeti-haskell and ganeti-htools to dh_install only
+    - Do not run dh_sphinxdoc when building binary-arch packages
+    - Have dh_install ignore ganeti-haskell and ganeti-htools files when
+      building binary-indep packages
+
+ -- Apollon Oikonomopoulos <apoikos@gmail.com>  Mon, 29 Jul 2013 09:42:21 +0300
+
+ganeti (2.7.1-1) unstable; urgency=low
+
+  * New upstream version
+  * Rebuild the sphinx documentation and use dh_sphinxdoc (Closes: #718026)
+  * Drop the following patches already merged upstream:
+    - 0001-daemon-util-pass-oknodo-at-rotate_logs.patch
+    - 0001-daemon-util-provide-rotate_logs-and-rotate_all_logs-.patch
+    - fix-ganeti-cleaner-in-crontab.patch
+
+ -- Apollon Oikonomopoulos <apoikos@gmail.com>  Sun, 28 Jul 2013 04:59:44 +0300
+
+ganeti (2.7.0-2) unstable; urgency=low
+
+  * Rename ganeti2 to ganeti
+    - Transition using a dummy ganeti2 package
+  * Add dependencies on python-bitarray and python-ipaddr (Closes: #717296)
+  * ganeti-haskell Replaces & Breaks older ganeti2 packages (Closes: #717242)
+  * Build system refactoring
+    - Use the dh sequencer and cleanup debian/rules
+    - Switch from dh_pysupport to dh_python2
+    - Run the upstream test suite during build
+      o Add a patch to disable running `local' checks
+  * Provide the /etc/logrotate.d/ganeti snippet
+    - Include 2 patches, merged upstream, implementing the logrotate helper.
+  * Ship the majority of the Python code in a private module under
+    /usr/share/ganeti
+  * Ship the RAPI client as a separate package (python-ganeti-rapi)
+  * Ship the HTML documentation as ganeti-doc
+    - Depend on libjs-underscore instead of embedding a copy
+  * Update standards version to 3.9.4 and compat to 9
+    - No changes needed, see #688251 for not adding Built-Using
+  * Update the Vcs-* fields to use anonscm.debian.org
+  * Add Apollon Oikonomopoulos <apoikos@gmail.com> to the Uploaders list
+  * Require Python version 2.5 or newer
+  * Convert debian/copyright to Format 1.0
+  * Backport upstream commit 927840bc, fixing a stale check against
+    ganeti-master-cleaner from the crontab.
+
+ -- Apollon Oikonomopoulos <apoikos@gmail.com>  Fri, 12 Jul 2013 20:32:31 +0300
+
+ganeti (2.7.0-1) unstable; urgency=low
+
+  * New upstream version
+    - Fix compatibility with newer ghc (Closes: #713754)
+    - No longer require lvm vg on non-vm-capable nodes (Closes: #650664)
+  * Add dependency on fping: this is needed now by the master-ip-setup
+    script (Closes: #705005)
+  * Update Xen recommends to be version-independent (Closes: #696133)
+  * Remove outdated fix-no-kvm.patch
+  * Suggest ganeti-htools
+  * Split other haskell components in the ganeti-haskell package
+  * Enable restricted commands
+
+ -- Guido Trotter <ultrotter@debian.org>  Thu, 11 Jul 2013 13:27:18 +0200
+
+ganeti (2.6.2-2) experimental; urgency=low
+
+  * Fix dependencies for Template Haskell: according to DHG, need to
+    depend on ghc-ghci
+
+ -- Iustin Pop <iustin@debian.org>  Thu, 14 Feb 2013 19:54:49 +0100
+
+ganeti (2.6.2-1) experimental; urgency=low
+
+  * New upstream version (skipped 2.6.0/2.6.1 due to Wheezy freeze)
+  * Uploading to experimental in order to avoid potential problems when
+    updating the Wheezy package (which is 2.5.2-based)
+  * Sync speed is now configurable in 2.6, see the disk parameters
+    documentation (Closes: #599445)
+
+ -- Iustin Pop <iustin@debian.org>  Wed, 13 Feb 2013 10:59:49 +0100
+
+ganeti (2.5.2-1) unstable; urgency=low
+
+  * New upstream bug-fix version
+    - fixed KVM start and live migration with a custom keymap (Closes: #676930)
+    - fixed compatibility with KVM versions that don't support enabling multiple
+      boot devices (Closes: #624256)
+    - fixed bash-isms in kvm-ifup tool
+    - fixed parallel build mode
+  * Fixed dh_installinit invocation, which created invalid update-rc.d
+    calls in postinst/configure (Closes: #677674)
+
+ -- Iustin Pop <iustin@debian.org>  Thu, 26 Jul 2012 20:26:09 +0200
+
+ganeti (2.5.1-1) unstable; urgency=low
+
+  * New upstream bug-fix version:
+  * fixes compatibility with newer LVM versions
+  * `tools/lvmstrap` recognises kernel 3.x
+  * OS scripts environment includes a PATH
+  * fixed hooks abort handling (regression from 2.4) and improved error
+    display
+  * and a few other minor cosmetic fixes
+
+ -- Iustin Pop <iustin@debian.org>  Fri, 11 May 2012 20:39:01 +0200
+
+ganeti (2.5.0-2) unstable; urgency=low
+
+  * Fix Build-Depends (no more separate -Indep depends, add iproute)
+    (Closes: #671981)
+
+ -- Iustin Pop <iustin@debian.org>  Tue, 08 May 2012 22:34:10 +0200
+
+ganeti (2.5.0-1) unstable; urgency=low
+
+  * New significant upstream release; this integrates the htools source
+    code and as such it superseedes the ganeti-htools standalone source
+    package
+  * There are a number of incompatible changes at the API level, see the
+    upstream NEWS file
+
+ -- Iustin Pop <iustin@debian.org>  Sun, 06 May 2012 14:01:00 +0200
+
+ganeti (2.4.5-2) unstable; urgency=low
+
+  * Backport patch to support KVM versions 1.0 and later
+  * Standards version 3.9.3 (no changes needed)
+
+ -- Iustin Pop <iustin@debian.org>  Sat, 24 Mar 2012 20:59:10 +0100
+
+ganeti (2.4.5-1) unstable; urgency=low
+
+  * New upstream versions (again, many bugs fixed)
+
+ -- Iustin Pop <iustin@debian.org>  Wed, 09 Nov 2011 04:37:12 +0900
+
+ganeti (2.4.2-1) unstable; urgency=low
+
+  * New upstream version (fixing many bugs, see the upstream NEWS file)
+  * Standards version 3.9.2 (no changes needed)
+
+ -- Iustin Pop <iustin@debian.org>  Wed, 29 Jun 2011 21:34:26 +0200
+
+ganeti (2.4.1-1) unstable; urgency=low
+
+  * New upstream version (many changes, please read the NEWS file for the
+    2.4 beta and rc releases)
+  * Needs ganeti-htools 0.3.0 or newer, so added conflicts with older
+    versions
+
+ -- Iustin Pop <iustin@debian.org>  Thu, 10 Mar 2011 19:52:44 +0100
+
+ganeti (2.3.1-1) experimental; urgency=low
+
+  * New upstream version (Closes: #597957, #607679)
+  * Remove obsolete patches integrated upstream
+
+ -- Iustin Pop <iustin@debian.org>  Sun, 09 Jan 2011 19:01:15 +0100
+
+ganeti (2.2.1-1) experimental; urgency=low
+
+  * New upstream version(s), uploading to experimental during the Squeeze
+    freeze
+  * Standards version 3.9.1 (no changes needed)
+  * Fixed case of special values in gnt-backup(8) (Closes: #596347)
+
+ -- Iustin Pop <iustin@debian.org>  Sun, 24 Oct 2010 17:10:15 +0200
+
+ganeti (2.1.6-1) unstable; urgency=low
+
+  * New upstream version(s)
+  * Standard version 3.9.0 (no changes needed)
+
+ -- Iustin Pop <iustin@debian.org>  Sat, 17 Jul 2010 19:18:07 +0200
+
+ganeti (2.1.2.1-2) unstable; urgency=low
+
+  * Ship the defaults file provided by upstream (Closes: #579452)
+  * Fix debian/rules clean target
+
+ -- Iustin Pop <iustin@debian.org>  Thu, 27 May 2010 00:24:33 +0200
+
+ganeti (2.1.2.1-1) unstable; urgency=low
+
+  * New upstream version
+  * Remove a number of patches, integrated upstream (watcher hooks, check-man,
+    cfgupgrade12)
+  * Update recommends for new sid versions and package names
+
+ -- Iustin Pop <iustin@debian.org>  Sun, 23 May 2010 23:46:38 +0200
+
+ganeti (2.1.1-1) unstable; urgency=low
+
+  * New upstream version
+  * Remove patches imported upstream
+  * Import cfgupgrade12 from upstream git
+  * Add patch to remove old ssconf file on upgrade
+  * Import a new patch for check-man issues
+  * Import watcher warnings patch from upstream
+  * Update doc-base for 2.1's sphinx documentation
+  * Replace embedded jquery with external dependency
+  * Update NEWS file for 1.2 to 2.1 upgrade
+
+ -- Iustin Pop <iustin@debian.org>  Sat, 17 Apr 2010 21:36:59 +0200
+
+ganeti (2.0.6-2) unstable; urgency=low
+
+  * Cherry-pick three patches from upstream:
+  * Fix two potentially endless loops in http library
+  * KVM: Fix unintended qemu-level bridging of nics
+  * Fix python 2.6.5 compatibility
+
+ -- Iustin Pop <iustin@debian.org>  Thu, 11 Mar 2010 19:22:17 +0100
+
+ganeti (2.0.6-1) unstable; urgency=low
+
+  * New upstream version (Closes: #568105, thanks Elmar Hoffmann!)
+  * The new version fixes some minor bugs (no new features)
+  * Standards version 3.8.4 (no changes needed)
+  * Fix NEWS.Debian lintian warnings
+  * Add a patch to fix wrong docbook man output
+  * Change my address to @debian.org and remove DM-Upload-Allowed
+
+ -- Iustin Pop <iustin@debian.org>  Tue, 09 Feb 2010 20:13:26 +0100
+
+ganeti (2.0.5-1) unstable; urgency=high
+
+  * New upstream version, fixing CVE-2009-4261 (thus the high urgency)
+  * Also fixes a small bug related to gnt-node list during instance removal
+  * Include RAPI documentation
+
+ -- Iustin Pop <iusty@k1024.org>  Thu, 17 Dec 2009 22:53:08 +0100
+
+ganeti (2.0.4-1) unstable; urgency=low
+
+  * New Upstream Version
+  * The new version fixes quite a number of upstream bugs and adds a number of
+    new features, see the upstream NEWS file
+  * Update to standards version 3.8.3 (no changes needed)
+  * Switch to source format 3.0 (quilt) and drop quilt rules/depencency
+  * Add doc-base files for the main html docs we ship
+  * Add patch to call hostname with "--fqdn" to workaround recent changes which
+    always strip the domain name
+
+ -- Iustin Pop <iusty@k1024.org>  Fri, 04 Dec 2009 20:23:45 +0100
+
+ganeti (2.0.3-1) unstable; urgency=low
+
+  * New Upstream Version
+  * The new upstream fixes "Ganeti doesn't detect export failures"
+    (Closes: #538818)
+  * Note that the 2.0.2 has disk changes which can create issues in some
+    corner-cases, see http://code.google.com/p/ganeti/wiki/UpgradeNotes for
+    details
+
+ -- Iustin Pop <iusty@k1024.org>  Sat, 08 Aug 2009 20:50:59 +0200
+
+ganeti (2.0.1-3) unstable; urgency=low
+
+  * Fix the startup-with-1.2-config (Closes: #539303)
+  * Patch the initscript to fix insserv dependencies
+
+ -- Iustin Pop <iusty@k1024.org>  Tue, 04 Aug 2009 21:28:35 +0200
+
+ganeti (2.0.1-2) unstable; urgency=low
+
+  * Allow kvm instead of xen-linux-system-*
+  * Use xen-linux-system-2.6.26-2-* rather than xen-linux-system-2.6.26-1-*.
+  * Substitute ssh with openssh-client, openssh-server
+  * Add git-buildpackage configuration (as debian/gbp.conf)
+
+ -- Guido Trotter <ultrotter@debian.org>  Sun, 26 Jul 2009 12:08:36 +0200
+
+ganeti (2.0.1-1) unstable; urgency=low
+
+  [ Iustin Pop ]
+  * Packaged ganeti 2.0 and switched the binary package name to ganeti2
+  * Renamed package to ganeti2, since migration from ganeti 1.2.x to 2.0.x
+    is not automatic (and needs cluster shutdown)
+  * Remove Leonardo (l@lmello.eu.org) from the Uploaders list, since he
+    wasn't active in a long while
+  * Fix "ganeti (HVM mode) default expected kernel:
+    /usr/lib/xen/boot/hvmloader in lenny not exist" (Closes: #528618);
+    note that this is a fix that works for unstable, not Lenny
+
+  [ Guido Trotter ]
+  * Remove build-dependency on docbook-utils (docs are built upstream)
+
+ -- Guido Trotter <ultrotter@debian.org>  Sat, 25 Jul 2009 13:36:06 +0200
+
+ganeti (1.2.7-1) unstable; urgency=low
+
+  * New Upstream Version
+  * Standard version 3.8.1 (no changes needed)
+  * Fix a couple of non-critical lintian warnings (directory in /var/run,
+    debian/copyright has old format, etc.)
+
+ -- Iustin Pop <iusty@k1024.org>  Thu, 07 May 2009 07:58:32 +0200
+
+ganeti (1.2.6-3) unstable; urgency=low
+
+  * Cherry-pick commit 2461 from upstream, fixing (yet again, hopefully
+    for the last time) compatibility with twisted 8.1 (Closes: #510965)
+  * Fix the watch regexp to ignore non-stable releases
+
+ -- Iustin Pop <iusty@k1024.org>  Tue, 10 Feb 2009 20:02:46 +0100
+
+ganeti (1.2.6-2) unstable; urgency=low
+
+  * Update recommends for the current packages in unstable and
+    testing (Closes: #474452)
+
+ -- Iustin Pop <iusty@k1024.org>  Wed, 10 Dec 2008 09:47:27 +0100
+
+ganeti (1.2.6-1) unstable; urgency=low
+
+  * New upstream release (bugfixes and a couple of small new features)
+  * Include the batcher example file
+
+ -- Iustin Pop <iusty@k1024.org>  Wed, 08 Oct 2008 08:52:59 +0200
+
+ganeti (1.2.5-1) unstable; urgency=low
+
+  * New upstream release, fixing compatibility with the current versions of
+    twisted (Closes: #487752)
+  * Fix watch file (was picking up other archives too)
+  * Fix some lintian warnings about debian/copyright
+  * Remove dependency on fping (new upstream removes all uses of fping)
+  * Add DM-Upload-Allowed: yes to the control file
+  * Add a recommend on ganeti-instance-deboostrap, now that it is packaged
+
+ -- Iustin Pop <iusty@k1024.org>  Wed, 23 Jul 2008 09:24:07 +0200
+
+ganeti (1.2.4-2) unstable; urgency=low
+
+  * Check new policy and bump up standards version
+  * Depend on python-openssl rather than python-pyopenssl
+
+ -- Guido Trotter <ultrotter@debian.org>  Sun, 15 Jun 2008 09:05:37 +0100
+
+ganeti (1.2.4-1) unstable; urgency=low
+
+  * New upstream release
+  * Change the default iallocator search path to support 'local' allocators
+  * Ship the 'dumb' instance allocator
+  * Call dh_pysupport in 'install' rather than 'binary-install'
+  * Remove 'cronjob-check-executable.patch' included upstream
+
+ -- Guido Trotter <ultrotter@debian.org>  Sat, 14 Jun 2008 15:57:27 +0100
+
+ganeti (1.2.3-2) unstable; urgency=low
+
+  * Fix 'crontab should check for executable presence' (Closes: #466611)
+
+ -- Iustin Pop <iusty@k1024.org>  Fri, 22 Feb 2008 08:25:44 +0100
+
+ganeti (1.2.3-1) unstable; urgency=low
+
+  * New upstream version
+
+ -- Guido Trotter <ultrotter@debian.org>  Wed, 20 Feb 2008 12:56:08 +0000
+
+ganeti (1.2.2-2) unstable; urgency=medium
+
+  * Move mdadm from depends to recommends: it's only useful with drbd0.7
+  * Actually install example cron job as /etc/cron.d/ganeti
+    The example cron job was copied to the wrong place and thus ignored.
+  * Urgency medium because it was important for the cronjob to be there.
+
+ -- Guido Trotter <ultrotter@debian.org>  Wed, 13 Feb 2008 18:06:57 +0000
+
+ganeti (1.2.2-1) unstable; urgency=low
+
+  [ Iustin Pop ]
+  * Switch python modules from hand-crafted to pysupport
+  * Add the Vcs-Svn and Vcs-Browser control fields
+  * Remove the no-start of the daemon(s) on upgrades since we need to restart
+    if the source code has changed; the daemons will not do anything if the
+    node is not joined to a cluster
+  * Extend the OS search path with /usr/share/ganeti/os in order to accommodate
+    arch all OS packages
+
+  [ Guido Trotter ]
+  * New upstream version
+  * Add the option of drbd8-module-source to suggests
+  * Make drbd8 the first choice in recommends/suggests
+  * Add the Homepage control field
+
+  [ Leonardo Rodrigues de Mello ]
+  * Fix dependency on SimpleJSON
+
+ -- Guido Trotter <ultrotter@debian.org>  Wed, 30 Jan 2008 15:21:13 +0100
+
+ganeti (1.2.0-1) unstable; urgency=low
+
+  [ Guido Trotter ]
+  * New upstream release
+  * Remove manpage patch, which has been included upstream
+  * Bump up Standards Version (no changes needed)
+
+  [ Leonardo Rodrigues de Mello ]
+  * Fix dependency on xen-linux-system to allow the amd64 version.
+
+ -- Guido Trotter <ultrotter@debian.org>  Thu, 06 Dec 2007 13:34:17 +0000
+
+ganeti (1.2~b3-1) unstable; urgency=low
+
+  * Initial Release (closes: #440359)
+  * Start off from leonardo's experimental packages
+  * Change maintainer to the Debian Ganeti Team
+  * Use ganeti's native cron and init.d files for debian
+  * Make os and export paths FHS compliant
+  * ganeti is arch: all, not any
+
+ -- Guido Trotter <ultrotter@debian.org>  Wed, 28 Nov 2007 14:33:07 +0000
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..8b8486e
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,197 @@
+Source: ganeti
+Section: admin
+Priority: extra
+Maintainer: Debian Ganeti Team <pkg-ganeti-devel@lists.alioth.debian.org>
+Uploaders: Guido Trotter <ultrotter@debian.org>,
+ Apollon Oikonomopoulos <apoikos@debian.org>
+Build-Depends: debhelper (>= 9), m4,
+ python-all, ghc (>= 6.12), ghc-ghci,
+ libghc-curl-dev, libghc-json-dev, libghc-snap-server-dev,
+ libghc-network-dev, libcurl4-gnutls-dev, libghc-parallel-dev,
+ libghc-utf8-string-dev, libghc-deepseq-dev, libghc-hslogger-dev,
+ libghc-crypto-dev, libghc-text-dev, libghc-hinotify-dev,
+ libghc-regex-pcre-dev, libghc-attoparsec-dev, libghc-vector-dev, libpcre3-dev,
+ python-simplejson, python-pyparsing, python-openssl, python-bitarray,
+ python-support (>= 0.6), python-pyinotify, python-pycurl,
+ python-paramiko, python-ipaddr, python-sphinx (>= 1.0.7+dfsg), graphviz,
+ qemu-utils, socat, iproute2 | iproute, bash-completion, po-debconf
+Standards-Version: 3.9.5
+X-Python-Version: >= 2.6
+Homepage: http://code.google.com/p/ganeti/
+Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-ganeti/ganeti.git
+Vcs-Git: git://anonscm.debian.org/pkg-ganeti/ganeti.git
+
+Package: ganeti2
+Architecture: all
+Depends: ganeti, ${misc:Depends}
+Description: transitional dummy package
+ This is a transitional dummy package for ganeti. It can safely be removed.
+
+Package: ganeti
+Architecture: all
+Breaks: ganeti2 (<< 2.7.0-2), ganeti-haskell
+Replaces: ganeti2 (<< 2.7.0-2), ganeti-haskell, ganeti-htools
+Depends: ganeti-2.10 (= ${source:Version}),
+ ganeti-haskell-2.10 (>= ${source:Version}),
+ ganeti-haskell-2.10 (<< ${source:Version}.1~),
+ ganeti-htools-2.10 (>= ${source:Version}),
+ ganeti-htools-2.10 (<< ${source:Version}.1~),
+ adduser, ${misc:Depends}
+Recommends: drbd8-utils (>= 8.0.7), qemu-kvm |
+ xen-linux-system-amd64 | xen-linux-system-686-pae,
+ ganeti-instance-debootstrap, ndisc6
+Suggests: ganeti-doc, blktap-dkms, molly-guard
+Conflicts: ganeti-htools
+Provides: ${python:Provides}, ganeti-htools
+Description: Cluster-based virtualization management software
+ Ganeti is a virtual server cluster management software tool built on top
+ of the Xen and KVM virtualization technologies and other Free Software. After
+ setting it up it will provide you with an automated environment to
+ manage highly available virtual machine instances.
+ .
+ It has been designed to facilitate cluster management of virtual servers
+ and to provide fast and simple recovery after physical failures using
+ commodity hardware.
+ .
+ It will take care of operations such as redundant disk creation and
+ management, operating system installation (in cooperation with OS-specific
+ install scripts), startup, shutdown, failover of instances between physical
+ systems.
+ .
+ This package installs the complete Ganeti system.
+
+Package: ganeti-2.10
+Architecture: all
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, lvm2,
+ openssh-client, openssh-server, bridge-utils, iproute2 | iproute,
+ iputils-arping, openssl, python-simplejson, python-pyparsing, python-openssl,
+ python-pyinotify, python-pycurl, python-paramiko, python-bitarray,
+ python-ipaddr, python-fdsend, socat, fping, adduser, debconf | debconf-2.0
+Provides: ${python:Provides}
+Description: cluster virtualization manager - Python components
+ Ganeti is a virtual server cluster management tool built on top of the
+ Xen and KVM virtualization technologies and other free software. It
+ provides an automated environment to manage highly available virtual
+ machine instances.
+ .
+ It is designed to facilitate cluster management of virtual servers using
+ commodity hardware, and to provide fast and simple recovery after physical
+ failures. It can take care of operations such as redundant disk creation
+ and management, operating system installation (in cooperation with
+ OS-specific install scripts), startup, shutdown, and failover of instances
+ between physical systems.
+ .
+ This package provides all architecture-independent components of Ganeti 2.10.
+
+Package: ganeti-haskell-2.10
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, debconf | debconf-2.0
+Description: Cluster-based virtualization management software - Haskell components
+ Ganeti is a virtual server cluster management software tool built on top
+ of the Xen and KVM virtualization technologies and other Free Software. After
+ setting it up it will provide you with an automated environment to
+ manage highly available virtual machine instances.
+ .
+ It has been designed to facilitate cluster management of virtual servers
+ and to provide fast and simple recovery after physical failures using
+ commodity hardware.
+ .
+ It will take care of operations such as redundant disk creation and
+ management, operating system installation (in cooperation with OS-specific
+ install scripts), startup, shutdown, failover of instances between physical
+ systems.
+ .
+ This package provides the architecture-dependent components of Ganeti 2.10
+ written in Haskell.
+
+Package: ganeti-htools
+Architecture: all
+Depends: ${shlibs:Depends}, ${misc:Depends}, ganeti-htools-2.10
+Breaks: ganeti2 (<< 2.4)
+Description: cluster virtualization manager - tools (stand-alone)
+ Ganeti is a virtual server cluster management tool built on top of the
+ Xen and KVM virtualization technologies and other free software. It
+ provides an automated environment to manage highly available virtual
+ machine instances.
+ .
+ This package provides additional tools used for enhanced allocation,
+ maintenance and capacity calculation on Ganeti clusters.
+ .
+ The tools provided are:
+  * hail: advanced instance allocator;
+  * harep: tool for automatically repairing Ganeti clusters;
+  * hbal: automatic cluster balancing tool;
+  * hinfo: print cluster information;
+  * hroller: rolling maintenance/reboot scheduler for Ganeti nodes;
+  * hscan: used to gather cluster files for offline use in hbal/hspace;
+  * hspace: cluster capacity calculator.
+ .
+ This package provides the version intended for stand-alone systems that
+ are not part of a Ganeti cluster.
+
+Package: ganeti-htools-2.10
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: cluster virtualization manager - tools for Ganeti 2.10
+ Ganeti is a virtual server cluster management tool built on top of the
+ Xen and KVM virtualization technologies and other free software. It
+ provides an automated environment to manage highly available virtual
+ machine instances.
+ .
+ This package provides additional tools used for enhanced allocation,
+ maintenance and capacity calculation on Ganeti clusters.
+ .
+ The tools provided are:
+  * hail: advanced instance allocator;
+  * harep: tool for automatically repairing Ganeti clusters;
+  * hbal: automatic cluster balancing tool;
+  * hinfo: print cluster information;
+  * hroller: rolling maintenance/reboot scheduler for Ganeti nodes;
+  * hscan: used to gather cluster files for offline use in hbal/hspace;
+  * hspace: cluster capacity calculator.
+ .
+ This package provides the version intended for use on systems that are part
+ of a Ganeti 2.10 cluster. On stand-alone systems, use ganeti-htools instead.
+
+Package: ganeti-doc
+Architecture: all
+Section: doc
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${sphinxdoc:Depends}
+Replaces: ganeti2 (<< 2.7.0-2)
+Breaks: ganeti2 (<< 2.7.0-2)
+Description: cluster virtualization manager - documentation
+ Ganeti is a virtual server cluster management tool built on top of the
+ Xen and KVM virtualization technologies and other free software. It
+ provides an automated environment to manage highly available virtual
+ machine instances.
+ .
+ It is designed to facilitate cluster management of virtual servers using
+ commodity hardware, and to provide fast and simple recovery after physical
+ failures. It can take care of operations such as redundant disk creation
+ and management, operating system installation (in cooperation with
+ OS-specific install scripts), startup, shutdown, and failover of instances
+ between physical systems.
+ .
+ This package provides the full HTML documentation for Ganeti.
+
+Package: python-ganeti-rapi
+Architecture: all
+Section: python
+Depends: ${python:Depends}, ${misc:Depends}, python-pycurl, python-simplejson
+Suggests: ganeti-doc
+Replaces: ganeti2 (<< 2.7.0-2)
+Breaks: ganeti2 (<< 2.7.0-2)
+Description: cluster virtualization manager - RAPI client library
+ Ganeti is a virtual server cluster management tool built on top of the
+ Xen and KVM virtualization technologies and other free software. It
+ provides an automated environment to manage highly available virtual
+ machine instances.
+ .
+ It is designed to facilitate cluster management of virtual servers using
+ commodity hardware, and to provide fast and simple recovery after physical
+ failures. It can take care of operations such as redundant disk creation
+ and management, operating system installation (in cooperation with
+ OS-specific install scripts), startup, shutdown, and failover of instances
+ between physical systems.
+ .
+ This package provides an RAPI (Remote API) client library for Python.
diff --git a/debian/control.in b/debian/control.in
new file mode 100644
index 0000000..c01fb59
--- /dev/null
+++ b/debian/control.in
@@ -0,0 +1,197 @@
+Source: ganeti
+Section: admin
+Priority: extra
+Maintainer: Debian Ganeti Team <pkg-ganeti-devel@lists.alioth.debian.org>
+Uploaders: Guido Trotter <ultrotter@debian.org>,
+ Apollon Oikonomopoulos <apoikos@debian.org>
+Build-Depends: debhelper (>= 9), m4,
+ python-all, ghc (>= 6.12), ghc-ghci,
+ libghc-curl-dev, libghc-json-dev, libghc-snap-server-dev,
+ libghc-network-dev, libcurl4-gnutls-dev, libghc-parallel-dev,
+ libghc-utf8-string-dev, libghc-deepseq-dev, libghc-hslogger-dev,
+ libghc-crypto-dev, libghc-text-dev, libghc-hinotify-dev,
+ libghc-regex-pcre-dev, libghc-attoparsec-dev, libghc-vector-dev, libpcre3-dev,
+ python-simplejson, python-pyparsing, python-openssl, python-bitarray,
+ python-support (>= 0.6), python-pyinotify, python-pycurl,
+ python-paramiko, python-ipaddr, python-sphinx (>= 1.0.7+dfsg), graphviz,
+ qemu-utils, socat, iproute2 | iproute, bash-completion, po-debconf
+Standards-Version: 3.9.5
+X-Python-Version: >= 2.6
+Homepage: http://code.google.com/p/ganeti/
+Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-ganeti/ganeti.git
+Vcs-Git: git://anonscm.debian.org/pkg-ganeti/ganeti.git
+
+Package: ganeti2
+Architecture: all
+Depends: ganeti, ${misc:Depends}
+Description: transitional dummy package
+ This is a transitional dummy package for ganeti. It can safely be removed.
+
+Package: ganeti
+Architecture: all
+Breaks: ganeti2 (<< 2.7.0-2), ganeti-haskell
+Replaces: ganeti2 (<< 2.7.0-2), ganeti-haskell, ganeti-htools
+Depends: ganeti-#VER# (= ${source:Version}),
+ ganeti-haskell-#VER# (>= ${source:Version}),
+ ganeti-haskell-#VER# (<< ${source:Version}.1~),
+ ganeti-htools-#VER# (>= ${source:Version}),
+ ganeti-htools-#VER# (<< ${source:Version}.1~),
+ adduser, ${misc:Depends}
+Recommends: drbd8-utils (>= 8.0.7), qemu-kvm |
+ xen-linux-system-amd64 | xen-linux-system-686-pae,
+ ganeti-instance-debootstrap, ndisc6
+Suggests: ganeti-doc, blktap-dkms, molly-guard
+Conflicts: ganeti-htools
+Provides: ${python:Provides}, ganeti-htools
+Description: Cluster-based virtualization management software
+ Ganeti is a virtual server cluster management software tool built on top
+ of the Xen and KVM virtualization technologies and other Free Software. After
+ setting it up it will provide you with an automated environment to
+ manage highly available virtual machine instances.
+ .
+ It has been designed to facilitate cluster management of virtual servers
+ and to provide fast and simple recovery after physical failures using
+ commodity hardware.
+ .
+ It will take care of operations such as redundant disk creation and
+ management, operating system installation (in cooperation with OS-specific
+ install scripts), startup, shutdown, failover of instances between physical
+ systems.
+ .
+ This package installs the complete Ganeti system.
+
+Package: ganeti-#VER#
+Architecture: all
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, lvm2,
+ openssh-client, openssh-server, bridge-utils, iproute2 | iproute,
+ iputils-arping, openssl, python-simplejson, python-pyparsing, python-openssl,
+ python-pyinotify, python-pycurl, python-paramiko, python-bitarray,
+ python-ipaddr, python-fdsend, socat, fping, adduser, debconf | debconf-2.0
+Provides: ${python:Provides}
+Description: cluster virtualization manager - Python components
+ Ganeti is a virtual server cluster management tool built on top of the
+ Xen and KVM virtualization technologies and other free software. It
+ provides an automated environment to manage highly available virtual
+ machine instances.
+ .
+ It is designed to facilitate cluster management of virtual servers using
+ commodity hardware, and to provide fast and simple recovery after physical
+ failures. It can take care of operations such as redundant disk creation
+ and management, operating system installation (in cooperation with
+ OS-specific install scripts), startup, shutdown, and failover of instances
+ between physical systems.
+ .
+ This package provides all architecture-independent components of Ganeti #VER#.
+
+Package: ganeti-haskell-#VER#
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}, debconf | debconf-2.0
+Description: Cluster-based virtualization management software - Haskell components
+ Ganeti is a virtual server cluster management software tool built on top
+ of the Xen and KVM virtualization technologies and other Free Software. After
+ setting it up it will provide you with an automated environment to
+ manage highly available virtual machine instances.
+ .
+ It has been designed to facilitate cluster management of virtual servers
+ and to provide fast and simple recovery after physical failures using
+ commodity hardware.
+ .
+ It will take care of operations such as redundant disk creation and
+ management, operating system installation (in cooperation with OS-specific
+ install scripts), startup, shutdown, failover of instances between physical
+ systems.
+ .
+ This package provides the architecture-dependent components of Ganeti #VER#
+ written in Haskell.
+
+Package: ganeti-htools
+Architecture: all
+Depends: ${shlibs:Depends}, ${misc:Depends}, ganeti-htools-#VER#
+Breaks: ganeti2 (<< 2.4)
+Description: cluster virtualization manager - tools (stand-alone)
+ Ganeti is a virtual server cluster management tool built on top of the
+ Xen and KVM virtualization technologies and other free software. It
+ provides an automated environment to manage highly available virtual
+ machine instances.
+ .
+ This package provides additional tools used for enhanced allocation,
+ maintenance and capacity calculation on Ganeti clusters.
+ .
+ The tools provided are:
+  * hail: advanced instance allocator;
+  * harep: tool for automatically repairing Ganeti clusters;
+  * hbal: automatic cluster balancing tool;
+  * hinfo: print cluster information;
+  * hroller: rolling maintenance/reboot scheduler for Ganeti nodes;
+  * hscan: used to gather cluster files for offline use in hbal/hspace;
+  * hspace: cluster capacity calculator.
+ .
+ This package provides the version intended for stand-alone systems that
+ are not part of a Ganeti cluster.
+
+Package: ganeti-htools-#VER#
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: cluster virtualization manager - tools for Ganeti #VER#
+ Ganeti is a virtual server cluster management tool built on top of the
+ Xen and KVM virtualization technologies and other free software. It
+ provides an automated environment to manage highly available virtual
+ machine instances.
+ .
+ This package provides additional tools used for enhanced allocation,
+ maintenance and capacity calculation on Ganeti clusters.
+ .
+ The tools provided are:
+  * hail: advanced instance allocator;
+  * harep: tool for automatically repairing Ganeti clusters;
+  * hbal: automatic cluster balancing tool;
+  * hinfo: print cluster information;
+  * hroller: rolling maintenance/reboot scheduler for Ganeti nodes;
+  * hscan: used to gather cluster files for offline use in hbal/hspace;
+  * hspace: cluster capacity calculator.
+ .
+ This package provides the version intended for use on systems that are part
+ of a Ganeti #VER# cluster. On stand-alone systems, use ganeti-htools instead.
+
+Package: ganeti-doc
+Architecture: all
+Section: doc
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${sphinxdoc:Depends}
+Replaces: ganeti2 (<< 2.7.0-2)
+Breaks: ganeti2 (<< 2.7.0-2)
+Description: cluster virtualization manager - documentation
+ Ganeti is a virtual server cluster management tool built on top of the
+ Xen and KVM virtualization technologies and other free software. It
+ provides an automated environment to manage highly available virtual
+ machine instances.
+ .
+ It is designed to facilitate cluster management of virtual servers using
+ commodity hardware, and to provide fast and simple recovery after physical
+ failures. It can take care of operations such as redundant disk creation
+ and management, operating system installation (in cooperation with
+ OS-specific install scripts), startup, shutdown, and failover of instances
+ between physical systems.
+ .
+ This package provides the full HTML documentation for Ganeti.
+
+Package: python-ganeti-rapi
+Architecture: all
+Section: python
+Depends: ${python:Depends}, ${misc:Depends}, python-pycurl, python-simplejson
+Suggests: ganeti-doc
+Replaces: ganeti2 (<< 2.7.0-2)
+Breaks: ganeti2 (<< 2.7.0-2)
+Description: cluster virtualization manager - RAPI client library
+ Ganeti is a virtual server cluster management tool built on top of the
+ Xen and KVM virtualization technologies and other free software. It
+ provides an automated environment to manage highly available virtual
+ machine instances.
+ .
+ It is designed to facilitate cluster management of virtual servers using
+ commodity hardware, and to provide fast and simple recovery after physical
+ failures. It can take care of operations such as redundant disk creation
+ and management, operating system installation (in cooperation with
+ OS-specific install scripts), startup, shutdown, and failover of instances
+ between physical systems.
+ .
+ This package provides an RAPI (Remote API) client library for Python.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..78f042d
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,96 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: ganeti
+Source: http://code.google.com/p/ganeti
+
+Files: *
+Copyright: Copyright (c) 2006-2013 Google Inc.
+License: GPL-2+
+
+Files: debian/*
+Copyright: Copyright (c) 2007 Leonardo Rodrigues de Mello <l@lmello.eu.org>
+           Copyright (c) 2007-2013 Debian Ganeti Team <pkg-ganeti@lists.alioth.debian.org>
+License: GPL-2+
+
+Files: doc/html/_static/basic.css
+       doc/html/_static/default.css
+       doc/html/_static/doctools.js
+       doc/html/_static/searchtools.js
+       doc/html/_static/sidebar.js
+       doc/html/_static/websupport.js
+Copyright: Copyright 2007-2011 by the Sphinx team
+License: BSD
+
+Files: doc/html/_static/jquery.js
+Copyright: Copyright 2011, John Resig
+           Copyright 2011, The Dojo Foundation
+License: MIT
+
+Files: doc/html/_static/underscore.js
+Copyright: (c) 2011 Jeremy Ashkenas, DocumentCloud Inc.
+License: MIT
+
+License: BSD
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+ .
+ * Redistributions of source code must retain the above copyright
+   notice, this list of conditions and the following disclaimer.
+ .
+ * Redistributions in binary form must reproduce the above copyright
+   notice, this list of conditions and the following disclaimer in the
+   documentation and/or other materials provided with the distribution.
+ .
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+ A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+ OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+ SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+ LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+License: MIT
+ Permission is hereby granted, free of charge, to any person obtaining
+ a copy of this software and associated documentation files (the
+ "Software"), to deal in the Software without restriction, including
+ without limitation the rights to use, copy, modify, merge, publish,
+ distribute, sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so, subject to
+ the following conditions:
+ .
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+License: GPL-2+
+ This program is free software; you can redistribute it
+ and/or modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later
+ version.
+ .
+ This program is distributed in the hope that it will be
+ useful, but WITHOUT ANY WARRANTY; without even the implied
+ warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE.  See the GNU General Public License for more
+ details.
+ .
+ You should have received a copy of the GNU General Public
+ License along with this package; if not, write to the Free
+ Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ Boston, MA  02110-1301 USA
+ .
+ On Debian systems, the full text of the GNU General Public
+ License version 2 can be found in the file
+ `/usr/share/common-licenses/GPL-2'.
diff --git a/debian/docs b/debian/docs
new file mode 100644
index 0000000..9eafbe1
--- /dev/null
+++ b/debian/docs
@@ -0,0 +1,2 @@
+README
+NEWS
diff --git a/debian/ganeti-2.10.install b/debian/ganeti-2.10.install
new file mode 100644
index 0000000..c06b1d8
--- /dev/null
+++ b/debian/ganeti-2.10.install
@@ -0,0 +1,5 @@
+usr/share/ganeti/2.10
+usr/lib/ganeti/2.10/usr/lib/ganeti
+usr/lib/ganeti/2.10/usr/sbin/ganeti-cleaner
+usr/lib/ganeti/2.10/usr/sbin/ganeti-listrunner
+debian/molly-guard-helper usr/share/ganeti/2.10/
diff --git a/debian/ganeti-2.10.lintian-overrides b/debian/ganeti-2.10.lintian-overrides
new file mode 100644
index 0000000..04dbdff
--- /dev/null
+++ b/debian/ganeti-2.10.lintian-overrides
@@ -0,0 +1,3 @@
+# We only use debconf during prerm to interactively abort installation of
+# packages that are still in use.
+ganeti-2.10: no-debconf-config
diff --git a/debian/ganeti-2.10.postinst b/debian/ganeti-2.10.postinst
new file mode 100644
index 0000000..0ae7a18
--- /dev/null
+++ b/debian/ganeti-2.10.postinst
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -e
+
+. /usr/share/debconf/confmodule
+
+#DEBHELPER#
diff --git a/debian/ganeti-2.10.prerm b/debian/ganeti-2.10.prerm
new file mode 100644
index 0000000..b85abe3
--- /dev/null
+++ b/debian/ganeti-2.10.prerm
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "remove" ]; then
+	. /usr/share/debconf/confmodule
+
+	if [ /usr/lib/ganeti/default -ef /usr/lib/ganeti/2.10 ]; then
+	       db_version 2.0
+	       db_fset ganeti-2.10/abort-removal seen false
+	       db_subst ganeti-2.10/abort-removal version 2.10
+	       db_subst ganeti-2.10/abort-removal package ganeti-2.10
+	       db_input critical ganeti-2.10/abort-removal
+	       db_go
+	       db_get ganeti-2.10/abort-removal
+
+	       if [ "$RET" = "true" ]; then
+		       echo "Aborting removal on user request"
+		       exit 1;
+	       fi
+	fi
+fi
+
+#DEBHELPER#
diff --git a/debian/ganeti-2.10.templates b/debian/ganeti-2.10.templates
new file mode 100644
index 0000000..3541fcf
--- /dev/null
+++ b/debian/ganeti-2.10.templates
@@ -0,0 +1,13 @@
+Template: ganeti-2.10/abort-removal
+Type: boolean
+Default: true
+_Description: Abort ${package} removal?
+ You are attempting to remove ${package}, but it seems that the running Ganeti
+ version is still ${version}.
+ .
+ This can happen if you upgrade the ganeti package to a new minor version, but
+ have not run `gnt-cluster upgrade' yet. Removing ${package} will cause Ganeti to
+ stop functioning correctly.
+ .
+ It is highly recommended to abort removal now and upgrade your cluster before
+ removing ${package}.
diff --git a/debian/ganeti-doc.dirs b/debian/ganeti-doc.dirs
new file mode 100644
index 0000000..cefcd5a
--- /dev/null
+++ b/debian/ganeti-doc.dirs
@@ -0,0 +1 @@
+/usr/share/doc/ganeti-doc
diff --git a/debian/ganeti-doc.doc-base b/debian/ganeti-doc.doc-base
new file mode 100644
index 0000000..35bb1d2
--- /dev/null
+++ b/debian/ganeti-doc.doc-base
@@ -0,0 +1,8 @@
+Document: ganeti
+Title: Ganeti manual
+Abstract: This manual describes installation, administration and general use aspects of Ganeti
+Section: System/Administration
+
+Format: HTML
+Index: /usr/share/doc/ganeti-doc/html/index.html
+Files: /usr/share/doc/ganeti-doc/html/*.html
diff --git a/debian/ganeti-doc.docs b/debian/ganeti-doc.docs
new file mode 100644
index 0000000..0bd3136
--- /dev/null
+++ b/debian/ganeti-doc.docs
@@ -0,0 +1 @@
+doc/html
diff --git a/debian/ganeti-haskell-2.10.install b/debian/ganeti-haskell-2.10.install
new file mode 100644
index 0000000..af1aa2a
--- /dev/null
+++ b/debian/ganeti-haskell-2.10.install
@@ -0,0 +1,4 @@
+usr/lib/ganeti/2.10/usr/sbin/ganeti-confd
+usr/lib/ganeti/2.10/usr/sbin/ganeti-mond
+usr/lib/ganeti/2.10/usr/sbin/ganeti-luxid
+usr/lib/ganeti/2.10/usr/lib/ganeti/mon-collector
diff --git a/debian/ganeti-haskell-2.10.lintian-overrides b/debian/ganeti-haskell-2.10.lintian-overrides
new file mode 100644
index 0000000..81ea258
--- /dev/null
+++ b/debian/ganeti-haskell-2.10.lintian-overrides
@@ -0,0 +1,8 @@
+ganeti-haskell-2.10: hardening-no-fortify-functions usr/lib/ganeti/2.10/usr/sbin/ganeti-confd
+ganeti-haskell-2.10: hardening-no-fortify-functions usr/lib/ganeti/2.10/usr/sbin/ganeti-luxid
+ganeti-haskell-2.10: hardening-no-fortify-functions usr/lib/ganeti/2.10/usr/sbin/ganeti-mond
+ganeti-haskell-2.10: hardening-no-fortify-functions usr/lib/ganeti/2.10/usr/lib/ganeti/mon-collector
+
+# We only use debconf during prerm to interactively abort installation of
+# packages that are still in use.
+ganeti-haskell-2.10: no-debconf-config
diff --git a/debian/ganeti-haskell-2.10.postinst b/debian/ganeti-haskell-2.10.postinst
new file mode 100644
index 0000000..0ae7a18
--- /dev/null
+++ b/debian/ganeti-haskell-2.10.postinst
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -e
+
+. /usr/share/debconf/confmodule
+
+#DEBHELPER#
diff --git a/debian/ganeti-haskell-2.10.prerm b/debian/ganeti-haskell-2.10.prerm
new file mode 100644
index 0000000..032397c
--- /dev/null
+++ b/debian/ganeti-haskell-2.10.prerm
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "remove" ]; then
+	. /usr/share/debconf/confmodule
+
+	if [ /usr/lib/ganeti/default -ef /usr/lib/ganeti/2.10 ]; then
+	       db_version 2.0
+	       db_fset ganeti-haskell-2.10/abort-removal seen false
+	       db_subst ganeti-haskell-2.10/abort-removal version 2.10
+	       db_subst ganeti-haskell-2.10/abort-removal package ganeti-haskell-2.10
+	       db_input critical ganeti-haskell-2.10/abort-removal
+	       db_go
+	       db_get ganeti-haskell-2.10/abort-removal
+
+	       if [ "$RET" = "true" ]; then
+		       echo "Aborting removal on user request"
+		       exit 1;
+	       fi
+	fi
+fi
+
+#DEBHELPER#
diff --git a/debian/ganeti-haskell-2.10.templates b/debian/ganeti-haskell-2.10.templates
new file mode 100644
index 0000000..7443b86
--- /dev/null
+++ b/debian/ganeti-haskell-2.10.templates
@@ -0,0 +1,13 @@
+Template: ganeti-haskell-2.10/abort-removal
+Type: boolean
+Default: true
+_Description: Abort ${package} removal?
+ You are attempting to remove ${package}, but it seems that the running Ganeti
+ version is still ${version}.
+ .
+ This can happen if you upgrade the ganeti package to a new minor version, but
+ have not run `gnt-cluster upgrade' yet. Removing ${package} will cause Ganeti to
+ stop functioning correctly.
+ .
+ It is highly recommended to abort removal now and upgrade your cluster before
+ removing ${package}.
diff --git a/debian/ganeti-htools-2.10.install b/debian/ganeti-htools-2.10.install
new file mode 100644
index 0000000..ab2179a
--- /dev/null
+++ b/debian/ganeti-htools-2.10.install
@@ -0,0 +1,3 @@
+usr/lib/ganeti/2.10/usr/bin
+usr/share/ganeti/2.10/root/usr/share/man/man1/h*
+usr/lib/ganeti/2.10/usr/lib/ganeti/iallocators/hail
diff --git a/debian/ganeti-htools-2.10.lintian-overrides b/debian/ganeti-htools-2.10.lintian-overrides
new file mode 100644
index 0000000..69d0fab
--- /dev/null
+++ b/debian/ganeti-htools-2.10.lintian-overrides
@@ -0,0 +1,5 @@
+ganeti-htools-2.10: hardening-no-fortify-functions usr/lib/ganeti/2.10/usr/bin/htools
+
+# We only use debconf during prerm to interactively abort installation of
+# packages that are still in use.
+ganeti-htools-2.10: no-debconf-config
diff --git a/debian/ganeti-htools-2.10.postinst b/debian/ganeti-htools-2.10.postinst
new file mode 100644
index 0000000..0ae7a18
--- /dev/null
+++ b/debian/ganeti-htools-2.10.postinst
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -e
+
+. /usr/share/debconf/confmodule
+
+#DEBHELPER#
diff --git a/debian/ganeti-htools-2.10.prerm b/debian/ganeti-htools-2.10.prerm
new file mode 100644
index 0000000..eaa052f
--- /dev/null
+++ b/debian/ganeti-htools-2.10.prerm
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "remove" ]; then
+	. /usr/share/debconf/confmodule
+
+	if [ /usr/lib/ganeti/default -ef /usr/lib/ganeti/2.10 ]; then
+	       db_version 2.0
+	       db_fset ganeti-htools-2.10/abort-removal seen false
+	       db_subst ganeti-htools-2.10/abort-removal version 2.10
+	       db_subst ganeti-htools-2.10/abort-removal package ganeti-htools-2.10
+	       db_input critical ganeti-htools-2.10/abort-removal
+	       db_go
+	       db_get ganeti-htools-2.10/abort-removal
+
+	       if [ "$RET" = "true" ]; then
+		       echo "Aborting removal on user request"
+		       exit 1;
+	       fi
+	fi
+fi
+
+#DEBHELPER#
diff --git a/debian/ganeti-htools-2.10.templates b/debian/ganeti-htools-2.10.templates
new file mode 100644
index 0000000..92304b6
--- /dev/null
+++ b/debian/ganeti-htools-2.10.templates
@@ -0,0 +1,13 @@
+Template: ganeti-htools-2.10/abort-removal
+Type: boolean
+Default: true
+_Description: Abort ${package} removal?
+ You are attempting to remove ${package}, but it seems that the running Ganeti
+ version is still ${version}.
+ .
+ This can happen if you upgrade the ganeti package to a new minor version, but
+ have not run `gnt-cluster upgrade' yet. Removing ${package} will cause Ganeti to
+ stop functioning correctly.
+ .
+ It is highly recommended to abort removal now and upgrade your cluster before
+ removing ${package}.
diff --git a/debian/ganeti-htools.dirs b/debian/ganeti-htools.dirs
new file mode 100644
index 0000000..51017b7
--- /dev/null
+++ b/debian/ganeti-htools.dirs
@@ -0,0 +1,2 @@
+usr/bin
+usr/lib/ganeti/iallocators
diff --git a/debian/ganeti-htools.install b/debian/ganeti-htools.install
new file mode 100644
index 0000000..6ae9731
--- /dev/null
+++ b/debian/ganeti-htools.install
@@ -0,0 +1,3 @@
+usr/bin/h*
+usr/share/man/man1/h*
+usr/lib/ganeti/iallocators/hail
diff --git a/debian/ganeti.bash-completion b/debian/ganeti.bash-completion
new file mode 100644
index 0000000..65e7f19
--- /dev/null
+++ b/debian/ganeti.bash-completion
@@ -0,0 +1 @@
+doc/examples/bash_completion	ganeti
diff --git a/debian/ganeti.dirs b/debian/ganeti.dirs
new file mode 100644
index 0000000..c0b05fb
--- /dev/null
+++ b/debian/ganeti.dirs
@@ -0,0 +1,6 @@
+etc/ganeti
+etc/molly-guard/run.d
+usr/lib/ganeti/iallocators
+usr/share/ganeti/extstorage
+var/lib/ganeti
+var/log/ganeti
diff --git a/debian/ganeti.docs b/debian/ganeti.docs
new file mode 100644
index 0000000..edc0071
--- /dev/null
+++ b/debian/ganeti.docs
@@ -0,0 +1 @@
+NEWS
diff --git a/debian/ganeti.install b/debian/ganeti.install
new file mode 100644
index 0000000..ff79265
--- /dev/null
+++ b/debian/ganeti.install
@@ -0,0 +1,6 @@
+usr/bin
+usr/sbin
+usr/lib/ganeti
+usr/share/man
+usr/share/ganeti/default
+debian/15-ganeti etc/molly-guard/run.d
diff --git a/debian/ganeti.lintian-overrides b/debian/ganeti.lintian-overrides
new file mode 100644
index 0000000..01da608
--- /dev/null
+++ b/debian/ganeti.lintian-overrides
@@ -0,0 +1,2 @@
+ganeti binary: hyphen-used-as-minus-sign
+ganeti binary: package-contains-empty-directory usr/lib/ganeti/iallocators/
diff --git a/debian/ganeti.logrotate b/debian/ganeti.logrotate
new file mode 100644
index 0000000..5f8a089
--- /dev/null
+++ b/debian/ganeti.logrotate
@@ -0,0 +1,14 @@
+/var/log/ganeti/*.log {
+        weekly
+        missingok
+        rotate 52
+        notifempty
+        compress
+        delaycompress
+        create 640
+        sharedscripts
+        su root root
+        postrotate
+                /usr/lib/ganeti/daemon-util rotate-all-logs
+        endscript
+}
diff --git a/debian/ganeti.postinst.in b/debian/ganeti.postinst.in
new file mode 100644
index 0000000..f33e381
--- /dev/null
+++ b/debian/ganeti.postinst.in
@@ -0,0 +1,105 @@
+#!/bin/sh
+# postinst script for ganeti
+
+set -e
+
+# summary of how this script can be called:
+#        * <postinst> `configure' <most-recently-configured-version>
+#        * <old-postinst> `abort-upgrade' <new version>
+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+#          <new-version>
+#        * <postinst> `abort-remove'
+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+#          <failed-install-package> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    configure)
+#GANETI_USERS#
+
+	update_symlinks=0
+	# Handle symlinks...
+	# ... if we are upgrading from pre-2.10 versions
+	if [ -n "$2" ] && dpkg --compare-versions "$2" lt 2.10.0; then
+		update_symlinks=1
+
+	# ... or if we are not part of a cluster
+	elif ! /usr/lib/ganeti/@VER@/usr/lib/ganeti/daemon-util check-config 2>/dev/null; then
+		update_symlinks=1
+
+	# ... or if something is broken
+	elif [ ! -e /etc/ganeti/lib -o ! -e /etc/ganeti/share ]; then
+		update_symlinks=1
+	fi
+
+	if [ "$update_symlinks" = 1 ]; then
+		for target in lib share; do
+			if [ "$(readlink /etc/ganeti/${target})" != "/usr/${target}/ganeti/@VER@" ]; then
+				echo "Linking /etc/ganeti/${target} to /usr/${target}/ganeti/@VER@"
+				ln -snf /usr/${target}/ganeti/@VER@ /etc/ganeti/${target}
+			fi
+		done
+	fi
+
+	# Restart the service if we have either updated the symlinks, or
+	# shipped the same minor version. We only stop the service here and
+	# let the debhelper snippet below start it again.
+	if [ "$update_symlinks" = 1 -o "${2%.*}" = "@VER@" ]; then
+		if [ -x "/etc/init.d/ganeti" ]; then
+			invoke-rc.d ganeti stop || true
+		fi
+	fi
+
+	# Work around bugs of older (pre 2.9) versions. In this case all
+	# daemons have already been stopped by the old package's prerm.
+	if [ -n "$2" ] && dpkg --compare-versions "$2" lt 2.9.0; then
+		# Since 2.9.0, mond runs as root, so remove the old gnt-mond user (that
+		# was also created during 2.9.0~rcX.
+		if getent passwd gnt-mond >/dev/null; then
+			find /var/log/ganeti -user gnt-mond -exec chown root:root {} \;
+			deluser --system gnt-mond || true
+		fi
+
+		# Remove stale PID files
+		# Ganeti versions prior to 2.8.0~rc4 leave Haskell daemon pidfiles
+		# behind. If these are root-owned, starting the daemons as unprivileged
+		# users will fail.
+
+		# All daemons have been stopped, so it's safe to remove
+		# their PID files.
+		for daemon in confd mond luxid; do
+			rm -f /var/run/ganeti/ganeti-${daemon}.pid
+		done
+
+		# Also remove luxid's socket
+		rm -f /var/run/ganeti/socket/ganeti-query
+	fi
+
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+# Fix jobqueue archive permissions
+# This may take a while, so we only do this if necessary
+find /var/lib/ganeti/queue/archive -mindepth 1 -maxdepth 1 \
+		-type d -not -user "@GNTMASTERUSER@" 2>/dev/null | while read dirname; do
+	/usr/lib/ganeti/ensure-dirs --full-run
+	break
+done
+
+exit 0
diff --git a/debian/ganeti.postrm.in b/debian/ganeti.postrm.in
new file mode 100644
index 0000000..f4d2209
--- /dev/null
+++ b/debian/ganeti.postrm.in
@@ -0,0 +1,43 @@
+#!/bin/sh
+# postrm script for ganeti
+#
+
+set -e
+
+# summary of how this script can be called:
+#        * <postrm> `remove'
+#        * <postrm> `purge'
+#        * <old-postrm> `upgrade' <new-version>
+#        * <new-postrm> `failed-upgrade' <old-version>
+#        * <new-postrm> `abort-install'
+#        * <new-postrm> `abort-install' <old-version>
+#        * <new-postrm> `abort-upgrade' <old-version>
+#        * <disappearer's-postrm> `disappear' <overwriter>
+#          <overwriter-version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    purge)
+	#GANETI_USERS#
+    ;;
+    remove)
+	rm -f /etc/ganeti/share /etc/ganeti/lib
+    ;;
+    remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
+    ;;
+
+    *)
+        echo "postrm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+~                                              
diff --git a/debian/ganeti2.dirs b/debian/ganeti2.dirs
new file mode 100644
index 0000000..c44eb6b
--- /dev/null
+++ b/debian/ganeti2.dirs
@@ -0,0 +1,3 @@
+/etc/ganeti
+/var/log/ganeti
+/var/lib/ganeti
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644
index 0000000..4abadbb
--- /dev/null
+++ b/debian/gbp.conf
@@ -0,0 +1,9 @@
+[DEFAULT]
+sign-tags = True
+pristine-tar = True
+debian-branch=bpo-wheezy
+
+[git-buildpackage]
+export-dir = ../build-area/
+tarball-dir = ../tarballs/
+dist = wheezy
diff --git a/debian/genscript.py b/debian/genscript.py
new file mode 100755
index 0000000..42c9cb1
--- /dev/null
+++ b/debian/genscript.py
@@ -0,0 +1,61 @@
+#!/usr/bin/python
+
+# Generate postinst/postrm for ganeti using doc/users/*
+
+import os
+import sys
+
+
+def read_list(fname):
+    with open(fname, "r") as f:
+        return [ l.strip() for l in f ]
+
+def read_pairs(fname):
+    with open(fname, "r") as f:
+        return [ l.strip().split(None, 1) for l in f ]
+
+if len(sys.argv) != 3 or sys.argv[1] not in ('postinst', 'postrm'):
+    sys.stderr.write("Usage: %s postinst|postrm DIR\n" % sys.argv[0])
+    sys.exit(1)
+
+root = os.path.join(sys.argv[2], 'doc/users')
+debian_root = os.path.dirname(__file__)
+
+out = ""
+if sys.argv[1] == "postinst":
+    out += "\t# Groups\n"
+    for group in read_list(os.path.join(root, "groups")):
+        out += "\taddgroup --quiet --system \"%s\"\n" % group
+    out += "\n"
+
+    out += "\t# Users\n"
+    for user, group in read_pairs(os.path.join(root, "users")):
+        out += "\tadduser --quiet --system --ingroup \"%s\" --no-create-home" \
+               " --disabled-password --disabled-login" \
+               " --home /var/lib/ganeti \"%s\"\n" % (group, user)
+    out += "\n"
+
+    out += "\t# Group memberships\n"
+    for user, group in read_pairs(os.path.join(root, "groupmemberships")):
+        out += "\tadduser --quiet \"%s\" \"%s\"\n" % (user, group)
+
+elif sys.argv[1] == "postrm":
+    out += "\t# Users\n"
+    for user, _ in read_pairs(os.path.join(root, "users")):
+        out += "\tdeluser --quiet --system \"%s\" || true\n" % user
+    out += "\n"
+
+    out += "\t# Groups\n"
+    for group in read_list(os.path.join(root, "groups")):
+        out += "\tdelgroup --quiet --system \"%s\" || true\n" % group
+    out += "\n"
+
+
+with open(os.path.join(debian_root, "ganeti.%s.in" % sys.argv[1])) as script:
+    done = False
+    for line in script:
+        if line.strip() == "#GANETI_USERS#" and not done:
+            sys.stdout.write(out)
+            done = True
+        else:
+            sys.stdout.write(line)
diff --git a/debian/molly-guard-helper b/debian/molly-guard-helper
new file mode 100755
index 0000000..b8a7d72
--- /dev/null
+++ b/debian/molly-guard-helper
@@ -0,0 +1,96 @@
+#!/usr/bin/python
+#
+# molly-guard helper script to detect running Ganeti instances.
+#
+# Copyright (c) 2014 Apollon Oikonomopoulos <apoikos@debian.org>
+#
+# This program is free software; you can redistribute it
+# and/or modify it under the terms of the GNU General Public
+# License as published by the Free Software Foundation; either
+# version 2 of the License, or (at your option) any later
+# version.
+#
+# This program is distributed in the hope that it will be
+# useful, but WITHOUT ANY WARRANTY; without even the implied
+# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+# PURPOSE.  See the GNU General Public License for more
+# details.
+#
+# You should have received a copy of the GNU General Public
+# License along with this package; if not, write to the Free
+# Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+# Boston, MA  02110-1301 USA
+#
+
+import os
+import sys
+import signal
+import socket
+
+
+try:
+    from ganeti.ssconf import SimpleStore
+    from ganeti.hypervisor import GetHypervisor
+    from ganeti.errors import HypervisorError, ConfigurationError
+except ImportError:
+    sys.stderr.write("W: unable to import Ganeti code\n")
+    sys.exit(0)
+
+
+def sigh(action, hostname):
+    """ Exit with an error code to prevent system shutdown/reboot """
+    sys.stdout.write("Good thing I asked; I won't %s %s ...\n" %
+                     (action, hostname))
+    sys.exit(1)
+
+
+def main():
+    action = os.environ.get("MOLLYGUARD_CMD", "?")
+    hostname = socket.gethostname()
+
+    for sig in (signal.SIGHUP, signal.SIGTERM, signal.SIGQUIT):
+        signal.signal(sig, lambda frame, stack: sigh(action, hostname))
+
+    conf = SimpleStore()
+
+    instances = []
+    try:
+        enabled_hvs = conf.GetHypervisorList()
+    except ConfigurationError:
+        # Cluster is probably not initialized
+        sys.stderr.write("W: failed to get hypervisor list"
+                         " (not part of a cluster?)\n")
+        sys.exit(0)
+
+    for hv_type in enabled_hvs:
+        hv = GetHypervisor(hv_type)
+
+        try:
+            instances += hv.ListInstances()
+        except HypervisorError as err:
+            sys.stderr.write("W: unable to list %s instances: %s\n" %
+                             (hv_type, str(err)))
+
+    if instances:
+        sys.stdout.write("W: The following Ganeti instances will be"
+                         " terminated abnormally if you %s this system:\n" %
+                         action)
+        for instance in sorted(instances):
+            sys.stdout.write("   - %s\n" % instance)
+
+        try:
+            response = raw_input("Type YES to %s the system: " % action)
+        except KeyboardInterrupt:
+            sigh(action, hostname)
+
+        if response.lower().strip() != "yes":
+            sigh(action, hostname)
+
+    sys.exit(0)
+
+
+if __name__ == "__main__":
+    if not sys.stdin.isatty():
+        sys.exit(0)
+
+    main()
diff --git a/debian/patches/0003-Disable-local-checks-during-build.patch b/debian/patches/0003-Disable-local-checks-during-build.patch
new file mode 100644
index 0000000..e5f5a4e
--- /dev/null
+++ b/debian/patches/0003-Disable-local-checks-during-build.patch
@@ -0,0 +1,24 @@
+From: Apollon Oikonomopoulos <apoikos@gmail.com>
+Date: Fri, 12 Jul 2013 22:11:26 +0300
+Subject: Disable local checks during build
+
+check-local runs a series of tests clearly intended for the local developer's
+machines that give false positives e.g. because of the presense of debian/.
+
+Forwarded: no
+Last-Update: 2013-07-12
+---
+ Makefile.in |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -3142,7 +3142,7 @@
+ 	       exit 1; } >&2
+ check-am: all-am
+ 	$(MAKE) $(AM_MAKEFLAGS) $(check_SCRIPTS)
+-	$(MAKE) $(AM_MAKEFLAGS) check-TESTS check-local
++	$(MAKE) $(AM_MAKEFLAGS) check-TESTS
+ check: check-am
+ all-am: Makefile $(SCRIPTS) $(MANS) $(DATA)
+ installdirs:
diff --git a/debian/patches/cfgupgrade12-remove-old-ssconf.patch b/debian/patches/cfgupgrade12-remove-old-ssconf.patch
new file mode 100644
index 0000000..fced23d
--- /dev/null
+++ b/debian/patches/cfgupgrade12-remove-old-ssconf.patch
@@ -0,0 +1,19 @@
+Description: Remove obsolete ssconf files
+  Debian packaging relies on obsolete ssconf files to detect whether the
+  upgrade has completed or not; this is not needed for upstream,
+  although it is a good cleanup
+Author: Iustin Pop <iustin@debian.org>
+Last-Update: 2010-10-24
+--- a/tools/cfgupgrade12
++++ b/tools/cfgupgrade12
+@@ -407,6 +407,10 @@
+         logging.debug("Writing RAPI certificate to %s", options.RAPI_CERT_FILE)
+         utils.GenerateSelfSignedSslCert(options.RAPI_CERT_FILE)
+ 
++      ss_hyp = SsconfName('hypervisor')
++      if os.path.exists(ss_hyp):
++        utils.RemoveFile(ss_hyp)
++
+   except:
+     logging.critical("Writing configuration failed. It is probably in an"
+                      " inconsistent state and needs manual intervention.")
diff --git a/debian/patches/fix-startup-with-old-config.patch b/debian/patches/fix-startup-with-old-config.patch
new file mode 100644
index 0000000..4cb61b0
--- /dev/null
+++ b/debian/patches/fix-startup-with-old-config.patch
@@ -0,0 +1,24 @@
+Description: The upgrade from Ganeti 1.2 makes the init script abort with
+ ugly messages, so we edit the init script to exit early in this case.
+Forwarded: no
+Author: Iustin Pop <iusty@k1024.org>
+Last-Update: 2009-12-04
+--- a/doc/examples/ganeti.initd.in
++++ b/doc/examples/ganeti.initd.in
+@@ -68,6 +68,16 @@
+ }
+ 
+ start_all() {
++    for fname in \
++        "@LOCALSTATEDIR@/lib/ganeti/ssconf_hypervisor"
++    do
++        if [ -f "$fname" ]; then
++            log_end_msg 0
++            log_warning_msg "Configuration not upgraded to 2.0, will not run."
++            exit 1
++        fi
++    done
++
+     if ! $DAEMON_UTIL check-config; then
+         log_warning_msg "Incomplete configuration, will not run."
+         exit 0
diff --git a/debian/patches/pass-ghc-linker-flags.patch b/debian/patches/pass-ghc-linker-flags.patch
new file mode 100644
index 0000000..17696f6
--- /dev/null
+++ b/debian/patches/pass-ghc-linker-flags.patch
@@ -0,0 +1,16 @@
+Author: Apollon Oikonomopoulos <apoikos@gmail.com>
+Description: Pass linker flags to GHC
+ Enable hardening (relro) and as-needed
+
+Forwarded: no
+Last-Update: 2013-11-01
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -904,6 +904,7 @@
+ 	-O -Wall -Werror -isrc \
+ 	-fwarn-monomorphism-restriction \
+ 	-fwarn-tabs \
++        -optl -Wl,-z,relro -optl -Wl,--as-needed \
+ 	$(GHC_BYVERSION_FLAGS)
+ 
+ 
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..e82830b
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,4 @@
+fix-startup-with-old-config.patch
+cfgupgrade12-remove-old-ssconf.patch
+0003-Disable-local-checks-during-build.patch
+pass-ghc-linker-flags.patch
diff --git a/debian/po/POTFILES.in b/debian/po/POTFILES.in
new file mode 100644
index 0000000..8d7c3bd
--- /dev/null
+++ b/debian/po/POTFILES.in
@@ -0,0 +1 @@
+[type: gettext/rfc822deb] templates/versioned.templates
diff --git a/debian/po/da.po b/debian/po/da.po
new file mode 100644
index 0000000..27f6d65
--- /dev/null
+++ b/debian/po/da.po
@@ -0,0 +1,55 @@
+# Danish translation ganeti.
+# Copyright (C) 2014 ganeti og nedenstående oversættere.
+# This file is distributed under the same license as the ganeti package.
+# Joe Hansen <joedalton2@yahoo.dk>, 2014.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: ganeti\n"
+"Report-Msgid-Bugs-To: ganeti@packages.debian.org\n"
+"POT-Creation-Date: 2014-04-08 08:41+0200\n"
+"PO-Revision-Date: 2014-03-21 23:51+0200\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
+"Language-Team: Danish <debian-l10n-danish@lists.debian.org>\n"
+"Language: da\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+msgid "Abort ${package} removal?"
+msgstr "Om fjernelse af ${package}?"
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+msgid ""
+"You are attempting to remove ${package}, but it seems that the running "
+"Ganeti version is still ${version}."
+msgstr ""
+"Du forsøger at fjerne ${package}, men det ser ud til, at den kørende "
+"Ganetiversion stadig er ${version}."
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+msgid ""
+"This can happen if you upgrade the ganeti package to a new minor version, "
+"but have not run \"gnt-cluster upgrade\" yet. Removing ${package} will cause "
+"Ganeti to stop functioning correctly."
+msgstr ""
+"Dette kan ske, hvis du opgraderer pakken ganeti til en ny mindre version, "
+"men endnu ikke har kørt »gnt-cluster upgrade«. Fjernelse af ${package} "
+"vil medføre at Ganeti stopper med at fungere korrekt."
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+msgid ""
+"It is highly recommended to abort the removal now and upgrade the cluster "
+"before removing ${package}."
+msgstr ""
+"Det anbefales på det kraftigste at afbryde fjernelsen nu og opgradere "
+"klyngen før fjernelse af ${package}."
diff --git a/debian/po/el.po b/debian/po/el.po
new file mode 100644
index 0000000..daea72a
--- /dev/null
+++ b/debian/po/el.po
@@ -0,0 +1,63 @@
+# Ganeti debconf templates
+# Copyright (C) 2014 Debian Ganeti Packaging Team <pkg-ganeti-devel@lists.alioth.debian.org>
+# This file is distributed under the same license as the ganeti package.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: ganeti\n"
+"Report-Msgid-Bugs-To: ganeti@packages.debian.org\n"
+"POT-Creation-Date: 2014-04-08 08:41+0200\n"
+"PO-Revision-Date: 2014-03-06 20:00+0200\n"
+"Last-Translator: Apollon Oikonomopoulos <apoikos@debian.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+msgid "Abort ${package} removal?"
+msgstr "Διακοπή απεγκατάστασης του ${package};"
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+msgid ""
+"You are attempting to remove ${package}, but it seems that the running "
+"Ganeti version is still ${version}."
+msgstr ""
+"Επιχειρείτε να αφαιρέσετε το πακέτο ${package}, ωστόσο φαίνεται ότι η έκδοση "
+"του Ganeti που τρέχει είναι ακόμα η ${version}."
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+#, fuzzy
+#| msgid ""
+#| "This can happen if you upgrade the ganeti package to a new minor version, "
+#| "but have not run `gnt-cluster upgrade' yet. Removing ${package} will "
+#| "cause Ganeti to stop functioning correctly."
+msgid ""
+"This can happen if you upgrade the ganeti package to a new minor version, "
+"but have not run \"gnt-cluster upgrade\" yet. Removing ${package} will cause "
+"Ganeti to stop functioning correctly."
+msgstr ""
+"Αυτό μπορεί να συμβαίνει επειδή αναβαθμίσατε το πακέτο ganeti σε νέα έκδοση, "
+"αλλά δεν έχετε ακόμα εκτελέσει `gnt-cluster upgrade'. Αν απεγκαταστήσετε το "
+"${package}, το Ganeti δε θα λειτουργεί σωστά."
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+#, fuzzy
+#| msgid ""
+#| "It is highly recommended to abort removal now and upgrade your cluster "
+#| "before removing ${package}."
+msgid ""
+"It is highly recommended to abort the removal now and upgrade the cluster "
+"before removing ${package}."
+msgstr ""
+"Σας συνιστούμε να διακόψετε τώρα την απεγκατάσταση και να αναβαθμίσετε το "
+"cluster σας πρωτού απεγκαταστήσετε το ${package}."
diff --git a/debian/po/es.po b/debian/po/es.po
new file mode 100644
index 0000000..1fc95e6
--- /dev/null
+++ b/debian/po/es.po
@@ -0,0 +1,81 @@
+# ganeti po-debconf translation to Spanish
+# Copyright (C) 2014 Software in the Public Interest
+# This file is distributed under the same license as the ganeti package.
+# 
+# Changes:
+# - Initial translation
+# Camaleón <noelamac@gmail.com>, 2014.
+# 
+# - Updates
+# 
+# 
+# Traductores, si no conocen el formato PO, merece la pena leer la
+# documentación de gettext, especialmente las secciones dedicadas a este
+# formato, por ejemplo ejecutando:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+# 
+# Equipo de traducción al español, por favor lean antes de traducir
+# los siguientes documentos:
+# 
+# - El proyecto de traducción de Debian al español
+# http://www.debian.org/intl/spanish/
+# especialmente las notas y normas de traducción en
+# http://www.debian.org/intl/spanish/notas
+# 
+# - La guía de traducción de po's de debconf:
+# /usr/share/doc/po-debconf/README-trans
+# o http://www.debian.org/intl/l10n/po-debconf/README-trans
+# 
+msgid ""
+msgstr ""
+"Project-Id-Version: ganeti\n"
+"Report-Msgid-Bugs-To: ganeti@packages.debian.org\n"
+"POT-Creation-Date: 2014-04-08 08:41+0200\n"
+"PO-Revision-Date: 2014-04-09 16:36+0200\n"
+"Last-Translator: Camaleón <noelamac@gmail.com>\n"
+"Language-Team: Debian Spanish <debian-l10n-spanish@lists.debian.org>\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Virtaal 0.7.1\n"
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+msgid "Abort ${package} removal?"
+msgstr "¿Desea abortar la eliminación de ${package}?"
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+msgid ""
+"You are attempting to remove ${package}, but it seems that the running "
+"Ganeti version is still ${version}."
+msgstr ""
+"Está intentando eliminar ${package} pero parece que la versión de Ganeti en "
+"ejecución es aún la ${version}."
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+msgid ""
+"This can happen if you upgrade the ganeti package to a new minor version, "
+"but have not run \"gnt-cluster upgrade\" yet. Removing ${package} will cause "
+"Ganeti to stop functioning correctly."
+msgstr ""
+"Esto puede suceder cuando actualiza el paquete ganeti a una versión menor y "
+"todavía no ha ejecutado «gnt-cluster upgrade». Si elimina ${package}, Ganeti "
+"no funcionará correctamente."
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+msgid ""
+"It is highly recommended to abort the removal now and upgrade the cluster "
+"before removing ${package}."
+msgstr ""
+"Se recomienda encarecidamente que aborte ahora y actualice el clúster antes "
+"de eliminar ${package}."
diff --git a/debian/po/fr.po b/debian/po/fr.po
new file mode 100644
index 0000000..df4d437
--- /dev/null
+++ b/debian/po/fr.po
@@ -0,0 +1,57 @@
+# Translation to french of Ganeti debconf templates.
+# Copyright (C) 2014, French l10n team <debian-l10n-french@lists.debian.org>
+# This file is distributed under the same license as the ganeti package.
+#
+# Julien Patriarca <leatherface@debian.org>, 2014.
+msgid ""
+msgstr ""
+"Project-Id-Version: ganeti\n"
+"Report-Msgid-Bugs-To: ganeti@packages.debian.org\n"
+"POT-Creation-Date: 2014-04-08 08:41+0200\n"
+"PO-Revision-Date: 2014-04-08 10:16+0200\n"
+"Last-Translator:  <oliver.c.hamm@gmail.com>\n"
+"Language-Team: FRENCH <debian-l10n-french@lists.debian.org>\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 1.4\n"
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+msgid "Abort ${package} removal?"
+msgstr "Faut-il abandonner la suppression de ${package} ?"
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+msgid ""
+"You are attempting to remove ${package}, but it seems that the running "
+"Ganeti version is still ${version}."
+msgstr ""
+"Vous êtes en train d'essayer de supprimer ${package}, mais il semble que la "
+"version installée de Ganeti soit toujours ${version}."
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+msgid ""
+"This can happen if you upgrade the ganeti package to a new minor version, "
+"but have not run \"gnt-cluster upgrade\" yet. Removing ${package} will cause "
+"Ganeti to stop functioning correctly."
+msgstr ""
+"Cela peut arriver si vous mettez à jour le paquet ganeti vers une nouvelle "
+"version mineure, sans avoir au préalable lancé « gnt-cluster upgrade ». La "
+"suppression de ${package} empêchera Ganeti de fonctionner correctement."
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+msgid ""
+"It is highly recommended to abort the removal now and upgrade the cluster "
+"before removing ${package}."
+msgstr ""
+"Il est fortement recommandé d'abandonner la suppression maintenant et de "
+"mettre à jour la grappe avant de désinstaller ${package}."
diff --git a/debian/po/ja.po b/debian/po/ja.po
new file mode 100644
index 0000000..3c6f826
--- /dev/null
+++ b/debian/po/ja.po
@@ -0,0 +1,55 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the ganeti package.
+# victory <victory.deb@gmail.com>, 2014.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: ganeti\n"
+"Report-Msgid-Bugs-To: ganeti@packages.debian.org\n"
+"POT-Creation-Date: 2014-04-08 08:41+0200\n"
+"PO-Revision-Date: 2014-04-08 15:41+0900\n"
+"Last-Translator: victory <victory.deb@gmail.com>\n"
+"Language-Team: Japanese <debian-japanese@lists.debian.org>\n"
+"Language: ja\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:1001
+msgid "Abort ${package} removal?"
+msgstr "${package} の削除を中止しますか?"
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:1001
+msgid ""
+"You are attempting to remove ${package}, but it seems that the running "
+"Ganeti version is still ${version}."
+msgstr ""
+"${package} を削除しようとしていますが、まだ Ganeti バージョン ${version} を実"
+"行中のようです。"
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:1001
+msgid ""
+"This can happen if you upgrade the ganeti package to a new minor version, "
+"but have not run \"gnt-cluster upgrade\" yet. Removing ${package} will cause "
+"Ganeti to stop functioning correctly."
+msgstr ""
+"これは ganeti パッケージを番号の小さい新しいバージョンにアップグレードし、"
+"「gnt-cluster upgrade」を実行していない場合に起きることがあります。${package} "
+"を削除すると Ganeti は正常に機能しなくなります。"
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:1001
+msgid ""
+"It is highly recommended to abort the removal now and upgrade the cluster "
+"before removing ${package}."
+msgstr ""
+"削除をここで中止し、${package} を削除する前にクラスタをアップグレードすること"
+"を強く勧めます。"
diff --git a/debian/po/pt.po b/debian/po/pt.po
new file mode 100644
index 0000000..b3eed20
--- /dev/null
+++ b/debian/po/pt.po
@@ -0,0 +1,58 @@
+# Translation of ganeti's debconf messages to European Portuguese
+# Copyright (C) 2014 the ganeti'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the ganeti package.
+#
+# Américo Monteiro <a_monteiro@gmx.com>, 2014.
+msgid ""
+msgstr ""
+"Project-Id-Version: ganeti 2.10.1-2\n"
+"Report-Msgid-Bugs-To: ganeti@packages.debian.org\n"
+"POT-Creation-Date: 2014-04-08 08:41+0200\n"
+"PO-Revision-Date: 2014-04-09 00:44+0100\n"
+"Last-Translator: Américo Monteiro <a_monteiro@gmx.com>\n"
+"Language-Team: Portuguese <traduz@debianpt.org>\n"
+"Language: pt\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Lokalize 1.4\n"
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+msgid "Abort ${package} removal?"
+msgstr "Abortar a remoção do ${package}?"
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+msgid ""
+"You are attempting to remove ${package}, but it seems that the running "
+"Ganeti version is still ${version}."
+msgstr ""
+"Você está a tentar remover o ${package}, mas parece que a versão de Ganeti "
+"em execução é ainda ${version}."
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+msgid ""
+"This can happen if you upgrade the ganeti package to a new minor version, "
+"but have not run \"gnt-cluster upgrade\" yet. Removing ${package} will cause "
+"Ganeti to stop functioning correctly."
+msgstr ""
+"Isto pode acontecer se você actualizou o pacote ganeti para uma nova versão "
+"menor, mas ainda não correu \"gnt-cluster upgrade\". Remover o ${package} irá "
+"fazer com que o Ganeti pare de funcionar correctamente."
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+msgid ""
+"It is highly recommended to abort the removal now and upgrade the cluster "
+"before removing ${package}."
+msgstr ""
+"É altamente recomendado aborta a remoção agora e actualizar o cluster "
+"antes de remover o ${package}."
+
diff --git a/debian/po/ru.po b/debian/po/ru.po
new file mode 100644
index 0000000..c164750
--- /dev/null
+++ b/debian/po/ru.po
@@ -0,0 +1,59 @@
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the ganeti package.
+#
+# Yuri Kozlov <yuray@komyakino.ru>, 2014.
+msgid ""
+msgstr ""
+"Project-Id-Version: ganeti 2.10.1-2\n"
+"Report-Msgid-Bugs-To: ganeti@packages.debian.org\n"
+"POT-Creation-Date: 2014-04-08 08:41+0200\n"
+"PO-Revision-Date: 2014-04-12 13:44+0400\n"
+"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
+"Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
+"Language: ru\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<"
+"=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+"X-Generator: Lokalize 1.4\n"
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+msgid "Abort ${package} removal?"
+msgstr "Прервать удаление ${package}?"
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+msgid ""
+"You are attempting to remove ${package}, but it seems that the running "
+"Ganeti version is still ${version}."
+msgstr ""
+"Вы пытаетесь удалить ${package}, но кажется, что сейчас запущена "
+"версия Ganeti ${version}."
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+msgid ""
+"This can happen if you upgrade the ganeti package to a new minor version, "
+"but have not run \"gnt-cluster upgrade\" yet. Removing ${package} will cause "
+"Ganeti to stop functioning correctly."
+msgstr ""
+"Это могло случиться, если вы обновили пакет ganeti новой "
+"промежуточной (minor) версией, но ещё не запускали «gnt-cluster upgrade». "
+"Удаление ${package} приведёт прекращению корректной работы "
+"Ganeti."
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:2001
+msgid ""
+"It is highly recommended to abort the removal now and upgrade the cluster "
+"before removing ${package}."
+msgstr ""
+"Настоятельно рекомендуется прервать удаление ${package} "
+"и обновить кластер."
+
diff --git a/debian/po/templates.pot b/debian/po/templates.pot
new file mode 100644
index 0000000..c6cff49
--- /dev/null
+++ b/debian/po/templates.pot
@@ -0,0 +1,49 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: ganeti\n"
+"Report-Msgid-Bugs-To: ganeti@packages.debian.org\n"
+"POT-Creation-Date: 2014-04-08 08:41+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:1001
+msgid "Abort ${package} removal?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:1001
+msgid ""
+"You are attempting to remove ${package}, but it seems that the running "
+"Ganeti version is still ${version}."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:1001
+msgid ""
+"This can happen if you upgrade the ganeti package to a new minor version, "
+"but have not run \"gnt-cluster upgrade\" yet. Removing ${package} will cause "
+"Ganeti to stop functioning correctly."
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../templates/versioned.templates:1001
+msgid ""
+"It is highly recommended to abort the removal now and upgrade the cluster "
+"before removing ${package}."
+msgstr ""
diff --git a/debian/python-ganeti-rapi.dirs b/debian/python-ganeti-rapi.dirs
new file mode 100644
index 0000000..d64a5be
--- /dev/null
+++ b/debian/python-ganeti-rapi.dirs
@@ -0,0 +1 @@
+/usr/share/pyshared/ganeti/rapi
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..69a0845
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,143 @@
+#!/usr/bin/make -f
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+VER = $(shell cat vcs-version | sed -r 's/v([0-9]+\.[0-9]+)(\..*)/\1/')
+
+GNT_USERGROUP_PREFIX="gnt-"
+
+%:
+	dh $@ --with python2,sphinxdoc,bash_completion
+
+debian/control: debian/control.in vcs-version
+	sed -s 's/#VER#/$(VER)/g' debian/control.in > debian/control
+
+genfiles:
+	for file in debian/templates/*-VER*; do \
+		fname="$$(echo $$file | sed -e 's#VER#$(VER)#' -e 's#templates/##')"; \
+		sed -e 's/@version@/$(VER)/g' $$file >"$$fname"; \
+	done
+
+	for package in ganeti-haskell-$(VER) ganeti-htools-$(VER) ganeti-$(VER); do \
+		for file in debian/templates/versioned.*; do \
+			kind="$$(echo $$file | sed -r 's#.*\.(.*)#\1#')"; \
+			sed -e "s/@package@/$$package/g" \
+			    -e 's/@version@/$(VER)/g' \
+			    "$$file" > "debian/$${package}.$${kind}"; \
+		done; \
+	done
+
+override_dh_auto_configure:
+	./configure \
+	  --prefix=/usr \
+	  --localstatedir=/var \
+	  --sysconfdir=/etc \
+	  --with-export-dir=/var/lib/ganeti/export \
+	  --with-iallocator-search-path=/usr/local/lib/ganeti/iallocators,/usr/lib/ganeti/iallocators \
+	  --with-os-search-path=/srv/ganeti/os,/usr/local/lib/ganeti/os,/usr/lib/ganeti/os,/usr/share/ganeti/os \
+	  --with-extstorage-search-path=/srv/ganeti/extstorage,/usr/local/lib/ganeti/extstorage,/usr/lib/ganeti/extstorage,/usr/share/ganeti/extstorage \
+	  --docdir=/usr/share/doc/ganeti \
+	  --enable-restricted-commands \
+	  --disable-symlinks \
+	  --with-user-prefix=$(GNT_USERGROUP_PREFIX) \
+	  --with-group-prefix=$(GNT_USERGROUP_PREFIX)
+
+override_dh_auto_clean:
+	[ ! -f Makefile ] || $(MAKE) distclean
+	# this is not removed by make distclean :(
+	rm -f ganeti
+
+	rm -f debian/ganeti.init
+	rm -f debian/ganeti.cron.d
+	rm -f debian/ganeti.default
+	rm -f debian/ganeti.postinst
+	rm -f debian/ganeti.postrm
+	if [ -d doc/html.orig ]; then \
+		rm -rf doc/html; \
+		mv doc/html.orig doc/html; \
+	fi
+	dh_auto_clean
+
+override_dh_auto_build:
+	dh_auto_build
+
+	# Rebuild the sphinx documentation
+	mv doc/html doc/html.orig
+	$(MAKE) doc/html
+
+	# Generate postinst and postrm scripts
+	$(CURDIR)/debian/genscript.py postinst "$(CURDIR)" | \
+		sed -f "$(CURDIR)/autotools/replace_vars.sed" \
+		    -e "s#@VER@#$(VER)#g" >"$(CURDIR)/debian/ganeti.postinst"
+	$(CURDIR)/debian/genscript.py postrm "$(CURDIR)" >"$(CURDIR)/debian/ganeti.postrm"
+
+override_dh_install-indep:
+	dh_install --fail-missing -pganeti-$(VER) -Xsbin/ganeti-confd -Xganeti/mon-collector \
+		-Xganeti/default -Xbin/h -Xman1/h -Xsbin/ganeti-mond -Xsbin/ganeti-luxid -Xhail
+	dh_install --fail-missing -i -Nganeti-$(VER) -Xganeti/$(VER)
+
+	cp $(CURDIR)/doc/examples/ganeti.initd $(CURDIR)/debian/ganeti.init
+	cp $(CURDIR)/doc/examples/ganeti.cron $(CURDIR)/debian/ganeti.cron.d
+	cp $(CURDIR)/doc/examples/ganeti.default $(CURDIR)/debian/ganeti.default
+
+	# Dummy Python module for the RAPI client
+	# Add missing bits to ganeti and python-ganeti-rapi.
+	cp $(CURDIR)/debian/tmp/usr/share/ganeti/$(VER)/ganeti/rapi/client.py \
+	   $(CURDIR)/debian/python-ganeti-rapi/usr/share/pyshared/ganeti/rapi/
+	touch $(CURDIR)/debian/python-ganeti-rapi/usr/share/pyshared/ganeti/__init__.py
+	touch $(CURDIR)/debian/python-ganeti-rapi/usr/share/pyshared/ganeti/rapi/__init__.py
+
+override_dh_python2:
+	dh_python2
+
+	# /usr/share/ganeti/<VER> is not in the default search path of dh_python2
+	dh_python2 -pganeti-$(VER) usr/share/ganeti/$(VER)
+
+override_dh_installinit:
+	dh_installinit --error-handler=true --no-restart-on-upgrade -i -- defaults 20 80
+
+override_dh_compress:
+	dh_compress
+
+	# Compress version-specific manpages, not automatically detected by dh_compress
+	for package in ganeti-$(VER) ganeti-htools-$(VER); do \
+		(cd $(CURDIR)/debian/$$package && \
+			find usr/share/ganeti/$(VER)/root/usr/share/man -type f) | \
+			xargs dh_compress -p$$package; \
+	done
+
+	# Fix the symlinks under /usr/share/man to point to the compressed
+	# files. The symlinks are shipped in the ganeti package, and because
+	# they are indirect links through /etc, they would not be detected by
+	# dh_compress anyway.
+	for file in $$(find $(CURDIR)/debian/ganeti/usr/share/man \
+			    $(CURDIR)/debian/ganeti-htools/usr/share/man \
+			    -type l); do \
+		target=$$(readlink "$$file"); \
+		rm "$$file"; \
+		ln -sf "$${target}.gz" "$${file}.gz"; \
+	done
+
+override_dh_link:
+	# Fix the links in ganeti-htools to refer directly to the version at hand
+	for file in $$(find $(CURDIR)/debian/ganeti-htools/usr -type l); do \
+		target="$$(readlink "$$file" | sed -r -e 's#/usr/(lib|share)/ganeti/default/#/usr/\1/ganeti/$(VER)/#')"; \
+		ln -sf "$$target" "$$file"; \
+	done
+
+	# Now let dh_link fix all symlinks
+	dh_link
+
+# Disable dh_sphinxdoc for binary-arch, as it will raise an error
+override_dh_sphinxdoc-arch:
+
+# Disable the test suite, as it requires the daemon users to be present
+# at build time.
+override_dh_auto_test:
+
+
+.PHONY: override_dh_auto_configure override_dh_auto_clean override_dh_auto_build \
+	override_dh_installinit override_dh_install-indep override_dh_sphinxdoc-arch \
+	override_dh_auto_test override_dh_compress override_dh_python2 \
+	override_dh_link genfiles
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/templates/ganeti-VER.install b/debian/templates/ganeti-VER.install
new file mode 100644
index 0000000..1592cb6
--- /dev/null
+++ b/debian/templates/ganeti-VER.install
@@ -0,0 +1,5 @@
+usr/share/ganeti/@version@
+usr/lib/ganeti/@version@/usr/lib/ganeti
+usr/lib/ganeti/@version@/usr/sbin/ganeti-cleaner
+usr/lib/ganeti/@version@/usr/sbin/ganeti-listrunner
+debian/molly-guard-helper usr/share/ganeti/@version@/
diff --git a/debian/templates/ganeti-VER.lintian-overrides b/debian/templates/ganeti-VER.lintian-overrides
new file mode 100644
index 0000000..7d363ce
--- /dev/null
+++ b/debian/templates/ganeti-VER.lintian-overrides
@@ -0,0 +1,3 @@
+# We only use debconf during prerm to interactively abort installation of
+# packages that are still in use.
+ganeti-@version@: no-debconf-config
diff --git a/debian/templates/ganeti-haskell-VER.install b/debian/templates/ganeti-haskell-VER.install
new file mode 100644
index 0000000..19704f1
--- /dev/null
+++ b/debian/templates/ganeti-haskell-VER.install
@@ -0,0 +1,4 @@
+usr/lib/ganeti/@version@/usr/sbin/ganeti-confd
+usr/lib/ganeti/@version@/usr/sbin/ganeti-mond
+usr/lib/ganeti/@version@/usr/sbin/ganeti-luxid
+usr/lib/ganeti/@version@/usr/lib/ganeti/mon-collector
diff --git a/debian/templates/ganeti-haskell-VER.lintian-overrides b/debian/templates/ganeti-haskell-VER.lintian-overrides
new file mode 100644
index 0000000..a331e4a
--- /dev/null
+++ b/debian/templates/ganeti-haskell-VER.lintian-overrides
@@ -0,0 +1,8 @@
+ganeti-haskell-@version@: hardening-no-fortify-functions usr/lib/ganeti/@version@/usr/sbin/ganeti-confd
+ganeti-haskell-@version@: hardening-no-fortify-functions usr/lib/ganeti/@version@/usr/sbin/ganeti-luxid
+ganeti-haskell-@version@: hardening-no-fortify-functions usr/lib/ganeti/@version@/usr/sbin/ganeti-mond
+ganeti-haskell-@version@: hardening-no-fortify-functions usr/lib/ganeti/@version@/usr/lib/ganeti/mon-collector
+
+# We only use debconf during prerm to interactively abort installation of
+# packages that are still in use.
+ganeti-haskell-@version@: no-debconf-config
diff --git a/debian/templates/ganeti-htools-VER.install b/debian/templates/ganeti-htools-VER.install
new file mode 100644
index 0000000..02e598d
--- /dev/null
+++ b/debian/templates/ganeti-htools-VER.install
@@ -0,0 +1,3 @@
+usr/lib/ganeti/@version@/usr/bin
+usr/share/ganeti/@version@/root/usr/share/man/man1/h*
+usr/lib/ganeti/@version@/usr/lib/ganeti/iallocators/hail
diff --git a/debian/templates/ganeti-htools-VER.lintian-overrides b/debian/templates/ganeti-htools-VER.lintian-overrides
new file mode 100644
index 0000000..32bc985
--- /dev/null
+++ b/debian/templates/ganeti-htools-VER.lintian-overrides
@@ -0,0 +1,5 @@
+ganeti-htools-@version@: hardening-no-fortify-functions usr/lib/ganeti/@version@/usr/bin/htools
+
+# We only use debconf during prerm to interactively abort installation of
+# packages that are still in use.
+ganeti-htools-@version@: no-debconf-config
diff --git a/debian/templates/versioned.postinst b/debian/templates/versioned.postinst
new file mode 100644
index 0000000..0ae7a18
--- /dev/null
+++ b/debian/templates/versioned.postinst
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -e
+
+. /usr/share/debconf/confmodule
+
+#DEBHELPER#
diff --git a/debian/templates/versioned.prerm b/debian/templates/versioned.prerm
new file mode 100644
index 0000000..a1ea429
--- /dev/null
+++ b/debian/templates/versioned.prerm
@@ -0,0 +1,24 @@
+#!/bin/sh
+
+set -e
+
+if [ "$1" = "remove" ]; then
+	. /usr/share/debconf/confmodule
+
+	if [ /usr/lib/ganeti/default -ef /usr/lib/ganeti/@version@ ]; then
+	       db_version 2.0
+	       db_fset @package@/abort-removal seen false
+	       db_subst @package@/abort-removal version @version@
+	       db_subst @package@/abort-removal package @package@
+	       db_input critical @package@/abort-removal
+	       db_go
+	       db_get @package@/abort-removal
+
+	       if [ "$RET" = "true" ]; then
+		       echo "Aborting removal on user request"
+		       exit 1;
+	       fi
+	fi
+fi
+
+#DEBHELPER#
diff --git a/debian/templates/versioned.templates b/debian/templates/versioned.templates
new file mode 100644
index 0000000..e73cc8a
--- /dev/null
+++ b/debian/templates/versioned.templates
@@ -0,0 +1,13 @@
+Template: @package@/abort-removal
+Type: boolean
+Default: true
+_Description: Abort ${package} removal?
+ You are attempting to remove ${package}, but it seems that the running Ganeti
+ version is still ${version}.
+ .
+ This can happen if you upgrade the ganeti package to a new minor version, but
+ have not run "gnt-cluster upgrade" yet. Removing ${package} will cause Ganeti to
+ stop functioning correctly.
+ .
+ It is highly recommended to abort the removal now and upgrade the cluster before
+ removing ${package}.
diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
new file mode 100644
index 0000000..8729153
--- /dev/null
+++ b/debian/upstream/signing-key.asc
@@ -0,0 +1,78 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v1
+
+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
+vsp3RvLhUZkxcitYUZ8L
+=aWXu
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..83b4749
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,4 @@
+version=3
+
+opts=pgpsigurlmangle=s/$/.sig/ \
+ http://downloads.ganeti.org/releases/2.10/ ganeti-(\d+\.\d+[\d.]+)\.tar\.gz
