[PATCH 2/2] Adapt to blivet's libblockdev-related changes

Anne Mulhern amulhern at redhat.com
Mon Feb 2 14:42:32 UTC 2015





----- Original Message -----
> From: "Vratislav Podzimek" <vpodzime at redhat.com>
> To: anaconda-patches at lists.fedorahosted.org
> Sent: Sunday, February 1, 2015 7:21:16 PM
> Subject: [PATCH 2/2] Adapt to blivet's libblockdev-related changes
> 
> The getPossiblePhysicalExtents() function is no longer provided by blivet's
> devicelibs/lvm.py module and we should now use libblockdev.
> 
> Signed-off-by: Vratislav Podzimek <vpodzime at redhat.com>
> ---
>  anaconda.spec.in        |  3 +++
>  pyanaconda/kickstart.py | 12 +++++++++++-
>  2 files changed, 14 insertions(+), 1 deletion(-)
> 
> diff --git a/anaconda.spec.in b/anaconda.spec.in
> index dc627e2..483fb37 100644
> --- a/anaconda.spec.in
> +++ b/anaconda.spec.in
> @@ -42,6 +42,7 @@ Source0: %{name}-%{version}.tar.bz2
>  %define libxklavierver 5.4
>  %define libtimezonemapver 0.4.1-2
>  %define helpver 22.1-1
> +%define libblockdevver 0.5
>  
>  BuildRequires: audit-libs-devel
>  BuildRequires: gettext >= %{gettextver}
> @@ -139,6 +140,8 @@ Requires: iscsi-initiator-utils >= %{iscsiver}
>  Requires: hfsplus-tools
>  %endif
>  %endif
> +Requires: libblockdev >= %{libblockdevver}
> +Requires: libblockdev-plugins-all >= %{libblockdevver}
>  
>  Requires: python-coverage
>  
> diff --git a/pyanaconda/kickstart.py b/pyanaconda/kickstart.py
> index dda3552..86f7fcb 100644
> --- a/pyanaconda/kickstart.py
> +++ b/pyanaconda/kickstart.py
> @@ -21,7 +21,7 @@
>  from pyanaconda.errors import ScriptError, errorHandler
>  from blivet.deviceaction import ActionCreateFormat, ActionDestroyFormat,
>  ActionResizeDevice, ActionResizeFormat
>  from blivet.devices import LUKSDevice
> -from blivet.devicelibs.lvm import getPossiblePhysicalExtents, LVM_PE_SIZE,
> KNOWN_THPOOL_PROFILES
> +from blivet.devicelibs.lvm import LVM_PE_SIZE, KNOWN_THPOOL_PROFILES
>  from blivet.devicelibs.crypto import MIN_CREATE_ENTROPY
>  from blivet.formats import getFormat
>  from blivet.partitioning import doPartitioning
> @@ -77,6 +77,16 @@ storage_log = logging.getLogger("blivet")
>  stdoutLog = logging.getLogger("anaconda.stdout")
>  from pyanaconda.anaconda_log import logger, logLevelMap, setHandlersLevel,
>  DEFAULT_LEVEL
>  
> +program_log = logging.getLogger("program")
> +
> +# XXX: respect the level? Need to translate between C and Python log levels.
> +log_bd_message = lambda level, msg: program_log.info(msg)
> +
> +from gi.repository import BlockDev
> +if not BlockDev.is_initialized():
> +    # for now, we want all the plugins to be available (i.e. init() to
> return True)
> +    assert BlockDev.init(force_plugins=None, log_func=log_bd_message)
> +
>  class AnacondaKSScript(KSScript):
>      """ Execute a kickstart script
>  
> --
> 2.1.0
> 
> _______________________________________________
> anaconda-patches mailing list
> anaconda-patches at lists.fedorahosted.org
> https://lists.fedorahosted.org/mailman/listinfo/anaconda-patches
> 

Is there any way to remove anaconda's direct dependence on libblockdev?

I was hoping it could all be indirect, through blivet.

- mulhern




More information about the anaconda-patches mailing list