qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Daniel P. Berrangé" <berrange@redhat.com>
To: John Snow <jsnow@redhat.com>
Cc: Cleber Rosa <crosa@redhat.com>,
	qemu-devel@nongnu.org, Kashyap Chamarthy <kchamart@redhat.com>,
	Beraldo Leal <bleal@redhat.com>
Subject: Re: [qemu.qmp PATCH 01/12] fork qemu.qmp from qemu.git
Date: Mon, 25 Apr 2022 11:37:31 +0100	[thread overview]
Message-ID: <YmZ567xK3o7kWBjE@redhat.com> (raw)
In-Reply-To: <20220422184940.1763958-2-jsnow@redhat.com>

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	other threads:[~2022-04-25 10:39 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-22 18:49 [qemu.qmp PATCH 00/12] python: fork qemu.qmp python lib into independent repo John Snow
2022-04-22 18:49 ` [qemu.qmp PATCH 01/12] fork qemu.qmp from qemu.git John Snow
2022-04-25 10:37   ` Daniel P. Berrangé [this message]
2022-04-25 18:54     ` John Snow
2022-04-22 18:49 ` [qemu.qmp PATCH 02/12] update maintainer metadata John Snow
2022-04-25 10:54   ` Daniel P. Berrangé
2022-04-25 18:15     ` John Snow
2022-04-22 18:49 ` [qemu.qmp PATCH 03/12] update project description John Snow
2022-04-29 13:44   ` Beraldo Leal
2022-04-22 18:49 ` [qemu.qmp PATCH 04/12] update project URLs John Snow
2022-04-25 10:56   ` Daniel P. Berrangé
2022-04-25 18:19     ` John Snow
2022-04-26  7:55       ` Daniel P. Berrangé
2022-04-26  8:16         ` Kashyap Chamarthy
2022-04-26 16:38           ` John Snow
2022-04-29 14:06   ` Beraldo Leal
2022-04-29 15:48     ` John Snow
2022-04-22 18:49 ` [qemu.qmp PATCH 05/12] add a couple new trove classifiers John Snow
2022-04-22 18:49 ` [qemu.qmp PATCH 06/12] move README.rst to FILES.rst and update John Snow
2022-04-25 13:23   ` Kashyap Chamarthy
2022-04-22 18:49 ` [qemu.qmp PATCH 07/12] move PACKAGE.rst to README.rst " John Snow
2022-04-22 18:49 ` [qemu.qmp PATCH 08/12] docs: add versioning policy to README John Snow
2022-04-22 18:49 ` [qemu.qmp PATCH 09/12] add LGPLv2+ and GPLv2 LICENSE files John Snow
2022-04-25 11:00   ` Daniel P. Berrangé
2022-04-22 18:49 ` [qemu.qmp PATCH 10/12] update Pipfile John Snow
2022-04-22 18:49 ` [qemu.qmp PATCH 11/12] remove sub-dependency pins from Pipfile John Snow
2022-04-25 13:19   ` Kashyap Chamarthy
2022-04-22 18:49 ` [qemu.qmp PATCH 12/12] update VERSION to 0.0.0a1 John Snow
2022-04-29 14:09   ` Beraldo Leal
2022-04-29 17:18 ` [qemu.qmp PATCH 00/12] python: fork qemu.qmp python lib into independent repo John Snow

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YmZ567xK3o7kWBjE@redhat.com \
    --to=berrange@redhat.com \
    --cc=bleal@redhat.com \
    --cc=crosa@redhat.com \
    --cc=jsnow@redhat.com \
    --cc=kchamart@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).