From b6a83523fa1b15cc679a6f5570d33a45388a51e9 Mon Sep 17 00:00:00 2001
From: Constantinos Venetsanopoulos <cven@grnet.gr>
Date: Fri, 16 Dec 2011 11:58:45 +0200
Subject: [PATCH] Initial debian packaging for Ganeti 2.5.*

Signed-off-by: Constantinos Venetsanopoulos <cven@grnet.gr>
---
 debian/changelog            |   7 +++
 debian/compat               |   1 +
 debian/control              |  41 +++++++++++++
 debian/copyright            |  52 ++++++++++++++++
 debian/doc-base             |   8 +++
 debian/docs                 |   3 +
 debian/gbp.conf             |   9 +++
 debian/pyversions           |   1 +
 debian/rules                | 115 ++++++++++++++++++++++++++++++++++++
 debian/snf-ganeti.dirs      |   4 ++
 debian/snf-ganeti.overrides |   2 +
 debian/source/format        |   1 +
 12 files changed, 244 insertions(+)
 create mode 100644 debian/changelog
 create mode 100644 debian/compat
 create mode 100644 debian/control
 create mode 100644 debian/copyright
 create mode 100644 debian/doc-base
 create mode 100644 debian/docs
 create mode 100644 debian/gbp.conf
 create mode 100644 debian/pyversions
 create mode 100755 debian/rules
 create mode 100644 debian/snf-ganeti.dirs
 create mode 100644 debian/snf-ganeti.overrides
 create mode 100644 debian/source/format

diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 000000000..c9efe430a
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,7 @@
+snf-ganeti (2.5-1) UNRELEASED; urgency=low
+
+  GRNET-specific package against google's master branch
+  The package contains google's current master branch +
+  GRNET's RBD support
+
+ -- Constantinos Venetsanopoulos <cven@grnet.gr>  Fri, 16 Dec 2011 11:07:08 +0200
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 000000000..7f8f011eb
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+7
diff --git a/debian/control b/debian/control
new file mode 100644
index 000000000..c74afed36
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,41 @@
+Source: snf-ganeti
+Section: admin
+Priority: extra
+Maintainer: GRNET Ganeti Team <ganeti-dev@lists.grnet.gr>
+Build-Depends: debhelper (>= 7)
+Build-Depends-Indep: python-simplejson, python-pyparsing, python-openssl,
+ python-support (>= 0.6), socat, python-pyinotify, python-pycurl,
+ python-paramiko, python-ipaddr, python-bitarray
+Standards-Version: 3.9.2
+Homepage: http://code.grnet.gr/projects/snf-ganeti/
+Vcs-Browser: https://code.grnet.gr/git/snf-ganeti
+
+Package: snf-ganeti
+Architecture: all
+Conflicts: ganeti, ganeti2
+Replaces: ganeti2
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends}, lvm2,
+ openssh-client, openssh-server, bridge-utils, iproute, iputils-arping,
+ openssl, python-simplejson, python-pyparsing, python-openssl,
+ python-pyinotify, python-pycurl, python-paramiko, python-ipaddr, 
+ python-bitarray, socat, libjs-jquery
+Recommends: drbd8-utils (>= 8.0.7), qemu-kvm |
+ xen-linux-system-2.6.32-5-xen-amd64 | xen-linux-system-2.6.32-5-xen-686,
+ ganeti-instance-debootstrap, ndisc6, ceph-common
+#Breaks: ganeti-htools (<< 0.3)
+Suggests: drbd8-module-source (>= 8.0.7)
+Provides: ${python:Provides}, ganeti2
+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.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 000000000..f46b066a1
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,52 @@
+This package was debianized by:
+
+	Leonardo Rodrigues de Mello <l@lmello.eu.org> on Thu, 30 Aug 2007 10:38:20
+	-0300.
+
+It was then taken over for official Debian maintenance by the Debian
+Ganeti Team.
+
+It was downloaded from:
+
+    http://code.google.com/p/ganeti/
+
+Upstream Authors:
+
+	Iustin Pop <iustin@google.com>
+	Guido Trotter <ultrotter@google.com>
+	Alexander Schreiber <als@google.com>
+	Oleksiy Mishchenko <oleksiy@google.com>
+	Roman Marxer <roman@google.com>
+	Michael Hanselmann <hansmi@google.com>
+	Magnus Ringman <bmr@google.com>
+
+Copyright:
+
+    Copyright (C) 2006, 2007, 2008 Google Inc.
+
+License:
+
+    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 program; if not, write to the Free Software
+    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+    02110-1301, USA.
+
+On Debian systems, the complete text of the GNU General
+Public License version 2 can be found in `/usr/share/common-licenses/GPL-2'.
+
+The Debian packaging is:
+
+	Copyright (C) 2007, 2008, 2009 Debian Ganeti Team
+	<pkg-ganeti@lists.alioth.debian.org>
+
+and is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
diff --git a/debian/doc-base b/debian/doc-base
new file mode 100644
index 000000000..0e298c5c8
--- /dev/null
+++ b/debian/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/snf-ganeti/html/index.html
+Files: /usr/share/doc/snf-ganeti/html/*.html
diff --git a/debian/docs b/debian/docs
new file mode 100644
index 000000000..f12cf27bc
--- /dev/null
+++ b/debian/docs
@@ -0,0 +1,3 @@
+README
+NEWS
+doc/html
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644
index 000000000..192e88509
--- /dev/null
+++ b/debian/gbp.conf
@@ -0,0 +1,9 @@
+[DEFAULT]
+sign-tags = False
+pristine-tar = False
+
+[git-buildpackage]
+export-dir = ../build-area/
+tarball-dir = ../tarballs/
+debian-branch = debian
+upstream-branch = grnet-2.4-ippool-devel
diff --git a/debian/pyversions b/debian/pyversions
new file mode 100644
index 000000000..8b253bc3c
--- /dev/null
+++ b/debian/pyversions
@@ -0,0 +1 @@
+2.4-
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 000000000..db689b7af
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,115 @@
+#!/usr/bin/make -f
+# Sample debian/rules that uses debhelper.
+# This file is public domain software, originally written by Joey Hess.
+#
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+build: build-arch build-indep
+build-arch: build-stamp
+build-indep: build-stamp
+
+build-stamp:
+	dh_testdir
+	
+	# Add here commands to compile the package.
+	./autogen.sh
+
+	./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/snf-ganeti \
+	  --enable-htools
+
+	$(MAKE)
+
+	touch $@
+
+clean:
+	dh_testdir
+	dh_testroot
+	rm -f build-stamp
+
+	# Add here commands to clean up after the build process.
+	#$(MAKE) clean
+	[ ! -f Makefile ] || $(MAKE) distclean
+	# this is not removed by make distclean :(
+	rm -f ganeti
+
+	rm -f debian/snf-ganeti.ganeti.init
+	rm -f debian/snf-ganeti.ganeti.cron.d
+	rm -f debian/snf-ganeti.ganeti.default
+
+	dh_clean
+
+install: build
+	dh_testdir
+	dh_testroot
+	dh_prep
+	dh_installdirs
+
+	# Add here commands to install the package into debian/<packagename>.
+	$(MAKE) install DESTDIR=$(CURDIR)/debian/`dh_listpackages`
+	cp $(CURDIR)/doc/examples/ganeti.initd $(CURDIR)/debian/snf-ganeti.ganeti.init
+	cp $(CURDIR)/doc/examples/ganeti.cron $(CURDIR)/debian/snf-ganeti.ganeti.cron.d
+	cp $(CURDIR)/doc/examples/ganeti.default $(CURDIR)/debian/snf-ganeti.ganeti.default
+	# No longer needed with ganeti 2.1
+	#mv $(CURDIR)/debian/snf-ganeti/usr/share/doc/ganeti $(CURDIR)/debian/snf-ganeti/usr/share/doc/snf-ganeti
+	install -m 0644 $(CURDIR)/doc/examples/bash_completion \
+	  $(CURDIR)/debian/snf-ganeti/etc/bash_completion.d/ganeti
+	#install -m 0644 $(CURDIR)/debian/snf-ganeti.overrides \
+	#  $(CURDIR)/debian/snf-ganeti/usr/share/lintian/overrides/snf-ganeti
+
+	# remove embedded copy of jquery
+	rm -f $(CURDIR)/debian/snf-ganeti/usr/share/doc/snf-ganeti/html/_static/jsquery.js
+
+	rmdir debian/snf-ganeti/var/run/ganeti
+	rmdir debian/snf-ganeti/var/run
+
+# Build architecture-independent files here.
+binary-indep: build install
+	dh_testdir
+	dh_testroot
+	dh_installchangelogs
+	dh_installdocs
+#	dh_installexamples
+#	dh_installmenu
+#	dh_installdebconf
+#	dh_installlogrotate
+#	dh_installemacsen
+#	dh_installcatalogs
+#	dh_installpam
+#	dh_installmime
+# Note: dh_pysupport *must* be before dh_installinit, since the daemons
+# need the python modules as installed by pysupport
+	dh_pysupport
+	dh_installinit --name=ganeti --error-handler=true -- defaults 20 80
+	dh_installcron --name=ganeti
+#	dh_installinfo
+#	dh_installwm
+#	dh_installudev
+#	dh_lintian
+#	dh_bugfiles
+#	dh_undocumented
+	dh_installman
+	dh_link
+	# Note: no compression on the html docs, since it will break navigation
+	dh_compress -Xsnf-ganeti/html/
+	dh_fixperms
+#	dh_perl
+	dh_installdeb
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+# Build architecture-dependent files here.
+binary-arch: build install
+# We have nothing to do by default.
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install
diff --git a/debian/snf-ganeti.dirs b/debian/snf-ganeti.dirs
new file mode 100644
index 000000000..815d80c0f
--- /dev/null
+++ b/debian/snf-ganeti.dirs
@@ -0,0 +1,4 @@
+etc/ganeti
+etc/bash_completion.d
+usr/lib/ganeti/iallocators
+usr/share/lintian/overrides
diff --git a/debian/snf-ganeti.overrides b/debian/snf-ganeti.overrides
new file mode 100644
index 000000000..b87de9901
--- /dev/null
+++ b/debian/snf-ganeti.overrides
@@ -0,0 +1,2 @@
+snf-ganeti binary: hyphen-used-as-minus-sign
+snf-ganeti binary: package-contains-empty-directory usr/lib/ganeti/iallocators/
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 000000000..163aaf8d8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
-- 
GitLab