Add official debian tree
authorDimitris Aragiorgis <dimara@grnet.gr>
Tue, 15 Oct 2013 13:46:43 +0000 (16:46 +0300)
committerDimitris Aragiorgis <dimara@grnet.gr>
Tue, 15 Oct 2013 13:46:43 +0000 (16:46 +0300)
Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>

37 files changed:
debian/NEWS [new file with mode: 0644]
debian/burnin-fake.sh [new file with mode: 0755]
debian/burnin-xen.sh [new file with mode: 0755]
debian/changelog [new file with mode: 0644]
debian/compat [new file with mode: 0644]
debian/control [new file with mode: 0644]
debian/copyright [new file with mode: 0644]
debian/docs [new file with mode: 0644]
debian/ganeti-doc.dirs [new file with mode: 0644]
debian/ganeti-doc.doc-base [new file with mode: 0644]
debian/ganeti-doc.docs [new file with mode: 0644]
debian/ganeti-haskell.dirs [new file with mode: 0644]
debian/ganeti-haskell.install [new file with mode: 0644]
debian/ganeti-haskell.lintian-overrides [new file with mode: 0644]
debian/ganeti-htools.dirs [new file with mode: 0644]
debian/ganeti-htools.install [new file with mode: 0644]
debian/ganeti-htools.lintian-overrides [new file with mode: 0644]
debian/ganeti.bash-completion [new file with mode: 0644]
debian/ganeti.dirs [new file with mode: 0644]
debian/ganeti.install [new file with mode: 0644]
debian/ganeti.links [new file with mode: 0644]
debian/ganeti.lintian-overrides [new file with mode: 0644]
debian/ganeti.logrotate [new file with mode: 0644]
debian/ganeti.postinst.in [new file with mode: 0644]
debian/ganeti.postrm.in [new file with mode: 0644]
debian/ganeti2.dirs [new file with mode: 0644]
debian/gbp.conf [new file with mode: 0644]
debian/genscript.py [new file with mode: 0755]
debian/patches/0003-Disable-local-checks-during-build.patch [new file with mode: 0644]
debian/patches/cfgupgrade12-remove-old-ssconf.patch [new file with mode: 0644]
debian/patches/fix-startup-with-old-config.patch [new file with mode: 0644]
debian/patches/series [new file with mode: 0644]
debian/python-ganeti-rapi.dirs [new file with mode: 0644]
debian/python-ganeti-rapi.install [new file with mode: 0644]
debian/rules [new file with mode: 0755]
debian/source/format [new file with mode: 0644]
debian/watch [new file with mode: 0644]

