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

libvirt: 6.3.0 -> 6.6.0 #99043

Merged
merged 9 commits into from Oct 4, 2020
Merged

Conversation

@basvandijk
Copy link
Member

@basvandijk basvandijk commented Sep 28, 2020

This is #98937 targeted for staging.

Motivation for this change

https://github.com/libvirt/libvirt/blob/master/NEWS.rst#v660-2020-08-02

Things done

Also upgrades python3Packages.libvirt
and patches the rpcgen tool from Apple's developer_cmds package.

  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.
Also upgrades `python3Packages.libvirt`
and patches the `rpcgen` tool from Apple's `developer_cmds` package.
@basvandijk basvandijk requested review from FRidh and jonringer as code owners Sep 28, 2020
@basvandijk basvandijk mentioned this pull request Sep 28, 2020
3 of 10 tasks complete
patches = [
./0001-Fix-build-with-libtirpc.patch
Comment on lines -36 to -37

This comment has been minimized.

@basvandijk

basvandijk Sep 28, 2020
Author Member

Note to reviewers: this patch is in the 6.6.0 release.

];

nativeBuildInputs = [ makeWrapper pkgconfig docutils rpcsvc-proto ]

This comment has been minimized.

@basvandijk

basvandijk Sep 28, 2020
Author Member

Note to reviewers: I made including rpcsvc-proto conditional on !isDarwin since it's not needed on that platform.

