* [PATCH 0/5] misc fixes
@ 2018-08-13 16:22 Hongxu Jia
2018-08-13 16:22 ` [meta-python][PATCH 1/5] python3-pydbus: cherry-pick patches from fedora Hongxu Jia
` (4 more replies)
0 siblings, 5 replies; 12+ messages in thread
From: Hongxu Jia @ 2018-08-13 16:22 UTC (permalink / raw)
To: raj.khem; +Cc: openembedded-devel
The following changes since commit 30bbde3d09ebdf1ad2eac7764abeae0990f4cea2:
oprofile: upgrade 1.2.0 -> 1.3.0 (2018-08-11 20:16:53 -0700)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib hongxu/misc-fixes
http://cgit.openembedded.org/openembedded-core-contrib/log/?h=hongxu/misc-fixes
Hongxu Jia (5):
python3-pydbus: cherry-pick patches from fedora
python-pykickstart: fix typo
python3-blivet: remove dmraid from dependency check
libblockdev: drop obsolete patch
python3-blivet: add `-Z y' and `-y' to lvm.pvcreate
.../0001-fix-configure-and-compile-failures.patch | 87 ---------
.../libblockdev/libblockdev_2.18.bb | 1 -
.../0001-Support-asynchronous-calls-58.patch | 93 ++++++++++
...nsformation-between-D-Bus-errors-and-exce.patch | 203 +++++++++++++++++++++
.../python/python3-pydbus_0.6.0.bb | 4 +
.../0012-remove-dmraid-dependency-check.patch | 31 ++++
.../0013-add-Z-y-and-y-to-lvm.pvcreate.patch | 41 +++++
.../python-blivet/python3-blivet_3.0.1.bb | 2 +
...0001-support-authentication-for-kickstart.patch | 10 +-
...d.py-retry-to-invoke-request-with-timeout.patch | 6 +-
10 files changed, 382 insertions(+), 96 deletions(-)
delete mode 100644 meta-oe/recipes-extended/libblockdev/files/0001-fix-configure-and-compile-failures.patch
create mode 100644 meta-python/recipes-devtools/python/python3-pydbus/0001-Support-asynchronous-calls-58.patch
create mode 100644 meta-python/recipes-devtools/python/python3-pydbus/0002-Support-transformation-between-D-Bus-errors-and-exce.patch
create mode 100644 meta-python/recipes-extended/python-blivet/python3-blivet/0012-remove-dmraid-dependency-check.patch
create mode 100644 meta-python/recipes-extended/python-blivet/python3-blivet/0013-add-Z-y-and-y-to-lvm.pvcreate.patch
--
2.7.4
^ permalink raw reply [flat|nested] 12+ messages in thread
* [meta-python][PATCH 1/5] python3-pydbus: cherry-pick patches from fedora
2018-08-13 16:22 [PATCH 0/5] misc fixes Hongxu Jia
@ 2018-08-13 16:22 ` Hongxu Jia
2018-08-13 16:22 ` [meta-python][PATCH 2/5] python-pykickstart: fix typo Hongxu Jia
` (3 subsequent siblings)
4 siblings, 0 replies; 12+ messages in thread
From: Hongxu Jia @ 2018-08-13 16:22 UTC (permalink / raw)
To: raj.khem; +Cc: openembedded-devel
Fedora enhanced python3-pydbus:
- Support asynchronous calls
- Support transformation between D-Bus errors and
exceptions.
https://src.fedoraproject.org/cgit/rpms/python-pydbus.git/
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
.../0001-Support-asynchronous-calls-58.patch | 93 ++++++++++
...nsformation-between-D-Bus-errors-and-exce.patch | 203 +++++++++++++++++++++
.../python/python3-pydbus_0.6.0.bb | 4 +
3 files changed, 300 insertions(+)
create mode 100644 meta-python/recipes-devtools/python/python3-pydbus/0001-Support-asynchronous-calls-58.patch
create mode 100644 meta-python/recipes-devtools/python/python3-pydbus/0002-Support-transformation-between-D-Bus-errors-and-exce.patch
diff --git a/meta-python/recipes-devtools/python/python3-pydbus/0001-Support-asynchronous-calls-58.patch b/meta-python/recipes-devtools/python/python3-pydbus/0001-Support-asynchronous-calls-58.patch
new file mode 100644
index 0000000..c5cb9a8
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-pydbus/0001-Support-asynchronous-calls-58.patch
@@ -0,0 +1,93 @@
+From 39a7d79ee6c548902fbac8b95c934af7e4c69260 Mon Sep 17 00:00:00 2001
+From: Vendula Poncova <vponcova@redhat.com>
+Date: Thu, 2 Aug 2018 15:30:45 +0800
+Subject: [PATCH 1/2] Support asynchronous calls (#58)
+
+Added support for asynchronous calls of methods. A method is called
+synchronously unless its callback parameter is specified. A callback
+is a function f(*args, returned=None, error=None), where args is
+callback_args specified in the method call, returned is a return
+value of the method and error is an exception raised by the method.
+
+Example of an asynchronous call:
+
+def func(x, y, returned=None, error=None):
+ pass
+
+proxy.Method(a, b, callback=func, callback_args=(x, y))
+
+Upstream-Status: Cherry-pick [https://src.fedoraproject.org/cgit/rpms/python-pydbus.git/]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ pydbus/proxy_method.py | 44 ++++++++++++++++++++++++++++++++++++++------
+ 1 file changed, 38 insertions(+), 6 deletions(-)
+
+diff --git a/pydbus/proxy_method.py b/pydbus/proxy_method.py
+index 8798edd..4ea4304 100644
+--- a/pydbus/proxy_method.py
++++ b/pydbus/proxy_method.py
+@@ -65,15 +65,34 @@ class ProxyMethod(object):
+
+ # Python 2 sux
+ for kwarg in kwargs:
+- if kwarg not in ("timeout",):
++ if kwarg not in ("timeout", "callback", "callback_args"):
+ raise TypeError(self.__qualname__ + " got an unexpected keyword argument '{}'".format(kwarg))
+ timeout = kwargs.get("timeout", None)
++ callback = kwargs.get("callback", None)
++ callback_args = kwargs.get("callback_args", tuple())
++
++ call_args = (
++ instance._bus_name,
++ instance._path,
++ self._iface_name,
++ self.__name__,
++ GLib.Variant(self._sinargs, args),
++ GLib.VariantType.new(self._soutargs),
++ 0,
++ timeout_to_glib(timeout),
++ None
++ )
++
++ if callback:
++ call_args += (self._finish_async_call, (callback, callback_args))
++ instance._bus.con.call(*call_args)
++ return None
++ else:
++ ret = instance._bus.con.call_sync(*call_args)
++ return self._unpack_return(ret)
+
+- ret = instance._bus.con.call_sync(
+- instance._bus_name, instance._path,
+- self._iface_name, self.__name__, GLib.Variant(self._sinargs, args), GLib.VariantType.new(self._soutargs),
+- 0, timeout_to_glib(timeout), None).unpack()
+-
++ def _unpack_return(self, values):
++ ret = values.unpack()
+ if len(self._outargs) == 0:
+ return None
+ elif len(self._outargs) == 1:
+@@ -81,6 +100,19 @@ class ProxyMethod(object):
+ else:
+ return ret
+
++ def _finish_async_call(self, source, result, user_data):
++ error = None
++ return_args = None
++
++ try:
++ ret = source.call_finish(result)
++ return_args = self._unpack_return(ret)
++ except Exception as err:
++ error = err
++
++ callback, callback_args = user_data
++ callback(*callback_args, returned=return_args, error=error)
++
+ def __get__(self, instance, owner):
+ if instance is None:
+ return self
+--
+2.7.4
+
diff --git a/meta-python/recipes-devtools/python/python3-pydbus/0002-Support-transformation-between-D-Bus-errors-and-exce.patch b/meta-python/recipes-devtools/python/python3-pydbus/0002-Support-transformation-between-D-Bus-errors-and-exce.patch
new file mode 100644
index 0000000..f5c0390
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-pydbus/0002-Support-transformation-between-D-Bus-errors-and-exce.patch
@@ -0,0 +1,203 @@
+From 69968dec867053e38de0b91d76ac41d5a5735e36 Mon Sep 17 00:00:00 2001
+From: Vendula Poncova <vponcova@redhat.com>
+Date: Thu, 2 Aug 2018 15:31:56 +0800
+Subject: [PATCH 2/2] Support transformation between D-Bus errors and
+ exceptions.
+
+Exceptions can be registered with decorators, raised in a remote
+method and recreated after return from the remote call.
+
+Upstream-Status: Cherry-pick [https://src.fedoraproject.org/cgit/rpms/python-pydbus.git/]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ pydbus/error.py | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++
+ pydbus/proxy_method.py | 18 ++++++++--
+ pydbus/registration.py | 16 ++++++---
+ 3 files changed, 123 insertions(+), 8 deletions(-)
+ create mode 100644 pydbus/error.py
+
+diff --git a/pydbus/error.py b/pydbus/error.py
+new file mode 100644
+index 0000000..aaa3510
+--- /dev/null
++++ b/pydbus/error.py
+@@ -0,0 +1,97 @@
++from gi.repository import GLib, Gio
++
++
++def register_error(name, domain, code):
++ """Register and map decorated exception class to a DBus error."""
++ def decorated(cls):
++ error_registration.register_error(cls, name, domain, code)
++ return cls
++
++ return decorated
++
++
++def map_error(error_name):
++ """Map decorated exception class to a DBus error."""
++ def decorated(cls):
++ error_registration.map_error(cls, error_name)
++ return cls
++
++ return decorated
++
++
++def map_by_default(cls):
++ """Map decorated exception class to all unknown DBus errors."""
++ error_registration.map_by_default(cls)
++ return cls
++
++
++class ErrorRegistration(object):
++ """Class for mapping exceptions to DBus errors."""
++
++ _default = None
++ _map = dict()
++ _reversed_map = dict()
++
++ def map_by_default(self, exception_cls):
++ """Set the exception class as a default."""
++ self._default = exception_cls
++
++ def map_error(self, exception_cls, name):
++ """Map the exception class to a DBus name."""
++ self._map[name] = exception_cls
++ self._reversed_map[exception_cls] = name
++
++ def register_error(self, exception_cls, name, domain, code):
++ """Map and register the exception class to a DBus name."""
++ self.map_error(exception_cls, name)
++ return Gio.DBusError.register_error(domain, code, name)
++
++ def is_registered_exception(self, obj):
++ """Is the exception registered?"""
++ return obj.__class__ in self._reversed_map
++
++ def get_dbus_name(self, obj):
++ """Get the DBus name of the exception."""
++ return self._reversed_map.get(obj.__class__)
++
++ def get_exception_class(self, name):
++ """Get the exception class mapped to the DBus name."""
++ return self._map.get(name, self._default)
++
++ def transform_message(self, name, message):
++ """Transform the message of the exception."""
++ prefix = "{}:{}: ".format("GDBus.Error", name)
++
++ if message.startswith(prefix):
++ return message[len(prefix):]
++
++ return message
++
++ def transform_exception(self, e):
++ """Transform the remote error to the exception."""
++ if not isinstance(e, GLib.Error):
++ return e
++
++ if not Gio.DBusError.is_remote_error(e):
++ return e
++
++ # Get DBus name of the error.
++ name = Gio.DBusError.get_remote_error(e)
++ # Get the exception class.
++ exception_cls = self.get_exception_class(name)
++
++ # Return the original exception.
++ if not exception_cls:
++ return e
++
++ # Return new exception.
++ message = self.transform_message(name, e.message)
++ exception = exception_cls(message)
++ exception.dbus_name = name
++ exception.dbus_domain = e.domain
++ exception.dbus_code = e.code
++ return exception
++
++
++# Default error registration.
++error_registration = ErrorRegistration()
+diff --git a/pydbus/proxy_method.py b/pydbus/proxy_method.py
+index 4ea4304..e9496f5 100644
+--- a/pydbus/proxy_method.py
++++ b/pydbus/proxy_method.py
+@@ -2,6 +2,7 @@ from gi.repository import GLib
+ from .generic import bound_method
+ from .identifier import filter_identifier
+ from .timeout import timeout_to_glib
++from .error import error_registration
+
+ try:
+ from inspect import Signature, Parameter
+@@ -87,9 +88,20 @@ class ProxyMethod(object):
+ call_args += (self._finish_async_call, (callback, callback_args))
+ instance._bus.con.call(*call_args)
+ return None
++
+ else:
+- ret = instance._bus.con.call_sync(*call_args)
+- return self._unpack_return(ret)
++ result = None
++ error = None
++
++ try:
++ result = instance._bus.con.call_sync(*call_args)
++ except Exception as e:
++ error = error_registration.transform_exception(e)
++
++ if error:
++ raise error
++
++ return self._unpack_return(result)
+
+ def _unpack_return(self, values):
+ ret = values.unpack()
+@@ -108,7 +120,7 @@ class ProxyMethod(object):
+ ret = source.call_finish(result)
+ return_args = self._unpack_return(ret)
+ except Exception as err:
+- error = err
++ error = error_registration.transform_exception(err)
+
+ callback, callback_args = user_data
+ callback(*callback_args, returned=return_args, error=error)
+diff --git a/pydbus/registration.py b/pydbus/registration.py
+index f531539..1d2cbcb 100644
+--- a/pydbus/registration.py
++++ b/pydbus/registration.py
+@@ -5,6 +5,7 @@ from . import generic
+ from .exitable import ExitableWithAliases
+ from functools import partial
+ from .method_call_context import MethodCallContext
++from .error import error_registration
+ import logging
+
+ try:
+@@ -91,11 +92,16 @@ class ObjectWrapper(ExitableWithAliases("unwrap")):
+ logger = logging.getLogger(__name__)
+ logger.exception("Exception while handling %s.%s()", interface_name, method_name)
+
+- #TODO Think of a better way to translate Python exception types to DBus error types.
+- e_type = type(e).__name__
+- if not "." in e_type:
+- e_type = "unknown." + e_type
+- invocation.return_dbus_error(e_type, str(e))
++ if error_registration.is_registered_exception(e):
++ name = error_registration.get_dbus_name(e)
++ invocation.return_dbus_error(name, str(e))
++ else:
++ logger.info("name is not registered")
++ e_type = type(e).__name__
++ if not "." in e_type:
++ e_type = "unknown." + e_type
++
++ invocation.return_dbus_error(e_type, str(e))
+
+ def Get(self, interface_name, property_name):
+ type = self.readable_properties[interface_name + "." + property_name]
+--
+2.7.4
+
diff --git a/meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb b/meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb
index 7ed1c63..adaa86d 100644
--- a/meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb
+++ b/meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb
@@ -1,2 +1,6 @@
require python-pydbus.inc
inherit pypi setuptools3
+
+SRC_URI += "file://0001-Support-asynchronous-calls-58.patch \
+ file://0002-Support-transformation-between-D-Bus-errors-and-exce.patch \
+"
--
2.7.4
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [meta-python][PATCH 2/5] python-pykickstart: fix typo
2018-08-13 16:22 [PATCH 0/5] misc fixes Hongxu Jia
2018-08-13 16:22 ` [meta-python][PATCH 1/5] python3-pydbus: cherry-pick patches from fedora Hongxu Jia
@ 2018-08-13 16:22 ` Hongxu Jia
2018-08-13 16:22 ` [meta-python][PATCH 3/5] python3-blivet: remove dmraid from dependency check Hongxu Jia
` (2 subsequent siblings)
4 siblings, 0 replies; 12+ messages in thread
From: Hongxu Jia @ 2018-08-13 16:22 UTC (permalink / raw)
To: raj.khem; +Cc: openembedded-devel
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
.../files/0001-support-authentication-for-kickstart.patch | 10 +++++-----
.../0004-load.py-retry-to-invoke-request-with-timeout.patch | 6 +++---
2 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch b/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch
index 6af4bde..e7533f4 100644
--- a/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch
+++ b/meta-python/recipes-extended/python-pykickstart/files/0001-support-authentication-for-kickstart.patch
@@ -1,4 +1,4 @@
-From b7070a79432b790dffa82401364e4fd8d906eb2b Mon Sep 17 00:00:00 2001
+From f05f5fc363e2510f6943532f3e14a6423f6a2cf1 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Tue, 31 Jul 2018 17:24:47 +0800
Subject: [PATCH 1/4] support authentication for kickstart
@@ -51,7 +51,7 @@ index bf08ac5..aada7aa 100644
+ def __str__(self):
+ return self.value
diff --git a/pykickstart/load.py b/pykickstart/load.py
-index fb935f2..c6f013f 100644
+index fb935f2..41a2e9e 100644
--- a/pykickstart/load.py
+++ b/pykickstart/load.py
@@ -18,10 +18,13 @@
@@ -101,7 +101,7 @@ index fb935f2..c6f013f 100644
+ if user is None or passwd is None:
+ log.info("Require Authentication")
+ raise KickstartAuthError("Require Authentication.\nAppend 'ksuser=<username> kspasswd=<password>' to boot command")
-+
+
+ reasons = request.headers.get("WWW-Authenticate", "").split()
+ if reasons:
+ auth_type = reasons[0]
@@ -111,9 +111,9 @@ index fb935f2..c6f013f 100644
+ auth=HTTPDigestAuth(user, passwd)
+
+ return auth
-
++
+def _load_url(location, user=None, passwd=None):
-+ '''Load a location (URL or filename) and return contents as string'''
++ '''Load a location (URL or filename) and return contents as string'''
+ auth = _get_auth(location, user=user, passwd=passwd)
try:
- request = requests.get(location, verify=SSL_VERIFY)
diff --git a/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch b/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch
index c950be6..6ed15ab 100644
--- a/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch
+++ b/meta-python/recipes-extended/python-pykickstart/files/0004-load.py-retry-to-invoke-request-with-timeout.patch
@@ -1,4 +1,4 @@
-From a86ba22d7133199d850ef3d893571f27d6b0faed Mon Sep 17 00:00:00 2001
+From ffe06c6dd812b604d6482e4353d5564fad78bc90 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Mon, 30 Jul 2018 15:52:21 +0800
Subject: [PATCH 4/4] load.py: retry to invoke request with timeout
@@ -16,7 +16,7 @@ Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
1 file changed, 31 insertions(+)
diff --git a/pykickstart/load.py b/pykickstart/load.py
-index 7adb751..b62245e 100644
+index ad3bad1..a5cbbc5 100644
--- a/pykickstart/load.py
+++ b/pykickstart/load.py
@@ -21,6 +21,7 @@ import requests
@@ -70,7 +70,7 @@ index 7adb751..b62245e 100644
@@ -94,6 +121,10 @@ def _get_auth(location, user=None, passwd=None):
def _load_url(location, user=None, passwd=None):
- '''Load a location (URL or filename) and return contents as string'''
+ '''Load a location (URL or filename) and return contents as string'''
+
+ if not _access_url(location):
+ raise KickstartError(_("Connection %s failed" % location))
--
2.7.4
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [meta-python][PATCH 3/5] python3-blivet: remove dmraid from dependency check
2018-08-13 16:22 [PATCH 0/5] misc fixes Hongxu Jia
2018-08-13 16:22 ` [meta-python][PATCH 1/5] python3-pydbus: cherry-pick patches from fedora Hongxu Jia
2018-08-13 16:22 ` [meta-python][PATCH 2/5] python-pykickstart: fix typo Hongxu Jia
@ 2018-08-13 16:22 ` Hongxu Jia
2018-08-13 16:22 ` [meta-oe][PATCH 4/5] libblockdev: drop obsolete patch Hongxu Jia
2018-08-13 16:22 ` [meta-python][PATCH 5/5] python3-blivet: add `-Z y' and `-y' to lvm.pvcreate Hongxu Jia
4 siblings, 0 replies; 12+ messages in thread
From: Hongxu Jia @ 2018-08-13 16:22 UTC (permalink / raw)
To: raj.khem; +Cc: openembedded-devel
OE does not have dmraid recipe, so remove it from dependency check.
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
.../0012-remove-dmraid-dependency-check.patch | 31 ++++++++++++++++++++++
.../python-blivet/python3-blivet_3.0.1.bb | 1 +
2 files changed, 32 insertions(+)
create mode 100644 meta-python/recipes-extended/python-blivet/python3-blivet/0012-remove-dmraid-dependency-check.patch
diff --git a/meta-python/recipes-extended/python-blivet/python3-blivet/0012-remove-dmraid-dependency-check.patch b/meta-python/recipes-extended/python-blivet/python3-blivet/0012-remove-dmraid-dependency-check.patch
new file mode 100644
index 0000000..886e3ff
--- /dev/null
+++ b/meta-python/recipes-extended/python-blivet/python3-blivet/0012-remove-dmraid-dependency-check.patch
@@ -0,0 +1,31 @@
+From 4476e846a1e64dde17df2e2370c803ce695514f9 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 6 Aug 2018 17:18:27 +0800
+Subject: [PATCH] remove dmraid dependency check
+
+OE does not support dmraid, remove it from dependency check
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/tasks/availability.py | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/blivet/tasks/availability.py b/blivet/tasks/availability.py
+index 9a87cfd..843cf6a 100644
+--- a/blivet/tasks/availability.py
++++ b/blivet/tasks/availability.py
+@@ -316,8 +316,7 @@ BLOCKDEV_DM_ALL_MODES = (blockdev.DMTechMode.CREATE_ACTIVATE |
+ blockdev.DMTechMode.QUERY)
+ BLOCKDEV_DM = BlockDevTechInfo(plugin_name="dm",
+ check_fn=blockdev.dm_is_tech_avail,
+- technologies={blockdev.DMTech.MAP: BLOCKDEV_DM_ALL_MODES,
+- blockdev.DMTech.RAID: BLOCKDEV_DM_ALL_MODES})
++ technologies={blockdev.DMTech.MAP: BLOCKDEV_DM_ALL_MODES})
+ BLOCKDEV_DM_TECH = BlockDevMethod(BLOCKDEV_DM)
+
+ # libblockdev loop plugin required technologies and modes
+--
+2.7.4
+
diff --git a/meta-python/recipes-extended/python-blivet/python3-blivet_3.0.1.bb b/meta-python/recipes-extended/python-blivet/python3-blivet_3.0.1.bb
index 218c158..5fcbd88 100644
--- a/meta-python/recipes-extended/python-blivet/python3-blivet_3.0.1.bb
+++ b/meta-python/recipes-extended/python-blivet/python3-blivet_3.0.1.bb
@@ -21,6 +21,7 @@ SRC_URI = "git://github.com/rhinstaller/blivet;branch=3.1-release \
file://0009-invoking-fsck-with-infinite-timeout.patch \
file://0010-invoking-mkfs-with-infinite-timeout.patch \
file://0011-invoking-dd-with-infinite-timeout.patch \
+ file://0012-remove-dmraid-dependency-check.patch \
"
UPSTREAM_CHECK_GITTAGREGEX = "blivet-(?P<pver>\d+(\.\d+)+)$"
--
2.7.4
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [meta-oe][PATCH 4/5] libblockdev: drop obsolete patch
2018-08-13 16:22 [PATCH 0/5] misc fixes Hongxu Jia
` (2 preceding siblings ...)
2018-08-13 16:22 ` [meta-python][PATCH 3/5] python3-blivet: remove dmraid from dependency check Hongxu Jia
@ 2018-08-13 16:22 ` Hongxu Jia
2018-08-13 16:22 ` [meta-python][PATCH 5/5] python3-blivet: add `-Z y' and `-y' to lvm.pvcreate Hongxu Jia
4 siblings, 0 replies; 12+ messages in thread
From: Hongxu Jia @ 2018-08-13 16:22 UTC (permalink / raw)
To: raj.khem; +Cc: openembedded-devel
Since libblockdev is upgraded to 2.18, the local patch is obsolete.
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
.../0001-fix-configure-and-compile-failures.patch | 87 ----------------------
.../libblockdev/libblockdev_2.18.bb | 1 -
2 files changed, 88 deletions(-)
delete mode 100644 meta-oe/recipes-extended/libblockdev/files/0001-fix-configure-and-compile-failures.patch
diff --git a/meta-oe/recipes-extended/libblockdev/files/0001-fix-configure-and-compile-failures.patch b/meta-oe/recipes-extended/libblockdev/files/0001-fix-configure-and-compile-failures.patch
deleted file mode 100644
index 9c050b7..0000000
--- a/meta-oe/recipes-extended/libblockdev/files/0001-fix-configure-and-compile-failures.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 21654e3719e0a289e735918b234f7aae6766e3a1 Mon Sep 17 00:00:00 2001
-From: Hongxu Jia <hongxu.jia@windriver.com>
-Date: Wed, 18 Jul 2018 11:26:28 +0800
-Subject: [PATCH] fix configure and compile failures
-
-1. Fix do_configure failure
----------------------------
-|Checking header volume_key/libvolume_key.h existence and usability.
-../tmp/6tvtK.c:1:38: fatal error: volume_key/libvolume_key.h:
-No such file or directory
-| #include <volume_key/libvolume_key.h>
----------------------------
-We explictly add volume_key and dmraid to DEPENDS, do not need
-configure to test.
-
-2. Fix config.h not found
-Add it to configure.ac
-
-3. Correct AC_DEFINE
-...
-autoheader: warning: missing template: LIBMOUNT_NEW_ERR_API
-autoheader: Use AC_DEFINE([LIBMOUNT_NEW_ERR_API], [], [Description])
-...
-
-Upstream-Status: Inappropriate [oe specific]
-
-Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
-
-Checking header dmraid/dmraid.h existence and usability.../tmp/
-ktVJ6.c:1:27: fatal error: dmraid/dmraid.h: No such file or directory
-| #include <dmraid/dmraid.h>
-
-fix this by add --disable-dmraid
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- configure.ac | 12 +++++++-----
- 1 file changed, 7 insertions(+), 5 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index a37f337..a8cfe2f 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -9,6 +9,8 @@ AC_DISABLE_STATIC
- AM_INIT_AUTOMAKE([foreign -Wall -Werror -Wno-syntax -Wno-portability])
- AC_CONFIG_MACRO_DIR([m4])
-
-+AC_CONFIG_HEADERS([config.h])
-+
- AM_PATH_PYTHON
-
- AM_PROG_AR
-@@ -194,10 +196,9 @@ LIBBLOCKDEV_PKG_CHECK_MODULES([KMOD], [libkmod >= 19])
- AS_IF([test "x$with_crypto" != "xno"],
- [LIBBLOCKDEV_PKG_CHECK_MODULES([CRYPTSETUP], [libcryptsetup >= 1.6.7])
- AS_IF([$PKG_CONFIG --atleast-version=2.0 libcryptsetup],
-- [AC_DEFINE([LIBCRYPTSETUP_2])], [])
-+ [AC_DEFINE([LIBCRYPTSETUP_2], [1], [new version of libcryptsetup])])
- AS_IF([test "x$with_escrow" != "xno"],
-- [LIBBLOCKDEV_PKG_CHECK_MODULES([NSS], [nss >= 3.18.0])
-- LIBBLOCKDEV_CHECK_HEADER([volume_key/libvolume_key.h], [$GLIB_CFLAGS $NSS_CFLAGS], [libvolume_key.h not available])],
-+ [LIBBLOCKDEV_PKG_CHECK_MODULES([NSS], [nss >= 3.18.0])],
- [])
- ],
- [])
-@@ -218,7 +219,8 @@ AS_IF([test "x$with_fs" != "xno"],
- [LIBBLOCKDEV_PKG_CHECK_MODULES([MOUNT], [mount >= 2.23.0])
- # new versions of libmount has some new functions we can use
- AS_IF([$PKG_CONFIG --atleast-version=2.30.0 mount],
-- [AC_DEFINE([LIBMOUNT_NEW_ERR_API])], [])
-+ [AC_DEFINE([LIBMOUNT_NEW_ERR_API], [1], [new versions of libmount has some new functions we can use])],
-+ [])
-
- LIBBLOCKDEV_PKG_CHECK_MODULES([BLKID], [blkid >= 2.23.0])
- # older versions of libblkid don't support BLKID_SUBLKS_BADCSUM so let's just
-@@ -243,7 +245,7 @@ AS_IF([test "x$with_nvdimm" != "xno"],
- LIBBLOCKDEV_PKG_CHECK_MODULES([NDCTL], [libndctl >= 58.4])
- # new versions of libndctl new modes
- AS_IF([$PKG_CONFIG --atleast-version=60 libndctl],
-- [AC_DEFINE([LIBNDCTL_NEW_MODES])], [])]
-+ [AC_DEFINE([LIBNDCTL_NEW_MODES], [1], [new version of libndctl new modes])], [])]
- [])
-
- AS_IF([test "x$with_vdo" != "xno"],
---
-2.7.4
-
diff --git a/meta-oe/recipes-extended/libblockdev/libblockdev_2.18.bb b/meta-oe/recipes-extended/libblockdev/libblockdev_2.18.bb
index 5a8b697..bf33b96 100644
--- a/meta-oe/recipes-extended/libblockdev/libblockdev_2.18.bb
+++ b/meta-oe/recipes-extended/libblockdev/libblockdev_2.18.bb
@@ -19,7 +19,6 @@ DEPENDS += " \
SRCREV = "0debeb45562ac3d8f6f43f6f942b238abab55be9"
SRC_URI = " \
git://github.com/rhinstaller/libblockdev;branch=master \
- file://0001-fix-configure-and-compile-failures.patch \
"
S = "${WORKDIR}/git"
--
2.7.4
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [meta-python][PATCH 5/5] python3-blivet: add `-Z y' and `-y' to lvm.pvcreate
2018-08-13 16:22 [PATCH 0/5] misc fixes Hongxu Jia
` (3 preceding siblings ...)
2018-08-13 16:22 ` [meta-oe][PATCH 4/5] libblockdev: drop obsolete patch Hongxu Jia
@ 2018-08-13 16:22 ` Hongxu Jia
4 siblings, 0 replies; 12+ messages in thread
From: Hongxu Jia @ 2018-08-13 16:22 UTC (permalink / raw)
To: raj.khem; +Cc: openembedded-devel
While reinstall a crypt fs, it occasionally failed
[snip]
|gi.overrides.BlockDev.LVMError: Process reported exit code 5:
WARNING: atari signature detected on /dev/mapper/luks-0e5f891c
-7701-48bc-a41e-8d626b6ef953 at offset 466. Wipe it? [y/n]:
[snip]
Add `-Z y' and `-y' to lvm.pvcreate
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
.../0013-add-Z-y-and-y-to-lvm.pvcreate.patch | 41 ++++++++++++++++++++++
.../python-blivet/python3-blivet_3.0.1.bb | 1 +
2 files changed, 42 insertions(+)
create mode 100644 meta-python/recipes-extended/python-blivet/python3-blivet/0013-add-Z-y-and-y-to-lvm.pvcreate.patch
diff --git a/meta-python/recipes-extended/python-blivet/python3-blivet/0013-add-Z-y-and-y-to-lvm.pvcreate.patch b/meta-python/recipes-extended/python-blivet/python3-blivet/0013-add-Z-y-and-y-to-lvm.pvcreate.patch
new file mode 100644
index 0000000..33b5f51
--- /dev/null
+++ b/meta-python/recipes-extended/python-blivet/python3-blivet/0013-add-Z-y-and-y-to-lvm.pvcreate.patch
@@ -0,0 +1,41 @@
+From bddbfa499df16b108f2d892ee48d65617523c33d Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 9 Aug 2018 11:00:39 +0800
+Subject: [PATCH] add `-Z y' and `-y' to lvm.pvcreate
+
+While reinstall a crypt fs, it occasionally failed
+[snip]
+|gi.overrides.BlockDev.LVMError: Process reported exit code 5:
+WARNING: atari signature detected on /dev/mapper/luks-0e5f891c
+-7701-48bc-a41e-8d626b6ef953 at offset 466. Wipe it? [y/n]:
+[snip]
+
+Add `-Z y' and `-y' to lvm.pvcreate
+
+Upstream-Status: Submitted [https://github.com/storaged-project/blivet/pull/714]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/formats/lvmpv.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/blivet/formats/lvmpv.py b/blivet/formats/lvmpv.py
+index 260cc0b..4bbb46f 100644
+--- a/blivet/formats/lvmpv.py
++++ b/blivet/formats/lvmpv.py
+@@ -120,9 +120,9 @@ class LVMPhysicalVolume(DeviceFormat):
+ log_method_call(self, device=self.device,
+ type=self.type, status=self.status)
+
+- # Consider use of -Z|--zero
+- # -f|--force or -y|--yes may be required
+- blockdev.lvm.pvcreate(self.device, data_alignment=self.data_alignment)
++ ea_zero = blockdev.ExtraArg.new("-Z", "y")
++ ea_yes = blockdev.ExtraArg.new("-y", "")
++ blockdev.lvm.pvcreate(self.device, data_alignment=self.data_alignment, extra=[ea_zero, ea_yes])
+
+ def _destroy(self, **kwargs):
+ log_method_call(self, device=self.device,
+--
+2.7.4
+
diff --git a/meta-python/recipes-extended/python-blivet/python3-blivet_3.0.1.bb b/meta-python/recipes-extended/python-blivet/python3-blivet_3.0.1.bb
index 5fcbd88..75f02f1 100644
--- a/meta-python/recipes-extended/python-blivet/python3-blivet_3.0.1.bb
+++ b/meta-python/recipes-extended/python-blivet/python3-blivet_3.0.1.bb
@@ -22,6 +22,7 @@ SRC_URI = "git://github.com/rhinstaller/blivet;branch=3.1-release \
file://0010-invoking-mkfs-with-infinite-timeout.patch \
file://0011-invoking-dd-with-infinite-timeout.patch \
file://0012-remove-dmraid-dependency-check.patch \
+ file://0013-add-Z-y-and-y-to-lvm.pvcreate.patch \
"
UPSTREAM_CHECK_GITTAGREGEX = "blivet-(?P<pver>\d+(\.\d+)+)$"
--
2.7.4
^ permalink raw reply related [flat|nested] 12+ messages in thread
* [PATCH 0/5] MISC fixes
@ 2021-07-16 15:36 Oak Zeng
0 siblings, 0 replies; 12+ messages in thread
From: Oak Zeng @ 2021-07-16 15:36 UTC (permalink / raw)
To: amd-gfx; +Cc: feifei.xu, Felix.Kuehling, leo.liu, Oak Zeng, hawking.zhang
Oak Zeng (5):
drm/amdgpu: Fix a printing message
drm/amdgpu: Change a few function names
drm/amdkfd: Renaming dqm->packets to dqm->packet_mgr
drm/amdkfd: Set priv_queue to NULL after it is freed
drm/amdkfd: Fix a concurrency issue during kfd recovery
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 16 ++++-----
drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c | 2 +-
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c | 2 +-
drivers/gpu/drm/amd/amdkfd/kfd_device.c | 8 +----
.../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 38 +++++++++++++---------
.../gpu/drm/amd/amdkfd/kfd_device_queue_manager.h | 2 +-
drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c | 4 +++
drivers/gpu/drm/amd/amdkfd/kfd_priv.h | 2 +-
drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 2 +-
11 files changed, 42 insertions(+), 38 deletions(-)
--
2.7.4
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 0/5] MISC fixes
@ 2021-07-16 1:34 Oak Zeng
0 siblings, 0 replies; 12+ messages in thread
From: Oak Zeng @ 2021-07-16 1:34 UTC (permalink / raw)
To: amd-gfx; +Cc: feifei.xu, Felix.Kuehling, leo.liu, Oak Zeng, hawking.zhang
Oak Zeng (5):
drm/amdgpu: Fix a printing message
drm/amdgpu: Change a few function names
drm/amdkfd: Renaming dqm->packets to dqm->dpm
drm/amdkfd: Set priv_queue to NULL after it is freed
drm/amdkfd: Fix a concurrency issue during kfd recovery
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 16 +++++-----
drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c | 2 +-
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c | 2 +-
drivers/gpu/drm/amd/amdkfd/kfd_device.c | 8 +----
.../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 36 +++++++++++++---------
.../gpu/drm/amd/amdkfd/kfd_device_queue_manager.h | 2 +-
drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c | 4 +++
drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 2 +-
10 files changed, 40 insertions(+), 36 deletions(-)
--
2.7.4
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 0/5] MISC fixes
@ 2021-07-16 1:25 Oak Zeng
0 siblings, 0 replies; 12+ messages in thread
From: Oak Zeng @ 2021-07-16 1:25 UTC (permalink / raw)
To: amd-gfx; +Cc: feifei.xu, Felix.Kuehling, leo.liu, Oak Zeng, hawking.zhang
Oak Zeng (5):
drm/amdgpu: Fix a printing message
drm/amdgpu: Change a few function names
drm/amdkfd: Renaming dqm->packets to dqm->dpm
drm/amdkfd: Set priv_queue to NULL after it is freed
drm/amdkfd: Fix a concurrency issue during kfd recovery
drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c | 16 +++++-----
drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c | 2 +-
drivers/gpu/drm/amd/amdgpu/vcn_v2_5.c | 2 +-
drivers/gpu/drm/amd/amdgpu/vcn_v3_0.c | 2 +-
drivers/gpu/drm/amd/amdkfd/kfd_device.c | 8 +----
.../gpu/drm/amd/amdkfd/kfd_device_queue_manager.c | 36 +++++++++++++---------
.../gpu/drm/amd/amdkfd/kfd_device_queue_manager.h | 2 +-
drivers/gpu/drm/amd/amdkfd/kfd_packet_manager.c | 4 +++
drivers/gpu/drm/amd/amdkfd/kfd_topology.c | 2 +-
10 files changed, 40 insertions(+), 36 deletions(-)
--
2.7.4
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 0/5] Misc fixes
@ 2015-08-20 8:31 Paul Eggleton
0 siblings, 0 replies; 12+ messages in thread
From: Paul Eggleton @ 2015-08-20 8:31 UTC (permalink / raw)
To: openembedded-core
Generally I prefer to avoid lumping a bunch of unrelated fixes together,
but I've been hanging onto these for a couple of weeks now and I'm not
sure when I'll have any related changes to send them with, so here they
are now.
The following changes since commit c38acd720b3f6ffbeb544063692eb471dada8593:
binconfig-disabled: write an message to stderr to help confused developers (2015-08-19 17:57:58 +0100)
are available in the git repository at:
git://git.openembedded.org/openembedded-core-contrib paule/oecore-fixes
http://cgit.openembedded.org/cgit.cgi/openembedded-core-contrib/log/?h=paule/oecore-fixes
Paul Eggleton (5):
scripts/create-recipe: drop
classes/insane: fix QA check message referring to nativesdk
oe-selftest: replace assertTrue(False, ...) with fail(...)
hello-mod: drop PV and PR
service: tweak example recipe
.../recipes-kernel/hello-mod/hello-mod_0.1.bb | 3 -
.../recipes-skeleton/service/service_0.1.bb | 7 +-
meta/classes/insane.bbclass | 2 +-
meta/lib/oeqa/selftest/devtool.py | 2 +-
meta/lib/oeqa/selftest/recipetool.py | 4 +-
scripts/create-recipe | 2071 --------------------
6 files changed, 7 insertions(+), 2082 deletions(-)
delete mode 100755 scripts/create-recipe
--
2.1.0
^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [PATCH 0/5] Misc fixes
2011-11-04 18:20 Otavio Salvador
@ 2011-11-08 22:59 ` Saul Wold
0 siblings, 0 replies; 12+ messages in thread
From: Saul Wold @ 2011-11-08 22:59 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
On 11/04/2011 11:20 AM, Otavio Salvador wrote:
> The following changes since commit e3c003282afb93ec52882496400b042620ab00ef:
>
> rt-tests: update to 0.83 (2011-11-04 15:43:19 +0000)
>
> are available in the git repository at:
> git://github.com/OSSystems/oe-core master
> https://github.com/OSSystems/oe-core/tree/HEAD
>
> Otavio Salvador (5):
> libcap: fix sstate for native package
> files/device_table-minimal.txt: add /dev/kmsg
> dhcp: drop unused dhcp3.inc file
> dhcp: rename dhcp4.inc to dhcp.inc
> dhcp: move server configuration to dhcp-server-config
>
> meta/files/device_table-minimal.txt | 1 +
> .../dhcp/{dhcp4.inc => dhcp.inc} | 10 +++-
> meta/recipes-connectivity/dhcp/dhcp3.inc | 49 --------------------
> meta/recipes-connectivity/dhcp/dhcp_4.2.0.bb | 4 +-
> meta/recipes-support/libcap/libcap.inc | 15 +++++-
> meta/recipes-support/libcap/libcap_2.22.bb | 2 +-
> 6 files changed, 24 insertions(+), 57 deletions(-)
> rename meta/recipes-connectivity/dhcp/{dhcp4.inc => dhcp.inc} (91%)
> delete mode 100644 meta/recipes-connectivity/dhcp/dhcp3.inc
>
Merged to OE-Core
Thanks
Sau!
^ permalink raw reply [flat|nested] 12+ messages in thread
* [PATCH 0/5] Misc fixes
@ 2011-11-04 18:20 Otavio Salvador
2011-11-08 22:59 ` Saul Wold
0 siblings, 1 reply; 12+ messages in thread
From: Otavio Salvador @ 2011-11-04 18:20 UTC (permalink / raw)
To: openembedded-core
The following changes since commit e3c003282afb93ec52882496400b042620ab00ef:
rt-tests: update to 0.83 (2011-11-04 15:43:19 +0000)
are available in the git repository at:
git://github.com/OSSystems/oe-core master
https://github.com/OSSystems/oe-core/tree/HEAD
Otavio Salvador (5):
libcap: fix sstate for native package
files/device_table-minimal.txt: add /dev/kmsg
dhcp: drop unused dhcp3.inc file
dhcp: rename dhcp4.inc to dhcp.inc
dhcp: move server configuration to dhcp-server-config
meta/files/device_table-minimal.txt | 1 +
.../dhcp/{dhcp4.inc => dhcp.inc} | 10 +++-
meta/recipes-connectivity/dhcp/dhcp3.inc | 49 --------------------
meta/recipes-connectivity/dhcp/dhcp_4.2.0.bb | 4 +-
meta/recipes-support/libcap/libcap.inc | 15 +++++-
meta/recipes-support/libcap/libcap_2.22.bb | 2 +-
6 files changed, 24 insertions(+), 57 deletions(-)
rename meta/recipes-connectivity/dhcp/{dhcp4.inc => dhcp.inc} (91%)
delete mode 100644 meta/recipes-connectivity/dhcp/dhcp3.inc
--
1.7.2.5
^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2021-07-16 15:37 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-08-13 16:22 [PATCH 0/5] misc fixes Hongxu Jia
2018-08-13 16:22 ` [meta-python][PATCH 1/5] python3-pydbus: cherry-pick patches from fedora Hongxu Jia
2018-08-13 16:22 ` [meta-python][PATCH 2/5] python-pykickstart: fix typo Hongxu Jia
2018-08-13 16:22 ` [meta-python][PATCH 3/5] python3-blivet: remove dmraid from dependency check Hongxu Jia
2018-08-13 16:22 ` [meta-oe][PATCH 4/5] libblockdev: drop obsolete patch Hongxu Jia
2018-08-13 16:22 ` [meta-python][PATCH 5/5] python3-blivet: add `-Z y' and `-y' to lvm.pvcreate Hongxu Jia
-- strict thread matches above, loose matches on Subject: below --
2021-07-16 15:36 [PATCH 0/5] MISC fixes Oak Zeng
2021-07-16 1:34 Oak Zeng
2021-07-16 1:25 Oak Zeng
2015-08-20 8:31 [PATCH 0/5] Misc fixes Paul Eggleton
2011-11-04 18:20 Otavio Salvador
2011-11-08 22:59 ` Saul Wold
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.