[Pkg-ganeti-devel] [SCM] Ganeti packaging branch, master, updated. debian/2.4.5-2-5-g3974c86

Iustin Pop iustin at debian.org
Sun May 6 17:45:03 UTC 2012


The following commit has been merged in the master branch:
commit 27cb0524b2f8462f466276e1c96c99693400cfe5
Author: Iustin Pop <iustin at debian.org>
Date:   Sun May 6 18:22:08 2012 +0200

    Update packaging for htools integration
    
    Phew, lots of changes…

diff --git a/debian/changelog b/debian/changelog
index 635ad7e..b0e8696 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,13 @@
+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 at 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
diff --git a/debian/control b/debian/control
index b78ee5d..32f0997 100644
--- a/debian/control
+++ b/debian/control
@@ -3,7 +3,9 @@ Section: admin
 Priority: extra
 Maintainer: Debian Ganeti Team <pkg-ganeti-devel at lists.alioth.debian.org>
 Uploaders: Guido Trotter <ultrotter at debian.org>, Iustin Pop <iustin at debian.org>
-Build-Depends: debhelper (>= 7)
+Build-Depends: debhelper (>= 7), ghc (>= 6.12), libghc-curl-dev,
+ libghc-json-dev, libghc-network-dev, libcurl4-gnutls-dev,
+ libghc-parallel-dev
 Build-Depends-Indep: python-simplejson, python-pyparsing, python-openssl,
  python-support (>= 0.6), socat, python-pyinotify, python-pycurl,
  python-paramiko
@@ -40,3 +42,17 @@ Description: Cluster-based virtualization management software
  management, operating system installation  (in cooperation with OS-specific
  install scripts), startup, shutdown, failover of instances between physical
  systems.
+
+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
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/patches/fix-old-style-imports.patch b/debian/patches/fix-old-style-imports.patch
new file mode 100644
index 0000000..eb77ebc
--- /dev/null
+++ b/debian/patches/fix-old-style-imports.patch
@@ -0,0 +1,154 @@
+Description: fix old-style Haskell imports
+ Old-style imports (plain 'System') don't work anymore with GHC 7.4. Newer
+ upstreams already fix this, but it hasn't been backported to 2.5.
+Author: Iustin Pop <iustin at debian.org>
+Forwarded: not-needed
+Last-Update: 2012-05-06
+--- a/htools/Ganeti/HTools/CLI.hs
++++ b/htools/Ganeti/HTools/CLI.hs
+@@ -83,7 +83,7 @@
+ import System.Console.GetOpt
+ import System.IO
+ import System.Info
+-import System
++import System.Exit
+ import Text.Printf (printf)
+ 
+ import qualified Ganeti.HTools.Version as Version(version)
+--- a/htools/Ganeti/HTools/ExtLoader.hs
++++ b/htools/Ganeti/HTools/ExtLoader.hs
+@@ -37,7 +37,7 @@
+ import Data.Maybe (isJust, fromJust)
+ import System.FilePath
+ import System.IO
+-import System
++import System.Exit
+ import Text.Printf (hPrintf)
+ 
+ import qualified Ganeti.HTools.Luxi as Luxi
+--- a/htools/Ganeti/HTools/Program/Hspace.hs
++++ b/htools/Ganeti/HTools/Program/Hspace.hs
+@@ -31,9 +31,9 @@
+ import Data.List
+ import Data.Maybe (isJust, fromJust)
+ import Data.Ord (comparing)
+-import System (exitWith, ExitCode(..))
++import System.Exit (exitWith, ExitCode(..))
+ import System.IO
+-import qualified System
++import System.Environment (getArgs)
+ 
+ import Text.Printf (printf, hPrintf)
+ 
+@@ -347,7 +347,7 @@
+ -- | Main function.
+ main :: IO ()
+ main = do
+-  cmd_args <- System.getArgs
++  cmd_args <- getArgs
+   (opts, args) <- parseOpts cmd_args "hspace" options
+ 
+   unless (null args) $ do
+--- a/htools/htools.hs
++++ b/htools/htools.hs
+@@ -26,7 +26,8 @@
+ module Main (main) where
+ 
+ import Data.Char (toLower)
+-import System
++import System.Environment
++import System.Exit
+ import System.IO
+ 
+ import Ganeti.HTools.Utils
+--- a/htools/Ganeti/HTools/Program/Hail.hs
++++ b/htools/Ganeti/HTools/Program/Hail.hs
+@@ -27,7 +27,7 @@
+ 
+ import Control.Monad
+ import System.IO
+-import qualified System
++import System.Environment (getArgs)
+ 
+ import qualified Ganeti.HTools.Cluster as Cluster
+ 
+@@ -51,7 +51,7 @@
+ -- | Main function.
+ main :: IO ()
+ main = do
+-  cmd_args <- System.getArgs
++  cmd_args <- getArgs
+   (opts, args) <- parseOpts cmd_args "hail" options
+ 
+   let shownodes = optShowNodes opts
+--- a/htools/Ganeti/HTools/Program/Hbal.hs
++++ b/htools/Ganeti/HTools/Program/Hbal.hs
+@@ -31,11 +31,11 @@
+ import Data.List
+ import Data.Maybe (isJust, isNothing, fromJust)
+ import Data.IORef
+-import System (exitWith, ExitCode(..))
++import System.Exit (exitWith, ExitCode(..))
+ import System.IO
+ import System.Posix.Process
+ import System.Posix.Signals
+-import qualified System
++import System.Environment (getArgs)
+ 
+ import Text.Printf (printf, hPrintf)
+ 
+@@ -227,7 +227,7 @@
+ -- | Main function.
+ main :: IO ()
+ main = do
+-  cmd_args <- System.getArgs
++  cmd_args <- getArgs
+   (opts, args) <- parseOpts cmd_args "hbal" options
+ 
+   unless (null args) $ do
+--- a/htools/Ganeti/HTools/Program/Hscan.hs
++++ b/htools/Ganeti/HTools/Program/Hscan.hs
+@@ -27,10 +27,10 @@
+ 
+ import Control.Monad
+ import Data.Maybe (isJust, fromJust, fromMaybe)
+-import System (exitWith, ExitCode(..))
++import System.Exit (exitWith, ExitCode(..))
+ import System.IO
+ import System.FilePath
+-import qualified System
++import System.Environment (getArgs)
+ 
+ import Text.Printf (printf)
+ 
+@@ -132,7 +132,7 @@
+ -- | Main function.
+ main :: IO ()
+ main = do
+-  cmd_args <- System.getArgs
++  cmd_args <- getArgs
+   (opts, clusters) <- parseOpts cmd_args "hscan" options
+   let local = "LOCAL"
+ 
+--- a/htools/Ganeti/HTools/IAlloc.hs
++++ b/htools/Ganeti/HTools/IAlloc.hs
+@@ -34,7 +34,7 @@
+ import Control.Monad
+ import Text.JSON (JSObject, JSValue(JSArray),
+                   makeObj, encodeStrict, decodeStrict, fromJSObject, showJSON)
+-import System (exitWith, ExitCode(..))
++import System.Exit (exitWith, ExitCode(..))
+ import System.IO
+ 
+ import qualified Ganeti.HTools.Cluster as Cluster
+--- a/htools/test.hs
++++ b/htools/test.hs
+@@ -30,7 +30,7 @@
+ import System.Console.GetOpt
+ import System.IO
+ import System.Exit
+-import System (getArgs)
++import System.Environment (getArgs)
+ import Text.Printf
+ 
+ import Ganeti.HTools.QC
diff --git a/debian/patches/series b/debian/patches/series
index 62f588b..ff54fa6 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 fix-startup-with-old-config.patch
 cfgupgrade12-remove-old-ssconf.patch
