All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.