qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [qemu.qmp PATCH 01/12] fork qemu.qmp from qemu.git


From: Daniel P . Berrangé
Subject: Re: [qemu.qmp PATCH 01/12] fork qemu.qmp from qemu.git
Date: Mon, 25 Apr 2022 11:37:31 +0100
User-agent: Mutt/2.1.5 (2021-12-30)

On Fri, Apr 22, 2022 at 02:49:29PM -0400, John Snow wrote:
> Split python/ from qemu.git, using these commands:
> 
> > git subtree split -P python/ -b python-split-v3
> > mkdir ~/src/tmp
> > cd ~/src/tmp
> > git clone --no-local --branch python-split-v3 --single-branch ~/src/qemu
> > cd qemu
> > git filter-repo --path qemu/machine/           \
>                   --path qemu/utils/             \
>                   --path tests/iotests-mypy.sh   \
>                   --path tests/iotests-pylint.sh \
>                   --invert-paths

So you're saying the repository is initialized with the output from
the above commands, and then this commit is the first one on top
of that.

> This commit, however, only performs some minimum cleanup to reflect the
> deletion of the other subpackages. It is not intended to be exhaustive,
> and further edits are made in forthcoming commits.
> 
> These fixes are broken apart into micro-changes to facilitate mailing
> list review subject-by-subject. They *could* be squashed into a single
> larger commit on merge if desired, but due to the nature of the fork,
> bisectability across the fork boundary is going to be challenging
> anyway. It may be better value to just leave these initial commits
> as-is.

Yep, I think bisectability is impractical to achieve across this kind
of split. I think the filtered git history is simply there as a  way
to give credit to the original authors, for historical research and
to make 'git blame' work. 

IOW, I'd declare bitsectability starts at the end of this patch
series, as a goal.

