[PATCH 00/12] tools: move more libraries into tools/libs

Ian Jackson posted 12 patches 3 years, 8 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/xen tags/patchew/20200715162511.5941-1-ian.jackson@eu.citrix.com
Maintainers: George Dunlap <george.dunlap@citrix.com>, Samuel Thibault <samuel.thibault@ens-lyon.org>, Ian Jackson <ian.jackson@eu.citrix.com>, Stewart Hildebrand <stewart.hildebrand@dornerworks.com>, Wei Liu <wl@xen.org>, Julien Grall <julien@xen.org>, Jan Beulich <jbeulich@suse.com>, "Marek Marczykowski-Górecki" <marmarek@invisiblethingslab.com>, Josh Whitehead <josh.whitehead@dornerworks.com>, Andrew Cooper <andrew.cooper3@citrix.com>, Anthony PERARD <anthony.perard@citrix.com>, Stefano Stabellini <sstabellini@kernel.org>
.gitignore                                    |  29 +++-
MAINTAINERS                                   |   2 +-
stubdom/Makefile                              |  29 +++-
stubdom/grub/kexec.c                          |   2 +-
stubdom/mini-os.mk                            |  17 ++
tools/Makefile                                |  15 +-
tools/Rules.mk                                | 142 ++++++---------
tools/console/daemon/io.c                     |   6 +-
tools/golang/xenlight/Makefile                |   4 +-
tools/helpers/init-xenstore-domain.c          |   2 +-
tools/include/xen-tools/libs.h                |   4 +
tools/libs/Makefile                           |   4 +
tools/libs/call/Makefile                      |   3 +-
tools/libs/call/buffer.c                      |   3 +-
tools/libs/ctrl/Makefile                      |  68 ++++++++
tools/{libxc => libs/ctrl}/include/xenctrl.h  |   0
.../ctrl}/include/xenctrl_compat.h            |   0
.../ctrl/include/xenctrl_dom.h}               |  10 +-
tools/libs/ctrl/libxenctrl.map                |   3 +
tools/{libxc => libs/ctrl}/xc_altp2m.c        |   0
tools/{libxc => libs/ctrl}/xc_arinc653.c      |   0
tools/{libxc => libs/ctrl}/xc_bitops.h        |   0
tools/{libxc => libs/ctrl}/xc_core.c          |   5 +-
tools/{libxc => libs/ctrl}/xc_core.h          |   2 +-
tools/{libxc => libs/ctrl}/xc_core_arm.c      |   2 +-
tools/{libxc => libs/ctrl}/xc_core_arm.h      |   0
tools/{libxc => libs/ctrl}/xc_core_x86.c      |   6 +-
tools/{libxc => libs/ctrl}/xc_core_x86.h      |   0
tools/{libxc => libs/ctrl}/xc_cpu_hotplug.c   |   0
tools/{libxc => libs/ctrl}/xc_cpupool.c       |   0
tools/{libxc => libs/ctrl}/xc_csched.c        |   0
tools/{libxc => libs/ctrl}/xc_csched2.c       |   0
.../ctrl}/xc_devicemodel_compat.c             |   0
tools/{libxc => libs/ctrl}/xc_domain.c        | 129 +-------------
tools/{libxc => libs/ctrl}/xc_evtchn.c        |   0
tools/{libxc => libs/ctrl}/xc_evtchn_compat.c |   0
tools/{libxc => libs/ctrl}/xc_flask.c         |   0
.../{libxc => libs/ctrl}/xc_foreign_memory.c  |   0
tools/{libxc => libs/ctrl}/xc_freebsd.c       |   0
tools/{libxc => libs/ctrl}/xc_gnttab.c        |   0
tools/{libxc => libs/ctrl}/xc_gnttab_compat.c |   0
tools/{libxc => libs/ctrl}/xc_hcall_buf.c     |   1 -
tools/{libxc => libs/ctrl}/xc_kexec.c         |   0
tools/{libxc => libs/ctrl}/xc_linux.c         |   0
tools/{libxc => libs/ctrl}/xc_mem_access.c    |   0
tools/{libxc => libs/ctrl}/xc_mem_paging.c    |   0
tools/{libxc => libs/ctrl}/xc_memshr.c        |   0
tools/{libxc => libs/ctrl}/xc_minios.c        |   0
tools/{libxc => libs/ctrl}/xc_misc.c          |   0
tools/{libxc => libs/ctrl}/xc_monitor.c       |   0
tools/{libxc => libs/ctrl}/xc_msr_x86.h       |   0
tools/{libxc => libs/ctrl}/xc_netbsd.c        |   0
tools/{libxc => libs/ctrl}/xc_pagetab.c       |   0
tools/{libxc => libs/ctrl}/xc_physdev.c       |   0
tools/{libxc => libs/ctrl}/xc_pm.c            |   0
tools/{libxc => libs/ctrl}/xc_private.c       |   3 +-
tools/{libxc => libs/ctrl}/xc_private.h       |  36 ++++
tools/{libxc => libs/ctrl}/xc_psr.c           |   0
tools/{libxc => libs/ctrl}/xc_resource.c      |   0
tools/{libxc => libs/ctrl}/xc_resume.c        |   2 -
tools/{libxc => libs/ctrl}/xc_rt.c            |   0
tools/{libxc => libs/ctrl}/xc_solaris.c       |   0
tools/{libxc => libs/ctrl}/xc_tbuf.c          |   0
tools/{libxc => libs/ctrl}/xc_vm_event.c      |   0
.../ctrl/xenctrl.pc.in}                       |   0
tools/libs/devicemodel/Makefile               |   3 +-
tools/libs/evtchn/Makefile                    |   3 +-
tools/libs/foreignmemory/Makefile             |   3 +-
tools/libs/foreignmemory/linux.c              |   3 +-
tools/libs/gnttab/Makefile                    |   3 +-
tools/libs/gnttab/private.h                   |   3 -
tools/libs/hypfs/Makefile                     |   3 +-
tools/libs/libs.mk                            |  34 +++-
.../{xenstat/libxenstat => libs/stat}/COPYING |   0
.../libxenstat => libs/stat}/Makefile         |  97 +++--------
.../stat}/bindings/swig/perl/.empty           |   0
.../stat}/bindings/swig/python/.empty         |   0
.../stat}/bindings/swig/xenstat.i             |   0
.../src => libs/stat/include}/xenstat.h       |   3 +
tools/libs/stat/libxenstat.map                |  54 ++++++
.../libxenstat/src => libs/stat}/xenstat.c    |   0
.../libxenstat => libs/stat}/xenstat.pc.in    |   2 +-
.../src => libs/stat}/xenstat_freebsd.c       |   0
.../src => libs/stat}/xenstat_linux.c         |   4 +-
.../src => libs/stat}/xenstat_netbsd.c        |   0
.../src => libs/stat}/xenstat_priv.h          |   0
.../src => libs/stat}/xenstat_qmp.c           |   0
.../src => libs/stat}/xenstat_solaris.c       |   0
tools/libs/store/Makefile                     |  65 +++++++
.../store}/include/compat/xs.h                |   0
.../store}/include/compat/xs_lib.h            |   0
.../store}/include/xenstore.h                 |   0
tools/libs/store/libxenstore.map              |  49 ++++++
tools/{xenstore => libs/store}/xenstore.pc.in |   0
tools/{xenstore => libs/store}/xs.c           |   0
tools/libs/toolcore/Makefile                  |   2 +-
tools/libs/toollog/Makefile                   |   2 +-
tools/libs/vchan/Makefile                     |  18 ++
.../vchan/include}/libxenvchan.h              |   0
tools/{libvchan => libs/vchan}/init.c         |   0
tools/{libvchan => libs/vchan}/io.c           |   0
tools/libs/vchan/libxenvchan.map              |  16 ++
tools/{libvchan => libs/vchan}/xenvchan.pc.in |   0
tools/libvchan/Makefile                       |  95 -----------
tools/libxc/Makefile                          | 161 +++++-------------
tools/libxc/include/xenguest.h                |   8 +-
tools/libxc/xc_efi.h                          | 158 -----------------
tools/libxc/xc_elf.h                          |  16 --
.../libxc/{xc_cpuid_x86.c => xg_cpuid_x86.c}  |   0
tools/libxc/{xc_dom_arm.c => xg_dom_arm.c}    |   2 +-
...imageloader.c => xg_dom_armzimageloader.c} |   2 +-
...{xc_dom_binloader.c => xg_dom_binloader.c} |   2 +-
tools/libxc/{xc_dom_boot.c => xg_dom_boot.c}  |   2 +-
...bzimageloader.c => xg_dom_bzimageloader.c} |   2 +-
...m_compat_linux.c => xg_dom_compat_linux.c} |   2 +-
tools/libxc/{xc_dom_core.c => xg_dom_core.c}  |   2 +-
...c_dom_decompress.h => xg_dom_decompress.h} |   4 +-
...compress_lz4.c => xg_dom_decompress_lz4.c} |   2 +-
...ss_unsafe.c => xg_dom_decompress_unsafe.c} |   2 +-
...ss_unsafe.h => xg_dom_decompress_unsafe.h} |   2 +-
...ip2.c => xg_dom_decompress_unsafe_bzip2.c} |   2 +-
...lzma.c => xg_dom_decompress_unsafe_lzma.c} |   2 +-
...o1x.c => xg_dom_decompress_unsafe_lzo1x.c} |   2 +-
...afe_xz.c => xg_dom_decompress_unsafe_xz.c} |   2 +-
...{xc_dom_elfloader.c => xg_dom_elfloader.c} |   2 +-
...{xc_dom_hvmloader.c => xg_dom_hvmloader.c} |   2 +-
tools/libxc/{xc_dom_x86.c => xg_dom_x86.c}    |   2 +-
tools/libxc/xg_domain.c                       | 149 ++++++++++++++++
.../libxc/{xc_nomigrate.c => xg_nomigrate.c}  |   0
.../{xc_offline_page.c => xg_offline_page.c}  |   2 +-
tools/libxc/xg_private.h                      |  23 ---
tools/libxc/xg_save_restore.h                 |  13 --
.../libxc/{xc_sr_common.c => xg_sr_common.c}  |   2 +-
.../libxc/{xc_sr_common.h => xg_sr_common.h}  |   4 +-
...{xc_sr_common_x86.c => xg_sr_common_x86.c} |   2 +-
...{xc_sr_common_x86.h => xg_sr_common_x86.h} |   2 +-
..._common_x86_pv.c => xg_sr_common_x86_pv.c} |   2 +-
..._common_x86_pv.h => xg_sr_common_x86_pv.h} |   2 +-
.../{xc_sr_restore.c => xg_sr_restore.c}      |   2 +-
...tore_x86_hvm.c => xg_sr_restore_x86_hvm.c} |   2 +-
...estore_x86_pv.c => xg_sr_restore_x86_pv.c} |   2 +-
tools/libxc/{xc_sr_save.c => xg_sr_save.c}    |   2 +-
...sr_save_x86_hvm.c => xg_sr_save_x86_hvm.c} |   2 +-
...c_sr_save_x86_pv.c => xg_sr_save_x86_pv.c} |   2 +-
..._stream_format.h => xg_sr_stream_format.h} |   0
tools/libxc/{xc_suspend.c => xg_suspend.c}    |   0
tools/libxl/Makefile                          |   2 +-
tools/libxl/libxl_arm.c                       |   2 +-
tools/libxl/libxl_arm.h                       |   2 +-
tools/libxl/libxl_create.c                    |   2 +-
tools/libxl/libxl_dm.c                        |   2 +-
tools/libxl/libxl_dom.c                       |   2 +-
tools/libxl/libxl_internal.h                  |   5 +-
tools/libxl/libxl_vnuma.c                     |   2 +-
tools/libxl/libxl_x86.c                       |   2 +-
tools/libxl/libxl_x86_acpi.c                  |   2 +-
tools/misc/Makefile                           |   5 +-
tools/misc/xen-hptool.c                       |   8 +-
tools/misc/xen-mfndump.c                      |  70 ++++----
tools/python/Makefile                         |   2 +-
tools/python/setup.py                         |  12 +-
tools/python/xen/lowlevel/xc/xc.c             |   2 +-
tools/vchan/Makefile                          |  37 ++++
tools/{libvchan => vchan}/node-select.c       |   0
tools/{libvchan => vchan}/node.c              |   0
.../{libvchan => vchan}/vchan-socket-proxy.c  |   0
tools/xcutils/readnotes.c                     |   2 +-
tools/xenstat/Makefile                        |  10 --
tools/xenstore/Makefile                       |  82 +--------
tools/xenstore/{include => }/xenstore_lib.h   |   0
tools/xenstore/xenstored_core.c               |   2 -
tools/{xenstat => }/xentop/Makefile           |   2 +-
tools/{xenstat => }/xentop/TODO               |   0
tools/{xenstat => }/xentop/xentop.c           |   0
174 files changed, 856 insertions(+), 986 deletions(-)
create mode 100644 stubdom/mini-os.mk
create mode 100644 tools/libs/ctrl/Makefile
rename tools/{libxc => libs/ctrl}/include/xenctrl.h (100%)
rename tools/{libxc => libs/ctrl}/include/xenctrl_compat.h (100%)
rename tools/{libxc/include/xc_dom.h => libs/ctrl/include/xenctrl_dom.h} (98%)
create mode 100644 tools/libs/ctrl/libxenctrl.map
rename tools/{libxc => libs/ctrl}/xc_altp2m.c (100%)
rename tools/{libxc => libs/ctrl}/xc_arinc653.c (100%)
rename tools/{libxc => libs/ctrl}/xc_bitops.h (100%)
rename tools/{libxc => libs/ctrl}/xc_core.c (99%)
rename tools/{libxc => libs/ctrl}/xc_core.h (99%)
rename tools/{libxc => libs/ctrl}/xc_core_arm.c (99%)
rename tools/{libxc => libs/ctrl}/xc_core_arm.h (100%)
rename tools/{libxc => libs/ctrl}/xc_core_x86.c (98%)
rename tools/{libxc => libs/ctrl}/xc_core_x86.h (100%)
rename tools/{libxc => libs/ctrl}/xc_cpu_hotplug.c (100%)
rename tools/{libxc => libs/ctrl}/xc_cpupool.c (100%)
rename tools/{libxc => libs/ctrl}/xc_csched.c (100%)
rename tools/{libxc => libs/ctrl}/xc_csched2.c (100%)
rename tools/{libxc => libs/ctrl}/xc_devicemodel_compat.c (100%)
rename tools/{libxc => libs/ctrl}/xc_domain.c (94%)
rename tools/{libxc => libs/ctrl}/xc_evtchn.c (100%)
rename tools/{libxc => libs/ctrl}/xc_evtchn_compat.c (100%)
rename tools/{libxc => libs/ctrl}/xc_flask.c (100%)
rename tools/{libxc => libs/ctrl}/xc_foreign_memory.c (100%)
rename tools/{libxc => libs/ctrl}/xc_freebsd.c (100%)
rename tools/{libxc => libs/ctrl}/xc_gnttab.c (100%)
rename tools/{libxc => libs/ctrl}/xc_gnttab_compat.c (100%)
rename tools/{libxc => libs/ctrl}/xc_hcall_buf.c (99%)
rename tools/{libxc => libs/ctrl}/xc_kexec.c (100%)
rename tools/{libxc => libs/ctrl}/xc_linux.c (100%)
rename tools/{libxc => libs/ctrl}/xc_mem_access.c (100%)
rename tools/{libxc => libs/ctrl}/xc_mem_paging.c (100%)
rename tools/{libxc => libs/ctrl}/xc_memshr.c (100%)
rename tools/{libxc => libs/ctrl}/xc_minios.c (100%)
rename tools/{libxc => libs/ctrl}/xc_misc.c (100%)
rename tools/{libxc => libs/ctrl}/xc_monitor.c (100%)
rename tools/{libxc => libs/ctrl}/xc_msr_x86.h (100%)
rename tools/{libxc => libs/ctrl}/xc_netbsd.c (100%)
rename tools/{libxc => libs/ctrl}/xc_pagetab.c (100%)
rename tools/{libxc => libs/ctrl}/xc_physdev.c (100%)
rename tools/{libxc => libs/ctrl}/xc_pm.c (100%)
rename tools/{libxc => libs/ctrl}/xc_private.c (99%)
rename tools/{libxc => libs/ctrl}/xc_private.h (91%)
rename tools/{libxc => libs/ctrl}/xc_psr.c (100%)
rename tools/{libxc => libs/ctrl}/xc_resource.c (100%)
rename tools/{libxc => libs/ctrl}/xc_resume.c (99%)
rename tools/{libxc => libs/ctrl}/xc_rt.c (100%)
rename tools/{libxc => libs/ctrl}/xc_solaris.c (100%)
rename tools/{libxc => libs/ctrl}/xc_tbuf.c (100%)
rename tools/{libxc => libs/ctrl}/xc_vm_event.c (100%)
rename tools/{libxc/xencontrol.pc.in => libs/ctrl/xenctrl.pc.in} (100%)
rename tools/{xenstat/libxenstat => libs/stat}/COPYING (100%)
rename tools/{xenstat/libxenstat => libs/stat}/Makefile (56%)
rename tools/{xenstat/libxenstat => libs/stat}/bindings/swig/perl/.empty (100%)
rename tools/{xenstat/libxenstat => libs/stat}/bindings/swig/python/.empty (100%)
rename tools/{xenstat/libxenstat => libs/stat}/bindings/swig/xenstat.i (100%)
rename tools/{xenstat/libxenstat/src => libs/stat/include}/xenstat.h (98%)
create mode 100644 tools/libs/stat/libxenstat.map
rename tools/{xenstat/libxenstat/src => libs/stat}/xenstat.c (100%)
rename tools/{xenstat/libxenstat => libs/stat}/xenstat.pc.in (82%)
rename tools/{xenstat/libxenstat/src => libs/stat}/xenstat_freebsd.c (100%)
rename tools/{xenstat/libxenstat/src => libs/stat}/xenstat_linux.c (98%)
rename tools/{xenstat/libxenstat/src => libs/stat}/xenstat_netbsd.c (100%)
rename tools/{xenstat/libxenstat/src => libs/stat}/xenstat_priv.h (100%)
rename tools/{xenstat/libxenstat/src => libs/stat}/xenstat_qmp.c (100%)
rename tools/{xenstat/libxenstat/src => libs/stat}/xenstat_solaris.c (100%)
create mode 100644 tools/libs/store/Makefile
rename tools/{xenstore => libs/store}/include/compat/xs.h (100%)
rename tools/{xenstore => libs/store}/include/compat/xs_lib.h (100%)
rename tools/{xenstore => libs/store}/include/xenstore.h (100%)
create mode 100644 tools/libs/store/libxenstore.map
rename tools/{xenstore => libs/store}/xenstore.pc.in (100%)
rename tools/{xenstore => libs/store}/xs.c (100%)
create mode 100644 tools/libs/vchan/Makefile
rename tools/{libvchan => libs/vchan/include}/libxenvchan.h (100%)
rename tools/{libvchan => libs/vchan}/init.c (100%)
rename tools/{libvchan => libs/vchan}/io.c (100%)
create mode 100644 tools/libs/vchan/libxenvchan.map
rename tools/{libvchan => libs/vchan}/xenvchan.pc.in (100%)
delete mode 100644 tools/libvchan/Makefile
delete mode 100644 tools/libxc/xc_efi.h
delete mode 100644 tools/libxc/xc_elf.h
rename tools/libxc/{xc_cpuid_x86.c => xg_cpuid_x86.c} (100%)
rename tools/libxc/{xc_dom_arm.c => xg_dom_arm.c} (99%)
rename tools/libxc/{xc_dom_armzimageloader.c => xg_dom_armzimageloader.c} (99%)
rename tools/libxc/{xc_dom_binloader.c => xg_dom_binloader.c} (99%)
rename tools/libxc/{xc_dom_boot.c => xg_dom_boot.c} (99%)
rename tools/libxc/{xc_dom_bzimageloader.c => xg_dom_bzimageloader.c} (99%)
rename tools/libxc/{xc_dom_compat_linux.c => xg_dom_compat_linux.c} (99%)
rename tools/libxc/{xc_dom_core.c => xg_dom_core.c} (99%)
rename tools/libxc/{xc_dom_decompress.h => xg_dom_decompress.h} (62%)
rename tools/libxc/{xc_dom_decompress_lz4.c => xg_dom_decompress_lz4.c} (98%)
rename tools/libxc/{xc_dom_decompress_unsafe.c => xg_dom_decompress_unsafe.c} (96%)
rename tools/libxc/{xc_dom_decompress_unsafe.h => xg_dom_decompress_unsafe.h} (97%)
rename tools/libxc/{xc_dom_decompress_unsafe_bzip2.c => xg_dom_decompress_unsafe_bzip2.c} (87%)
rename tools/libxc/{xc_dom_decompress_unsafe_lzma.c => xg_dom_decompress_unsafe_lzma.c} (87%)
rename tools/libxc/{xc_dom_decompress_unsafe_lzo1x.c => xg_dom_decompress_unsafe_lzo1x.c} (96%)
rename tools/libxc/{xc_dom_decompress_unsafe_xz.c => xg_dom_decompress_unsafe_xz.c} (95%)
rename tools/libxc/{xc_dom_elfloader.c => xg_dom_elfloader.c} (99%)
rename tools/libxc/{xc_dom_hvmloader.c => xg_dom_hvmloader.c} (99%)
rename tools/libxc/{xc_dom_x86.c => xg_dom_x86.c} (99%)
create mode 100644 tools/libxc/xg_domain.c
rename tools/libxc/{xc_nomigrate.c => xg_nomigrate.c} (100%)
rename tools/libxc/{xc_offline_page.c => xg_offline_page.c} (99%)
rename tools/libxc/{xc_sr_common.c => xg_sr_common.c} (99%)
rename tools/libxc/{xc_sr_common.h => xg_sr_common.h} (99%)
rename tools/libxc/{xc_sr_common_x86.c => xg_sr_common_x86.c} (99%)
rename tools/libxc/{xc_sr_common_x86.h => xg_sr_common_x86.h} (98%)
rename tools/libxc/{xc_sr_common_x86_pv.c => xg_sr_common_x86_pv.c} (99%)
rename tools/libxc/{xc_sr_common_x86_pv.h => xg_sr_common_x86_pv.h} (98%)
rename tools/libxc/{xc_sr_restore.c => xg_sr_restore.c} (99%)
rename tools/libxc/{xc_sr_restore_x86_hvm.c => xg_sr_restore_x86_hvm.c} (99%)
rename tools/libxc/{xc_sr_restore_x86_pv.c => xg_sr_restore_x86_pv.c} (99%)
rename tools/libxc/{xc_sr_save.c => xg_sr_save.c} (99%)
rename tools/libxc/{xc_sr_save_x86_hvm.c => xg_sr_save_x86_hvm.c} (99%)
rename tools/libxc/{xc_sr_save_x86_pv.c => xg_sr_save_x86_pv.c} (99%)
rename tools/libxc/{xc_sr_stream_format.h => xg_sr_stream_format.h} (100%)
rename tools/libxc/{xc_suspend.c => xg_suspend.c} (100%)
create mode 100644 tools/vchan/Makefile
rename tools/{libvchan => vchan}/node-select.c (100%)
rename tools/{libvchan => vchan}/node.c (100%)
rename tools/{libvchan => vchan}/vchan-socket-proxy.c (100%)
delete mode 100644 tools/xenstat/Makefile
rename tools/xenstore/{include => }/xenstore_lib.h (100%)
rename tools/{xenstat => }/xentop/Makefile (97%)
rename tools/{xenstat => }/xentop/TODO (100%)
rename tools/{xenstat => }/xentop/xentop.c (100%)
[PATCH 00/12] tools: move more libraries into tools/libs
Posted by Ian Jackson 3 years, 8 months ago
[ NB: this patch series is actually from Juergen Gross.

  It is being experiemntally handled as a Merge Reqeust in gitlab, in
  part to see what problems there are with that workflow that will
  need extra tooling or whatever.

  I have manually generated this series using git-format-patch,
  scripts/add_maintainers.pl, and git-send-email.  I expect that if we
  adopt this as a real workflow, we will want to make a robot do some
  of that.

  I have set replies to go to the Gitlab comment thread and to
  xen-devel.  Again this is experimental.  We are likely to need
  something to automatically collect acks, at the very least.

  Reviewers: for now, please review this series as normal.  You may
  reply to the messages by email.  Please, for now, send your replies
  to gitlab and to the mailing list.  I think I have set the reply-to
  appropriately.

  Alternatively you may review the code in the gitlab web UI.  But
  please do not use the line-by-line comment system: write only to the
  main MR discussion thread.

  Thanks, Ian ]

