Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package virtme for openSUSE:Factory checked 
in at 2025-12-09 12:48:41
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/virtme (Old)
 and      /work/SRC/openSUSE:Factory/.virtme.new.1939 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "virtme"

Tue Dec  9 12:48:41 2025 rev:29 rq:1321533 version:1.40

Changes:
--------
--- /work/SRC/openSUSE:Factory/virtme/virtme.changes    2025-12-02 
13:21:08.261324338 +0100
+++ /work/SRC/openSUSE:Factory/.virtme.new.1939/virtme.changes  2025-12-09 
12:56:07.658508014 +0100
@@ -1,0 +2,11 @@
+Mon Dec  8 09:29:40 UTC 2025 - Michael Vetter <[email protected]>
+
+- Update to 1.40:
+  * No significant change, this is just a very small hotfix release
+    to solve a packaging problem introduced by a conflict with the
+    new vng-mcp tool.
+  * While at it, there're also some small improved hints in the MCP
+    server, so that AI agents can better understand how to build
+    the kernel using vng --build.
+
+-------------------------------------------------------------------

Old:
----
  virtme-ng-1.39.tar.xz

New:
----
  virtme-ng-1.40.tar.xz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ virtme.spec ++++++
--- /var/tmp/diff_new_pack.ZtKGiO/_old  2025-12-09 12:56:08.518544293 +0100
+++ /var/tmp/diff_new_pack.ZtKGiO/_new  2025-12-09 12:56:08.522544462 +0100
@@ -22,7 +22,7 @@
 %global pythons python311
 %endif
 Name:           virtme
-Version:        1.39
+Version:        1.40
 Release:        0
 Summary:        Tools for virtualize the running distro or a rootfs
 License:        GPL-2.0-only

++++++ _service ++++++
--- /var/tmp/diff_new_pack.ZtKGiO/_old  2025-12-09 12:56:08.562546149 +0100
+++ /var/tmp/diff_new_pack.ZtKGiO/_new  2025-12-09 12:56:08.574546655 +0100
@@ -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.39</param>
+    <param name="revision">v1.40</param>
        <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="versionrewrite-replacement">\1</param>

++++++ virtme-ng-1.39.tar.xz -> virtme-ng-1.40.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virtme-ng-1.39/setup.py new/virtme-ng-1.40/setup.py
--- old/virtme-ng-1.39/setup.py 2025-11-30 09:32:15.000000000 +0100
+++ new/virtme-ng-1.40/setup.py 2025-12-01 16:42:44.000000000 +0100
@@ -168,7 +168,6 @@
     package_data={"virtme.guest": package_files},
     data_files=data_files,
     scripts=[
-        "vng-mcp",
         "bin/virtme-prep-kdir-mods",
         "bin/virtme-ssh-proxy",
     ],
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virtme-ng-1.39/virtme_ng/mcp.py 
new/virtme-ng-1.40/virtme_ng/mcp.py
--- old/virtme-ng-1.39/virtme_ng/mcp.py 2025-11-30 09:32:15.000000000 +0100
+++ new/virtme-ng-1.40/virtme_ng/mcp.py 2025-12-01 16:42:44.000000000 +0100
@@ -5,27 +5,121 @@
 MCP Server for virtme-ng - Kernel development and testing tools
 Provides tools for AI agents to configure and test Linux kernels
 
-IMPORTANT NOTE FOR AI AGENTS:
+IMPORTANT NOTES FOR AI AGENTS:
 ================================