+fix-old-style-imports.patch
diff --git a/debian/rules b/debian/rules
index 6a97b56..2a2966f 100755
--- a/debian/rules
+++ b/debian/rules
@@ -6,6 +6,9 @@
 # Uncomment this to turn on verbose mode.
 #export DH_VERBOSE=1
 
+GANETI_DIR=$(CURDIR)/debian/ganeti2
+HTOOLS_DIR=$(CURDIR)/debian/ganeti-htools
+
 build: build-arch build-indep
 build-arch: build-stamp
 build-indep: build-stamp
@@ -21,7 +24,8 @@ build-stamp:
 	  --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/ganeti2
+	  --docdir=/usr/share/doc/ganeti2 \
+	  --enable-htools --enable-htools-rapi
 
 	$(MAKE)
 
@@ -51,62 +55,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/ganeti2
 	cp $(CURDIR)/doc/examples/ganeti.initd $(CURDIR)/debian/ganeti2.ganeti.init
 	cp $(CURDIR)/doc/examples/ganeti.cron $(CURDIR)/debian/ganeti2.ganeti.cron.d
 	cp $(CURDIR)/doc/examples/ganeti.default $(CURDIR)/debian/ganeti2.ganeti.default
 	# No longer needed with ganeti 2.1
 	#mv $(CURDIR)/debian/ganeti2/usr/share/doc/ganeti $(CURDIR)/debian/ganeti2/usr/share/doc/ganeti2
 	install -m 0644 $(CURDIR)/doc/examples/bash_completion \
-	  $(CURDIR)/debian/ganeti2/etc/bash_completion.d/ganeti
+	  $(GANETI_DIR)/etc/bash_completion.d/ganeti
 	install -m 0644 $(CURDIR)/debian/ganeti2.overrides \
-	  $(CURDIR)/debian/ganeti2/usr/share/lintian/overrides/ganeti2
+	  $(GANETI_DIR)/usr/share/lintian/overrides/ganeti2
 
 	# remove embedded copy of jquery
-	rm -f $(CURDIR)/debian/ganeti2/usr/share/doc/ganeti2/html/_static/jsquery.js
+	rm -f $(GANETI_DIR)/usr/share/doc/ganeti2/html/_static/jsquery.js
+
+	rmdir $(GANETI_DIR)/var/run/ganeti
+	rmdir $(GANETI_DIR)/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/
 
-	rmdir debian/ganeti2/var/run/ganeti
-	rmdir debian/ganeti2/var/run
+	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 -Xganeti2/html/
-	dh_fixperms
-#	dh_perl
-	dh_installdeb
-	dh_gencontrol
-	dh_md5sums
-	dh_builddeb
+	dh_compress -Xganeti2/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

-- 
Ganeti packaging



More information about the Pkg-ganeti-devel mailing list