Sync with portage [Sat Jan 7 12:23:00 MSK 2017].

mhiretskiy 711
root 7 years ago
parent 87e7114f7d
commit b3e2f08948

@ -14,7 +14,7 @@ SRC_URI="https://github.com/klausman/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~x86 ~amd64-linux ~x86-linux"
KEYWORDS="~alpha ~amd64 ~hppa ~ppc64 ~x86 ~amd64-linux ~x86-linux"
IUSE="test"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"

@ -12,7 +12,7 @@ SRC_URI="http://download.savannah.gnu.org/releases-noredirect/${PN}/${P/_/-}.tar
LICENSE="GPL-2+"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
S="${WORKDIR}/${P/_/-}"

@ -10,7 +10,7 @@ SRC_URI="http://www.coker.com.au/bonnie++/experimental/${P}.tgz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~hppa ia64 ~mips ppc ppc64 sparc x86"
KEYWORDS="alpha amd64 ~arm ~hppa ia64 ~mips ppc ppc64 sparc x86"
IUSE="debug"
S="${WORKDIR}/${P}"

@ -0,0 +1,122 @@
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

@ -0,0 +1,122 @@
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

@ -0,0 +1,122 @@
From e91ae73f593115dba1f77af6a3af30cf2219f880 Mon Sep 17 00:00:00 2001
Message-Id: <e91ae73f593115dba1f77af6a3af30cf2219f880.1483650125.git.robbat2@gentoo.org>
From: "Robin H. Johnson" <robbat2@gentoo.org>
Date: Thu, 29 Sep 2016 08:57:28 -0700
Subject: [PATCH-2.17] 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 13bff2e71..7f43f89f9 100644
--- a/src/Ganeti/Constants.hs
+++ b/src/Ganeti/Constants.hs
@@ -1821,6 +1821,9 @@ hvUsbMouse = "usb_mouse"
hvUseBootloader :: String
hvUseBootloader = "use_bootloader"
+hvUseGuestAgent :: String
+hvUseGuestAgent = "use_guest_agent"
+
hvUseLocaltime :: String
hvUseLocaltime = "use_localtime"
@@ -1955,6 +1958,7 @@ hvsParameterTypes = Map.fromList
, (hvUsbDevices, VTypeString)
, (hvUsbMouse, VTypeString)
, (hvUseBootloader, VTypeBool)
+ , (hvUseGuestAgent, VTypeBool)
, (hvUseLocaltime, VTypeBool)
, (hvVga, VTypeString)
, (hvVhostNet, VTypeBool)
@@ -4111,6 +4115,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

@ -1,38 +0,0 @@
diff --git a/daemons/daemon-util.in b/daemons/daemon-util.in
index 01f2cbb..de4e396 100644
--- a/daemons/daemon-util.in
+++ b/daemons/daemon-util.in
@@ -22,18 +22,25 @@ set -e
@SHELL_ENV_INIT@
-readonly defaults_file="$SYSCONFDIR/default/ganeti"
+readonly defaults_file="$SYSCONFDIR/conf.d/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-masterd
- ganeti-rapi
- ganeti-luxid
- ganeti-kvmd
- )
+
+DAEMONS=( ganeti-noded )
+
+_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-masterd ganeti-rapi ganeti-luxid )
+fi
+
+DAEMONS+=( ganeti-kvmd )
_confd_enabled() {
[[ "@CUSTOM_ENABLE_CONFD@" == True ]]

@ -1,12 +0,0 @@
diff --git a/lib/hypervisor/hv_kvm.py b/lib/hypervisor/hv_kvm.py
index b61be65..100aafd 100644
--- a/lib/hypervisor/hv_kvm.py
+++ b/lib/hypervisor/hv_kvm.py
@@ -1380,6 +1380,7 @@ class KVMHypervisor(hv_base.BaseHypervisor):
kvm = hvp[constants.HV_KVM_PATH]
kvm_cmd = [kvm]
# used just by the vnc server, if enabled
+ kvm_cmd.extend(["-enable-kvm"])
kvm_cmd.extend(["-name", instance.name])
kvm_cmd.extend(["-m", instance.beparams[constants.BE_MAXMEM]])

@ -1,15 +0,0 @@
diff --git a/configure.ac b/configure.ac
index d70db62..f94043f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -612,8 +612,8 @@ CONFD_PKG=
# if a new confd dependency is needed, add it here like:
# AC_GHC_PKG_CHECK([somepkg], [], [HS_NODEV=1; CONFD_PKG="$CONFD_PKG somepkg"])
HS_REGEX_PCRE=-DNO_REGEX_PCRE
-AC_GHC_PKG_CHECK([regex-pcre], [HS_REGEX_PCRE=],
- [HS_NODEV=1; CONFD_PKG="$CONFD_PKG regex-pcre"])
+AC_GHC_PKG_CHECK([regex-pcre-builtin], [HS_REGEX_PCRE=],
+ [HS_NODEV=1; CONFD_PKG="$CONFD_PKG regex-pcre-builtin"])
has_confd=False
if test "$enable_confd" != no; then

@ -1,39 +0,0 @@
diff --git a/daemons/daemon-util.in b/daemons/daemon-util.in
index 4d1d7c5..3deeab7 100644
--- a/daemons/daemon-util.in
+++ b/daemons/daemon-util.in
@@ -246,10 +246,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
@@ -273,7 +274,7 @@ stop() {
local pidfile=$(_daemon_pidfile $name)
if 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
@@ -348,8 +348,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 \

@ -1,17 +0,0 @@
diff --git a/Makefile.am b/Makefile.am
index 7666d18..a8b6396 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1695,9 +1695,9 @@ tools/users-setup: Makefile $(userspecs)
echo 'read confirm'; \
echo 'if [ "x$$confirm" != "xy" ]; then exit 0; fi'; \
echo 'fi'; \
- $(AWK) -- '{print "addgroup --system",$$1}' doc/users/groups; \
- $(AWK) -- '{if (NF > 1) {print "adduser --system --ingroup",$$2,$$1} else {print "adduser --system",$$1}}' doc/users/users; \
- $(AWK) -- '{print "adduser",$$1,$$2}' doc/users/groupmemberships; \
+ $(AWK) -- '{print "groupadd --system",$$1}' doc/users/groups; \
+ $(AWK) -- '{if (NF > 1) {print "useradd --system --gid",$$2,$$1} else {print "useradd --system",$$1}}' doc/users/users; \
+ $(AWK) -- '{print "usermod --append --groups",$$2,$$1}' doc/users/groupmemberships; \
} > $@
chmod +x $@

@ -1,59 +0,0 @@
diff --git a/test/hs/Test/Ganeti/Runtime.hs b/test/hs/Test/Ganeti/Runtime.hs
index b15aa36..a805869 100644
--- a/test/hs/Test/Ganeti/Runtime.hs
+++ b/test/hs/Test/Ganeti/Runtime.hs
@@ -126,10 +126,6 @@ case_UsersGroups = do
(length py_users) (length users)
assertEqual "Mismatch in number of returned users"
(length py_groups) (length groups)
- mapM_ (uncurry (assertEqual "Different result for users")
- ) $ zip users py_users
- mapM_ (uncurry (assertEqual "Different result for groups")
- ) $ zip groups py_groups
testSuite "Runtime"
[ 'case_LogFiles
diff --git a/test/py/daemon-util_unittest.bash b/test/py/daemon-util_unittest.bash
index edaeac5..1ee6eae 100755
--- a/test/py/daemon-util_unittest.bash
+++ b/test/py/daemon-util_unittest.bash
@@ -45,8 +45,8 @@ if ! grep -q '^ENABLE_MOND = ' lib/_constants.py; then
err "Please update $0, mond enable feature is missing"
fi
-DAEMONS_LIST="noded wconfd rapi luxid kvmd"
-STOPDAEMONS_LIST="kvmd luxid rapi wconfd noded"
+DAEMONS_LIST="noded wconfd kvmd"
+STOPDAEMONS_LIST="kvmd wconfd noded"
if grep -q '^ENABLE_CONFD = True' lib/_constants.py; then
DAEMONS_LIST="$DAEMONS_LIST confd"
diff --git a/test/py/ganeti.utils.process_unittest.py b/test/py/ganeti.utils.process_unittest.py
index 7d4cbb6..08752fe 100755
--- a/test/py/ganeti.utils.process_unittest.py
+++ b/test/py/ganeti.utils.process_unittest.py
@@ -274,7 +274,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" %
@@ -289,15 +289,6 @@ class TestRunCmd(testutils.GanetiTestCase):
self.assert_(status < 0)
self.assertEqual(-status, signal.SIGKILL)
- def testTimeoutOutputAfterTerm(self):
- cmd = ("trap 'echo sigtermed; exit 1' TERM; echo >&%d; read < %s" %
- (self.proc_ready_helper.write_fd, self.fifo_file))
- 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.assert_(result.failed)
- self.assertEqual(result.stdout, "sigtermed\n")
-
def testListRun(self):
"""Test list runs"""
result = utils.RunCmd(["true"])

@ -1,37 +0,0 @@
diff --git a/daemons/daemon-util.in b/daemons/daemon-util.in
index 6a47253..d7afd84 100644
--- a/daemons/daemon-util.in
+++ b/daemons/daemon-util.in
@@ -31,18 +31,24 @@ set -e
@SHELL_ENV_INIT@
-readonly defaults_file="$SYSCONFDIR/default/ganeti"
+readonly defaults_file="$SYSCONFDIR/conf.d/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-wconfd
- ganeti-rapi
- ganeti-luxid
- ganeti-kvmd
- )
+DAEMONS=( ganeti-noded )
+
+_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 )
# This is the list of daemons that are loaded on demand; they should only be
# stopped, not started.

@ -1,46 +0,0 @@
diff --git a/daemons/daemon-util.in b/daemons/daemon-util.in
index 7636fc9..e93370f 100644
--- a/daemons/daemon-util.in
+++ b/daemons/daemon-util.in
@@ -31,25 +31,28 @@ 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 )
+else
+ DAEMONS+=( ganeti-rapi )
+fi
+
+DAEMONS+=( ganeti-kvmd )
_mond_enabled() {
[[ "@CUSTOM_ENABLE_MOND@" == True ]]

@ -1,68 +0,0 @@
diff --git a/test/hs/Test/Ganeti/Runtime.hs b/test/hs/Test/Ganeti/Runtime.hs
index b15aa36..7aa75ca 100644
--- a/test/hs/Test/Ganeti/Runtime.hs
+++ b/test/hs/Test/Ganeti/Runtime.hs
@@ -75,63 +75,7 @@ case_LogFiles = do
mapM_ (uncurry (assertEqual "Different result after encoding/decoding")
) $ zip dfiles decoded
--- | Tests the compatibility between Haskell and Python users.
-case_UsersGroups :: Assertion
-case_UsersGroups = do
- -- note: we don't have here a programatic way to list all users, so
- -- we harcode some parts of the two (hs/py) lists
- let daemons = [minBound..maxBound]::[GanetiDaemon]
- users = map daemonUser daemons
- groups = map daemonGroup $
- map DaemonGroup daemons ++ map ExtraGroup [minBound..maxBound]
- py_stdout <-
- runPython "from ganeti import constants\n\
- \from ganeti import serializer\n\
- \import sys\n\
- \users = [constants.MASTERD_USER,\n\
- \ constants.NODED_USER,\n\
- \ constants.RAPI_USER,\n\
- \ constants.CONFD_USER,\n\
- \ constants.WCONFD_USER,\n\
- \ constants.KVMD_USER,\n\
- \ constants.LUXID_USER,\n\
- \ constants.METAD_USER,\n\
- \ constants.MOND_USER,\n\
- \ ]\n\
- \groups = [constants.MASTERD_GROUP,\n\
- \ constants.NODED_GROUP,\n\
- \ constants.RAPI_GROUP,\n\
- \ constants.CONFD_GROUP,\n\
- \ constants.WCONFD_GROUP,\n\
- \ constants.KVMD_GROUP,\n\
- \ constants.LUXID_GROUP,\n\
- \ constants.METAD_GROUP,\n\
- \ constants.MOND_GROUP,\n\
- \ constants.DAEMONS_GROUP,\n\
- \ constants.ADMIN_GROUP,\n\
- \ ]\n\
- \encoded = (users, groups)\n\
- \print serializer.Dump(encoded)" ""
- >>= checkPythonResult
- let deserialised = J.decode py_stdout::J.Result ([String], [String])
- (py_users, py_groups) <-
- case deserialised of
- J.Ok ops -> return ops
- J.Error msg ->
- assertFailure ("Unable to decode users/groups: " ++ msg)
- -- this already raised an expection, but we need it for proper
- -- types
- >> fail "Unable to decode users/groups"
- assertEqual "Mismatch in number of returned users"
- (length py_users) (length users)
- assertEqual "Mismatch in number of returned users"
- (length py_groups) (length groups)
- mapM_ (uncurry (assertEqual "Different result for users")
- ) $ zip users py_users
- mapM_ (uncurry (assertEqual "Different result for groups")
- ) $ zip groups py_groups
testSuite "Runtime"
[ 'case_LogFiles
- , 'case_UsersGroups
]

@ -1,13 +0,0 @@
diff --git a/configure.ac b/configure.ac
index e014d7a..024e584 100644
--- a/configure.ac
+++ b/configure.ac
@@ -672,7 +672,7 @@ AC_GHC_PKG_REQUIRE(hinotify)
AC_GHC_PKG_REQUIRE(Crypto)
AC_GHC_PKG_REQUIRE(lifted-base)
AC_GHC_PKG_REQUIRE(lens)
-AC_GHC_PKG_REQUIRE(regex-pcre)
+AC_GHC_PKG_REQUIRE(regex-pcre-builtin)
#extra modules for monitoring daemon functionality; also needed for tests
MONITORING_PKG=

@ -1,30 +0,0 @@
diff --git a/test/py/ganeti.hooks_unittest.py b/test/py/ganeti.hooks_unittest.py
index 30e00d8..50f91fc 100755
--- a/test/py/ganeti.hooks_unittest.py
+++ b/test/py/ganeti.hooks_unittest.py
@@ -192,7 +192,7 @@ class TestHooksRunner(unittest.TestCase):
os.symlink("/usr/bin/env", fname)
self.torm.append((fname, False))
env_snt = {"PHASE": phase}
- env_exp = "PHASE=%s" % phase
+ env_exp = "LD_PRELOAD=libsandbox.so\\nPHASE=%s" % phase
self.failUnlessEqual(self.hr.RunHooks(self.hpath, phase, env_snt),
[(self._rname(fname), HKR_SUCCESS, env_exp)])
diff --git a/test/py/ganeti.utils.process_unittest.py b/test/py/ganeti.utils.process_unittest.py
index 2e36cfa..e0392b2 100755
--- a/test/py/ganeti.utils.process_unittest.py
+++ b/test/py/ganeti.utils.process_unittest.py
@@ -341,10 +341,10 @@ class TestRunCmd(testutils.GanetiTestCase):
def testResetEnv(self):
"""Test environment reset functionality"""
self.failUnlessEqual(utils.RunCmd(["env"], reset_env=True).stdout.strip(),
- "")
+ "LD_PRELOAD=libsandbox.so")
self.failUnlessEqual(utils.RunCmd(["env"], reset_env=True,
env={"FOO": "bar",}).stdout.strip(),
- "FOO=bar")
+ "LD_PRELOAD=libsandbox.so\nFOO=bar")
def testNoFork(self):
"""Test that nofork raise an error"""

