Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package agama-installer-Leap for 
openSUSE:Leap:16.0 checked in at 2025-07-02 18:02:29
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:16.0/agama-installer-Leap (Old)
 and      /work/SRC/openSUSE:Leap:16.0/.agama-installer-Leap.new.7067 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "agama-installer-Leap"

Wed Jul  2 18:02:29 2025 rev:19 rq:1289845 version:16.0.0

Changes:
--------
--- /work/SRC/openSUSE:Leap:16.0/agama-installer-Leap/agama-installer.changes   
2025-06-17 11:29:06.547655302 +0200
+++ 
/work/SRC/openSUSE:Leap:16.0/.agama-installer-Leap.new.7067/agama-installer.changes
 2025-07-02 18:02:30.125992345 +0200
@@ -1,0 +2,55 @@
+Mon Jun 30 15:51:37 UTC 2025 - Imobach Gonzalez Sosa <igonzalezs...@suse.com>
+
+- Version 16
+
+-------------------------------------------------------------------
+Fri Jun 20 14:57:08 UTC 2025 - Ladislav Slezák <lsle...@suse.com>
+
+- Install "gdm-systemd" and enable "gdm.service" to start the
+  graphical desktop, this is a new way for starting display managers
+
+-------------------------------------------------------------------
+Thu Jun 19 09:06:50 UTC 2025 - Knut Anderssen <kanders...@suse.com>
+
+- Add hyper-v on x86_64 and aarch64 only (related to bsc#1236961).
+
+-------------------------------------------------------------------
+Wed Jun 18 11:29:08 UTC 2025 - David Diaz <dgonza...@suse.com>
+
+- Make web bundled fonts available for the system via config
+  file (gh#agama-project/agama#2488, bsc#1236261).
+
+-------------------------------------------------------------------
+Tue Jun 17 08:47:46 UTC 2025 - Knut Anderssen <kanders...@suse.com>
+
+- Add hyper-v package (bsc#1236961).
+
+-------------------------------------------------------------------
+Fri Jun 13 10:41:15 UTC 2025 - Imobach Gonzalez Sosa <igonzalezs...@suse.com>
+
+- Add initial support to apply updates from RPM packages and DUD archives
+  (gh#agama-project/agama#2466).
+
+-------------------------------------------------------------------
+Tue Jun 10 14:40:21 UTC 2025 - José Iván López González <jlo...@suse.com>
+
+- Add iscsiuio kernel driver (gh#agama-project/agama#2460).
+
+-------------------------------------------------------------------
+Thu Jun  5 08:28:10 UTC 2025 - Ladislav Slezák <lsle...@suse.com>
+
+- Disable Firefox extensions autoupdate
+  (gh#agama-project/agama#2441)
+
+-------------------------------------------------------------------
+Tue Jun  3 07:35:56 UTC 2025 - Michal Filka <mfi...@suse.cz>
+
+- Switched live ISO to use Wayland (gh#agama-project/agama#1781)
+- Do not require microos-tools as we don't need it anymore. bsc#1237366
+
+-------------------------------------------------------------------
+Thu May 29 07:16:11 UTC 2025 - Ladislav Slezák <lsle...@suse.com>
+
+- Keep the nvmem kernel drivers (bsc#1243350)
+
+-------------------------------------------------------------------

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

Other differences:
------------------
++++++ agama-installer.kiwi ++++++
--- /var/tmp/diff_new_pack.k83X6E/_old  2025-07-02 18:02:30.446005631 +0200
+++ /var/tmp/diff_new_pack.k83X6E/_new  2025-07-02 18:02:30.450005797 +0200
@@ -21,7 +21,7 @@
         <profile name="Leap_16.0_PXE" description="openSUSE Leap OEM image for 
remote installation" import="true" />
     </profiles>
     <preferences>
-        <version>15.0.0</version>
+        <version>16.0.0</version>
         <packagemanager>zypper</packagemanager>
         <locale>en_US</locale>
         <keytable>us</keytable>
@@ -108,6 +108,7 @@
         <package name="systemd"/>
         <package name="procps"/>
         <package name="iputils"/>
+        <package name="hyper-v" arch="aarch64,x86_64"/>
         <package name="vim"/>
         <package name="vim-data"/>
         <package name="grub2"/>
@@ -131,6 +132,7 @@
         <package name="ipw-firmware"/>
         <package name="mpt-firmware"/>
         <package name="zd1211-firmware"/>
+        <package name="iscsiuio"/>
         <package name="systemd-zram-service"/> <!--- needed for zram -->
         <package name="shim" arch="aarch64,x86_64"/>
         <package name="timezone"/>
@@ -146,7 +148,6 @@
         <package name="agama-auto"/>
         <package name="rubygem(agama-yast)"/>
         <package name="rubygem(byebug)"/>
-        <package name="microos-tools"/>
         <package name="psmisc"/>
         <package name="joe"/>
         <package name="checkmedia"/>
@@ -156,9 +157,12 @@
         <package name="qrencode"/>
         <package name="qemu-guest-agent" />
         <package name="aaa_base-extras"/>
+        <package name="createrepo_c" />
         <!-- it can be used by users in AutoYaST pre-scripts -->
         <package name="perl-XML-Simple"/>
         <archive name="live-root.tar.xz"/>
+        <!-- IPMI support -->
+        <package name="ipmitool" />
     </packages>
 
     <!-- packages for local installation (desktop, browser, etc.) -->
@@ -167,16 +171,12 @@
         <package name="agama-integration-tests"/>
         <package name="fontconfig"/>
         <package name="fonts-config"/>
-        <package name="adobe-sourcecodepro-fonts"/>
-        <package name="adobe-sourcehansans-jp-fonts"/>
         <package name="xauth"/>
         <package name="MozillaFirefox"/>
-        <package name="icewm-lite"/>
-        <package name="xinit"/>
-        <package name="xset"/>
-        <package name="xorg-x11-server"/>
-        <package name="xorg-x11-fonts-core"/>
-        <package name="xf86-input-libinput" />
+        <package name="gdm-systemd"/>
+        <package name="gnome-shell"/>
+        <package name="gnome-session-wayland"/>
+        <package name="gnome-kiosk"/>
         <package name="spice-vdagent"/>
     </packages>
 

++++++ config-cdroot.tar.xz ++++++

++++++ config.sh ++++++
--- /var/tmp/diff_new_pack.k83X6E/_old  2025-07-02 18:02:30.582011278 +0200
+++ /var/tmp/diff_new_pack.k83X6E/_new  2025-07-02 18:02:30.582011278 +0200
@@ -54,7 +54,6 @@
 systemctl enable agama.service
 systemctl enable agama-web-server.service
 systemctl enable agama-dbus-monitor.service
-systemctl enable agama-dud.service
 systemctl enable agama-auto.service
 systemctl enable agama-hostname.service
 systemctl enable agama-proxy-setup.service
@@ -72,8 +71,8 @@
 systemctl enable checkmedia.service
 systemctl enable qemu-guest-agent.service
 systemctl enable setup-systemd-proxy-env.path
-systemctl enable x11-autologin.service
-test -f  /usr/lib/systemd/system/spice-vdagentd.service && systemctl enable 
spice-vdagentd.service
+test -f /usr/lib/systemd/system/gdm.service && systemctl enable gdm.service
+test -f /usr/lib/systemd/system/spice-vdagentd.service && systemctl enable 
spice-vdagentd.service
 systemctl enable zramswap
 
 # set the default target
@@ -92,6 +91,9 @@
 systemctl disable YaST2-Firstboot.service
 systemctl disable YaST2-Second-Stage.service
 
+# the "eurlatgr" is the default font for the English locale
+echo -e "\nFONT=eurlatgr.psfu" >> /etc/vconsole.conf
+
 ### setup dracut for live system
 arch=$(uname -m)
 # keep in sync with ISO Volume ID set in the fix_bootconfig script
@@ -106,7 +108,7 @@
   echo "root_disk=live:LABEL=$label" >>/etc/cmdline.d/10-liveroot.conf
   echo 'install_items+=" /etc/cmdline.d/10-liveroot.conf "' 
>/etc/dracut.conf.d/10-liveroot-file.conf
 fi
-echo 'add_dracutmodules+=" dracut-menu agama-cmdline "' 
>>/etc/dracut.conf.d/10-liveroot-file.conf
+echo 'add_dracutmodules+=" dracut-menu agama-cmdline agama-dud "' 
>>/etc/dracut.conf.d/10-liveroot-file.conf
 
 # decrease the kernel logging on the console, use a dracut module to do it 
early in the boot process
 echo 'add_dracutmodules+=" agama-logging "' > 
/etc/dracut.conf.d/10-agama-logging.conf
@@ -249,9 +251,6 @@
   fi
 fi
 
-# remove OpenGL support
-rpm -qa | grep ^Mesa | xargs --no-run-if-empty rpm -e --nodeps
-
 # remove unused SUSEConnect libzypp plugins
 rm -f /usr/lib/zypper/commands/zypper-migration
 rm -f /usr/lib/zypper/commands/zypper-search-packages
@@ -324,8 +323,6 @@
   systemctl -f disable $s || true
 done
 
-# Only used for OpenCL and X11 acceleration on vmwgfx (?), saves ~50MiB
-rpm -e --nodeps Mesa-gallium || true
 # Too big and will have to be dropped anyway (unmaintained, known security 
issues)
 rm -rf /usr/lib*/libmfxhw*.so.* /usr/lib*/mfx/
 
@@ -347,3 +344,6 @@
 # Remove generated files (boo#1098535)
 rm -rf /var/cache/zypp/* /var/lib/zypp/AnonymousUniqueId 
/var/lib/systemd/random-seed
 
+# gnome-kiosk startup script, executable rights not preserved during copying
+chmod +x /root/.local/bin/gnome-kiosk-script
+

++++++ live-root-PXE.tar.xz ++++++

++++++ live-root.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/etc/fonts/conf.d/99-agama.conf 
new/etc/fonts/conf.d/99-agama.conf
--- old/etc/fonts/conf.d/99-agama.conf  1970-01-01 01:00:00.000000000 +0100
+++ new/etc/fonts/conf.d/99-agama.conf  2025-06-30 18:04:50.000000000 +0200
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<!-- load fonts in the agama-web-ui package -->
+<fontconfig>
+  <dir>/usr/share/agama/web_ui/fonts</dir>
+</fontconfig>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/etc/icewm/preferences.yast2 
new/etc/icewm/preferences.yast2
--- old/etc/icewm/preferences.yast2     2025-06-03 17:34:25.000000000 +0200
+++ new/etc/icewm/preferences.yast2     1970-01-01 01:00:00.000000000 +0100
@@ -1,107 +0,0 @@
-# IceWM configuration file for use during installation
-
-# Hide taskbar
-ShowTaskBar=0
-
-# Enable Alt+Tab
-QuickSwitch=1
-KeySysSwitchNext="Alt+Tab"
-KeySysSwitchLast="Alt+Shift+Tab"
-
-# Disable Windows key
-Win95Keys=0
-
-# Borders
-BorderSizeX=3
-BorderSizeY=3
-DlgBorderSizeX=3
-DlgBorderSizeY=3
-
-# No lock display/screensaver
-LockCommand=""
-
-# Disable most shortcuts
-# :r !grep -o '\<Key[^=]*' /etc/icewm/preferences | grep -v Switch | sed 
's/$/=""/'
-KeyWinRaise=""
-KeyWinOccupyAll=""
-KeyWinLower=""
-KeyWinClose=""
-KeyWinRestore=""
-KeyWinPrev=""
-KeyWinNext=""
-KeyWinMove=""
-KeyWinSize=""
-KeyWinMinimize=""
-KeyWinMaximize=""
-KeyWinMaximizeVert=""
-KeyWinMaximizeHoriz=""
-KeyWinFullscreen=""
-KeyWinHide=""
-KeyWinRollup=""
-KeyWinMenu=""
-KeyWinArrangeN=""
-KeyWinArrangeNE=""
-KeyWinArrangeE=""
-KeyWinArrangeSE=""
-KeyWinArrangeS=""
-KeyWinArrangeSW=""
-KeyWinArrangeW=""
-KeyWinArrangeNW=""
-KeyWinArrangeC=""
-KeySysWinNext=""
-KeySysWinPrev=""
-KeySysWinMenu=""
-KeySysDialog=""
-KeySysMenu=""
-KeySysWindowList=""
-KeySysWinListMenu=""
-KeySysAddressBar=""
-KeySysWorkspacePrev=""
-KeySysWorkspaceNext=""
-KeySysWorkspaceLast=""
-KeySysWorkspacePrevTakeWin=""
-KeySysWorkspaceNextTakeWin=""
-KeySysWorkspaceLastTakeWin=""
-KeySysWorkspace1=""
-KeySysWorkspace2=""
-KeySysWorkspace3=""
-KeySysWorkspace4=""
-KeySysWorkspace5=""
-KeySysWorkspace6=""
-KeySysWorkspace7=""
-KeySysWorkspace8=""
-KeySysWorkspace9=""
-KeySysWorkspace10=""
-KeySysWorkspace11=""
-KeySysWorkspace12=""
-KeySysWorkspace1TakeWin=""
-KeySysWorkspace2TakeWin=""
-KeySysWorkspace3TakeWin=""
-KeySysWorkspace4TakeWin=""
-KeySysWorkspace5TakeWin=""
-KeySysWorkspace6TakeWin=""
-KeySysWorkspace7TakeWin=""
-KeySysWorkspace8TakeWin=""
-KeySysWorkspace9TakeWin=""
-KeySysWorkspace10TakeWin=""
-KeySysWorkspace11TakeWin=""
-KeySysWorkspace12TakeWin=""
-KeySysTileVertical=""
-KeySysTileHorizontal=""
-KeySysCascade=""
-KeySysArrange=""
-KeySysArrangeIcons=""
-KeySysMinimizeAll=""
-KeySysHideAll=""
-KeySysUndoArrange=""
-KeySysShowDesktop=""
-KeySysCollapseTaskBar=""
-
-# Disable root window menus
-# :r !grep -o '\<Desktop[^=]*Button=' /etc/icewm/preferences  | sed 's/$/0/'
-DesktopWinMenuButton=0
-DesktopWinListButton=0
-DesktopMenuButton=0
-
-# Disable possibility to move the base window, BNC 466827
-ClientWindowMouseActions=0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/etc/sysconfig/displaymanager 
new/etc/sysconfig/displaymanager
--- old/etc/sysconfig/displaymanager    1970-01-01 01:00:00.000000000 +0100
+++ new/etc/sysconfig/displaymanager    2025-06-30 18:04:50.000000000 +0200
@@ -0,0 +1,74 @@
+# This file deals with automatic login into the display manager, see
+# DISPLAYMANAGER_AUTOLOGIN variable. This file was originally copied
+# from Tumbleweed and rest of the content is currently useless (default)
+
+
+## Path:       Desktop/Display manager
+## Description:        settings to generate a proper displaymanager config
+## Type:       yesno
+## Default:    no
+#
+# Allow remote access (XDMCP) to your display manager (xdm/kdm/gdm). Please 
note
+# that a modified kdm or xdm configuration, e.g. by KDE control center
+# will not be changed. For gdm, values will be updated after change.
+# XDMCP service should run only on trusted networks and you have to disable
+# firewall for interfaces, where you want to provide this service.
+#
+DISPLAYMANAGER_REMOTE_ACCESS="no"
+
+## Type:       yesno
+## Default:    no
+#
+# Allow remote access of the user root to your display manager. Note
+# that root can never login if DISPLAYMANAGER_SHUTDOWN is "auto" and
+# System/Security/Permissions/PERMISSION_SECURITY is "paranoid"
+#
+DISPLAYMANAGER_ROOT_LOGIN_REMOTE="no"
+
+## Type:       yesno
+## Default:    yes
+#
+# Let the displaymanager start a local Xserver.
+# Set to "no" for remote-access only.
+# Set to "no" on architectures without any Xserver (e.g. s390/s390x).
+#
+DISPLAYMANAGER_STARTS_XSERVER="yes"
+
+## Type:        yesno
+## Default:     no
+#
+# TCP port 6000 of Xserver. When set to "no" (default) Xserver is
+# started with "-nolisten tcp". Only set this to "yes" if you really
+# need to. Remote X service should run only on trusted networks and
+# you have to disable firewall for interfaces, where you want to
+# provide this service. Use ssh X11 port forwarding whenever possible.
+#
+DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN="no"
+
+## Type:    string
+## Default:
+#
+# Define the user whom should get logged in without request. If string
+# is empty, display standard login dialog.
+#
+DISPLAYMANAGER_AUTOLOGIN="root"
+
+## Type:        yesno
+## Default:     no
+#
+# Allow all users to login without password, but ask for the user, if
+# DISPLAYMANAGER_AUTOLOGIN is empty.
+#
+DISPLAYMANAGER_PASSWORD_LESS_LOGIN="no"
+
+## Type:        yesno
+## Default:     no
+#
+# Display a combobox for Active Directory domains.
+#
+DISPLAYMANAGER_AD_INTEGRATION="no"
+## Path:        Desktop/Display manager
+## Type:        string(Xorg)
+## Default:     "Xorg"
+#
+DISPLAYMANAGER_XSERVER="Xorg"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/etc/systemd/system/agama-cmdline-process.service 
new/etc/systemd/system/agama-cmdline-process.service
--- old/etc/systemd/system/agama-cmdline-process.service        2025-06-03 
17:34:25.000000000 +0200
+++ new/etc/systemd/system/agama-cmdline-process.service        2025-06-30 
18:04:50.000000000 +0200
@@ -7,7 +7,6 @@
 # before starting the Agama servers so they read configuration parsed
 Before=agama-web-server.service
 Before=agama.service
-Before=x11-autologin.service
 
 [Service]
 Type=oneshot
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/etc/systemd/system/agama-dud.service 
new/etc/systemd/system/agama-dud.service
--- old/etc/systemd/system/agama-dud.service    2025-06-03 17:34:25.000000000 
+0200
+++ new/etc/systemd/system/agama-dud.service    1970-01-01 01:00:00.000000000 
+0100
@@ -1,30 +0,0 @@
-[Unit]
-Description=Agama DUD
-
-After=network-online.target
-
-# and after we process agama params like info which can contain password
-After=agama-cmdline-process.service
-# the DUD should replace wrong self_update
-After=agama-self-update.service
-
-# before starting the Agama servers so they use the new packages
-Before=agama-web-server.service
-Before=agama.service
-# before interactive password services
-Before=live-password-dialog.service
-Before=live-password-systemd.service
-
-[Service]
-Type=oneshot
-Environment=TERM=linux
-ExecStartPre=dmesg --console-off
-ExecStart=agama-dud
-ExecStartPost=dmesg --console-on
-TTYReset=yes
-TTYVHangup=yes
-StandardInput=tty
-TimeoutStartSec=infinity
-
-[Install]
-WantedBy=multi-user.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/etc/systemd/system/agama-self-update.service 
new/etc/systemd/system/agama-self-update.service
--- old/etc/systemd/system/agama-self-update.service    2025-06-03 
17:34:25.000000000 +0200
+++ new/etc/systemd/system/agama-self-update.service    2025-06-30 
18:04:50.000000000 +0200
@@ -9,7 +9,6 @@
 # before starting the Agama servers so they use the new packages
 Before=agama-web-server.service
 Before=agama.service
-Before=x11-autologin.service
 # before interactive password services
 Before=live-password-dialog.service
 Before=live-password-systemd.service
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/etc/systemd/system/checkmedia.service 
new/etc/systemd/system/checkmedia.service
--- old/etc/systemd/system/checkmedia.service   2025-06-03 17:34:25.000000000 
+0200
+++ new/etc/systemd/system/checkmedia.service   2025-06-30 18:04:50.000000000 
+0200
@@ -2,7 +2,6 @@
 Description=Installation medium integrity check
 
 # before X11 because it switches the terminal to VT7
-Before=x11-autologin.service
 Before=agama.service
 
 # copied from YaST2-Second-Stage.service
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/etc/systemd/system/live-password.service 
new/etc/systemd/system/live-password.service
--- old/etc/systemd/system/live-password.service        2025-06-03 
17:34:25.000000000 +0200
+++ new/etc/systemd/system/live-password.service        2025-06-30 
18:04:50.000000000 +0200
@@ -4,8 +4,6 @@
 # before starting the SSH and Agama server so they use the new password
 Before=sshd.service
 Before=agama-web-server.service
-# before X11 because it switches the terminal to VT7
-Before=x11-autologin.service
 After=checkmedia.service
 
 # copied from YaST2-Second-Stage.service
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/etc/systemd/system/x11-autologin.service 
new/etc/systemd/system/x11-autologin.service
--- old/etc/systemd/system/x11-autologin.service        2025-06-03 
17:34:25.000000000 +0200
+++ new/etc/systemd/system/x11-autologin.service        1970-01-01 
01:00:00.000000000 +0100
@@ -1,27 +0,0 @@
-[Unit]
-Description=X11 session
-After=graphical.target systemd-user-sessions.service
-
-[Service]
-User=root
-WorkingDirectory=~
-
-PAMName=login
-Environment=XDG_SESSION_TYPE=x11
-TTYPath=/dev/tty7
-StandardInput=tty
-UnsetEnvironment=TERM
-
-UtmpIdentifier=tty7
-UtmpMode=user
-
-StandardOutput=journal
-ExecStartPre=/usr/bin/chvt 7
-ExecStart=/usr/bin/startx -- vt7 -keeptty -verbose 3 -logfile /dev/null
-# Directly kill the xinit process, the startx script unfortunately ignores
-# SIGTERM and does pass that to the started xinit.
-ExecStop=pkill xinit
-Restart=no
-
-[Install]
-WantedBy=graphical.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/root/.Xdefaults new/root/.Xdefaults
--- old/root/.Xdefaults 2025-06-03 17:34:25.000000000 +0200
+++ new/root/.Xdefaults 1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-! Use the default font also for the xterm menus (Ctrl + click)
-XTerm*font: fixed
-
-! enable TrueType rendering, it looks better and supports UTF-8
-XTerm*renderFont: true
-XTerm*faceName: fixed
-XTerm*faceSize: 10
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/root/.bash_history new/root/.bash_history
--- old/root/.bash_history      2025-06-03 17:34:25.000000000 +0200
+++ new/root/.bash_history      2025-06-30 18:04:50.000000000 +0200
@@ -1,5 +1,5 @@
 mount | cut -f3 -d" " | grep /mnt | sort -r | xargs -r umount; swapon 
--show=NAME --noheadings | grep -v zram | xargs -r swapoff
-systemctl restart agama.service agama-web-server.service && sleep 2 && 
systemctl restart x11-autologin.service
+systemctl restart agama.service agama-web-server.service
 less /var/log/YaST2/y2log
 journalctl -u agama-web-server.service
 journalctl -u agama.service
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/root/.icewm/startup new/root/.icewm/startup
--- old/root/.icewm/startup     2025-06-03 17:34:25.000000000 +0200
+++ new/root/.icewm/startup     1970-01-01 01:00:00.000000000 +0100
@@ -1,25 +0,0 @@
-#!/usr/bin/env sh
-# Start a browser to connect to Agama's web user interface skipping the 
authentication.
-
-TOKEN_FILE=/run/agama/token
-TOKEN=$(cat $TOKEN_FILE)
-PREFS=$HOME/.mozilla/firefox/profile/user.js
-
-# read the system locale from EFI if present
-LANG_FILE=/sys/firmware/efi/efivars/PlatformLang-8be4df61-93ca-11d2-aa0d-00e098032b8c
-
-# file exists and is not empty
-if [ -s  "$LANG_FILE" ]; then
-  # skip the first 4 bytes (the EFI attributes), keep only the characters 
allowed in a language code,
-  # especially remove the trailing null byte
-  EFI_LANG=$(cat "$LANG_FILE" | tail -c +5 | tr -cd "[_a-zA-Z-]")
-
-  if [ -n "$EFI_LANG" ]; then
-    # escape & because it has a special meaning in sed replacement
-    LANG_QUERY="\\&lang=$EFI_LANG"
-  fi
-fi
-
-sed -e "s/__HOMEPAGE__/http:\/\/localhost\/login?token=$TOKEN$LANG_QUERY/" 
$PREFS.template > $PREFS
-
-firefox --kiosk --profile $HOME/.mozilla/firefox/profile
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/root/.local/bin/gnome-kiosk-script 
new/root/.local/bin/gnome-kiosk-script
--- old/root/.local/bin/gnome-kiosk-script      1970-01-01 01:00:00.000000000 
+0100
+++ new/root/.local/bin/gnome-kiosk-script      2025-06-30 18:04:50.000000000 
+0200
@@ -0,0 +1,32 @@
+#!/bin/sh
+# Start a browser to connect to Agama's web user interface skipping the 
authentication.
+# This script is invoked as a part of gnome-kiosk startup procedure. See 
/usr/bin/gnome-kiosk-script
+# which is at the end of the chain and invokes this script.
+
+TOKEN_FILE=/run/agama/token
+TOKEN=$(cat $TOKEN_FILE)
+PREFS=$HOME/.mozilla/firefox/profile/user.js
+
+# read the system locale from EFI if present
+LANG_FILE=/sys/firmware/efi/efivars/PlatformLang-8be4df61-93ca-11d2-aa0d-00e098032b8c
+
+# file exists and is not empty
+if [ -s  "$LANG_FILE" ]; then
+  # skip the first 4 bytes (the EFI attributes), keep only the characters 
allowed in a language code,
+  # especially remove the trailing null byte
+  EFI_LANG=$(cat "$LANG_FILE" | tail -c +5 | tr -cd "[_a-zA-Z-]")
+
+  if [ -n "$EFI_LANG" ]; then
+    # escape & because it has a special meaning in sed replacement
+    LANG_QUERY="\\&lang=$EFI_LANG"
+  fi
+fi
+
+sed -e "s/__HOMEPAGE__/http:\/\/localhost\/login?token=$TOKEN$LANG_QUERY/" 
$PREFS.template > $PREFS
+
+# Do not use --kiosk mode (see bsc#1236073) until SLE16 is updated to next 
ESR. For Firefox
+# 128.9 which is currently used the bug is valid, for >= 138 should be fixed.
+firefox --profile $HOME/.mozilla/firefox/profile
+
+sleep 1.0
+exec "$0" "$@"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/root/.mozilla/firefox/profile/user.js.template 
new/root/.mozilla/firefox/profile/user.js.template
--- old/root/.mozilla/firefox/profile/user.js.template  2025-06-03 
17:34:25.000000000 +0200
+++ new/root/.mozilla/firefox/profile/user.js.template  2025-06-30 
18:04:50.000000000 +0200
@@ -21,6 +21,11 @@
 user_pref("datareporting.usage.uploadEnabled", false);
 user_pref("toolkit.telemetry.reportingpolicy.firstRun", false);
 
+// globally disable extensions autoupdate,
+// the AutoFullscreen extension does not specify the update URL
+// but rather be on the safe side
+user_pref("extensions.update.autoUpdateDefault", false);
+
 // workaround for non working file picker, disable XDG portal, use the FF 
native popup
 // TODO: make the XDG portal working again, it has more features (mounting USB 
flash)
 user_pref("widget.use-xdg-desktop-portal.file-picker", 0);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/root/.xinitrc new/root/.xinitrc
--- old/root/.xinitrc   2025-06-03 17:34:25.000000000 +0200
+++ new/root/.xinitrc   1970-01-01 01:00:00.000000000 +0100
@@ -1,7 +0,0 @@
-# disable Display Power Management Signaling
-xset -dpms
-
-# disable screen saver
-xset s off
-
-icewm-session -c /etc/icewm/preferences.yast2
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tmp/module.list.extra new/tmp/module.list.extra
--- old/tmp/module.list.extra   2025-06-03 17:34:25.000000000 +0200
+++ new/tmp/module.list.extra   2025-06-30 18:04:50.000000000 +0200
@@ -2,3 +2,7 @@
 # in addition to the module.list file to allow extra overrides or hot fixes
 # without touching the original file. The original file should not be touched 
to
 # allow easy updates from the installation-images repository.
+
+# keep the nvmem drivers (https://bugzilla.suse.com/show_bug.cgi?id=1243350)
+kernel/drivers/nvmem
+kernel/drivers/dma/fsl-edma.ko
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/usr/bin/X/info.txt new/usr/bin/X/info.txt
--- old/usr/bin/X/info.txt      1970-01-01 01:00:00.000000000 +0100
+++ new/usr/bin/X/info.txt      2025-06-30 18:04:50.000000000 +0200
@@ -0,0 +1,13 @@
+This file is just placeholder for creating content in /usr/bin/X/ directory.
+
+The directory is used to trick display-manager.service (script) to think that
+xorg-x11-server is installed. If the directory is not existing the above
+script/service ends with error reporting status=6/NOTCONFIGURED. We want to
+use Wayland (only), there is no sense in installing X11 server too. As it is
+not mentioned as direct dependency in any gnome and wayland related packages
+and kind of dependency happens only due to that check, we trick it by creating
+the directory.
+
+This is status at time of initial Wayland / GNOME Shell deployment in Agama's
+live ISO. If the check is removed in the future feel free to drop whole
+/usr/bin/X from the image.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/usr/lib/dracut/modules.d/99agama-dud/agama-dud-apply.sh 
new/usr/lib/dracut/modules.d/99agama-dud/agama-dud-apply.sh
--- old/usr/lib/dracut/modules.d/99agama-dud/agama-dud-apply.sh 1970-01-01 
01:00:00.000000000 +0100
+++ new/usr/lib/dracut/modules.d/99agama-dud/agama-dud-apply.sh 2025-06-30 
18:04:50.000000000 +0200
@@ -0,0 +1,161 @@
+#!/bin/bash
+
+[ -e /dracut-state.sh ] && . /dracut-state.sh
+
+. /lib/dracut-lib.sh
+. /lib/img-lib.sh
+
+DUD_DIR="$NEWROOT/run/agama/dud"
+AGAMA_CLI="$NEWROOT/usr/bin/agama"
+AGAMA_DUD_INFO="/tmp/agamadud.info"
+DUD_RPM_REPOSITORY="$NEWROOT/var/lib/agama/dud/repo"
+
+shopt -s nullglob
+
+# Apply all the updates.
+#
+# Read the URL of the updates from $AGAMA_DUD_INFO and process each one.
+apply_updates() {
+  local file
+  local dud_url
+  local dud_root
+  index=0
+
+  while read -r dud_url; do
+    mkdir -p "$DUD_DIR"
+    filename=${dud_url##*/}
+    file="${DUD_DIR}/${filename}"
+    # FIXME: use an index because two updates, coming from different places, 
can have the same name.
+    echo "Fetching a Driver Update Disk from $dud_url to ${file}"
+    if ! $AGAMA_CLI download "$dud_url" "${file}"; then
+      warn "Failed to fetch the Driver Update Disk"
+      continue
+    fi
+
+    # The $dir could be a temporary one created by each function.
+    dir="$DUD_DIR/dud_$(printf "%03d" $index)"
+    mkdir -p "$dir"
+
+    format=$("$NEWROOT/usr/bin/chroot" "$NEWROOT" file "${file##"$NEWROOT"}")
+    case "$format" in
+    *RPM*)
+      apply_rpm_update "$file" "$dir"
+      ;;
+
+    *)
+      apply_dud_update "$file" "$dir"
+      ;;
+    esac
+
+    ((index++))
+  done <$AGAMA_DUD_INFO
+
+  create_repo "$DUD_RPM_REPOSITORY"
+}
+
+# Applies an update from an RPM package
+#
+# It extracts the RPM content and adjust the alternative links.
+apply_rpm_update() {
+  file=$1
+  dir=$2
+
+  echo "Apply update from an RPM package"
+  unpack_rpm "$file" "$dir"
+  install_update "$dir"
+}
+
+# Applies an update from an RPM package
+#
+#   1. Copy the inst-sys updates to the $NEWROOT system.
+#   2. Update agamactl, agama-autoyast and agama-proxy-setup alternative links.
+#   3. Copy the packages to the $DUD_RPM_REPOSITORY.
+apply_dud_update() {
+  file=$1
+  dir=$2
+
+  echo "Apply update from a Driver Update Disk archive"
+  unpack_img "$file" "$dir"
+  # FIXME: do not ignore the dist (e.g., "tw" in "x86_64-tw").
+  arch=$(uname -m)
+  dud_root=$(echo "${dir}/linux/suse/${arch}"-*)
+  install_update "${dud_root}/inst-sys"
+  copy_packages "$dud_root" "$DUD_RPM_REPOSITORY"
+}
+
+# Extracts an RPM file
+#
+# It uses rpm2cpio from the $NEWROOT.
+unpack_rpm() {
+  source=$1
+  dest=$2
+  echo "Unpacking RPM ${source} to ${dest}"
+
+  mkdir -p "$dest"
+  pushd "$dest" || exit 1
+  "$NEWROOT/usr/bin/chroot" "$NEWROOT" /usr/bin/rpm2cpio 
"${source##"$NEWROOT"}" |
+    cpio --extract --make-directories --preserve-modification-time
+  popd || exit 1
+}
+
+# Applies an update to the installation system.
+#
+# Updates are applied by copying files instead of installing packages. For that
+# reason, it might be needed to do some adjustments "manually", like settings
+# the alternative links.
+install_update() {
+  dud_dir=$1
+  echo "Apply inst-sys update from ${dud_dir}"
+
+  cp -a "${dud_dir}"/* "$NEWROOT"
+
+  set_alternative "$dud_dir" "agama-autoyast"
+  set_alternative "$dud_dir" "agamactl"
+  set_alternative "$dud_dir" "agama-proxy-setup"
+}
+
+# Sets the alternative links.
+set_alternative() {
+  dud_instsys=$1
+  name=$2
+  # Use the same value used during RPMs installation.
+  priority=150000
+
+  executables=("$dud_instsys/usr/bin/${name}.ruby"*-*)
+  executable=${executables[0]}
+  if [ ! -z "$executable" ]; then
+    "$NEWROOT/usr/bin/chroot" "$NEWROOT" /usr/sbin/update-alternatives \
+      --install "/usr/bin/$name" "$name" "${executable##"$dud_instsys"}" 
"$priority"
+    "$NEWROOT/usr/bin/chroot" "$NEWROOT" /usr/sbin/update-alternatives \
+      --set "$name" "${executable##"$dud_instsys"}"
+  fi
+}
+
+# Copies the packages to use during installation
+#
+# This function is mainly a PoC.
+#
+# This is a simplistic version that just copies all the RPMs to the new 
repository.
+# In the future, it might need to put each package under a different 
respository depending
+# on the distribution (e.g., "/run/agama/dud/repo/tw" for "x86_64-tw").
+copy_packages() {
+  dud_dir=$1
+  repo_dir=$2
+  echo "Copy packages from ${dud_dir} to ${repo_dir}"
+
+  for rpm in "$dud_dir"/install/*.rpm; do
+    mkdir -p "$repo_dir"
+    cp "$rpm" "$repo_dir"
+  done
+}
+
+# Creates the repository metadata.
+create_repo() {
+  repo_dir=$1
+
+  "$NEWROOT/usr/bin/chroot" "$NEWROOT" createrepo_c "${repo_dir##"$NEWROOT"}"
+}
+
+if [ -f "$AGAMA_DUD_INFO" ]; then
+  apply_updates
+fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/usr/lib/dracut/modules.d/99agama-dud/agama-dud-parser.sh 
new/usr/lib/dracut/modules.d/99agama-dud/agama-dud-parser.sh
--- old/usr/lib/dracut/modules.d/99agama-dud/agama-dud-parser.sh        
1970-01-01 01:00:00.000000000 +0100
+++ new/usr/lib/dracut/modules.d/99agama-dud/agama-dud-parser.sh        
2025-06-30 18:04:50.000000000 +0200
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+[ -e /dracut-state.sh ] && . /dracut-state.sh
+
+. /lib/dracut-lib.sh
+
+fetch_updates() {
+  # Agama driver updates
+  local updates
+  updates=$(getargs inst.dud=)
+  if [ -n "$updates" ]; then
+    echo "$updates" >/tmp/agamadud.info
+  fi
+}
+
+fetch_updates
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/usr/lib/dracut/modules.d/99agama-dud/module-setup.sh 
new/usr/lib/dracut/modules.d/99agama-dud/module-setup.sh
--- old/usr/lib/dracut/modules.d/99agama-dud/module-setup.sh    1970-01-01 
01:00:00.000000000 +0100
+++ new/usr/lib/dracut/modules.d/99agama-dud/module-setup.sh    2025-06-30 
18:04:50.000000000 +0200
@@ -0,0 +1,25 @@
+#!/bin/bash
+# module-setup.sh for Agama Driver Updates
+
+# called by dracut
+check() {
+  return 0
+}
+
+# called by dracut
+depends() {
+  echo network url-lib img-lib bash
+  return 0
+}
+
+installkernel() {
+  return 0
+}
+
+# called by dracut
+install() {
+  inst_hook cmdline 99 "$moddir/agama-dud-parser.sh"
+  # Fetch and apply the updates in the pre-pivot hook in order to use some 
binaries and scripts
+  # from the installer img using a chroot (also from the image itself).
+  inst_hook pre-pivot 99 "$moddir/agama-dud-apply.sh"
+}
Binary files 
old/usr/lib64/firefox/distribution/extensions/{809d8a54-1e2d-4fbb-81b4-36ff597b225f}.xpi
 and 
new/usr/lib64/firefox/distribution/extensions/{809d8a54-1e2d-4fbb-81b4-36ff597b225f}.xpi
 differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/var/lib/AccountsService/users/root 
new/var/lib/AccountsService/users/root
--- old/var/lib/AccountsService/users/root      1970-01-01 01:00:00.000000000 
+0100
+++ new/var/lib/AccountsService/users/root      2025-06-30 18:04:50.000000000 
+0200
@@ -0,0 +1,2 @@
+[User]
+Session=gnome-kiosk-script-wayland

Reply via email to