-virtme-ng (vng) requires a valid pseudo-terminal (PTS) to run. In automated
-environments without a real terminal, vng commands will fail with:
-  "ERROR: not a valid pts, try to run vng with a valid PTS (e.g., inside tmux 
or screen)"
-
-This MCP server automatically handles the PTS requirement by using the 
'script' command,
-which provides a pseudo-terminal:
-
-  Instead of:  vng -- uname -r
-  Use:         script -q -c "vng -- uname -r" /dev/null 2>&1
-
-AI agents should:
-1. Use this MCP server's run_kernel tool (recommended - handles PTS 
automatically)
-2. If using shell commands directly, use 'script' to provide a PTS:
-   script -q -c "vng -- command" /dev/null 2>&1
-
-The 'script' command:
-  -q: Quiet mode (no script start/stop messages)
-  -c: Execute command and exit
-  /dev/null: Discard the typescript file (we only need stdout/stderr)
+
+1. BUILDING KERNELS - Prefer 'vng -v --build' over make
+   ----------------------------------------------------
+   When a user asks to test a kernel that hasn't been built yet, use
+   'vng -v --build' instead of running 'make' directly. This is faster,
+   more reliable, and handles configuration automatically.
+
+   Why use vng -v --build:
+   - Automatically generates minimal .config if missing (saves time)
+   - Optimized for quick builds (compiles only what's needed for testing)
+   - Builds typically complete in minutes instead of hours
+   - Supports remote build hosts for cross-compilation
+   - Handles all build dependencies and options correctly
+
+   Basic build command:
+     vng -v --build
+
+   Build specific commit/tag:
+     vng -v --build --commit v6.2-rc4
+
+   Build with custom config items:
+     vng -v --build --configitem CONFIG_KASAN=y --configitem 
CONFIG_DEBUG_INFO=y
+
+   Build on remote host "builder" (for cross-compilation or distributed 
builds):
+     vng -v --build --build-host builder
+
+   Build with environment variables (e.g., Rust support):
+     vng -v --build RUSTC=rustc-1.62 BINDGEN=bindgen-0.56
+
+   Build for different architecture:
+     vng -v --build --arch arm64 --root /opt/chroot/arm64/
+
+   IMPORTANT: vng -v --build can take a long time for full builds. Use
+   appropriate timeout values and monitor the output.
+
+   Remote Build Host (--build-host):
+   --------------------------------
+   When the user asks to build on a remote host, remote server, build server,
+   or specifies a hostname for building, use the --build-host option.
+
+   Examples of user requests that indicate remote builds:
+   - "build the kernel on my build server called 'builder'"
+   - "compile this on the remote host 'myserver'"
+   - "use my build machine to compile this"
+   - "build on <hostname>"
+
+   Command format:
+     vng -v --build --build-host <hostname>
+
+   How it works:
+   - The source is pushed to ~/.virtme on the remote host via SSH
+   - The build happens on the remote host
+   - Only required files (bzImage, modules, etc.) are copied back after build
+   - Useful for cross-compilation or using powerful build servers
+
+   Examples:
+     vng -v --build --build-host myserver
+     vng -v --build --build-host builder
+     vng -v --build --build-host build01.example.com
+     vng -v --build --build-host builder --arch arm64
+
+2. PTS (Pseudo-Terminal) Requirement
+   -----------------------------------
+   virtme-ng (vng) requires a valid pseudo-terminal (PTS) to run. In automated
+   environments without a real terminal, vng commands will fail with:
+     "ERROR: not a valid pts, try to run vng with a valid PTS (e.g., inside 
tmux or screen)"
+
+   This MCP server's run_kernel tool automatically handles PTS requirements.
+
+   For direct shell commands, use 'script' to provide a PTS:
+     script -q -c "vng -- command" /dev/null 2>&1
+
+   The 'script' command:
+     -q: Quiet mode (no script start/stop messages)
+     -c: Execute command and exit
+     /dev/null: Discard the typescript file (we only need stdout/stderr)
+
+3. Typical Workflow for Testing Kernel Changes
+   --------------------------------------------
+   a) Configure (optional - vng -v --build does this automatically):
+      Use configure_kernel tool or: vng -v --build --kconfig
+
+   b) Build the kernel:
+      vng -v --build
+      (NOT: make -j$(nproc), use vng -v --build instead)
+
+      If user specifies building on a remote host:
+      vng -v --build --build-host <hostname>
+
+   c) Test the kernel:
+      Use run_kernel tool or: script -q -c "vng -- uname -r" /dev/null 2>&1
+
+   Example workflows:
+
+     # Build kernel with KASAN enabled
+     vng -v --build --configitem CONFIG_KASAN=y
+     # Test it
+     script -q -c "vng -- dmesg | grep -i kasan" /dev/null 2>&1
+
+     # Build on remote host 'builder' and test locally
+     vng -v --build --build-host builder
+     # Test it
+     script -q -c "vng -- uname -r" /dev/null 2>&1
+
+4. MCP Tools Available
+   --------------------
+   This MCP server provides:
+   - configure_kernel: Generate/modify kernel .config
+   - run_kernel: Run and test kernels in QEMU
+   - get_kernel_info: Get info about kernel source directory
+   - apply_patch: Apply patches from lore.kernel.org
+
+   For building, use shell commands with 'vng -v --build' as documented above.
 """
 
 import asyncio
@@ -93,6 +187,15 @@
 Configure a Linux kernel for virtme-ng testing.
 This generates a minimal .config file optimized for quick builds and testing 
in QEMU.
 
+NOTE: This step is OPTIONAL. The 'vng -v --build' command automatically
+generates a .config if one doesn't exist, so you can skip this tool and go
+straight to building with:
+
+  vng -v --build
+
+Use this tool only if you need to pre-configure the kernel before building, or 
if you
+want to generate a .config without building yet.
+
 Parameters:
 - kernel_dir: Path to kernel source directory (default: current directory)
 - arch: Target architecture (amd64, arm64, armhf, ppc64el, s390x, riscv64)
@@ -107,6 +210,12 @@
 - Generate default config: configure_kernel({})
 - Custom config: configure_kernel({"config_items": ["CONFIG_DEBUG_INFO=y", 
"CONFIG_KASAN=y"]})
 - Cross-compile: configure_kernel({"arch": "arm64"})
+
+RECOMMENDED: Skip this tool and use 'vng -v --build' directly with 
--configitem options:
+  vng -v --build --configitem CONFIG_DEBUG_INFO=y --configitem CONFIG_KASAN=y
+
+If user wants to build on a remote host, add --build-host:
+  vng -v --build --build-host <hostname> --configitem CONFIG_DEBUG_INFO=y
             """,
             inputSchema={
                 "type": "object",
@@ -157,18 +266,21 @@
 Run/test a Linux kernel in a virtualized environment using virtme-ng.
 The kernel runs in QEMU with a copy-on-write snapshot of your live system.
 
-IMPORTANT - PTS (Pseudo-Terminal) Requirement:
-virtme-ng requires a valid pseudo-terminal (PTS) to run. In automated 
environments without
-a real terminal, vng commands will fail with "ERROR: not a valid pts".
-
-This MCP server automatically handles this by using the 'script' command to 
provide a PTS:
-1. Running: script -q -c "vng -- command" /dev/null 2>&1
-2. The 'script' command provides a pseudo-terminal for vng to use
-3. Output is captured and returned to the caller
-
 AI agents should use this tool rather than running vng directly via shell 
commands.
 If you must use shell commands, use 'script': script -q -c "vng -- command" 
/dev/null 2>&1
 
+IMPORTANT - Build the kernel first:
+If testing a newly built kernel (kernel_image parameter omitted), make sure 
the kernel
+has been built first. Use shell command:
+  vng -v --build
+
+If user specifies building on a remote host, add --build-host:
+  vng -v --build --build-host <hostname>
+
+Then use this tool to test it. Do NOT use 'make', prefer using
+'vng -v --build' instead since it handles kernel configuration
+automatically.
+
 IMPORTANT - Understanding which kernel runs:
 1. WITHOUT kernel_image parameter (recommended for testing built kernels):
    - Syntax: vng -- <command>
@@ -314,6 +426,9 @@
 - config_exists: Whether .config file exists
 - architecture: Detected architecture from .config
 
+NOTE: If config_exists is false, the kernel hasn't been configured/built yet.
+Use shell command to build it: script -q -c "vng -v --build" /dev/null 2>&1
+
 Example:
 - get_kernel_info({})
             """,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/virtme-ng-1.39/virtme_ng/version.py 
new/virtme-ng-1.40/virtme_ng/version.py
--- old/virtme-ng-1.39/virtme_ng/version.py     2025-11-30 09:32:15.000000000 
+0100
+++ new/virtme-ng-1.40/virtme_ng/version.py     2025-12-01 16:42:44.000000000 
+0100
@@ -7,7 +7,7 @@
 from importlib.metadata import PackageNotFoundError, version
 from subprocess import DEVNULL, CalledProcessError, check_output
 
-PKG_VERSION = "1.39"
+PKG_VERSION = "1.40"
 
 
 def get_package_version():

Reply via email to