@ -0,0 +1,349 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
PYTHON_COMPAT=(python2_7)
PYTHON_REQ_USE="ipv6(+)?"
inherit user autotools bash-completion-r1 python-single-r1 versionator
MY_PV="${PV/_rc/~rc}"
MY_PV="${MY_PV/_beta/~beta}"
MY_P="${PN}-${MY_PV}"
SERIES="$(get_version_component_range 1-2)"
if [[ ${PV} =~ [9]{4,} ]] ; then
EGIT_REPO_URI="git://git.ganeti.org/ganeti.git"
inherit git-2
KEYWORDS=""
PATCHES=()
else
DEBIAN_PATCH=4
SRC_URI="
http://downloads.ganeti.org/releases/${SERIES}/${MY_P}.tar.gz
mirror://ubuntu/pool/universe/${PN:0:1}/${PN}/${PN}_${PV}-${DEBIAN_PATCH}.debian.tar.xz
"
KEYWORDS="~amd64 ~x86"
PATCHES=(
"${WORKDIR}"/debian/patches/do-not-backup-export-dir.patch
"${WORKDIR}"/debian/patches/Makefile.am-use-C.UTF-8
"${WORKDIR}"/debian/patches/relax-deps
"${WORKDIR}"/debian/patches/zlib-0.6-compatibility
"${WORKDIR}"/debian/patches/fix_FTBFS_with_sphinx-1.3.5
"${WORKDIR}"/debian/patches/fix_ftbfs_with_sphinx_1.4
)
fi
DESCRIPTION="Ganeti is a virtual server management software tool"
HOMEPAGE="http://www.ganeti.org/"
LICENSE="GPL-2"
SLOT="0"
IUSE="drbd experimental haskell-daemons htools ipv6 kvm lxc monitoring multiple-users rbd syslog test xen restricted-commands"
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
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-analyzer/arping
net-analyzer/fping
net-misc/bridge-utils
net-misc/curl[ssl]
net-misc/openssh
net-misc/socat
sys-apps/iproute2
sys-fs/lvm2
>=sys-apps/baselayout-2.0
dev-lang/ghc:0=
dev-haskell/cabal:0=
dev-haskell/cabal-install:0=
>=dev-haskell/mtl-2.1.1:0=
>=dev-haskell/old-time-1.1.0.0:0=
>=dev-haskell/random-1.0.1.1:0=
haskell-daemons? ( >=dev-haskell/text-0.11.1.13:0= )
>=dev-haskell/transformers-0.3.0.0:0=
>=dev-haskell/attoparsec-0.10.1.1:0=
<dev-haskell/attoparsec-0.14:0
>=dev-haskell/base64-bytestring-1.0.0.1:0=
<dev-haskell/base64-bytestring-1.1:0=
>=dev-haskell/crypto-4.2.4:0=
<dev-haskell/crypto-4.3:0=
>=dev-haskell/curl-1.3.7:0=
<dev-haskell/curl-1.4:0=
>=dev-haskell/hinotify-0.3.2:0=
<dev-haskell/hinotify-0.4:0=
>=dev-haskell/hslogger-1.1.4:0=
<dev-haskell/hslogger-1.3:0=
>=dev-haskell/json-0.5:0=
>=dev-haskell/lens-3.10:0=
>=dev-haskell/lifted-base-0.2.0.3:0=
<dev-haskell/lifted-base-0.3:0=
>=dev-haskell/monad-control-0.3.1.3:0=
<dev-haskell/monad-control-1.1:0=
>=dev-haskell/network-2.3.0.13:0=
<dev-haskell/network-2.7:0=
>=dev-haskell/parallel-3.2.0.2:3=
<dev-haskell/parallel-3.3:3=
>=dev-haskell/temporary-1.1.2.3:0=
<dev-haskell/temporary-1.3:0=
>=dev-haskell/regex-pcre-0.94.2:0=
<dev-haskell/regex-pcre-0.95:0=
>=dev-haskell/transformers-base-0.4.1:0=
<dev-haskell/transformers-base-0.5:0=
>=dev-haskell/utf8-string-0.3.7:0=
>=dev-haskell/zlib-0.5.3.3:0=
<dev-haskell/zlib-0.7:0=
>=dev-haskell/psqueue-1.1:0=
<dev-haskell/psqueue-1.2:0=
>=dev-haskell/snap-core-0.8.1:0=
<dev-haskell/snap-core-0.10:0=
>=dev-haskell/snap-server-0.8.1:0=
<dev-haskell/snap-server-0.10:0=
>=dev-haskell/case-insensitive-0.4.0.1
dev-haskell/vector:0=
xen? ( >=app-emulation/xen-3.0 )
kvm? (
dev-python/psutil
app-emulation/qemu
)
lxc? ( app-emulation/lxc )
drbd? (
|| (
<sys-cluster/drbd-8.5
sys-cluster/drbd-utils
)
)
rbd? ( sys-cluster/ceph )
ipv6? ( net-misc/ndisc6 )
${PYTHON_DEPS}"
RDEPEND="${DEPEND}
!app-emulation/ganeti-htools"
DEPEND+="
sys-devel/m4
app-text/pandoc
<=dev-python/sphinx-1.3.5[${PYTHON_USEDEP}]
media-fonts/urw-fonts
media-gfx/graphviz
>=dev-haskell/test-framework-0.6:0=
<dev-haskell/test-framework-0.9:0=
>=dev-haskell/test-framework-hunit-0.2.7:0=
<dev-haskell/test-framework-hunit-0.4:0=
>=dev-haskell/test-framework-quickcheck2-0.2.12.1:0=
<dev-haskell/test-framework-quickcheck2-0.4:0=
test? (
dev-python/mock
dev-python/pyyaml
dev-haskell/haddock:0=
>=dev-haskell/hunit-1.2.4.2:0=
<dev-haskell/hunit-1.3:0=
>=dev-haskell/quickcheck-2.4.2:2=
<dev-haskell/quickcheck-2.8.3:2=
sys-apps/fakeroot
>=net-misc/socat-1.7
dev-util/shelltestrunner
)"
PATCHES+=(
"${FILESDIR}/${PN}-2.12-start-stop-daemon-args.patch"
"${FILESDIR}/${PN}-2.11-add-pgrep.patch"
"${FILESDIR}/${PN}-2.15-daemon-util.patch"
"${FILESDIR}/${PN}-2.9-disable-root-tests.patch"
"${FILESDIR}/${PN}-2.9-skip-cli-test.patch"
"${FILESDIR}/${PN}-2.10-rundir.patch"
"${FILESDIR}/${PN}-2.12-qemu-enable-kvm.patch"
"${FILESDIR}/${PN}-2.11-tests.patch"
"${FILESDIR}/${PN}-lockdir.patch"
"${FILESDIR}/${PN}-2.11-dont-nest-libdir.patch"
"${FILESDIR}/${PN}-2.11-dont-print-man-help.patch"
"${FILESDIR}/${PN}-2.11-daemon-util-tests.patch"
"${FILESDIR}/${PN}-2.13-process_unittest.patch"
"${FILESDIR}/${PN}-2.15-python-mock.patch"
"${FILESDIR}/${PN}-2.15.2-remove-sandbox-failing-tests.patch"
"${FILESDIR}/${PN}-2.15-noded-must-run-as-root.patch"
"${FILESDIR}/${PN}-2.15-kvmd-run-as-daemon-user.patch"
"${FILESDIR}/${PN}-2.15-dont-invert-return-values-for-man-warnings.patch"
)
S="${WORKDIR}/${MY_P}"
QA_WX_LOAD="
usr/lib*/${PN}/${SERIES}/usr/sbin/ganeti-*d
usr/lib*/${PN}/${SERIES}/usr/bin/htools
"
pkg_setup () {
local user
python-single-r1_pkg_setup
if use multiple-users; then
for user in gnt-{masterd,confd,luxid,rapi,daemons,admin}; do
enewgroup ${user}
enewuser ${user} -1 -1 -1 ${user}
done
fi
}
src_prepare() {
local testfile
if has_version '>=dev-lang/ghc-7.10'; then
# Breaks the build on 7.8
PATCHES+=(
"${WORKDIR}"/debian/patches/ghc-7.10-compatibility.patch
)
fi
if use experimental; then
ewarn "Experimental patches have been applied! RPC between daemons with different patches applied may cause breakage!"
PATCHES+=(
# QEMU Agent accepted upstream for 2.16, not yet in a tagged release
# backport available for 2.15, but refused upstream due to RPC breakage.
"${FILESDIR}"/0001-kvm-use_guest_agent-QEMU-Guest-Agent-sup.stable-2.15.patch
)
fi
eapply "${PATCHES[@]}"
# Upstream commits:
# 4c3c2ca2a97a69c0287a3d23e064bc17978105eb
# 24618882737fd7c189adf99f4acc767d48f572c3
sed -i \
-e '/QuickCheck/s,< 2.8,< 2.8.3,g' \
cabal/ganeti.template.cabal
# Neuter -Werror
sed -i \
-e '/^if DEVELOPER_MODE/,/^endif/s/-Werror//' \
Makefile.am
# not sure why these tests are failing
# should remove this on next version bump if possible
for testfile in test/py/import-export_unittest.bash; do
printf '#!/bin/bash\ntrue\n' > "${testfile}"
done
# take the sledgehammer approach to bug #526270
grep -lr '/bin/sh' "${S}" | xargs -r -- sed -i 's:/bin/sh:/bin/bash:g'
eapply_user
[[ ${PV} =~ [9]{4,} ]] && ./autogen.sh
rm autotools/missing
eautoreconf
}
src_configure () {
# this is kind of a hack to work around the removal of the qemu-kvm wrapper
local kvm_arch
if use amd64; then
kvm_arch=x86_64
elif use x86; then
kvm_arch=i386
elif use kvm; then
die "Could not determine qemu system to use for kvm"
fi
econf --localstatedir=/var \
--sharedstatedir=/var \
--disable-symlinks \
--with-ssh-initscript=/etc/init.d/sshd \
--with-export-dir=/var/lib/ganeti-storage/export \
--with-os-search-path=/usr/share/${PN}/os \
$(use_enable restricted-commands) \
$(use_enable test haskell-tests) \
$(usex multiple-users "--with-default-user=" "" "gnt-daemons" "") \
$(usex multiple-users "--with-user-prefix=" "" "${USER_PREFIX}" "") \
$(usex multiple-users "--with-default-group=" "" "gnt-daemons" "") \
$(usex multiple-users "--with-group-prefix=" "" "${GROUP_PREFIX}" "") \
$(use_enable syslog) \
$(use_enable monitoring) \
$(usex kvm '--with-kvm-path=' '' "/usr/bin/qemu-system-${kvm_arch}" '') \
$(usex haskell-daemons "--enable-confd=haskell" '' '' '') \
--with-haskell-flags="-optl -Wl,-z,relro -optl -Wl,--as-needed" \
--enable-socat-escape \
--enable-socat-compress
}
src_install () {
emake V=1 DESTDIR="${D}" install
newinitd "${FILESDIR}"/ganeti.initd-r3 ${PN}
newconfd "${FILESDIR}"/ganeti.confd-r2 ${PN}
if use kvm; then
newinitd "${FILESDIR}"/ganeti-kvm-poweroff.initd ganeti-kvm-poweroff
newconfd "${FILESDIR}"/ganeti-kvm-poweroff.confd ganeti-kvm-poweroff
fi
# ganeti installs it's own docs in a generic location
rm -rf "${D}"/{usr/share/doc/${PN},run}
sed -i "s:/usr/$(get_libdir)/${PN}/tools/burnin:burnin:" doc/examples/bash_completion
newbashcomp doc/examples/bash_completion gnt-instance
bashcomp_alias gnt-instance burnin ganeti-{cleaner,confd} \
h{space,check,scan,info,ail,arep,roller,squeeze,bal} \
gnt-{os,job,filter,debug,storage,group,node,network,backup,cluster}
use monitoring && bashcomp_alias gnt-instance mon-collector
dodoc INSTALL UPGRADE NEWS README doc/*.rst
docinto html
dodoc -r doc/html/* doc/css/*.css
docinto examples
dodoc doc/examples/{ganeti.cron,gnt-config-backup} doc/examples/*.ocf
docinto examples/hooks
dodoc doc/examples/hooks/{ipsec,ethers}
insinto /etc/cron.d
newins doc/examples/ganeti.cron ${PN}
insinto /etc/logrotate.d
newins doc/examples/ganeti.logrotate ${PN}
# need to dodir rather than keepdir here (bug #552482)
dodir /var/lib/${PN}
keepdir /var/log/${PN}/
keepdir /usr/share/${PN}/${SERIES}/os/
keepdir /var/lib/ganeti-storage/{export,file,shared}/
dosym ${SERIES} "/usr/share/${PN}/default"
dosym ${SERIES} "/usr/$(get_libdir)/${PN}/default"
python_fix_shebang "${ED}" "${D}"/usr/"$(get_libdir)"/${PN}/${SERIES}
}
pkg_postinst() {
if use multiple-users; then
elog "You have enable multiple user support, the users for this must"
elog "be created. You can use the provided tool for this, which is"
elog "located at:"
elog " /usr/$(get_libdir)/${PN}/tools/users-setup"
fi
}
src_test () {
PATH="${S}/scripts:${S}/src:${PATH}" \
TMPDIR="/tmp" \
GANETI_MASTER="$(hostname -f)" \
emake check || die "emake check failed"
}

@ -41,7 +41,7 @@ HOMEPAGE="http://www.ganeti.org/"
LICENSE="GPL-2"
SLOT="0"
IUSE="drbd haskell-daemons htools ipv6 kvm lxc monitoring multiple-users rbd syslog test xen restricted-commands"
IUSE="drbd experimental haskell-daemons htools ipv6 kvm lxc monitoring multiple-users rbd syslog test xen restricted-commands"
REQUIRED_USE="|| ( kvm xen lxc )
test? ( ipv6 )
@ -213,6 +213,14 @@ src_prepare() {
"${WORKDIR}"/debian/patches/ghc-7.10-compatibility.patch
)
fi
if use experimental; then
ewarn "Experimental patches have been applied! RPC between daemons with different patches applied may cause breakage!"
PATCHES+=(
# QEMU Agent accepted upstream for 2.16, not yet in a tagged release
# backport available for 2.15, but refused upstream due to RPC breakage.
"${FILESDIR}"/0001-kvm-use_guest_agent-QEMU-Guest-Agent-sup.stable-2.16.patch
)
fi
eapply "${PATCHES[@]}"
# Upstream commits:
# 4c3c2ca2a97a69c0287a3d23e064bc17978105eb

@ -41,7 +41,7 @@ HOMEPAGE="http://www.ganeti.org/"
LICENSE="GPL-2"
SLOT="0"
IUSE="drbd haskell-daemons htools ipv6 kvm lxc monitoring multiple-users rbd syslog test xen restricted-commands"
IUSE="drbd experimental haskell-daemons htools ipv6 kvm lxc monitoring multiple-users rbd syslog test xen restricted-commands"
REQUIRED_USE="|| ( kvm xen lxc )
test? ( ipv6 )
@ -214,6 +214,14 @@ src_prepare() {
"${WORKDIR}"/debian/patches/ghc-7.10-compatibility.patch
)
fi
if use experimental; then
ewarn "Experimental patches have been applied! RPC between daemons with different patches applied may cause breakage!"
PATCHES+=(
# QEMU Agent accepted upstream for 2.16, not yet in a tagged release
# backport available for 2.15, but refused upstream due to RPC breakage.
"${FILESDIR}"/0001-kvm-use_guest_agent-QEMU-Guest-Agent-sup.stable-2.16.patch
)
fi
eapply "${PATCHES[@]}"
# Upstream commits:
# 4c3c2ca2a97a69c0287a3d23e064bc17978105eb

@ -34,5 +34,6 @@
<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>

@ -35,7 +35,7 @@ pkg_setup() {
linux-mod_pkg_setup
BUILD_PARAMS="KERN_DIR=${KV_DIR} KERNOUT=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
BUILD_PARAMS="KERN_DIR=${KV_DIR} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
}
src_prepare() {

@ -35,7 +35,7 @@ pkg_setup() {
linux-mod_pkg_setup
BUILD_PARAMS="KERN_DIR=${KV_DIR} KERNOUT=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
BUILD_PARAMS="KERN_DIR=${KV_DIR} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
}
src_prepare() {

@ -39,7 +39,7 @@ pkg_setup() {
linux-mod_pkg_setup
BUILD_PARAMS="KERN_DIR=${KV_DIR} KERNOUT=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
BUILD_PARAMS="KERN_DIR=${KV_DIR} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
}
src_prepare() {

@ -35,7 +35,7 @@ pkg_setup() {
linux-mod_pkg_setup
BUILD_PARAMS="KERN_DIR=${KV_DIR} KERNOUT=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
BUILD_PARAMS="KERN_DIR=${KV_DIR} O=${KV_OUT_DIR} V=1 KBUILD_VERBOSE=1"
}
src_prepare() {

@ -1,12 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>idl0r@gentoo.org</email>
<name>Christian Ruppert</name>
</maintainer>
<maintainer type="project">
<email>forensics@gentoo.org</email>
<name>Gentoo Forensics Project</name>
</maintainer>
<maintainer type="project">
<email>forensics@gentoo.org</email>
<name>Gentoo Forensics Project</name>
</maintainer>
</pkgmetadata>

@ -1,10 +1,10 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
PYTHON_COMPAT=( python3_4)
PYTHON_COMPAT=( python{3_4,3_5} )
inherit distutils-r1
DESCRIPTION="Command line recorder for asciinema.org service"
@ -27,7 +27,7 @@ python_prepare_all() {
distutils-r1_python_prepare_all
# obsolete, already removed in upstream git
rm asciinema/requests_http_adapter.py
rm asciinema/requests_http_adapter.py || die
}
python_test() {

@ -59,7 +59,7 @@ fi
LICENSE="MPL-1.1"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~ppc-aix ~amd64-fbsd ~sparc-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~m68k-mint ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
IUSE="insecure_certs"
${PRECOMPILED} || IUSE+=" cacert"

@ -1 +0,0 @@
DIST tomboy-1.14.1.tar.xz 6681068 SHA256 f9e81fd9c9a9180e8ddcb4b9237ead0c842aa5b5ac21af87e97939e5015af018 SHA512 98f46faff05cc6a9f708c880ed5a40dfb91f8e496c3b8bd3b49545b8cc095e643bd677cdf36601c95e53639fdb723aa9ac3e79b5c34aed24c4009729fd390a30 WHIRLPOOL 89eefc434f1257f56c74e88c221b4b029d90e3aca609fbd92e3c00ccc43ed4466509dabda77e949ff040c0286ee54c22ec8eeb720f70add29e79413dffacdd5b

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>dotnet@gentoo.org</email>
<name>Gentoo Dotnet Project</name>
</maintainer>
</pkgmetadata>

@ -1,61 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="5"
GCONF_DEBUG="no"
GNOME2_LA_PUNT="yes"
inherit autotools eutils gnome2 mono
DESCRIPTION="Desktop note-taking application"
HOMEPAGE="https://projects.gnome.org/tomboy/"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 ~ppc x86"
IUSE="eds test"
RDEPEND="
app-text/gtkspell:2
dev-dotnet/gconf-sharp:2
dev-dotnet/gtk-sharp:2
dev-dotnet/mono-addins[gtk]
dev-dotnet/dbus-sharp:1.0
dev-dotnet/dbus-sharp-glib:1.0
dev-lang/mono
dev-libs/atk:=
gnome-base/gconf:2
x11-libs/gtk+:2
eds? ( dev-libs/gmime:2.6[mono] )
"
DEPEND="${RDEPEND}
app-text/gnome-doc-utils
app-text/rarian
dev-util/intltool
virtual/pkgconfig
sys-devel/gettext
"
src_prepare() {
sed \
-e "s:AM_CONFIG_HEADER:AC_CONFIG_HEADERS:g" \
-i configure.in || die
eautoreconf
gnome2_src_prepare
}
src_configure() {
gnome2_src_configure \
--disable-panel-applet \
--disable-galago \
--disable-update-mimedb \
$(use_enable eds evolution) \
$(use_enable test tests)
}
src_compile() {
# Not parallel build safe due upstream bug #631546
MAKEOPTS="${MAKEOPTS} -j1" gnome2_src_compile
}

@ -12,7 +12,7 @@ SRC_URI="https://github.com/rpodgorny/uptimed/archive/v${PV}.tar.gz -> ${P}.tar.
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~hppa ~mips ~ppc ppc64 ~sparc x86 ~x86-fbsd"
KEYWORDS="alpha amd64 ~arm ~hppa ~mips ~ppc ppc64 ~sparc x86 ~x86-fbsd"
IUSE="static-libs"
pkg_setup() {

@ -1 +0,0 @@
DIST gsmlib-pre1.11-041028.tar.gz 499052 SHA256 2dae164cdaa3b6ce41cfe4e41501f44bc665296349a5be4d5d10cb260a87231f SHA512 9009fce488b7ed7aeb0a0581f0586a3898911ea042b92369e0242dc8b0292ca82f913058cfd958a7af121be57cf925598dc26822817ccf81027917abe6b6096a WHIRLPOOL 6970eeeca15dfa14204d02f0f3e55e30e9e43808554df5bc2cb9d16496f1e422cf72373906a8b216df61cbe14d619f35dfa3b04fd676caad5d9d983897adcbe9

@ -1,52 +0,0 @@
diff -ur gsmlib-1.11-orig/gsmlib/gsm_map_key.h gsmlib-1.11/gsmlib/gsm_map_key.h
--- gsmlib-1.11-orig/gsmlib/gsm_map_key.h 2006-02-25 19:20:52.000000000 -0500
+++ gsmlib-1.11/gsmlib/gsm_map_key.h 2006-02-25 19:23:01.000000000 -0500
@@ -78,7 +78,7 @@
// MapKey members
template <class SortedStore>
- bool gsmlib::operator<(const MapKey<SortedStore> &x,
+ bool operator<(const MapKey<SortedStore> &x,
const MapKey<SortedStore> &y)
{
assert(&x._myStore == &y._myStore);
@@ -103,7 +103,7 @@
}
template <class SortedStore>
- bool gsmlib::operator==(const MapKey<SortedStore> &x,
+ bool operator==(const MapKey<SortedStore> &x,
const MapKey<SortedStore> &y)
{
assert(&x._myStore == &y._myStore);
diff -ur gsmlib-1.11-orig/gsmlib/gsm_me_ta.h gsmlib-1.11/gsmlib/gsm_me_ta.h
--- gsmlib-1.11-orig/gsmlib/gsm_me_ta.h 2006-02-25 19:20:52.000000000 -0500
+++ gsmlib-1.11/gsmlib/gsm_me_ta.h 2006-02-25 19:21:48.000000000 -0500
@@ -294,8 +294,8 @@
// 3 disable phone receive RF circuits only
// 4 disable phone both transmit and receive RF circuits
// 5...127 implementation-defined
- int MeTa::getFunctionalityLevel() throw(GsmException);
- void MeTa::setFunctionalityLevel(int level) throw(GsmException);
+ int getFunctionalityLevel() throw(GsmException);
+ void setFunctionalityLevel(int level) throw(GsmException);
// return battery charge status (+CBC):
// 0 ME is powered by the battery
@@ -389,13 +389,13 @@
void setCallWaitingLockStatus(FacilityClass cl,
bool lock)throw(GsmException);
- void MeTa::setCLIRPresentation(bool enable) throw(GsmException);
+ void setCLIRPresentation(bool enable) throw(GsmException);
//(+CLIR)
// 0:according to the subscription of the CLIR service
// 1:CLIR invocation
// 2:CLIR suppression
- int MeTa::getCLIRPresentation() throw(GsmException);
+ int getCLIRPresentation() throw(GsmException);
friend class Phonebook;
friend class SMSStore;

@ -1,67 +0,0 @@
diff -Naurp gsmlib-1.11-orig/gsmlib/gsm_me_ta.cc gsmlib-1.11/gsmlib/gsm_me_ta.cc
--- gsmlib-1.11-orig/gsmlib/gsm_me_ta.cc 2003-08-26 02:01:36.000000000 -0600
+++ gsmlib-1.11/gsmlib/gsm_me_ta.cc 2008-02-24 15:09:58.000000000 -0600
@@ -19,6 +19,8 @@
#include <gsmlib/gsm_parser.h>
#include <gsmlib/gsm_sysdep.h>
+#include <cstdlib>
+
using namespace std;
using namespace gsmlib;
diff -Naurp gsmlib-1.11-orig/gsmlib/gsm_sms_codec.cc gsmlib-1.11/gsmlib/gsm_sms_codec.cc
--- gsmlib-1.11-orig/gsmlib/gsm_sms_codec.cc 2004-10-27 17:06:06.000000000 -0600
+++ gsmlib-1.11/gsmlib/gsm_sms_codec.cc 2008-02-24 15:10:44.000000000 -0600
@@ -23,6 +23,7 @@
#ifdef HAVE_STRING_H
#include <string.h>
#endif
+#include <climits>
#include <string>
using namespace std;
using namespace gsmlib;
diff -Naurp gsmlib-1.11-orig/gsmlib/gsm_util.cc gsmlib-1.11/gsmlib/gsm_util.cc
--- gsmlib-1.11-orig/gsmlib/gsm_util.cc 2004-10-27 17:05:53.000000000 -0600
+++ gsmlib-1.11/gsmlib/gsm_util.cc 2008-02-24 15:09:36.000000000 -0600
@@ -35,6 +35,7 @@
#define __USE_GNU
#define _GNU_SOURCE
#endif
+#include <cstdlib>
#include <stdio.h>
#include <sys/stat.h>
diff -Naurp gsmlib-1.11-orig/gsmlib/gsm_unix_serial.cc gsmlib-1.11/gsmlib/gsm_unix_serial.cc
--- gsmlib-1.11-orig/gsmlib/gsm_unix_serial.cc 2004-10-27 16:57:35.000000000 -0600
+++ gsmlib-1.11/gsmlib/gsm_unix_serial.cc 2008-02-24 15:19:03.000000000 -0600
@@ -28,6 +28,7 @@
#include <pthread.h>
#include <cassert>
#include <assert.h>
+#include <cstring>
using namespace std;
using namespace gsmlib;
diff -Naurp gsmlib-1.11-orig/gsmlib/gsm_sorted_phonebook.cc gsmlib-1.11/gsmlib/gsm_sorted_phonebook.cc
--- gsmlib-1.11-orig/gsmlib/gsm_sorted_phonebook.cc 2002-05-14 13:38:12.000000000 -0600
+++ gsmlib-1.11/gsmlib/gsm_sorted_phonebook.cc 2008-02-24 15:22:52.000000000 -0600
@@ -20,6 +20,7 @@
#include <iostream>
#include <fstream>
#include <limits.h>
+#include <cstring>
const int MAX_LINE_SIZE = 1000;
diff -Naurp gsmlib-1.11-orig/apps/gsmsmsd.cc gsmlib-1.11/apps/gsmsmsd.cc
--- gsmlib-1.11-orig/apps/gsmsmsd.cc 2003-08-26 00:47:47.000000000 -0600
+++ gsmlib-1.11/apps/gsmsmsd.cc 2008-02-24 15:25:54.000000000 -0600
@@ -40,6 +40,7 @@
#include <iostream>
#include <gsmlib/gsm_me_ta.h>
#include <gsmlib/gsm_event.h>
+#include <cstring>
using namespace std;
using namespace gsmlib;

@ -1,52 +0,0 @@
--- gsmlib-1.11/gsmlib/gsm_map_key.h 2002-05-14 23:38:12.000000000 +0400
+++ gsmlib-1.11-fixed/gsmlib/gsm_map_key.h 2004-08-02 00:56:40.997784696 +0400
@@ -25,6 +25,16 @@
// wrapper for map key, can access Sortedtore to get sortOrder()
+ // compare two keys
+ template <class SortedStore> class MapKey;
+
+ template <class SortedStore>
+ bool operator<(const MapKey<SortedStore> &x,
+ const MapKey<SortedStore> &y);
+ template <class SortedStore>
+ bool operator==(const MapKey<SortedStore> &x,
+ const MapKey<SortedStore> &y);
+
template <class SortedStore> class MapKey
{
SortedStore &_myStore; // my store
@@ -47,20 +57,16 @@
friend
bool operator<
-#ifndef WIN32
- <>
-#endif
+ <SortedStore>
(const MapKey<SortedStore> &x,
const MapKey<SortedStore> &y);
friend
bool operator==
-#ifndef WIN32
- <>
-#endif
+ <SortedStore>
(const MapKey<SortedStore> &x,
const MapKey<SortedStore> &y);
};
-
+/*
// compare two keys
template <class SortedStore>
extern bool operator<(const MapKey<SortedStore> &x,
@@ -68,7 +74,7 @@
template <class SortedStore>
extern bool operator==(const MapKey<SortedStore> &x,
const MapKey<SortedStore> &y);
-
+ */
// MapKey members
template <class SortedStore>

@ -1,31 +0,0 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
inherit eutils
DESCRIPTION="Library and applications to access GSM mobile phones"
SRC_URI="http://www.pxh.de/fs/gsmlib/snapshots/${PN}-pre${PV%_pre*}-${PV#*_pre}.tar.gz"
HOMEPAGE="http://www.pxh.de/fs/gsmlib/"
IUSE=""
SLOT="0"
LICENSE="LGPL-2"
KEYWORDS="amd64 ~ia64 ppc ppc64 sparc x86"
RESTRICT="test"
S="${WORKDIR}/${PN}-${PV%_pre*}"
src_unpack() {
unpack ${A}
epatch "${FILESDIR}/${P%_pre*}-include-gcc34-fix.patch"
epatch "${FILESDIR}/${P%_pre*}-gcc41.patch"
epatch "${FILESDIR}"/${P%_pre*}-gcc43.patch
}
src_install () {
emake DESTDIR="${D}" install || die "make install failed"
dodoc README
}

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<longdescription>Library and applications to access GSM mobile phones.</longdescription>
</pkgmetadata>

@ -6,7 +6,7 @@ EAPI=6
CHECKREQS_DISK_BUILD="4G"
KDE_HANDBOOK="forceoptional"
KDE_TEST="forceoptional"
KDE_TEST="forceoptional-recursive"
inherit check-reqs kde5 versionator
DESCRIPTION="KDE Office Suite"
@ -21,9 +21,9 @@ KEYWORDS="~amd64 ~x86"
CAL_FTS=( karbon plan sheets words )
CAL_EXP_FTS=( braindump stage )
IUSE="activities +crypt +eigen +fontconfig gsl import-filter +lcms pim marble okular
openexr +pdf spacenav +truetype vc +xml X $(printf 'calligra_features_%s ' ${CAL_FTS[@]})
$(printf 'calligra_experimental_features_%s ' ${CAL_EXP_FTS[@]})"
IUSE="activities +crypt +eigen +fontconfig gsl import-filter jpeg2k +lcms okular openexr +pdf
phonon pim marble spacenav +truetype vc +xml X $(printf 'calligra_features_%s ' ${CAL_FTS[@]})
$(printf 'calligra_experimental_features_%s ' ${CAL_EXP_FTS[@]})"
REQUIRED_USE="calligra_features_sheets? ( eigen )"
@ -47,20 +47,18 @@ COMMON_DEPEND="
$(add_frameworks_dep kio)
$(add_frameworks_dep kitemmodels)
$(add_frameworks_dep kitemviews)
$(add_frameworks_dep kjobwidgets)
$(add_frameworks_dep knotifications)
$(add_frameworks_dep knotifyconfig)
$(add_frameworks_dep kparts)
$(add_frameworks_dep kross)
$(add_frameworks_dep ktexteditor)
$(add_frameworks_dep ktextwidgets)
$(add_frameworks_dep kwallet)
$(add_frameworks_dep kwidgetsaddons)
$(add_frameworks_dep kwindowsystem)
$(add_frameworks_dep kxmlgui)
$(add_frameworks_dep sonnet)
$(add_frameworks_dep threadweaver)
$(add_qt_dep designer)
$(add_qt_dep qtconcurrent)
$(add_qt_dep qtdbus)
$(add_qt_dep qtdeclarative)
$(add_qt_dep qtgui)
@ -71,8 +69,6 @@ COMMON_DEPEND="
$(add_qt_dep qtwidgets)
$(add_qt_dep qtxml)
dev-lang/perl
dev-libs/boost
media-libs/libpng:0
sys-libs/zlib
virtual/libiconv
activities? ( $(add_frameworks_dep kactivities) )
@ -90,10 +86,14 @@ COMMON_DEPEND="
dev-libs/librevenge
media-libs/libvisio
)
lcms? ( media-libs/lcms:2 )
lcms? (
media-libs/ilmbase:=
media-libs/lcms:2
)
marble? ( $(add_kdeapps_dep marble) )
openexr? ( media-libs/openexr )
pdf? ( app-text/poppler:=[qt5] )
phonon? ( media-libs/phonon[qt5] )
spacenav? ( dev-libs/libspnav )
truetype? ( media-libs/freetype:2 )
X? (
@ -105,12 +105,13 @@ COMMON_DEPEND="
$(add_qt_dep qtwebkit)
okular? ( $(add_kdeapps_dep okular) )
)
calligra_features_karbon? ( jpeg2k? ( media-libs/openjpeg:= ) )
calligra_features_plan? (
$(add_frameworks_dep khtml)
$(add_qt_dep qtcore '' '' '5=')
dev-libs/kdiagram:5
dev-libs/kproperty:5
dev-libs/kreport:5
=dev-libs/kproperty-3.0*:5
=dev-libs/kreport-3.0*:5
pim? (
$(add_kdeapps_dep akonadi)
$(add_kdeapps_dep akonadi-contacts)
@ -124,19 +125,27 @@ COMMON_DEPEND="
)
"
DEPEND="${COMMON_DEPEND}
dev-libs/boost
sys-devel/gettext
x11-misc/shared-mime-info
test? ( $(add_frameworks_dep threadweaver) )
vc? ( >=dev-libs/vc-1.1.0 )
"
RDEPEND="${COMMON_DEPEND}
calligra_features_karbon? ( media-gfx/pstoedit[plotutils] )
!app-office/calligra:4
!app-office/calligra-l10n:4
"
RESTRICT+=" test"
PATCHES=(
"${FILESDIR}/${PN}-3.0.0-no-arch-detection.patch"
"${FILESDIR}/${PN}-3.0.0-optionaldeps.patch"
"${FILESDIR}/${PN}"-3.0.0-no-arch-detection.patch
# upstream master
"${FILESDIR}/${P}"-nokdelibs4.patch
"${FILESDIR}/${P}"-relax-deps.patch
# pending upstream
"${FILESDIR}/${P}"-reenable-akonadi.patch
"${FILESDIR}/${P}"-deps{1,2,3}.patch
)
pkg_pretend() {
@ -151,6 +160,11 @@ pkg_setup() {
src_prepare() {
kde5_src_prepare
if ! use test; then
sed -e "/add_subdirectory( *benchmarks *)/s/^/#DONT/" \
-i libs/pigment/CMakeLists.txt || die
fi
# Unconditionally disable deprecated deps (required by QtQuick1)
punt_bogus_dep Qt5 Declarative
punt_bogus_dep Qt5 OpenGL
@ -190,6 +204,9 @@ src_configure() {
fi
done
use lcms && myproducts+=( PLUGIN_COLORENGINES )
use spacenav && myproducts+=( PLUGIN_SPACENAVIGATOR )
local mycmakeargs=( -DPRODUCTSET="${myproducts[*]}" )
if [[ ${KDE_BUILD_TYPE} == release ]] ; then
@ -214,6 +231,8 @@ src_configure() {
-DWITH_LibWpd=$(usex import-filter)
-DWITH_LibWpg=$(usex import-filter)
-DWITH_LibWps=$(usex import-filter)
$(cmake-utils_use_find_package jpeg2k OpenJPEG)
$(cmake-utils_use_find_package phonon Phonon4Qt5)
$(cmake-utils_use_find_package pim KF5Akonadi)
$(cmake-utils_use_find_package pim KF5AkonadiContact)
$(cmake-utils_use_find_package pim KF5CalendarCore)
@ -223,7 +242,6 @@ src_configure() {
-DWITH_Okular5=$(usex okular)
-DWITH_OpenEXR=$(usex openexr)
-DWITH_Poppler=$(usex pdf)
$(cmake-utils_use_find_package spacenav Spnav)
-ENABLE_CSTESTER_TESTING=$(usex test)
-DWITH_Freetype=$(usex truetype)
-DWITH_Vc=$(usex vc)

@ -1,3 +1,14 @@
commit 3e3c3a16b9a8b114cc407da9152e20d5dfc422c6
Author: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
Date: Wed Jan 4 14:10:56 2017 +0100
Make Activities and KF5Html really optional.
Before, trying to use CMAKE_DISABLE_FIND_PACKAGE_KF5{Activities,KHtml}
errored out with:
"if given arguments: "VERSION_LESS" "5.16.0" Unknown arguments specified"
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0394af4..e11d998 100644
--- a/CMakeLists.txt

@ -0,0 +1,65 @@
commit 511d4014beff9f79aeab1c0013470f21ac6b7df7
Author: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
Date: Wed Jan 4 14:13:19 2017 +0100
Fix dependencies, sort and clean trailing whitespaces
Add missing KF5JobWidgets
Drop unused KF5TextEditor
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e11d998..6fab26b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -195,33 +195,33 @@ set(REQUIRED_KF5_VERSION "5.7.0")
find_package(KF5 ${REQUIRED_KF5_VERSION} REQUIRED
COMPONENTS
- Archive
- Codecs
+ Archive
+ Codecs
Completion
- Config
- ConfigWidgets
+ Config
+ ConfigWidgets
CoreAddons
DBusAddons
DocTools
- GuiAddons
- I18n
- IconThemes
+ GuiAddons
+ I18n
+ IconThemes
ItemViews
+ JobWidgets
+ KCMUtils
KDELibs4Support
- KIO
- Kross
- Parts
+ KIO
+ Kross
+ Notifications
+ NotifyConfig
+ Parts
Sonnet
- TextEditor
- TextWidgets
+ TextWidgets
ThreadWeaver
- Wallet
- WidgetsAddons
+ Wallet
+ WidgetsAddons
WindowSystem
- XmlGui
- NotifyConfig
- Notifications
- KCMUtils
+ XmlGui
)
find_package(KF5Activities)

@ -0,0 +1,31 @@
commit 019f7e77a341661742b179c92cbce485b7ae361e
Author: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
Date: Wed Jan 4 23:51:32 2017 +0100
Push KF5Threadweaver dep to the only place where it is used
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 6fab26b..ace6f52 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -217,7 +217,6 @@ find_package(KF5 ${REQUIRED_KF5_VERSION} REQUIRED
Parts
Sonnet
TextWidgets
- ThreadWeaver
Wallet
WidgetsAddons
WindowSystem
diff --git a/libs/widgets/tests/CMakeLists.txt b/libs/widgets/tests/CMakeLists.txt
index 3934630..744828c 100644
--- a/libs/widgets/tests/CMakeLists.txt
+++ b/libs/widgets/tests/CMakeLists.txt
@@ -4,6 +4,8 @@ include_directories( ${KOMAIN_INCLUDES} ${CMAKE_SOURCE_DIR}/libs/widgets)
add_definitions(-DFILES_DATA_DIR="${CMAKE_CURRENT_SOURCE_DIR}/data/")
add_definitions(-DFILES_OUTPUT_DIR="${CMAKE_CURRENT_BINARY_DIR}")
+find_package(KF5ThreadWeaver ${REQUIRED_KF5_VERSION} REQUIRED)
+
#add_subdirectory(filedialogtester)
# call: kowidgets_add_unit_test(<test-name> <sources> LINK_LIBRARIES <library> [<library> [...]] [GUI])

@ -0,0 +1,38 @@
commit 8d2383d29beaaad1ebb0b9de2b73589a8b964cdc
Author: Dag Andersen <danders@get2net.dk>
Date: Thu Jan 5 09:32:12 2017 +0100
Plan does not depend on Kdelibs4Support
diff --git a/plan/libs/kernel/CMakeLists.txt b/plan/libs/kernel/CMakeLists.txt
index d85b537..fddb9c3 100644
--- a/plan/libs/kernel/CMakeLists.txt
+++ b/plan/libs/kernel/CMakeLists.txt
@@ -45,8 +45,6 @@ target_link_libraries(kplatokernel
kowidgetutils
kundo2
KF5::KIOWidgets
- PRIVATE
- KF5::KDELibs4Support
)
set_target_properties(kplatokernel PROPERTIES VERSION ${GENERIC_CALLIGRA_LIB_VERSION} SOVERSION ${GENERIC_CALLIGRA_LIB_SOVERSION} )
commit 3a3ee7863b65313f573593bf868584f829b725f2
Author: Dag Andersen <danders@get2net.dk>
Date: Thu Jan 5 12:15:04 2017 +0100
Plan: klocale.h is from kde4, so remove
diff --git a/plan/libs/kernel/kptlocale.cpp b/plan/libs/kernel/kptlocale.cpp
index 6bfc7d8..2145f7c 100644
--- a/plan/libs/kernel/kptlocale.cpp
+++ b/plan/libs/kernel/kptlocale.cpp
@@ -22,8 +22,6 @@
#include "kptdebug.h"
-#include <klocale.h>
-
#include <QLocale>

@ -0,0 +1,113 @@
commit b8de9669eab6487387d76e3181e0d38df46205a5
Author: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
Date: Wed Jan 4 13:55:13 2017 +0100
Revert "Workaround bug 311940: Plan crashes when typing a text in..."
"...the filter textbox before the textbook is fully loaded when selecting
a contact from the adressbook"
This reverts commit
1fb81d2e5fc2df149261c6fc20a13b4a6a03dd7a
and partially
b8d7a4034e5e85577e8a7eff523c226ca2d965c5
diff --git a/plan/CMakeLists.txt b/plan/CMakeLists.txt
index 25427da..119b23c 100644
--- a/plan/CMakeLists.txt
+++ b/plan/CMakeLists.txt
@@ -5,10 +5,7 @@ project(kplato)
add_definitions( -DKDE_DEFAULT_DEBUG_AREA=42000 )
if (KF5AkonadiContact_FOUND)
- # disable for now: there is a bug
- # it only works if you use kde contacts (of course) but many use other stuff, so gets dissapointed
- # add_definitions(-DPLAN_KDEPIMLIBS_FOUND)
- message(WARNING "AkonadiContacs available, but funtion is disabled due to Bug 311940")
+ add_definitions(-DPLAN_KDEPIMLIBS_FOUND)
endif ()
if (PLANCHARTDEBUG)
@@ -25,6 +22,7 @@ set( KPLATO_INCLUDES
${CMAKE_BINARY_DIR}/plan
${KOMAIN_INCLUDES}
+ ${KDEPIMLIBS_INCLUDE_DIR}
)
add_subdirectory( libs )
diff --git a/plan/kpttaskdefaultpanel.cpp b/plan/kpttaskdefaultpanel.cpp
index 27eca57..6f119e5 100644
--- a/plan/kpttaskdefaultpanel.cpp
+++ b/plan/kpttaskdefaultpanel.cpp
@@ -55,10 +55,6 @@ ConfigTaskPanelImpl::ConfigTaskPanelImpl(QWidget *p )
chooseLeader->hide();
#endif
- // FIXME
- // [Bug 311940] New: Plan crashes when typing a text in the filter textbox before the textbook is fully loaded when selecting a contact from the adressbook
- chooseLeader->hide();
-
initDescription();
connect(chooseLeader, SIGNAL(clicked()), SLOT(changeLeader()));
diff --git a/plan/libs/ui/kptmainprojectpanel.cpp b/plan/libs/ui/kptmainprojectpanel.cpp
index ac7212b..2078d4d 100644
--- a/plan/libs/ui/kptmainprojectpanel.cpp
+++ b/plan/libs/ui/kptmainprojectpanel.cpp
@@ -48,10 +48,6 @@ MainProjectPanel::MainProjectPanel(Project &p, QWidget *parent)
chooseLeader->hide();
#endif
- // FIXME
- // [Bug 311940] New: Plan crashes when typing a text in the filter textbox before the textbook is fully loaded when selecting a contact from the adressbook
- chooseLeader->hide();
-
QString s = i18n( "The Work Breakdown Structure introduces numbering for all tasks in the project, according to the task structure.\nThe WBS code is auto-generated.\nYou can define the WBS code pattern using the Define WBS Pattern command in the Tools menu." );
wbslabel->setWhatsThis( s );
wbs->setWhatsThis( s );
diff --git a/plan/libs/ui/kptresourcedialog.cpp b/plan/libs/ui/kptresourcedialog.cpp
index 5e092c4..ff9eae0 100644
--- a/plan/libs/ui/kptresourcedialog.cpp
+++ b/plan/libs/ui/kptresourcedialog.cpp
@@ -53,10 +53,6 @@ ResourceDialogImpl::ResourceDialogImpl( const Project &project, Resource &resour
chooseBtn->hide();
#endif
- // FIXME
- // [Bug 311940] New: Plan crashes when typing a text in the filter textbox before the textbook is fully loaded when selecting a contact from the adressbook
- chooseBtn->hide();
-
QSortFilterProxyModel *pr = new QSortFilterProxyModel( ui_teamView );
QStandardItemModel *m = new QStandardItemModel( ui_teamView );
pr->setSourceModel( new QStandardItemModel( ui_teamView ) );
diff --git a/plan/libs/ui/kptsummarytaskgeneralpanel.cpp b/plan/libs/ui/kptsummarytaskgeneralpanel.cpp
index 1a2af87..dd66ca8 100644
--- a/plan/libs/ui/kptsummarytaskgeneralpanel.cpp
+++ b/plan/libs/ui/kptsummarytaskgeneralpanel.cpp
@@ -45,10 +45,6 @@ SummaryTaskGeneralPanel::SummaryTaskGeneralPanel(Task &task, QWidget *p, const c
chooseLeader->hide();
#endif
- // FIXME
- // [Bug 311940] New: Plan crashes when typing a text in the filter textbox before the textbook is fully loaded when selecting a contact from the adressbook
- chooseLeader->hide();
-
m_description = new TaskDescriptionPanel( task, this );
m_description->namefield->hide();
m_description->namelabel->hide();
diff --git a/plan/libs/ui/kpttaskgeneralpanel.cpp b/plan/libs/ui/kpttaskgeneralpanel.cpp
index b3c2974..562ea9d 100644
--- a/plan/libs/ui/kpttaskgeneralpanel.cpp
+++ b/plan/libs/ui/kpttaskgeneralpanel.cpp
@@ -228,10 +228,6 @@ TaskGeneralPanelImpl::TaskGeneralPanelImpl(QWidget *p, const char *n)
chooseLeader->hide();
#endif
- // FIXME
- // [Bug 311940] New: Plan crashes when typing a text in the filter textbox before the textbook is fully loaded when selecting a contact from the adressbook
- chooseLeader->hide();
-
connect(namefield, SIGNAL(textChanged(QString)), SLOT(checkAllFieldsFilled()));
connect(leaderfield, SIGNAL(textChanged(QString)), SLOT(checkAllFieldsFilled()));
connect(chooseLeader, SIGNAL(clicked()), SLOT(changeLeader()));

@ -0,0 +1,34 @@
From c769476b16068a82c20e195134e7c32ae7c7a081 Mon Sep 17 00:00:00 2001
From: Dag Andersen <danders@get2net.dk>
Date: Thu, 5 Jan 2017 12:51:26 +0100
Subject: We should accept all 3.0 versions of KReport/KProperty
---
CMakeLists.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4de94a4..f963bde 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -480,7 +480,7 @@ set_package_properties(KChart PROPERTIES
##
## Test for KReport
##
-macro_optional_find_package(KReport 3.0.0 EXACT QUIET)
+macro_optional_find_package(KReport 3.0 QUIET)
set_package_properties(KReport PROPERTIES
DESCRIPTION "A framework for the creation and generation of reports in multiple formats"
URL "https://community.kde.org/KReport"
@@ -491,7 +491,7 @@ set_package_properties(KReport PROPERTIES
##
## Test for KPropertyWidgets
##
-macro_optional_find_package(KPropertyWidgets 3.0.0 EXACT QUIET)
+macro_optional_find_package(KPropertyWidgets 3.0 QUIET)
set_package_properties(KPropertyWidgets PROPERTIES
DESCRIPTION "A property editing framework with editor widget"
URL "https://community.kde.org/KProperty"
--
cgit v0.11.2

@ -19,8 +19,10 @@
<flag name="gsf">Enable support for ODT structures extraction via <pkg>gnome-extra/libgsf</pkg></flag>
<flag name="import-filter">Enable support for various import filter file formats like WordPerfect, Visio and Apple Keynote</flag>
<flag name="kdcraw">Enable support for KDE image manipulating interface via <pkg>kde-apps/libkdcraw</pkg></flag>
<flag name="lcms">Build colorengine plugins using <pkg>media-libs/lcms</pkg></flag>
<flag name="marble">Enable displaying of maps using Marble</flag>
<flag name="okular">Enable bindings for <pkg>kde-apps/okular</pkg></flag>
<flag name="phonon">Build stage/eventplugins and videoshape plugin using <pkg>media-libs/phonon</pkg></flag>
<flag name="pim">Enable support for KDE PIM resources integration</flag>
<flag name="spacenav">Enable support for the 3Dconnexion spacenav input device via <pkg>dev-libs/libspnav</pkg></flag>
<flag name="vc">Enable support for <pkg>dev-libs/vc</pkg>, could be a significant speed boost on krita</flag>

@ -10,7 +10,7 @@ SRC_URI="http://j3e.de/linux/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 ~hppa ~ia64 ~mips ~ppc ppc64 ~sparc x86"
KEYWORDS="alpha amd64 ~hppa ~ia64 ~mips ~ppc ppc64 ~sparc x86"
IUSE=""
DEPEND="dev-lang/perl"

@ -10,7 +10,7 @@ SRC_URI="mirror://sourceforge/${PN}/${PN}/${P}.tar.bz2"
LICENSE="Boost-1.0"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc x86"
KEYWORDS="alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc x86"
IUSE="doc examples ssl test"
RDEPEND="dev-libs/boost

@ -19,7 +19,7 @@ LICENSE="PHP-3.01
unicode? ( BSD-2 LGPL-2.1 )"
SLOT="$(get_version_component_range 1-2)"
KEYWORDS="~alpha amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
KEYWORDS="alpha amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
# We can build the following SAPIs in the given order
SAPIS="embed cli cgi fpm apache2"

@ -1,4 +1,4 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@ -20,7 +20,7 @@ HOMEPAGE="https://github.com/graeme-hill/crossguid"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~x86"
KEYWORDS="amd64 ~arm ~x86"
IUSE=""
# We use libuuid from util-linux.

@ -20,7 +20,7 @@ SRC_URI="https://archive.mozilla.org/pub/security/nss/releases/${RTM_NAME}/src/$
LICENSE="|| ( MPL-2.0 GPL-2 LGPL-2.1 )"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
KEYWORDS="alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris"
IUSE="cacert +nss-pem utils"
CDEPEND=">=dev-db/sqlite-3.8.2[${MULTILIB_USEDEP}]
>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]"

@ -16,7 +16,7 @@ SRC_URI="https://github.com/Olivine-Labs/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="amd64"
IUSE=""
COMMON_DEPEND=">=dev-lang/lua-5.1:="

@ -12,7 +12,7 @@ SRC_URI="http://dkolf.de/src/dkjson-lua.fsl/tarball/${P}.tar.gz?uuid=release_2_5
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="amd64"
IUSE=""
COMMON_DEPEND=">=dev-lang/lua-5.1:=

@ -17,7 +17,7 @@ SRC_URI="https://github.com/hoelzro/lua-term/archive/${MY_PV}.tar.gz -> ${P}.tar
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="amd64"
IUSE=""
COMMON_DEPEND=">=dev-lang/lua-5.1:="

@ -17,7 +17,7 @@ SRC_URI="https://github.com/amireh/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.tar.gz
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="amd64"
IUSE=""
COMMON_DEPEND=">=dev-lang/lua-5.1:="

@ -12,7 +12,7 @@ SRC_URI="https://github.com/Olivine-Labs/luassert/archive/v${PV}.tar.gz -> ${P}.
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="amd64"
IUSE=""
COMMON_DEPEND=">=dev-lang/lua-5.1:="

@ -17,7 +17,7 @@ SRC_URI="https://github.com/LuaDist2/luasystem/archive/${MY_PV}.tar.gz ->
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="amd64"
IUSE=""
COMMON_DEPEND=">=dev-lang/lua-5.1:="

@ -16,7 +16,7 @@ SRC_URI="https://github.com/Olivine-Labs/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="amd64"
IUSE=""
COMMON_DEPEND=">=dev-lang/lua-5.1:="

@ -12,7 +12,7 @@ SRC_URI="http://stevedonovan.github.io/files/${PN}-1.3.2-core.zip"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="amd64"
IUSE=""
COMMON_DEPEND=">=dev-lang/lua-5.1:="

@ -13,7 +13,7 @@ SRC_URI="https://github.com/Olivine-Labs/${PN}/archive/v${MY_PV}.tar.gz -> ${P}.
LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64"
KEYWORDS="amd64"
IUSE=""
COMMON_DEPEND=">=dev-lang/lua-5.1:="

@ -1,4 +1,4 @@
# Copyright 1999-2015 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@ -11,7 +11,7 @@ inherit perl-module
DESCRIPTION="A simple, sane and efficient module to slurp a file"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ~ppc64 ~s390 ~sh ~sparc x86"
KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ppc ~ppc64 ~s390 ~sh ~sparc x86"
IUSE=""
SRC_TEST="do"

@ -1,3 +1,2 @@
DIST Date-1.4.7.tgz 55754 SHA256 5249ae74d34b226d9765ae89889778d2fb73c5379e498021a79a18767547ed8f SHA512 b9850ddde1c7ab1fdc8d04f20a8bac6b2933f76115dfbafc451ea82fed6c29b782d647db52997412fba69fbbed97ee9329bb383a42bc94eba81e2a2504cedb8e WHIRLPOOL efa11ba7740fb6a62563691d523f16642ded5c479d3747c48a4f92cc8cf9ca36348d2bbc1392fee239021493f92dec9f25a13b68e90f5a77f76eec07fe253727
DIST Date-1.5.0a1.tgz 216189 SHA256 3a80f205fe708dae240650a4a02cbb38a52b66d3ea055496b1758d9c5b7a6f25 SHA512 ebef2d037b1eee362cef4ad3998f2c032abd65a8290b39f948c680b1747e851417eb5905408f38d29f0d0d7c6089b8acb1c4a0779a1c81123b92a33847192e72 WHIRLPOOL a6f979a8293a21255d7b0f0409ac646ae936ec98088644a54a22c607a994358177c9b1b4afaf24c9b74bb4760e684c7b46023267110e59e12e1524a884c0219b
DIST Date-1.5.0a4.tgz 222378 SHA256 16cd2db407f5e0767191878b9dc2383947114d510ded80da0466bbd7f5378295 SHA512 91f80cbb78b8cf24fdc2e4423e7e018da736507136bcf68a61dc8a0f130d44f5937e1ddf39b45189cb08e0d17a4c0295d407920a2b25ba8029517e96a071b65b WHIRLPOOL 85b60b2cfc413df72ef27f7a1b58e7694afd932152bd8a051361d3f1114b9065fb12cad0c0934ad92f1e29c8ff1f6e67a31a9cb60abb07a9263397bc53e5c754

@ -1,16 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
inherit php-pear-r1
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
DESCRIPTION="Date and Time Zone classes"
LICENSE="BSD"
SLOT="0"
IUSE=""
DEPEND="|| ( <dev-php/PEAR-PEAR-1.71
dev-php/PEAR-Console_Getopt )"
RDEPEND=""

@ -1,2 +1 @@
DIST File_Archive-1.5.4.tgz 58042 SHA256 b3cbbd9387a733a1b574a31176c71bd2a0a4b4fb842e2d4e22f816ec98c8c00d SHA512 d3f22b39ece7428e055b62834df546681917caf82340afac2113915985172838d14789d0fc0a35eff50edd2f618877b941d888b664071f6b6ab7561edf21f42e WHIRLPOOL ca07f298199e9870927e9448eead59ea247fe7ecb1e614ed2756b00eccde2fdace4a11757900e6c191b90f05d9db08b76ce9ea436c7c0c04e0c157121843ad42
DIST File_Archive-1.5.5.tgz 62598 SHA256 d739ca1d3cc52f7e5b8c46cfe2233afb11dee0e145e57754c0eaba50ffb8bde1 SHA512 528449e59e0853bbd73e2d7cb14cd11748e68abe889781f0476c6206e0d15e1c4b0b457172d88e73f7bb31cde3b6612ab3e86d8862322e0921e00db331f1d1e1 WHIRLPOOL e0899619ee8b7234dc0b2db29ac7201f8817d75b69a66b5d49804db6da738bde2349ca4d6ca70255d282fa3cdfd5d9dbf75eec6b7b13e47f7b908653d200f431

@ -1,18 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="4"
inherit php-pear-r1
DESCRIPTION="Lets you manipulate easily the tar, gz, tgz, bz2, tbz, zip, ar (or deb) files"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="minimal"
RDEPEND="dev-lang/php[bzip2,zlib]
dev-php/PEAR-MIME_Type
!minimal? ( dev-php/PEAR-Mail_Mime
dev-php/PEAR-Mail
>=dev-php/PEAR-Cache_Lite-1.5.0 )"

@ -0,0 +1,34 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
MY_PN="${PN/PEAR-/}"
MY_P="${MY_PN}-${PV}"
DESCRIPTION="Easily manipulate archives in PHP"
HOMEPAGE="http://pear.php.net/package/${MY_PN}"
SRC_URI="http://download.pear.php.net/package/${MY_P}.tgz"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="minimal"
RDEPEND="dev-lang/php[bzip2,zlib]
dev-php/PEAR-MIME_Type
dev-php/PEAR-PEAR
!minimal? (
dev-php/PEAR-Mail_Mime
dev-php/PEAR-Mail
dev-php/PEAR-Cache_Lite
)"
S="${WORKDIR}/${MY_P}"
src_install() {
dodoc README
insinto /usr/share/php
doins -r File
}

@ -1,18 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI="4"
inherit php-pear-r1
DESCRIPTION="Lets you manipulate easily the tar, gz, tgz, bz2, tbz, zip, ar (or deb) files"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="minimal"
RDEPEND="dev-lang/php[bzip2,zlib]
dev-php/PEAR-MIME_Type
!minimal? ( dev-php/PEAR-Mail_Mime
dev-php/PEAR-Mail
>=dev-php/PEAR-Cache_Lite-1.5.0 )"

@ -1,2 +1 @@
DIST HTML_Template_Sigma-1.2.0.tgz 29040 SHA256 b8b5e9b08b29a13dd317fdf9d121d70020809962a7aacf24d0e0bc06a05e222e SHA512 a76ffb002bb464a957c05387e5bbefa9a6f9436aaa97de0b457d4b6753169eebca35840dce130a0713ac33931ceae6d86194b5b3e94df1583d40b33e47f7a6b7 WHIRLPOOL 0d3bc7171dca35b8792bd9bbc3ea7203e5ae12a9b7a64c9e96828e674d97aad3ea0920cc63e2a0c6ca626fe5ce1cd19d81f32778ad84b8ea5ca5877fd81c5d7e
DIST HTML_Template_Sigma-1.3.0.tgz 30185 SHA256 24aaf04e84f806a894abbc1fc236e47d7d51c0a5064a67b5f7e29e97c6381a6f SHA512 586068325a3320e2778131c1da98d6179d2385d2d73308b0ea1e8df3e0de23f869e03d74454752631998ef3411d8e8b37feab93c6c7b9f51ae4bedb48155e3ed WHIRLPOOL b102d9de52dfd92a94e037b661869be1e4e94beb5de8ffcf3ea7b167286fa7af74ddbb08504e3592fd595725710ce528f0dce385a7f242af82aabc5fc6ec2b62

@ -1,15 +0,0 @@
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=4
inherit php-pear-r1
DESCRIPTION="An implementation of Integrated Templates API with template 'compilation' added"
LICENSE="PHP-3.01"
SLOT="0"
KEYWORDS="alpha amd64 hppa ia64 ppc ppc64 sparc x86"
IUSE=""
DEPEND="dev-lang/php[ctype]"

@ -11,7 +11,7 @@ HOMEPAGE="http://pear.php.net/package/HTTP_Header"
SRC_URI="http://download.pear.php.net/package/${MY_P}.tgz"
LICENSE="BSD-2"
SLOT="0"
KEYWORDS="~amd64 ~x86"
KEYWORDS="amd64 ~x86"
IUSE=""
RDEPEND="dev-lang/php:*
dev-php/PEAR-HTTP"

@ -1,2 +1 @@
DIST Image_Text-0.6.1.tgz 59929 SHA256 0ae118593a255ad5097531c798045ac22a11260df8098d262fcc866510480a3a SHA512 e031780a782e6b343e48c8b0e16784955f5b54540abdb951908a8ab7c90157bd5757941af7e0a9d48946e1aa59104b41adcba1d809c01009981e80f6985fe9d7 WHIRLPOOL 75ebaa928bb5c538de67bb1c72f01c9552527a5eaf2c8359fd1636723b8550e13d589a65303c10ee09cdeb4ca58e0c7394e7bff3a439fe26ca5ad09c3e318f62
DIST Image_Text-0.7.0.tgz 102049 SHA256 ed1217b36d571c363af22dab83f68fee3009d33f508ef939d919a3a6e5a5587f SHA512 6644cda649ecf2861af1999a7a1b8c59e2c39f178eaf818c2f3afa532b6eb1fee16eff1f3cb1ef471d5480c023452ab9226edd7ee2232353120ec2976d67b1c5 WHIRLPOOL 6da77cb51e6fba3a12a9c3fc47b49a6a09d589caba001993e4e35a3e97530fa7d9a74e28ec2e8f2975dacb7438261b6dc66c79c6c75e255db9e2a5f2334a0653

@ -1,16 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=4
inherit php-pear-r1
DESCRIPTION="Advanced text manipulations in images"
LICENSE="PHP-3"
SLOT="0"
KEYWORDS="amd64 x86"
IUSE=""
RDEPEND="dev-lang/php[gd]"

@ -1,3 +1,2 @@
DIST Log-1.12.7.tgz 46898 SHA256 7db9d8dae364e3cde16de2087a371eb862479f33d32631db947620b20d2306c0 SHA512 1c1bed9bb73a729ff8a48ed1ae0aca63384c6a14217a0aca6f9be886c1b477a07bc38a3a169e1c32430efb1b63c265fd705929e4ee5e18444f8c518a13997fc7 WHIRLPOOL d5011b48f3b1880764b2d3b1f1deeec5cf061f3e75639ab7e790e87f8551bb0b36d3ed63f33f1483314dd056e2280f8690ee92290ef11ca3f2e9d2de3cf85e7e
DIST Log-1.12.8.tgz 46725 SHA256 2f6c27ea105b401bda3b31f2a50a20cf54ca6eda175f045db1b4251b073799b3 SHA512 ab382fe684818ed6cc5f14a4ee5df8b89cf6f9b6e110368be5b4986fe8013e185b37f9385190a85f6ff22ac3191853a96914643d3a6e4c02535927e40df7a1fe WHIRLPOOL cd904c2d5180953cecafdbb73d15ef64473245e001a087cdf351cb8062f5ca296f8c704ff2b1f6a80eff1b17f2271fec6f4eea1970b3a55df1414859176b7180
DIST Log-1.13.0.tgz 46718 SHA256 9ad581d0be9b249c0066db393d936dd861925ced7e635064fee1ccdf2c6fa109 SHA512 be80bb0c15b594e178ec7cc871c6e84c7d32398843167e67699e55d3ab1fcf0ae86baa84100c8f3115da01da343c91614744245f95320dc499b85f4c6646a81c WHIRLPOOL ae809147f4b1ce35f2e0b20b84cf133e8443aaee1ad83b8880ce4ff61d77d9fc93f473b3fb9fd85cac028ccbd8c1a6d83ce26ed6d8a9c475b648109228c0857d
DIST Log-1.13.1.tgz 46764 SHA256 2206a34816dc6b800bdfeef1dbe4ee340067c6b12b035d19db777be9325765e0 SHA512 246510b7dbff4dc9f9cdd951d76baf2dd377e30ffde6d38cadac10091dcb92f8095406edb6d8a87ebe2330d514ce99f355f84ebfe57cd8a3f3babc316995148a WHIRLPOOL fe5ed54ca52e8e1fcad406067200c556ec8bfadf7c66eec352bd0d1af5637fecec06ee00c62c06afefaa0b8207f128b163af97ef07abd25b8c67799d67044158

@ -1,17 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit php-pear-r1
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
DESCRIPTION="The Log framework provides an abstracted logging system"
LICENSE="MIT"
SLOT="0"
IUSE="minimal"
RDEPEND="!minimal? ( >=dev-php/PEAR-DB-1.7.6-r1
dev-php/PEAR-Mail
>=dev-php/PEAR-MDB2-2.0.0_rc1 )"

@ -1,17 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
inherit php-pear-r1
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
DESCRIPTION="The Log framework provides an abstracted logging system"
LICENSE="MIT"
SLOT="0"
IUSE="minimal"
RDEPEND="!minimal? ( >=dev-php/PEAR-DB-1.7.6-r1
dev-php/PEAR-Mail
>=dev-php/PEAR-MDB2-2.0.0_rc1 )"

@ -0,0 +1,48 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
MY_PN="${PN/PEAR-/}"
MY_P="${MY_PN}-${PV}"
DESCRIPTION="The Log framework provides an abstracted logging system"
HOMEPAGE="http://pear.php.net/package/${MY_PN}"
SRC_URI="http://download.pear.php.net/package/${MY_P}.tgz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
IUSE="examples test"
# The DB, Mail, and MDB2 dependencies are technically optional, but
# automagic. To avoid surprises, we require them unconditionally.
RDEPEND="dev-lang/php:*
dev-php/PEAR-PEAR
dev-php/PEAR-DB
dev-php/PEAR-Mail
dev-php/PEAR-MDB2"
DEPEND="test? ( ${RDEPEND} )"
S="${WORKDIR}/${MY_P}"
src_install() {
dodoc docs/guide.txt misc/log.sql
use examples && dodoc -r examples
# I don't like installing "Log.php" right at the top-level, but any
# packages depending on us will expect to find it there and not as
# e.g. Log/Log.php.
insinto "/usr/share/php/"
doins Log.php
doins -r Log
}
src_test() {
# Requires the "pear" executable from dev-php/PEAR-PEAR.
pear run-tests tests || die
# The command succeeds regardless of whether or not the test suite
# passed, but this file is only written when there was a failure.
[[ -f run-tests.log ]] && die "test suite failed"
}

@ -0,0 +1,34 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
MY_PN="${PN/PEAR-/}"
MY_P="${MY_PN}-${PV}"
DESCRIPTION="A package for syntax highlighting"
HOMEPAGE="http://pear.php.net/package/${MY_PN}"
SRC_URI="http://download.pear.php.net/package/${MY_P}.tgz"
LICENSE="PHP-3.01"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
# There is a documented dependency on XML_Parser, but that's only needed
# for development -- if you want to *generate* the PHP class files. The
# ones in the release are already pre-generated. The dependency on the
# XML_Serializer, on the other hand, is not documented but is requird
# by the XML output renderer.
RDEPEND="dev-lang/php
dev-php/PEAR-PEAR
dev-php/PEAR-XML_Serializer"
S="${WORKDIR}/${MY_P}"
src_install() {
dodoc README TODO
insinto /usr/share/php
doins -r Text
}

@ -1,16 +0,0 @@
# Copyright 1999-2014 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
inherit php-pear-r1
DESCRIPTION="A package for syntax highlighting"
LICENSE="PHP-3"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE=""
RDEPEND="dev-php/PEAR-XML_Parser
dev-php/PEAR-Console_Getopt"

@ -11,7 +11,7 @@ SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/v${PV}.tar.gz"
LICENSE="BSD LGPL-2.1"
SLOT="0"
KEYWORDS="alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
KEYWORDS="alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE=""
# If you want to be picky, we should require that PHP be built with at

@ -0,0 +1,24 @@
diff -aurN a/autoconf/pecl/libcurl.m4 b/autoconf/pecl/libcurl.m4
--- a/autoconf/pecl/libcurl.m4 2016-12-12 04:04:21.000000000 -0500
+++ b/autoconf/pecl/libcurl.m4 2017-01-06 09:07:17.575660038 -0500
@@ -87,7 +87,7 @@
AC_REQUIRE([PECL_HAVE_LIBCURL_CA])dnl
PECL_HAVE_LIBCURL_FEATURE([SSL], [
PECL_HAVE_LIBCURL_SSLLIB([OpenSSL], [openssl/ssl.h openssl/crypto.h], [ssl crypto])
- PECL_HAVE_LIBCURL_SSLLIB([GnuTLS], [gnutls.h gcrypt.h], [gnutls gcrypt])
+ PECL_HAVE_LIBCURL_SSLLIB([GnuTLS], [gnutls/gnutls.h gcrypt.h], [gnutls gcrypt])
PECL_HAVE_LIBCURL_SSLLIB([NSS])
PECL_HAVE_LIBCURL_SSLLIB([SecureTransport])
PECL_HAVE_LIBCURL_SSLLIB([GSKit])
diff -aurN a/src/php_http_client_curl.c b/src/php_http_client_curl.c
--- a/src/php_http_client_curl.c 2016-12-12 04:04:21.000000000 -0500
+++ b/src/php_http_client_curl.c 2017-01-06 09:09:01.631772852 -0500
@@ -21,7 +21,7 @@
# include <openssl/ssl.h>
#endif
#if PHP_HTTP_HAVE_LIBCURL_GNUTLS
-# include <gnutls.h>
+# include <gnutls/gnutls.h>
#endif
typedef struct php_http_client_curl_handler {

@ -1,4 +1,4 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@ -36,6 +36,8 @@ RDEPEND="${DEPEND}
PHP_EXT_ECONF_ARGS=( --with-http --without-http-shared-deps )
PATCHES=( "${FILESDIR}/pecl-http-gnutls.patch" )
src_prepare() {
if use php_targets_php7-0 || use php_targets_php7-1 ; then
php-ext-source-r3_src_prepare

@ -13,7 +13,7 @@ USE_PHP="php7-0 php5-6"
inherit php-ext-pecl-r3
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
KEYWORDS="alpha amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
DESCRIPTION="This extension implements a Z39.50 client for PHP using the YAZ toolkit"
LICENSE="BSD"

@ -1,4 +1,4 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@ -24,23 +24,55 @@ IUSE="doc extension test"
DEPEND="test? ( dev-php/phpunit )"
# We always require *some* version of PHP; the eclass (conditionally)
# requires *specific* versions.
RDEPEND="dev-lang/php"
src_unpack() {
# Don't make copies of the source tree if they won't be used.
if use extension; then
php-ext-source-r3_src_unpack
else
default
fi
}
src_prepare(){
# We need to call eapply_user ourselves, just in case the user's
# We need to call eapply_user ourselves, because it may be skipped
# if either the "extension" USE flag is not set, or if the user's
# PHP_TARGETS is essentially empty (does not contain "php5-6"). In
# that case the eclass src_prepare does nothing.
# the latter case, the eclass src_prepare does nothing. We only call
# the eclass phase conditionally because the correct version of
# e.g. "phpize" may not be there unless USE=extension is set.
eapply_user
php-ext-source-r3_src_prepare
use extension && php-ext-source-r3_src_prepare
}
src_configure() {
# The eclass phase will try to run the ./configure script even if it
# doesn't exist (in contrast to the default src_configure), so we
# need to skip it if the eclass src_prepare (that creates said
# script) is not run.
use extension && php-ext-source-r3_src_configure
}
src_compile() {
# Avoids the same problem as in src_configure.
use extension && php-ext-source-r3_src_compile
}
src_install(){
php-ext-source-r3_src_install
use extension && php-ext-source-r3_src_install
cd "${S}" || die
# The autoloader requires the 'T' in "Twig" capitalized.
insinto "/usr/share/php/${MY_PN}"
doins -r lib/"${MY_PN}"/*
# The eclass src_install calls einstalldocs, so we may install a few
# files twice. Doing so should be harmless.
dodoc README.rst CHANGELOG
# This installs the reStructuredText source documents. There's got
# to be some way to turn them into HTML using Sphinx, but upstream
# doesn't provide for it.

@ -1 +1,2 @@
DIST arrow-0.10.0.tar.gz 86506 SHA256 805906f09445afc1f0fc80187db8fe07670e3b25cdafa09b8d8ac264a8c0c722 SHA512 a2baa23f1424b21506f3b664f0ef02d09f91b9cfaf6e0badfa544f42c750ed51136ae0e8910ac24207c0265a1b233f10a6f3cbafee3124b5f5c4fd965cfd01c0 WHIRLPOOL 25ed084436718040d0d516d5f2bfa87760770329d90e93771bd0c86761de44a39699d9b55889a5598499162674b3323e7246471f05076154d35dde460110108f
DIST arrow-0.8.0.tar.gz 81664 SHA256 b210c17d6bb850011700b9f54c1ca0eaf8cbbd441f156f0cd292e1fbda84e7af SHA512 b6c01970d408e1169d042f593859577eef9961a2e7d6e0d5d01ddbdc001f806ca191cf152bd2d4060a877aeabee6754f06c3b91fbca53ee0a135a9355d08b347 WHIRLPOOL 60d6045ccc229cdf9f8a71f2622a6529eadde6bc58277c74bf81b38c8057f5bdab112ba46e04ca9765a34cf2b2a3de9eee0c86d650ff286f4d0bde09668c4e16

@ -0,0 +1,31 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
PYTHON_COMPAT=( python2_7 python{3_4,3_5} )
inherit distutils-r1
DESCRIPTION="Better dates and times for Python"
HOMEPAGE="https://github.com/crsmithdev/arrow/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
RDEPEND="dev-python/python-dateutil[${PYTHON_USEDEP}]"
DEPEND="test? ( dev-python/nose[${PYTHON_USEDEP}]
dev-python/chai[${PYTHON_USEDEP}]
dev-python/simplejson[${PYTHON_USEDEP}]
${RDEPEND} )"
python_prepare() {
sed -i -e "/with-coverage/d" setup.cfg || die
}
python_test() {
nosetests -v || die
}

@ -1,4 +1,4 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@ -18,7 +18,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~x86"
KEYWORDS="~alpha ~amd64 ~hppa ~ppc64 ~x86"
IUSE="doc test"
RDEPEND="dev-python/mock[${PYTHON_USEDEP}]"

@ -2,6 +2,7 @@ DIST llvmlite-0.10.0.tar.gz 92000 SHA256 b6b55e19ae2be38770299e9c73e6ae07d770e4f
DIST llvmlite-0.11.0.tar.gz 87648 SHA256 93cfee5bb9e4d16e42d8986b480191a4c1f149a5818c654d58ae142449f382bd SHA512 6bd801dc01b7949a8206234076579cb9a41b6803039759c16cc346054b9d7e9c6bdb73b77f861564ea23e92cc01da2036bdba5ad5fcfc54e9265181318cc8005 WHIRLPOOL 65387cf24ebb2ce9e257a4a8ce16914a108cd4c2548f44d99d326c43c058441a7ef21aa37279adf6c93fb27fb9378b987794e9efc81175d84943c41b04382e24
DIST llvmlite-0.12.1.tar.gz 88271 SHA256 3ce71beebd4cbc7a49abe4eadfc99725477fd43caeb7405650ebb746c7a1d0df SHA512 f5b448f0ae3d84a0d3438dd7bb4c7f87055e551191c4fefb6282539029d25e8c5e1cca9dec5b90c0d99ec0a720719133b2ccf8b9551aa818c3b4626cc522d8d9 WHIRLPOOL 82b3e60520eda83d0e4082d75ca377bd34c9baf7c67688814e6dd3a7ae687b1eacf7ddd9758254e0c61f39ea5af77c847a15f1f8071cf030d9dd07bb2b1020a5
DIST llvmlite-0.13.0.tar.gz 92200 SHA256 f852be3391acb2e77ef484c5d0ff90e7cf2821dcf9575e358a1f08c274c582eb SHA512 0a416bc1cda0f2d773ceda602ab4fa87a308e3941316f1c66520cb08448c088383b92bcef4459211666573d2e251e4e23e4647091045fd7d8269dbe8ca912f3f WHIRLPOOL edd26c3dfeb95d050f408f7fcc5e2bf5195712eff12220c022b0af00770b2276998853b8877b4c484452e9eb80df987fce548663f39285d1b030d6010164f338
DIST llvmlite-0.15.0.tar.gz 95009 SHA256 c855835537eda61f3a0d19aedc44f006d5084a2d322aee8ffa87aa06bb800dc4 SHA512 db49ed82eae989e7e7abbd72f1c1da5129887f7fce447c684085f98ae2aaf47d24e73b79c5916802edbb8dc55dda92efeac833cb903300560b1aa89f2aeb5dca WHIRLPOOL 66336fa610ae2706c9281f5e7febc8e76e0cacf8cbc151952f6978adb104bcc6b98ac65d9661c7289f258e1e63a1e6e4a139f93efc45cdfd2a26f50c35bc03fb
DIST llvmlite-0.5.0.tar.gz 74434 SHA256 616b0f16366dd1eec197b7067f4618c6c5183db852e7f4203862c0343ebdd31c SHA512 aec69c841a8166896a6632a4204a53df1f19a42514c335a3dc21a9c7e7610c110a5d00b293d7013dfe497cc7c1e3ffbaedf0a80ee16970f5f33f0043bacd6aec WHIRLPOOL 737a53017e160a04f371e87abf24eb923f17b101d3b2394c276ae0d47787c617aa496428b268ee86301a2ed33a0a93b0b5d3fbc0fb293e295d38742d8a5b98e8
DIST llvmlite-0.6.0.tar.gz 74834 SHA256 0ed6bbf850578dc99c06be3060a1067ea4993474392137760d1c020f7188a236 SHA512 7db3f774d7cff903e4a5a476eee3efd1c6f107443433ab47543eae4e28918a385534225a23e0cd000cfab65b5ebeb0a5c38d6b963090ee0943c65fb61879fc7b WHIRLPOOL 3bed14fef8defac3f217b9ecdb5a2b4d1c68cd9e19078292cc792f375345a87b4daf63ee9c6429954d5156e7c73b5ea85b3bff54c60f78fbc982067411f2eb40
DIST llvmlite-0.8.0.tar.gz 80497 SHA256 a10d8d5e597c6a54ec418baddd31a51a0b7937a895d75b240d890aead946081c SHA512 d960dd2635d670b3ed2a79f81e5c3ada4fe0a03ac39e8f94a16a83fb62013ecbbce1a430ac48c8e6abd8fa34c37938d4ec7a0b949bd8c490f391c8dc29ce221c WHIRLPOOL 569cf60ae6b6efe63aa1af322d53cb983a4d29550557ba465ff26dbcc49bab598365cc592931cabca5f2e99b979ebb4f101d698a1c457a1ef1fa11eb89184c31

@ -0,0 +1,50 @@
Description: use packaged six instead of stripped module
Author: Daniel Stender <debian@danielstender.com>
Forwarded: not-needed
Last-Update: 2016-21-06
--- a/llvmlite/binding/ffi.py
+++ b/llvmlite/binding/ffi.py
@@ -3,7 +3,7 @@ import os
from .common import _decode_string, _is_shutting_down
from ..utils import get_library_name
-from ..six import PY2
+from six import PY2
def _make_opaque_ref(name):
--- a/llvmlite/ir/values.py
+++ b/llvmlite/ir/values.py
@@ -7,7 +7,7 @@ from __future__ import print_function, absolute_import
import string
-from .. import six
+import six
from . import types, _utils
from ._utils import _StrCaching, _StringReferenceCaching, _HasMetadata
--- a/llvmlite/tests/customize.py
+++ b/llvmlite/tests/customize.py
@@ -12,7 +12,7 @@ import unittest
import warnings
from unittest import result, runner, signals
-from ..six import StringIO
+from six import StringIO
# "unittest.main" is really the TestProgram class!
--- a/llvmlite/tests/test_binding.py
+++ b/llvmlite/tests/test_binding.py
@@ -12,7 +12,8 @@ import subprocess
import sys
import unittest
-from llvmlite import six, ir
+from llvmlite import ir
+import six
from llvmlite import binding as llvm
from llvmlite.binding import ffi
from . import TestCase

@ -0,0 +1,46 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
inherit distutils-r1
DESCRIPTION="Python wrapper around the llvm C++ library"
HOMEPAGE="http://llvmlite.pydata.org/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE="examples"
RDEPEND="
dev-python/six[${PYTHON_USEDEP}]
=sys-devel/llvm-3.8*
sys-libs/zlib:0=
virtual/python-enum34[${PYTHON_USEDEP}]
"
DEPEND="${RDEPEND}
dev-python/setuptools[${PYTHON_USEDEP}]
"
PATCHES=(
"${FILESDIR}"/${P}-use-system-six.patch
)
python_prepare_all() {
sed -e 's/-flto$/-flto -fPIC/' \
-i ffi/Makefile.linux || die
distutils-r1_python_prepare_all
}
python_test() {
"${EPYTHON}" runtests.py -v || die "Tests failed under ${EPYTHON}"
}
python_install_all() {
use examples && local EXAMPLES=( examples/. )
distutils-r1_python_install_all
}

@ -5,7 +5,14 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<longdescription>
llvmlite uses the LLVM library for JIT (just-in-time) compilation of
Python code into native machine instructions during runtime. Instead
of exposing large parts of the LLVM C++ API for direct calls into the
LLVM library, llvmlite follows a lightweight multi-layered approach.
</longdescription>
<upstream>
<remote-id type="pypi">llvmlite</remote-id>
<remote-id type="github">numba/llvmlite</remote-id>
</upstream>
</pkgmetadata>

@ -1,2 +1 @@
DIST pid-2.0.1.tar.gz 9373 SHA256 054cde9c64b8ac979ec27f714e71ebb97ecf8388ea5fe29f6b93db222e92d433 SHA512 10dcded5b52c415a2fa653afdd85e5fbb06433149eee63f306ff84f225086492048db0341bf3a6e448d0654ba4c02afdb72343c0b111bc9682f2248cc4c3817a WHIRLPOOL 801386fcb80d5a7b16793cc5fd9eb6622aa303d7f8be5142f3fd10dc0453ab573b227e06a9b35dc8f3048b5019017db395c40b8c5fce65b086354cfde4853024
DIST pid-2.1.1.tar.gz 9591 SHA256 b443169d3dc21397695b4a82016fadb4cfdb0ed8b2ddb4aaa428e1701bb34e1f SHA512 5f20338ca902d68a0c4a614b0b8229cd498712bf1750b68fa49037e9e6915c66ad562564d70d7c9308538f4302e90473a5d253dd6366bfa561f6a2248b21a45e WHIRLPOOL 52d3a196fccab813671b71c3f9d719bc741412b9cd76828902513dcf6b8fb2c4f3c0159e1fd43cbda3d39e436247248862ba5a168b710848aa6ce7b8fc26abd7

@ -1,26 +0,0 @@
# Copyright 1999-2015 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=5
PYTHON_COMPAT=( python{2_7,3_4,3_5} )
inherit distutils-r1
DESCRIPTION="Pidfile featuring stale detection and file-locking"
HOMEPAGE="https://pypi.python.org/pypi/pid https://github.com/trbs/pid/"
SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SLOT="0"
LICENSE="Apache-2.0"
KEYWORDS="~amd64"
IUSE=""
RDEPEND=""
DEPEND="${RDEPEND}
dev-python/nose[${PYTHON_USEDEP}]"
python_test() {
nosetests || die
}

@ -1,4 +1,4 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@ -14,12 +14,9 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
SLOT="0"
LICENSE="Apache-2.0"
KEYWORDS="~amd64"
IUSE=""
KEYWORDS="amd64"
RDEPEND=""
DEPEND="${RDEPEND}
dev-python/nose[${PYTHON_USEDEP}]"
DEPEND="dev-python/nose[${PYTHON_USEDEP}]"
python_test() {
nosetests || die

@ -1,10 +1,10 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
GNOME2_LA_PUNT="yes"
PYTHON_COMPAT=( python2_7 python3_{3,4,5} )
PYTHON_COMPAT=( python2_7 python3_{4,5} )
inherit eutils gnome2 python-r1 virtualx

@ -1 +0,0 @@
DIST pygtkspellcheck-4.0.5.tar.gz 184313 SHA256 5d7473de147ab2c8fb61de93f7275139c53b08d8cee6b43a2062d6c83a6b2987 SHA512 f2ea035093a4d8bd9ca3b04f7433808b1ea8c3723b3ea12b95f470d8eb003c9cf58114cb4f342f36732ae46e6156223db5185f16a8c4b27551a6b99bc28a45b9 WHIRLPOOL c7a891987c148ca3531b43ad245576efdff328ace04e10ba992efea99768ad84a35f9d94d20e98973c37ceffe6e242dcee635ff0e912192a4605cd07153514a4

@ -1,8 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<upstream>
<remote-id type="pypi">pygtkspellcheck</remote-id>
<remote-id type="github">koehlma/pygtkspellcheck</remote-id>
</upstream>
</pkgmetadata>

@ -1,21 +0,0 @@
# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
PYTHON_COMPAT=( python2_7 python3_4 )
PYTHON_REQ_USE="sqlite"
inherit distutils-r1
DESCRIPTION="a simple but quite powerful spellchecking library for GTK written in pure Python"
HOMEPAGE="https://github.com/koehlma/pygtkspellcheck"
SRC_URI="${HOMEPAGE}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
IUSE=""
DEPEND="dev-python/pyenchant[${PYTHON_USEDEP}]"
RDEPEND="${DEPEND}"

@ -22,7 +22,7 @@ SRC_URI="mirror://pypi/${MY_PN:0:1}/${MY_PN}/${MY_P}.tar.gz"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
KEYWORDS="alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris"
IUSE="doc examples test"
RDEPEND="

@ -14,7 +14,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
KEYWORDS="alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~ia64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos"
IUSE="test"
# When bumping, please check setup.py for the proper py version

@ -1,4 +1,4 @@
# Copyright 1999-2016 Gentoo Foundation
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
@ -15,7 +15,7 @@ SRC_URI="mirror://pypi/${PN:0:1}/${MY_PN}/${MY_PN}-${PV}.tar.gz"
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~x86"
KEYWORDS="~alpha ~amd64 ~hppa ~ppc64 ~x86"
IUSE="doc test"
RDEPEND="

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save