[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