summaryrefslogtreecommitdiffstats
path: root/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet
diff options
context:
space:
mode:
authorToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp>2020-03-30 09:24:26 +0900
committerToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp>2020-03-30 09:24:26 +0900
commit5b80bfd7bffd4c20d80b7c70a7130529e9a755dd (patch)
treeb4bb18dcd1487dbf1ea8127e5671b7bb2eded033 /external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet
parent706ad73eb02caf8532deaf5d38995bd258725cb8 (diff)
agl-basesystem
Diffstat (limited to 'external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet')
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0001-comment-out-selinux.patch70
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0002-run_program-support-timeout.patch102
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0003-support-infinit-timeout.patch66
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-fix-new.roots-object-is-not-iterable.patch28
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-fix-incorrect-timeout-while-system-time-changed.patch48
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-tweak-btrfs-packages.patch45
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-invoking-mount-with-infinite-timeout.patch31
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-use-oe-variable-to-replace-hardcoded-dir.patch34
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-fsck-with-infinite-timeout.patch31
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-invoking-mkfs-with-infinite-timeout.patch31
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-dd-with-infinite-timeout.patch31
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0012-remove-dmraid-dependency-check.patch31
-rw-r--r--external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0013-add-Z-y-and-y-to-lvm.pvcreate.patch41
13 files changed, 589 insertions, 0 deletions
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0001-comment-out-selinux.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0001-comment-out-selinux.patch
new file mode 100644
index 00000000..c77b86a4
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0001-comment-out-selinux.patch
@@ -0,0 +1,70 @@
+From 648a18bfc447f076d48ae4147d984b8ef56e37aa Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 30 Jul 2018 16:13:40 +0800
+Subject: [PATCH 01/11] comment out selinux
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/flags.py | 5 +++--
+ blivet/util.py | 6 +++++-
+ 2 files changed, 8 insertions(+), 3 deletions(-)
+
+diff --git a/blivet/flags.py b/blivet/flags.py
+index 1840121..8789390 100644
+--- a/blivet/flags.py
++++ b/blivet/flags.py
+@@ -20,7 +20,7 @@
+ #
+
+ import shlex
+-import selinux
++#import selinux
+
+
+ class Flags(object):
+@@ -47,7 +47,8 @@ class Flags(object):
+ #
+ # enable/disable functionality
+ #
+- self.selinux = selinux.is_selinux_enabled()
++ #self.selinux = selinux.is_selinux_enabled()
++ self.selinux = False
+ self.multipath = True
+ self.dmraid = True
+ self.ibft = True
+diff --git a/blivet/util.py b/blivet/util.py
+index 7334ff6..0f2a995 100644
+--- a/blivet/util.py
++++ b/blivet/util.py
+@@ -3,7 +3,7 @@ import functools
+ import glob
+ import itertools
+ import os
+-import selinux
++#import selinux
+ import subprocess
+ import re
+ import sys
+@@ -430,6 +430,8 @@ def get_cow_sysfs_path(dev_path, dev_sysfsPath):
+ def match_path_context(path):
+ """ Return the default SELinux context for the given path. """
+ context = None
++ return context
++
+ try:
+ context = selinux.matchpathcon(os.path.normpath(path), 0)[1]
+ except OSError as e:
+@@ -454,6 +456,8 @@ def set_file_context(path, context, root=None):
+
+ True if successful, False if not.
+ """
++ return False
++
+ if root is None:
+ root = '/'
+
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0002-run_program-support-timeout.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0002-run_program-support-timeout.patch
new file mode 100644
index 00000000..fea22540
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0002-run_program-support-timeout.patch
@@ -0,0 +1,102 @@
+From 596979ed58109141a7fee680ab95b27296c022b1 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 8 May 2017 14:39:56 +0800
+Subject: [PATCH 02/11] run_program support timeout
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/util.py | 68 +++++++++++++++++++++++++++++++++-------------------------
+ 1 file changed, 39 insertions(+), 29 deletions(-)
+
+diff --git a/blivet/util.py b/blivet/util.py
+index 0f2a995..05a253c 100644
+--- a/blivet/util.py
++++ b/blivet/util.py
+@@ -157,6 +157,30 @@ class Path(str):
+ def __hash__(self):
+ return self._path.__hash__()
+
++def timeout_command(argv, timeout, *args, **kwargs):
++ """call shell-command and either return its output or kill it
++ if it doesn't normally exit within timeout seconds and return None"""
++ import subprocess, datetime, os, time, signal
++ start = datetime.datetime.now()
++
++ try:
++ proc = subprocess.Popen(argv, *args, **kwargs)
++ while proc.poll() is None:
++ time.sleep(0.1)
++ now = datetime.datetime.now()
++ if (now - start).seconds> timeout:
++ os.kill(proc.pid, signal.SIGKILL)
++ os.waitpid(-1, os.WNOHANG)
++ program_log.debug("%d seconds timeout" % timeout)
++ return (-1, None)
++
++
++ except OSError as e:
++ program_log.error("Error running %s: %s", argv[0], e.strerror)
++ raise
++
++ program_log.debug("Return code: %d", proc.returncode)
++ return (proc.returncode, proc.stdout.read())
+
+ def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=False, binary_output=False):
+ if env_prune is None:
+@@ -179,36 +203,22 @@ def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=Fa
+ stderr_dir = subprocess.STDOUT
+ else:
+ stderr_dir = subprocess.PIPE
+- try:
+- proc = subprocess.Popen(argv,
+- stdin=stdin,
+- stdout=subprocess.PIPE,
+- stderr=stderr_dir,
+- close_fds=True,
+- preexec_fn=chroot, cwd=root, env=env)
+-
+- out, err = proc.communicate()
+- if not binary_output and six.PY3:
+- out = out.decode("utf-8")
+- if out:
+- if not stderr_to_stdout:
+- program_log.info("stdout:")
+- for line in out.splitlines():
+- program_log.info("%s", line)
+-
+- if not stderr_to_stdout and err:
+- program_log.info("stderr:")
+- for line in err.splitlines():
+- program_log.info("%s", line)
+-
+- except OSError as e:
+- program_log.error("Error running %s: %s", argv[0], e.strerror)
+- raise
+-
+- program_log.debug("Return code: %d", proc.returncode)
+-
+- return (proc.returncode, out)
+
++ res, out = timeout_command(argv, 10,
++ stdin=stdin,
++ stdout=subprocess.PIPE,
++ stderr=stderr_dir,
++ close_fds=True,
++ preexec_fn=chroot, cwd=root, env=env)
++ if not binary_output and six.PY3:
++ out = out.decode("utf-8")
++ if out:
++ if not stderr_to_stdout:
++ program_log.info("stdout:")
++ for line in out.splitlines():
++ program_log.info("%s", line)
++
++ return (res, out)
+
+ def run_program(*args, **kwargs):
+ return _run_program(*args, **kwargs)[0]
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0003-support-infinit-timeout.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0003-support-infinit-timeout.patch
new file mode 100644
index 00000000..38f061ed
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0003-support-infinit-timeout.patch
@@ -0,0 +1,66 @@
+From 325898f3f2951bbde07da47888175c427b11ddc3 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 8 May 2017 16:18:02 +0800
+Subject: [PATCH 03/11] support infinit timeout
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/util.py | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/blivet/util.py b/blivet/util.py
+index 05a253c..d6804be 100644
+--- a/blivet/util.py
++++ b/blivet/util.py
+@@ -157,6 +157,7 @@ class Path(str):
+ def __hash__(self):
+ return self._path.__hash__()
+
++# timeout = -1 means infinite timeout, always wait.
+ def timeout_command(argv, timeout, *args, **kwargs):
+ """call shell-command and either return its output or kill it
+ if it doesn't normally exit within timeout seconds and return None"""
+@@ -168,7 +169,7 @@ def timeout_command(argv, timeout, *args, **kwargs):
+ while proc.poll() is None:
+ time.sleep(0.1)
+ now = datetime.datetime.now()
+- if (now - start).seconds> timeout:
++ if timeout != -1 and (now - start).seconds> timeout:
+ os.kill(proc.pid, signal.SIGKILL)
+ os.waitpid(-1, os.WNOHANG)
+ program_log.debug("%d seconds timeout" % timeout)
+@@ -182,7 +183,7 @@ def timeout_command(argv, timeout, *args, **kwargs):
+ program_log.debug("Return code: %d", proc.returncode)
+ return (proc.returncode, proc.stdout.read())
+
+-def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=False, binary_output=False):
++def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=False, binary_output=False, timeout=10):
+ if env_prune is None:
+ env_prune = []
+
+@@ -191,7 +192,10 @@ def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=Fa
+ os.chroot(root)
+
+ with program_log_lock: # pylint: disable=not-context-manager
+- program_log.info("Running... %s", " ".join(argv))
++ if timeout != -1:
++ program_log.info("Running... %s", " ".join(argv))
++ else:
++ program_log.info("Running... %s ...infinite timeout", " ".join(argv))
+
+ env = os.environ.copy()
+ env.update({"LC_ALL": "C",
+@@ -204,7 +208,7 @@ def _run_program(argv, root='/', stdin=None, env_prune=None, stderr_to_stdout=Fa
+ else:
+ stderr_dir = subprocess.PIPE
+
+- res, out = timeout_command(argv, 10,
++ res, out = timeout_command(argv, timeout,
+ stdin=stdin,
+ stdout=subprocess.PIPE,
+ stderr=stderr_dir,
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-fix-new.roots-object-is-not-iterable.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-fix-new.roots-object-is-not-iterable.patch
new file mode 100644
index 00000000..be997ac4
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0004-fix-new.roots-object-is-not-iterable.patch
@@ -0,0 +1,28 @@
+From c31df1c0f5323ddc70e0d1c6d11db2fbf7a024ad Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 8 May 2017 16:30:20 +0800
+Subject: [PATCH 04/11] fix new.roots object is not iterable
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/blivet.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/blivet/blivet.py b/blivet/blivet.py
+index 3405810..f42b73b 100644
+--- a/blivet/blivet.py
++++ b/blivet/blivet.py
+@@ -1198,7 +1198,7 @@ class Blivet(object):
+ p = partition.disk.format.parted_disk.getPartitionByPath(partition.path)
+ partition.parted_partition = p
+
+- for root in new.roots:
++ for root in new.roots or []:
+ root.swaps = [new.devicetree.get_device_by_id(d.id, hidden=True) for d in root.swaps]
+ root.swaps = [s for s in root.swaps if s]
+
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-fix-incorrect-timeout-while-system-time-changed.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-fix-incorrect-timeout-while-system-time-changed.patch
new file mode 100644
index 00000000..ecb95039
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0005-fix-incorrect-timeout-while-system-time-changed.patch
@@ -0,0 +1,48 @@
+From b30a74671ca603e6bfd514f72d4fd7fd6fceef54 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 26 Aug 2016 02:02:49 -0400
+Subject: [PATCH 05/11] fix incorrect timeout while system time changed
+
+While system time changed by NTP, invoking timeout_command
+breaks with incorrect timeout.
+--------
+|05:40:55,872 INFO program: Running... mount -t ext2 -o
+ defaults,ro /dev/sda2 /mnt/sysimage
+|01:40:55,086 DEBUG program: 10 seconds timeout
+--------
+
+Use numbert count to replace current time count could workaround
+the issue.
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/util.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/blivet/util.py b/blivet/util.py
+index d6804be..bc08af5 100644
+--- a/blivet/util.py
++++ b/blivet/util.py
+@@ -162,14 +162,14 @@ def timeout_command(argv, timeout, *args, **kwargs):
+ """call shell-command and either return its output or kill it
+ if it doesn't normally exit within timeout seconds and return None"""
+ import subprocess, datetime, os, time, signal
+- start = datetime.datetime.now()
++ count = 0
+
+ try:
+ proc = subprocess.Popen(argv, *args, **kwargs)
+ while proc.poll() is None:
+ time.sleep(0.1)
+- now = datetime.datetime.now()
+- if timeout != -1 and (now - start).seconds> timeout:
++ count += 1
++ if timeout != -1 and count > timeout*10:
+ os.kill(proc.pid, signal.SIGKILL)
+ os.waitpid(-1, os.WNOHANG)
+ program_log.debug("%d seconds timeout" % timeout)
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-tweak-btrfs-packages.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-tweak-btrfs-packages.patch
new file mode 100644
index 00000000..da568a4b
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0006-tweak-btrfs-packages.patch
@@ -0,0 +1,45 @@
+From 0659d8a85bcdd76c0b23b8b5af6958783d35ac65 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 8 May 2017 16:33:15 +0800
+Subject: [PATCH 06/11] tweak btrfs packages
+
+In oe-cre/yocto, we name btrfs package with btrfs-tools,
+rather than btrfs-progs.
+
+Upstream-Status: Inappropriate [oe specific]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/devices/btrfs.py | 2 +-
+ blivet/formats/fs.py | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/blivet/devices/btrfs.py b/blivet/devices/btrfs.py
+index cada940..7e4d4b8 100644
+--- a/blivet/devices/btrfs.py
++++ b/blivet/devices/btrfs.py
+@@ -55,7 +55,7 @@ class BTRFSDevice(StorageDevice):
+
+ """ Base class for BTRFS volume and sub-volume devices. """
+ _type = "btrfs"
+- _packages = ["btrfs-progs"]
++ _packages = ["btrfs-tools"]
+ _external_dependencies = [availability.BLOCKDEV_BTRFS_PLUGIN]
+
+ def __init__(self, *args, **kwargs):
+diff --git a/blivet/formats/fs.py b/blivet/formats/fs.py
+index 81e367f..55e5d57 100644
+--- a/blivet/formats/fs.py
++++ b/blivet/formats/fs.py
+@@ -926,7 +926,7 @@ class BTRFS(FS):
+ _formattable = True
+ _linux_native = True
+ _supported = True
+- _packages = ["btrfs-progs"]
++ _packages = ["btrfs-tools"]
+ _min_size = Size("256 MiB")
+ _max_size = Size("16 EiB")
+ _mkfs_class = fsmkfs.BTRFSMkfs
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-invoking-mount-with-infinite-timeout.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-invoking-mount-with-infinite-timeout.patch
new file mode 100644
index 00000000..e3012194
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0007-invoking-mount-with-infinite-timeout.patch
@@ -0,0 +1,31 @@
+From 9c7a15312259854f12137a30229e52c30fb7c770 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Wed, 31 Aug 2016 21:30:32 -0400
+Subject: [PATCH 07/11] invoking mount with infinite timeout
+
+This large timeout is needed when running on machines with
+lots of disks, or with slow disks.
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/util.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/blivet/util.py b/blivet/util.py
+index bc08af5..b672787 100644
+--- a/blivet/util.py
++++ b/blivet/util.py
+@@ -256,7 +256,7 @@ def mount(device, mountpoint, fstype, options=None):
+
+ argv = ["mount", "-t", fstype, "-o", options, device, mountpoint]
+ try:
+- rc = run_program(argv)
++ rc = run_program(argv, timeout=-1)
+ except OSError:
+ raise
+
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-use-oe-variable-to-replace-hardcoded-dir.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-use-oe-variable-to-replace-hardcoded-dir.patch
new file mode 100644
index 00000000..feb5647c
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0008-use-oe-variable-to-replace-hardcoded-dir.patch
@@ -0,0 +1,34 @@
+From 7f57b2cd145d67c20beb02d5495b502f7af012cd Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Mon, 8 May 2017 03:54:12 -0400
+Subject: [PATCH 08/11] use oe variable to replace hardcoded dir
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ setup.py | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 7edab2c..9be3187 100644
+--- a/setup.py
++++ b/setup.py
+@@ -61,10 +61,10 @@ class blivet_sdist(sdist):
+
+
+ data_files = [
+- ('/etc/dbus-1/system.d', ['dbus/blivet.conf']),
+- ('/usr/share/dbus-1/system-services', ['dbus/com.redhat.Blivet1.service']),
+- ('/usr/libexec', ['dbus/blivetd']),
+- ('/usr/lib/systemd/system', ['dbus/blivet.service'])
++ (os.environ.get('sysconfdir')+'/dbus-1/system.d', ['dbus/blivet.conf']),
++ (os.environ.get('datadir')+'/dbus-1/system-services', ['dbus/com.redhat.Blivet1.service']),
++ (os.environ.get('libexecdir'), ['dbus/blivetd']),
++ (os.environ.get('systemd_system_unitdir'), ['dbus/blivet.service'])
+ ]
+
+
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-fsck-with-infinite-timeout.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-fsck-with-infinite-timeout.patch
new file mode 100644
index 00000000..30d2d3ec
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0009-invoking-fsck-with-infinite-timeout.patch
@@ -0,0 +1,31 @@
+From c757666f42f543baeed5df61269798c085665d9b Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Thu, 1 Jun 2017 16:05:27 +0800
+Subject: [PATCH 09/11] invoking fsck with infinite timeout
+
+This large timeout is needed when running on machines with
+lots of disks, or with slow disks.
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/tasks/fsck.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/blivet/tasks/fsck.py b/blivet/tasks/fsck.py
+index 5274f13..6e074c4 100644
+--- a/blivet/tasks/fsck.py
++++ b/blivet/tasks/fsck.py
+@@ -77,7 +77,7 @@ class FSCK(task.BasicApplication, fstask.FSTask):
+ raise FSError("\n".join(error_msgs))
+
+ try:
+- rc = util.run_program(self._fsck_command)
++ rc = util.run_program(self._fsck_command, timeout=-1)
+ except OSError as e:
+ raise FSError("filesystem check failed: %s" % e)
+
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-invoking-mkfs-with-infinite-timeout.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-invoking-mkfs-with-infinite-timeout.patch
new file mode 100644
index 00000000..b2f45014
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0010-invoking-mkfs-with-infinite-timeout.patch
@@ -0,0 +1,31 @@
+From 42d8e57c748951098534bf7f52c4ebc790ef66e9 Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Fri, 16 Jun 2017 15:43:00 +0800
+Subject: [PATCH 10/11] invoking mkfs with infinite timeout
+
+This large timeout is needed when running on machines with
+lots of disks, or with slow disks.
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/tasks/fsmkfs.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/blivet/tasks/fsmkfs.py b/blivet/tasks/fsmkfs.py
+index ad166aa..7bf5075 100644
+--- a/blivet/tasks/fsmkfs.py
++++ b/blivet/tasks/fsmkfs.py
+@@ -170,7 +170,7 @@ class FSMkfs(task.BasicApplication, FSMkfsTask):
+ options = options or []
+ cmd = self._mkfs_command(options, label, set_uuid)
+ try:
+- ret = util.run_program(cmd)
++ ret = util.run_program(cmd, timeout=-1)
+ except OSError as e:
+ raise FSError(e)
+
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-dd-with-infinite-timeout.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-dd-with-infinite-timeout.patch
new file mode 100644
index 00000000..f24ce0a8
--- /dev/null
+++ b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0011-invoking-dd-with-infinite-timeout.patch
@@ -0,0 +1,31 @@
+From a4753b3cbbd5aee59dc53eb16564cafd9862763e Mon Sep 17 00:00:00 2001
+From: Hongxu Jia <hongxu.jia@windriver.com>
+Date: Tue, 6 Mar 2018 17:28:56 +0800
+Subject: [PATCH 11/11] invoking dd with infinite timeout
+
+This large timeout is needed when running on machines with
+lots of disks, or with slow disks.
+
+Upstream-Status: Pending
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ blivet/devices/partition.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/blivet/devices/partition.py b/blivet/devices/partition.py
+index 47ff547..0cd1614 100644
+--- a/blivet/devices/partition.py
++++ b/blivet/devices/partition.py
+@@ -621,7 +621,7 @@ class PartitionDevice(StorageDevice):
+ cmd = ["dd", "if=/dev/zero", "of=%s" % device, "bs=%d" % bs,
+ "seek=%d" % start, "count=%d" % count]
+ try:
+- util.run_program(cmd)
++ util.run_program(cmd, timeout=-1)
+ except OSError as e:
+ log.error(str(e))
+ finally:
+--
+2.7.4
+
diff --git a/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0012-remove-dmraid-dependency-check.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0012-remove-dmraid-dependency-check.patch
new file mode 100644
index 00000000..886e3ff9
--- /dev/null
+++ b/external/meta-openembedded/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/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0013-add-Z-y-and-y-to-lvm.pvcreate.patch b/external/meta-openembedded/meta-python/recipes-extended/python-blivet/python3-blivet/0013-add-Z-y-and-y-to-lvm.pvcreate.patch
new file mode 100644
index 00000000..33b5f51f
--- /dev/null
+++ b/external/meta-openembedded/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
+