diff --git a/debian/NEWS b/debian/NEWS
new file mode 100644 (file)
index 0000000..83c1eb1
--- /dev/null
@@ -0,0 +1,73 @@
+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 (executable)
index 0000000..619b29d
--- /dev/null
@@ -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 (executable)
index 0000000..58d3bc0
--- /dev/null
@@ -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 (file)
index 0000000..55243b4
--- /dev/null
@@ -0,0 +1,447 @@
+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 (file)
index 0000000..ec63514
--- /dev/null
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644 (file)
index 0000000..58a0dd3
--- /dev/null
@@ -0,0 +1,143 @@
+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@gmail.com>
+Build-Depends: debhelper (>= 9),
+ 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, bash-completion
+Standards-Version: 3.9.4
+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: ganeti
+Architecture: all
+Breaks: ganeti2 (<< 2.7.0-2), ganeti-htools (<< 0.3)
+Replaces: ganeti2 (<< 2.7.0-2)
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, lvm2,
+ openssh-client, openssh-server, bridge-utils, iproute2, iputils-arping,
+ openssl, python-simplejson, python-pyparsing, python-openssl,
+ python-pyinotify, python-pycurl, python-paramiko, python-bitarray,
+ python-ipaddr, socat, fping, ganeti-haskell (>= ${source:Version}),
+ ganeti-haskell (<< ${source:Version}.1~), adduser
+Recommends: drbd8-utils (>= 8.0.7), qemu-system-x86 |
+ xen-linux-system-amd64 | xen-linux-system-686-pae,
+ ganeti-instance-debootstrap, ndisc6
+Suggests: ganeti-htools, ganeti-doc
+Provides: ${python:Provides}
+Description: Cluster-based virtualization management software
+ Ganeti is a virtual server cluster management software tool built on top
+ of the Xen virtual machine monitor and other Open Source 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.
+
+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-haskell
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Replaces: ganeti2 (<< 2.7.0-2)
+Breaks: ganeti2 (<< 2.7.0-2)
+Description: Cluster-based virtualization management software - Haskell components
+ Ganeti is a virtual server cluster management software tool built on top
+ of the Xen virtual machine monitor and other Open Source 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 contains the architecture-dependent components of Ganeti written
+ in Haskell.
+
+Package: ganeti-htools
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Breaks: ganeti2 (<< 2.4)
+Description: Cluster allocation tools for Ganeti
+ These are additional tools used for enhanced allocation and capacity
+ calculation on Ganeti clusters.
+ .
+ The tools provided are:
+   - hail, an iallocator script for ganeti
+   - hbal, used to redistribute instances on the cluster
+   - hspace, used for capacity calculation
+   - hscan, used to gather cluster files for offline use in hbal/hspace
+   - hroller, used to calculate rolling maintenances
+
+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-based virtualization management software - documentation
+ Ganeti is a virtual server cluster management software tool built on top
+ of the Xen virtual machine monitor and other Open Source 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 contains 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-based virtualization management software - RAPI client library
+ Ganeti is a virtual server cluster management software tool built on top
+ of the Xen virtual machine monitor and other Open Source 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 contains a RAPI (Remote API) client library for Python.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644 (file)
index 0000000..78f042d
--- /dev/null
@@ -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 (file)
index 0000000..9eafbe1
--- /dev/null
@@ -0,0 +1,2 @@
+README
+NEWS
diff --git a/debian/ganeti-doc.dirs b/debian/ganeti-doc.dirs
new file mode 100644 (file)
index 0000000..cefcd5a
--- /dev/null
@@ -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 (file)
index 0000000..35bb1d2
--- /dev/null
@@ -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 (file)
index 0000000..0bd3136
--- /dev/null
@@ -0,0 +1 @@
+doc/html
diff --git a/debian/ganeti-haskell.dirs b/debian/ganeti-haskell.dirs
new file mode 100644 (file)
index 0000000..c9825bd
--- /dev/null
@@ -0,0 +1,4 @@
+usr/sbin
+usr/lib/ganeti
+usr/share/man/man7
+usr/share/man/man8
diff --git a/debian/ganeti-haskell.install b/debian/ganeti-haskell.install
new file mode 100644 (file)
index 0000000..744f3e0
--- /dev/null
@@ -0,0 +1,8 @@
+usr/lib/ganeti/mon-collector
+usr/share/man/man7/mon-collector.7
+usr/sbin/ganeti-confd
+usr/share/man/man8/ganeti-confd.8
+usr/sbin/ganeti-luxid
+usr/share/man/man8/ganeti-luxid.8
+usr/sbin/ganeti-mond
+usr/share/man/man8/ganeti-mond.8
diff --git a/debian/ganeti-haskell.lintian-overrides b/debian/ganeti-haskell.lintian-overrides
new file mode 100644 (file)
index 0000000..19079dd
--- /dev/null
@@ -0,0 +1,9 @@
+ganeti-haskell binary: hardening-no-relro usr/lib/ganeti/mon-collector
+ganeti-haskell binary: hardening-no-relro usr/sbin/ganeti-confd
+ganeti-haskell binary: hardening-no-relro usr/sbin/ganeti-luxid
+ganeti-haskell binary: hardening-no-relro usr/sbin/ganeti-mond
+ganeti-haskell binary: hardening-no-fortify-functions usr/lib/ganeti/mon-collector
+ganeti-haskell binary: hardening-no-fortify-functions usr/sbin/ganeti-confd
+ganeti-haskell binary: hardening-no-fortify-functions usr/sbin/ganeti-luxid
+ganeti-haskell binary: hardening-no-fortify-functions usr/sbin/ganeti-mond
+ganeti-haskell binary: hyphen-used-as-minus-sign
diff --git a/debian/ganeti-htools.dirs b/debian/ganeti-htools.dirs
new file mode 100644 (file)
index 0000000..aafd29a
--- /dev/null
@@ -0,0 +1,3 @@
+usr/bin
+usr/lib/ganeti/iallocators
+usr/share/man/man1
diff --git a/debian/ganeti-htools.install b/debian/ganeti-htools.install
new file mode 100644 (file)
index 0000000..c7e0929
--- /dev/null
@@ -0,0 +1,3 @@
+usr/bin/h*
+usr/share/man/man1/h*.1
+usr/lib/ganeti/iallocators/hail
diff --git a/debian/ganeti-htools.lintian-overrides b/debian/ganeti-htools.lintian-overrides
new file mode 100644 (file)
index 0000000..529853b
--- /dev/null
@@ -0,0 +1,3 @@
+ganeti-htools binary: hardening-no-relro usr/bin/htools
+ganeti-htools binary: hardening-no-fortify-functions usr/bin/htools
+ganeti-htools binary: hyphen-used-as-minus-sign
diff --git a/debian/ganeti.bash-completion b/debian/ganeti.bash-completion
new file mode 100644 (file)
index 0000000..65e7f19
--- /dev/null
@@ -0,0 +1 @@
+doc/examples/bash_completion   ganeti
diff --git a/debian/ganeti.dirs b/debian/ganeti.dirs
new file mode 100644 (file)
index 0000000..f1d84d9
--- /dev/null
@@ -0,0 +1,6 @@
+etc/ganeti
+usr/lib/ganeti
+usr/lib/ganeti/iallocators
+usr/share/lintian/overrides
+var/lib/ganeti
+var/log/ganeti
diff --git a/debian/ganeti.install b/debian/ganeti.install
new file mode 100644 (file)
index 0000000..80772a7
--- /dev/null
@@ -0,0 +1,27 @@
+usr/share/man/man7/ganeti*
+usr/share/man/man8/gnt-*
+usr/share/man/man8/ganeti-*
+
+usr/lib/ganeti/
+
+usr/lib/python*/dist-packages/ganeti   /usr/share/ganeti
+usr/sbin/gnt-*                         /usr/share/ganeti
+usr/sbin/ganeti-*                      /usr/share/ganeti
+
+usr/lib/ganeti/check-cert-expired      /usr/share/ganeti
+usr/lib/ganeti/ensure-dirs             /usr/share/ganeti
+usr/lib/ganeti/import-export           /usr/share/ganeti
+usr/lib/ganeti/node-daemon-setup       /usr/share/ganeti
+usr/lib/ganeti/prepare-node-join       /usr/share/ganeti
+
+usr/lib/ganeti/tools/burnin            /usr/share/ganeti
+usr/lib/ganeti/tools/cfgshell          /usr/share/ganeti
+usr/lib/ganeti/tools/cfgupgrade                /usr/share/ganeti
+usr/lib/ganeti/tools/cfgupgrade12      /usr/share/ganeti
+usr/lib/ganeti/tools/cluster-merge     /usr/share/ganeti
+usr/lib/ganeti/tools/confd-client      /usr/share/ganeti
+usr/lib/ganeti/tools/lvmstrap          /usr/share/ganeti
+usr/lib/ganeti/tools/move-instance     /usr/share/ganeti
+usr/lib/ganeti/tools/node-cleanup      /usr/share/ganeti
+usr/lib/ganeti/tools/ovfconverter      /usr/share/ganeti
+usr/lib/ganeti/tools/sanitize-config   /usr/share/ganeti
diff --git a/debian/ganeti.links b/debian/ganeti.links
new file mode 100644 (file)
index 0000000..d65530a
--- /dev/null
@@ -0,0 +1,34 @@
+usr/share/ganeti/gnt-debug usr/sbin/gnt-debug
+usr/share/ganeti/gnt-job usr/sbin/gnt-job
+usr/share/ganeti/gnt-os usr/sbin/gnt-os
+usr/share/ganeti/ganeti-noded usr/sbin/ganeti-noded
+usr/share/ganeti/gnt-instance usr/sbin/gnt-instance
+usr/share/ganeti/ganeti-cleaner usr/sbin/ganeti-cleaner
+usr/share/ganeti/gnt-cluster usr/sbin/gnt-cluster
+usr/share/ganeti/gnt-node usr/sbin/gnt-node
+usr/share/ganeti/ganeti-watcher usr/sbin/ganeti-watcher
+usr/share/ganeti/ganeti-rapi usr/sbin/ganeti-rapi
+usr/share/ganeti/ganeti-listrunner usr/sbin/ganeti-listrunner
+usr/share/ganeti/ganeti-masterd usr/sbin/ganeti-masterd
+usr/share/ganeti/gnt-network usr/sbin/gnt-network
+usr/share/ganeti/gnt-backup usr/sbin/gnt-backup
+usr/share/ganeti/gnt-group usr/sbin/gnt-group
+usr/share/ganeti/gnt-storage usr/sbin/gnt-storage
+
+usr/share/ganeti/check-cert-expired    /usr/lib/ganeti/check-cert-expired
+usr/share/ganeti/ensure-dirs           /usr/lib/ganeti/ensure-dirs
+usr/share/ganeti/import-export         /usr/lib/ganeti/import-export
+usr/share/ganeti/node-daemon-setup     /usr/lib/ganeti/node-daemon-setup
+usr/share/ganeti/prepare-node-join     /usr/lib/ganeti/prepare-node-join
+
+usr/share/ganeti/burnin usr/lib/ganeti/tools/burnin
+usr/share/ganeti/cfgshell usr/lib/ganeti/tools/cfgshell
+usr/share/ganeti/cfgupgrade usr/lib/ganeti/tools/cfgupgrade
+usr/share/ganeti/cfgupgrade12 usr/lib/ganeti/tools/cfgupgrade12
+usr/share/ganeti/cluster-merge usr/lib/ganeti/tools/cluster-merge
+usr/share/ganeti/confd-client usr/lib/ganeti/tools/confd-client
+usr/share/ganeti/lvmstrap usr/lib/ganeti/tools/lvmstrap
+usr/share/ganeti/move-instance usr/lib/ganeti/tools/move-instance
+usr/share/ganeti/node-cleanup usr/lib/ganeti/tools/node-cleanup
+usr/share/ganeti/ovfconverter usr/lib/ganeti/tools/ovfconverter
+usr/share/ganeti/sanitize-config usr/lib/ganeti/tools/sanitize-config
diff --git a/debian/ganeti.lintian-overrides b/debian/ganeti.lintian-overrides
new file mode 100644 (file)
index 0000000..01da608
--- /dev/null
@@ -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 (file)
index 0000000..5f8a089
--- /dev/null
@@ -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 (file)
index 0000000..7c2e5ca
--- /dev/null
@@ -0,0 +1,60 @@
+#!/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#
+
+       # 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 during prerm, 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
+    ;;
+
+    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@" | 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 (file)
index 0000000..d882c32
--- /dev/null
@@ -0,0 +1,40 @@
+#!/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|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 (file)
index 0000000..c44eb6b
--- /dev/null
@@ -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 (file)
index 0000000..38e9c0c
--- /dev/null
@@ -0,0 +1,8 @@
+[DEFAULT]
+sign-tags = True
+pristine-tar = True
+
+[git-buildpackage]
+export-dir = ../build-area/
+tarball-dir = ../tarballs/
+
diff --git a/debian/genscript.py b/debian/genscript.py
new file mode 100755 (executable)
index 0000000..42c9cb1
--- /dev/null
@@ -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/patches/0003-Disable-local-checks-during-build.patch b/debian/patches/0003-Disable-local-checks-during-build.patch
new file mode 100644 (file)
index 0000000..4ff6c30
--- /dev/null
@@ -0,0 +1,26 @@
+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(-)
+
+diff --git a/Makefile.in b/Makefile.in
+index 2936193..a1890e5 100644
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -2571,7 +2571,7 @@ distcleancheck: distclean
+              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 (file)
index 0000000..c062a26
--- /dev/null
@@ -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
+@@ -404,6 +404,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 (file)
index 0000000..0f20177
--- /dev/null
@@ -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
+@@ -59,6 +59,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/series b/debian/patches/series
new file mode 100644 (file)
index 0000000..7011cb7
--- /dev/null
@@ -0,0 +1,3 @@
+fix-startup-with-old-config.patch
+cfgupgrade12-remove-old-ssconf.patch
+0003-Disable-local-checks-during-build.patch
diff --git a/debian/python-ganeti-rapi.dirs b/debian/python-ganeti-rapi.dirs
new file mode 100644 (file)
index 0000000..d64a5be
--- /dev/null
@@ -0,0 +1 @@
+/usr/share/pyshared/ganeti/rapi
diff --git a/debian/python-ganeti-rapi.install b/debian/python-ganeti-rapi.install
new file mode 100644 (file)
index 0000000..2f53b18
--- /dev/null
@@ -0,0 +1 @@
+usr/lib/python*/dist-packages/ganeti/rapi/client.py usr/share/pyshared/ganeti/rapi
diff --git a/debian/rules b/debian/rules
new file mode 100755 (executable)
index 0000000..c98abab
--- /dev/null
@@ -0,0 +1,73 @@
+#!/usr/bin/make -f
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+GNT_USERGROUP_PREFIX="gnt-"
+
+%:
+       dh $@ --with python2,sphinxdoc,bash_completion
+
+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 \
+         --docdir=/usr/share/doc/ganeti \
+         --enable-htools-rapi --enable-restricted-commands \
+         --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
+       mv doc/html doc/html.orig
+       $(MAKE) doc/html
+       $(CURDIR)/debian/genscript.py postinst "$(CURDIR)" | \
+               sed -f "$(CURDIR)/autotools/replace_vars.sed" >"$(CURDIR)/debian/ganeti.postinst"
+       $(CURDIR)/debian/genscript.py postrm "$(CURDIR)" >"$(CURDIR)/debian/ganeti.postrm"
+
+# Add missing bits to ganeti and python-ganeti-rapi. We do not use
+# override_dh_install (plain) because it will fail in binary-arch builds.
+override_dh_install-indep:
+       dh_install -i -Xganeti-confd -Xmon-collector -Xhail -Xganeti-mond -Xganeti-luxid --fail-missing
+       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
+       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_installinit:
+       dh_installinit --error-handler=true -i -- defaults 20 80
+
+# 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
diff --git a/debian/source/format b/debian/source/format
new file mode 100644 (file)
index 0000000..163aaf8
--- /dev/null
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/watch b/debian/watch
new file mode 100644 (file)
index 0000000..c4a2b9d
--- /dev/null
@@ -0,0 +1,6 @@
+# format version number, currently 3; this line is compulsory!
+version=3
+
+# code.google.com/p/$project/downloads/list has links to $project.googlecode.com/files/
+https://code.google.com/p/ganeti/downloads/list \
+    (?:https?:)?//ganeti.googlecode.com/files/ganeti-(\d+\.\d+[\d.]*)\.tar\.gz