From 02cc0025cf1fe465c10da1e363032fe1fcdd3ce0 Mon Sep 17 00:00:00 2001
From: Dimitris Aragiorgis <dimara@grnet.gr>
Date: Sat, 14 Jul 2012 00:16:39 +0300
Subject: [PATCH] Make gbp functional

Signed-off-by: Dimitris Aragiorgis <dimara@grnet.gr>
---
 debian/control            |   5 +-
 debian/ganeti-htools.dirs |   2 +
 debian/links              |   1 +
 debian/rules              | 126 ++++++++++++++++++++++++++------------
 4 files changed, 92 insertions(+), 42 deletions(-)
 create mode 100644 debian/ganeti-htools.dirs
 create mode 100644 debian/links

diff --git a/debian/control b/debian/control
index 6525334da..60c3f4a8e 100644
--- a/debian/control
+++ b/debian/control
@@ -7,7 +7,7 @@ Build-Depends: debhelper (>= 7),
  libghc6-network-dev, libcurl4-gnutls-dev, libghc6-parallel-dev,
  python-simplejson, python-pyparsing, python-openssl,
  python-support (>= 0.6), python-pyinotify, python-pycurl,
- python-paramiko, python--ipaddr, python-bitarray, python-fdsend
+ python-paramiko, python-ipaddr, python-bitarray, python-fdsend,
  socat, iproute
 Standards-Version: 3.9.2
 Homepage: http://code.grnet.gr/projects/snf-ganeti/
@@ -19,7 +19,8 @@ Conflicts: ganeti
 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-fdsend
+ python-pyinotify, python-pycurl, python-paramiko, 
+ python-fdsend, python-ipaddr, python-bitarray,
  socat, libjs-jquery, fping
 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,
diff --git a/debian/ganeti-htools.dirs b/debian/ganeti-htools.dirs
new file mode 100644
index 000000000..51017b71d
--- /dev/null
+++ b/debian/ganeti-htools.dirs
@@ -0,0 +1,2 @@
+usr/bin
+usr/lib/ganeti/iallocators
diff --git a/debian/links b/debian/links
new file mode 100644
index 000000000..ca43e7cb4
--- /dev/null
+++ b/debian/links
@@ -0,0 +1 @@
+usr/share/javascript/jquery/jquery.js usr/share/doc/ganeti2/html/_static/jquery.js
diff --git a/debian/rules b/debian/rules
index db689b7af..0f22057b7 100755
--- a/debian/rules
+++ b/debian/rules
@@ -6,16 +6,18 @@
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
+GANETI_DIR=$(CURDIR)/debian/snf-ganeti
+HTOOLS_DIR=$(CURDIR)/debian/ganeti-htools
+
 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 \
@@ -24,7 +26,7 @@ build-stamp:
 	  --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
+	  --enable-htools --enable-htools-rapi
 
 	$(MAKE)
 
@@ -54,62 +56,106 @@ install: build
 	dh_installdirs
 
 	# Add here commands to install the package into debian/<packagename>.
-	$(MAKE) install DESTDIR=$(CURDIR)/debian/`dh_listpackages`
+	$(MAKE) install DESTDIR=$(CURDIR)/debian/snf-ganeti
 	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
+	  $(GANETI_DIR)/etc/bash_completion.d/ganeti
+	install -m 0644 $(CURDIR)/debian/snf-ganeti.overrides \
+	  $(GANETI_DIR)/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
+	rm -f $(GANETI_DIR)/usr/share/doc/snf-ganeti/html/_static/jsquery.js
+
+	rmdir $(GANETI_DIR)/var/run/ganeti
+	rmdir $(GANETI_DIR)/var/run
 
-	rmdir debian/snf-ganeti/var/run/ganeti
-	rmdir debian/snf-ganeti/var/run
+	# htools
+	mv $(GANETI_DIR)/usr/bin $(HTOOLS_DIR)/usr/
+	mv $(GANETI_DIR)/usr/lib/ganeti/iallocators/hail \
+	   $(HTOOLS_DIR)/usr/lib/ganeti/iallocators/
+
+	mkdir -p $(HTOOLS_DIR)/usr/share/man/man1
+	for i in htools hail hbal hscan hspace; do \
+	  mv $(GANETI_DIR)/usr/share/man/man1/$${i}.1 \
+	     $(HTOOLS_DIR)/usr/share/man/man1/ ; \
+	done
+	rmdir $(GANETI_DIR)/usr/share/man/man1
 
 # 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
+	dh_testdir -i
+	dh_testroot -i
+	dh_installchangelogs -i
+	dh_installdocs -i
+#	dh_installexamples -i
+#	dh_installmenu -i
+#	dh_installdebconf -i
+#	dh_installlogrotate -i
+#	dh_installemacsen -i
+#	dh_installcatalogs -i
+#	dh_installpam -i
+#	dh_installmime -i
 # 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
+	dh_installinit --name=ganeti --error-handler=true -- defaults 20 80 -i
+	dh_installcron --name=ganeti -i
+#	dh_installinfo -i
+#	dh_installwm -i
+#	dh_installudev -i
+#	dh_lintian -i
+#	dh_bugfiles -i
+#	dh_undocumented -i
+	dh_installman -i
+	dh_link -i
 	# 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
+	dh_compress -Xsnf-ganeti/html/ -i
+	dh_fixperms -i
+#	dh_perl -i
+	dh_installdeb -i
+	dh_gencontrol -i
+	dh_md5sums -i
+	dh_builddeb -i
 
 # Build architecture-dependent files here.
 binary-arch: build install
-# We have nothing to do by default.
+	dh_testdir -a
+	dh_testroot -a
+	dh_installchangelogs -a
+	dh_installdocs -a
+#	dh_installexamples -a
+#	dh_install -a
+#	dh_installmenu -a
+#	dh_installdebconf -a
+#	dh_installlogrotate -a
+#	dh_installemacsen -a
+#	dh_installcatalogs -a
+#	dh_installpam -a
+#	dh_installmime -a
+#	dh_installinit -a
+#	dh_installcron -a
+#	dh_installinfo -a
+#	dh_installwm -a
+#	dh_installudev -a
+#	dh_lintian -a
+#	dh_bugfiles -a
+#	dh_undocumented -a
+	dh_installman -a
+	dh_link -a
+	dh_strip -a
+	dh_compress -a
+	dh_fixperms -a
+#	dh_perl -a
+#	dh_makeshlibs -a
+	dh_installdeb -a
+	dh_shlibdeps -a
+	dh_gencontrol -a
+	dh_md5sums -a
+	dh_builddeb -a
 
 binary: binary-indep binary-arch
 .PHONY: build clean binary-indep binary-arch binary install
-- 
GitLab