Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

python3Packages.xen: init at 4.19.0 #345171

Merged
merged 1 commit into from
Oct 1, 2024
Merged

Conversation

CertainLach
Copy link
Member

@CertainLach CertainLach commented Sep 28, 2024

Description of changes

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@CertainLach CertainLach requested review from SigmaSquadron and emilazy and removed request for natsukium September 28, 2024 19:46
@github-actions github-actions bot added 6.topic: python 6.topic: xen-project The Xen Project hypervisor labels Sep 28, 2024
@@ -17550,6 +17550,10 @@ self: super: with self; {
inherit (pkgs) graphviz;
};

xen = toPythonModule (pkgs.xen-slim.override {
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Using xen-slim causes duplication of xen package in system closure, but xen can't be built with internal qemu on latest python.

I haven't found a good way to only build python package out of xen source tree, but it might be made better in future with dedicated python output.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm still not exactly sure why we're shipping 24.11 with a clearly broken Meson. Have you tried using 3.12 but overriding the python package to include setuptools? I tried it myself a few weeks ago but didn't have any success, but it's probably because I'm not very familiar with the python ecosystem.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have tried adding setuptools to meson package itself, and it didn't work for me. Meson does something clever/stupid and can't find setuptools this way.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

...Python module is not required for qubes, as qubes has its own qubes-vmm-xen based off xen-slim, and we can only include relevant xen changes, but I wanted to add xen python package itself for easier testing.

@SigmaSquadron
Copy link
Contributor

So, if I understood this correctly, xen is still being built with 3.11, and xen-slim (and qubes-vmm-xen) will use an unpinned python?

@ofborg ofborg bot added the 8.has: package (new) This PR adds a new package label Sep 28, 2024
@ofborg ofborg bot requested review from hehongbo and SigmaSquadron September 28, 2024 20:26
@ofborg ofborg bot added 11.by: package-maintainer This PR was created by the maintainer of the package it changes 10.rebuild-darwin: 1-10 10.rebuild-linux: 11-100 labels Sep 28, 2024
@CertainLach
Copy link
Member Author

CertainLach commented Sep 28, 2024

xen-slim will use python 3.11 by default too, as it is based on xen and I don't override it here. fixed.

python3Packages.xen will is pinned to whatever version this package set is pinned to (python311Packages set will have it built with python 3.11, python312Packages with python 3.12, python310 with python 3.10).

So, xen will be built for every supported python version here, and this is why I would like if we manage to build python package without building rest of xen.

@CertainLach CertainLach force-pushed the xen/python-package branch 2 times, most recently from ebf4d6b to 7b9c9c9 Compare September 28, 2024 20:36
@SigmaSquadron SigmaSquadron added the 12.approvals: 1 This PR was reviewed and approved by one reputable person label Sep 28, 2024
@CertainLach
Copy link
Member Author

CertainLach commented Sep 28, 2024

Why...

Result of nixpkgs-review pr 345171:

1 package marked as broken and skipped:
qubes-core-vchan-xen

8 packages failed to build:
qemu_xen_4_17 qemu_xen_4_17.debug qemu_xen_4_17.ga xenPackages.xen_4_17-slim xenPackages.xen_4_17-slim.boot xenPackages.xen_4_17-slim.dev xenPackages.xen_4_17-slim.doc xenPackages.xen_4_17-slim.man

   > Traceback (most recent call last):
   >   File "/build/xen-430ce6c/tools/python/setup.py", line 2, in <module>
   >     from distutils.core import setup, Extension
   > ModuleNotFoundError: No module named 'distutils'
   > make[4]: *** [Makefile:24: install] Error 1
   > make[4]: Leaving directory '/build/xen-430ce6c/tools/python'
   > make[3]: *** [/build/xen-430ce6c/tools/../tools/Rules.mk:204: subdir-install-python] Error 2
   > make[3]: Leaving directory '/build/xen-430ce6c/tools'
   > make[2]: *** [/build/xen-430ce6c/tools/../tools/Rules.mk:199: subdirs-install] Error 2
   > make[2]: Leaving directory '/build/xen-430ce6c/tools'
   > make[1]: *** [Makefile:65: install] Error 2
   > make[1]: Leaving directory '/build/xen-430ce6c/tools'
   > make: *** [Makefile:147: install-tools] Error 2
   For full logs, run 'nix log /nix/store/q60mm828jzxvs217p1zrrkg51qqds99n-xen-4.17.5.drv'.

@SigmaSquadron
Copy link
Contributor

Huh, did it only fail with 4.17?

@SigmaSquadron SigmaSquadron removed the 12.approvals: 1 This PR was reviewed and approved by one reputable person label Sep 28, 2024
@SigmaSquadron SigmaSquadron self-requested a review September 28, 2024 21:20
@CertainLach
Copy link
Member Author

CertainLach commented Sep 28, 2024

Yep, only on 4.17. So, adding setuptools breaks distutils?..

@SigmaSquadron
Copy link
Contributor

if emily sees this she'll tell us to yeet 4.17

Can we add a version condition to include distutils at version 4.17 and yeet it when it goes EOL?

@CertainLach
Copy link
Member Author

Result of nixpkgs-review pr 345171 run on x86_64-linux 1

1 package marked as broken and skipped:
  • qubes-core-vchan-xen
8 packages failed to build:
  • qemu_xen_4_17
  • qemu_xen_4_17.debug
  • qemu_xen_4_17.ga
  • xenPackages.xen_4_17-slim
  • xenPackages.xen_4_17-slim.boot
  • xenPackages.xen_4_17-slim.dev
  • xenPackages.xen_4_17-slim.doc
  • xenPackages.xen_4_17-slim.man
76 packages built:
  • appvm
  • collectd
  • diffoscope
  • diffoscope.dist
  • diffoscope.man
  • docker-machine-kvm2
  • gnome-boxes
  • guestfs-tools
  • htcondor
  • libguestfs
  • libguestfs-with-appliance
  • librenms
  • libvirt
  • libvirt-glib
  • libvirt-glib.dev
  • libvirt-glib.devdoc
  • libvmi
  • libvmi.dev
  • libvmi.lib
  • mgmt
  • minikube
  • multipass
  • ocamlPackages.ocaml_libvirt
  • perl536Packages.SysVirt
  • perl536Packages.SysVirt.devdoc
  • perl538Packages.SysVirt
  • perl538Packages.SysVirt.devdoc
  • python311Packages.guestfs
  • python311Packages.guestfs.dist
  • python311Packages.libvirt
  • python311Packages.libvirt.dist
  • python311Packages.xen
  • python311Packages.xen.boot
  • python311Packages.xen.dev
  • python311Packages.xen.doc
  • python311Packages.xen.man
  • python312Packages.guestfs
  • python312Packages.guestfs.dist
  • python312Packages.libvirt
  • python312Packages.libvirt.dist
  • xen-slim (python312Packages.xen)
  • xen-slim.boot (python312Packages.xen.boot)
  • xen-slim.dev (python312Packages.xen.dev)
  • xen-slim.doc (python312Packages.xen.doc)
  • xen-slim.man (python312Packages.xen.man)
  • qemu_xen
  • qemu_xen.debug
  • qemu_xen.ga
  • qemu_xen_4_18
  • qemu_xen_4_18.debug
  • qemu_xen_4_18.ga
  • rubyPackages.ruby-libvirt
  • rubyPackages_3_1.ruby-libvirt
  • rubyPackages_3_2.ruby-libvirt
  • vagrant
  • virt-manager
  • virt-manager-qt
  • virt-manager.dist
  • virt-top
  • virt-viewer
  • xen
  • xen-guest-agent
  • xen.boot
  • xen.dev
  • xen.doc
  • xen.man
  • xenPackages.xen_4_18
  • xenPackages.xen_4_18-slim
  • xenPackages.xen_4_18-slim.boot
  • xenPackages.xen_4_18-slim.dev
  • xenPackages.xen_4_18-slim.doc
  • xenPackages.xen_4_18-slim.man
  • xenPackages.xen_4_18.boot
  • xenPackages.xen_4_18.dev
  • xenPackages.xen_4_18.doc
  • xenPackages.xen_4_18.man

@CertainLach
Copy link
Member Author

CertainLach commented Sep 28, 2024

Oh, it has failed again? Didn't noticed that, I thought everything is ok. Ah, that's 4.17-slim that's failing, due to newer python being used.

I'll just switch it to python311 for 4.17-slim build.

@CertainLach
Copy link
Member Author

Result of nixpkgs-review pr 345171 run on x86_64-linux 1

1 package marked as broken and skipped:
  • qubes-core-vchan-xen
89 packages built:
  • appvm
  • collectd
  • diffoscope
  • diffoscope.dist
  • diffoscope.man
  • docker-machine-kvm2
  • gnome-boxes
  • guestfs-tools
  • htcondor
  • libguestfs
  • libguestfs-with-appliance
  • librenms
  • libvirt
  • libvirt-glib
  • libvirt-glib.dev
  • libvirt-glib.devdoc
  • libvmi
  • libvmi.dev
  • libvmi.lib
  • mgmt
  • minikube
  • multipass
  • ocamlPackages.ocaml_libvirt
  • perl536Packages.SysVirt
  • perl536Packages.SysVirt.devdoc
  • perl538Packages.SysVirt
  • perl538Packages.SysVirt.devdoc
  • python311Packages.guestfs
  • python311Packages.guestfs.dist
  • python311Packages.libvirt
  • python311Packages.libvirt.dist
  • python311Packages.xen
  • python311Packages.xen.boot
  • python311Packages.xen.dev
  • python311Packages.xen.doc
  • python311Packages.xen.man
  • python312Packages.guestfs
  • python312Packages.guestfs.dist
  • python312Packages.libvirt
  • python312Packages.libvirt.dist
  • xen-slim (python312Packages.xen)
  • xen-slim.boot (python312Packages.xen.boot)
  • xen-slim.dev (python312Packages.xen.dev)
  • xen-slim.doc (python312Packages.xen.doc)
  • xen-slim.man (python312Packages.xen.man)
  • qemu_xen
  • qemu_xen.debug
  • qemu_xen.ga
  • qemu_xen_4_17
  • qemu_xen_4_17.debug
  • qemu_xen_4_17.ga
  • qemu_xen_4_18
  • qemu_xen_4_18.debug
  • qemu_xen_4_18.ga
  • rubyPackages.ruby-libvirt
  • rubyPackages_3_1.ruby-libvirt
  • rubyPackages_3_2.ruby-libvirt
  • vagrant
  • virt-manager
  • virt-manager-qt
  • virt-manager.dist
  • virt-top
  • virt-viewer
  • xen
  • xen-guest-agent
  • xen.boot
  • xen.dev
  • xen.doc
  • xen.man
  • xenPackages.xen_4_17
  • xenPackages.xen_4_17-slim
  • xenPackages.xen_4_17-slim.boot
  • xenPackages.xen_4_17-slim.dev
  • xenPackages.xen_4_17-slim.doc
  • xenPackages.xen_4_17-slim.man
  • xenPackages.xen_4_17.boot
  • xenPackages.xen_4_17.dev
  • xenPackages.xen_4_17.doc
  • xenPackages.xen_4_17.man
  • xenPackages.xen_4_18
  • xenPackages.xen_4_18-slim
  • xenPackages.xen_4_18-slim.boot
  • xenPackages.xen_4_18-slim.dev
  • xenPackages.xen_4_18-slim.doc
  • xenPackages.xen_4_18-slim.man
  • xenPackages.xen_4_18.boot
  • xenPackages.xen_4_18.dev
  • xenPackages.xen_4_18.doc
  • xenPackages.xen_4_18.man

Copy link
Contributor

@digitalrane digitalrane left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, and build seems happy with using Python311 for 4.17*

@SigmaSquadron SigmaSquadron added 12.approvals: 1 This PR was reviewed and approved by one reputable person 12.approved-by: package-maintainer This PR was reviewed and approved by a maintainer listed in the package labels Sep 28, 2024
@CertainLach
Copy link
Member Author

CertainLach commented Sep 29, 2024

Result of nixpkgs-review pr 345171 run on x86_64-linux 1

1 package marked as broken and skipped:
  • qubes-core-vchan-xen
67 packages failed to build:
  • appvm
  • collectd
  • diffoscope
  • diffoscope.dist
  • diffoscope.man
  • docker-machine-kvm2
  • gnome-boxes
  • guestfs-tools
  • htcondor
  • libguestfs
  • libguestfs-with-appliance
  • librenms
  • libvirt
  • libvirt-glib
  • libvirt-glib.dev
  • libvirt-glib.devdoc
  • libvmi
  • libvmi.dev
  • libvmi.lib
  • mgmt
  • minikube
  • multipass
  • ocamlPackages.ocaml_libvirt
  • perl536Packages.SysVirt
  • perl536Packages.SysVirt.devdoc
  • perl538Packages.SysVirt
  • perl538Packages.SysVirt.devdoc
  • python311Packages.guestfs
  • python311Packages.guestfs.dist
  • python311Packages.libvirt
  • python311Packages.libvirt.dist
  • python312Packages.guestfs
  • python312Packages.guestfs.dist
  • python312Packages.libvirt
  • python312Packages.libvirt.dist
  • qemu_xen_4_17
  • qemu_xen_4_17.debug
  • qemu_xen_4_17.ga
  • rubyPackages.ruby-libvirt
  • rubyPackages_3_1.ruby-libvirt
  • rubyPackages_3_2.ruby-libvirt
  • vagrant
  • virt-manager
  • virt-manager-qt
  • virt-manager.dist
  • virt-top
  • virt-viewer
  • xen
  • xen.boot
  • xen.dev
  • xen.doc
  • xen.man
  • xenPackages.xen_4_17
  • xenPackages.xen_4_17-slim
  • xenPackages.xen_4_17-slim.boot
  • xenPackages.xen_4_17-slim.dev
  • xenPackages.xen_4_17-slim.doc
  • xenPackages.xen_4_17-slim.man
  • xenPackages.xen_4_17.boot
  • xenPackages.xen_4_17.dev
  • xenPackages.xen_4_17.doc
  • xenPackages.xen_4_17.man
  • xenPackages.xen_4_18
  • xenPackages.xen_4_18.boot
  • xenPackages.xen_4_18.dev
  • xenPackages.xen_4_18.doc
  • xenPackages.xen_4_18.man
22 packages built:
  • python311Packages.xen
  • python311Packages.xen.boot
  • python311Packages.xen.dev
  • python311Packages.xen.doc
  • python311Packages.xen.man
  • xen-slim (python312Packages.xen)
  • xen-slim.boot (python312Packages.xen.boot)
  • xen-slim.dev (python312Packages.xen.dev)
  • xen-slim.doc (python312Packages.xen.doc)
  • xen-slim.man (python312Packages.xen.man)
  • qemu_xen
  • qemu_xen.debug
  • qemu_xen.ga
  • qemu_xen_4_18
  • qemu_xen_4_18.debug
  • qemu_xen_4_18.ga
  • xen-guest-agent
  • xenPackages.xen_4_18-slim
  • xenPackages.xen_4_18-slim.boot
  • xenPackages.xen_4_18-slim.dev
  • xenPackages.xen_4_18-slim.doc
  • xenPackages.xen_4_18-slim.man

...forgot about overrides in xen/packages.nix

@CertainLach
Copy link
Member Author

Result of nixpkgs-review pr 345171 run on x86_64-linux 1

1 package marked as broken and skipped:
  • qubes-core-vchan-xen
89 packages built:
  • appvm
  • collectd
  • diffoscope
  • diffoscope.dist
  • diffoscope.man
  • docker-machine-kvm2
  • gnome-boxes
  • guestfs-tools
  • htcondor
  • libguestfs
  • libguestfs-with-appliance
  • librenms
  • libvirt
  • libvirt-glib
  • libvirt-glib.dev
  • libvirt-glib.devdoc
  • libvmi
  • libvmi.dev
  • libvmi.lib
  • mgmt
  • minikube
  • multipass
  • ocamlPackages.ocaml_libvirt
  • perl536Packages.SysVirt
  • perl536Packages.SysVirt.devdoc
  • perl538Packages.SysVirt
  • perl538Packages.SysVirt.devdoc
  • python311Packages.guestfs
  • python311Packages.guestfs.dist
  • python311Packages.libvirt
  • python311Packages.libvirt.dist
  • python311Packages.xen
  • python311Packages.xen.boot
  • python311Packages.xen.dev
  • python311Packages.xen.doc
  • python311Packages.xen.man
  • python312Packages.guestfs
  • python312Packages.guestfs.dist
  • python312Packages.libvirt
  • python312Packages.libvirt.dist
  • xen-slim (python312Packages.xen)
  • xen-slim.boot (python312Packages.xen.boot)
  • xen-slim.dev (python312Packages.xen.dev)
  • xen-slim.doc (python312Packages.xen.doc)
  • xen-slim.man (python312Packages.xen.man)
  • qemu_xen
  • qemu_xen.debug
  • qemu_xen.ga
  • qemu_xen_4_17
  • qemu_xen_4_17.debug
  • qemu_xen_4_17.ga
  • qemu_xen_4_18
  • qemu_xen_4_18.debug
  • qemu_xen_4_18.ga
  • rubyPackages.ruby-libvirt
  • rubyPackages_3_1.ruby-libvirt
  • rubyPackages_3_2.ruby-libvirt
  • vagrant
  • virt-manager
  • virt-manager-qt
  • virt-manager.dist
  • virt-top
  • virt-viewer
  • xen
  • xen-guest-agent
  • xen.boot
  • xen.dev
  • xen.doc
  • xen.man
  • xenPackages.xen_4_17
  • xenPackages.xen_4_17-slim
  • xenPackages.xen_4_17-slim.boot
  • xenPackages.xen_4_17-slim.dev
  • xenPackages.xen_4_17-slim.doc
  • xenPackages.xen_4_17-slim.man
  • xenPackages.xen_4_17.boot
  • xenPackages.xen_4_17.dev
  • xenPackages.xen_4_17.doc
  • xenPackages.xen_4_17.man
  • xenPackages.xen_4_18
  • xenPackages.xen_4_18-slim
  • xenPackages.xen_4_18-slim.boot
  • xenPackages.xen_4_18-slim.dev
  • xenPackages.xen_4_18-slim.doc
  • xenPackages.xen_4_18-slim.man
  • xenPackages.xen_4_18.boot
  • xenPackages.xen_4_18.dev
  • xenPackages.xen_4_18.doc
  • xenPackages.xen_4_18.man

@ofborg ofborg bot requested a review from digitalrane September 29, 2024 01:58
@SigmaSquadron SigmaSquadron mentioned this pull request Sep 29, 2024
13 tasks
@SigmaSquadron SigmaSquadron added 12.approvals: 2 This PR was reviewed and approved by two reputable people and removed 12.approvals: 1 This PR was reviewed and approved by one reputable person labels Sep 29, 2024
@hehongbo hehongbo added 12.approvals: 3+ This PR was reviewed and approved by three or more reputable people and removed 12.approvals: 2 This PR was reviewed and approved by two reputable people labels Oct 1, 2024
@h7x4 h7x4 merged commit 2193f8e into NixOS:master Oct 1, 2024
24 checks passed
@CertainLach CertainLach deleted the xen/python-package branch October 1, 2024 19:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: python 6.topic: xen-project The Xen Project hypervisor 8.has: package (new) This PR adds a new package 10.rebuild-darwin: 1-10 10.rebuild-linux: 11-100 11.by: package-maintainer This PR was created by the maintainer of the package it changes 12.approvals: 3+ This PR was reviewed and approved by three or more reputable people 12.approved-by: package-maintainer This PR was reviewed and approved by a maintainer listed in the package
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants