Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package virtme for openSUSE:Factory checked in at 2024-05-07 18:05:06 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/virtme (Old) and /work/SRC/openSUSE:Factory/.virtme.new.1880 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "virtme" Tue May 7 18:05:06 2024 rev:13 rq:1172443 version:1.24 Changes: -------- --- /work/SRC/openSUSE:Factory/virtme/virtme.changes 2024-04-02 16:40:30.497020729 +0200 +++ /work/SRC/openSUSE:Factory/.virtme.new.1880/virtme.changes 2024-05-07 18:05:45.691650880 +0200 @@ -1,0 +2,13 @@ +Fri May 3 20:55:04 UTC 2024 - Michael Vetter <mvet...@suse.com> + +- Update to 1.24: + * The most noticeable changes include the support for the loop + network type and the possibility to specify the --network + command multipe times, both useful for kernel selftests testing + * Moreover, there is a boot-time improvement in environments where + the kvm acceleration is not available, such as container, cloud + environments, etc. (using the q35 arch in qemu). + * Notably, this new version is expected to enhance the performance + of GitHub workflows that use virtme-ng. + +------------------------------------------------------------------- Old: ---- virtme-ng-1.23.tar.xz New: ---- virtme-ng-1.24.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ virtme.spec ++++++ --- /var/tmp/diff_new_pack.vtIBT4/_old 2024-05-07 18:05:46.175668479 +0200 +++ /var/tmp/diff_new_pack.vtIBT4/_new 2024-05-07 18:05:46.175668479 +0200 @@ -22,7 +22,7 @@ %global pythons python311 %endif Name: virtme -Version: 1.23 +Version: 1.24 Release: 0 Summary: Tools for virtualize the running distro or a rootfs License: GPL-2.0-only ++++++ _service ++++++ --- /var/tmp/diff_new_pack.vtIBT4/_old 2024-05-07 18:05:46.207669643 +0200 +++ /var/tmp/diff_new_pack.vtIBT4/_new 2024-05-07 18:05:46.211669788 +0200 @@ -3,7 +3,7 @@ <param name="url">https://github.com/arighi/virtme-ng.git</param> <param name="scm">git</param> <param name="submodules">enable</param> - <param name="revision">v1.23</param> + <param name="revision">v1.24</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> <param name="versionrewrite-replacement">\1</param> ++++++ virtme-ng-1.23.tar.xz -> virtme-ng-1.24.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/virtme-ng-1.23/README.md new/virtme-ng-1.24/README.md --- old/virtme-ng-1.23/README.md 2024-03-29 09:06:04.000000000 +0100 +++ new/virtme-ng-1.24/README.md 2024-05-03 12:29:07.000000000 +0200 @@ -184,7 +184,7 @@ - Run the previously compiled kernel from the current working directory and enable networking: ``` - $ vng --network user + $ vng --net user ``` - Run the previously compiled kernel adding an additional virtio-scsi device: @@ -400,7 +400,7 @@ $ groups | grep "kvm\|libvirt" ``` - - When using `--network bridge` to create a bridged network in the guest you + - When using `--net bridge` to create a bridged network in the guest you may get the following error: ``` ... diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/virtme-ng-1.23/virtme/architectures.py new/virtme-ng-1.24/virtme/architectures.py --- old/virtme-ng-1.23/virtme/architectures.py 2024-03-29 09:06:04.000000000 +0100 +++ new/virtme-ng-1.24/virtme/architectures.py 2024-05-03 12:29:07.000000000 +0200 @@ -104,6 +104,8 @@ # If we're likely to use KVM, request a full-featured CPU. # (NB: if KVM fails, this will cause problems. We should probe.) ret.extend(["-cpu", "host"]) # We can't migrate regardless. + else: + ret.extend(["-machine", "q35"]) return ret diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/virtme-ng-1.23/virtme/commands/configkernel.py new/virtme-ng-1.24/virtme/commands/configkernel.py --- old/virtme-ng-1.23/virtme/commands/configkernel.py 2024-03-29 09:06:04.000000000 +0100 +++ new/virtme-ng-1.24/virtme/commands/configkernel.py 2024-05-03 12:29:07.000000000 +0200 @@ -282,7 +282,7 @@ linuxname = shlex.quote(arch.linuxname) archargs = [f"ARCH={linuxname}"] - if shutil.which(f"{arch.gccname}-linux-gnu-gcc"): + if shutil.which(f"{arch.gccname}-linux-gnu-gcc") and arch.gccname != uname.machine: gccname = shlex.quote(f"{arch.gccname}-linux-gnu-") archargs.append(f"CROSS_COMPILE={gccname}") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/virtme-ng-1.23/virtme/commands/run.py new/virtme-ng-1.24/virtme/commands/run.py --- old/virtme-ng-1.23/virtme/commands/run.py 2024-03-29 09:06:04.000000000 +0100 +++ new/virtme-ng-1.24/virtme/commands/run.py 2024-05-03 12:29:07.000000000 +0200 @@ -112,10 +112,10 @@ ) g.add_argument( "--net", - action="store", + action="append", const="user", nargs="?", - choices=["user", "bridge"], + choices=["user", "bridge", "loop"], help="Enable basic network access.", ) g.add_argument( @@ -587,6 +587,7 @@ f"{self.guest_tools_path}/bin/virtiofsd", which("virtiofsd"), "/usr/libexec/virtiofsd", + "/usr/lib/virtiofsd", "/usr/lib/qemu/virtiofsd", ) for path in possible_paths: @@ -1233,16 +1234,29 @@ qemuargs.extend(video_args) if args.net: - qemuargs.extend(["-device", "%s,netdev=n0" % arch.virtio_dev_type("net")]) - if args.net == "user": - qemuargs.extend(["-netdev", "user,id=n0"]) - elif args.net == "bridge": - qemuargs.extend(["-netdev", "bridge,id=n0,br=virbr0"]) - else: - assert False + extend_dhcp = False + index = 0 + for net in args.net: + qemuargs.extend(["-device", "%s,netdev=n%d" % (arch.virtio_dev_type("net"), index)]) + if net == "user": + qemuargs.extend(["-netdev", "user,id=n%d" % index]) + extend_dhcp = True + elif net == "bridge": + qemuargs.extend(["-netdev", "bridge,id=n%d,br=virbr0" % index]) + extend_dhcp = True + elif net == "loop": + hubid = index + qemuargs.extend(["-netdev", "hubport,id=n%d,hubid=%d" % (index, hubid)]) + index += 1 + qemuargs.extend(["-device", "%s,netdev=n%d" % (arch.virtio_dev_type("net"), index)]) + qemuargs.extend(["-netdev", "hubport,id=n%d,hubid=%d" % (index, hubid)]) + else: + assert False + index += 1 + if extend_dhcp: + kernelargs.extend(["virtme.dhcp"]) kernelargs.extend( [ - "virtme.dhcp", # Prevent annoying interface renaming "net.ifnames=0", "biosdevname=0", diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/virtme-ng-1.23/virtme_ng/run.py new/virtme-ng-1.24/virtme_ng/run.py --- old/virtme-ng-1.23/virtme_ng/run.py 2024-03-29 09:06:04.000000000 +0100 +++ new/virtme-ng-1.24/virtme_ng/run.py 2024-05-03 12:29:07.000000000 +0200 @@ -311,8 +311,8 @@ parser.add_argument( "--network", "-n", - action="store", - metavar="user|bridge", + action="append", + choices=['user', 'bridge', 'loop'], help="Enable network access", ) @@ -845,7 +845,8 @@ def _get_virtme_network(self, args): if args.network is not None: - self.virtme_param["network"] = f"--net {args.network}" + network_str = " ".join([f"--net {network}" for network in args.network]) + self.virtme_param["network"] = network_str else: self.virtme_param["network"] = "" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/virtme-ng-1.23/virtme_ng/version.py new/virtme-ng-1.24/virtme_ng/version.py --- old/virtme-ng-1.23/virtme_ng/version.py 2024-03-29 09:06:04.000000000 +0100 +++ new/virtme-ng-1.24/virtme_ng/version.py 2024-05-03 12:29:07.000000000 +0200 @@ -3,7 +3,7 @@ """virtme-ng version""" -VERSION = "1.23" +VERSION = "1.24" if __name__ == '__main__': print(VERSION) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/virtme-ng-1.23/virtme_ng_init/Cargo.lock new/virtme-ng-1.24/virtme_ng_init/Cargo.lock --- old/virtme-ng-1.23/virtme_ng_init/Cargo.lock 1970-01-01 01:00:00.000000000 +0100 +++ new/virtme-ng-1.24/virtme_ng_init/Cargo.lock 2024-05-03 12:29:07.000000000 +0200 @@ -0,0 +1,86 @@ +# This file is automatically @generated by Cargo. +# It is not intended for manual editing. +version = 3 + +[[package]] +name = "autocfg" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa" + +[[package]] +name = "base64" +version = "0.21.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" + +[[package]] +name = "bitflags" +version = "1.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" + +[[package]] +name = "cfg-if" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" + +[[package]] +name = "libc" +version = "0.2.153" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" + +[[package]] +name = "log" +version = "0.4.21" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" + +[[package]] +name = "memoffset" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +dependencies = [ + "autocfg", +] + +[[package]] +name = "nix" +version = "0.26.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "598beaf3cc6fdd9a5dfb1630c2800c7acd31df7aaf0f565796fba2b53ca1af1b" +dependencies = [ + "bitflags", + "cfg-if", + "libc", + "memoffset", + "pin-utils", +] + +[[package]] +name = "pin-utils" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184" + +[[package]] +name = "users" +version = "0.11.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "24cc0f6d6f267b73e5a2cadf007ba8f9bc39c6a6f9666f8cf25ea809a153b032" +dependencies = [ + "libc", + "log", +] + +[[package]] +name = "virtme-ng-init" +version = "0.1.0" +dependencies = [ + "base64", + "nix", + "users", +]