Move some more libraries under tools/libs, including libxenctrl. This
is resulting in a lot of cleanup work regarding building libs and
restructuring of the tools directory.

I have (for now) left out some more libraries like libxenguest and
libxl, but I can have a try moving those, too, if wanted.

Please note that patch 8 ("tools: move libxenctrl below tools/libs")
needs the related mini-os and qemu-trad patches applied in order to
not break the build:

https://lists.xen.org/archives/html/xen-devel/2020-07/msg00548.html

https://lists.xen.org/archives/html/xen-devel/2020-07/msg00617.html



Juergen Gross (12):
  stubdom: add stubdom/mini-os.mk for Xen paths used by Mini-OS
  tools: switch XEN_LIBXEN* make variables to lower case (XEN_libxen*)
  tools: add a copy of library headers in tools/include
  tools: don't call make recursively from libs.mk
  tools: define ROUNDUP() in tools/include/xen-tools/libs.h
  tools/misc: don't use libxenctrl internals from misc tools
  tools/libxc: untangle libxenctrl from libxenguest
  tools: move libxenctrl below tools/libs
  tools: split libxenstore into new tools/libs/store directory
  tools: split libxenvchan into new tools/libs/vchan directory
  tools: split libxenstat into new tools/libs/stat directory
  tools: generate most contents of library make variables

 .gitignore                                    |  29 +++-
 MAINTAINERS                                   |   2 +-
 stubdom/Makefile                              |  29 +++-
 stubdom/grub/kexec.c                          |   2 +-
 stubdom/mini-os.mk                            |  17 ++
 tools/Makefile                                |  15 +-
 tools/Rules.mk                                | 142 ++++++---------
 tools/console/daemon/io.c                     |   6 +-
 tools/golang/xenlight/Makefile                |   4 +-
 tools/helpers/init-xenstore-domain.c          |   2 +-
 tools/include/xen-tools/libs.h                |   4 +
 tools/libs/Makefile                           |   4 +
 tools/libs/call/Makefile                      |   3 +-
 tools/libs/call/buffer.c                      |   3 +-
 tools/libs/ctrl/Makefile                      |  68 ++++++++
 tools/{libxc => libs/ctrl}/include/xenctrl.h  |   0
 .../ctrl}/include/xenctrl_compat.h            |   0
 .../ctrl/include/xenctrl_dom.h}               |  10 +-
 tools/libs/ctrl/libxenctrl.map                |   3 +
 tools/{libxc => libs/ctrl}/xc_altp2m.c        |   0
 tools/{libxc => libs/ctrl}/xc_arinc653.c      |   0
 tools/{libxc => libs/ctrl}/xc_bitops.h        |   0
 tools/{libxc => libs/ctrl}/xc_core.c          |   5 +-
 tools/{libxc => libs/ctrl}/xc_core.h          |   2 +-
 tools/{libxc => libs/ctrl}/xc_core_arm.c      |   2 +-
 tools/{libxc => libs/ctrl}/xc_core_arm.h      |   0
 tools/{libxc => libs/ctrl}/xc_core_x86.c      |   6 +-
 tools/{libxc => libs/ctrl}/xc_core_x86.h      |   0
 tools/{libxc => libs/ctrl}/xc_cpu_hotplug.c   |   0
 tools/{libxc => libs/ctrl}/xc_cpupool.c       |   0
 tools/{libxc => libs/ctrl}/xc_csched.c        |   0
 tools/{libxc => libs/ctrl}/xc_csched2.c       |   0
 .../ctrl}/xc_devicemodel_compat.c             |   0
 tools/{libxc => libs/ctrl}/xc_domain.c        | 129 +-------------
 tools/{libxc => libs/ctrl}/xc_evtchn.c        |   0
 tools/{libxc => libs/ctrl}/xc_evtchn_compat.c |   0
 tools/{libxc => libs/ctrl}/xc_flask.c         |   0
 .../{libxc => libs/ctrl}/xc_foreign_memory.c  |   0
 tools/{libxc => libs/ctrl}/xc_freebsd.c       |   0
 tools/{libxc => libs/ctrl}/xc_gnttab.c        |   0
 tools/{libxc => libs/ctrl}/xc_gnttab_compat.c |   0
 tools/{libxc => libs/ctrl}/xc_hcall_buf.c     |   1 -
 tools/{libxc => libs/ctrl}/xc_kexec.c         |   0
 tools/{libxc => libs/ctrl}/xc_linux.c         |   0
 tools/{libxc => libs/ctrl}/xc_mem_access.c    |   0
 tools/{libxc => libs/ctrl}/xc_mem_paging.c    |   0
 tools/{libxc => libs/ctrl}/xc_memshr.c        |   0
 tools/{libxc => libs/ctrl}/xc_minios.c        |   0
 tools/{libxc => libs/ctrl}/xc_misc.c          |   0
 tools/{libxc => libs/ctrl}/xc_monitor.c       |   0
 tools/{libxc => libs/ctrl}/xc_msr_x86.h       |   0
 tools/{libxc => libs/ctrl}/xc_netbsd.c        |   0
 tools/{libxc => libs/ctrl}/xc_pagetab.c       |   0
 tools/{libxc => libs/ctrl}/xc_physdev.c       |   0
 tools/{libxc => libs/ctrl}/xc_pm.c            |   0
 tools/{libxc => libs/ctrl}/xc_private.c       |   3 +-
 tools/{libxc => libs/ctrl}/xc_private.h       |  36 ++++
 tools/{libxc => libs/ctrl}/xc_psr.c           |   0
 tools/{libxc => libs/ctrl}/xc_resource.c      |   0
 tools/{libxc => libs/ctrl}/xc_resume.c        |   2 -
 tools/{libxc => libs/ctrl}/xc_rt.c            |   0
 tools/{libxc => libs/ctrl}/xc_solaris.c       |   0
 tools/{libxc => libs/ctrl}/xc_tbuf.c          |   0
 tools/{libxc => libs/ctrl}/xc_vm_event.c      |   0
 .../ctrl/xenctrl.pc.in}                       |   0
 tools/libs/devicemodel/Makefile               |   3 +-
 tools/libs/evtchn/Makefile                    |   3 +-
 tools/libs/foreignmemory/Makefile             |   3 +-
 tools/libs/foreignmemory/linux.c              |   3 +-
 tools/libs/gnttab/Makefile                    |   3 +-
 tools/libs/gnttab/private.h                   |   3 -
 tools/libs/hypfs/Makefile                     |   3 +-
 tools/libs/libs.mk                            |  34 +++-
 .../{xenstat/libxenstat => libs/stat}/COPYING |   0
 .../libxenstat => libs/stat}/Makefile         |  97 +++--------
 .../stat}/bindings/swig/perl/.empty           |   0
 .../stat}/bindings/swig/python/.empty         |   0
 .../stat}/bindings/swig/xenstat.i             |   0
 .../src => libs/stat/include}/xenstat.h       |   3 +
 tools/libs/stat/libxenstat.map                |  54 ++++++
 .../libxenstat/src => libs/stat}/xenstat.c    |   0
 .../libxenstat => libs/stat}/xenstat.pc.in    |   2 +-
 .../src => libs/stat}/xenstat_freebsd.c       |   0
 .../src => libs/stat}/xenstat_linux.c         |   4 +-
 .../src => libs/stat}/xenstat_netbsd.c        |   0
 .../src => libs/stat}/xenstat_priv.h          |   0
 .../src => libs/stat}/xenstat_qmp.c           |   0
 .../src => libs/stat}/xenstat_solaris.c       |   0
 tools/libs/store/Makefile                     |  65 +++++++
 .../store}/include/compat/xs.h                |   0
 .../store}/include/compat/xs_lib.h            |   0
 .../store}/include/xenstore.h                 |   0
 tools/libs/store/libxenstore.map              |  49 ++++++
 tools/{xenstore => libs/store}/xenstore.pc.in |   0
 tools/{xenstore => libs/store}/xs.c           |   0
 tools/libs/toolcore/Makefile                  |   2 +-
 tools/libs/toollog/Makefile                   |   2 +-
 tools/libs/vchan/Makefile                     |  18 ++
 .../vchan/include}/libxenvchan.h              |   0
 tools/{libvchan => libs/vchan}/init.c         |   0
 tools/{libvchan => libs/vchan}/io.c           |   0
 tools/libs/vchan/libxenvchan.map              |  16 ++
 tools/{libvchan => libs/vchan}/xenvchan.pc.in |   0
 tools/libvchan/Makefile                       |  95 -----------
 tools/libxc/Makefile                          | 161 +++++-------------
 tools/libxc/include/xenguest.h                |   8 +-
 tools/libxc/xc_efi.h                          | 158 -----------------
 tools/libxc/xc_elf.h                          |  16 --
 .../libxc/{xc_cpuid_x86.c => xg_cpuid_x86.c}  |   0
 tools/libxc/{xc_dom_arm.c => xg_dom_arm.c}    |   2 +-
 ...imageloader.c => xg_dom_armzimageloader.c} |   2 +-
 ...{xc_dom_binloader.c => xg_dom_binloader.c} |   2 +-
 tools/libxc/{xc_dom_boot.c => xg_dom_boot.c}  |   2 +-
 ...bzimageloader.c => xg_dom_bzimageloader.c} |   2 +-
 ...m_compat_linux.c => xg_dom_compat_linux.c} |   2 +-
 tools/libxc/{xc_dom_core.c => xg_dom_core.c}  |   2 +-
 ...c_dom_decompress.h => xg_dom_decompress.h} |   4 +-
 ...compress_lz4.c => xg_dom_decompress_lz4.c} |   2 +-
 ...ss_unsafe.c => xg_dom_decompress_unsafe.c} |   2 +-
 ...ss_unsafe.h => xg_dom_decompress_unsafe.h} |   2 +-
 ...ip2.c => xg_dom_decompress_unsafe_bzip2.c} |   2 +-
 ...lzma.c => xg_dom_decompress_unsafe_lzma.c} |   2 +-
 ...o1x.c => xg_dom_decompress_unsafe_lzo1x.c} |   2 +-
 ...afe_xz.c => xg_dom_decompress_unsafe_xz.c} |   2 +-
 ...{xc_dom_elfloader.c => xg_dom_elfloader.c} |   2 +-
 ...{xc_dom_hvmloader.c => xg_dom_hvmloader.c} |   2 +-
 tools/libxc/{xc_dom_x86.c => xg_dom_x86.c}    |   2 +-
 tools/libxc/xg_domain.c                       | 149 ++++++++++++++++
 .../libxc/{xc_nomigrate.c => xg_nomigrate.c}  |   0
 .../{xc_offline_page.c => xg_offline_page.c}  |   2 +-
 tools/libxc/xg_private.h                      |  23 ---
 tools/libxc/xg_save_restore.h                 |  13 --
 .../libxc/{xc_sr_common.c => xg_sr_common.c}  |   2 +-
 .../libxc/{xc_sr_common.h => xg_sr_common.h}  |   4 +-
 ...{xc_sr_common_x86.c => xg_sr_common_x86.c} |   2 +-
 ...{xc_sr_common_x86.h => xg_sr_common_x86.h} |   2 +-
 ..._common_x86_pv.c => xg_sr_common_x86_pv.c} |   2 +-
 ..._common_x86_pv.h => xg_sr_common_x86_pv.h} |   2 +-
 .../{xc_sr_restore.c => xg_sr_restore.c}      |   2 +-
 ...tore_x86_hvm.c => xg_sr_restore_x86_hvm.c} |   2 +-
 ...estore_x86_pv.c => xg_sr_restore_x86_pv.c} |   2 +-
 tools/libxc/{xc_sr_save.c => xg_sr_save.c}    |   2 +-
 ...sr_save_x86_hvm.c => xg_sr_save_x86_hvm.c} |   2 +-
 ...c_sr_save_x86_pv.c => xg_sr_save_x86_pv.c} |   2 +-
 ..._stream_format.h => xg_sr_stream_format.h} |   0
 tools/libxc/{xc_suspend.c => xg_suspend.c}    |   0
 tools/libxl/Makefile                          |   2 +-
 tools/libxl/libxl_arm.c                       |   2 +-
 tools/libxl/libxl_arm.h                       |   2 +-
 tools/libxl/libxl_create.c                    |   2 +-
 tools/libxl/libxl_dm.c                        |   2 +-
 tools/libxl/libxl_dom.c                       |   2 +-
 tools/libxl/libxl_internal.h                  |   5 +-
 tools/libxl/libxl_vnuma.c                     |   2 +-
 tools/libxl/libxl_x86.c                       |   2 +-
 tools/libxl/libxl_x86_acpi.c                  |   2 +-
 tools/misc/Makefile                           |   5 +-
 tools/misc/xen-hptool.c                       |   8 +-
 tools/misc/xen-mfndump.c                      |  70 ++++----
 tools/python/Makefile                         |   2 +-
 tools/python/setup.py                         |  12 +-
 tools/python/xen/lowlevel/xc/xc.c             |   2 +-
 tools/vchan/Makefile                          |  37 ++++
 tools/{libvchan => vchan}/node-select.c       |   0
 tools/{libvchan => vchan}/node.c              |   0
 .../{libvchan => vchan}/vchan-socket-proxy.c  |   0
 tools/xcutils/readnotes.c                     |   2 +-
 tools/xenstat/Makefile                        |  10 --
 tools/xenstore/Makefile                       |  82 +--------
 tools/xenstore/{include => }/xenstore_lib.h   |   0
 tools/xenstore/xenstored_core.c               |   2 -
 tools/{xenstat => }/xentop/Makefile           |   2 +-
 tools/{xenstat => }/xentop/TODO               |   0
 tools/{xenstat => }/xentop/xentop.c           |   0
 174 files changed, 856 insertions(+), 986 deletions(-)
 create mode 100644 stubdom/mini-os.mk
 create mode 100644 tools/libs/ctrl/Makefile
 rename tools/{libxc => libs/ctrl}/include/xenctrl.h (100%)
 rename tools/{libxc => libs/ctrl}/include/xenctrl_compat.h (100%)
 rename tools/{libxc/include/xc_dom.h => libs/ctrl/include/xenctrl_dom.h} (98%)
 create mode 100644 tools/libs/ctrl/libxenctrl.map
 rename tools/{libxc => libs/ctrl}/xc_altp2m.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_arinc653.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_bitops.h (100%)
 rename tools/{libxc => libs/ctrl}/xc_core.c (99%)
 rename tools/{libxc => libs/ctrl}/xc_core.h (99%)
 rename tools/{libxc => libs/ctrl}/xc_core_arm.c (99%)
 rename tools/{libxc => libs/ctrl}/xc_core_arm.h (100%)
 rename tools/{libxc => libs/ctrl}/xc_core_x86.c (98%)
 rename tools/{libxc => libs/ctrl}/xc_core_x86.h (100%)
 rename tools/{libxc => libs/ctrl}/xc_cpu_hotplug.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_cpupool.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_csched.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_csched2.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_devicemodel_compat.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_domain.c (94%)
 rename tools/{libxc => libs/ctrl}/xc_evtchn.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_evtchn_compat.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_flask.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_foreign_memory.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_freebsd.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_gnttab.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_gnttab_compat.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_hcall_buf.c (99%)
 rename tools/{libxc => libs/ctrl}/xc_kexec.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_linux.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_mem_access.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_mem_paging.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_memshr.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_minios.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_misc.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_monitor.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_msr_x86.h (100%)
 rename tools/{libxc => libs/ctrl}/xc_netbsd.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_pagetab.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_physdev.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_pm.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_private.c (99%)
 rename tools/{libxc => libs/ctrl}/xc_private.h (91%)
 rename tools/{libxc => libs/ctrl}/xc_psr.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_resource.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_resume.c (99%)
 rename tools/{libxc => libs/ctrl}/xc_rt.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_solaris.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_tbuf.c (100%)
 rename tools/{libxc => libs/ctrl}/xc_vm_event.c (100%)
 rename tools/{libxc/xencontrol.pc.in => libs/ctrl/xenctrl.pc.in} (100%)
 rename tools/{xenstat/libxenstat => libs/stat}/COPYING (100%)
 rename tools/{xenstat/libxenstat => libs/stat}/Makefile (56%)
 rename tools/{xenstat/libxenstat => libs/stat}/bindings/swig/perl/.empty (100%)
 rename tools/{xenstat/libxenstat => libs/stat}/bindings/swig/python/.empty (100%)
 rename tools/{xenstat/libxenstat => libs/stat}/bindings/swig/xenstat.i (100%)
 rename tools/{xenstat/libxenstat/src => libs/stat/include}/xenstat.h (98%)
 create mode 100644 tools/libs/stat/libxenstat.map
 rename tools/{xenstat/libxenstat/src => libs/stat}/xenstat.c (100%)
 rename tools/{xenstat/libxenstat => libs/stat}/xenstat.pc.in (82%)
 rename tools/{xenstat/libxenstat/src => libs/stat}/xenstat_freebsd.c (100%)
 rename tools/{xenstat/libxenstat/src => libs/stat}/xenstat_linux.c (98%)
 rename tools/{xenstat/libxenstat/src => libs/stat}/xenstat_netbsd.c (100%)
 rename tools/{xenstat/libxenstat/src => libs/stat}/xenstat_priv.h (100%)
 rename tools/{xenstat/libxenstat/src => libs/stat}/xenstat_qmp.c (100%)
 rename tools/{xenstat/libxenstat/src => libs/stat}/xenstat_solaris.c (100%)
 create mode 100644 tools/libs/store/Makefile
 rename tools/{xenstore => libs/store}/include/compat/xs.h (100%)
 rename tools/{xenstore => libs/store}/include/compat/xs_lib.h (100%)
 rename tools/{xenstore => libs/store}/include/xenstore.h (100%)
 create mode 100644 tools/libs/store/libxenstore.map
 rename tools/{xenstore => libs/store}/xenstore.pc.in (100%)
 rename tools/{xenstore => libs/store}/xs.c (100%)
 create mode 100644 tools/libs/vchan/Makefile
 rename tools/{libvchan => libs/vchan/include}/libxenvchan.h (100%)
 rename tools/{libvchan => libs/vchan}/init.c (100%)
 rename tools/{libvchan => libs/vchan}/io.c (100%)
 create mode 100644 tools/libs/vchan/libxenvchan.map
 rename tools/{libvchan => libs/vchan}/xenvchan.pc.in (100%)
 delete mode 100644 tools/libvchan/Makefile
 delete mode 100644 tools/libxc/xc_efi.h
 delete mode 100644 tools/libxc/xc_elf.h
 rename tools/libxc/{xc_cpuid_x86.c => xg_cpuid_x86.c} (100%)
 rename tools/libxc/{xc_dom_arm.c => xg_dom_arm.c} (99%)
 rename tools/libxc/{xc_dom_armzimageloader.c => xg_dom_armzimageloader.c} (99%)
 rename tools/libxc/{xc_dom_binloader.c => xg_dom_binloader.c} (99%)
 rename tools/libxc/{xc_dom_boot.c => xg_dom_boot.c} (99%)
 rename tools/libxc/{xc_dom_bzimageloader.c => xg_dom_bzimageloader.c} (99%)
 rename tools/libxc/{xc_dom_compat_linux.c => xg_dom_compat_linux.c} (99%)
 rename tools/libxc/{xc_dom_core.c => xg_dom_core.c} (99%)
 rename tools/libxc/{xc_dom_decompress.h => xg_dom_decompress.h} (62%)
 rename tools/libxc/{xc_dom_decompress_lz4.c => xg_dom_decompress_lz4.c} (98%)
 rename tools/libxc/{xc_dom_decompress_unsafe.c => xg_dom_decompress_unsafe.c} (96%)
 rename tools/libxc/{xc_dom_decompress_unsafe.h => xg_dom_decompress_unsafe.h} (97%)
 rename tools/libxc/{xc_dom_decompress_unsafe_bzip2.c => xg_dom_decompress_unsafe_bzip2.c} (87%)
 rename tools/libxc/{xc_dom_decompress_unsafe_lzma.c => xg_dom_decompress_unsafe_lzma.c} (87%)
 rename tools/libxc/{xc_dom_decompress_unsafe_lzo1x.c => xg_dom_decompress_unsafe_lzo1x.c} (96%)
 rename tools/libxc/{xc_dom_decompress_unsafe_xz.c => xg_dom_decompress_unsafe_xz.c} (95%)
 rename tools/libxc/{xc_dom_elfloader.c => xg_dom_elfloader.c} (99%)
 rename tools/libxc/{xc_dom_hvmloader.c => xg_dom_hvmloader.c} (99%)
 rename tools/libxc/{xc_dom_x86.c => xg_dom_x86.c} (99%)
 create mode 100644 tools/libxc/xg_domain.c
 rename tools/libxc/{xc_nomigrate.c => xg_nomigrate.c} (100%)
 rename tools/libxc/{xc_offline_page.c => xg_offline_page.c} (99%)
 rename tools/libxc/{xc_sr_common.c => xg_sr_common.c} (99%)
 rename tools/libxc/{xc_sr_common.h => xg_sr_common.h} (99%)
 rename tools/libxc/{xc_sr_common_x86.c => xg_sr_common_x86.c} (99%)
 rename tools/libxc/{xc_sr_common_x86.h => xg_sr_common_x86.h} (98%)
 rename tools/libxc/{xc_sr_common_x86_pv.c => xg_sr_common_x86_pv.c} (99%)
 rename tools/libxc/{xc_sr_common_x86_pv.h => xg_sr_common_x86_pv.h} (98%)
 rename tools/libxc/{xc_sr_restore.c => xg_sr_restore.c} (99%)
 rename tools/libxc/{xc_sr_restore_x86_hvm.c => xg_sr_restore_x86_hvm.c} (99%)
 rename tools/libxc/{xc_sr_restore_x86_pv.c => xg_sr_restore_x86_pv.c} (99%)
 rename tools/libxc/{xc_sr_save.c => xg_sr_save.c} (99%)
 rename tools/libxc/{xc_sr_save_x86_hvm.c => xg_sr_save_x86_hvm.c} (99%)
 rename tools/libxc/{xc_sr_save_x86_pv.c => xg_sr_save_x86_pv.c} (99%)
 rename tools/libxc/{xc_sr_stream_format.h => xg_sr_stream_format.h} (100%)
 rename tools/libxc/{xc_suspend.c => xg_suspend.c} (100%)
 create mode 100644 tools/vchan/Makefile
 rename tools/{libvchan => vchan}/node-select.c (100%)
 rename tools/{libvchan => vchan}/node.c (100%)
 rename tools/{libvchan => vchan}/vchan-socket-proxy.c (100%)
 delete mode 100644 tools/xenstat/Makefile
 rename tools/xenstore/{include => }/xenstore_lib.h (100%)
 rename tools/{xenstat => }/xentop/Makefile (97%)
 rename tools/{xenstat => }/xentop/TODO (100%)
 rename tools/{xenstat => }/xentop/xentop.c (100%)

