diff options
author | David Seifert <soap@gentoo.org> | 2022-07-23 21:41:42 +0200 |
---|---|---|
committer | David Seifert <soap@gentoo.org> | 2022-07-23 21:41:42 +0200 |
commit | 5bf91f5a2f1f31c230fadf7547badfc221f8f20b (patch) | |
tree | 70d573d68d81312a7ecd4b148e81dfd712c970ca | |
parent | app-cdr/cue2toc: update EAPI 6 -> 8 (diff) | |
download | gentoo-5bf91f5a2f1f31c230fadf7547badfc221f8f20b.tar.gz gentoo-5bf91f5a2f1f31c230fadf7547badfc221f8f20b.tar.bz2 gentoo-5bf91f5a2f1f31c230fadf7547badfc221f8f20b.zip |
Reverts: [QA] 12c9e08 ("app-emulation/ganeti: import from infra overlay before cleanup")
The ebuilds added still have way too many QA issues:
- py3.7 (dead), best version is py3.8 which we're about to remove
- massive FILESDIR
- no BDEPEND
- more masked dependencies
- the ebuilds are a web of complicated patches/seds
Signed-off-by: David Seifert <soap@gentoo.org>
54 files changed, 0 insertions, 3309 deletions
diff --git a/app-emulation/ganeti/Manifest b/app-emulation/ganeti/Manifest deleted file mode 100644 index 3fa0d08d946d..000000000000 --- a/app-emulation/ganeti/Manifest +++ /dev/null @@ -1,2 +0,0 @@ -DIST ganeti-3.0.2.tar.gz 4941978 BLAKE2B d2d11554e202895e93531254ffe68f1ac69943870c9bb91cccbda17bf1f43dba27dcb869aff9f35aca23b4b3f7100597f71ebe3a46e464ec5b24d2f34606935d SHA512 8724888251ba952eb2861f9322adf7d022bbe92fcee0c92c033d07397907737e7f54a5a8751c24beb6343392e7b6ddba4b61981ef5879e47d821ffeae34fa1c1 -DIST ganeti_3.0.2-1.debian.tar.xz 45700 BLAKE2B 5b2c2285102f46b8e4bceaf040880fe38f999c4abe483b415065fc9408eb713643b69c16d2a468d9e159dcf6fd9388732db03db53955fa603e902a13faa2979e SHA512 49e4698998b87a3c204558b60be59d2b9810783d9c8d94b64eeb72302b3ed62c41decb4d24b54cf9c45f13ad3549362e4b837addc7de4a0e5efc646fb6f6c52f 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-3.0.1-buildfix.patch b/app-emulation/ganeti/files/ganeti-3.0.1-buildfix.patch deleted file mode 100644 index 3c3bf2c7af90..000000000000 --- a/app-emulation/ganeti/files/ganeti-3.0.1-buildfix.patch +++ /dev/null @@ -1,79 +0,0 @@ ---- ganeti-3.0.1.orig/autotools/check-python-code 2021-02-03 09:24:44.000000000 -0800 -+++ ganeti-3.0.1/autotools/check-python-code 2021-08-17 22:09:01.279286516 -0700 -@@ -32,9 +32,10 @@ - # Ensure the checks always use the same locale - export LC_ALL=C - --readonly maxlinelen=$(for ((i=0; i<81; ++i)); do echo -n .; done) -+readonly maxlinelen_num=120 -+readonly maxlinelen=$(for ((i=0; i<$maxlinelen_num; ++i)); do echo -n .; done) - --if [[ "${#maxlinelen}" != 81 ]]; then -+if [[ "${#maxlinelen}" != $maxlinelen_num ]]; then - echo "Internal error: Check for line length is incorrect" >&2 - exit 1 - fi -@@ -68,7 +69,7 @@ - - if grep -n -H "^$maxlinelen" "$script"; then - let ++problems -- echo "Longest line in $script is longer than 80 characters" >&2 -+ echo "Longest line in $script is longer than $maxlinelen_num characters" >&2 - fi - - if grep -n -H -E -i \ ---- ganeti-3.0.1.orig/test/py/ganeti.cli_unittest.py 2021-02-03 09:24:44.000000000 -0800 -+++ ganeti-3.0.1/test/py/ganeti.cli_unittest.py 2021-08-17 22:40:45.098873762 -0700 -@@ -1140,7 +1140,7 @@ - if len(keyparts) > 1: - self._RenameDictItem(minmax, key, keyparts[0]) - self.assertTrue(constants.IPOLICY_DTS in parsed) -- parsed[constants.IPOLICY_DTS] = yaml.load("[%s]" % -+ parsed[constants.IPOLICY_DTS] = yaml.full_load("[%s]" % - parsed[constants.IPOLICY_DTS]) - - @staticmethod -@@ -1148,7 +1148,7 @@ - formatted = cli.FormatPolicyInfo(custom, effective, iscluster) - buf = StringIO() - cli._SerializeGenericInfo(buf, formatted, 0) -- return yaml.load(buf.getvalue()) -+ return yaml.full_load(buf.getvalue()) - - def _PrintAndCheckParsed(self, policy): - parsed = self._PrintAndParsePolicy(policy, NotImplemented, True) ---- ganeti-3.0.1.orig/qa/qa_utils.py 2021-02-03 09:24:44.000000000 -0800 -+++ ganeti-3.0.1/qa/qa_utils.py 2021-08-17 22:40:45.099873801 -0700 -@@ -450,7 +450,7 @@ - master = qa_config.GetMasterNode() - cmdline = utils.ShellQuoteArgs(infocmd) - info_out = GetCommandOutput(master.primary, cmdline) -- return yaml.load(info_out) -+ return yaml.full_load(info_out) - - - def UploadFile(node, src): -diff -Nuar ganeti-3.0.1.orig/test/py/ganeti.hooks_unittest.py ganeti-3.0.1/test/py/ganeti.hooks_unittest.py ---- ganeti-3.0.1.orig/test/py/ganeti.hooks_unittest.py 2021-08-17 22:49:00.459354704 -0700 -+++ ganeti-3.0.1/test/py/ganeti.hooks_unittest.py 2021-08-17 23:16:29.276890680 -0700 -@@ -66,6 +66,8 @@ - class TestHooksRunner(unittest.TestCase): - """Testing case for HooksRunner""" - def setUp(self): -+ # See all differences in env -+ self.maxDiff = None - self.torm = [] - self.tmpdir = tempfile.mkdtemp() - self.torm.append((self.tmpdir, True)) -diff -Nuar ganeti-3.0.1.orig/test/py/ganeti.utils.process_unittest.py ganeti-3.0.1/test/py/ganeti.utils.process_unittest.py ---- ganeti-3.0.1.orig/test/py/ganeti.utils.process_unittest.py 2021-08-17 22:49:00.458354624 -0700 -+++ ganeti-3.0.1/test/py/ganeti.utils.process_unittest.py 2021-08-17 23:19:04.413002771 -0700 -@@ -208,6 +208,8 @@ - - def setUp(self): - testutils.GanetiTestCase.setUp(self) -+ # See all differences in env -+ self.maxDiff = None - self.magic = time.ctime() + " ganeti test" - self.fname = self._CreateTempFile() - self.fifo_tmpdir = tempfile.mkdtemp() diff --git a/app-emulation/ganeti/files/ganeti-3.0.1-docfixes.patch b/app-emulation/ganeti/files/ganeti-3.0.1-docfixes.patch deleted file mode 100644 index efca5af7d39a..000000000000 --- a/app-emulation/ganeti/files/ganeti-3.0.1-docfixes.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- ganeti-3.0.1.orig/doc/index.rst 2021-02-03 09:24:44.000000000 -0800 -+++ ganeti-3.0.1/doc/index.rst 2021-08-14 22:04:20.028241843 -0700 -@@ -121,7 +121,6 @@ - design-kvmd.rst - design-location.rst - design-linuxha.rst -- design-location.rst - design-lu-generated-jobs.rst - design-monitoring-agent.rst - design-move-instance-improvements.rst diff --git a/app-emulation/ganeti/files/ganeti-3.0.1-gentoo-infra-hacks.patch b/app-emulation/ganeti/files/ganeti-3.0.1-gentoo-infra-hacks.patch deleted file mode 100644 index 649083314839..000000000000 --- a/app-emulation/ganeti/files/ganeti-3.0.1-gentoo-infra-hacks.patch +++ /dev/null @@ -1,195 +0,0 @@ -This is Robin's hacky set of patches for Ganeti - -Issue A: -* OpenRC start-stop-daemon no longer supports --oknodo option, which Ganeti - uses for idempotent stop/start daemons. -* OpenRC treats "--stop --signal 0" as a stop, rather than just doing SIG0. -* Resolve the above by adding using --signal 0 on it's own, and forcing the - stop/start functions to check before doing things. - -Issue B: http/client, rapi/client -* curl is stricter than it used to be! -* Explicitly pass Ganeti's CA cert to Curl when the client is making calls, so - that it can be trusted. -* Ensure that ONLY the Ganeti CA is used, and not other system certs. - -Bonus: -* Extra stuff to make it easier to debug - -Open Bugs: -* When using ganeti-vcluster, some tools don't apply the vcluster prefix to the socket path. - E.g. they try to open /run/ganeti/socket/ganeti-query instead of /var/lib/ganeti-vcluster/node1/run/ganeti/socket/ganeti-query - ---- a/lib/bootstrap.py 2021-08-18 22:14:52.728930451 -0700 -+++ b/lib/bootstrap.py 2021-08-18 15:29:54.125248452 -0700 -@@ -63,7 +63,7 @@ - _INITCONF_ECID = "initconfig-ecid" - - #: After how many seconds daemon must be responsive --_DAEMON_READY_TIMEOUT = 10.0 -+_DAEMON_READY_TIMEOUT = 10.0 # Useful to raise during debug - - - def GenerateHmacKey(file_name): ---- a/lib/utils/log.py 2021-08-18 22:14:52.750932142 -0700 -+++ b/lib/utils/log.py 2021-08-18 15:51:27.044122859 -0700 -@@ -186,9 +186,13 @@ - logging.info("Received request to reopen log files") - - --def SetupLogging(logfile, program, debug=0, stderr_logging=False, -- multithreaded=False, syslog=constants.SYSLOG_USAGE, -- console_logging=False, root_logger=None): -+def SetupLogging(logfile, program, debug=0, stderr_logging=False, -+ multithreaded=False, syslog=constants.SYSLOG_USAGE, -+ console_logging=False, root_logger=None): -+#Useful to use during debug -+#def SetupLogging(logfile, program, debug=10, stderr_logging=True, -+# multithreaded=False, syslog=constants.SYSLOG_YES, -+# console_logging=True, root_logger=None): - """Configures the logging module. - - @type logfile: str ---- a/lib/rapi/client.py 2021-08-18 22:14:52.667925763 -0700 -+++ b/lib/rapi/client.py 2021-08-18 16:56:32.569894199 -0700 -@@ -361,6 +361,9 @@ - if cafile or capath or use_curl_cabundle: - # Require certificates to be checked - curl.setopt(pycurl.SSL_VERIFYPEER, True) -+ if not use_curl_cabundle: -+ curl.setopt(pycurl.CAINFO, str('')) -+ curl.setopt(pycurl.CAPATH, str('')) - if cafile: - curl.setopt(pycurl.CAINFO, str(cafile)) - if capath: ---- a/lib/http/client.py 2021-08-18 22:14:52.470910624 -0700 -+++ b/lib/http/client.py 2021-08-18 17:02:50.196376211 -0700 -@@ -42,6 +42,7 @@ - from ganeti import compat - from ganeti import netutils - from ganeti import locking -+from ganeti import pathutils - - - class HttpClientRequest(object): -@@ -141,7 +142,9 @@ - @param req: HTTP request - - """ -+ noded_cert = pathutils.NODED_CERT_FILE - logging.debug("Starting request %r", req) -+ #logging.debug("request2 %s", req.url) - - url = req.url - method = req.method -@@ -152,8 +155,13 @@ - resp_buffer = BytesIO() - - # Configure client for request -- curl.setopt(pycurl.VERBOSE, False) -+ curl.setopt(pycurl.VERBOSE, False) -+ #curl.setopt(pycurl.VERBOSE, True) - curl.setopt(pycurl.NOSIGNAL, True) -+ #curl.setopt(pycurl.SSL_VERIFYPEER, False) -+ #curl.setopt(pycurl.SSL_VERIFYHOST, 0) -+ curl.setopt(pycurl.CAINFO, noded_cert) -+ curl.setopt(pycurl.CAPATH, noded_cert) - curl.setopt(pycurl.USERAGENT, http.HTTP_GANETI_VERSION) - curl.setopt(pycurl.PROXY, "") - curl.setopt(pycurl.CUSTOMREQUEST, method) - ---- a/daemons/daemon-util.in 2021-08-18 22:14:52.442908473 -0700 -+++ b/daemons/daemon-util.in 2021-08-18 20:00:53.111847248 -0700 -@@ -260,6 +260,8 @@ - echo 'Missing daemon name.' >&2 - return 1 - fi -+ #echo "DEBUG: $0: check $1" 1>&2 -+ #set -x - - local name="$1"; shift - local pidfile=$(_daemon_pidfile $name) -@@ -273,21 +275,24 @@ - return 1 - fi - elif type -p start-stop-daemon >/dev/null; then -- start-stop-daemon --stop --signal 0 --quiet \ -+ start-stop-daemon --test --signal 0 --quiet \ - --pidfile $pidfile --name "$name" -+ return $? - else - _ignore_error status \ - -p $pidfile \ - $daemonexec -+ return $? - fi - } - - # Starts a daemon --start() { -+_start() { - if [[ "$#" -lt 1 ]]; then - echo 'Missing daemon name.' >&2 - return 1 - fi -+ #echo "DEBUG: $0: _start $1" 1>&2 - - local name="$1"; shift - # Convert daemon name to uppercase after removing "ganeti-" prefix -@@ -342,11 +347,12 @@ - } - - # Stops a daemon --stop() { -+_stop() { - if [[ "$#" -lt 1 ]]; then - echo 'Missing daemon name.' >&2 - return 1 - fi -+ #echo "DEBUG: $0: stop $1" 1>&2 - - local name="$1"; shift - local pidfile=$(_daemon_pidfile $name) -@@ -371,10 +377,32 @@ - return 1 - fi - -- start $name -+ _start $name -+ fi -+} -+ -+# Stop a daemon only if running -+check_and_stop() { -+ local name="$1" -+ -+ if check $name; then -+ if use_systemctl; then -+ echo "${name} supervised by systemd but not running, will not restart." -+ return 1 -+ fi -+ -+ _stop $name - fi - } - -+stop() { -+ check_and_stop "$@" -+} -+ -+start() { -+ check_and_start "$@" -+} -+ - # Starts the master role - start_master() { - if use_systemctl; then -@@ -423,7 +451,7 @@ - systemctl stop ganeti.target - else - for i in $(list_stop_daemons); do -- stop $i -+ stop $i - done - fi - } diff --git a/app-emulation/ganeti/files/ganeti-3.0.1-sphinx.patch b/app-emulation/ganeti/files/ganeti-3.0.1-sphinx.patch deleted file mode 100644 index 5b2fb4e3dc98..000000000000 --- a/app-emulation/ganeti/files/ganeti-3.0.1-sphinx.patch +++ /dev/null @@ -1,9 +0,0 @@ -diff -Nuar ganeti-3.0.1.orig/lib/build/shell_example_lexer.py ganeti-3.0.1/lib/build/shell_example_lexer.py ---- ganeti-3.0.1.orig/lib/build/shell_example_lexer.py 2021-02-03 09:24:44.000000000 -0800 -+++ ganeti-3.0.1/lib/build/shell_example_lexer.py 2021-08-17 21:30:34.049432703 -0700 -@@ -79,4 +79,4 @@ - - - def setup(app): -- app.add_lexer("shell-example", ShellExampleLexer()) -+ app.add_lexer("shell-example", ShellExampleLexer) diff --git a/app-emulation/ganeti/files/ganeti-3.0.1-template_haskell.patch b/app-emulation/ganeti/files/ganeti-3.0.1-template_haskell.patch deleted file mode 100644 index 7ac02d020796..000000000000 --- a/app-emulation/ganeti/files/ganeti-3.0.1-template_haskell.patch +++ /dev/null @@ -1,24 +0,0 @@ -API change in version 2.16 (shipped with ghc-8.10) which changed the type for -the TupE constructor from [Exp] to [Maybe Exp]. - -Thanks-To: solpeth in #gentoo-haskell -Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> - ---- ganeti-3.0.1/src/Ganeti/THH/Types.hs 2021-02-03 09:24:44.000000000 -0800 -+++ ganeti-3.0.1.modified//src/Ganeti/THH/Types.hs 2021-08-14 21:37:38.027556528 -0700 -@@ -122,5 +122,13 @@ - curryN n = do - f <- newName "f" - ps <- replicateM n (newName "x") -- return $ LamE (VarP f : map VarP ps) -- (AppE (VarE f) (TupE $ map VarE ps)) -+ -- return $ LamE (VarP f : map VarP ps) -+ -- (AppE (VarE f) (TupE $ map VarE ps)) -+ let args = map VarP (f:ps) -+ ntup = TupE -+#if MIN_VERSION_template_haskell(2,16,0) -+ $ map Just (map VarE ps) -+#else -+ (map VarE ps) -+#endif -+ return $ LamE args (AppE (VarE f) ntup) diff --git a/app-emulation/ganeti/files/ganeti-3.0.2-docfixes.patch b/app-emulation/ganeti/files/ganeti-3.0.2-docfixes.patch deleted file mode 100644 index 8c50d38a5c4e..000000000000 --- a/app-emulation/ganeti/files/ganeti-3.0.2-docfixes.patch +++ /dev/null @@ -1,11 +0,0 @@ -diff -Nuar ganeti-3.0.2.orig/doc/index.rst ganeti-3.0.2/doc/index.rst ---- ganeti-3.0.2.orig/doc/index.rst 2022-06-21 22:50:29.119540902 -0700 -+++ ganeti-3.0.2/doc/index.rst 2022-06-21 22:55:40.645219873 -0700 -@@ -120,6 +120,7 @@ - design-internal-shutdown.rst - design-kvmd.rst - design-linuxha.rst -+ design-location.rst - design-lu-generated-jobs.rst - design-monitoring-agent.rst - design-move-instance-improvements.rst diff --git a/app-emulation/ganeti/files/ganeti-3.0.2-gentoo-daemon-util-part2.patch b/app-emulation/ganeti/files/ganeti-3.0.2-gentoo-daemon-util-part2.patch deleted file mode 100644 index 48a93d403b4a..000000000000 --- a/app-emulation/ganeti/files/ganeti-3.0.2-gentoo-daemon-util-part2.patch +++ /dev/null @@ -1,64 +0,0 @@ ---- a/daemons/daemon-util.in 2021-08-18 22:14:52.442908473 -0700 -+++ b/daemons/daemon-util.in 2022-07-04 13:17:29.914663427 -0700 -@@ -28,6 +28,7 @@ - # SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - set -e -+#set -x - - # Allow overriding for tests - readonly LOCALSTATEDIR=${LOCALSTATEDIR:-${GANETI_ROOTDIR:-}/var} -@@ -330,11 +331,14 @@ - fi - - if type -p start-stop-daemon >/dev/null; then -- start-stop-daemon --start --quiet --oknodo \ -+ start-stop-daemon --start \ -+ --wait 200 \ - --pidfile $pidfile \ -- --startas $daemonexec \ -- --chuid $usergroup \ -+ --exec $daemonexec \ -+ --user $usergroup \ - -- $args "$@" -+ rc=$? -+ return $? - else - # TODO: Find a way to start daemon with a group, until then the group must - # be removed -@@ -360,7 +364,7 @@ - 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 --name "$name" - else - _ignore_error killproc -p $pidfile $name -@@ -369,7 +373,7 @@ - - # Starts a daemon if it's not yet running - check_and_start() { -- local name="$1" -+ local name="$1" ; shift - - if ! check $name; then - if use_systemctl; then -@@ -377,7 +381,7 @@ - return 1 - fi - -- _start $name -+ _start $name "$@" - fi - } - -@@ -469,7 +473,7 @@ - - if type -p start-stop-daemon >/dev/null; then - start-stop-daemon --stop --signal HUP --quiet \ -- --oknodo --pidfile $pidfile --name "$name" -+ --pidfile $pidfile --name "$name" - else - _ignore_error killproc \ - -p $pidfile \ diff --git a/app-emulation/ganeti/files/ganeti-3.0.2-less-sleep.patch b/app-emulation/ganeti/files/ganeti-3.0.2-less-sleep.patch deleted file mode 100644 index d13347160d0d..000000000000 --- a/app-emulation/ganeti/files/ganeti-3.0.2-less-sleep.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff -Nuar ganeti-3.0.2.orig/lib/cmdlib/instance_storage.py ganeti-3.0.2/lib/cmdlib/instance_storage.py ---- ganeti-3.0.2.orig/lib/cmdlib/instance_storage.py 2022-02-28 12:37:07.000000000 -0800 -+++ ganeti-3.0.2/lib/cmdlib/instance_storage.py 2022-06-25 15:35:20.742784824 -0700 -@@ -58,6 +58,7 @@ - import ganeti.masterd.instance - - -+_SLEEP_MIN_TIME = 10 - _DISK_TEMPLATE_NAME_PREFIX = { - constants.DT_PLAIN: "", - constants.DT_RBD: ".rbd", -@@ -1501,7 +1502,7 @@ - if done or oneshot: - break - -- time.sleep(min(60, max_time)) -+ time.sleep(min(_SLEEP_MIN_TIME, max_time)) - - if done: - lu.LogInfo("Instance %s's disks are in sync", instance.name) 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-tmpfilesd b/app-emulation/ganeti/files/ganeti-tmpfilesd deleted file mode 100644 index 681bb6c366e8..000000000000 --- a/app-emulation/ganeti/files/ganeti-tmpfilesd +++ /dev/null @@ -1,41 +0,0 @@ -# needs to be readable by ganeti -f /etc/ganeti/file-storage-paths 0640 root root - - -# stateful ganeti stuff -d /var/lib/ganeti 0755 root root - -d /var/lib/ganeti/queue 0750 root root - -d /var/lib/ganeti/queue/archive 0750 root root - -d /var/lib/ganeti/rapi 0750 root root - - -# places to store data -d /srv/ganeti/file-storage - - - - -d /srv/ganeti/shared-file-storage - - - - -d /srv/ganeti/export - - - - -d /srv/ganeti/os - - - -d /srv/ganeti/extstorage - - - - - -# Needed to run ganeti -d /run/ganeti/ 0775 root root -d /run/ganeti/bdev-cache 0755 root root -d /run/ganeti/chroot-hypervisor 0775 root root -d /run/ganeti/crypto 0700 root root -d /run/ganeti/fake-hypervisor 0775 root root -d /run/ganeti/gluster 0750 root root - -d /run/ganeti/import-export 0755 root root -d /run/ganeti/instance-disks 0755 root root -d /run/ganeti/instance-reason 0755 root root -d /run/ganeti/kvm-hypervisor 0775 root root -d /run/ganeti/kvm-hypervisor/chroot 0775 root root -d /run/ganeti/kvm-hypervisor/chroot-quarantine 0775 root root -d /run/ganeti/kvm-hypervisor/conf 0775 root root -d /run/ganeti/kvm-hypervisor/ctrl 0775 root root -d /run/ganeti/kvm-hypervisor/keymap 0775 root root -d /run/ganeti/kvm-hypervisor/nic 0775 root root -d /run/ganeti/kvm-hypervisor/pid 0775 root root -d /run/ganeti/kvm-hypervisor/uid 0775 root root -d /run/ganeti/livelocks 0750 root root -d /run/ganeti/luxidmessages 0750 root root -d /run/ganeti/lxc 0755 root root -d /run/ganeti/lxc/instance 0750 root root -d /run/ganeti/socket 0770 root root -d /run/ganeti/uid-pool 0750 root root 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.confd-r5 b/app-emulation/ganeti/files/ganeti.confd-r5 deleted file mode 100644 index c283bb166232..000000000000 --- a/app-emulation/ganeti/files/ganeti.confd-r5 +++ /dev/null @@ -1,30 +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" - -# daemon-util may pass arguments via the _ARGS variant! - -# Options to pass to ganeti-noded -GANETI_NODED_OPTS="${GANETI_NODED_OPTS:-${NODED_ARGS:-}}" - -# Options to pass to ganeti-masterd -GANETI_MASTERD_OPTS="${GANETI_MASTERD_OPTS:-${MASTERD_ARGS:-}}" - -# Options to pass to ganeti-rapi -GANETI_RAPI_OPTS="${GANETI_RAPI_OPTS:-${RAPI_ARGS:-}}" - -# Options to pass to ganeti-confd -GANETI_CONFD_OPTS="${GANETI_CONFD_OPTS:-${CONFD_ARGS:-}}" - -# Options to pass to ganeti-mond -GANETI_MOND_OPTS="${GANETI_MOND_OPTS:-${MOND_ARGS:-}}" - -# Options to pass to ganeti-wconfd -GANETI_WCONFD_OPTS="${GANETI_WCONFD_OPTS:-${WCONFD_ARGS:-}}" - -# Options to pass to ganeti-luxid -GANETI_LUXID_OPTS="${GANETI_LUXID_OPTS:-${LUXID_ARGS:-}}" - -# Options to pass to ganeti-kvmd -GANETI_KVMD_OPTS="${GANETI_KVMD_OPTS:-${KVMD_ARGS:-}}" 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/files/ganeti.initd-r5 b/app-emulation/ganeti/files/ganeti.initd-r5 deleted file mode 100644 index 72dd0cdd6ac1..000000000000 --- a/app-emulation/ganeti/files/ganeti.initd-r5 +++ /dev/null @@ -1,103 +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" -readonly LOCALSTATEDIR=${LOCALSTATEDIR:-${GANETI_ROOTDIR:-}/var} -readonly SYSCONFDIR=${SYSCONFDIR:-${GANETI_ROOTDIR:-}/etc} -readonly PKGLIBDIR=/usr/lib64/ganeti -readonly LOG_DIR="$LOCALSTATEDIR/log/ganeti" -readonly RUN_DIR="/run/ganeti" -readonly DATA_DIR="$LOCALSTATEDIR/lib/ganeti" -readonly CONF_DIR="$SYSCONFDIR/ganeti" - -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|wconfd) 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-r6 b/app-emulation/ganeti/files/ganeti.initd-r6 deleted file mode 100644 index eb5843ef0084..000000000000 --- a/app-emulation/ganeti/files/ganeti.initd-r6 +++ /dev/null @@ -1,108 +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" -readonly LOCALSTATEDIR=${LOCALSTATEDIR:-${GANETI_ROOTDIR:-}/var} -readonly SYSCONFDIR=${SYSCONFDIR:-${GANETI_ROOTDIR:-}/etc} -readonly PKGLIBDIR=/usr/lib64/ganeti -readonly LOG_DIR="$LOCALSTATEDIR/log/ganeti" -readonly RUN_DIR="/run/ganeti" -readonly DATA_DIR="$LOCALSTATEDIR/lib/ganeti" -readonly CONF_DIR="$SYSCONFDIR/ganeti" - -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 - - daemons_to_start=$(${DAEMON_UTIL} list-start-daemons) - veinfo "Daemons to start: "${daemons_to_start} - - for daemon in $daemons_to_start ; do - optsvar="$(printf "${daemon}_OPTS" | tr - _ | LC_ALL=C tr '[:lower:]' '[:upper:]')" - - case "${daemon#ganeti-}" in - masterd|rapi|luxid|wconfd) 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 - daemons_to_stop=$(${DAEMON_UTIL} list-stop-daemons) - veinfo "Daemons to stop: "${daemons_to_stop} - - for daemon in $daemons_to_stop ; do - case "${daemon#ganeti-}" in - masterd|rapi|luxid|wconfd) 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-3.0.2-r2.ebuild b/app-emulation/ganeti/ganeti-3.0.2-r2.ebuild deleted file mode 100644 index ea66aef7fbf0..000000000000 --- a/app-emulation/ganeti/ganeti-3.0.2-r2.ebuild +++ /dev/null @@ -1,413 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -# As of 3.0.2, Upstream does NOT yet support newer than python3.8 -PYTHON_COMPAT=(python3_{7..8}) -PYTHON_REQ_USE="ipv6(+)?" - -inherit autotools bash-completion-r1 python-single-r1 tmpfiles - -MY_PV="${PV/_rc/~rc}" -MY_PV="${MY_PV/_beta/~beta}" -MY_P="${PN}-${MY_PV}" -SERIES="3.0" - -if [[ ${PV} =~ [9]{4,} ]] ; then - EGIT_REPO_URI="https://github.com/ganeti/ganeti" - EGIT_BRANCH="stable-$SERIES" - inherit git-r3 - PATCHES=() -else - DEBIAN_PV="${PV}" - #http://deb.debian.org/debian/pool/main/g/ganeti/ganeti_3.0.1-2.debian.tar.xz - DEBIAN_PATCH=1 - SRC_URI="https://github.com/ganeti/ganeti/releases/download/v${PV}/${P}.tar.gz" - [[ -n "${DEBIAN_PATCH}" ]] && 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/0001-verify-warn-about-weak-certs.patch - "${WORKDIR}"/debian/patches/0002-remove-hardcoded-libc-linux-constants.patch - ) -fi - -DESCRIPTION="Ganeti is a virtual server management software tool" -HOMEPAGE="http://www.ganeti.org/" - -LICENSE="GPL-2" -SLOT="0" -IUSE="drbd experimental ipv6 kvm lxc monitoring 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_USEDEP}] - dev-python/pyopenssl[${PYTHON_USEDEP}] - dev-python/simplejson[${PYTHON_USEDEP}] - dev-python/pyparsing[${PYTHON_USEDEP}] - dev-python/pyinotify[${PYTHON_USEDEP}] - dev-python/pycurl[${PYTHON_USEDEP}] - dev-python/ipaddr[${PYTHON_USEDEP}] - dev-python/bitarray[${PYTHON_USEDEP}] - dev-python/docutils[${PYTHON_USEDEP}] - dev-python/fdsend[${PYTHON_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-8.0:0= - <dev-lang/ghc-9:0= - >=dev-haskell/cabal-3: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= - >=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/cryptonite-0.23: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.5:0= - >=dev-haskell/hslogger-1.1.4:0= - <dev-haskell/hslogger-1.4:0= - >=dev-haskell/json-0.5:0= - <dev-haskell/json-1.0:0= - >=dev-haskell/lens-3.10:0= - <dev-haskell/lens-5.0: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/parallel-3.2.0.2:3= - <dev-haskell/parallel-3.3:3= - >=dev-haskell/regex-pcre-0.94.2:0= - <dev-haskell/regex-pcre-0.96:0= - >=dev-haskell/temporary-1.1.2.3:0= - <dev-haskell/temporary-1.4: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/network-2.9:0= - <dev-haskell/network-3.2:0= - >=dev-haskell/network-bsd-2.8:0= - <dev-haskell/network-bsd-2.9:0= - - >=dev-haskell/psqueue-1.1:0= - <dev-haskell/psqueue-1.2:0= - >=dev-haskell/snap-core-1.0.0:0= - >=dev-haskell/snap-server-1.0.0:0= - >=dev-haskell/case-insensitive-0.4.0.1:0= - <dev-haskell/case-insensitive-1.3:0= - - dev-haskell/vector:0= - xen? ( >=app-emulation/xen-3.0 ) - kvm? ( - dev-python/psutil - app-emulation/qemu - ) - lxc? ( app-containers/lxc ) - drbd? ( sys-cluster/drbd-utils ) - rbd? ( sys-cluster/ceph ) - ipv6? ( net-misc/ndisc6 ) - ${PYTHON_DEPS}" -RDEPEND="${DEPEND}" -DEPEND+=" - sys-devel/m4 - app-text/pandoc - $(python_gen_cond_dep ' - dev-python/sphinx[${PYTHON_USEDEP}] - ') - media-fonts/urw-fonts - media-gfx/graphviz - test? ( - dev-python/mock - dev-python/pyyaml - dev-haskell/haddock:0= - >=dev-haskell/hunit-1.2.4.2:0= - <dev-haskell/hunit-1.7:0= - >=dev-haskell/quickcheck-2.8:2= - <dev-haskell/quickcheck-2.14:2= - >=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= - 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" - ##"${FILESDIR}"/${PN}-3.0.1-template_haskell.patch - ##"${FILESDIR}"/${PN}-3.0.1-docfixes.patch - ##"${FILESDIR}"/${PN}-3.0.1-sphinx.patch - "${FILESDIR}"/${PN}-3.0.1-buildfix.patch - "${FILESDIR}"/${PN}-3.0.1-gentoo-infra-hacks.patch - "${FILESDIR}"/ganeti-3.0.2-less-sleep.patch - "${FILESDIR}"/${PN}-3.0.2-gentoo-daemon-util-part2.patch -) - -S="${WORKDIR}/${MY_P}" - -QA_WX_LOAD=" - usr/lib*/${PN}/${SERIES}/usr/sbin/ganeti-*d - usr/lib*/${PN}/${SERIES}/ganeti/mon-collector - usr/lib*/${PN}/${SERIES}/usr/bin/htools -" - -pkg_setup() { - local user - python-single-r1_pkg_setup - - # Unknown if this functionality was ever used. Maybe re-introduce if issues - # reported. - #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 -} - -# These flags get applied in src_prepare and src_configure -GNT_HASKELL_FLAGS="-optl -Wl,-z,relro -optl -Wl,--as-needed -Wno-unused-imports -Wno-deprecations -Wno-monomorphism-restriction" - -src_prepare() { - local testfile - if has_version '>=dev-lang/ghc-8.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+=( - ) - fi - - # Some debian patches have trailing whitespace, which trips upstream testing - if test -d "${WORKDIR}"/debian/patches ; then - sed -r -i -e 's,[[:space:]]+$,,g' "${WORKDIR}"/debian/patches/* || die "sed failed" - 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 - # Disable warnings to make it easier to see failure - sed -i -e "/^GHC_BYVERSION_FLAGS = @GHC_BYVERSION_FLAGS@/s/$/ ${GNT_HASKELL_FLAGS}/g" "${S}"/Makefile.in -} - -src_compile() { - export TMPDIR="${T}/tmp" - mkdir -p "${TMPDIR}" - default -} - -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_opt=( - --localstatedir=/var - --sharedstatedir=/var - --disable-symlinks - --with-sshd-restart-command='/etc/init.d/sshd restart' - #--with-export-dir=/var/lib/ganeti-storage/export # Old gentoo - --with-export-dir=/srv/ganeti/export # Upstream recommended - - #--with-extstorage-search-path=/var/lib/ganeti-storage/ # Old Gentoo - --with-extstorage-search-path=/srv/ganeti/extstorage,/var/lib/ganeti-storage/ext # Upstream + Gentoo - - --with-os-search-path=/srv/ganeti/os,/usr/share/${PN}/os # Upstream + Gentoo - - --disable-manpages-in-doc - --enable-metadata - $(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}" '') - --with-haskell-flags="${GNT_HASKELL_FLAGS}" - --enable-socat-escape - --enable-socat-compress - --disable-maintainer-mode - # Upstream ships some weird defaults for filenames - --with-xen-kernel=/boot/kernel - --with-kvm-kernel=/boot/kernel - --with-xen-initrd=/boot/initramfs - --with-kvm-initrd=/boot/initramfs - - # Force this split haskell module - ENABLE_NETWORK_BSD=1 - ) - econf "${econf_opt[@]}" -} - -src_compile() { - emake ENABLE_MANPAGES="" MAN_HAS_WARNINGS="" -} - -src_install() { - emake V=1 DESTDIR="${D}" ENABLE_MANPAGES="" MAN_HAS_WARNINGS="" install - - newinitd "${FILESDIR}"/ganeti.initd-r6 ${PN} - newconfd "${FILESDIR}"/ganeti.confd-r5 ${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/* - - 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} - - newtmpfiles "${FILESDIR}"/ganeti-tmpfilesd ${PN}.conf - - keepdir /var/log/${PN}/ - keepdir /usr/share/${PN}/${SERIES}/os/ - # These are the older Gentoo paths - keepdir /var/lib/ganeti-storage/{export,file,shared}/ - - # This is handled by tmpfiles. You cannot use keepdir here as Ganeti refuses to have other files in it! - rmdir "${D}"/var/lib/ganeti || true - - dosym ${SERIES} "/usr/share/${PN}/default" - dosym ${SERIES} "/usr/$(get_libdir)/${PN}/default" - - python_fix_shebang "${ED}" "${D}"/usr/"$(get_libdir)"/${PN}/${SERIES} - - # Be opinionated, this is the paths that upstream suggests and uses as defaults in configure. - # ganeti-tmpfilesd will ensure they are created - touch "${D}"/etc/ganeti/file-storage-paths - echo /srv/ganeti/file-storage >>"${D}"/etc/ganeti/file-storage-paths - echo /srv/ganeti/shared-file-storage >>"${D}"/etc/ganeti/file-storage-paths -} - -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() { - # locale is used in some of the doc checks - export LC_ALL=C - PATH="${S}/scripts:${S}/src:${PATH}" \ - TMPDIR="/tmp" \ - LC_ALL=C \ - GANETI_MASTER="$(hostname -f)" \ - emake check -} diff --git a/app-emulation/ganeti/ganeti-3.0.9999.ebuild b/app-emulation/ganeti/ganeti-3.0.9999.ebuild deleted file mode 100644 index ea66aef7fbf0..000000000000 --- a/app-emulation/ganeti/ganeti-3.0.9999.ebuild +++ /dev/null @@ -1,413 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -# As of 3.0.2, Upstream does NOT yet support newer than python3.8 -PYTHON_COMPAT=(python3_{7..8}) -PYTHON_REQ_USE="ipv6(+)?" - -inherit autotools bash-completion-r1 python-single-r1 tmpfiles - -MY_PV="${PV/_rc/~rc}" -MY_PV="${MY_PV/_beta/~beta}" -MY_P="${PN}-${MY_PV}" -SERIES="3.0" - -if [[ ${PV} =~ [9]{4,} ]] ; then - EGIT_REPO_URI="https://github.com/ganeti/ganeti" - EGIT_BRANCH="stable-$SERIES" - inherit git-r3 - PATCHES=() -else - DEBIAN_PV="${PV}" - #http://deb.debian.org/debian/pool/main/g/ganeti/ganeti_3.0.1-2.debian.tar.xz - DEBIAN_PATCH=1 - SRC_URI="https://github.com/ganeti/ganeti/releases/download/v${PV}/${P}.tar.gz" - [[ -n "${DEBIAN_PATCH}" ]] && 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/0001-verify-warn-about-weak-certs.patch - "${WORKDIR}"/debian/patches/0002-remove-hardcoded-libc-linux-constants.patch - ) -fi - -DESCRIPTION="Ganeti is a virtual server management software tool" -HOMEPAGE="http://www.ganeti.org/" - -LICENSE="GPL-2" -SLOT="0" -IUSE="drbd experimental ipv6 kvm lxc monitoring 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_USEDEP}] - dev-python/pyopenssl[${PYTHON_USEDEP}] - dev-python/simplejson[${PYTHON_USEDEP}] - dev-python/pyparsing[${PYTHON_USEDEP}] - dev-python/pyinotify[${PYTHON_USEDEP}] - dev-python/pycurl[${PYTHON_USEDEP}] - dev-python/ipaddr[${PYTHON_USEDEP}] - dev-python/bitarray[${PYTHON_USEDEP}] - dev-python/docutils[${PYTHON_USEDEP}] - dev-python/fdsend[${PYTHON_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-8.0:0= - <dev-lang/ghc-9:0= - >=dev-haskell/cabal-3: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= - >=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/cryptonite-0.23: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.5:0= - >=dev-haskell/hslogger-1.1.4:0= - <dev-haskell/hslogger-1.4:0= - >=dev-haskell/json-0.5:0= - <dev-haskell/json-1.0:0= - >=dev-haskell/lens-3.10:0= - <dev-haskell/lens-5.0: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/parallel-3.2.0.2:3= - <dev-haskell/parallel-3.3:3= - >=dev-haskell/regex-pcre-0.94.2:0= - <dev-haskell/regex-pcre-0.96:0= - >=dev-haskell/temporary-1.1.2.3:0= - <dev-haskell/temporary-1.4: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/network-2.9:0= - <dev-haskell/network-3.2:0= - >=dev-haskell/network-bsd-2.8:0= - <dev-haskell/network-bsd-2.9:0= - - >=dev-haskell/psqueue-1.1:0= - <dev-haskell/psqueue-1.2:0= - >=dev-haskell/snap-core-1.0.0:0= - >=dev-haskell/snap-server-1.0.0:0= - >=dev-haskell/case-insensitive-0.4.0.1:0= - <dev-haskell/case-insensitive-1.3:0= - - dev-haskell/vector:0= - xen? ( >=app-emulation/xen-3.0 ) - kvm? ( - dev-python/psutil - app-emulation/qemu - ) - lxc? ( app-containers/lxc ) - drbd? ( sys-cluster/drbd-utils ) - rbd? ( sys-cluster/ceph ) - ipv6? ( net-misc/ndisc6 ) - ${PYTHON_DEPS}" -RDEPEND="${DEPEND}" -DEPEND+=" - sys-devel/m4 - app-text/pandoc - $(python_gen_cond_dep ' - dev-python/sphinx[${PYTHON_USEDEP}] - ') - media-fonts/urw-fonts - media-gfx/graphviz - test? ( - dev-python/mock - dev-python/pyyaml - dev-haskell/haddock:0= - >=dev-haskell/hunit-1.2.4.2:0= - <dev-haskell/hunit-1.7:0= - >=dev-haskell/quickcheck-2.8:2= - <dev-haskell/quickcheck-2.14:2= - >=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= - 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" - ##"${FILESDIR}"/${PN}-3.0.1-template_haskell.patch - ##"${FILESDIR}"/${PN}-3.0.1-docfixes.patch - ##"${FILESDIR}"/${PN}-3.0.1-sphinx.patch - "${FILESDIR}"/${PN}-3.0.1-buildfix.patch - "${FILESDIR}"/${PN}-3.0.1-gentoo-infra-hacks.patch - "${FILESDIR}"/ganeti-3.0.2-less-sleep.patch - "${FILESDIR}"/${PN}-3.0.2-gentoo-daemon-util-part2.patch -) - -S="${WORKDIR}/${MY_P}" - -QA_WX_LOAD=" - usr/lib*/${PN}/${SERIES}/usr/sbin/ganeti-*d - usr/lib*/${PN}/${SERIES}/ganeti/mon-collector - usr/lib*/${PN}/${SERIES}/usr/bin/htools -" - -pkg_setup() { - local user - python-single-r1_pkg_setup - - # Unknown if this functionality was ever used. Maybe re-introduce if issues - # reported. - #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 -} - -# These flags get applied in src_prepare and src_configure -GNT_HASKELL_FLAGS="-optl -Wl,-z,relro -optl -Wl,--as-needed -Wno-unused-imports -Wno-deprecations -Wno-monomorphism-restriction" - -src_prepare() { - local testfile - if has_version '>=dev-lang/ghc-8.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+=( - ) - fi - - # Some debian patches have trailing whitespace, which trips upstream testing - if test -d "${WORKDIR}"/debian/patches ; then - sed -r -i -e 's,[[:space:]]+$,,g' "${WORKDIR}"/debian/patches/* || die "sed failed" - 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 - # Disable warnings to make it easier to see failure - sed -i -e "/^GHC_BYVERSION_FLAGS = @GHC_BYVERSION_FLAGS@/s/$/ ${GNT_HASKELL_FLAGS}/g" "${S}"/Makefile.in -} - -src_compile() { - export TMPDIR="${T}/tmp" - mkdir -p "${TMPDIR}" - default -} - -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_opt=( - --localstatedir=/var - --sharedstatedir=/var - --disable-symlinks - --with-sshd-restart-command='/etc/init.d/sshd restart' - #--with-export-dir=/var/lib/ganeti-storage/export # Old gentoo - --with-export-dir=/srv/ganeti/export # Upstream recommended - - #--with-extstorage-search-path=/var/lib/ganeti-storage/ # Old Gentoo - --with-extstorage-search-path=/srv/ganeti/extstorage,/var/lib/ganeti-storage/ext # Upstream + Gentoo - - --with-os-search-path=/srv/ganeti/os,/usr/share/${PN}/os # Upstream + Gentoo - - --disable-manpages-in-doc - --enable-metadata - $(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}" '') - --with-haskell-flags="${GNT_HASKELL_FLAGS}" - --enable-socat-escape - --enable-socat-compress - --disable-maintainer-mode - # Upstream ships some weird defaults for filenames - --with-xen-kernel=/boot/kernel - --with-kvm-kernel=/boot/kernel - --with-xen-initrd=/boot/initramfs - --with-kvm-initrd=/boot/initramfs - - # Force this split haskell module - ENABLE_NETWORK_BSD=1 - ) - econf "${econf_opt[@]}" -} - -src_compile() { - emake ENABLE_MANPAGES="" MAN_HAS_WARNINGS="" -} - -src_install() { - emake V=1 DESTDIR="${D}" ENABLE_MANPAGES="" MAN_HAS_WARNINGS="" install - - newinitd "${FILESDIR}"/ganeti.initd-r6 ${PN} - newconfd "${FILESDIR}"/ganeti.confd-r5 ${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/* - - 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} - - newtmpfiles "${FILESDIR}"/ganeti-tmpfilesd ${PN}.conf - - keepdir /var/log/${PN}/ - keepdir /usr/share/${PN}/${SERIES}/os/ - # These are the older Gentoo paths - keepdir /var/lib/ganeti-storage/{export,file,shared}/ - - # This is handled by tmpfiles. You cannot use keepdir here as Ganeti refuses to have other files in it! - rmdir "${D}"/var/lib/ganeti || true - - dosym ${SERIES} "/usr/share/${PN}/default" - dosym ${SERIES} "/usr/$(get_libdir)/${PN}/default" - - python_fix_shebang "${ED}" "${D}"/usr/"$(get_libdir)"/${PN}/${SERIES} - - # Be opinionated, this is the paths that upstream suggests and uses as defaults in configure. - # ganeti-tmpfilesd will ensure they are created - touch "${D}"/etc/ganeti/file-storage-paths - echo /srv/ganeti/file-storage >>"${D}"/etc/ganeti/file-storage-paths - echo /srv/ganeti/shared-file-storage >>"${D}"/etc/ganeti/file-storage-paths -} - -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() { - # locale is used in some of the doc checks - export LC_ALL=C - PATH="${S}/scripts:${S}/src:${PATH}" \ - TMPDIR="/tmp" \ - LC_ALL=C \ - GANETI_MASTER="$(hostname -f)" \ - emake check -} diff --git a/app-emulation/ganeti/ganeti-3.1.9999.ebuild b/app-emulation/ganeti/ganeti-3.1.9999.ebuild deleted file mode 100644 index 10ff7a522300..000000000000 --- a/app-emulation/ganeti/ganeti-3.1.9999.ebuild +++ /dev/null @@ -1,413 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -# As of 3.0.2, Upstream does NOT yet support newer than python3.8 -PYTHON_COMPAT=(python3_{7..8}) -PYTHON_REQ_USE="ipv6(+)?" - -inherit autotools bash-completion-r1 python-single-r1 tmpfiles - -MY_PV="${PV/_rc/~rc}" -MY_PV="${MY_PV/_beta/~beta}" -MY_P="${PN}-${MY_PV}" -SERIES="3.1" - -if [[ ${PV} =~ [9]{4,} ]] ; then - EGIT_REPO_URI="https://github.com/ganeti/ganeti" - EGIT_BRANCH="master" # not branched yet - inherit git-r3 - PATCHES=() -else - DEBIAN_PV="${PV}" - #http://deb.debian.org/debian/pool/main/g/ganeti/ganeti_3.0.1-2.debian.tar.xz - DEBIAN_PATCH=1 - SRC_URI="https://github.com/ganeti/ganeti/releases/download/v${PV}/${P}.tar.gz" - [[ -n "${DEBIAN_PATCH}" ]] && 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/0001-verify-warn-about-weak-certs.patch - "${WORKDIR}"/debian/patches/0002-remove-hardcoded-libc-linux-constants.patch - ) -fi - -DESCRIPTION="Ganeti is a virtual server management software tool" -HOMEPAGE="http://www.ganeti.org/" - -LICENSE="GPL-2" -SLOT="0" -IUSE="drbd experimental ipv6 kvm lxc monitoring 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_USEDEP}] - dev-python/pyopenssl[${PYTHON_USEDEP}] - dev-python/simplejson[${PYTHON_USEDEP}] - dev-python/pyparsing[${PYTHON_USEDEP}] - dev-python/pyinotify[${PYTHON_USEDEP}] - dev-python/pycurl[${PYTHON_USEDEP}] - dev-python/ipaddr[${PYTHON_USEDEP}] - dev-python/bitarray[${PYTHON_USEDEP}] - dev-python/docutils[${PYTHON_USEDEP}] - dev-python/fdsend[${PYTHON_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-8.0:0= - <dev-lang/ghc-9:0= - >=dev-haskell/cabal-3: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= - >=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/cryptonite-0.23: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.5:0= - >=dev-haskell/hslogger-1.1.4:0= - <dev-haskell/hslogger-1.4:0= - >=dev-haskell/json-0.5:0= - <dev-haskell/json-1.0:0= - >=dev-haskell/lens-3.10:0= - <dev-haskell/lens-5.0: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/parallel-3.2.0.2:3= - <dev-haskell/parallel-3.3:3= - >=dev-haskell/regex-pcre-0.94.2:0= - <dev-haskell/regex-pcre-0.96:0= - >=dev-haskell/temporary-1.1.2.3:0= - <dev-haskell/temporary-1.4: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/network-2.9:0= - <dev-haskell/network-3.2:0= - >=dev-haskell/network-bsd-2.8:0= - <dev-haskell/network-bsd-2.9:0= - - >=dev-haskell/psqueue-1.1:0= - <dev-haskell/psqueue-1.2:0= - >=dev-haskell/snap-core-1.0.0:0= - >=dev-haskell/snap-server-1.0.0:0= - >=dev-haskell/case-insensitive-0.4.0.1:0= - <dev-haskell/case-insensitive-1.3:0= - - dev-haskell/vector:0= - xen? ( >=app-emulation/xen-3.0 ) - kvm? ( - dev-python/psutil - app-emulation/qemu - ) - lxc? ( app-containers/lxc ) - drbd? ( sys-cluster/drbd-utils ) - rbd? ( sys-cluster/ceph ) - ipv6? ( net-misc/ndisc6 ) - ${PYTHON_DEPS}" -RDEPEND="${DEPEND}" -DEPEND+=" - sys-devel/m4 - app-text/pandoc - $(python_gen_cond_dep ' - dev-python/sphinx[${PYTHON_USEDEP}] - ') - media-fonts/urw-fonts - media-gfx/graphviz - test? ( - dev-python/mock - dev-python/pyyaml - dev-haskell/haddock:0= - >=dev-haskell/hunit-1.2.4.2:0= - <dev-haskell/hunit-1.7:0= - >=dev-haskell/quickcheck-2.8:2= - <dev-haskell/quickcheck-2.14:2= - >=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= - 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" - ##"${FILESDIR}"/${PN}-3.0.1-template_haskell.patch - ##"${FILESDIR}"/${PN}-3.0.1-docfixes.patch - ##"${FILESDIR}"/${PN}-3.0.1-sphinx.patch - "${FILESDIR}"/${PN}-3.0.1-buildfix.patch - "${FILESDIR}"/${PN}-3.0.1-gentoo-infra-hacks.patch - "${FILESDIR}"/ganeti-3.0.2-less-sleep.patch - "${FILESDIR}"/${PN}-3.0.2-gentoo-daemon-util-part2.patch -) - -S="${WORKDIR}/${MY_P}" - -QA_WX_LOAD=" - usr/lib*/${PN}/${SERIES}/usr/sbin/ganeti-*d - usr/lib*/${PN}/${SERIES}/ganeti/mon-collector - usr/lib*/${PN}/${SERIES}/usr/bin/htools -" - -pkg_setup() { - local user - python-single-r1_pkg_setup - - # Unknown if this functionality was ever used. Maybe re-introduce if issues - # reported. - #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 -} - -# These flags get applied in src_prepare and src_configure -GNT_HASKELL_FLAGS="-optl -Wl,-z,relro -optl -Wl,--as-needed -Wno-unused-imports -Wno-deprecations -Wno-monomorphism-restriction" - -src_prepare() { - local testfile - if has_version '>=dev-lang/ghc-8.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+=( - ) - fi - - # Some debian patches have trailing whitespace, which trips upstream testing - if test -d "${WORKDIR}"/debian/patches ; then - sed -r -i -e 's,[[:space:]]+$,,g' "${WORKDIR}"/debian/patches/* || die "sed failed" - 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 - # Disable warnings to make it easier to see failure - sed -i -e "/^GHC_BYVERSION_FLAGS = @GHC_BYVERSION_FLAGS@/s/$/ ${GNT_HASKELL_FLAGS}/g" "${S}"/Makefile.in -} - -src_compile() { - export TMPDIR="${T}/tmp" - mkdir -p "${TMPDIR}" - default -} - -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_opt=( - --localstatedir=/var - --sharedstatedir=/var - --disable-symlinks - --with-sshd-restart-command='/etc/init.d/sshd restart' - #--with-export-dir=/var/lib/ganeti-storage/export # Old gentoo - --with-export-dir=/srv/ganeti/export # Upstream recommended - - #--with-extstorage-search-path=/var/lib/ganeti-storage/ # Old Gentoo - --with-extstorage-search-path=/srv/ganeti/extstorage,/var/lib/ganeti-storage/ext # Upstream + Gentoo - - --with-os-search-path=/srv/ganeti/os,/usr/share/${PN}/os # Upstream + Gentoo - - --disable-manpages-in-doc - --enable-metadata - $(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}" '') - --with-haskell-flags="${GNT_HASKELL_FLAGS}" - --enable-socat-escape - --enable-socat-compress - --disable-maintainer-mode - # Upstream ships some weird defaults for filenames - --with-xen-kernel=/boot/kernel - --with-kvm-kernel=/boot/kernel - --with-xen-initrd=/boot/initramfs - --with-kvm-initrd=/boot/initramfs - - # Force this split haskell module - ENABLE_NETWORK_BSD=1 - ) - econf "${econf_opt[@]}" -} - -src_compile() { - emake ENABLE_MANPAGES="" MAN_HAS_WARNINGS="" -} - -src_install() { - emake V=1 DESTDIR="${D}" ENABLE_MANPAGES="" MAN_HAS_WARNINGS="" install - - newinitd "${FILESDIR}"/ganeti.initd-r6 ${PN} - newconfd "${FILESDIR}"/ganeti.confd-r5 ${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/* - - 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} - - newtmpfiles "${FILESDIR}"/ganeti-tmpfilesd ${PN}.conf - - keepdir /var/log/${PN}/ - keepdir /usr/share/${PN}/${SERIES}/os/ - # These are the older Gentoo paths - keepdir /var/lib/ganeti-storage/{export,file,shared}/ - - # This is handled by tmpfiles. You cannot use keepdir here as Ganeti refuses to have other files in it! - rmdir "${D}"/var/lib/ganeti || true - - dosym ${SERIES} "/usr/share/${PN}/default" - dosym ${SERIES} "/usr/$(get_libdir)/${PN}/default" - - python_fix_shebang "${ED}" "${D}"/usr/"$(get_libdir)"/${PN}/${SERIES} - - # Be opinionated, this is the paths that upstream suggests and uses as defaults in configure. - # ganeti-tmpfilesd will ensure they are created - touch "${D}"/etc/ganeti/file-storage-paths - echo /srv/ganeti/file-storage >>"${D}"/etc/ganeti/file-storage-paths - echo /srv/ganeti/shared-file-storage >>"${D}"/etc/ganeti/file-storage-paths -} - -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() { - # locale is used in some of the doc checks - export LC_ALL=C - PATH="${S}/scripts:${S}/src:${PATH}" \ - TMPDIR="/tmp" \ - LC_ALL=C \ - 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 24d79b34bc32..000000000000 --- a/app-emulation/ganeti/metadata.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> -<pkgmetadata> - <maintainer type="project"> - <email>infra@gentoo.org</email> - <name>Gentoo Infrastructure Team</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="kvm">Enable KVM support</flag> - <flag name="lxc">Enable Linux Containers support</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> diff --git a/profiles/package.mask b/profiles/package.mask index c0fe09f756fa..f0960a0a140e 100644 --- a/profiles/package.mask +++ b/profiles/package.mask @@ -33,10 +33,6 @@ #--- END OF EXAMPLES --- -# Robin H. Johnson <robbat2@gentoo.org> (2022-07-23) -# Prepare to re-introduce into the tree -app-emulation/ganeti - # Sam James <sam@gentoo.org> (2022-07-22) # Monolithic mask for dev-haskell/* packages which have no reverse dependencies, # are broken, or severely out of date. The aim is to have the Haskell overlay |