> 
> Signed-off-by: John Snow <jsnow@redhat.com>
> Reviewed-by: Kashyap Chamarthy <kchamart@redhat.com>
> ---
>  .gitignore |  2 +-
>  Makefile   | 16 ++++++++--------
>  setup.cfg  | 24 +-----------------------
>  setup.py   |  2 +-
>  4 files changed, 11 insertions(+), 33 deletions(-)
> 
> diff --git a/.gitignore b/.gitignore
> index 904f324..b071f02 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -5,7 +5,7 @@
>  # python packaging
>  build/
>  dist/
> -qemu.egg-info/
> +qemu.qmp.egg-info/
>  
>  # editor config
>  .idea/
> diff --git a/Makefile b/Makefile
> index 3334311..a2d2f2c 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -30,7 +30,7 @@ help:
>       @echo ""
>       @echo "make develop:"
>       @echo "    Install deps needed for for 'make check',"
> -     @echo "    and install the qemu package in editable mode."
> +     @echo "    and install the qemu.qmp package in editable mode."
>       @echo "    (Can be used in or outside of a venv.)"
>       @echo ""
>       @echo "make pipenv"
> @@ -43,7 +43,7 @@ help:
>       @echo "    Remove package build output."
>       @echo ""
>       @echo "make distclean:"
> -     @echo "    remove pipenv/venv files, qemu package forwarder,"
> +     @echo "    remove pipenv/venv files, qemu.qmp package forwarder,"
>       @echo "    built distribution files, and everything from 'make clean'."
>       @echo ""
>       @echo -e "Have a nice day ^_^\n"
> @@ -64,11 +64,11 @@ dev-venv: $(QEMU_VENV_DIR) $(QEMU_VENV_DIR)/bin/activate
>  $(QEMU_VENV_DIR) $(QEMU_VENV_DIR)/bin/activate: setup.cfg
>       @echo "VENV $(QEMU_VENV_DIR)"
>       @python3 -m venv $(QEMU_VENV_DIR)
> -     @(                                                      \
> -             echo "ACTIVATE $(QEMU_VENV_DIR)";               \
> -             . $(QEMU_VENV_DIR)/bin/activate;                \
> -             echo "INSTALL qemu[devel] $(QEMU_VENV_DIR)";    \
> -             make develop 1>/dev/null;                       \
> +     @(                                                              \
> +             echo "ACTIVATE $(QEMU_VENV_DIR)";                       \
> +             . $(QEMU_VENV_DIR)/bin/activate;                        \
> +             echo "INSTALL qemu.qmp[devel] $(QEMU_VENV_DIR)";        \
> +             make develop 1>/dev/null;                               \
>       )
>       @touch $(QEMU_VENV_DIR)
>  
> @@ -106,6 +106,6 @@ clean:
>  
>  .PHONY: distclean
>  distclean: clean
> -     rm -rf qemu.egg-info/ .venv/ .tox/ $(QEMU_VENV_DIR) dist/
> +     rm -rf qemu.qmp.egg-info/ .venv/ .tox/ $(QEMU_VENV_DIR) dist/
>       rm -f .coverage .coverage.*
>       rm -rf htmlcov/
> diff --git a/setup.cfg b/setup.cfg
> index e877ea5..4ffab73 100644
> --- a/setup.cfg
> +++ b/setup.cfg
> @@ -1,5 +1,5 @@
>  [metadata]
> -name = qemu
> +name = qemu.qmp
>  version = file:VERSION
>  maintainer = QEMU Developer Team
>  maintainer_email = qemu-devel@nongnu.org
> @@ -25,8 +25,6 @@ classifiers =
>  python_requires = >= 3.6
>  packages =
>      qemu.qmp
> -    qemu.machine
> -    qemu.utils
>  
>  [options.package_data]
>  * = py.typed
> @@ -38,7 +36,6 @@ packages =
>  devel =
>      avocado-framework >= 90.0
>      flake8 >= 3.6.0
> -    fusepy >= 2.0.4
>      isort >= 5.1.2
>      mypy >= 0.780
>      pylint >= 2.8.0
> @@ -47,10 +44,6 @@ devel =
>      urwid-readline >= 0.13
>      Pygments >= 2.9.0
>  
> -# Provides qom-fuse functionality
> -fuse =
> -    fusepy >= 2.0.4
> -
>  # QMP TUI dependencies
>  tui =
>      urwid >= 2.1.2
> @@ -59,13 +52,6 @@ tui =
>  
>  [options.entry_points]
>  console_scripts =
> -    qom = qemu.utils.qom:main
> -    qom-set = qemu.utils.qom:QOMSet.entry_point
> -    qom-get = qemu.utils.qom:QOMGet.entry_point
> -    qom-list = qemu.utils.qom:QOMList.entry_point
> -    qom-tree = qemu.utils.qom:QOMTree.entry_point
> -    qom-fuse = qemu.utils.qom_fuse:QOMFuse.entry_point [fuse]
> -    qemu-ga-client = qemu.utils.qemu_ga_client:main
>      qmp-shell = qemu.qmp.qmp_shell:main
>      qmp-shell-wrap = qemu.qmp.qmp_shell:main_wrap
>      qmp-tui = qemu.qmp.qmp_tui:main [tui]
> @@ -80,19 +66,12 @@ python_version = 3.6
>  warn_unused_configs = True
>  namespace_packages = True
>  
> -[mypy-qemu.utils.qom_fuse]
> -# fusepy has no type stubs:
> -allow_subclassing_any = True
> -
>  [mypy-qemu.qmp.qmp_tui]
>  # urwid and urwid_readline have no type stubs:
>  allow_subclassing_any = True
>  
>  # The following missing import directives are because these libraries do not
>  # provide type stubs. Allow them on an as-needed basis for mypy.
> -[mypy-fuse]
> -ignore_missing_imports = True
> -
>  [mypy-urwid]
>  ignore_missing_imports = True
>  
> @@ -164,7 +143,6 @@ skip_missing_interpreters = true
>  allowlist_externals = make
>  deps =
>      .[devel]
> -    .[fuse]  # Workaround to trigger tox venv rebuild
>      .[tui]   # Workaround to trigger tox venv rebuild
>  commands =
>      make check
> diff --git a/setup.py b/setup.py
> index c5bc459..aba951a 100755
> --- a/setup.py
> +++ b/setup.py
> @@ -1,6 +1,6 @@
>  #!/usr/bin/env python3
>  """
> -QEMU tooling installer script
> +QEMU QMP library installer script
>  Copyright (c) 2020-2021 John Snow for Red Hat, Inc.
>  """
>  
> -- 
> 2.34.1
> 

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|




reply via email to

[Prev in Thread] Current Thread [Next in Thread]