buildInputs = [
libxml2 gnutls perl python2 readline gettext libtasn1 libgcrypt yajl
libxslt xhtml1 perlPackages.XMLXPath curl libpcap glib dbus libtirpc

This comment has been minimized.

@basvandijk

basvandijk Sep 28, 2020
Author Member

Note to reviewers: libtirpc is only needed on Linux so I moved it to the optionals stdenv.isLinux section below.

@ajs124
Copy link
Member

@ajs124 ajs124 commented Sep 28, 2020

The reason for going to 6.6.0 instead of 6.7.0 (which has been out for nearly a month) is that 6.7 uses meson, I assume?

Copy link
Contributor

@TredwellGit TredwellGit left a comment

Please:

  • Update http://libvirt.org/ to https://libvirt.org/ and git://libvirt.org/libvirt.git to https://gitlab.com/libvirt/libvirt.git.
  • See if it works with NIX_CFLAGS_COMPILE = "-fno-stack-protector"; removed.
  • "--with-runstatedir=/run" # TODO: remove when autoconf 1.70 is released should say 2.70.
  • See #85562
@basvandijk
Copy link
Member Author

@basvandijk basvandijk commented Sep 29, 2020

@TredwellGit

Done

and git://libvirt.org/libvirt.git to https://gitlab.com/libvirt/libvirt.git.

The official repo seems to be https://libvirt.org/git/libvirt.git so I changed it to that.

  • See if it works with NIX_CFLAGS_COMPILE = "-fno-stack-protector"; removed.

I removed it and can confirm it builds without it (I did test this on master and not on staging).

  • "--with-runstatedir=/run" # TODO: remove when autoconf 1.70 is released should say 2.70.

Done.

Thanks for the reference.

@basvandijk
Copy link
Member Author

@basvandijk basvandijk commented Sep 29, 2020

@ajs124

The reason for going to 6.6.0 instead of 6.7.0 (which has been out for nearly a month) is that 6.7 uses meson, I assume?

Indeed. I have a need for libvirt-6.6.0 because I have a server running that version and I didn't want to go to the trouble figuring out how a build with meson works.

I might look into packaging 6.7.0 after this.

@TredwellGit
Copy link
Contributor

@TredwellGit TredwellGit commented Sep 30, 2020

The official repo seems to be https://libvirt.org/git/libvirt.git so I changed it to that.

Go to https://libvirt.org/git/ and notice how it is a mirror of https://gitlab.com/libvirt/.

Please:

That seems to be the official repository now.
@basvandijk
Copy link
Member Author

@basvandijk basvandijk commented Oct 1, 2020

@TredwellGit there doesn't seem to be a libvirt-6.6.0 release.

I just checked and perlPackages.SysVirt (6.3.0) does build correctly against libvirt-6.6.0. Their commits also indicate that the 6.3.0 perl bindings build against 6.6.0 and 6.7.0. So I think the best course of action is to remove:

assert version == pkgs.libvirt.version; 
SysVirt-6.3.0 should build correctly against libvirt-6.6.0 and also
libvirt-6.7.0 since their were no API changes.

Also note that because of this there's no SysVirt-6.6.0 release.

So this removes the `assert version == pkgs.libvirt.version` protection.
@basvandijk basvandijk requested a review from stigtsp as a code owner Oct 1, 2020
basvandijk and others added 2 commits Oct 1, 2020
Co-authored-by: Stig P <stig@stig.io>
@@ -18419,10 +18419,9 @@ let
SysVirt = buildPerlModule rec {
pname = "Sys-Virt";
version = "6.3.0";
src = assert version == pkgs.libvirt.version; fetchgit {

This comment has been minimized.

@basvandijk

basvandijk Oct 1, 2020
Author Member

Note to reviewers: Sys-Virt-6.3.0 builds correctly with libvirt-6.6.0 (and should also build with libvirt-6.7.0) because there were no API changes in those releases. Because of this reason there are no Sys-Virt-6.6.0 or Sys-Virt-6.7.0 releases.

@basvandijk basvandijk requested a review from stigtsp Oct 1, 2020
@basvandijk basvandijk merged commit d1e26fd into NixOS:staging Oct 4, 2020
19 of 20 checks passed
19 of 20 checks passed
tests tests
Details
action
Details
libvirt, libvirt.passthru.tests on x86_64-darwin
Details
libvirt, libvirt.passthru.tests on aarch64-linux No attempt
Details
Evaluation Performance Report Evaluator Performance Report
Details
Wait for ofborg
Details
grahamcofborg-eval ^.^!
Details
grahamcofborg-eval-check-maintainers matching changed paths to changed attrs...
Details
grahamcofborg-eval-check-meta config.nix: checkMeta = true
Details
grahamcofborg-eval-darwin nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="e366ad9"; rev="e366ad9684cad681069df4e243b346e4b2cd4352"; } ./pkgs/t
Details
grahamcofborg-eval-lib-tests nix-build --arg pkgs import ./. {} ./lib/tests/release.nix
Details
grahamcofborg-eval-nixos nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="e366ad9"; rev="e366ad9684cad681069df4e243b346e4b2cd4352"; } ./nixos/
Details
grahamcofborg-eval-nixos-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="e366ad9"; rev="e366ad9684cad681069df4e243b346e4b2cd4352"; } ./nixos/
Details
grahamcofborg-eval-nixos-options nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="e366ad9"; rev="e366ad9684cad681069df4e243b346e4b2cd4352"; } ./nixos/
Details
grahamcofborg-eval-nixpkgs-manual nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="e366ad9"; rev="e366ad9684cad681069df4e243b346e4b2cd4352"; } ./pkgs/t
Details
grahamcofborg-eval-nixpkgs-tarball nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="e366ad9"; rev="e366ad9684cad681069df4e243b346e4b2cd4352"; } ./pkgs/t
Details
grahamcofborg-eval-nixpkgs-unstable-jobset nix-instantiate --arg nixpkgs { outPath=./.; revCount=999999; shortRev="e366ad9"; rev="e366ad9684cad681069df4e243b346e4b2cd4352"; } ./pkgs/t
Details
grahamcofborg-eval-package-list nix-env -qa --json --file .
Details
grahamcofborg-eval-package-list-no-aliases nix-env -qa --json --file . --arg config { allowAliases = false; }
Details
libvirt, libvirt.passthru.tests on x86_64-linux Success
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

4 participants
You can’t perform that action at this time.