summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2020-09-21 09:32:42 +0200
committerMichał Górny <mgorny@gentoo.org>2020-09-21 09:33:13 +0200
commitc275097da67020689b5a06a74c9fff511462a3a3 (patch)
tree0d5fdae7c9c62f52b4bc9572c3b647549b0b2829 /app-emulation
parentapp-emulation/ganeti-instance-debootstrap: Remove last-rited pkg (diff)
downloadgentoo-c275097da67020689b5a06a74c9fff511462a3a3.tar.gz
gentoo-c275097da67020689b5a06a74c9fff511462a3a3.tar.bz2
gentoo-c275097da67020689b5a06a74c9fff511462a3a3.zip
app-emulation/ganeti: Remove last-rited pkg
Closes: https://bugs.gentoo.org/713052 Signed-off-by: Michał Górny <mgorny@gentoo.org>
Diffstat (limited to 'app-emulation')
-rw-r--r--app-emulation/ganeti/Manifest5
-rw-r--r--app-emulation/ganeti/files/0001-kvm-use_guest_agent-QEMU-Guest-Agent-sup.stable-2.15.patch122
-rw-r--r--app-emulation/ganeti/files/0001-kvm-use_guest_agent-QEMU-Guest-Agent-sup.stable-2.16.patch122
-rw-r--r--app-emulation/ganeti/files/fix_ftbfs_with_sphinx_1.447
-rw-r--r--app-emulation/ganeti/files/ganeti-2.10-rundir.patch35
-rw-r--r--app-emulation/ganeti/files/ganeti-2.11-add-pgrep.patch25
-rw-r--r--app-emulation/ganeti/files/ganeti-2.11-daemon-util-tests.patch38
-rw-r--r--app-emulation/ganeti/files/ganeti-2.11-dont-nest-libdir.patch49
-rw-r--r--app-emulation/ganeti/files/ganeti-2.11-dont-print-man-help.patch13
-rw-r--r--app-emulation/ganeti/files/ganeti-2.11-tests.patch13
-rw-r--r--app-emulation/ganeti/files/ganeti-2.12-qemu-enable-kvm.patch12
-rw-r--r--app-emulation/ganeti/files/ganeti-2.12-start-stop-daemon-args.patch39
-rw-r--r--app-emulation/ganeti/files/ganeti-2.13-process_unittest.patch21
-rw-r--r--app-emulation/ganeti/files/ganeti-2.15-daemon-util.patch53
-rw-r--r--app-emulation/ganeti/files/ganeti-2.15-disable-docs.patch44
-rw-r--r--app-emulation/ganeti/files/ganeti-2.15-dont-invert-return-values-for-man-warnings.patch10
-rw-r--r--app-emulation/ganeti/files/ganeti-2.15-kvmd-run-as-daemon-user.patch33
-rw-r--r--app-emulation/ganeti/files/ganeti-2.15-noded-must-run-as-root.patch50
-rw-r--r--app-emulation/ganeti/files/ganeti-2.15-python-mock.patch26
-rw-r--r--app-emulation/ganeti/files/ganeti-2.15-respect-HFLAGS.patch12
-rw-r--r--app-emulation/ganeti/files/ganeti-2.15-use-balloon-device.patch13
-rw-r--r--app-emulation/ganeti/files/ganeti-2.15.2-bdev_py.patch16
-rw-r--r--app-emulation/ganeti/files/ganeti-2.15.2-check-man-warnings.patch13
-rw-r--r--app-emulation/ganeti/files/ganeti-2.15.2-ftbfs-sphinx-warning.patch41
-rw-r--r--app-emulation/ganeti/files/ganeti-2.15.2-pyopenssl.patch33
-rw-r--r--app-emulation/ganeti/files/ganeti-2.15.2-remove-sandbox-failing-tests.patch58
-rw-r--r--app-emulation/ganeti/files/ganeti-2.16-kvmd-run-as-daemon-user.patch30
-rw-r--r--app-emulation/ganeti/files/ganeti-2.16-noded-must-run-as-root.patch26
-rw-r--r--app-emulation/ganeti/files/ganeti-2.17-relax-deps.patch21
-rw-r--r--app-emulation/ganeti/files/ganeti-2.9-disable-root-tests.patch18
-rw-r--r--app-emulation/ganeti/files/ganeti-2.9-skip-cli-test.patch18
-rw-r--r--app-emulation/ganeti/files/ganeti-kvm-poweroff.confd4
-rw-r--r--app-emulation/ganeti/files/ganeti-kvm-poweroff.initd57
-rw-r--r--app-emulation/ganeti/files/ganeti-lockdir.patch15
-rw-r--r--app-emulation/ganeti/files/ganeti.confd-r219
-rw-r--r--app-emulation/ganeti/files/ganeti.initd-r396
-rw-r--r--app-emulation/ganeti/files/ganeti.initd-r496
-rw-r--r--app-emulation/ganeti/ganeti-2.15.2-r11.ebuild389
-rw-r--r--app-emulation/ganeti/ganeti-2.16.0_rc1.ebuild354
-rw-r--r--app-emulation/ganeti/ganeti-2.17.0_beta1.ebuild354
-rw-r--r--app-emulation/ganeti/metadata.xml39
41 files changed, 0 insertions, 2479 deletions
diff --git a/app-emulation/ganeti/Manifest b/app-emulation/ganeti/Manifest
deleted file mode 100644
index 10c2218aa13a..000000000000
--- a/app-emulation/ganeti/Manifest
+++ /dev/null
@@ -1,5 +0,0 @@
-DIST ganeti-2.15.2.tar.gz 4723007 BLAKE2B d49d2ed9df515514a99d42303799e5ffc751eb8e6b397f86174cb3d48ec846fd3d146737240eea9ec0ce6fd9d07e04a27831a45a4354d3d49597b9f5cff33d7b SHA512 e0707aa535857779622e0eb18cccb89bc34fe4acf373628c30524e3f7e572c4b3d628946ad219149c14615d6471c4d72dbd0c6e3e1855a9f3644b4605544df85
-DIST ganeti-2.15_2.15.2-11.debian.tar.xz 67652 BLAKE2B d10f83a59a1c2d05fa6704dfdc46867f0e3eed276086de9ad2e86def1e7894012b89f3f9c111076c37ef37b857967e4bae5cf769eaabf5907b3a42bc806b4472 SHA512 1c992b9842f1a8492eeaaab8950939c96cc03abf679234211753b92f4753278b086a0a77e2e32b912d4a69635c11e8305d350cda8285734d706cce741d897aa3
-DIST ganeti-2.16.0~rc1.tar.gz 4794934 BLAKE2B 867d7d48e98d4490db8279b83b44006e0afc1a421592d523db2d04b4b04636090686773ef890c89df41f0311cbf3c4d5a2c314c39c4429f50b07a7a6d1a9616f SHA512 a4bed40e48ecd8ee1f3f8137faf28aea38ffb8955f48bbd233be17660035679fa27d0ef6f8fe20507d34ca9e1dd594e564c9c53412364b6cc05dc8ed2f5602be
-DIST ganeti-2.17.0~beta1.tar.gz 4880091 BLAKE2B bd094ac421b8b49abcd7643641aa4c2d62aa2f8a4ab55289711cef8c47cc32634bf06b99adbf9383de3945766112a1838d2191dfb51013dc4fba81676e264e64 SHA512 d836444ea5696c9689ee0fae56192720ef79b2a4a8962c031abacc7ef02ebbb9e9cdadd15aa5d315c2d3da6cbe5043b6c22b9ed94fd13883b5dfa23e08a2867e
-DIST ganeti_2.16.0~rc1-1.debian.tar.xz 41892 BLAKE2B 3220b9a071259cee3a86771b6f4d312c23392f428e1e0452f17f48140b6df5193447dd0fa1b5185d6866cfe48c8eb3dd6d22f01f930499471eab7044ca9b7268 SHA512 4501bc058b65adee6285c3d0dcf76ee8bfc4759af6bb11b0414503c6990c7d09942f3cc8e08d270e76bcf13211cc113f44304393dadd2bb8588d9b15230538af
diff --git a/app-emulation/ganeti/files/0001-kvm-use_guest_agent-QEMU-Guest-Agent-sup.stable-2.15.patch b/app-emulation/ganeti/files/0001-kvm-use_guest_agent-QEMU-Guest-Agent-sup.stable-2.15.patch
deleted file mode 100644
index 460636fa6340..000000000000
--- a/app-emulation/ganeti/files/0001-kvm-use_guest_agent-QEMU-Guest-Agent-sup.stable-2.15.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-From c3697936405ed8c95b674a7d412886e364306f5f Mon Sep 17 00:00:00 2001
-Message-Id: <c3697936405ed8c95b674a7d412886e364306f5f.1483650125.git.robbat2@gentoo.org>
-From: "Robin H. Johnson" <robbat2@gentoo.org>
-Date: Thu, 29 Sep 2016 08:57:28 -0700
-Subject: [PATCH-2.15] kvm: use_guest_agent: QEMU Guest Agent support
-
-Implement the QEMU Guest Agent sockets, so that code/scripts on the
-hypervisors can communicate with guest operating systems easily.
-
-Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
----
- lib/hypervisor/hv_kvm/__init__.py | 23 +++++++++++++++++++++++
- man/gnt-instance.rst | 7 +++++++
- src/Ganeti/Constants.hs | 5 +++++
- 3 files changed, 35 insertions(+)
-
-diff --git a/lib/hypervisor/hv_kvm/__init__.py b/lib/hypervisor/hv_kvm/__init__.py
-index cd29baa38..89bc18b85 100644
---- a/lib/hypervisor/hv_kvm/__init__.py
-+++ b/lib/hypervisor/hv_kvm/__init__.py
-@@ -351,6 +351,7 @@ class KVMHypervisor(hv_base.BaseHypervisor):
- constants.HV_MIGRATION_BANDWIDTH: hv_base.REQ_NONNEGATIVE_INT_CHECK,
- constants.HV_MIGRATION_DOWNTIME: hv_base.REQ_NONNEGATIVE_INT_CHECK,
- constants.HV_MIGRATION_MODE: hv_base.MIGRATION_MODE_CHECK,
-+ constants.HV_USE_GUEST_AGENT: hv_base.NO_CHECK,
- constants.HV_USE_LOCALTIME: hv_base.NO_CHECK,
- constants.HV_DISK_CACHE:
- hv_base.ParamInSet(True, constants.HT_VALID_CACHE_TYPES),
-@@ -581,6 +582,13 @@ class KVMHypervisor(hv_base.BaseHypervisor):
- """
- return utils.PathJoin(cls._CTRL_DIR, "%s.qmp" % instance_name)
-
-+ @classmethod
-+ def _InstanceQemuGuestAgentMonitor(cls, instance_name):
-+ """Returns the instance serial QEMU Guest Agent socket name
-+
-+ """
-+ return utils.PathJoin(cls._CTRL_DIR, "%s.qga" % instance_name)
-+
- @classmethod
- def _InstanceKvmdMonitor(cls, instance_name):
- """Returns the instance kvm daemon socket name
-@@ -667,6 +675,7 @@ class KVMHypervisor(hv_base.BaseHypervisor):
- utils.RemoveFile(cls._InstanceMonitor(instance_name))
- utils.RemoveFile(cls._InstanceSerial(instance_name))
- utils.RemoveFile(cls._InstanceQmpMonitor(instance_name))
-+ utils.RemoveFile(cls._InstanceQemuGuestAgentMonitor(instance_name))
- utils.RemoveFile(cls._InstanceKVMRuntime(instance_name))
- utils.RemoveFile(cls._InstanceKeymapFile(instance_name))
- uid_file = cls._InstanceUidFile(instance_name)
-@@ -1376,6 +1385,20 @@ class KVMHypervisor(hv_base.BaseHypervisor):
- if self._UUID_RE.search(kvmhelp):
- kvm_cmd.extend(["-uuid", instance.uuid])
-
-+ # Add guest agent socket
-+ if hvp[constants.HV_USE_GUEST_AGENT]:
-+ qga_addr = utils.GetFreeSlot(pci_reservations, reserve=True)
-+ qga_pci_info = "bus=%s,addr=%s" % ('pci.0', hex(qga_addr))
-+ qga_path = self._InstanceQemuGuestAgentMonitor(instance.name)
-+ logging.info("KVM: Guest Agent available at %s", qga_path)
-+ # The 'qga0' identified can change, but the 'org.qemu.guest_agent.0' string is
-+ # the default expected by the Guest Agent.
-+ kvm_cmd.extend([
-+ "-chardev", "socket,path=%s,server,nowait,id=qga0" % qga_path,
-+ "-device", "virtio-serial,id=qga0,%s" % qga_pci_info,
-+ "-device", "virtserialport,chardev=qga0,name=org.qemu.guest_agent.0",
-+ ])
-+
- if hvp[constants.HV_KVM_EXTRA]:
- kvm_cmd.extend(hvp[constants.HV_KVM_EXTRA].split(" "))
-
-diff --git a/man/gnt-instance.rst b/man/gnt-instance.rst
-index a29fd7972..433b1f3b1 100644
---- a/man/gnt-instance.rst
-+++ b/man/gnt-instance.rst
-@@ -526,6 +526,13 @@ viridian
- viridian (Hyper-V) for this instance. The default is false,
- disabling viridian support.
-
-+use\_guest\_agent
-+ Valid for the KVM hypervisor.
-+
-+ A boolean option that specifies if the hypervisor should enable
-+ the QEMU Guest Agent protocol for this instance. By default, the
-+ Guest Agent is disabled.
-+
- use\_localtime
- Valid for the Xen HVM and KVM hypervisors.
-
-diff --git a/src/Ganeti/Constants.hs b/src/Ganeti/Constants.hs
-index 09783d4bf..cf5421946 100644
---- a/src/Ganeti/Constants.hs
-+++ b/src/Ganeti/Constants.hs
-@@ -1806,6 +1806,9 @@ hvUsbMouse = "usb_mouse"
- hvUseBootloader :: String
- hvUseBootloader = "use_bootloader"
-
-+hvUseGuestAgent :: String
-+hvUseGuestAgent = "use_guest_agent"
-+
- hvUseLocaltime :: String
- hvUseLocaltime = "use_localtime"
-
-@@ -1938,6 +1941,7 @@ hvsParameterTypes = Map.fromList
- , (hvUsbDevices, VTypeString)
- , (hvUsbMouse, VTypeString)
- , (hvUseBootloader, VTypeBool)
-+ , (hvUseGuestAgent, VTypeBool)
- , (hvUseLocaltime, VTypeBool)
- , (hvVga, VTypeString)
- , (hvVhostNet, VTypeBool)
-@@ -3996,6 +4000,7 @@ hvcDefaults =
- , (hvMigrationBandwidth, PyValueEx (32 :: Int))
- , (hvMigrationDowntime, PyValueEx (30 :: Int))
- , (hvMigrationMode, PyValueEx htMigrationLive)
-+ , (hvUseGuestAgent, PyValueEx False)
- , (hvUseLocaltime, PyValueEx False)
- , (hvDiskCache, PyValueEx htCacheDefault)
- , (hvSecurityModel, PyValueEx htSmNone)
---
-2.11.0.rc2
-
diff --git a/app-emulation/ganeti/files/0001-kvm-use_guest_agent-QEMU-Guest-Agent-sup.stable-2.16.patch b/app-emulation/ganeti/files/0001-kvm-use_guest_agent-QEMU-Guest-Agent-sup.stable-2.16.patch
deleted file mode 100644
index 6bca593a08d6..000000000000
--- a/app-emulation/ganeti/files/0001-kvm-use_guest_agent-QEMU-Guest-Agent-sup.stable-2.16.patch
+++ /dev/null
@@ -1,122 +0,0 @@
-From 16a08ecb268062a2634dbfc081b4729cb749b7b4 Mon Sep 17 00:00:00 2001
-Message-Id: <16a08ecb268062a2634dbfc081b4729cb749b7b4.1483650125.git.robbat2@gentoo.org>
-From: "Robin H. Johnson" <robbat2@gentoo.org>
-Date: Thu, 29 Sep 2016 08:57:28 -0700
-Subject: [PATCH-2.16] kvm: use_guest_agent: QEMU Guest Agent support
-
-Implement the QEMU Guest Agent sockets, so that code/scripts on the
-hypervisors can communicate with guest operating systems easily.
-
-Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
----
- lib/hypervisor/hv_kvm/__init__.py | 23 +++++++++++++++++++++++
- man/gnt-instance.rst | 7 +++++++
- src/Ganeti/Constants.hs | 5 +++++
- 3 files changed, 35 insertions(+)
-
-diff --git a/lib/hypervisor/hv_kvm/__init__.py b/lib/hypervisor/hv_kvm/__init__.py
-index ac02ff56c..b865d6f3a 100644
---- a/lib/hypervisor/hv_kvm/__init__.py
-+++ b/lib/hypervisor/hv_kvm/__init__.py
-@@ -497,6 +497,7 @@ class KVMHypervisor(hv_base.BaseHypervisor):
- constants.HV_MIGRATION_BANDWIDTH: hv_base.REQ_NONNEGATIVE_INT_CHECK,
- constants.HV_MIGRATION_DOWNTIME: hv_base.REQ_NONNEGATIVE_INT_CHECK,
- constants.HV_MIGRATION_MODE: hv_base.MIGRATION_MODE_CHECK,
-+ constants.HV_USE_GUEST_AGENT: hv_base.NO_CHECK,
- constants.HV_USE_LOCALTIME: hv_base.NO_CHECK,
- constants.HV_DISK_CACHE:
- hv_base.ParamInSet(True, constants.HT_VALID_CACHE_TYPES),
-@@ -750,6 +751,13 @@ class KVMHypervisor(hv_base.BaseHypervisor):
- """
- return utils.PathJoin(cls._CTRL_DIR, "%s.qmp" % instance_name)
-
-+ @classmethod
-+ def _InstanceQemuGuestAgentMonitor(cls, instance_name):
-+ """Returns the instance serial QEMU Guest Agent socket name
-+
-+ """
-+ return utils.PathJoin(cls._CTRL_DIR, "%s.qga" % instance_name)
-+
- @classmethod
- def _InstanceKvmdMonitor(cls, instance_name):
- """Returns the instance kvm daemon socket name
-@@ -836,6 +844,7 @@ class KVMHypervisor(hv_base.BaseHypervisor):
- utils.RemoveFile(cls._InstanceMonitor(instance_name))
- utils.RemoveFile(cls._InstanceSerial(instance_name))
- utils.RemoveFile(cls._InstanceQmpMonitor(instance_name))
-+ utils.RemoveFile(cls._InstanceQemuGuestAgentMonitor(instance_name))
- utils.RemoveFile(cls._InstanceKVMRuntime(instance_name))
- utils.RemoveFile(cls._InstanceKeymapFile(instance_name))
- uid_file = cls._InstanceUidFile(instance_name)
-@@ -1544,6 +1553,20 @@ class KVMHypervisor(hv_base.BaseHypervisor):
- if self._UUID_RE.search(kvmhelp):
- kvm_cmd.extend(["-uuid", instance.uuid])
-
-+ # Add guest agent socket
-+ if hvp[constants.HV_USE_GUEST_AGENT]:
-+ qga_addr = utils.GetFreeSlot(bus_slots[_PCI_BUS], reserve=True)
-+ qga_pci_info = "bus=%s,addr=%s" % (_PCI_BUS, hex(qga_addr))
-+ qga_path = self._InstanceQemuGuestAgentMonitor(instance.name)
-+ logging.info("KVM: Guest Agent available at %s", qga_path)
-+ # The 'qga0' identified can change, but the 'org.qemu.guest_agent.0' string is
-+ # the default expected by the Guest Agent.
-+ kvm_cmd.extend([
-+ "-chardev", "socket,path=%s,server,nowait,id=qga0" % qga_path,
-+ "-device", "virtio-serial,id=qga0,%s" % qga_pci_info,
-+ "-device", "virtserialport,chardev=qga0,name=org.qemu.guest_agent.0",
-+ ])
-+
- if hvp[constants.HV_KVM_EXTRA]:
- kvm_cmd.extend(hvp[constants.HV_KVM_EXTRA].split(" "))
-
-diff --git a/man/gnt-instance.rst b/man/gnt-instance.rst
-index 283392cc8..493ae929d 100644
---- a/man/gnt-instance.rst
-+++ b/man/gnt-instance.rst
-@@ -545,6 +545,13 @@ viridian
- viridian (Hyper-V) for this instance. The default is false,
- disabling viridian support.
-
-+use\_guest\_agent
-+ Valid for the KVM hypervisor.
-+
-+ A boolean option that specifies if the hypervisor should enable
-+ the QEMU Guest Agent protocol for this instance. By default, the
-+ Guest Agent is disabled.
-+
- use\_localtime
- Valid for the Xen HVM and KVM hypervisors.
-
-diff --git a/src/Ganeti/Constants.hs b/src/Ganeti/Constants.hs
-index 420ccb6cd..4aa5edf63 100644
---- a/src/Ganeti/Constants.hs
-+++ b/src/Ganeti/Constants.hs
-@@ -1814,6 +1814,9 @@ hvUsbMouse = "usb_mouse"
- hvUseBootloader :: String
- hvUseBootloader = "use_bootloader"
-
-+hvUseGuestAgent :: String
-+hvUseGuestAgent = "use_guest_agent"
-+
- hvUseLocaltime :: String
- hvUseLocaltime = "use_localtime"
-
-@@ -1948,6 +1951,7 @@ hvsParameterTypes = Map.fromList
- , (hvUsbDevices, VTypeString)
- , (hvUsbMouse, VTypeString)
- , (hvUseBootloader, VTypeBool)
-+ , (hvUseGuestAgent, VTypeBool)
- , (hvUseLocaltime, VTypeBool)
- , (hvVga, VTypeString)
- , (hvVhostNet, VTypeBool)
-@@ -4099,6 +4103,7 @@ hvcDefaults =
- , (hvMigrationBandwidth, PyValueEx (32 :: Int))
- , (hvMigrationDowntime, PyValueEx (30 :: Int))
- , (hvMigrationMode, PyValueEx htMigrationLive)
-+ , (hvUseGuestAgent, PyValueEx False)
- , (hvUseLocaltime, PyValueEx False)
- , (hvDiskCache, PyValueEx htCacheDefault)
- , (hvSecurityModel, PyValueEx htSmNone)
---
-2.11.0.rc2
-
diff --git a/app-emulation/ganeti/files/fix_ftbfs_with_sphinx_1.4 b/app-emulation/ganeti/files/fix_ftbfs_with_sphinx_1.4
deleted file mode 100644
index 0050203bf223..000000000000
--- a/app-emulation/ganeti/files/fix_ftbfs_with_sphinx_1.4
+++ /dev/null
@@ -1,47 +0,0 @@
-Copied from 2.15.2 Debian Patches, as it was missed in the 2.16.0~rc1 debian patches.
-
-Author: Apollon Oikonomopoulos <apoikos@debian.org>
-Description: Fix FTBFS with sphinx 1.4
- Suppress app.add_role warnings, as upstream knowingly overrides sphinx's
- built-in manpage role. Without this, a warning is emitted which then turns to
- an error when sphinx is run with the `-W' switch.
- .
- Also replace unicode ellipses in doc/design-query2.rst with three ascii dots,
- as sphinx emits another warning for not being able to properly highlight these
- lines as Python code.
-Last-Update: 2016-07-09
-Forwarded: no
---- a/doc/conf.py
-+++ b/doc/conf.py
-@@ -229,3 +229,8 @@
-
- # If false, no module index is generated.
- latex_use_modindex = False
-+
-+# We override the manpage role and sphinx issues a warning, which is treated as
-+# error. Suppress role_add warnings to avoid FTBFS.
-+
-+suppress_warnings = ["app.add_role"]
---- a/doc/design-query2.rst
-+++ b/doc/design-query2.rst
-@@ -129,16 +129,16 @@
- specific names, the filter must be specified as follows, with the
- inner part repeated for each name::
-
-- ["|", ["=", "name", "node1"], ["=", "name", "node2"], …]
-+ ["|", ["=", "name", "node1"], ["=", "name", "node2"], ...]
-
-- Filters consist of S-expressions (``["operator", <operants…>]``) and
-+ Filters consist of S-expressions (``["operator", <operants...>]``) and
- extensions will be made in the future to allow for more operators and
- fields. Such extensions might include a Python-style "in" operator,
- but for simplicity only "=" is supported in this implementation.
-
- To reiterate: Filters for this implementation must consist of exactly
-- one OR expression (``["|", …]``) and one or more name equality filters
-- (``["=", "name", "…"]``).
-+ one OR expression (``["|", ...]``) and one or more name equality filters
-+ (``["=", "name", "..."]``).
-
- Support for synchronous queries, currently available in the interface
- but disabled in the master daemon, will be dropped. Direct calls to
diff --git a/app-emulation/ganeti/files/ganeti-2.10-rundir.patch b/app-emulation/ganeti/files/ganeti-2.10-rundir.patch
deleted file mode 100644
index a723f2b63d85..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.10-rundir.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index df62fdf..b034d32 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -1865,7 +1865,7 @@ $(SHELL_ENV_INIT): Makefile stamp-directories
- echo; \
- echo 'readonly PKGLIBDIR=$(libdir)/ganeti'; \
- echo 'readonly LOG_DIR="$$LOCALSTATEDIR/log/ganeti"'; \
-- echo 'readonly RUN_DIR="$$LOCALSTATEDIR/run/ganeti"'; \
-+ echo 'readonly RUN_DIR="/run/ganeti"'; \
- echo 'readonly DATA_DIR="$$LOCALSTATEDIR/lib/ganeti"'; \
- echo 'readonly CONF_DIR="$$SYSCONFDIR/ganeti"'; \
- } > $@
-@@ -2208,7 +2208,7 @@ dist-release: dist
- install-exec-local:
- @mkdir_p@ "$(DESTDIR)${localstatedir}/lib/ganeti" \
- "$(DESTDIR)${localstatedir}/log/ganeti" \
-- "$(DESTDIR)${localstatedir}/run/ganeti"
-+ "$(DESTDIR)/run/ganeti"
- for dir in $(SYMLINK_TARGET_DIRS); do \
- @mkdir_p@ $(DESTDIR)$$dir; \
- done
-diff --git a/lib/pathutils.py b/lib/pathutils.py
-index f075e22..38b02e9 100644
---- a/lib/pathutils.py
-+++ b/lib/pathutils.py
-@@ -62,7 +62,7 @@ ETC_HOSTS = vcluster.ETC_HOSTS
- DATA_DIR = LOCALSTATEDIR + "/lib/ganeti"
- LOCK_DIR = LOCALSTATEDIR + "/lock"
- LOG_DIR = LOCALSTATEDIR + "/log/ganeti"
--RUN_DIR = LOCALSTATEDIR + "/run/ganeti"
-+RUN_DIR = "/run/ganeti"
-
- #: Script to configure master IP address
- DEFAULT_MASTER_SETUP_SCRIPT = TOOLSDIR + "/master-ip-setup"
diff --git a/app-emulation/ganeti/files/ganeti-2.11-add-pgrep.patch b/app-emulation/ganeti/files/ganeti-2.11-add-pgrep.patch
deleted file mode 100644
index b0a8bd99cc0a..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.11-add-pgrep.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/daemons/daemon-util.in b/daemons/daemon-util.in
-index 656dc95..01f2cbb 100644
---- a/daemons/daemon-util.in
-+++ b/daemons/daemon-util.in
-@@ -246,12 +246,14 @@ start() {
- @PKGLIBDIR@/ensure-dirs
-
- if type -p start-stop-daemon >/dev/null; then
-- start-stop-daemon --start --quiet \
-- --pidfile $pidfile \
-- --exec $daemonexec \
-- --user $usergroup \
-- --wait 300 \
-- -- $args "$@"
-+ if ! ret=$(/usr/bin/pgrep $name) ; then
-+ start-stop-daemon --start --quiet \
-+ --pidfile $pidfile \
-+ --exec $daemonexec \
-+ --user $usergroup \
-+ --wait 300 \
-+ -- $args "$@"
-+ fi
- else
- # TODO: Find a way to start daemon with a group, until then the group must
- # be removed
diff --git a/app-emulation/ganeti/files/ganeti-2.11-daemon-util-tests.patch b/app-emulation/ganeti/files/ganeti-2.11-daemon-util-tests.patch
deleted file mode 100644
index b60a85057761..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.11-daemon-util-tests.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff --git a/test/py/daemon-util_unittest.bash b/test/py/daemon-util_unittest.bash
-index faacaed..002bfb4 100755
---- a/test/py/daemon-util_unittest.bash
-+++ b/test/py/daemon-util_unittest.bash
-@@ -72,21 +72,21 @@ done
- $daemon_util check-exitcode 11 >/dev/null 2>&1 ||
- err "check-exitcode 11 (not master) didn't return 0"
-
--tmp=$(echo $($daemon_util list-start-daemons))
--test "$tmp" == "$DAEMONS" ||
-- err "list-start-daemons didn't return correct list of daemons"
-+#tmp=$(echo $($daemon_util list-start-daemons))
-+#test "$tmp" == "$DAEMONS" ||
-+# err "list-start-daemons didn't return correct list of daemons"
-
--tmp=$(echo $($daemon_util list-stop-daemons))
--test "$tmp" == "$STOPDAEMONS" ||
-- err "list-stop-daemons didn't return correct list of daemons"
-+#tmp=$(echo $($daemon_util list-stop-daemons))
-+#test "$tmp" == "$STOPDAEMONS" ||
-+# err "list-stop-daemons didn't return correct list of daemons"
-
--$daemon_util is-daemon-name >/dev/null 2>&1 &&
-- err "is-daemon-name didn't require daemon name"
-+#$daemon_util is-daemon-name >/dev/null 2>&1 &&
-+# err "is-daemon-name didn't require daemon name"
-
--for i in '' '.' '..' '-' 'not-a-daemon'; do
-- $daemon_util is-daemon-name "$i" >/dev/null 2>&1 &&
-- err "is-daemon-name thinks '$i' is a daemon name"
--done
-+#for i in '' '.' '..' '-' 'not-a-daemon'; do
-+# $daemon_util is-daemon-name "$i" >/dev/null 2>&1 &&
-+# err "is-daemon-name thinks '$i' is a daemon name"
-+#done
-
- for i in $DAEMONS; do
- $daemon_util is-daemon-name $i >/dev/null 2>&1 ||
diff --git a/app-emulation/ganeti/files/ganeti-2.11-dont-nest-libdir.patch b/app-emulation/ganeti/files/ganeti-2.11-dont-nest-libdir.patch
deleted file mode 100644
index 134b9d7bcac2..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.11-dont-nest-libdir.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index 66ad714..5bd2e9c 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -67,7 +67,7 @@ defaultversionedsharedir = $(prefix)/share/ganeti/default
-
- # Note: these are automake-specific variables, and must be named after
- # the directory + 'dir' suffix
--pkglibdir = $(versiondir)$(libdir)/ganeti
-+pkglibdir = $(versiondir)/ganeti
- myexeclibdir = $(pkglibdir)
- bindir = $(versiondir)/$(BINDIR)
- sbindir = $(versiondir)$(SBINDIR)
-@@ -1025,7 +1025,7 @@ bin_SCRIPTS = $(HS_BIN_PROGS)
- install-exec-hook:
- @mkdir_p@ $(DESTDIR)$(iallocatorsdir)
- # FIXME: this is a hardcoded logic, instead of auto-resolving
-- $(LN_S) -f ../../../bin/htools \
-+ $(LN_S) -f ../../usr/bin/htools \
- $(DESTDIR)$(iallocatorsdir)/hail
- for role in $(HS_BIN_ROLES); do \
- $(LN_S) -f htools $(DESTDIR)$(bindir)/$$role ; \
-@@ -2297,7 +2297,7 @@ install-exec-local:
- for prog in $(HS_BIN_ROLES); do \
- $(LN_S) -f $(defaultversiondir)$(BINDIR)/$$prog $(DESTDIR)$(BINDIR)/$$prog; \
- done
-- $(LN_S) -f $(defaultversiondir)$(libdir)/ganeti/iallocators/hail $(DESTDIR)$(libdir)/ganeti/iallocators/hail
-+ $(LN_S) -f $(defaultversiondir)/ganeti/iallocators/hail $(DESTDIR)$(libdir)/ganeti/iallocators/hail
- for prog in $(all_sbin_scripts); do \
- $(LN_S) -f $(defaultversiondir)$(SBINDIR)/$$prog $(DESTDIR)$(SBINDIR)/$$prog; \
- done
-@@ -2311,7 +2311,7 @@ install-exec-local:
- $(LN_S) -f $(defaultversionedsharedir)/$$prog $(DESTDIR)$(libdir)/ganeti/tools/$$prog; \
- done
- for prog in $(tools_basenames); do \
-- $(LN_S) -f $(defaultversiondir)/$(libdir)/ganeti/tools/$$prog $(DESTDIR)$(libdir)/ganeti/tools/$$prog; \
-+ $(LN_S) -f $(defaultversiondir)/ganeti/tools/$$prog $(DESTDIR)$(libdir)/ganeti/tools/$$prog; \
- done
- if ! test -n '$(ENABLE_MANPAGES)'; then \
- for man in $(manfullpath); do \
-@@ -2319,7 +2319,7 @@ install-exec-local:
- done; \
- fi
- for prog in $(myexeclib_scripts_basenames); do \
-- $(LN_S) -f $(defaultversiondir)$(libdir)/ganeti/$$prog $(DESTDIR)$(libdir)/ganeti/$$prog; \
-+ $(LN_S) -f $(defaultversiondir)/ganeti/$$prog $(DESTDIR)$(libdir)/ganeti/$$prog; \
- done
- if INSTALL_SYMLINKS
- $(LN_S) -f $(versionedsharedir) $(DESTDIR)$(sysconfdir)/ganeti/share
diff --git a/app-emulation/ganeti/files/ganeti-2.11-dont-print-man-help.patch b/app-emulation/ganeti/files/ganeti-2.11-dont-print-man-help.patch
deleted file mode 100644
index 42b90deb6596..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.11-dont-print-man-help.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index dcb8aa0..7d7ab76 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -796,7 +796,7 @@ fi
-
- AC_SUBST(SOCAT_USE_COMPRESS)
-
--if man --help | grep -q -e --warnings
-+if man --help |& grep -q -e --warnings
- then
- MAN_HAS_WARNINGS=1
- else
diff --git a/app-emulation/ganeti/files/ganeti-2.11-tests.patch b/app-emulation/ganeti/files/ganeti-2.11-tests.patch
deleted file mode 100644
index fd0a9f606718..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.11-tests.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/test/py/ganeti-cleaner_unittest.bash b/test/py/ganeti-cleaner_unittest.bash
-index bf57b76..ee3b90d 100755
---- a/test/py/ganeti-cleaner_unittest.bash
-+++ b/test/py/ganeti-cleaner_unittest.bash
-@@ -219,7 +219,7 @@ count_and_check_certs 10
- run_cleaner master
- count_and_check_certs 10
- run_cleaner node
--count_and_check_certs 5
-+count_and_check_certs 10
-
- check_logfiles $maxlog node
- check_logfiles $maxlog master
diff --git a/app-emulation/ganeti/files/ganeti-2.12-qemu-enable-kvm.patch b/app-emulation/ganeti/files/ganeti-2.12-qemu-enable-kvm.patch
deleted file mode 100644
index b199ff09367c..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.12-qemu-enable-kvm.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/lib/hypervisor/hv_kvm/__init__.py b/lib/hypervisor/hv_kvm/__init__.py
-index d0c42c4..e6d3bcf 100644
---- a/lib/hypervisor/hv_kvm/__init__.py
-+++ b/lib/hypervisor/hv_kvm/__init__.py
-@@ -1061,6 +1061,7 @@ class KVMHypervisor(hv_base.BaseHypervisor):
- pidfile = self._InstancePidFile(instance.name)
- kvm = hvp[constants.HV_KVM_PATH]
- kvm_cmd = [kvm]
-+ kvm_cmd.extend(["-enable-kvm"])
- # used just by the vnc server, if enabled
- kvm_cmd.extend(["-name", instance.name])
- kvm_cmd.extend(["-m", instance.beparams[constants.BE_MAXMEM]])
diff --git a/app-emulation/ganeti/files/ganeti-2.12-start-stop-daemon-args.patch b/app-emulation/ganeti/files/ganeti-2.12-start-stop-daemon-args.patch
deleted file mode 100644
index 463ff26095a2..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.12-start-stop-daemon-args.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/daemons/daemon-util.in b/daemons/daemon-util.in
-index 6a47253..11eb9d1 100644
---- a/daemons/daemon-util.in
-+++ b/daemons/daemon-util.in
-@@ -294,10 +294,11 @@ start() {
- @PKGLIBDIR@/ensure-dirs
-
- if type -p start-stop-daemon >/dev/null; then
-- start-stop-daemon --start --quiet --oknodo \
-+ start-stop-daemon --start --quiet \
- --pidfile $pidfile \
-- --startas $daemonexec \
-- --chuid $usergroup \
-+ --exec $daemonexec \
-+ --user $usergroup \
-+ --wait 300 \
- -- $args "$@"
- else
- # TODO: Find a way to start daemon with a group, until then the group must
-@@ -323,7 +324,7 @@ stop() {
- if use_systemctl; then
- systemctl stop "${name}.service"
- elif type -p start-stop-daemon >/dev/null; then
-- start-stop-daemon --stop --quiet --oknodo --retry 30 \
-+ start-stop-daemon --stop --quiet --retry 30 \
- --pidfile $pidfile
- else
- _ignore_error killproc -p $pidfile $name
-@@ -409,8 +410,8 @@ rotate_logs() {
- local daemonexec=$(_daemon_executable $name)
-
- if type -p start-stop-daemon >/dev/null; then
-- start-stop-daemon --stop --signal HUP --quiet \
-- --oknodo --pidfile $pidfile
-+ start-stop-daemon --signal HUP --quiet \
-+ --pidfile $pidfile
- else
- _ignore_error killproc \
- -p $pidfile \
diff --git a/app-emulation/ganeti/files/ganeti-2.13-process_unittest.patch b/app-emulation/ganeti/files/ganeti-2.13-process_unittest.patch
deleted file mode 100644
index 4001ac5aa4de..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.13-process_unittest.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/test/py/ganeti.utils.process_unittest.py b/test/py/ganeti.utils.process_unittest.py
-index 2cfb841..a5876a5 100755
---- a/test/py/ganeti.utils.process_unittest.py
-+++ b/test/py/ganeti.utils.process_unittest.py
-@@ -284,7 +284,7 @@ class TestRunCmd(testutils.GanetiTestCase):
- result = utils.RunCmd(["/bin/sh", "-c", cmd], timeout=0.2,
- noclose_fds=[self.proc_ready_helper.write_fd],
- postfork_fn=self.proc_ready_helper.Ready)
-- self.assertEqual(result.exit_code, 0)
-+ self.assertEqual(result.exit_code, None)
-
- def testTimeoutKill(self):
- cmd = ["/bin/sh", "-c", "trap '' TERM; echo >&%d; read < %s" %
-@@ -306,7 +306,6 @@ class TestRunCmd(testutils.GanetiTestCase):
- noclose_fds=[self.proc_ready_helper.write_fd],
- postfork_fn=self.proc_ready_helper.Ready)
- self.assert_(result.failed)
-- self.assertEqual(result.stdout, "sigtermed\n")
-
- def testListRun(self):
- """Test list runs"""
diff --git a/app-emulation/ganeti/files/ganeti-2.15-daemon-util.patch b/app-emulation/ganeti/files/ganeti-2.15-daemon-util.patch
deleted file mode 100644
index 25233c37a455..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.15-daemon-util.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-diff --git a/daemons/daemon-util.in b/daemons/daemon-util.in
-index 7636fc9..9c681ab 100644
---- a/daemons/daemon-util.in
-+++ b/daemons/daemon-util.in
-@@ -31,25 +31,26 @@ set -e
-
- @SHELL_ENV_INIT@
-
--readonly defaults_file="$SYSCONFDIR/default/ganeti"
--
--# This is a list of all daemons and the order in which they're started. The
--# order is important as there are dependencies between them. On shutdown,
--# they're stopped in reverse order.
--DAEMONS=(
-- ganeti-noded
-- ganeti-confd
-- ganeti-wconfd
-- ganeti-rapi
-- ganeti-luxid
-- ganeti-kvmd
-- )
-+readonly defaults_file="$SYSCONFDIR/conf.d/ganeti"
-
- # This is the list of daemons that are loaded on demand; they should only be
- # stopped, not started.
- ON_DEMAND_DAEMONS=(
- ganeti-metad
- )
-+DAEMONS=( ganeti-noded ganeti-confd )
-+
-+_is_master() {
-+ [ -z "${GANETI_MASTER}" ] && GANETI_MASTER="$(gnt-cluster getmaster)"
-+ [ -z "${LOCAL_HOSTNAME}" ] && LOCAL_HOSTNAME="$(hostname -f)"
-+ [ "${GANETI_MASTER}" = "${LOCAL_HOSTNAME}" ]
-+}
-+
-+if _is_master; then
-+ DAEMONS+=( ganeti-wconfd ganeti-rapi ganeti-luxid )
-+fi
-+
-+DAEMONS+=( ganeti-kvmd )
-
- _mond_enabled() {
- [[ "@CUSTOM_ENABLE_MOND@" == True ]]
-@@ -246,7 +247,7 @@ check() {
- return 1
- fi
- elif type -p start-stop-daemon >/dev/null; then
-- start-stop-daemon --stop --signal 0 --quiet \
-+ start-stop-daemon --signal 0 --quiet \
- --pidfile $pidfile
- else
- _ignore_error status \
diff --git a/app-emulation/ganeti/files/ganeti-2.15-disable-docs.patch b/app-emulation/ganeti/files/ganeti-2.15-disable-docs.patch
deleted file mode 100644
index adc2813d6a30..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.15-disable-docs.patch
+++ /dev/null
@@ -1,44 +0,0 @@
---- a/Makefile.am 2020-08-04 18:21:12.395282115 +0000
-+++ b/Makefile.am 2020-08-04 18:21:48.636729501 +0000
-@@ -1160,41 +1160,6 @@
- # has to exist in order for the sphinx module to be loaded
- # successfully, but we certainly don't want the docs to be rebuilt if
- # it changes
--doc/html/index.html doc/man-html/index.html: $(docinput) doc/conf.py \
-- configure.ac $(RUN_IN_TEMPDIR) lib/build/sphinx_ext.py \
-- lib/build/shell_example_lexer.py lib/ht.py \
-- doc/css/style.css lib/rapi/connector.py lib/rapi/rlib2.py \
-- autotools/sphinx-wrapper | $(built_python_sources)
-- @test -n "$(SPHINX)" || \
-- { echo 'sphinx-build' not found during configure; exit 1; }
--if !MANPAGES_IN_DOC
-- if test -n '$(ENABLE_MANPAGES)'; then \
-- echo 'Man pages in documentation were disabled at configure time' >&2; \
-- exit 1; \
-- fi
--endif
--## Sphinx provides little control over what content should be included. Some
--## mechanisms exist, but they all have drawbacks or actual issues. Since we
--## build two different versions of the documentation--once without man pages and
--## once, if enabled, with them--some control is necessary. xmpp-wrapper provides
--## us with this, but requires running in a temporary directory. It moves the
--## correct files into place depending on environment variables.
-- dir=$(dir $@) && \
-- @mkdir_p@ $$dir && \
-- PYTHONPATH=. ENABLE_MANPAGES=$(ENABLE_MANPAGES) COPY_DOC=1 \
-- HTML_THEME=$(SPHINX_HTML_THEME) \
-- $(RUN_IN_TEMPDIR) autotools/sphinx-wrapper $(SPHINX) -q -W -b html \
-- -d . \
-- -D version="$(VERSION_MAJOR).$(VERSION_MINOR)" \
-- -D release="$(PACKAGE_VERSION)" \
-- -D graphviz_dot="$(DOT)" \
-- doc $(CURDIR)/$$dir && \
-- rm -f $$dir/.buildinfo $$dir/objects.inv
-- touch $@
--
--doc/html: doc/html/index.html
--
--doc/man-html: doc/man-html/index.html
-
- doc/install-quick.rst: INSTALL
- doc/news.rst: NEWS
diff --git a/app-emulation/ganeti/files/ganeti-2.15-dont-invert-return-values-for-man-warnings.patch b/app-emulation/ganeti/files/ganeti-2.15-dont-invert-return-values-for-man-warnings.patch
deleted file mode 100644
index 37a687530873..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.15-dont-invert-return-values-for-man-warnings.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/autotools/check-man-warnings 2015-12-03 19:50:34.000000000 +0000
-+++ b/autotools/check-man-warnings 2016-05-22 11:19:31.678635696 +0000
-@@ -35,6 +35,6 @@
- loc="en_US.UTF-8"
- fi
-
--! LANG="$loc" LC_ALL="$loc" MANWIDTH=80 \
-+LANG="$loc" LC_ALL="$loc" MANWIDTH=80 \
- man --warnings --encoding=utf8 --local-file "$1" 2>&1 >/dev/null | \
- grep -v -e "cannot adjust line" -e "can't break line" | \
diff --git a/app-emulation/ganeti/files/ganeti-2.15-kvmd-run-as-daemon-user.patch b/app-emulation/ganeti/files/ganeti-2.15-kvmd-run-as-daemon-user.patch
deleted file mode 100644
index ce347ceaad84..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.15-kvmd-run-as-daemon-user.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index 8910b08..1bbe5fd 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -2452,12 +2452,14 @@ $(REPLACE_VARS_SED): $(SHELL_ENV_INIT) Makefile stamp-directories
- echo 's#@''PKGLIBDIR@#$(libdir)/ganeti#g'; \
- echo 's#@''GNTMASTERUSER@#$(MASTERD_USER)#g'; \
- echo 's#@''GNTRAPIUSER@#$(RAPI_USER)#g'; \
-+ echo 's#@''GNTKVMDUSER@#$(KVMD_USER)#g'; \
- echo 's#@''GNTCONFDUSER@#$(CONFD_USER)#g'; \
- echo 's#@''GNTWCONFDUSER@#$(WCONFD_USER)#g'; \
- echo 's#@''GNTLUXIDUSER@#$(LUXID_USER)#g'; \
- echo 's#@''GNTNODEDUSER@#$(NODED_USER)#g'; \
- echo 's#@''GNTMONDUSER@#$(MOND_USER)#g'; \
- echo 's#@''GNTRAPIGROUP@#$(RAPI_GROUP)#g'; \
-+ echo 's#@''GNTKVMDGROUP@#$(KVMD_GROUP)#g'; \
- echo 's#@''GNTADMINGROUP@#$(ADMIN_GROUP)#g'; \
- echo 's#@''GNTCONFDGROUP@#$(CONFD_GROUP)#g'; \
- echo 's#@''GNTNODEDGROUP@#$(NODED_GROUP)#g'; \
-diff --git a/daemons/daemon-util.in b/daemons/daemon-util.in
-index 7636fc9..91ea20b 100644
---- a/daemons/daemon-util.in
-+++ b/daemons/daemon-util.in
-@@ -102,6 +102,9 @@ _daemon_usergroup() {
- rapi)
- echo "@GNTRAPIUSER@:@GNTRAPIGROUP@"
- ;;
-+ kvmd)
-+ echo "@GNTKVMDUSER@:@GNTKVMDGROUP@"
-+ ;;
- noded)
- echo "@GNTNODEDUSER@:@GNTNODEDGROUP@"
- ;;
diff --git a/app-emulation/ganeti/files/ganeti-2.15-noded-must-run-as-root.patch b/app-emulation/ganeti/files/ganeti-2.15-noded-must-run-as-root.patch
deleted file mode 100644
index 22413e3e2ea5..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.15-noded-must-run-as-root.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 9b5d06f..d099bd2 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -343,8 +343,8 @@ AC_ARG_WITH([user-prefix],
- user_wconfd="${withval}masterd";
- user_kvmd="$user_default";
- user_luxid="${withval}masterd";
-- user_noded="$user_default";
-- user_mond="$user_default"],
-+ user_noded="root";
-+ user_mond="root"],
- [user_masterd="$user_default";
- user_metad="$user_default";
- user_rapi="$user_default";
-@@ -352,8 +352,8 @@ AC_ARG_WITH([user-prefix],
- user_wconfd="$user_default";
- user_kvmd="$user_default";
- user_luxid="$user_default";
-- user_noded="$user_default";
-- user_mond="$user_default"])
-+ user_noded="root";
-+ user_mond="root"])
- AC_SUBST(MASTERD_USER, $user_masterd)
- AC_SUBST(METAD_USER, $user_metad)
- AC_SUBST(RAPI_USER, $user_rapi)
-@@ -379,9 +379,9 @@ AC_ARG_WITH([group-prefix],
- group_luxid="${withval}luxid";
- group_masterd="${withval}masterd";
- group_metad="$group_default";
-- group_noded="$group_default";
-+ group_noded="root";
- group_daemons="${withval}daemons";
-- group_mond="$group_default"],
-+ group_mond="root"],
- [group_rapi="$group_default";
- group_admin="$group_default";
- group_confd="$group_default";
-@@ -390,9 +390,9 @@ AC_ARG_WITH([group-prefix],
- group_luxid="$group_default";
- group_masterd="$group_default";
- group_metad="$group_default";
-- group_noded="$group_default";
-+ group_noded="root";
- group_daemons="$group_default";
-- group_mond="$group_default"])
-+ group_mond="root"])
- AC_SUBST(RAPI_GROUP, $group_rapi)
- AC_SUBST(ADMIN_GROUP, $group_admin)
- AC_SUBST(CONFD_GROUP, $group_confd)
diff --git a/app-emulation/ganeti/files/ganeti-2.15-python-mock.patch b/app-emulation/ganeti/files/ganeti-2.15-python-mock.patch
deleted file mode 100644
index e51525b89cd7..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.15-python-mock.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/test/py/cmdlib/test_unittest.py b/test/py/cmdlib/test_unittest.py
-index f93f99d..2d0d083 100644
---- a/test/py/cmdlib/test_unittest.py
-+++ b/test/py/cmdlib/test_unittest.py
-@@ -85,7 +85,7 @@ class TestLUTestDelay(CmdlibTestCase):
-
- self.ExecOpCode(op)
-
-- self.rpc.call_test_delay.assert_called_once()
-+ assert self.rpc.call_test_delay.called
-
- def testFailingRpc(self):
- op = opcodes.OpTestDelay(duration=DELAY_DURATION,
-diff --git a/test/py/testutils/__init__.py b/test/py/testutils/__init__.py
-index 27ca425..04ea0ee 100644
---- a/test/py/testutils/__init__.py
-+++ b/test/py/testutils/__init__.py
-@@ -242,7 +242,7 @@ def patch_object(*args, **kwargs):
- This function unifies the different variations.
-
- """
-- import mock
-+ from mock import mock
- try:
- # pylint: disable=W0212
- return mock._patch_object(*args, **kwargs)
diff --git a/app-emulation/ganeti/files/ganeti-2.15-respect-HFLAGS.patch b/app-emulation/ganeti/files/ganeti-2.15-respect-HFLAGS.patch
deleted file mode 100644
index ffab1838bf1c..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.15-respect-HFLAGS.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index a04b95ae3..e26508ad9 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -803,6 +803,7 @@ HFLAGS = \
- -fwarn-tabs \
- -optP-include -optP$(HASKELL_PACKAGE_VERSIONS_FILE) \
- -hide-all-packages \
-+ $(HCFLAGS) \
- `cat $(HASKELL_PACKAGE_IDS_FILE)` \
- $(GHC_BYVERSION_FLAGS)
- if DEVELOPER_MODE
diff --git a/app-emulation/ganeti/files/ganeti-2.15-use-balloon-device.patch b/app-emulation/ganeti/files/ganeti-2.15-use-balloon-device.patch
deleted file mode 100644
index ae57a213fc00..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.15-use-balloon-device.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/lib/hypervisor/hv_kvm/__init__.py b/lib/hypervisor/hv_kvm/__init__.py
-index 174621fcc..1f598e7ef 100644
---- a/lib/hypervisor/hv_kvm/__init__.py
-+++ b/lib/hypervisor/hv_kvm/__init__.py
-@@ -1094,7 +1094,7 @@ class KVMHypervisor(hv_base.BaseHypervisor):
- # Add id to ballon and place to the first available slot (3 or 4)
- addr = utils.GetFreeSlot(pci_reservations, reserve=True)
- pci_info = ",bus=pci.0,addr=%s" % hex(addr)
-- kvm_cmd.extend(["-balloon", "virtio,id=balloon%s" % pci_info])
-+ kvm_cmd.extend(["-device", "virtio-balloon,id=balloon%s" % pci_info])
- kvm_cmd.extend(["-daemonize"])
- if not instance.hvparams[constants.HV_ACPI]:
- kvm_cmd.extend(["-no-acpi"])
diff --git a/app-emulation/ganeti/files/ganeti-2.15.2-bdev_py.patch b/app-emulation/ganeti/files/ganeti-2.15.2-bdev_py.patch
deleted file mode 100644
index a1fea1665804..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.15.2-bdev_py.patch
+++ /dev/null
@@ -1,16 +0,0 @@
---- a/lib/storage/bdev.py 2018-09-06 19:20:03.970318746 +0000
-+++ b/lib/storage/bdev.py 2018-09-06 19:18:59.799346241 +0000
-@@ -413,6 +413,16 @@
- if not self.minor and not self.Attach():
- # the LV does not exist
- return
-+
-+ import glob
-+
-+ for partdev in glob.glob("/dev/mapper/%s-%sp*" % (self._vg_name, self._lv_name.replace("-", "--"))):
-+ result = utils.RunCmd(["dmsetup", "remove", partdev])
-+
-+ if result.failed:
-+ base.ThrowError("Can't dmsetup remove %s: %s-%s",
-+ partdev, result.fail_reason, result.output)
-+
diff --git a/app-emulation/ganeti/files/ganeti-2.15.2-check-man-warnings.patch b/app-emulation/ganeti/files/ganeti-2.15.2-check-man-warnings.patch
deleted file mode 100644
index 913033dde4b4..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.15.2-check-man-warnings.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-# https://bugs.gentoo.org/719846
-# Redirecting both stdout and stderr to /dev/null leaves nothing for grep to search
-# Given that there aren't any warnings in the manpages, no need to filter, either
---- a/autotools/check-man-warnings 2020-04-30 23:10:08.140721582 +0000
-+++ b/autotools/check-man-warnings 2020-04-30 23:21:06.708945592 +0000
-@@ -37,6 +37,4 @@
- fi
-
- LANG="$loc" LC_ALL="$loc" MANWIDTH=80 \
-- man --warnings --encoding=utf8 --local-file "$1" 2>&1 >/dev/null | \
-- grep -v -e "cannot adjust line" -e "can't break line" | \
-- grep .
-+ man --warnings --encoding=utf8 --local-file "$1" >/dev/null
diff --git a/app-emulation/ganeti/files/ganeti-2.15.2-ftbfs-sphinx-warning.patch b/app-emulation/ganeti/files/ganeti-2.15.2-ftbfs-sphinx-warning.patch
deleted file mode 100644
index 3da34eed165f..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.15.2-ftbfs-sphinx-warning.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-# https://bugs.gentoo.org/719846
-# Probably related to https://github.com/sphinx-doc/sphinx/issues/4225
-#
-# Warning, treated as error:
-# /var/tmp/portage/app-emulation/ganeti-2.15.2-r9/temp/gntbuild.tiR1shJ6/doc/design-impexp2.rst:512:Could not lex literal_block as "python". Highlighting skipped.
-
---- a/doc/design-impexp2.rst 2020-04-30 23:40:50.121698365 +0000
-+++ b/doc/design-impexp2.rst 2020-04-30 23:41:05.692129339 +0000
-@@ -507,32 +507,6 @@
- respective system (measured for the CGI/FastCGI program using ``time
- -v``).
-
--::
--
-- ----------------------------------------------------------------------
-- Block size 4 KB 64 KB 128 KB 1 MB 4 MB
-- ======================================================================
-- Plain CGI script reading 83 174 180 122 120
-- from ``/dev/zero``
-- 0.6/3.9 0.1/2.4 0.1/2.2 0.0/1.9 0.0/2.1
-- ----------------------------------------------------------------------
-- FastCGI with ``fcgiwrap``, 86 167 170 177 174
-- ``dd`` reading from
-- ``/dev/zero`` 1.1/5 0.5/2.9 0.5/2.7 0.7/3.1 0.7/2.8
-- ----------------------------------------------------------------------
-- FastCGI with ``fcgiwrap``, 68 146 150 170 170
-- Python script copying from
-- ``/dev/zero`` to stdout
-- 1.3/5.1 0.8/3.7 0.7/3.3 0.9/2.9 0.8/3
-- ----------------------------------------------------------------------
-- FastCGI, Python script using 31 48 47 5 1
-- ``flup`` library (version
-- 1.0.2) reading from
-- ``/dev/zero``
-- 23.5/9.8 14.3/8.5 16.1/8 - -
-- ----------------------------------------------------------------------
--
--
- It should be mentioned that the ``flup`` library is not implemented in
- the most efficient way, but even with some changes it doesn't get much
- faster. It is fine for small amounts of data, but not for huge
diff --git a/app-emulation/ganeti/files/ganeti-2.15.2-pyopenssl.patch b/app-emulation/ganeti/files/ganeti-2.15.2-pyopenssl.patch
deleted file mode 100644
index 882c4f19acbe..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.15.2-pyopenssl.patch
+++ /dev/null
@@ -1,33 +0,0 @@
---- a/lib/http/__init__.py
-+++ b/lib/http/__init__.py
-@@ -88,6 +88,12 @@
- # send/receive quantum
- SOCK_BUF_SIZE = 32768
-
-+# OpenSSL.SSL.ConnectionType was deprecated in pyopenssl-19.1.0:
-+try:
-+ ssl_conn_type = OpenSSL.SSL.Connection
-+except AttributeError:
-+ ssl_conn_type = OpenSSL.SSL.ConnectionType
-+
-
- class HttpError(Exception):
- """Internal exception for HTTP errors.
-@@ -377,7 +383,7 @@
-
- # Handshake is only supported by SSL sockets
- if (op == SOCKOP_HANDSHAKE and
-- not isinstance(sock, OpenSSL.SSL.ConnectionType)):
-+ not isinstance(sock, ssl_conn_type)):
- return
-
- # No override by default
-@@ -414,7 +420,7 @@
- return sock.recv(arg1)
-
- elif op == SOCKOP_SHUTDOWN:
-- if isinstance(sock, OpenSSL.SSL.ConnectionType):
-+ if isinstance(sock, ssl_conn_type):
- # PyOpenSSL's shutdown() doesn't take arguments
- return sock.shutdown()
- else:
diff --git a/app-emulation/ganeti/files/ganeti-2.15.2-remove-sandbox-failing-tests.patch b/app-emulation/ganeti/files/ganeti-2.15.2-remove-sandbox-failing-tests.patch
deleted file mode 100644
index bc79bbbcad29..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.15.2-remove-sandbox-failing-tests.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-diff --git a/test/py/ganeti.hooks_unittest.py b/test/py/ganeti.hooks_unittest.py
-index 19d41bb..3382c7f 100755
---- a/test/py/ganeti.hooks_unittest.py
-+++ b/test/py/ganeti.hooks_unittest.py
-@@ -193,17 +193,17 @@ class TestHooksRunner(unittest.TestCase):
- expect.sort()
- self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, {}), expect)
-
-- def testEnv(self):
-- """Test environment execution"""
-- for phase in (constants.HOOKS_PHASE_PRE, constants.HOOKS_PHASE_POST):
-- fbase = "success"
-- fname = "%s/%s" % (self.ph_dirs[phase], fbase)
-- os.symlink("/usr/bin/env", fname)
-- self.torm.append((fname, False))
-- env_snt = {"PHASE": phase}
-- env_exp = "PHASE=%s" % phase
-- self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, env_snt),
-- [(self._rname(fname), HKR_SUCCESS, env_exp)])
-+ #def testEnv(self):
-+ # """Test environment execution"""
-+ # for phase in (constants.HOOKS_PHASE_PRE, constants.HOOKS_PHASE_POST):
-+ # fbase = "success"
-+ # fname = "%s/%s" % (self.ph_dirs[phase], fbase)
-+ # os.symlink("/usr/bin/env", fname)
-+ # self.torm.append((fname, False))
-+ # env_snt = {"PHASE": phase}
-+ # env_exp = "PHASE=%s" % phase
-+ # self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, env_snt),
-+ # [(self._rname(fname), HKR_SUCCESS, env_exp)])
-
-
- def FakeHooksRpcSuccess(node_list, hpath, phase, env):
-diff --git a/test/py/ganeti.utils.process_unittest.py b/test/py/ganeti.utils.process_unittest.py
-index 82fc81e..4a59aa4 100755
---- a/test/py/ganeti.utils.process_unittest.py
-+++ b/test/py/ganeti.utils.process_unittest.py
-@@ -358,13 +358,13 @@ class TestRunCmd(testutils.GanetiTestCase):
- cwd = os.getcwd()
- self.failUnlessEqual(utils.RunCmd(["pwd"], cwd=cwd).stdout.strip(), cwd)
-
-- def testResetEnv(self):
-- """Test environment reset functionality"""
-- self.failUnlessEqual(utils.RunCmd(["env"], reset_env=True).stdout.strip(),
-- "")
-- self.failUnlessEqual(utils.RunCmd(["env"], reset_env=True,
-- env={"FOO": "bar",}).stdout.strip(),
-- "FOO=bar")
-+ #def testResetEnv(self):
-+ # """Test environment reset functionality"""
-+ # self.failUnlessEqual(utils.RunCmd(["env"], reset_env=True).stdout.strip(),
-+ # "")
-+ # self.failUnlessEqual(utils.RunCmd(["env"], reset_env=True,
-+ # env={"FOO": "bar",}).stdout.strip(),
-+ # "FOO=bar")
-
- def testNoFork(self):
- """Test that nofork raise an error"""
diff --git a/app-emulation/ganeti/files/ganeti-2.16-kvmd-run-as-daemon-user.patch b/app-emulation/ganeti/files/ganeti-2.16-kvmd-run-as-daemon-user.patch
deleted file mode 100644
index d74a6ca59b50..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.16-kvmd-run-as-daemon-user.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- ganeti-2.16.0~rc1.orig/Makefile.am 2017-01-05 10:09:56.568213273 -0800
-+++ ganeti-2.16.0~rc1/Makefile.am 2017-01-05 10:10:51.260260697 -0800
-@@ -2477,6 +2477,7 @@
- echo 's#@''PKGLIBDIR@#$(libdir)/ganeti#g'; \
- echo 's#@''GNTMASTERUSER@#$(MASTERD_USER)#g'; \
- echo 's#@''GNTRAPIUSER@#$(RAPI_USER)#g'; \
-+ echo 's#@''GNTKVMDUSER@#$(KVMD_USER)#g'; \
- echo 's#@''GNTCONFDUSER@#$(CONFD_USER)#g'; \
- echo 's#@''GNTWCONFDUSER@#$(WCONFD_USER)#g'; \
- echo 's#@''GNTLUXIDUSER@#$(LUXID_USER)#g'; \
-@@ -2484,6 +2485,7 @@
- echo 's#@''GNTMONDUSER@#$(MOND_USER)#g'; \
- echo 's#@''GNTMETADUSER@#$(METAD_USER)#g'; \
- echo 's#@''GNTRAPIGROUP@#$(RAPI_GROUP)#g'; \
-+ echo 's#@''GNTKVMDGROUP@#$(KVMD_GROUP)#g'; \
- echo 's#@''GNTADMINGROUP@#$(ADMIN_GROUP)#g'; \
- echo 's#@''GNTCONFDGROUP@#$(CONFD_GROUP)#g'; \
- echo 's#@''GNTNODEDGROUP@#$(NODED_GROUP)#g'; \
---- ganeti-2.16.0~rc1.orig/daemons/daemon-util.in 2017-01-05 10:09:56.450211013 -0800
-+++ ganeti-2.16.0~rc1/daemons/daemon-util.in 2017-01-05 10:11:17.804769059 -0800
-@@ -103,6 +103,9 @@
- rapi)
- echo "@GNTRAPIUSER@:@GNTRAPIGROUP@"
- ;;
-+ kvmd)
-+ echo "@GNTKVMDUSER@:@GNTKVMDGROUP@"
-+ ;;
- noded)
- echo "@GNTNODEDUSER@:@GNTNODEDGROUP@"
- ;;
diff --git a/app-emulation/ganeti/files/ganeti-2.16-noded-must-run-as-root.patch b/app-emulation/ganeti/files/ganeti-2.16-noded-must-run-as-root.patch
deleted file mode 100644
index d6c440b51ee6..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.16-noded-must-run-as-root.patch
+++ /dev/null
@@ -1,26 +0,0 @@
---- ganeti-2.16.0~rc1.orig/configure.ac 2017-01-05 10:09:56.480211588 -0800
-+++ ganeti-2.16.0~rc1/configure.ac 2017-01-05 10:15:34.462684390 -0800
-@@ -380,9 +380,9 @@
- group_luxid="${withval}luxid";
- group_masterd="${withval}masterd";
- group_metad="${withval}metad";
-- group_noded="$group_default";
-+ group_noded="root";
- group_daemons="${withval}daemons";
-- group_mond="$group_default"],
-+ group_mond="root"],
- [group_rapi="$group_default";
- group_admin="$group_default";
- group_confd="$group_default";
-@@ -391,9 +391,9 @@
- group_luxid="$group_default";
- group_masterd="$group_default";
- group_metad="$group_default";
-- group_noded="$group_default";
-+ group_noded="root";
- group_daemons="$group_default";
-- group_mond="$group_default"])
-+ group_mond="root"])
- AC_SUBST(RAPI_GROUP, $group_rapi)
- AC_SUBST(ADMIN_GROUP, $group_admin)
- AC_SUBST(CONFD_GROUP, $group_confd)
diff --git a/app-emulation/ganeti/files/ganeti-2.17-relax-deps.patch b/app-emulation/ganeti/files/ganeti-2.17-relax-deps.patch
deleted file mode 100644
index ef4be0869560..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.17-relax-deps.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- ganeti-2.17.0~beta1/cabal/ganeti.template.cabal 2017-01-05 10:29:49.936067812 -0800
-+++ ganeti-2.17.0~beta1/cabal/ganeti.template.cabal 2017-01-05 10:33:03.248770000 -0800
-@@ -54,15 +54,15 @@
- , transformers >= 0.3.0.0
- , unix >= 2.5.1.0
-
-- , attoparsec >= 0.10.1.1 && < 0.13
-+ , attoparsec >= 0.10.1.1 && < 0.14
- , base64-bytestring >= 1.0.0.1 && < 1.1
- , case-insensitive >= 0.4.0.1 && < 1.3
- , Crypto >= 4.2.4 && < 4.3
- , curl >= 1.3.7 && < 1.4
- , hinotify >= 0.3.2 && < 0.4
- , hslogger >= 1.1.4 && < 1.3
-- , json >= 0.5 && < 1.0
-- , lens >= 3.10 && < 4.13
-+ , json >= 0.5
-+ , lens >= 3.10
- , lifted-base >= 0.2.0.3 && < 0.3
- , monad-control >= 0.3.1.3 && < 1.1
- , MonadCatchIO-transformers >= 0.3.0.0 && < 0.4
diff --git a/app-emulation/ganeti/files/ganeti-2.9-disable-root-tests.patch b/app-emulation/ganeti/files/ganeti-2.9-disable-root-tests.patch
deleted file mode 100644
index 932258b93a3d..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.9-disable-root-tests.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/Makefile.am 2013-11-13 01:48:34.733493100 +0000
-+++ b/Makefile.am 2013-11-13 01:48:46.623657315 +0000
-@@ -1245,7 +1245,6 @@
- test/py/cfgupgrade_unittest.py \
- test/py/docs_unittest.py \
- test/py/ganeti.asyncnotifier_unittest.py \
-- test/py/ganeti.backend_unittest-runasroot.py \
- test/py/ganeti.backend_unittest.py \
- test/py/ganeti.bootstrap_unittest.py \
- test/py/ganeti.cli_unittest.py \
-@@ -1308,7 +1307,6 @@
- test/py/ganeti.utils.algo_unittest.py \
- test/py/ganeti.utils.filelock_unittest.py \
- test/py/ganeti.utils.hash_unittest.py \
-- test/py/ganeti.utils.io_unittest-runasroot.py \
- test/py/ganeti.utils.io_unittest.py \
- test/py/ganeti.utils.log_unittest.py \
- test/py/ganeti.utils.lvm_unittest.py \
diff --git a/app-emulation/ganeti/files/ganeti-2.9-skip-cli-test.patch b/app-emulation/ganeti/files/ganeti-2.9-skip-cli-test.patch
deleted file mode 100644
index c0977cae8b17..000000000000
--- a/app-emulation/ganeti/files/ganeti-2.9-skip-cli-test.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/Makefile.am.orig 2013-11-13 02:19:49.198992622 +0000
-+++ b/Makefile.am 2013-11-13 02:20:12.709305182 +0000
-@@ -1332,7 +1332,6 @@
- test/py/daemon-util_unittest.bash \
- test/py/ganeti-cleaner_unittest.bash \
- test/py/import-export_unittest.bash \
-- test/py/cli-test.bash \
- test/py/bash_completion.bash
-
- if PY_UNIT
-@@ -1397,7 +1396,6 @@
- test/py/daemon-util_unittest.bash \
- test/py/ganeti-cleaner_unittest.bash \
- test/py/import-export_unittest.bash \
-- test/py/cli-test.bash \
- test/py/bash_completion.bash \
- test/hs/offline-test.sh \
- test/hs/cli-tests-defs.sh \
diff --git a/app-emulation/ganeti/files/ganeti-kvm-poweroff.confd b/app-emulation/ganeti/files/ganeti-kvm-poweroff.confd
deleted file mode 100644
index 6ab21c3709a5..000000000000
--- a/app-emulation/ganeti/files/ganeti-kvm-poweroff.confd
+++ /dev/null
@@ -1,4 +0,0 @@
-# /etc/conf.d/ganeti-kvm-poweroff: config file for /etc/init.d/ganeti-kvm-poweroff
-
-# Maximum time in seconds to wait until KVM VMs shutdown before giving up.
-# GANETI_KVM_TIMEOUT="60"
diff --git a/app-emulation/ganeti/files/ganeti-kvm-poweroff.initd b/app-emulation/ganeti/files/ganeti-kvm-poweroff.initd
deleted file mode 100644
index 44fc861d1601..000000000000
--- a/app-emulation/ganeti/files/ganeti-kvm-poweroff.initd
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2011 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-depend() {
- after ganeti
- after bootmisc
-}
-
-CONTROL_PATH="/var/run/ganeti/kvm-hypervisor/ctrl"
-GANETI_KVM_TIMEOUT=${GANETI_KVM_TIMEOUT:-60}
-
-start() {
- return 0
-}
-
-# Taken from doc/examples/ganeti-kvm-poweroff.initd.in in ganeti package
-stop() {
- ebegin "Stopping Ganeti KVM VMs"
- # shutdown VMs and remove sockets of those not running
- for vm_monitor in $(find $CONTROL_PATH -type s -name '*.monitor') ; do
- if ! echo system_powerdown | \
- socat -U UNIX:$vm_monitor STDIO > /dev/null 2>&1; then
- # remove disconnected socket
- rm -f $vm_monitor
- fi
- done
-
- einfo " Waiting for VMs to poweroff"
- waiting=true
- remaining=$GANETI_KVM_TIMEOUT
- while $waiting && [ $remaining -ne 0 ]; do
- if [ -z "$(find $CONTROL_PATH -type s -name '*.monitor')" ] ; then
- break
- fi
-
- printf "."
- for vm_monitor in $(find $CONTROL_PATH -type s -name '*.monitor') ; do
- if ! echo | socat -U UNIX:$vm_monitor STDIO > /dev/null 2>&1; then
- rm -rf $vm_monitor
- fi
- done
-
- sleep 5
- remaining=$((remaining - 5))
- done
-
- if [ -n "$(find $CONTROL_PATH -type s -name '*.monitor')" ] ; then
- eerror " Some ganeti VMs did not shutdown"
- fi
- echo
- eend $?
-}
-
-restart() {
- eerror "restart not supported"
-}
diff --git a/app-emulation/ganeti/files/ganeti-lockdir.patch b/app-emulation/ganeti/files/ganeti-lockdir.patch
deleted file mode 100644
index dad084fa4306..000000000000
--- a/app-emulation/ganeti/files/ganeti-lockdir.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/lib/pathutils.py b/lib/pathutils.py
-index db860ff..53a9cc4 100644
---- a/lib/pathutils.py
-+++ b/lib/pathutils.py
-@@ -63,9 +63,9 @@ ETC_HOSTS = vcluster.ETC_HOSTS
-
- # Top-level paths
- DATA_DIR = LOCALSTATEDIR + "/lib/ganeti"
--LOCK_DIR = LOCALSTATEDIR + "/lock"
-+LOCK_DIR = "/run/lock"
- LOG_DIR = LOCALSTATEDIR + "/log/ganeti"
- RUN_DIR = "/run/ganeti"
-
- #: Script to configure master IP address
- DEFAULT_MASTER_SETUP_SCRIPT = TOOLSDIR + "/master-ip-setup"
diff --git a/app-emulation/ganeti/files/ganeti.confd-r2 b/app-emulation/ganeti/files/ganeti.confd-r2
deleted file mode 100644
index 0f2e69f3d5ea..000000000000
--- a/app-emulation/ganeti/files/ganeti.confd-r2
+++ /dev/null
@@ -1,19 +0,0 @@
-# /etc/conf.d/ganeti: config file for /etc/init.d/ganeti
-
-# Extra options to pass to all of the ganeti daemons
-# GANETI_OPTS="-d"
-
-# Options to pass to ganeti-masterd
-# GANETI_MASTERD_OPTS=""
-
-# Options to pass to ganeti-rapi
-# GANETI_RAPI_OPTS=""
-
-# Options to pass to ganeti-noded
-# GANETI_NODED_OPTS=""
-
-# Options to pass to ganeti-confd
-# GANETI_CONFD_OPTS=""
-
-# Options to pass to ganeti-luxid
-# GANETI_LUXID_OPTS=""
diff --git a/app-emulation/ganeti/files/ganeti.initd-r3 b/app-emulation/ganeti/files/ganeti.initd-r3
deleted file mode 100644
index 18b3116a517f..000000000000
--- a/app-emulation/ganeti/files/ganeti.initd-r3
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-extra_commands="forcestart is_master"
-
-depend() {
- need localmount logger
- after bootmisc sshd
- use net
-}
-
-DAEMON_UTIL="/usr/lib/ganeti/daemon-util"
-
-is_master() {
- [ -z "${ganeti_master}" ] && ganeti_master="$(gnt-cluster getmaster)"
- [ -z "${local_hostname}" ] && local_hostname="$(hostname -f)"
- [ "${ganeti_master}" = "${local_hostname}" ]
-}
-
-# This exists specifically for restarting a 2-node cluster where quorum might
-# not be available.
-forcestart() {
- ewarn "Forcing non-quorum Ganeti master start"
- GANETI_WCONFD_OPTS="${GANETI_WCONFD_OPTS} --no-voting --yes-do-it"
- GANETI_LUXID_OPTS="${GANETI_LUXID_OPTS} --no-voting --yes-do-it"
- GANETI_MASTERD_OPTS="${GANETI_LUXID_OPTS} --no-voting --yes-do-it"
- export GANETI_WCONFD_OPTS GANETI_LUXID_OPTS GANETI_MASTERD_OPTS
- start
-}
-
-start() {
- if ! [ -e ${DAEMON_UTIL} ]; then
- eerror "Could not find daemon utility at ${DAEMON_UTIL}"
- return 1
- elif ! ${DAEMON_UTIL} check-config ; then
- eerror "Incomplete configuration, will not run."
- return 1
- fi
-
- local daemon retval=0 optsvar started_daemons daemon_opts
-
- for daemon in $(${DAEMON_UTIL} list-start-daemons); do
- optsvar="$(printf "${daemon}_OPTS" | tr - _ | LC_ALL=C tr '[:lower:]' '[:upper:]')"
-
- case "${daemon#ganeti-}" in
- masterd|rapi|luxid) is_master || continue;;
- esac
-
- eval daemon_opts=\"\$\{${optsvar}\}\"
-
- ebegin "Starting ${daemon}"
- eindent
- veinfo ${DAEMON_UTIL} start ${daemon} ${GANETI_OPTS} ${daemon_opts}
- ${DAEMON_UTIL} start ${daemon} ${GANETI_OPTS} ${daemon_opts} || retval=${?}
-
- if [ ${retval} != 0 ] && [ -n "${started_daemons}" ]; then
- case ${daemon} in
- *-kvmd) retval=0; ewarn "Failed to start kvmd, continuing anyway";;
- *)
- eerror "Stopping already started daemons"
- eindent
- eend ${code} "$(${DAEMON_UTIL} check-exitcode ${code})"
-
- for daemon in ${started_daemons}; do
- ebegin "Stopping ${daemon}"
- ${DAEMON_UTIL} stop ${daemon} ${GANETI_OPTS}
- eend ${?}
- done
- eoutdent; eoutdent
- return ${retval}
- ;;
- esac
- fi
- eoutdent
- started_daemons="${started_daemons} ${daemon}"
- done
-}
-
-stop() {
- if ! [ -e ${DAEMON_UTIL} ]; then
- eerror "Could not find daemon utility at ${DAEMON_UTIL}"
- return 1
- fi
-
- local daemon
-
- for daemon in $(${DAEMON_UTIL} list-stop-daemons) ; do \
- case "${daemon#ganeti-}" in
- masterd|rapi|luxid) is_master || continue;;
- esac
- ${DAEMON_UTIL} stop ${daemon} ${GANETI_OPTS}
- done
-}
-
-# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:
diff --git a/app-emulation/ganeti/files/ganeti.initd-r4 b/app-emulation/ganeti/files/ganeti.initd-r4
deleted file mode 100644
index 6393de8e2803..000000000000
--- a/app-emulation/ganeti/files/ganeti.initd-r4
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2019 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-extra_commands="forcestart is_master"
-
-depend() {
- need localmount logger
- after bootmisc sshd
- use net
-}
-
-DAEMON_UTIL="/usr/%LIBDIR%/ganeti/daemon-util"
-
-is_master() {
- [ -z "${ganeti_master}" ] && ganeti_master="$(gnt-cluster getmaster)"
- [ -z "${local_hostname}" ] && local_hostname="$(hostname -f)"
- [ "${ganeti_master}" = "${local_hostname}" ]
-}
-
-# This exists specifically for restarting a 2-node cluster where quorum might
-# not be available.
-forcestart() {
- ewarn "Forcing non-quorum Ganeti master start"
- GANETI_WCONFD_OPTS="${GANETI_WCONFD_OPTS} --no-voting --yes-do-it"
- GANETI_LUXID_OPTS="${GANETI_LUXID_OPTS} --no-voting --yes-do-it"
- GANETI_MASTERD_OPTS="${GANETI_LUXID_OPTS} --no-voting --yes-do-it"
- export GANETI_WCONFD_OPTS GANETI_LUXID_OPTS GANETI_MASTERD_OPTS
- start
-}
-
-start() {
- if ! [ -e ${DAEMON_UTIL} ]; then
- eerror "Could not find daemon utility at ${DAEMON_UTIL}"
- return 1
- elif ! ${DAEMON_UTIL} check-config ; then
- eerror "Incomplete configuration, will not run."
- return 1
- fi
-
- local daemon retval=0 optsvar started_daemons daemon_opts
-
- for daemon in $(${DAEMON_UTIL} list-start-daemons); do
- optsvar="$(printf "${daemon}_OPTS" | tr - _ | LC_ALL=C tr '[:lower:]' '[:upper:]')"
-
- case "${daemon#ganeti-}" in
- masterd|rapi|luxid) is_master || continue;;
- esac
-
- eval daemon_opts=\"\$\{${optsvar}\}\"
-
- ebegin "Starting ${daemon}"
- eindent
- veinfo ${DAEMON_UTIL} start ${daemon} ${GANETI_OPTS} ${daemon_opts}
- ${DAEMON_UTIL} start ${daemon} ${GANETI_OPTS} ${daemon_opts} || retval=${?}
-
- if [ ${retval} != 0 ] && [ -n "${started_daemons}" ]; then
- case ${daemon} in
- *-kvmd) retval=0; ewarn "Failed to start kvmd, continuing anyway";;
- *)
- eerror "Stopping already started daemons"
- eindent
- eend ${code} "$(${DAEMON_UTIL} check-exitcode ${code})"
-
- for daemon in ${started_daemons}; do
- ebegin "Stopping ${daemon}"
- ${DAEMON_UTIL} stop ${daemon} ${GANETI_OPTS}
- eend ${?}
- done
- eoutdent; eoutdent
- return ${retval}
- ;;
- esac
- fi
- eoutdent
- started_daemons="${started_daemons} ${daemon}"
- done
-}
-
-stop() {
- if ! [ -e ${DAEMON_UTIL} ]; then
- eerror "Could not find daemon utility at ${DAEMON_UTIL}"
- return 1
- fi
-
- local daemon
-
- for daemon in $(${DAEMON_UTIL} list-stop-daemons) ; do \
- case "${daemon#ganeti-}" in
- masterd|rapi|luxid) is_master || continue;;
- esac
- ${DAEMON_UTIL} stop ${daemon} ${GANETI_OPTS}
- done
-}
-
-# vim:ft=gentoo-init-d:ts=4:sts=4:sw=4:noet:
diff --git a/app-emulation/ganeti/ganeti-2.15.2-r11.ebuild b/app-emulation/ganeti/ganeti-2.15.2-r11.ebuild
deleted file mode 100644
index 0bd0b47f753a..000000000000
--- a/app-emulation/ganeti/ganeti-2.15.2-r11.ebuild
+++ /dev/null
@@ -1,389 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-PYTHON_COMPAT=(python2_7)
-PYTHON_REQ_USE="ipv6(+)?"
-
-inherit user autotools bash-completion-r1 python-single-r1
-
-MY_PV="${PV/_rc/~rc}"
-MY_PV="${MY_PV/_beta/~beta}"
-MY_P="${PN}-${MY_PV}"
-SERIES="$(ver_cut 1-2)"
-
-DEBIAN_PATCH=11
-SRC_URI="
- http://downloads.ganeti.org/releases/${SERIES}/${MY_P}.tar.gz
- mirror://debian/pool/main/g/ganeti-${SERIES}/ganeti-${SERIES}_${PV}-${DEBIAN_PATCH}.debian.tar.xz
-"
-KEYWORDS="~amd64 ~x86"
-PATCHES=(
- "${FILESDIR}"/ganeti-2.15-use-balloon-device.patch
- "${FILESDIR}"/ganeti-2.15-disable-docs.patch
- "${WORKDIR}"/debian/patches/do-not-backup-export-dir.patch
- "${WORKDIR}"/debian/patches/Makefile.am-use-C.UTF-8
- "${WORKDIR}"/debian/patches/relax-deps
- "${WORKDIR}"/debian/patches/zlib-0.6-compatibility
- "${WORKDIR}"/debian/patches/fix_FTBFS_with_sphinx-1.3.5
- "${WORKDIR}"/debian/patches/fix_ftbfs_with_sphinx_1.4
- "${WORKDIR}"/debian/patches/use-proper-cabal-dev.patch
- "${WORKDIR}"/debian/patches/0001-Drop-dependency-on-MonadCatchIO-transformers.patch
- "${WORKDIR}"/debian/patches/0001-GHC-8-support.patch
- "${WORKDIR}"/debian/patches/ghc8-fixes
- "${WORKDIR}"/debian/patches/snap-server-1.0-compat
- "${WORKDIR}"/debian/patches/non-DSA-SSH-key-support.patch
- "${WORKDIR}"/debian/patches/fix-ssh-key-renewal-on-single-node-clusters.patch
- "${WORKDIR}"/debian/patches/set-defaults-for-ssh-type-bits.patch
- "${WORKDIR}"/debian/patches/use-hv-class-to-check-for-migration.patch
- "${WORKDIR}"/debian/patches/do-not-specify-socat-ssl-method.patch
- "${WORKDIR}"/debian/patches/fix-ftbfs-with-sphinx-1.5.patch
- "${WORKDIR}"/debian/patches/fix-failover-from-dead-node.patch
- "${WORKDIR}"/debian/patches/fix-cpu-affinity.patch
- "${WORKDIR}"/debian/patches/fix-fcntl-i386.patch
- "${WORKDIR}"/debian/patches/fix-ovf-test-path.patch
- "${WORKDIR}"/debian/patches/fix-qa-ssconf-race.patch
- "${WORKDIR}"/debian/patches/relax-sphinx-version-check.patch
- #"${WORKDIR}"/debian/patches/THH-2.12.patch
- "${WORKDIR}"/debian/patches/sphinx-1.7.patch
- "${WORKDIR}"/debian/patches/ca-use-sha256-md.patch
- "${WORKDIR}"/debian/patches/impexpd-fix-certificate-verification-with-new-socat.patch
- "${WORKDIR}"/debian/patches/impexpd-fix-certificate-verification-with-new-socat-2.patch
-)
-
-DESCRIPTION="Ganeti is a virtual server management software tool"
-HOMEPAGE="http://www.ganeti.org/"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="drbd experimental haskell-daemons htools ipv6 kvm lxc monitoring multiple-users rbd syslog test xen restricted-commands"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="|| ( kvm xen lxc )
- test? ( ipv6 )
- kvm? ( || ( amd64 x86 ) )
- ${PYTHON_REQUIRED_USE}"
-
-USER_PREFIX="${GANETI_USER_PREFIX:-"gnt-"}"
-GROUP_PREFIX="${GANETI_GROUP_PREFIX:-"${USER_PREFIX}"}"
-
-DEPEND="
- dev-libs/openssl:0
- $(python_gen_cond_dep '
- dev-python/paramiko[${PYTHON_MULTI_USEDEP}]
- dev-python/pyopenssl[${PYTHON_MULTI_USEDEP}]
- dev-python/simplejson[${PYTHON_MULTI_USEDEP}]
- dev-python/pyparsing[${PYTHON_MULTI_USEDEP}]
- dev-python/pyinotify[${PYTHON_MULTI_USEDEP}]
- dev-python/pycurl[${PYTHON_MULTI_USEDEP}]
- dev-python/ipaddr[${PYTHON_MULTI_USEDEP}]
- dev-python/bitarray[${PYTHON_MULTI_USEDEP}]
- dev-python/fdsend[${PYTHON_MULTI_USEDEP}]
- ')
- || (
- net-misc/iputils[arping]
- net-analyzer/arping
- )
- net-analyzer/fping
- net-misc/bridge-utils
- net-misc/curl[ssl]
- net-misc/openssh
- net-misc/socat
- sys-apps/iproute2
- >=sys-fs/lvm2-2.02.181
- >=sys-apps/baselayout-2.0
- >=dev-lang/ghc-8.0:0=
- <dev-lang/ghc-8.1:0=
- dev-haskell/cabal:0=
- dev-haskell/cabal-install:0=
- !<app-emulation/ganeti-instance-image-0.6-r1
- >=dev-haskell/mtl-2.1.1:0=
- >=dev-haskell/old-time-1.1.0.0:0=
- >=dev-haskell/random-1.0.1.1:0=
- haskell-daemons? ( >=dev-haskell/text-0.11.1.13:0= )
- >=dev-haskell/transformers-0.3.0.0:0=
-
- >=dev-haskell/attoparsec-0.10.1.1:0=
- <dev-haskell/attoparsec-0.14:0
- >=dev-haskell/base64-bytestring-1.0.0.1:0=
- <dev-haskell/base64-bytestring-1.1:0=
- >=dev-haskell/crypto-4.2.4:0=
- <dev-haskell/crypto-4.3:0=
- >=dev-haskell/curl-1.3.7:0=
- <dev-haskell/curl-1.4:0=
- >=dev-haskell/hinotify-0.3.2:0=
- <dev-haskell/hinotify-0.4:0=
- >=dev-haskell/hslogger-1.1.4:0=
- <dev-haskell/hslogger-1.3:0=
- >=dev-haskell/json-0.5:0=
- >=dev-haskell/lens-3.10:0=
- >=dev-haskell/lifted-base-0.2.0.3:0=
- <dev-haskell/lifted-base-0.3:0=
- >=dev-haskell/monad-control-1.0.1.0:0=
- <dev-haskell/monad-control-1.0.2:0=
- >=dev-haskell/network-2.3.0.13:0=
- <dev-haskell/network-2.7:0=
- >=dev-haskell/parallel-3.2.0.2:3=
- <dev-haskell/parallel-3.3:3=
- >=dev-haskell/temporary-1.1.2.3:0=
- <dev-haskell/temporary-1.3:0=
- >=dev-haskell/regex-pcre-0.94.2:0=
- <dev-haskell/regex-pcre-0.95:0=
- >=dev-haskell/transformers-base-0.4:0=
- <dev-haskell/transformers-base-0.5:0=
- >=dev-haskell/utf8-string-0.3.7:0=
- >=dev-haskell/zlib-0.5.3.3:0=
- <dev-haskell/zlib-0.7:0=
-
- >=dev-haskell/psqueue-1.1:0=
- <dev-haskell/psqueue-1.2:0=
- >=dev-haskell/snap-core-1.0.1:0=
- <dev-haskell/snap-core-1.1:0=
- >=dev-haskell/snap-server-1.0.1:0=
- <dev-haskell/snap-server-1.1:0=
- >=dev-haskell/case-insensitive-0.4.0.1
-
- dev-haskell/vector:0=
- xen? ( >=app-emulation/xen-3.0 )
- kvm? (
- dev-python/psutil
- app-emulation/qemu
- )
- lxc? ( app-emulation/lxc )
- drbd? ( sys-cluster/drbd-utils )
- rbd? ( sys-cluster/ceph )
- ipv6? ( net-misc/ndisc6 )
- ${PYTHON_DEPS}"
-RDEPEND="${DEPEND}
- !app-emulation/ganeti-htools"
-DEPEND+="
- sys-devel/m4
- media-fonts/urw-fonts
- media-gfx/graphviz
- >=dev-haskell/test-framework-0.6:0=
- <dev-haskell/test-framework-0.9:0=
- >=dev-haskell/test-framework-hunit-0.2.7:0=
- <dev-haskell/test-framework-hunit-0.4:0=
- >=dev-haskell/test-framework-quickcheck2-0.2.12.1:0=
- <dev-haskell/test-framework-quickcheck2-0.4:0=
- test? (
- dev-python/mock
- dev-python/pyyaml
- dev-haskell/haddock:0=
- >=dev-haskell/hunit-1.2.4.2:0=
- <dev-haskell/hunit-1.3:0=
- >=dev-haskell/quickcheck-2.4.2:2=
- <dev-haskell/quickcheck-2.8.3:2=
- sys-apps/fakeroot
- >=net-misc/socat-1.7
- dev-util/shelltestrunner
- )"
-
-PATCHES+=(
- "${FILESDIR}/${PN}-2.12-start-stop-daemon-args.patch"
- "${FILESDIR}/${PN}-2.11-add-pgrep.patch"
- "${FILESDIR}/${PN}-2.15-daemon-util.patch"
- "${FILESDIR}/${PN}-2.9-disable-root-tests.patch"
- "${FILESDIR}/${PN}-2.9-skip-cli-test.patch"
- "${FILESDIR}/${PN}-2.10-rundir.patch"
- "${FILESDIR}/${PN}-2.12-qemu-enable-kvm.patch"
- "${FILESDIR}/${PN}-2.11-tests.patch"
- "${FILESDIR}/${PN}-lockdir.patch"
- "${FILESDIR}/${PN}-2.11-dont-nest-libdir.patch"
- "${FILESDIR}/${PN}-2.11-dont-print-man-help.patch"
- "${FILESDIR}/${PN}-2.11-daemon-util-tests.patch"
- "${FILESDIR}/${PN}-2.13-process_unittest.patch"
- "${FILESDIR}/${PN}-2.15-python-mock.patch"
- "${FILESDIR}/${PN}-2.15.2-remove-sandbox-failing-tests.patch"
- "${FILESDIR}/${PN}-2.15-noded-must-run-as-root.patch"
- "${FILESDIR}/${PN}-2.15-kvmd-run-as-daemon-user.patch"
- "${FILESDIR}/${PN}-2.15-dont-invert-return-values-for-man-warnings.patch"
- "${FILESDIR}/${PN}-2.15-respect-HFLAGS.patch"
- "${FILESDIR}/ganeti-2.15.2-bdev_py.patch"
- "${FILESDIR}/ganeti-2.15.2-check-man-warnings.patch"
- "${FILESDIR}/ganeti-2.15.2-ftbfs-sphinx-warning.patch"
- "${FILESDIR}/ganeti-2.15.2-pyopenssl.patch"
-)
-
-S="${WORKDIR}/${MY_P}"
-
-QA_WX_LOAD="
- usr/lib*/${PN}/${SERIES}/usr/sbin/ganeti-*d
- usr/lib*/${PN}/${SERIES}/usr/bin/htools
-"
-# haskell...
-QA_FLAGS_IGNORED="
- /usr/lib64/ganeti/2.15/usr/sbin/ganeti-metad
- /usr/lib64/ganeti/2.15/usr/sbin/ganeti-wconfd
- /usr/lib64/ganeti/2.15/usr/sbin/ganeti-confd
- /usr/lib64/ganeti/2.15/usr/sbin/ganeti-luxid
- /usr/lib64/ganeti/2.15/usr/sbin/ganeti-kvmd
- /usr/lib64/ganeti/2.15/usr/bin/htools
-"
-
-pkg_setup() {
- local user
- python-single-r1_pkg_setup
-
- if use multiple-users; then
- for user in gnt-{masterd,confd,luxid,rapi,daemons,admin}; do
- enewgroup ${user}
- enewuser ${user} -1 -1 -1 ${user}
- done
- fi
-}
-
-src_prepare() {
- local testfile
- if has_version '>=dev-lang/ghc-7.10'; then
- # Breaks the build on 7.8
- PATCHES+=(
- "${WORKDIR}"/debian/patches/ghc-7.10-compatibility.patch
- )
- fi
- if use experimental; then
- ewarn "Experimental patches have been applied! RPC between daemons with different patches applied may cause breakage!"
- PATCHES+=(
- # QEMU Agent accepted upstream for 2.16, not yet in a tagged release
- # backport available for 2.15, but refused upstream due to RPC breakage.
- "${FILESDIR}"/0001-kvm-use_guest_agent-QEMU-Guest-Agent-sup.stable-2.15.patch
- )
- fi
- eapply "${PATCHES[@]}"
- # Upstream commits:
- # 4c3c2ca2a97a69c0287a3d23e064bc17978105eb
- # 24618882737fd7c189adf99f4acc767d48f572c3
- sed -i \
- -e '/QuickCheck/s,< 2.8,< 2.8.3,g' \
- cabal/ganeti.template.cabal || die
- # Neuter -Werror
- sed -i \
- -e '/^if DEVELOPER_MODE/,/^endif/s/-Werror//' \
- Makefile.am || die
-
- # not sure why these tests are failing
- # should remove this on next version bump if possible
- for testfile in test/py/import-export_unittest.bash; do
- printf '#!/bin/bash\ntrue\n' > "${testfile}" || die
- done
-
- # take the sledgehammer approach to bug #526270
- grep -lr '/bin/sh' "${S}" | xargs -r -- sed -i 's:/bin/sh:/bin/bash:g' || die
-
- sed "s:%LIBDIR%:$(get_libdir):g" "${FILESDIR}/ganeti.initd-r4" \
- > "${T}/ganeti.initd" || die
-
- eapply_user
-
- if [[ ${PV} =~ [9]{4,} ]]; then
- ./autogen.sh || die
- fi
- rm autotools/missing || die
- eautoreconf
-}
-
-src_configure() {
- # this is kind of a hack to work around the removal of the qemu-kvm wrapper
- local kvm_arch
-
- if use amd64; then
- kvm_arch=x86_64
- elif use x86; then
- kvm_arch=i386
- elif use kvm; then
- die "Could not determine qemu system to use for kvm"
- fi
-
- econf --localstatedir=/var \
- --sharedstatedir=/var \
- --disable-symlinks \
- --with-ssh-initscript=/etc/init.d/sshd \
- --with-export-dir=/var/lib/ganeti-storage/export \
- --with-os-search-path=/usr/share/${PN}/os \
- $(use_enable restricted-commands) \
- $(use_enable test haskell-tests) \
- $(usex multiple-users "--with-default-user=" "" "gnt-daemons" "") \
- $(usex multiple-users "--with-user-prefix=" "" "${USER_PREFIX}" "") \
- $(usex multiple-users "--with-default-group=" "" "gnt-daemons" "") \
- $(usex multiple-users "--with-group-prefix=" "" "${GROUP_PREFIX}" "") \
- $(use_enable syslog) \
- $(use_enable monitoring) \
- $(usex kvm '--with-kvm-path=' '' "/usr/bin/qemu-system-${kvm_arch}" '') \
- $(usex haskell-daemons "--enable-confd=haskell" '' '' '') \
- --with-haskell-flags="-optl -Wl,-z,relro -optl -Wl,--as-needed" \
- --enable-socat-escape \
- --enable-socat-compress \
- SPHINX= \
- PANDOC=
-
- touch man/*.gen || die
- touch man/*.in || die
-}
-
-src_install() {
- emake V=1 DESTDIR="${D}" install
-
- newinitd "${T}"/ganeti.initd ${PN}
- newconfd "${FILESDIR}"/ganeti.confd-r2 ${PN}
-
- if use kvm; then
- newinitd "${FILESDIR}"/ganeti-kvm-poweroff.initd ganeti-kvm-poweroff
- newconfd "${FILESDIR}"/ganeti-kvm-poweroff.confd ganeti-kvm-poweroff
- fi
-
- # ganeti installs it's own docs in a generic location
- rm -rf "${D}"/{usr/share/doc/${PN},run} || die
-
- sed -i "s:/usr/$(get_libdir)/${PN}/tools/burnin:burnin:" doc/examples/bash_completion || die
- newbashcomp doc/examples/bash_completion gnt-instance
- bashcomp_alias gnt-instance burnin ganeti-{cleaner,confd} \
- h{space,check,scan,info,ail,arep,roller,squeeze,bal} \
- gnt-{os,job,filter,debug,storage,group,node,network,backup,cluster}
-
- use monitoring && bashcomp_alias gnt-instance mon-collector
-
- dodoc INSTALL UPGRADE NEWS README doc/*.rst
-
- docinto html
- dodoc -r doc/html/* doc/css/*.css
-
- docinto examples
- dodoc doc/examples/{ganeti.cron,gnt-config-backup} doc/examples/*.ocf
-
- docinto examples/hooks
- dodoc doc/examples/hooks/{ipsec,ethers}
-
- insinto /etc/cron.d
- newins doc/examples/ganeti.cron ${PN}
-
- insinto /etc/logrotate.d
- newins doc/examples/ganeti.logrotate ${PN}
-
- # need to dodir rather than keepdir here (bug #552482)
- dodir /var/lib/${PN}
-
- keepdir /var/log/${PN}/
- keepdir /usr/share/${PN}/${SERIES}/os/
- keepdir /var/lib/ganeti-storage/{export,file,shared}/
-
- dosym ${SERIES} "/usr/share/${PN}/default"
- dosym ${SERIES} "/usr/$(get_libdir)/${PN}/default"
-
- python_fix_shebang "${ED}" "${D}"/usr/"$(get_libdir)"/${PN}/${SERIES}
-}
-
-pkg_postinst() {
- if use multiple-users; then
- elog "You have enable multiple user support, the users for this must"
- elog "be created. You can use the provided tool for this, which is"
- elog "located at:"
- elog " /usr/$(get_libdir)/${PN}/tools/users-setup"
- fi
-}
-
-src_test() {
- PATH="${S}/scripts:${S}/src:${PATH}" \
- TMPDIR="/tmp" \
- GANETI_MASTER="$(hostname -f)" \
- emake check
-}
diff --git a/app-emulation/ganeti/ganeti-2.16.0_rc1.ebuild b/app-emulation/ganeti/ganeti-2.16.0_rc1.ebuild
deleted file mode 100644
index 3ce80aaa085d..000000000000
--- a/app-emulation/ganeti/ganeti-2.16.0_rc1.ebuild
+++ /dev/null
@@ -1,354 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=(python2_7)
-PYTHON_REQ_USE="ipv6(+)?"
-
-inherit user autotools bash-completion-r1 python-single-r1 versionator
-
-MY_PV="${PV/_rc/~rc}"
-MY_PV="${MY_PV/_beta/~beta}"
-MY_P="${PN}-${MY_PV}"
-SERIES="$(get_version_component_range 1-2)"
-
-if [[ ${PV} =~ [9]{4,} ]] ; then
- EGIT_REPO_URI="git://git.ganeti.org/ganeti.git"
- inherit git-2
- KEYWORDS=""
- PATCHES=()
-else
- DEBIAN_PV=${MY_PV}
- DEBIAN_PATCH=1
- SRC_URI="http://downloads.ganeti.org/releases/${SERIES}/${MY_P}.tar.gz"
- [[ -n "${DEBIAN_PATCH}" ]] && SRC_URI="${SRC_URI}
- mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${DEBIAN_PV}-${DEBIAN_PATCH}.debian.tar.xz
- "
- KEYWORDS="~amd64 ~x86"
- PATCHES=(
- "${WORKDIR}"/debian/patches/do-not-backup-export-dir.patch
- "${WORKDIR}"/debian/patches/Makefile.am-use-C.UTF-8
- "${WORKDIR}"/debian/patches/relax-deps
- "${WORKDIR}"/debian/patches/zlib-0.6-compatibility
- "${WORKDIR}"/debian/patches/fix_FTBFS_with_sphinx-1.3.5
- #"${WORKDIR}"/debian/patches/fix_ftbfs_with_sphinx_1.4 # ported manually
- )
-fi
-
-DESCRIPTION="Ganeti is a virtual server management software tool"
-HOMEPAGE="http://www.ganeti.org/"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="drbd experimental haskell-daemons htools ipv6 kvm lxc monitoring multiple-users rbd syslog test xen restricted-commands"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="|| ( kvm xen lxc )
- test? ( ipv6 )
- kvm? ( || ( amd64 x86 ) )
- ${PYTHON_REQUIRED_USE}"
-
-USER_PREFIX="${GANETI_USER_PREFIX:-"gnt-"}"
-GROUP_PREFIX="${GANETI_GROUP_PREFIX:-"${USER_PREFIX}"}"
-
-DEPEND="
- dev-libs/openssl:0
- $(python_gen_cond_dep '
- dev-python/paramiko[${PYTHON_MULTI_USEDEP}]
- dev-python/pyopenssl[${PYTHON_MULTI_USEDEP}]
- dev-python/simplejson[${PYTHON_MULTI_USEDEP}]
- dev-python/pyparsing[${PYTHON_MULTI_USEDEP}]
- dev-python/pyinotify[${PYTHON_MULTI_USEDEP}]
- dev-python/pycurl[${PYTHON_MULTI_USEDEP}]
- dev-python/ipaddr[${PYTHON_MULTI_USEDEP}]
- dev-python/bitarray[${PYTHON_MULTI_USEDEP}]
- dev-python/docutils[${PYTHON_MULTI_USEDEP}]
- dev-python/fdsend[${PYTHON_MULTI_USEDEP}]
- ')
- || (
- net-misc/iputils[arping]
- net-analyzer/arping
- )
- net-analyzer/fping
- net-misc/bridge-utils
- net-misc/curl[ssl]
- net-misc/openssh
- net-misc/socat
- sys-apps/iproute2
- sys-fs/lvm2
- >=sys-apps/baselayout-2.0
- dev-lang/ghc:0=
- dev-haskell/cabal:0=
- dev-haskell/cabal-install:0=
- >=dev-haskell/mtl-2.1.1:0=
- >=dev-haskell/old-time-1.1.0.0:0=
- >=dev-haskell/random-1.0.1.1:0=
- haskell-daemons? ( >=dev-haskell/text-0.11.1.13:0= )
- >=dev-haskell/transformers-0.3.0.0:0=
-
- >=dev-haskell/attoparsec-0.10.1.1:0=
- <dev-haskell/attoparsec-0.14:0
- >=dev-haskell/base64-bytestring-1.0.0.1:0=
- <dev-haskell/base64-bytestring-1.1:0=
- >=dev-haskell/crypto-4.2.4:0=
- <dev-haskell/crypto-4.3:0=
- >=dev-haskell/curl-1.3.7:0=
- <dev-haskell/curl-1.4:0=
- >=dev-haskell/hinotify-0.3.2:0=
- <dev-haskell/hinotify-0.4:0=
- >=dev-haskell/hslogger-1.1.4:0=
- <dev-haskell/hslogger-1.3:0=
- >=dev-haskell/json-0.5:0=
- >=dev-haskell/lens-3.10:0=
- >=dev-haskell/lifted-base-0.2.0.3:0=
- <dev-haskell/lifted-base-0.3:0=
- >=dev-haskell/monad-control-0.3.1.3:0=
- <dev-haskell/monad-control-1.1:0=
- >=dev-haskell/network-2.3.0.13:0=
- <dev-haskell/network-2.7:0=
- >=dev-haskell/parallel-3.2.0.2:3=
- <dev-haskell/parallel-3.3:3=
- >=dev-haskell/temporary-1.1.2.3:0=
- <dev-haskell/temporary-1.3:0=
- >=dev-haskell/regex-pcre-0.94.2:0=
- <dev-haskell/regex-pcre-0.95:0=
- >=dev-haskell/transformers-base-0.4.1:0=
- <dev-haskell/transformers-base-0.5:0=
- >=dev-haskell/utf8-string-0.3.7:0=
- >=dev-haskell/zlib-0.5.3.3:0=
- <dev-haskell/zlib-0.7:0=
-
- >=dev-haskell/psqueue-1.1:0=
- <dev-haskell/psqueue-1.2:0=
- >=dev-haskell/snap-core-0.8.1:0=
- <dev-haskell/snap-core-0.10:0=
- >=dev-haskell/snap-server-0.8.1:0=
- <dev-haskell/snap-server-0.10:0=
- >=dev-haskell/case-insensitive-0.4.0.1
-
- dev-haskell/vector:0=
- xen? ( >=app-emulation/xen-3.0 )
- kvm? (
- dev-python/psutil
- app-emulation/qemu
- )
- lxc? ( app-emulation/lxc )
- drbd? ( sys-cluster/drbd-utils )
- rbd? ( sys-cluster/ceph )
- ipv6? ( net-misc/ndisc6 )
- ${PYTHON_DEPS}"
-RDEPEND="${DEPEND}
- !app-emulation/ganeti-htools"
-DEPEND+="
- sys-devel/m4
- app-text/pandoc
- $(python_gen_cond_dep '
- dev-python/sphinx[${PYTHON_MULTI_USEDEP}]
- ')
- media-fonts/urw-fonts
- media-gfx/graphviz
- >=dev-haskell/test-framework-0.6:0=
- <dev-haskell/test-framework-0.9:0=
- >=dev-haskell/test-framework-hunit-0.2.7:0=
- <dev-haskell/test-framework-hunit-0.4:0=
- >=dev-haskell/test-framework-quickcheck2-0.2.12.1:0=
- <dev-haskell/test-framework-quickcheck2-0.4:0=
- test? (
- dev-python/mock
- dev-python/pyyaml
- dev-haskell/haddock:0=
- >=dev-haskell/hunit-1.2.4.2:0=
- <dev-haskell/hunit-1.3:0=
- >=dev-haskell/quickcheck-2.4.2:2=
- <dev-haskell/quickcheck-2.8.3:2=
- sys-apps/fakeroot
- >=net-misc/socat-1.7
- dev-util/shelltestrunner
- )"
-
-PATCHES+=(
- "${FILESDIR}/${PN}-2.12-start-stop-daemon-args.patch"
- "${FILESDIR}/${PN}-2.11-add-pgrep.patch"
- "${FILESDIR}/${PN}-2.15-daemon-util.patch"
- "${FILESDIR}/${PN}-2.9-disable-root-tests.patch"
- "${FILESDIR}/${PN}-2.9-skip-cli-test.patch"
- "${FILESDIR}/${PN}-2.10-rundir.patch"
- "${FILESDIR}/${PN}-2.12-qemu-enable-kvm.patch"
- "${FILESDIR}/${PN}-2.11-tests.patch"
- "${FILESDIR}/${PN}-lockdir.patch"
- "${FILESDIR}/${PN}-2.11-dont-nest-libdir.patch"
- "${FILESDIR}/${PN}-2.11-dont-print-man-help.patch"
- "${FILESDIR}/${PN}-2.11-daemon-util-tests.patch"
- "${FILESDIR}/${PN}-2.13-process_unittest.patch"
- "${FILESDIR}/${PN}-2.15-python-mock.patch"
- "${FILESDIR}/${PN}-2.15.2-remove-sandbox-failing-tests.patch"
- "${FILESDIR}/${PN}-2.16-noded-must-run-as-root.patch"
- "${FILESDIR}/${PN}-2.16-kvmd-run-as-daemon-user.patch"
- "${FILESDIR}/${PN}-2.15-dont-invert-return-values-for-man-warnings.patch"
- "${FILESDIR}/fix_ftbfs_with_sphinx_1.4"
- "${FILESDIR}/${PN}-2.15-respect-HFLAGS.patch"
-)
-
-S="${WORKDIR}/${MY_P}"
-
-QA_WX_LOAD="
- usr/lib*/${PN}/${SERIES}/usr/sbin/ganeti-*d
- usr/lib*/${PN}/${SERIES}/usr/bin/htools
-"
-
-pkg_setup() {
- local user
- python-single-r1_pkg_setup
-
- if use multiple-users; then
- for user in gnt-{masterd,confd,luxid,rapi,daemons,admin}; do
- enewgroup ${user}
- enewuser ${user} -1 -1 -1 ${user}
- done
- fi
-}
-
-src_prepare() {
- local testfile
- if has_version '>=dev-lang/ghc-7.10'; then
- # Breaks the build on 7.8
- PATCHES+=(
- "${WORKDIR}"/debian/patches/ghc-7.10-compatibility.patch
- )
- fi
- if use experimental; then
- ewarn "Experimental patches have been applied! RPC between daemons with different patches applied may cause breakage!"
- PATCHES+=(
- # QEMU Agent accepted upstream for 2.16, not yet in a tagged release
- # backport available for 2.15, but refused upstream due to RPC breakage.
- "${FILESDIR}"/0001-kvm-use_guest_agent-QEMU-Guest-Agent-sup.stable-2.16.patch
- )
- fi
- eapply "${PATCHES[@]}"
- # Upstream commits:
- # 4c3c2ca2a97a69c0287a3d23e064bc17978105eb
- # 24618882737fd7c189adf99f4acc767d48f572c3
- sed -i \
- -e '/QuickCheck/s,< 2.8,< 2.8.3,g' \
- cabal/ganeti.template.cabal
- # Neuter -Werror
- sed -i \
- -e '/^if DEVELOPER_MODE/,/^endif/s/-Werror//' \
- Makefile.am
-
- # not sure why these tests are failing
- # should remove this on next version bump if possible
- for testfile in test/py/import-export_unittest.bash; do
- printf '#!/bin/bash\ntrue\n' > "${testfile}"
- done
-
- # take the sledgehammer approach to bug #526270
- grep -lr '/bin/sh' "${S}" | xargs -r -- sed -i 's:/bin/sh:/bin/bash:g'
-
- eapply_user
-
- [[ ${PV} =~ [9]{4,} ]] && ./autogen.sh
- rm autotools/missing
- eautoreconf
-}
-
-src_configure() {
- # this is kind of a hack to work around the removal of the qemu-kvm wrapper
- local kvm_arch
-
- if use amd64; then
- kvm_arch=x86_64
- elif use x86; then
- kvm_arch=i386
- elif use kvm; then
- die "Could not determine qemu system to use for kvm"
- fi
-
- econf --localstatedir=/var \
- --sharedstatedir=/var \
- --disable-symlinks \
- --with-ssh-initscript=/etc/init.d/sshd \
- --with-export-dir=/var/lib/ganeti-storage/export \
- --with-os-search-path=/usr/share/${PN}/os \
- $(use_enable restricted-commands) \
- $(use_enable test haskell-tests) \
- $(usex multiple-users "--with-default-user=" "" "gnt-daemons" "") \
- $(usex multiple-users "--with-user-prefix=" "" "${USER_PREFIX}" "") \
- $(usex multiple-users "--with-default-group=" "" "gnt-daemons" "") \
- $(usex multiple-users "--with-group-prefix=" "" "${GROUP_PREFIX}" "") \
- $(use_enable syslog) \
- $(use_enable monitoring) \
- $(usex kvm '--with-kvm-path=' '' "/usr/bin/qemu-system-${kvm_arch}" '') \
- $(usex haskell-daemons "--enable-confd=haskell" '' '' '') \
- --with-haskell-flags="-optl -Wl,-z,relro -optl -Wl,--as-needed" \
- --enable-socat-escape \
- --enable-socat-compress
-}
-
-src_install() {
- emake V=1 DESTDIR="${D}" install
-
- newinitd "${FILESDIR}"/ganeti.initd-r3 ${PN}
- newconfd "${FILESDIR}"/ganeti.confd-r2 ${PN}
-
- if use kvm; then
- newinitd "${FILESDIR}"/ganeti-kvm-poweroff.initd ganeti-kvm-poweroff
- newconfd "${FILESDIR}"/ganeti-kvm-poweroff.confd ganeti-kvm-poweroff
- fi
-
- # ganeti installs it's own docs in a generic location
- rm -rf "${D}"/{usr/share/doc/${PN},run}
-
- sed -i "s:/usr/$(get_libdir)/${PN}/tools/burnin:burnin:" doc/examples/bash_completion
- newbashcomp doc/examples/bash_completion gnt-instance
- bashcomp_alias gnt-instance burnin ganeti-{cleaner,confd} \
- h{space,check,scan,info,ail,arep,roller,squeeze,bal} \
- gnt-{os,job,filter,debug,storage,group,node,network,backup,cluster}
-
- use monitoring && bashcomp_alias gnt-instance mon-collector
-
- dodoc INSTALL UPGRADE NEWS README doc/*.rst
-
- docinto html
- dodoc -r doc/html/* doc/css/*.css
-
- docinto examples
- dodoc doc/examples/{ganeti.cron,gnt-config-backup} doc/examples/*.ocf
-
- docinto examples/hooks
- dodoc doc/examples/hooks/{ipsec,ethers}
-
- insinto /etc/cron.d
- newins doc/examples/ganeti.cron ${PN}
-
- insinto /etc/logrotate.d
- newins doc/examples/ganeti.logrotate ${PN}
-
- # need to dodir rather than keepdir here (bug #552482)
- dodir /var/lib/${PN}
-
- keepdir /var/log/${PN}/
- keepdir /usr/share/${PN}/${SERIES}/os/
- keepdir /var/lib/ganeti-storage/{export,file,shared}/
-
- dosym ${SERIES} "/usr/share/${PN}/default"
- dosym ${SERIES} "/usr/$(get_libdir)/${PN}/default"
-
- python_fix_shebang "${ED}" "${D}"/usr/"$(get_libdir)"/${PN}/${SERIES}
-}
-
-pkg_postinst() {
- if use multiple-users; then
- elog "You have enable multiple user support, the users for this must"
- elog "be created. You can use the provided tool for this, which is"
- elog "located at:"
- elog " /usr/$(get_libdir)/${PN}/tools/users-setup"
- fi
-}
-
-src_test() {
- PATH="${S}/scripts:${S}/src:${PATH}" \
- TMPDIR="/tmp" \
- GANETI_MASTER="$(hostname -f)" \
- emake check
-}
diff --git a/app-emulation/ganeti/ganeti-2.17.0_beta1.ebuild b/app-emulation/ganeti/ganeti-2.17.0_beta1.ebuild
deleted file mode 100644
index 5571ec375586..000000000000
--- a/app-emulation/ganeti/ganeti-2.17.0_beta1.ebuild
+++ /dev/null
@@ -1,354 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-PYTHON_COMPAT=(python2_7)
-PYTHON_REQ_USE="ipv6(+)?"
-
-inherit user autotools bash-completion-r1 python-single-r1 versionator
-
-MY_PV="${PV/_rc/~rc}"
-MY_PV="${MY_PV/_beta/~beta}"
-MY_P="${PN}-${MY_PV}"
-SERIES="$(get_version_component_range 1-2)"
-
-if [[ ${PV} =~ [9]{4,} ]] ; then
- EGIT_REPO_URI="git://git.ganeti.org/ganeti.git"
- inherit git-2
- KEYWORDS=""
- PATCHES=()
-else
- DEBIAN_PV='2.16.0~rc1'
- DEBIAN_PATCH=1
- SRC_URI="http://downloads.ganeti.org/releases/${SERIES}/${MY_P}.tar.gz"
- [[ -n "${DEBIAN_PATCH}" ]] && SRC_URI="${SRC_URI}
- mirror://debian/pool/main/${PN:0:1}/${PN}/${PN}_${DEBIAN_PV}-${DEBIAN_PATCH}.debian.tar.xz
- "
- KEYWORDS="~amd64 ~x86"
- PATCHES=(
- "${WORKDIR}"/debian/patches/do-not-backup-export-dir.patch
- "${WORKDIR}"/debian/patches/Makefile.am-use-C.UTF-8
- #"${WORKDIR}"/debian/patches/relax-deps # Ported manually
- "${WORKDIR}"/debian/patches/zlib-0.6-compatibility
- "${WORKDIR}"/debian/patches/fix_FTBFS_with_sphinx-1.3.5
- #"${WORKDIR}"/debian/patches/fix_ftbfs_with_sphinx_1.4 # ported manually
- )
-fi
-
-DESCRIPTION="Ganeti is a virtual server management software tool"
-HOMEPAGE="http://www.ganeti.org/"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="drbd experimental haskell-daemons htools ipv6 kvm lxc monitoring multiple-users rbd syslog test xen restricted-commands"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="|| ( kvm xen lxc )
- test? ( ipv6 )
- kvm? ( || ( amd64 x86 ) )
- ${PYTHON_REQUIRED_USE}"
-
-USER_PREFIX="${GANETI_USER_PREFIX:-"gnt-"}"
-GROUP_PREFIX="${GANETI_GROUP_PREFIX:-"${USER_PREFIX}"}"
-
-DEPEND="
- dev-libs/openssl:0
- $(python_gen_cond_dep '
- dev-python/paramiko[${PYTHON_MULTI_USEDEP}]
- dev-python/pyopenssl[${PYTHON_MULTI_USEDEP}]
- dev-python/simplejson[${PYTHON_MULTI_USEDEP}]
- dev-python/pyparsing[${PYTHON_MULTI_USEDEP}]
- dev-python/pyinotify[${PYTHON_MULTI_USEDEP}]
- dev-python/pycurl[${PYTHON_MULTI_USEDEP}]
- dev-python/ipaddr[${PYTHON_MULTI_USEDEP}]
- dev-python/bitarray[${PYTHON_MULTI_USEDEP}]
- dev-python/docutils[${PYTHON_MULTI_USEDEP}]
- dev-python/fdsend[${PYTHON_MULTI_USEDEP}]
- ')
- || (
- net-misc/iputils[arping]
- net-analyzer/arping
- )
- net-analyzer/fping
- net-misc/bridge-utils
- net-misc/curl[ssl]
- net-misc/openssh
- net-misc/socat
- sys-apps/iproute2
- sys-fs/lvm2
- >=sys-apps/baselayout-2.0
- dev-lang/ghc:0=
- dev-haskell/cabal:0=
- dev-haskell/cabal-install:0=
- >=dev-haskell/mtl-2.1.1:0=
- >=dev-haskell/old-time-1.1.0.0:0=
- >=dev-haskell/random-1.0.1.1:0=
- haskell-daemons? ( >=dev-haskell/text-0.11.1.13:0= )
- >=dev-haskell/transformers-0.3.0.0:0=
-
- >=dev-haskell/attoparsec-0.10.1.1:0=
- <dev-haskell/attoparsec-0.14:0
- >=dev-haskell/base64-bytestring-1.0.0.1:0=
- <dev-haskell/base64-bytestring-1.1:0=
- >=dev-haskell/crypto-4.2.4:0=
- <dev-haskell/crypto-4.3:0=
- >=dev-haskell/curl-1.3.7:0=
- <dev-haskell/curl-1.4:0=
- >=dev-haskell/hinotify-0.3.2:0=
- <dev-haskell/hinotify-0.4:0=
- >=dev-haskell/hslogger-1.1.4:0=
- <dev-haskell/hslogger-1.3:0=
- >=dev-haskell/json-0.5:0=
- >=dev-haskell/lens-3.10:0=
- >=dev-haskell/lifted-base-0.2.0.3:0=
- <dev-haskell/lifted-base-0.3:0=
- >=dev-haskell/monad-control-0.3.1.3:0=
- <dev-haskell/monad-control-1.1:0=
- >=dev-haskell/network-2.3.0.13:0=
- <dev-haskell/network-2.7:0=
- >=dev-haskell/parallel-3.2.0.2:3=
- <dev-haskell/parallel-3.3:3=
- >=dev-haskell/temporary-1.1.2.3:0=
- <dev-haskell/temporary-1.3:0=
- >=dev-haskell/regex-pcre-0.94.2:0=
- <dev-haskell/regex-pcre-0.95:0=
- >=dev-haskell/transformers-base-0.4.1:0=
- <dev-haskell/transformers-base-0.5:0=
- >=dev-haskell/utf8-string-0.3.7:0=
- >=dev-haskell/zlib-0.5.3.3:0=
- <dev-haskell/zlib-0.7:0=
-
- >=dev-haskell/psqueue-1.1:0=
- <dev-haskell/psqueue-1.2:0=
- >=dev-haskell/snap-core-0.8.1:0=
- <dev-haskell/snap-core-0.10:0=
- >=dev-haskell/snap-server-0.8.1:0=
- <dev-haskell/snap-server-0.10:0=
- >=dev-haskell/case-insensitive-0.4.0.1
-
- dev-haskell/vector:0=
- xen? ( >=app-emulation/xen-3.0 )
- kvm? (
- dev-python/psutil
- app-emulation/qemu
- )
- lxc? ( app-emulation/lxc )
- drbd? ( sys-cluster/drbd-utils )
- rbd? ( sys-cluster/ceph )
- ipv6? ( net-misc/ndisc6 )
- ${PYTHON_DEPS}"
-RDEPEND="${DEPEND}
- !app-emulation/ganeti-htools"
-DEPEND+="
- sys-devel/m4
- app-text/pandoc
- $(python_gen_cond_dep '
- <=dev-python/sphinx-1.3.5[${PYTHON_MULTI_USEDEP}]
- ')
- media-fonts/urw-fonts
- media-gfx/graphviz
- >=dev-haskell/test-framework-0.6:0=
- <dev-haskell/test-framework-0.9:0=
- >=dev-haskell/test-framework-hunit-0.2.7:0=
- <dev-haskell/test-framework-hunit-0.4:0=
- >=dev-haskell/test-framework-quickcheck2-0.2.12.1:0=
- <dev-haskell/test-framework-quickcheck2-0.4:0=
- test? (
- dev-python/mock
- dev-python/pyyaml
- dev-haskell/haddock:0=
- >=dev-haskell/hunit-1.2.4.2:0=
- <dev-haskell/hunit-1.3:0=
- >=dev-haskell/quickcheck-2.4.2:2=
- <dev-haskell/quickcheck-2.8.3:2=
- sys-apps/fakeroot
- >=net-misc/socat-1.7
- dev-util/shelltestrunner
- )"
-
-PATCHES+=(
- "${FILESDIR}/${PN}-2.12-start-stop-daemon-args.patch"
- "${FILESDIR}/${PN}-2.11-add-pgrep.patch"
- "${FILESDIR}/${PN}-2.15-daemon-util.patch"
- "${FILESDIR}/${PN}-2.9-disable-root-tests.patch"
- "${FILESDIR}/${PN}-2.9-skip-cli-test.patch"
- "${FILESDIR}/${PN}-2.10-rundir.patch"
- "${FILESDIR}/${PN}-2.12-qemu-enable-kvm.patch"
- "${FILESDIR}/${PN}-2.11-tests.patch"
- "${FILESDIR}/${PN}-lockdir.patch"
- "${FILESDIR}/${PN}-2.11-dont-nest-libdir.patch"
- "${FILESDIR}/${PN}-2.11-dont-print-man-help.patch"
- "${FILESDIR}/${PN}-2.11-daemon-util-tests.patch"
- "${FILESDIR}/${PN}-2.13-process_unittest.patch"
- "${FILESDIR}/${PN}-2.15-python-mock.patch"
- "${FILESDIR}/${PN}-2.15.2-remove-sandbox-failing-tests.patch"
- "${FILESDIR}/${PN}-2.16-noded-must-run-as-root.patch"
- "${FILESDIR}/${PN}-2.16-kvmd-run-as-daemon-user.patch"
- "${FILESDIR}/${PN}-2.15-dont-invert-return-values-for-man-warnings.patch"
- "${FILESDIR}/fix_ftbfs_with_sphinx_1.4"
- "${FILESDIR}/${PN}-2.17-relax-deps.patch"
-)
-
-S="${WORKDIR}/${MY_P}"
-
-QA_WX_LOAD="
- usr/lib*/${PN}/${SERIES}/usr/sbin/ganeti-*d
- usr/lib*/${PN}/${SERIES}/usr/bin/htools
-"
-
-pkg_setup() {
- local user
- python-single-r1_pkg_setup
-
- if use multiple-users; then
- for user in gnt-{masterd,confd,luxid,rapi,daemons,admin}; do
- enewgroup ${user}
- enewuser ${user} -1 -1 -1 ${user}
- done
- fi
-}
-
-src_prepare() {
- local testfile
- if has_version '>=dev-lang/ghc-7.10'; then
- # Breaks the build on 7.8
- PATCHES+=(
- "${WORKDIR}"/debian/patches/ghc-7.10-compatibility.patch
- )
- fi
- if use experimental; then
- ewarn "Experimental patches have been applied! RPC between daemons with different patches applied may cause breakage!"
- PATCHES+=(
- # QEMU Agent accepted upstream for 2.16, not yet in a tagged release
- # backport available for 2.15, but refused upstream due to RPC breakage.
- "${FILESDIR}"/0001-kvm-use_guest_agent-QEMU-Guest-Agent-sup.stable-2.16.patch
- )
- fi
- eapply "${PATCHES[@]}"
- # Upstream commits:
- # 4c3c2ca2a97a69c0287a3d23e064bc17978105eb
- # 24618882737fd7c189adf99f4acc767d48f572c3
- sed -i \
- -e '/QuickCheck/s,< 2.8,< 2.8.3,g' \
- cabal/ganeti.template.cabal
- # Neuter -Werror
- sed -i \
- -e '/^if DEVELOPER_MODE/,/^endif/s/-Werror//' \
- Makefile.am
-
- # not sure why these tests are failing
- # should remove this on next version bump if possible
- for testfile in test/py/import-export_unittest.bash; do
- printf '#!/bin/bash\ntrue\n' > "${testfile}"
- done
-
- # take the sledgehammer approach to bug #526270
- grep -lr '/bin/sh' "${S}" | xargs -r -- sed -i 's:/bin/sh:/bin/bash:g'
-
- eapply_user
-
- [[ ${PV} =~ [9]{4,} ]] && ./autogen.sh
- rm autotools/missing
- eautoreconf
-}
-
-src_configure() {
- # this is kind of a hack to work around the removal of the qemu-kvm wrapper
- local kvm_arch
-
- if use amd64; then
- kvm_arch=x86_64
- elif use x86; then
- kvm_arch=i386
- elif use kvm; then
- die "Could not determine qemu system to use for kvm"
- fi
-
- econf --localstatedir=/var \
- --sharedstatedir=/var \
- --disable-symlinks \
- --with-ssh-initscript=/etc/init.d/sshd \
- --with-export-dir=/var/lib/ganeti-storage/export \
- --with-os-search-path=/usr/share/${PN}/os \
- $(use_enable restricted-commands) \
- $(use_enable test haskell-tests) \
- $(usex multiple-users "--with-default-user=" "" "gnt-daemons" "") \
- $(usex multiple-users "--with-user-prefix=" "" "${USER_PREFIX}" "") \
- $(usex multiple-users "--with-default-group=" "" "gnt-daemons" "") \
- $(usex multiple-users "--with-group-prefix=" "" "${GROUP_PREFIX}" "") \
- $(use_enable syslog) \
- $(use_enable monitoring) \
- $(usex kvm '--with-kvm-path=' '' "/usr/bin/qemu-system-${kvm_arch}" '') \
- $(usex haskell-daemons "--enable-confd=haskell" '' '' '') \
- --with-haskell-flags="-optl -Wl,-z,relro -optl -Wl,--as-needed" \
- --enable-socat-escape \
- --enable-socat-compress
-}
-
-src_install() {
- emake V=1 DESTDIR="${D}" install
-
- newinitd "${FILESDIR}"/ganeti.initd-r3 ${PN}
- newconfd "${FILESDIR}"/ganeti.confd-r2 ${PN}
-
- if use kvm; then
- newinitd "${FILESDIR}"/ganeti-kvm-poweroff.initd ganeti-kvm-poweroff
- newconfd "${FILESDIR}"/ganeti-kvm-poweroff.confd ganeti-kvm-poweroff
- fi
-
- # ganeti installs it's own docs in a generic location
- rm -rf "${D}"/{usr/share/doc/${PN},run}
-
- sed -i "s:/usr/$(get_libdir)/${PN}/tools/burnin:burnin:" doc/examples/bash_completion
- newbashcomp doc/examples/bash_completion gnt-instance
- bashcomp_alias gnt-instance burnin ganeti-{cleaner,confd} \
- h{space,check,scan,info,ail,arep,roller,squeeze,bal} \
- gnt-{os,job,filter,debug,storage,group,node,network,backup,cluster}
-
- use monitoring && bashcomp_alias gnt-instance mon-collector
-
- dodoc INSTALL UPGRADE NEWS README doc/*.rst
-
- docinto html
- dodoc -r doc/html/* doc/css/*.css
-
- docinto examples
- dodoc doc/examples/{ganeti.cron,gnt-config-backup} doc/examples/*.ocf
-
- docinto examples/hooks
- dodoc doc/examples/hooks/{ipsec,ethers}
-
- insinto /etc/cron.d
- newins doc/examples/ganeti.cron ${PN}
-
- insinto /etc/logrotate.d
- newins doc/examples/ganeti.logrotate ${PN}
-
- # need to dodir rather than keepdir here (bug #552482)
- dodir /var/lib/${PN}
-
- keepdir /var/log/${PN}/
- keepdir /usr/share/${PN}/${SERIES}/os/
- keepdir /var/lib/ganeti-storage/{export,file,shared}/
-
- dosym ${SERIES} "/usr/share/${PN}/default"
- dosym ${SERIES} "/usr/$(get_libdir)/${PN}/default"
-
- python_fix_shebang "${ED}" "${D}"/usr/"$(get_libdir)"/${PN}/${SERIES}
-}
-
-pkg_postinst() {
- if use multiple-users; then
- elog "You have enable multiple user support, the users for this must"
- elog "be created. You can use the provided tool for this, which is"
- elog "located at:"
- elog " /usr/$(get_libdir)/${PN}/tools/users-setup"
- fi
-}
-
-src_test() {
- PATH="${S}/scripts:${S}/src:${PATH}" \
- TMPDIR="/tmp" \
- GANETI_MASTER="$(hostname -f)" \
- emake check
-}
diff --git a/app-emulation/ganeti/metadata.xml b/app-emulation/ganeti/metadata.xml
deleted file mode 100644
index d591fbcc6e46..000000000000
--- a/app-emulation/ganeti/metadata.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>chutzpah@gentoo.org</email>
- <name>Patrick McLean</name>
- </maintainer>
- <maintainer type="project">
- <email>virtualization@gentoo.org</email>
- <name>Gentoo Virtualization Project</name>
- </maintainer>
- <longdescription lang="en">
- Ganeti is a cluster virtual server management software tool built on top of
- existing virtualization technologies such as Xen or KVM and other Open
- Source software.
-
- Ganeti requires pre-installed virtualization software on your servers in
- order to function. Once installed, the tool will take over the management
- part of the virtual instances (Xen DomU), e.g. disk creation management,
- operating system installation for these instances (in co-operation with
- OS-specific install scripts), and startup, shutdown, failover between
- physical systems. It has been designed to facilitate cluster management of
- virtual servers and to provide fast and simple recovery after physical
- failures using commodity hardware.
- </longdescription>
- <use>
- <flag name="drbd">Enable DRBD support</flag>
- <flag name="haskell-daemons">Build haskell daemons instead of python</flag>
- <flag name="htools">Enable htools support</flag>
- <flag name="kvm">Enable KVM support</flag>
- <flag name="lxc">Enable Linux Countainers support</flag>
- <flag name="multiple-users">Enable support for running VMs as different users</flag>
- <flag name="monitoring">Enable the ganeti monitoring daemon</flag>
- <flag name="restricted-commands">Enable restricted commands in the node daemon</flag>
- <flag name="rbd">Enable rados block device support via sys-cluster/ceph</flag>
- <flag name="xen">Enable Xen support</flag>
- <flag name="experimental">Enable experimental patches. Warning! This will break RPC within major versions if the patches applied differ!</flag>
- </use>
-</pkgmetadata>