[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 :|
- [qemu.qmp PATCH 11/12] remove sub-dependency pins from Pipfile, (continued)
- [qemu.qmp PATCH 11/12] remove sub-dependency pins from Pipfile, John Snow, 2022/04/22
- [qemu.qmp PATCH 02/12] update maintainer metadata, John Snow, 2022/04/22
- [qemu.qmp PATCH 07/12] move PACKAGE.rst to README.rst and update, John Snow, 2022/04/22
- [qemu.qmp PATCH 12/12] update VERSION to 0.0.0a1, John Snow, 2022/04/22
- [qemu.qmp PATCH 10/12] update Pipfile, John Snow, 2022/04/22
- [qemu.qmp PATCH 01/12] fork qemu.qmp from qemu.git, John Snow, 2022/04/22
- Re: [qemu.qmp PATCH 01/12] fork qemu.qmp from qemu.git,
Daniel P . Berrangé <=
- [qemu.qmp PATCH 08/12] docs: add versioning policy to README, John Snow, 2022/04/22
- [qemu.qmp PATCH 06/12] move README.rst to FILES.rst and update, John Snow, 2022/04/22
- [qemu.qmp PATCH 09/12] add LGPLv2+ and GPLv2 LICENSE files, John Snow, 2022/04/22
- [qemu.qmp PATCH 05/12] add a couple new trove classifiers, John Snow, 2022/04/22
- Re: [qemu.qmp PATCH 00/12] python: fork qemu.qmp python lib into independent repo, John Snow, 2022/04/29