Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package agama-installer for openSUSE:Factory 
checked in at 2026-06-09 14:15:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/agama-installer (Old)
 and      /work/SRC/openSUSE:Factory/.agama-installer.new.2375 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "agama-installer"

Tue Jun  9 14:15:53 2026 rev:34 rq:1357936 version:21.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/agama-installer/agama-installer.changes  
2026-05-21 18:26:55.881555804 +0200
+++ 
/work/SRC/openSUSE:Factory/.agama-installer.new.2375/agama-installer.changes    
    2026-06-09 14:20:29.505066824 +0200
@@ -1,0 +2,38 @@
+Fri Jun  5 13:42:42 UTC 2026 - Ladislav Slezák <[email protected]>
+
+- Added "plymouth.ignore-serial-consoles" boot option on ppc64le
+  (bsc#1249569)
+
+-------------------------------------------------------------------
+Tue Jun  2 11:40:18 UTC 2026 - Ladislav Slezák <[email protected]>
+
+- Display the media check result and wait for a key press on all
+  system consoles to easily continue booting the installer system,
+  needed especially for openQA (bsc#1267263)
+
+-------------------------------------------------------------------
+Mon Jun  1 14:35:33 UTC 2026 - Ladislav Slezák <[email protected]>
+
+- Added "agama-screenshot" helper script to take screenshots
+  of the locally running Agama installer
+  (gh#agama-project/agama#3537)
+
+-------------------------------------------------------------------
+Mon May 25 15:25:49 UTC 2026 - Ladislav Slezák <[email protected]>
+
+- Enable back ignition and combustion, apply a workaround for
+  detecting the first boot (disable detection, consider every boot
+  as the first boot) (related to bsc#1266257)
+
+-------------------------------------------------------------------
+Mon May 25 12:06:55 UTC 2026 - Ladislav Slezák <[email protected]>
+
+- Temporarily disabled ignition and combustion because they cannot
+  start properly in the Live ISO environment (bsc#1266257)
+
+-------------------------------------------------------------------
+Thu May 21 15:39:19 UTC 2026 - Volkan OZTUZUN <[email protected]>
+
+- Add ignition and combustion to the live image package list.
+
+-------------------------------------------------------------------

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

Other differences:
------------------
++++++ agama-installer.kiwi ++++++
--- /var/tmp/diff_new_pack.kJ3Xw7/_old  2026-06-09 14:20:35.445312429 +0200
+++ /var/tmp/diff_new_pack.kJ3Xw7/_new  2026-06-09 14:20:35.449312595 +0200
@@ -64,6 +64,8 @@
         <package name="avahi"/>
         <package name="bind-utils"/>
         <package name="systemd"/>
+        <package name="ignition"/>
+        <package name="combustion"/>
         <package name="procps"/>
         <package name="iputils"/>
         <package name="hyper-v" arch="aarch64,x86_64"/>

++++++ config-cdroot.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fix_bootconfig.ppc64le new/fix_bootconfig.ppc64le
--- old/fix_bootconfig.ppc64le  2026-05-18 08:01:57.000000000 +0200
+++ new/fix_bootconfig.ppc64le  2026-06-08 09:38:52.000000000 +0200
@@ -92,7 +92,7 @@
 
 menuentry "Install $label" --class os --unrestricted {
   echo 'Loading kernel...'
-  linux /boot/ppc64le/loader/linux splash=silent
+  linux /boot/ppc64le/loader/linux splash=silent 
plymouth.ignore-serial-consoles
   echo 'Loading initrd...'
   initrd /boot/ppc64le/loader/initrd
 }
@@ -106,7 +106,7 @@
 
 menuentry "Rescue System" --class os --unrestricted {
   echo 'Loading kernel...'
-  linux /boot/ppc64le/loader/linux $RESCUE_SYSTEM_BOOT_SETTINGS
+  linux /boot/ppc64le/loader/linux $RESCUE_SYSTEM_BOOT_SETTINGS 
plymouth.ignore-serial-consoles
   echo 'Loading initrd...'
   initrd /boot/ppc64le/loader/initrd
 }

++++++ config.sh ++++++
--- /var/tmp/diff_new_pack.kJ3Xw7/_old  2026-06-09 14:20:35.649320864 +0200
+++ /var/tmp/diff_new_pack.kJ3Xw7/_new  2026-06-09 14:20:35.657321195 +0200
@@ -53,6 +53,9 @@
 sed -i -e 
"s/^\s*#\s*download.connect_timeout\s*=\s*.*$/download.connect_timeout = 20/" 
/etc/zypp/zypp.conf
 fi
 
+# combustion requires fstab file, create a dummy one
+touch /etc/fstab
+
 # activate services
 systemctl enable sshd.service
 systemctl enable NetworkManager.service

++++++ live-root.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/root/.local/bin/gnome-kiosk-wrapper 
new/root/.local/bin/gnome-kiosk-wrapper
--- old/root/.local/bin/gnome-kiosk-wrapper     2026-05-18 08:01:57.000000000 
+0200
+++ new/root/.local/bin/gnome-kiosk-wrapper     2026-06-08 09:38:52.000000000 
+0200
@@ -13,4 +13,7 @@
     OPTS="--enable-vt-switch";
 fi;
 
-exec /usr/bin/gnome-kiosk $OPTS
+# run in unsafe mode to allow taking screenshots (additionally it allows DBus
+# introspection), as nothing else is running besides Agama and you need root
+# permissions to talk to the DBus session then it actually is not that unsafe
+exec /usr/bin/gnome-kiosk --unsafe-mode $OPTS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/usr/bin/agama-screenshot new/usr/bin/agama-screenshot
--- old/usr/bin/agama-screenshot        1970-01-01 01:00:00.000000000 +0100
+++ new/usr/bin/agama-screenshot        2026-06-08 09:38:52.000000000 +0200
@@ -0,0 +1,48 @@
+#! /bin/bash
+
+# This is a helper script for taking screenshot of the Agama installer
+# running locally in Gnome kiosk.
+
+set -e
+
+# handle help option
+if [ "$1" == "-h" ] || [ "$1" == "--help" ]; then
+  echo "Usage: $0 [TARGET_FILE]"
+  echo
+  echo "Takes a screenshot of the Agama installer running locally."
+  echo "The screenshot is saved in PNG format."
+  echo
+  echo "If TARGET_FILE is not specified it generates a random name in"
+  echo "the current directory."
+  echo
+  echo "Options:"
+  echo "  -h, --help   Show this help message and exit."
+  exit 0
+fi
+
+# Gnome kiosk fails if the target file already exists,
+# create the screenshot in a temporary directory and then move it
+SCREENSHOT_DIR=$(mktemp -d -p /tmp "screenshot-XXXXXXX")
+FILE="$SCREENSHOT_DIR/screenshot.png"
+
+# see the DBus API description at
+# 
https://gitlab.gnome.org/GNOME/gnome-kiosk/-/blob/main/dbus-interfaces/org.gnome.Shell.Screenshot.xml?ref_type=heads
+# include cursor: false
+# flash screen: false
+gdbus call --session --dest org.gnome.Shell.Screenshot --object-path \
+  /org/gnome/Shell/Screenshot --method org.gnome.Shell.Screenshot.Screenshot \
+  false false "$FILE" >/dev/null
+
+# move the file
+if [ -n "$1" ]; then
+  # if the script is called with an argument, use it as the target file
+  TARGET_FILE="$1"
+else
+  # otherwise use a random name in the current directory
+  TARGET_FILE=$(mktemp "agama-$(date +%Y-%m-%d)-XXXX.png")
+fi
+
+mv "$FILE" "$TARGET_FILE"
+rm -rf "$SCREENSHOT_DIR"
+
+echo "Screenshot saved to $TARGET_FILE"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/usr/bin/checkmedia-service 
new/usr/bin/checkmedia-service
--- old/usr/bin/checkmedia-service      2026-05-18 08:01:57.000000000 +0200
+++ new/usr/bin/checkmedia-service      2026-06-08 09:38:52.000000000 +0200
@@ -1,9 +1,79 @@
-#! /bin/sh
+#! /bin/bash
 
-# Note: the LIVE_MEDIUM_LABEL placeholder is replaced by the real label in 
config.sh script
+# get list of all system consoles from /proc/consoles
+get_consoles() {
+  if [ -f /proc/consoles ]; then
+    while read -r console _rest; do
+      if [ -c "/dev/$console" ]; then
+        echo "$console"
+      fi
+    done < /proc/consoles | sort -u
+  fi
+}
+
+readarray -t consoles < <(get_consoles)
+
+# print the specified message on all consoles
+broadcast() {
+  local msg="$1"
+
+  # trivial implementation for a single console
+  if [ ${#consoles[@]} -le 1 ]; then
+    echo -e "$msg"
+  else
+    for c in "${consoles[@]}"; do
+      echo -e "$msg" > "/dev/$c"
+    done
+  fi
+}
+
+# wait for a key press on any console
+wait_any_key() {
+  local msg="$1"
+  local tmpdir
+  local fifo
+  local -a pids
+
+  # trivial implementation for a single console
+  if [ ${#consoles[@]} -le 1 ]; then
+    read -r -n1 -s -p "$msg"
+    echo
+    return
+  fi
+
+  # use a fifo for synchronizing the processes
+  tmpdir=$(mktemp -d)
+  fifo="$tmpdir/fifo"
+  mkfifo "$fifo"
+
+  # spawn a read process for each console
+  for c in "${consoles[@]}"; do
+    echo -n "$msg" > "/dev/$c"
+    (
+      read -r -n1 -s < "/dev/$c"
+      echo "done" > "$fifo" 2> /dev/null
+    ) &
+    pids+=("$!")
+  done
+
+  # block until one of the background jobs receives a key press and writes to 
the fifo
+  read -r _ < "$fifo"
+
+  # cleanup, kill the other waiting processes
+  for pid in "${pids[@]}"; do
+    kill "$pid" 2> /dev/null
+  done
+  rm -rf "$tmpdir"
+
+  # finish the printed line
+  for c in "${consoles[@]}"; do
+    echo > "/dev/$c"
+  done
+}
 
 # get the partition where the live ISO is mounted, the real name is set by the
 # config.sh script which gets the live partition label name from KIWI
+# Note: the LIVE_MEDIUM_LABEL placeholder is replaced by the real label in 
config.sh script
 label="@@LIVE_MEDIUM_LABEL@@"
 disk="/dev/disk/by-label/$label"
 
@@ -15,22 +85,18 @@
 fi
 
 if [ ! -b "$disk" ]; then
-  echo -e "\e[31mPartition \"$label\" not found, skipping media check\e[0m"
-  read -n1 -s -p "Press any key to continue... "
-  echo
+  broadcast "\e[31mPartition \"$label\" not found, skipping media check\e[0m"
+  wait_any_key "Press any key to continue... "
   exit 0
 fi
 
-echo "Checking data integrity of device $disk ($label))..."
+broadcast "Checking data integrity of device $disk ($label))..."
 
 if checkmedia -v "$disk"; then
-  echo -e "\e[32mMedium check succeeded\e[0m"
-  read -n1 -s -p "Press any key to continue... "
-  echo
+  broadcast "\e[32mMedium check succeeded\e[0m"
+  wait_any_key "Press any key to continue... "
 else
-  echo -e "\e[31mERROR: Medium check failed!\e[0m"
-  echo "The installation medium is broken, it should not be used for 
installation."
-  read -n1 -s -p "Press any key to halt the system... "
-  echo
+  broadcast "\e[31mERROR: Medium check failed!\e[0m\nThe installation medium 
is broken, it should not be used for installation."
+  wait_any_key "Press any key to halt the system... "
   halt
 fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/usr/bin/live-password new/usr/bin/live-password
--- old/usr/bin/live-password   2026-05-18 08:01:57.000000000 +0200
+++ new/usr/bin/live-password   2026-06-08 09:38:52.000000000 +0200
@@ -132,7 +132,7 @@
     # so make the password easy to type (it cannot be copy pasted)
     #
     # TODO: check this with the security team
-    PASSWD=$((base64 -w 0 < /dev/random | tr -d "+/0OolI1" | head -c 8) 
2>/dev/null)
+    PASSWD=$( (base64 -w 0 < /dev/random | tr -d "+/0OolI1" | head -c 8) 2> 
/dev/null)
 
     if [ -n "$PASSWD" ]; then
       echo "$PASSWD" | passwd --stdin
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/usr/lib/dracut/modules.d/95initrd-firstboot/module-setup.sh 
new/usr/lib/dracut/modules.d/95initrd-firstboot/module-setup.sh
--- old/usr/lib/dracut/modules.d/95initrd-firstboot/module-setup.sh     
1970-01-01 01:00:00.000000000 +0100
+++ new/usr/lib/dracut/modules.d/95initrd-firstboot/module-setup.sh     
2026-06-08 09:38:52.000000000 +0200
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+# workaround for failing first boot detection in the Live ISO system
+
+check() {
+  # always include this dracut module in the initramfs
+       return 0
+}
+
+depends() {
+       echo bash systemd
+}
+
+install() {
+  # Do not try detecting whether this is the first boot or not, consider every
+  # boot as the first boot. That's true for the installer, we always start with
+  # the same read-only root filesystem image from scratch.
+  #
+  # The problem is that the first boot detection fails because of the
+  # complicated Live ISO setup which uses the device mapper for creating
+  # writable overlay over the squashfs read-only image.
+       $SYSTEMCTL -q --root "$initdir" disable firstboot-detect.service
+       $SYSTEMCTL -q --root "$initdir" enable firstboot.target
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/usr/lib/dracut/modules.d/98dracut-menu/dracut-cmdline-menu.sh 
new/usr/lib/dracut/modules.d/98dracut-menu/dracut-cmdline-menu.sh
--- old/usr/lib/dracut/modules.d/98dracut-menu/dracut-cmdline-menu.sh   
2026-05-18 08:01:57.000000000 +0200
+++ new/usr/lib/dracut/modules.d/98dracut-menu/dracut-cmdline-menu.sh   
2026-06-08 09:38:52.000000000 +0200
@@ -1,4 +1,4 @@
-#!/bin/sh
+#!/bin/bash
 
 if [ -d /sysroot  ] ; then
   type getarg > /dev/null 2>&1 || . /lib/dracut-lib.sh

Reply via email to