-- 
2.20.1


Re: [PATCH 00/12] tools: move more libraries into tools/libs
Posted by Stefano Stabellini 3 years, 8 months ago
On Wed, 15 Jul 2020, Ian Jackson wrote:
> [ NB: this patch series is actually from Juergen Gross.
> 
>   It is being experiemntally handled as a Merge Reqeust in gitlab, in
>   part to see what problems there are with that workflow that will
>   need extra tooling or whatever.
> 
>   I have manually generated this series using git-format-patch,
>   scripts/add_maintainers.pl, and git-send-email.  I expect that if we
>   adopt this as a real workflow, we will want to make a robot do some
>   of that.
> 
>   I have set replies to go to the Gitlab comment thread and to
>   xen-devel.  Again this is experimental.  We are likely to need
>   something to automatically collect acks, at the very least.
> 
>   Reviewers: for now, please review this series as normal.  You may
>   reply to the messages by email.  Please, for now, send your replies
>   to gitlab and to the mailing list.  I think I have set the reply-to
>   appropriately.
> 
>   Alternatively you may review the code in the gitlab web UI.  But
>   please do not use the line-by-line comment system: write only to the
>   main MR discussion thread.

Thanks for doing this Ian.

I am curious about this: why not the line-by-line comment system? It
looks like it would be the most similar to emails comments. Is it
because comments done that way cannot be sent via email while the main
MR discussion thread can?

Re: [PATCH 00/12] tools: move more libraries into tools/libs
Posted by Ian Jackson 3 years, 8 months ago
Stefano Stabellini writes ("Re: [PATCH 00/12] tools: move more libraries into tools/libs"):
> On Wed, 15 Jul 2020, Ian Jackson wrote:
> > [ NB: this patch series is actually from Juergen Gross.
> > 
> >   It is being experiemntally handled as a Merge Reqeust in gitlab, in
> >   part to see what problems there are with that workflow that will
> >   need extra tooling or whatever.
> > 
> >   I have manually generated this series using git-format-patch,
> >   scripts/add_maintainers.pl, and git-send-email.  I expect that if we
> >   adopt this as a real workflow, we will want to make a robot do some
> >   of that.
> > 
> >   I have set replies to go to the Gitlab comment thread and to
> >   xen-devel.  Again this is experimental.  We are likely to need
> >   something to automatically collect acks, at the very least.
> > 
> >   Reviewers: for now, please review this series as normal.  You may
> >   reply to the messages by email.  Please, for now, send your replies
> >   to gitlab and to the mailing list.  I think I have set the reply-to
> >   appropriately.
> > 
> >   Alternatively you may review the code in the gitlab web UI.  But
> >   please do not use the line-by-line comment system: write only to the
> >   main MR discussion thread.
> 
> Thanks for doing this Ian.
> 
> I am curious about this: why not the line-by-line comment system? It
> looks like it would be the most similar to emails comments. Is it
> because comments done that way cannot be sent via email while the main
> MR discussion thread can?

Well, they can sort of go by email but they can't be created by email
and the webpage mouse UI is clearly primary for them.

Also they are difficult to archive, so difficult to look at later.

I guess this is an experiemnt, so feel free to try it but be prepared
to c&p many messages manually to the list...

Ian.