Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package tik for openSUSE:Factory checked in 
at 2024-06-20 16:47:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/tik (Old)
 and      /work/SRC/openSUSE:Factory/.tik.new.18349 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "tik"

Thu Jun 20 16:47:20 2024 rev:13 rq:1181742 version:1.1.9

Changes:
--------
--- /work/SRC/openSUSE:Factory/tik/tik.changes  2024-06-17 19:29:56.351229656 
+0200
+++ /work/SRC/openSUSE:Factory/.tik.new.18349/tik.changes       2024-06-20 
16:47:47.950894894 +0200
@@ -1,0 +2,7 @@
+Wed Jun 19 12:11:44 UTC 2024 - rbr...@suse.com
+
+- Update to version 1.1.9:
+  * Fix indentations
+  * Add support for migrating fprint fingerprints
+
+-------------------------------------------------------------------

Old:
----
  tik-1.1.8.obscpio

New:
----
  tik-1.1.9.obscpio

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

Other differences:
------------------
++++++ tik.spec ++++++
--- /var/tmp/diff_new_pack.Tk98bn/_old  2024-06-20 16:47:48.478913466 +0200
+++ /var/tmp/diff_new_pack.Tk98bn/_new  2024-06-20 16:47:48.482913606 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           tik
-Version:        1.1.8
+Version:        1.1.9
 Release:        0
 Summary:        Transactional Installation Kit
 License:        MIT

++++++ _service ++++++
--- /var/tmp/diff_new_pack.Tk98bn/_old  2024-06-20 16:47:48.514914732 +0200
+++ /var/tmp/diff_new_pack.Tk98bn/_new  2024-06-20 16:47:48.518914872 +0200
@@ -3,7 +3,7 @@
   <service name="obs_scm" mode="manual">
     <param name="url">https://github.com/sysrich/tik.git</param>
     <param name="scm">git</param>
-    <param name="revision">v1.1.8</param>
+    <param name="revision">v1.1.9</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="changesgenerate">enable</param>
     <param name="versionrewrite-pattern">v(.*)</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.Tk98bn/_old  2024-06-20 16:47:48.546915858 +0200
+++ /var/tmp/diff_new_pack.Tk98bn/_new  2024-06-20 16:47:48.554916139 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param name="url">https://github.com/sysrich/tik.git</param>
-              <param 
name="changesrevision">965e7b0ed36f5347975cd01051ad7ea11457339d</param></service></servicedata>
+              <param 
name="changesrevision">c53a8b45a5931d6af1b69da91031dcf40d54611a</param></service></servicedata>
 (No newline at EOF)
 

++++++ tik-1.1.8.obscpio -> tik-1.1.9.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tik-1.1.8/usr/bin/tik new/tik-1.1.9/usr/bin/tik
--- old/tik-1.1.8/usr/bin/tik   2024-06-17 17:26:18.000000000 +0200
+++ new/tik-1.1.9/usr/bin/tik   2024-06-19 14:10:16.000000000 +0200
@@ -21,7 +21,7 @@
 
 # Check for debug mode
 if [[ $1 == "--debug" ]]; then
-       debug=1
+    debug=1
 fi
 
 # Read configuration files, /usr first, then /etc
@@ -30,22 +30,22 @@
 
 # Check essential paths exist
 if [ ! -d "${TIK_IMG_DIR}" ]; then
-       error "${TIK_IMG_DIR} does not exist"
+    error "${TIK_IMG_DIR} does not exist"
 fi
 
 cleanup() {
-       retval=$?
-       log "[STOP][${retval}] $0"
-       if [ "${debug}" == "1" ]; then
-               zenity --timeout 5 --info --no-wrap --text="<b>Test 
Succeeded:</b>\n\nHave a nice day!"
-       elif [ "${retval}" == "0" ]; then
-               zenity --timeout 5 --info --no-wrap --title="Installation 
Complete!" --text="${TIK_OS_NAME} has been installed.\n\n<b>System is 
rebooting</b>"
-               systemctl reboot
-       else
-               zenity --error --no-wrap --title="Installation Failed" 
--text="Please file a bug report at <tt>${TIK_BUG_URL}</tt>\n\nPlease include 
the <tt>tik.log</tt> file\nIt can be found on the IGNITION partition on this 
USB Stick\n\n<b>System is shutting down</b>"
-               cp -a ${tik_log} /ignition
-               systemctl poweroff
-       fi
+    retval=$?
+    log "[STOP][${retval}] $0"
+    if [ "${debug}" == "1" ]; then
+        zenity --timeout 5 --info --no-wrap --text="<b>Test 
Succeeded:</b>\n\nHave a nice day!"
+    elif [ "${retval}" == "0" ]; then
+        zenity --timeout 5 --info --no-wrap --title="Installation Complete!" 
--text="${TIK_OS_NAME} has been installed.\n\n<b>System is rebooting</b>"
+        systemctl reboot
+    else
+        zenity --error --no-wrap --title="Installation Failed" --text="Please 
file a bug report at <tt>${TIK_BUG_URL}</tt>\n\nPlease include the 
<tt>tik.log</tt> file\nIt can be found on the IGNITION partition on this USB 
Stick\n\n<b>System is shutting down</b>"
+        cp -a ${tik_log} /ignition
+        systemctl poweroff
+    fi
 }
 trap cleanup EXIT
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tik-1.1.8/usr/lib/tik/lib/tik-functions 
new/tik-1.1.9/usr/lib/tik/lib/tik-functions
--- old/tik-1.1.8/usr/lib/tik/lib/tik-functions 2024-06-17 17:26:18.000000000 
+0200
+++ new/tik-1.1.9/usr/lib/tik/lib/tik-functions 2024-06-19 14:10:16.000000000 
+0200
@@ -3,75 +3,75 @@
 # SPDX-FileCopyrightText: Copyright 2023-2024 Richard Brown
 
 log(){
-       echo "[${tik_module}][$(date +"%Y%m%d-%T")][LOG] $*" 1>&2
+    echo "[${tik_module}][$(date +"%Y%m%d-%T")][LOG] $*" 1>&2
 }
 
 warn() {
-       echo "[${tik_module}][$(date +"%Y%m%d-%T")][WARN] $*" 1>&2
-       d --warning --text="$*"
+    echo "[${tik_module}][$(date +"%Y%m%d-%T")][WARN] $*" 1>&2
+    d --warning --text="$*"
 }
 
 error() {
-       echo "[${tik_module}][$(date +"%Y%m%d-%T")][ERROR] $*" 1>&2
-       d --error --text "$*"
-       exit 1
+    echo "[${tik_module}][$(date +"%Y%m%d-%T")][ERROR] $*" 1>&2
+    d --error --text "$*"
+    exit 1
 }
 
 d(){
-       while true
-       do
-               retval=0
-               result="$(zenity "$@")" || retval=$?
-               log "[zenity][${retval}][${result}] $@"
-               case $retval in
-                 0)
-                       return 0
-                       ;;
-                 1|255)
-                   zenity --question --text="Do you really want to quit?" && 
exit 1
-                       ;;
-               esac
-       done
+    while true
+    do
+        retval=0
+        result="$(zenity "$@")" || retval=$?
+        log "[zenity][${retval}][${result}] $@"
+        case $retval in
+            0)
+                return 0
+            ;;
+            1|255)
+                zenity --question --text="Do you really want to quit?" && exit 
1
+            ;;
+        esac
+    done
 }
 
 # variant of privileged run (prun) function that doesn't require the pkexec 
call to return 0
 prun-opt() {
-       if [ "${debug}" == "1" ]; then
-               log "[pkexec-noexec] $@"
-       else
-               retval=0
-               pkexec "$@"
-               retval=$?
-               log "[pkexec][${retval}] $@"
-       fi
+    if [ "${debug}" == "1" ]; then
+        log "[pkexec-noexec] $@"
+    else
+        retval=0
+        pkexec "$@"
+        retval=$?
+        log "[pkexec][${retval}] $@"
+    fi
 }
 
 # Most commonly used prun function, which requires the called command to work
 prun() {
-       prun-opt "$@"
-       if [ "${retval}" != "0" ]; then
-               error "Command <tt>$@</tt> FAILED"
-       fi
+    prun-opt "$@"
+    if [ "${retval}" != "0" ]; then
+        error "Command <tt>$@</tt> FAILED"
+    fi
 }
 
 get_persistent_device_from_unix_node() {
-       local unix_device=$1
-       local schema=$2
-       local node
-       local persistent_name
-       node=$(basename "${unix_device}")
-       for persistent_name in /dev/disk/"${schema}"/*; do
-       if [ "$(basename "$(readlink "${persistent_name}")")" = "${node}" ];then
-           if [[ ${persistent_name} =~ ^/dev/disk/"${schema}"/nvme-eui ]]; then
-               # Filter out nvme-eui nodes as they are not descriptive to the 
user
-               continue
-           fi
-           echo "${persistent_name}"
-           return
-       fi
-       done
-       warn "Could not find <tt>${schema}</tt> representation of 
<tt>${node}</tt>. Using original device <tt>${unix_device}</tt>"
-       echo "${unix_device}"
+    local unix_device=$1
+    local schema=$2
+    local node
+    local persistent_name
+    node=$(basename "${unix_device}")
+    for persistent_name in /dev/disk/"${schema}"/*; do
+        if [ "$(basename "$(readlink "${persistent_name}")")" = "${node}" 
];then
+            if [[ ${persistent_name} =~ ^/dev/disk/"${schema}"/nvme-eui ]]; 
then
+                # Filter out nvme-eui nodes as they are not descriptive to the 
user
+                continue
+            fi
+            echo "${persistent_name}"
+            return
+        fi
+    done
+    warn "Could not find <tt>${schema}</tt> representation of 
<tt>${node}</tt>. Using original device <tt>${unix_device}</tt>"
+    echo "${unix_device}"
 }
 
 get_disk() {
@@ -300,17 +300,17 @@
 }
 
 set_boot_target() {
-       if [ "${debug}" == "1" ]; then
-               log "[debug] Not setting EFI boot target"
-       else
-               # Cleanup any existing openSUSE boot entries
-               prun-opt /usr/sbin/efibootmgr -B -L "openSUSE Boot Manager"
-               prun /usr/sbin/efibootmgr -O
-               # Currently assuming Aeon-like partition layout and shim name. 
This function will need extra intelligence to probe partitions for other image 
layouts
-               prun /usr/sbin/efibootmgr -c -L "openSUSE Boot Manager" -d 
${TIK_INSTALL_DEVICE} -l "\EFI\systemd\shim.efi" -p 2
-               # Log to show the resulting eficonfig
-               log "[efibootmgr] $(prun /usr/sbin/efibootmgr)"
-       fi
+    if [ "${debug}" == "1" ]; then
+        log "[debug] Not setting EFI boot target"
+    else
+        # Cleanup any existing openSUSE boot entries
+        prun-opt /usr/sbin/efibootmgr -B -L "openSUSE Boot Manager"
+        prun /usr/sbin/efibootmgr -O
+        # Currently assuming Aeon-like partition layout and shim name. This 
function will need extra intelligence to probe partitions for other image 
layouts
+        prun /usr/sbin/efibootmgr -c -L "openSUSE Boot Manager" -d 
${TIK_INSTALL_DEVICE} -l "\EFI\systemd\shim.efi" -p 2
+        # Log to show the resulting eficonfig
+        log "[efibootmgr] $(prun /usr/sbin/efibootmgr)"
+    fi
 }
 
 load_modules() {
@@ -323,10 +323,10 @@
 if [ -n "$(ls -A $module_dir)" ]; then
 for f in $module_dir/*
     do
-       tik_module="$f"
-       log "[START] $module_dir/$f"
-       . $f
-       log "[STOP] $module_dir/$f"
+        tik_module="$f"
+        log "[START] $module_dir/$f"
+        . $f
+        log "[STOP] $module_dir/$f"
     done
 fi
 tik_module="tik"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tik-1.1.8/usr/lib/tik/modules/post/10-encrypt 
new/tik-1.1.9/usr/lib/tik/modules/post/10-encrypt
--- old/tik-1.1.8/usr/lib/tik/modules/post/10-encrypt   2024-06-17 
17:26:18.000000000 +0200
+++ new/tik-1.1.9/usr/lib/tik/modules/post/10-encrypt   2024-06-19 
14:10:16.000000000 +0200
@@ -3,61 +3,61 @@
 # SPDX-FileCopyrightText: Copyright 2024 Richard Brown
 
 generate_recoveryKey() {
-       modhex=('c' 'b' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'n' 'r' 't' 'u' 'v')
-       mapfile -t raw_key < <(hexdump -v --format '1/1 "%u\n"' -n 32 
/dev/random)
-       [ "${#raw_key[@]}" = 32 ]
-       key=""
-       for ((i=0;i<"${#raw_key[@]}";++i)); do
-               [ "$i" -gt 0 ] && [ "$((i%4))" -eq 0 ] && key="$key-"
-               c="${raw_key[i]}"
-               key="$key${modhex[$((c>>4))]}${modhex[$((c&15))]}"
-       done
+    modhex=('c' 'b' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'n' 'r' 't' 'u' 'v')
+    mapfile -t raw_key < <(hexdump -v --format '1/1 "%u\n"' -n 32 /dev/random)
+    [ "${#raw_key[@]}" = 32 ]
+    key=""
+    for ((i=0;i<"${#raw_key[@]}";++i)); do
+        [ "$i" -gt 0 ] && [ "$((i%4))" -eq 0 ] && key="$key-"
+        c="${raw_key[i]}"
+        key="$key${modhex[$((c>>4))]}${modhex[$((c&15))]}"
+    done
 }
 
 display_recoveryKey() {
-       log "Displaying Recovery Key"
-       zenity --width=500 --height=500 --no-wrap --warning --title="Encryption 
Recovery Key" --text="A secret recovery key has been generated for your Aeon 
installation:\n\n    <b><big>$key</big></b>\n\nPlease save this secret recovery 
key at a secure location\nIt may be used to regain access to your system if the 
other credentials have been lost or forgotten\nThe recovery key can be used in 
place of a password whenever authentication is requested\n\nYou may optionally 
scan the recovery key off screen:\n<span face='monospace'>$(qrencode $key -t 
UTF8i)</span>"
-       log "Recovery Key Dialogue Dismissed"
+    log "Displaying Recovery Key"
+    zenity --width=500 --height=500 --no-wrap --warning --title="Encryption 
Recovery Key" --text="A secret recovery key has been generated for your Aeon 
installation:\n\n    <b><big>$key</big></b>\n\nPlease save this secret recovery 
key at a secure location\nIt may be used to regain access to your system if the 
other credentials have been lost or forgotten\nThe recovery key can be used in 
place of a password whenever authentication is requested\n\nYou may optionally 
scan the recovery key off screen:\n<span face='monospace'>$(qrencode $key -t 
UTF8i)</span>"
+    log "Recovery Key Dialogue Dismissed"
 }
 
 encrypt_disk() {
-       probe_partitions $TIK_INSTALL_DEVICE "btrfs" "/usr/lib/os-release"
-       if [ -z "${probedpart}" ]; then
-               error "ENCRYPTION FAILED: New Installation NOT FOUND"
-       fi
-       prun /usr/bin/mkdir ${mig_dir}/mnt
-       prun /usr/bin/mount -o compress=zstd:1 ${probedpart} ${mig_dir}/mnt
-       prun /usr/bin/systemd-repart --pretty 0 --root ${mig_dir}/mnt 
--dry-run=0 ${probedpart}
-       prun /usr/bin/mount -o compress=zstd:1,subvol=/@/var ${probedpart} 
${mig_dir}/mnt/var
-       prun /lib/systemd/systemd-growfs ${mig_dir}/mnt/var
-       prun /usr/bin/umount ${mig_dir}/mnt/var
-       prun /usr/sbin/btrfs filesystem resize -32m /mnt
-       prun /usr/bin/umount ${mig_dir}/mnt
-       prun /usr/sbin/cryptsetup reencrypt --force-password --encrypt 
--reduce-device-size 32m ${probedpart} cr_root <<<"$key"
-       echo '{"type":"systemd-recovery","keyslots":["0"]}' | prun 
/usr/sbin/cryptsetup token import "${probedpart}"
-       prun /usr/sbin/btrfs rescue fix-device-size /dev/mapper/cr_root
-       prun /usr/bin/mount -o compress=zstd:1 /dev/mapper/cr_root 
${mig_dir}/mnt
-       prun /usr/bin/mount -o compress=zstd:1,subvol=/@/var 
/dev/mapper/cr_root ${mig_dir}/mnt/var
-       etcmountcmd=$(cat ${mig_dir}/mnt/etc/fstab | grep "overlay /etc" | sed 
's/\/sysroot\//${mig_dir}\/mnt\//g' | sed 's/\/work-etc.*/\/work-etc 
${mig_dir}\/mnt\/etc\//' | sed 's/overlay \/etc overlay/\/usr\/bin\/mount -t 
overlay overlay -o/')
-       eval prun "$etcmountcmd"
-       echo "cr_root ${probedpart} none x-initrd.attach" | prun tee 
${mig_dir}/mnt/etc/crypttab
-       probe_partitions $TIK_INSTALL_DEVICE "vfat" "/EFI/systemd/shim.efi"
-       prun /usr/bin/mount ${probedpart} ${mig_dir}/mnt/boot/efi
-       prun /usr/bin/mount -o compress=zstd:1,subvol=/@/.snapshots 
/dev/mapper/cr_root ${mig_dir}/mnt/.snapshots
-       prun /usr/bin/mount -t tmpfs -o size=10m tmpfs "${mig_dir}/mnt/run"
-       prun /usr/bin/mount -t tmpfs -o size=10m tmpfs "${mig_dir}/mnt/tmp"
-       for i in proc dev sys; do
-               prun /usr/bin/mount --bind "/$i" "${mig_dir}/mnt/$i"
-       done
-       prun /usr/bin/chroot ${mig_dir}/mnt <<EOT
+    probe_partitions $TIK_INSTALL_DEVICE "btrfs" "/usr/lib/os-release"
+    if [ -z "${probedpart}" ]; then
+        error "ENCRYPTION FAILED: New Installation NOT FOUND"
+    fi
+    prun /usr/bin/mkdir ${mig_dir}/mnt
+        prun /usr/bin/mount -o compress=zstd:1 ${probedpart} ${mig_dir}/mnt
+        prun /usr/bin/systemd-repart --pretty 0 --root ${mig_dir}/mnt 
--dry-run=0 ${probedpart}
+        prun /usr/bin/mount -o compress=zstd:1,subvol=/@/var ${probedpart} 
${mig_dir}/mnt/var
+        prun /lib/systemd/systemd-growfs ${mig_dir}/mnt/var
+        prun /usr/bin/umount ${mig_dir}/mnt/var
+        prun /usr/sbin/btrfs filesystem resize -32m /mnt
+        prun /usr/bin/umount ${mig_dir}/mnt
+    prun /usr/sbin/cryptsetup reencrypt --force-password --encrypt 
--reduce-device-size 32m ${probedpart} cr_root <<<"$key"
+    echo '{"type":"systemd-recovery","keyslots":["0"]}' | prun 
/usr/sbin/cryptsetup token import "${probedpart}"
+    prun /usr/sbin/btrfs rescue fix-device-size /dev/mapper/cr_root
+    prun /usr/bin/mount -o compress=zstd:1 /dev/mapper/cr_root ${mig_dir}/mnt
+    prun /usr/bin/mount -o compress=zstd:1,subvol=/@/var /dev/mapper/cr_root 
${mig_dir}/mnt/var
+    etcmountcmd=$(cat ${mig_dir}/mnt/etc/fstab | grep "overlay /etc" | sed 
's/\/sysroot\//${mig_dir}\/mnt\//g' | sed 's/\/work-etc.*/\/work-etc 
${mig_dir}\/mnt\/etc\//' | sed 's/overlay \/etc overlay/\/usr\/bin\/mount -t 
overlay overlay -o/')
+        eval prun "$etcmountcmd"
+    echo "cr_root ${probedpart} none x-initrd.attach" | prun tee 
${mig_dir}/mnt/etc/crypttab
+    probe_partitions $TIK_INSTALL_DEVICE "vfat" "/EFI/systemd/shim.efi"
+    prun /usr/bin/mount ${probedpart} ${mig_dir}/mnt/boot/efi
+    prun /usr/bin/mount -o compress=zstd:1,subvol=/@/.snapshots 
/dev/mapper/cr_root ${mig_dir}/mnt/.snapshots
+    prun /usr/bin/mount -t tmpfs -o size=10m tmpfs "${mig_dir}/mnt/run"
+    prun /usr/bin/mount -t tmpfs -o size=10m tmpfs "${mig_dir}/mnt/tmp"
+    for i in proc dev sys; do
+        prun /usr/bin/mount --bind "/$i" "${mig_dir}/mnt/$i"
+    done
+    prun /usr/bin/chroot ${mig_dir}/mnt <<EOT
 sdbootutil mkinitrd
 umount /etc
 EOT
-       for i in proc dev sys run tmp 'boot/efi' etc var '.snapshots'; do
-               prun /usr/bin/umount "${mig_dir}/mnt/$i"
-       done
-       prun /usr/bin/umount ${mig_dir}/mnt
-       prun /usr/bin/rmdir ${mig_dir}/mnt
+    for i in proc dev sys run tmp 'boot/efi' etc var '.snapshots'; do
+        prun /usr/bin/umount "${mig_dir}/mnt/$i"
+    done
+    prun /usr/bin/umount ${mig_dir}/mnt
+    prun /usr/bin/rmdir ${mig_dir}/mnt
 }
 
 generate_recoveryKey
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tik-1.1.8/usr/lib/tik/modules/post/20-mig 
new/tik-1.1.9/usr/lib/tik/modules/post/20-mig
--- old/tik-1.1.8/usr/lib/tik/modules/post/20-mig       2024-06-17 
17:26:18.000000000 +0200
+++ new/tik-1.1.9/usr/lib/tik/modules/post/20-mig       2024-06-19 
14:10:16.000000000 +0200
@@ -3,7 +3,7 @@
 # SPDX-FileCopyrightText: Copyright 2024 Richard Brown
 
 writemigdesktop() {
-       prun-opt /usr/bin/cat >> 
$1/.config/autostart/aeon-mig-firstboot.desktop << "EOF"
+    prun-opt /usr/bin/cat >> $1/.config/autostart/aeon-mig-firstboot.desktop 
<< "EOF"
 [Desktop Entry]
 Name=Aeon Migration FirstBoot Setup
 Comment=Sets up Aeon Correctly On FirstBoot after Migration
@@ -13,56 +13,56 @@
 Categories=Utility;System;
 Name[en_GB]=startup
 EOF
-       prun-opt /usr/bin/chmod 666 
$1/.config/autostart/aeon-mig-firstboot.desktop
+    prun-opt /usr/bin/chmod 666 $1/.config/autostart/aeon-mig-firstboot.desktop
 }
 
 
 if [ "${migrate}" == 1 ]; then
-       probe_partitions $TIK_INSTALL_DEVICE "btrfs" "/usr/lib/os-release"
+    probe_partitions $TIK_INSTALL_DEVICE "btrfs" "/usr/lib/os-release"
 
-       if [ -z "${probedpart}" ]; then
-               error "MIGRATION FAILED: New Installation NOT FOUND"
-       fi
-
-       prun /usr/bin/mkdir ${mig_dir}/mnt
-       prun /usr/bin/mount -o compress=zstd:1 ${probedpart} ${mig_dir}/mnt
-       prun /usr/bin/systemd-repart --pretty 0 --root ${mig_dir}/mnt 
--dry-run=0 ${probedpart}
-       prun /usr/bin/mount -o compress=zstd:1,subvol=/@/var ${probedpart} 
${mig_dir}/mnt/var
-       prun /lib/systemd/systemd-growfs ${mig_dir}/mnt/var
+    if [ -z "${probedpart}" ]; then
+        error "MIGRATION FAILED: New Installation NOT FOUND"
+    fi
+
+    prun /usr/bin/mkdir ${mig_dir}/mnt
+        prun /usr/bin/mount -o compress=zstd:1 ${probedpart} ${mig_dir}/mnt
+        prun /usr/bin/systemd-repart --pretty 0 --root ${mig_dir}/mnt 
--dry-run=0 ${probedpart}
+        prun /usr/bin/mount -o compress=zstd:1,subvol=/@/var ${probedpart} 
${mig_dir}/mnt/var
+        prun /lib/systemd/systemd-growfs ${mig_dir}/mnt/var
         etcmountcmd=$(cat ${mig_dir}/mnt/etc/fstab | grep "overlay /etc" | sed 
's/\/sysroot\//${mig_dir}\/mnt\//g' | sed 's/\/work-etc.*/\/work-etc 
${mig_dir}\/mnt\/etc\//' | sed 's/overlay \/etc overlay/\/usr\/bin\/mount -t 
overlay overlay -o/')
-       eval prun "$etcmountcmd"
-       prun /usr/bin/cat ${mig_dir}/passwd.out | prun tee -a 
${mig_dir}/mnt/etc/passwd
-       prun /usr/bin/cat ${mig_dir}/group.out | prun tee -a 
${mig_dir}/mnt/etc/group
-       prun /usr/bin/cat ${mig_dir}/shadow.out | prun tee -a 
${mig_dir}/mnt/etc/shadow
-       prun /usr/bin/sed -i "/^wheel:/ s/$/$(head -n 1 ${mig_dir}/passwd.out | 
awk -F'[/:]' '{print $1}')/" ${mig_dir}/mnt/etc/group
-       prun /usr/bin/cp -a ${mig_dir}/subuid ${mig_dir}/mnt/etc/subuid
-       prun /usr/bin/cp -a ${mig_dir}/subgid ${mig_dir}/mnt/etc/subgid
-       # It's not guaranteed that the system will have existing network 
configs, localtime or AccountsService
-       prun-opt /usr/bin/cp -a ${mig_dir}/system-connections/* 
${mig_dir}/mnt/etc/NetworkManager/system-connections
-       prun-opt /usr/bin/cp -a ${mig_dir}/localtime 
${mig_dir}/mnt/etc/localtime
-       prun-opt /usr/bin/cp -a ${mig_dir}/users/* 
${mig_dir}/mnt/var/lib/AccountsService/users
-       prun-opt /usr/bin/cp -a ${mig_dir}/icons/* 
${mig_dir}/mnt/var/lib/AccountsService/icons
-       prun-opt /usr/bin/cp -a ${mig_dir}/bluetooth/* 
${mig_dir}/mnt/var/lib/bluetooth
-       prun-opt /usr/bin/cp -a ${mig_dir}/openvpn/* ${mig_dir}/mnt/etc/openvpn
-       prun /usr/bin/umount ${mig_dir}/mnt/etc
-       prun /usr/bin/umount ${mig_dir}/mnt/var
-       prun /usr/bin/umount ${mig_dir}/mnt
-       prun /usr/bin/mount -o compress=zstd:1,subvol=/@ ${probedpart} 
${mig_dir}/mnt
-       prun /usr/sbin/btrfs subvolume delete ${mig_dir}/mnt/home
-       (prun /usr/sbin/btrfs send ${mig_dir}/${snap_dir} | pv -f -F "# %b 
copied in %t %r" | prun /usr/sbin/btrfs receive ${mig_dir}/mnt) 2>&1 | d 
--progress --title="Restoring /home" --pulsate --auto-close --no-cancel 
--width=400
-       prun /usr/bin/mv ${mig_dir}/mnt/${snap_dir} ${mig_dir}/mnt/home
-       prun /usr/sbin/btrfs property set -f -ts ${mig_dir}/mnt/home ro false
+        eval prun "$etcmountcmd"
+        prun /usr/bin/cat ${mig_dir}/passwd.out | prun tee -a 
${mig_dir}/mnt/etc/passwd
+        prun /usr/bin/cat ${mig_dir}/group.out | prun tee -a 
${mig_dir}/mnt/etc/group
+        prun /usr/bin/cat ${mig_dir}/shadow.out | prun tee -a 
${mig_dir}/mnt/etc/shadow
+        prun /usr/bin/sed -i "/^wheel:/ s/$/$(head -n 1 ${mig_dir}/passwd.out 
| awk -F'[/:]' '{print $1}')/" ${mig_dir}/mnt/etc/group
+        prun /usr/bin/cp -a ${mig_dir}/subuid ${mig_dir}/mnt/etc/subuid
+        prun /usr/bin/cp -a ${mig_dir}/subgid ${mig_dir}/mnt/etc/subgid
+        # It's not guaranteed that the system will have existing network 
configs, localtime or AccountsService
+        prun-opt /usr/bin/cp -a ${mig_dir}/system-connections/* 
${mig_dir}/mnt/etc/NetworkManager/system-connections
+        prun-opt /usr/bin/cp -a ${mig_dir}/localtime 
${mig_dir}/mnt/etc/localtime
+        prun-opt /usr/bin/cp -a ${mig_dir}/users/* 
${mig_dir}/mnt/var/lib/AccountsService/users
+        prun-opt /usr/bin/cp -a ${mig_dir}/icons/* 
${mig_dir}/mnt/var/lib/AccountsService/icons
+        prun-opt /usr/bin/cp -a ${mig_dir}/bluetooth/* 
${mig_dir}/mnt/var/lib/bluetooth
+        prun-opt /usr/bin/cp -a ${mig_dir}/fprint/* 
${mig_dir}/mnt/var/lib/fprint
+        prun-opt /usr/bin/cp -a ${mig_dir}/openvpn/* ${mig_dir}/mnt/etc/openvpn
+        prun /usr/bin/umount ${mig_dir}/mnt/etc
+        prun /usr/bin/umount ${mig_dir}/mnt/var
+        prun /usr/bin/umount ${mig_dir}/mnt
+        prun /usr/bin/mount -o compress=zstd:1,subvol=/@ ${probedpart} 
${mig_dir}/mnt
+        prun /usr/sbin/btrfs subvolume delete ${mig_dir}/mnt/home
+        (prun /usr/sbin/btrfs send ${mig_dir}/${snap_dir} | pv -f -F "# %b 
copied in %t %r" | prun /usr/sbin/btrfs receive ${mig_dir}/mnt) 2>&1 | d 
--progress --title="Restoring /home" --pulsate --auto-close --no-cancel 
--width=400
+        prun /usr/bin/mv ${mig_dir}/mnt/${snap_dir} ${mig_dir}/mnt/home
+        prun /usr/sbin/btrfs property set -f -ts ${mig_dir}/mnt/home ro false
         for subsubvol in $(prun-opt /usr/sbin/btrfs subvolume list -o 
${mig_dir}/${snap_dir} --sort=path | rev | cut -f1 -d' ' | rev | sed 's/^@//'); 
do
-               subsubvolname=$(basename $subsubvol)
-               subsubdirname=$(dirname $subsubvol | awk -F 
"${mig_dir}/${snap_dir}" '{print $2}')
-               (prun /usr/sbin/btrfs send ${subsubvol} | pv -f -F "# %b copied 
in %t %r" | prun /usr/sbin/btrfs receive ${mig_dir}/mnt/home/${subsubdirname} ) 
2>&1 | d --progress --title="Restoring containers" --pulsate --auto-close 
--no-cancel --width=400
-               prun /usr/sbin/btrfs property set -f -ts 
${mig_dir}/mnt/home/${subsubdirname}/${subsubvolname} ro false
-               prun-opt /usr/bin/sed -i 's/driver = "overlay"/driver = 
"btrfs"/g' ${mig_dir}/mnt/etc/containers/storage.conf
-
+            subsubvolname=$(basename $subsubvol)
+            subsubdirname=$(dirname $subsubvol | awk -F 
"${mig_dir}/${snap_dir}" '{print $2}')
+            (prun /usr/sbin/btrfs send ${subsubvol} | pv -f -F "# %b copied in 
%t %r" | prun /usr/sbin/btrfs receive ${mig_dir}/mnt/home/${subsubdirname} ) 
2>&1 | d --progress --title="Restoring containers" --pulsate --auto-close 
--no-cancel --width=400
+            prun /usr/sbin/btrfs property set -f -ts 
${mig_dir}/mnt/home/${subsubdirname}/${subsubvolname} ro false
+            prun-opt /usr/bin/sed -i 's/driver = "overlay"/driver = "btrfs"/g' 
${mig_dir}/mnt/etc/containers/storage.conf
+        done
+        for userhome in ${mig_dir}/mnt/home/*/; do
+            writemigdesktop $userhome
         done
-       for userhome in ${mig_dir}/mnt/home/*/; do
-               writemigdesktop $userhome
-       done
-       prun /usr/bin/umount ${mig_dir}/mnt
-       prun /usr/bin/rmdir ${mig_dir}/mnt
+        prun /usr/bin/umount ${mig_dir}/mnt
+        prun /usr/bin/rmdir ${mig_dir}/mnt
 fi
\ No newline at end of file
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tik-1.1.8/usr/lib/tik/modules/pre/10-welcome 
new/tik-1.1.9/usr/lib/tik/modules/pre/10-welcome
--- old/tik-1.1.8/usr/lib/tik/modules/pre/10-welcome    2024-06-17 
17:26:18.000000000 +0200
+++ new/tik-1.1.9/usr/lib/tik/modules/pre/10-welcome    2024-06-19 
14:10:16.000000000 +0200
@@ -36,12 +36,12 @@
 }
 
 verify_efi() {
-       # Verify that the system was booted with EFI, exit with error if not
-       if [ ! -d /sys/firmware/efi ]; then
-               # System was not booted with EFI
-               local error_msg="openSUSE Aeon requires UEFI mode, which is not 
found on your system.\nPlease check your BIOS settings to see if UEFI can be 
enabled."
-               error "${error_msg}"
-       fi
+    # Verify that the system was booted with EFI, exit with error if not
+    if [ ! -d /sys/firmware/efi ]; then
+        # System was not booted with EFI
+        local error_msg="openSUSE Aeon requires UEFI mode, which is not found 
on your system.\nPlease check your BIOS settings to see if UEFI can be enabled."
+        error "${error_msg}"
+    fi
 }
 
 proceedInstall
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/tik-1.1.8/usr/lib/tik/modules/pre/20-mig 
new/tik-1.1.9/usr/lib/tik/modules/pre/20-mig
--- old/tik-1.1.8/usr/lib/tik/modules/pre/20-mig        2024-06-17 
17:26:18.000000000 +0200
+++ new/tik-1.1.9/usr/lib/tik/modules/pre/20-mig        2024-06-19 
14:10:16.000000000 +0200
@@ -5,209 +5,207 @@
 mig_dir=/var/lib/tik/mig
 snap_dir=homebk
 if [ ! -d ${mig_dir} ]; then
-  prun /usr/bin/mkdir -p ${mig_dir}
+    prun /usr/bin/mkdir -p ${mig_dir}
 fi
 
 probe_partitions() {
-       local filesystem_type=$2
-       local filematch=$3
-       local device=$1
-       local mountops
-       local part
-
-       if [[ "${filesystem_type}" == "btrfs" ]]; then
-               mountops="-o compress=zstd:1"
-       fi
-       prun /usr/bin/mkdir -p ${mig_dir}/mnt
-       probedpart=""
-       for part in $(lsblk ${device} -p -n -r -o ID-LINK,FSTYPE|tr -s ' ' 
";"|grep ";${filesystem_type}"|cut -d\; -f1); do
-               # Fallback to unix device in order to fix issue with USB devices
-           prun /usr/bin/mount ${mountops} "$(/usr/bin/readlink -f 
"/dev/disk/by-id/${part}")" "${mig_dir}/mnt"
-           # Check if ${filematch} exists
-           if [ -f ${mig_dir}/mnt/${filematch} ]; then
-                       # Fallback to unix device in order to fix issue USB 
devices
-               probedpart="$(/usr/bin/readlink -f "/dev/disk/by-id/""${part}")"
-               log "[probe_partitions] /dev/disk/by-id/${part} found"
-               if grep -q 'PRETTY_NAME="openSUSE MicroOS"' 
${mig_dir}/mnt/${filematch} && [ -f ${mig_dir}/mnt/usr/bin/gnome-shell ]; then
-                       # Found legacy Aeon, activate easter egg
-                       log "Legacy Aeon Install FOUND"
-                       legacy_aeon=1
-               fi
-           fi
-           prun-opt /usr/bin/umount ${mig_dir}/mnt
-        done
-
-        prun /usr/bin/rmdir ${mig_dir}/mnt
+    local filesystem_type=$2
+    local filematch=$3
+    local device=$1
+    local mountops
+    local part
+    if [[ "${filesystem_type}" == "btrfs" ]]; then
+        mountops="-o compress=zstd:1"
+    fi
+    prun /usr/bin/mkdir -p ${mig_dir}/mnt
+    probedpart=""
+    for part in $(lsblk ${device} -p -n -r -o ID-LINK,FSTYPE|tr -s ' ' 
";"|grep ";${filesystem_type}"|cut -d\; -f1); do
+        # Fallback to unix device in order to fix issue with USB devices
+        prun /usr/bin/mount ${mountops} "$(/usr/bin/readlink -f 
"/dev/disk/by-id/${part}")" "${mig_dir}/mnt"
+        # Check if ${filematch} exists
+        if [ -f ${mig_dir}/mnt/${filematch} ]; then
+            # Fallback to unix device in order to fix issue USB devices
+            probedpart="$(/usr/bin/readlink -f "/dev/disk/by-id/""${part}")"
+            log "[probe_partitions] /dev/disk/by-id/${part} found"
+            if grep -q 'PRETTY_NAME="openSUSE MicroOS"' 
${mig_dir}/mnt/${filematch} && [ -f ${mig_dir}/mnt/usr/bin/gnome-shell ]; then
+                # Found legacy Aeon, activate easter egg
+                log "Legacy Aeon Install FOUND"
+                legacy_aeon=1
+            fi
+        fi
+        prun-opt /usr/bin/umount ${mig_dir}/mnt
+    done
+    prun /usr/bin/rmdir ${mig_dir}/mnt
 }
 
 if [ ! -z "$(ls -A ${mig_dir})" ]; then
-  log "existing backup found"
-  zenity --question --no-wrap --cancel-label="No, Delete Backup" 
--title="Existing user backup detected" --text="These users can be restored to 
the new installation\n\nWould you like to use this backup?"
-  oldbackupyn=$?
-  log "[oldbackupyn][${oldbackupyn}]"
-  if [ "${oldbackupyn}" == 0 ]; then
-      skipbackup=1
-      migrate=1
-      log "backup skipped, migration will use existing backup"
-   else
-      prun-opt /usr/sbin/btrfs property set -f -ts ${mig_dir}/${snap_dir} ro 
false
-      for subsubvol in $(prun-opt /usr/sbin/btrfs subvolume list -o 
${mig_dir}/${snap_dir} --sort=path | rev | cut -f1 -d' ' | rev | sed "s/^@//"); 
do
-               prun /usr/sbin/btrfs subvolume delete ${subsubvol}
-      done
-      prun-opt /usr/sbin/btrfs subvolume delete ${mig_dir}/${snap_dir}
-      prun-opt /usr/bin/rm ${mig_dir}/*.out
-      prun-opt /usr/bin/rm ${mig_dir}/system-connections/*
-      prun-opt /usr/bin/rmdir ${mig_dir}/system-connections
-      prun-opt /usr/bin/rm ${mig_dir}/users/*
-      prun-opt /usr/bin/rmdir ${mig_dir}/users
-      prun-opt /usr/bin/rm ${mig_dir}/icons/*
-      prun-opt /usr/bin/rmdir ${mig_dir}/icons
-      prun-opt /usr/bin/rm ${mig_dir}/localtime
-      prun-opt /usr/bin/rm ${mig_dir}/subgid
-      prun-opt /usr/bin/rm ${mig_dir}/subuid
-      prun-opt /usr/bin/rm ${mig_dir}/bluetooth/*
-      prun-opt /usr/bin/rmdir ${mig_dir}/bluetooth
-      prun-opt /usr/bin/rm ${mig_dir}/openvpn/*
-      prun-opt /usr/bin/rmdir ${mig_dir}/openvpn
-      prun-opt /usr/bin/rmdir ${mig_dir}/mnt
-  fi
+    log "existing backup found"
+    zenity --question --no-wrap --cancel-label="No, Delete Backup" 
--title="Existing user backup detected" --text="These users can be restored to 
the new installation\n\nWould you like to use this backup?"
+    oldbackupyn=$?
+    log "[oldbackupyn][${oldbackupyn}]"
+    if [ "${oldbackupyn}" == 0 ]; then
+        skipbackup=1
+        migrate=1
+        log "backup skipped, migration will use existing backup"
+    else
+        prun-opt /usr/sbin/btrfs property set -f -ts ${mig_dir}/${snap_dir} ro 
false
+        for subsubvol in $(prun-opt /usr/sbin/btrfs subvolume list -o 
${mig_dir}/${snap_dir} --sort=path | rev | cut -f1 -d' ' | rev | sed "s/^@//"); 
do
+            prun /usr/sbin/btrfs subvolume delete ${subsubvol}
+        done
+        prun-opt /usr/sbin/btrfs subvolume delete ${mig_dir}/${snap_dir}
+        prun-opt /usr/bin/rm ${mig_dir}/*.out
+        prun-opt /usr/bin/rm ${mig_dir}/system-connections/*
+        prun-opt /usr/bin/rmdir ${mig_dir}/system-connections
+        prun-opt /usr/bin/rm ${mig_dir}/users/*
+        prun-opt /usr/bin/rmdir ${mig_dir}/users
+        prun-opt /usr/bin/rm ${mig_dir}/icons/*
+        prun-opt /usr/bin/rmdir ${mig_dir}/icons
+        prun-opt /usr/bin/rm ${mig_dir}/localtime
+        prun-opt /usr/bin/rm ${mig_dir}/subgid
+        prun-opt /usr/bin/rm ${mig_dir}/subuid
+        prun-opt /usr/bin/rm ${mig_dir}/bluetooth/*
+        prun-opt /usr/bin/rmdir ${mig_dir}/bluetooth
+        prun-opt /usr/bin/rm ${mig_dir}/openvpn/*
+        prun-opt /usr/bin/rmdir ${mig_dir}/openvpn
+        prun-opt /usr/bin/rm -R ${mig_dir}/fprint/*
+        prun-opt /usr/bin/rmdir ${mig_dir}/fprint
+        prun-opt /usr/bin/rmdir ${mig_dir}/mnt
+    fi
 fi
 
 get_disk
 
 if [ -z "${skipbackup}" ]; then
-  # Although Legacy Aeon didn't officially support LUKS encrypted 
installations,
-  # some users might have nevertheless enabled encryption anyway.
-  # Search for existing crypto_LUKS partitions and, if found, prompt the user
-  # to unlock those so that the migration module can find existing data.
-  for encrypted_partition in $(lsblk ${TIK_INSTALL_DEVICE} -p -n -r -o 
ID-LINK,FSTYPE|tr -s ' ' ";"|grep ";crypto_LUKS"|cut -d\; -f1); do
-      if [ -e /dev/mapper/crypt_${encrypted_partition} ]; then
-          # Already opened for some reason... do not prompt for the passphrase
-          # but ensure we will clean up afterwards
-          crypt_opened="${crypt_opened} crypt_${encrypted_partition}"
-      else
-          while [ 1 ]; do
-              passphrase=$(zenity --password --title="Encrypted partition 
(${encrypted_partition}) detected" --cancel-label="Skip") || break
-              if [ -n "${passphrase}" ]; then
-                  echo -n "${passphrase}" | prun /usr/sbin/cryptsetup luksOpen 
/dev/disk/by-id/${encrypted_partition} crypt_${encrypted_partition}
-                  if [ "${?}" -eq 0 ]; then
-                      crypt_opened="${crypt_opened} 
crypt_${encrypted_partition}"
-
-                      # Wait for the mapped device to appear
-                      wait_count=0
-                      while [ ! -e /dev/mapper/crypt_${encrypted_partition} ] 
&& [ ${wait_count} -lt 5 ]; do
-                          sleep 1
-                          wait_count=$((wait_count + 1))
-                      done
-                      break
-                  fi
-              fi
-          done
-      fi
-  done
-  unset passphrase
-
-  # Probe selected disk for a btrfs partition containing /usr/lib/os-release
-  probe_partitions $TIK_INSTALL_DEVICE "btrfs" "/usr/lib/os-release"
-
-  if [ -n "${probedpart}" ]; then
-       prun /usr/bin/mkdir ${mig_dir}/mnt
-       if prun /usr/bin/mount -o compress=zstd:1,subvol=/@/home ${probedpart} 
${mig_dir}/mnt; then
-               prun /usr/sbin/btrfs quota rescan -w ${mig_dir}/mnt | d 
--progress --title="Detected existing /home subvolume.." --pulsate --auto-close 
--no-cancel --width=400
-               home_size=$(prun /usr/sbin/btrfs qgroup show --raw -f 
${mig_dir}/mnt | grep @/home$ | awk '{print $2}')
-               tik_stick_size=$(prun /usr/sbin/btrfs fi usage --raw ${mig_dir} 
| grep estimated | awk '{print $3}')
-               if [ ${home_size} -gt ${tik_stick_size} ]; then
-                       # Not enough space to offer migration
-                       migrate=0
-               fi
-               if [ ${home_size} -le 16384 ]; then
-                       # /home subvolume is empty
-                       migrate=0
-               fi
-               prun /usr/bin/umount ${mig_dir}/mnt
-       else
-               log "no @/home subvolume found on ${probedpart}"
-               migrate=0
-       fi
-       prun /usr/bin/rmdir ${mig_dir}/mnt
-
-       # partition found, /home subvolume found, no known reason to not 
migrate, so ask the user
-       if [ -z "${migrate}" ]; then
-               if [ "${legacy_aeon}" == 1 ]; then
-                       d --info --width=300 --height=300 
--icon=distributor-logo-Aeon-symbolic  --no-wrap --title="Message from the Aeon 
Team" --text="We'd like to thank you for adopting openSUSE Aeon so early in 
it's development,\nbefore we fully understood what we were building or how we 
wanted it to look\n\nWe are sorry that you need to reinstall your 
system\n\nThank you so much for your support.\nWe hope you enjoy the new look 
openSUSE Aeon"
-               fi
-               zenity --question --no-wrap --title="Backup users from the 
existing install?" --text="These users will be restored to the new 
installation."
-               migrateyn=$?
-               if [ "${migrateyn}" == 0 ]; then
-                       migrate=1
-               else
-                       migrate=0
-               fi
-       fi
-
-  fi
-
-  if [ "${migrate}" == 1 ]; then
-       # We're migrating, lets go!
-       prun /usr/bin/mkdir ${mig_dir}/mnt
-       prun /usr/bin/mount -o compress=zstd:1,subvol=/@/home ${probedpart} 
${mig_dir}/mnt
-       # Check for existing snapshot from interrupted backup and delete if it 
exists boo#1224824
-       if [ -d ${mig_dir}/mnt/${snap_dir} ]; then
-               prun /usr/sbin/btrfs subvolume delete ${mig_dir}/mnt/${snap_dir}
-       fi
-       prun /usr/sbin/btrfs subvolume snapshot -r ${mig_dir}/mnt 
${mig_dir}/mnt/${snap_dir}
-       (prun /usr/sbin/btrfs send ${mig_dir}/mnt/${snap_dir} | pv -f -F "# %b 
copied in %t %r" | prun /usr/sbin/btrfs receive ${mig_dir}) 2>&1 | d --progress 
--title="Backing up /home" --pulsate --auto-close --no-cancel --width=400
-        prun /usr/sbin/btrfs subvolume delete ${mig_dir}/mnt/${snap_dir}
-        # Probe for subvolumes nested beneath /home and back them up also
-        if (prun-opt /usr/sbin/btrfs subvolume list -o ${mig_dir}/mnt | grep 
-q "ID "); then
-       prun /usr/sbin/btrfs property set -f -ts ${mig_dir}/${snap_dir} ro false
-               for subsubvol in $(prun-opt /usr/sbin/btrfs subvolume list -o 
${mig_dir}/mnt --sort=path | rev | cut -f1 -d' ' | rev | sed 's/^@\/home//'); do
-                       subsubvolname=$(basename $subsubvol)
-                       subsubdirname=$(dirname $subsubvol)
-                       prun /usr/sbin/btrfs subvolume snapshot -r 
${mig_dir}/mnt/${subsubvol} ${mig_dir}/mnt/${subsubvolname}
-                       (prun /usr/sbin/btrfs send 
${mig_dir}/mnt/${subsubvolname} | pv -f -F "# %b copied in %t %r" | prun 
/usr/sbin/btrfs receive ${mig_dir}/${snap_dir}/${subsubdirname}) 2>&1 | d 
--progress --title="Backing up containers" --pulsate --auto-close --no-cancel 
--width=400
-                       prun /usr/sbin/btrfs subvolume delete 
${mig_dir}/mnt/${subsubvolname}
-               done
-        prun /usr/sbin/btrfs property set -f -ts ${mig_dir}/${snap_dir} ro true
+        # Although Legacy Aeon didn't officially support LUKS encrypted 
installations,
+        # some users might have nevertheless enabled encryption anyway.
+        # Search for existing crypto_LUKS partitions and, if found, prompt the 
user
+        # to unlock those so that the migration module can find existing data.
+        for encrypted_partition in $(lsblk ${TIK_INSTALL_DEVICE} -p -n -r -o 
ID-LINK,FSTYPE|tr -s ' ' ";"|grep ";crypto_LUKS"|cut -d\; -f1); do
+            if [ -e /dev/mapper/crypt_${encrypted_partition} ]; then
+                # Already opened for some reason... do not prompt for the 
passphrase
+                # but ensure we will clean up afterwards
+                crypt_opened="${crypt_opened} crypt_${encrypted_partition}"
+            else
+                while [ 1 ]; do
+                    passphrase=$(zenity --password --title="Encrypted 
partition (${encrypted_partition}) detected" --cancel-label="Skip") || break
+                    if [ -n "${passphrase}" ]; then
+                        echo -n "${passphrase}" | prun /usr/sbin/cryptsetup 
luksOpen /dev/disk/by-id/${encrypted_partition} crypt_${encrypted_partition}
+                        if [ "${?}" -eq 0 ]; then
+                            crypt_opened="${crypt_opened} 
crypt_${encrypted_partition}"
+                            # Wait for the mapped device to appear
+                            wait_count=0
+                            while [ ! -e 
/dev/mapper/crypt_${encrypted_partition} ] && [ ${wait_count} -lt 5 ]; do
+                                sleep 1
+                                wait_count=$((wait_count + 1))
+                            done
+                            break
+                        fi
+                    fi
+                done
+            fi
+        done
+    unset passphrase
+
+    # Probe selected disk for a btrfs partition containing /usr/lib/os-release
+    probe_partitions $TIK_INSTALL_DEVICE "btrfs" "/usr/lib/os-release"
+
+    if [ -n "${probedpart}" ]; then
+        prun /usr/bin/mkdir ${mig_dir}/mnt
+        if prun /usr/bin/mount -o compress=zstd:1,subvol=/@/home ${probedpart} 
${mig_dir}/mnt; then
+            prun /usr/sbin/btrfs quota rescan -w ${mig_dir}/mnt | d --progress 
--title="Detected existing /home subvolume.." --pulsate --auto-close 
--no-cancel --width=400
+            home_size=$(prun /usr/sbin/btrfs qgroup show --raw -f 
${mig_dir}/mnt | grep @/home$ | awk '{print $2}')
+            tik_stick_size=$(prun /usr/sbin/btrfs fi usage --raw ${mig_dir} | 
grep estimated | awk '{print $3}')
+            if [ ${home_size} -gt ${tik_stick_size} ]; then
+                # Not enough space to offer migration
+                migrate=0
+            fi
+            if [ ${home_size} -le 16384 ]; then
+                # /home subvolume is empty
+                migrate=0
+            fi
+            prun /usr/bin/umount ${mig_dir}/mnt
+        else
+            log "no @/home subvolume found on ${probedpart}"
+            migrate=0
+        fi
+        prun /usr/bin/rmdir ${mig_dir}/mnt
+        # partition found, /home subvolume found, no known reason to not 
migrate, so ask the user
+        if [ -z "${migrate}" ]; then
+            if [ "${legacy_aeon}" == 1 ]; then
+                d --info --width=300 --height=300 
--icon=distributor-logo-Aeon-symbolic  --no-wrap --title="Message from the Aeon 
Team" --text="We'd like to thank you for adopting openSUSE Aeon so early in 
it's development,\nbefore we fully understood what we were building or how we 
wanted it to look\n\nWe are sorry that you need to reinstall your 
system\n\nThank you so much for your support.\nWe hope you enjoy the new look 
openSUSE Aeon"
+            fi
+            zenity --question --no-wrap --title="Backup users from the 
existing install?" --text="These users will be restored to the new 
installation."
+            migrateyn=$?
+            if [ "${migrateyn}" == 0 ]; then
+                migrate=1
+            else
+                migrate=0
+            fi
+        fi
+    fi
+
+    if [ "${migrate}" == 1 ]; then
+        # We're migrating, lets go!
+        prun /usr/bin/mkdir ${mig_dir}/mnt
+        prun /usr/bin/mount -o compress=zstd:1,subvol=/@/home ${probedpart} 
${mig_dir}/mnt
+        # Check for existing snapshot from interrupted backup and delete if it 
exists boo#1224824
+        if [ -d ${mig_dir}/mnt/${snap_dir} ]; then
+            prun /usr/sbin/btrfs subvolume delete ${mig_dir}/mnt/${snap_dir}
         fi
-       prun /usr/bin/umount ${mig_dir}/mnt
-       prun /usr/bin/mount -o compress=zstd:1 ${probedpart} ${mig_dir}/mnt
-       prun /usr/bin/mount -o compress=zstd:1,subvol=/@/var ${probedpart} 
${mig_dir}/mnt/var
-        etcmntcmd=$(cat ${mig_dir}/mnt/etc/fstab | grep "overlay /etc" | sed 
's/\/sysroot\//${mig_dir}\/mnt\//g' | sed 's/\/work-etc.*/\/work-etc 
${mig_dir}\/mnt\/etc\//' | sed 's/overlay \/etc overlay/\/usr\/bin\/mount -t 
overlay overlay -o/')
-       eval prun "$etcmntcmd"
-       prun /usr/bin/awk -F'[/:]' '($3 >= 1000 && $3 != 65534)' 
${mig_dir}/mnt/etc/passwd | prun /usr/bin/awk -F':' '{ $7="/bin/bash"; print 
};' OFS=':' | prun tee ${mig_dir}/passwd.out
-       prun /usr/bin/awk -F'[/:]' '($3 >= 1000 && $3 != 65534 && $3 != 65533)' 
${mig_dir}/mnt/etc/group | prun tee ${mig_dir}/group.out
-       prun /usr/bin/awk -F'[/:]' '{if ($3 >= 1000 && $3 != 65534) print $1}' 
${mig_dir}/mnt/etc/passwd | prun /usr/bin/grep -f - ${mig_dir}/mnt/etc/shadow | 
prun tee ${mig_dir}/shadow.out
-       prun /usr/bin/cp -a ${mig_dir}/mnt/etc/subuid ${mig_dir}/subuid
-       prun /usr/bin/cp -a ${mig_dir}/mnt/etc/subgid ${mig_dir}/subgid
-       # It's not guaranteed that the system will have existing network 
configs, custom localtime or AccountsService
-       prun-opt /usr/bin/cp -a 
${mig_dir}/mnt/etc/NetworkManager/system-connections 
${mig_dir}/system-connections
-       prun-opt /usr/bin/cp -a ${mig_dir}/mnt/etc/localtime 
${mig_dir}/localtime
-       prun-opt /usr/bin/cp -a ${mig_dir}/mnt/var/lib/AccountsService/users 
${mig_dir}/users
-       prun-opt /usr/bin/chmod 744 ${mig_dir}/users
-       prun-opt /usr/bin/cp -a ${mig_dir}/mnt/var/lib/AccountsService/icons 
${mig_dir}/icons
-       prun-opt /usr/bin/cp -a ${mig_dir}/mnt/var/lib/bluetooth 
${mig_dir}/bluetooth
-       prun-opt /usr/bin/cp -a ${mig_dir}/mnt/etc/openvpn ${mig_dir}/openvpn
-       prun-opt /usr/bin/umount ${mig_dir}/mnt/etc
-       prun /usr/bin/umount ${mig_dir}/mnt/var
-       prun /usr/bin/umount ${mig_dir}/mnt
-       prun /usr/bin/rmdir ${mig_dir}/mnt
-  fi
-
-  # Close eventual mapped LUKS devices
-  if [ -n "${crypt_opened}" ]; then
-      for mapped_partition in ${crypt_opened}; do
-          if [ -e /dev/mapper/crypt_${encrypted_partition} ]; then
-              # We are going to replace the encrypted partition anyway, so if
-              # we're unable to gracefully close the device after 5 seconds,
-              # just give up (hence the prun-opt usage)
-              wait_count=0
-              while ! prun-opt /usr/sbin/cryptsetup luksClose 
/dev/mapper/${mapped_partition} && [ ${wait_count} -lt 5 ]; do
-                  sleep 1
-                  wait_count=$((wait_count + 1))
-              done
-          fi
-      done
-  fi
+            prun /usr/sbin/btrfs subvolume snapshot -r ${mig_dir}/mnt 
${mig_dir}/mnt/${snap_dir}
+            (prun /usr/sbin/btrfs send ${mig_dir}/mnt/${snap_dir} | pv -f -F 
"# %b copied in %t %r" | prun /usr/sbin/btrfs receive ${mig_dir}) 2>&1 | d 
--progress --title="Backing up /home" --pulsate --auto-close --no-cancel 
--width=400
+            prun /usr/sbin/btrfs subvolume delete ${mig_dir}/mnt/${snap_dir}
+            # Probe for subvolumes nested beneath /home and back them up also
+            if (prun-opt /usr/sbin/btrfs subvolume list -o ${mig_dir}/mnt | 
grep -q "ID "); then
+                prun /usr/sbin/btrfs property set -f -ts 
${mig_dir}/${snap_dir} ro false
+                for subsubvol in $(prun-opt /usr/sbin/btrfs subvolume list -o 
${mig_dir}/mnt --sort=path | rev | cut -f1 -d' ' | rev | sed 's/^@\/home//'); do
+                    subsubvolname=$(basename $subsubvol)
+                    subsubdirname=$(dirname $subsubvol)
+                    prun /usr/sbin/btrfs subvolume snapshot -r 
${mig_dir}/mnt/${subsubvol} ${mig_dir}/mnt/${subsubvolname}
+                    (prun /usr/sbin/btrfs send ${mig_dir}/mnt/${subsubvolname} 
| pv -f -F "# %b copied in %t %r" | prun /usr/sbin/btrfs receive 
${mig_dir}/${snap_dir}/${subsubdirname}) 2>&1 | d --progress --title="Backing 
up containers" --pulsate --auto-close --no-cancel --width=400
+                    prun /usr/sbin/btrfs subvolume delete 
${mig_dir}/mnt/${subsubvolname}
+                done
+                prun /usr/sbin/btrfs property set -f -ts 
${mig_dir}/${snap_dir} ro true
+            fi
+            prun /usr/bin/umount ${mig_dir}/mnt
+            prun /usr/bin/mount -o compress=zstd:1 ${probedpart} ${mig_dir}/mnt
+            prun /usr/bin/mount -o compress=zstd:1,subvol=/@/var ${probedpart} 
${mig_dir}/mnt/var
+            etcmntcmd=$(cat ${mig_dir}/mnt/etc/fstab | grep "overlay /etc" | 
sed 's/\/sysroot\//${mig_dir}\/mnt\//g' | sed 's/\/work-etc.*/\/work-etc 
${mig_dir}\/mnt\/etc\//' | sed 's/overlay \/etc overlay/\/usr\/bin\/mount -t 
overlay overlay -o/')
+            eval prun "$etcmntcmd"
+            prun /usr/bin/awk -F'[/:]' '($3 >= 1000 && $3 != 65534)' 
${mig_dir}/mnt/etc/passwd | prun /usr/bin/awk -F':' '{ $7="/bin/bash"; print 
};' OFS=':' | prun tee ${mig_dir}/passwd.out
+            prun /usr/bin/awk -F'[/:]' '($3 >= 1000 && $3 != 65534 && $3 != 
65533)' ${mig_dir}/mnt/etc/group | prun tee ${mig_dir}/group.out
+            prun /usr/bin/awk -F'[/:]' '{if ($3 >= 1000 && $3 != 65534) print 
$1}' ${mig_dir}/mnt/etc/passwd | prun /usr/bin/grep -f - 
${mig_dir}/mnt/etc/shadow | prun tee ${mig_dir}/shadow.out
+            prun /usr/bin/cp -a ${mig_dir}/mnt/etc/subuid ${mig_dir}/subuid
+            prun /usr/bin/cp -a ${mig_dir}/mnt/etc/subgid ${mig_dir}/subgid
+            # It's not guaranteed that the system will have existing network 
configs, custom localtime or AccountsService
+            prun-opt /usr/bin/cp -a 
${mig_dir}/mnt/etc/NetworkManager/system-connections 
${mig_dir}/system-connections
+            prun-opt /usr/bin/cp -a ${mig_dir}/mnt/etc/localtime 
${mig_dir}/localtime
+            prun-opt /usr/bin/cp -a 
${mig_dir}/mnt/var/lib/AccountsService/users ${mig_dir}/users
+            prun-opt /usr/bin/chmod 744 ${mig_dir}/users
+            prun-opt /usr/bin/cp -a 
${mig_dir}/mnt/var/lib/AccountsService/icons ${mig_dir}/icons
+            prun-opt /usr/bin/cp -a ${mig_dir}/mnt/var/lib/bluetooth 
${mig_dir}/bluetooth
+            prun-opt /usr/bin/cp -a ${mig_dir}/mnt/var/lib/fprint 
${mig_dir}/fprint
+            prun-opt /usr/bin/cp -a ${mig_dir}/mnt/etc/openvpn 
${mig_dir}/openvpn
+            prun-opt /usr/bin/umount ${mig_dir}/mnt/etc
+            prun /usr/bin/umount ${mig_dir}/mnt/var
+            prun /usr/bin/umount ${mig_dir}/mnt
+            prun /usr/bin/rmdir ${mig_dir}/mnt
+    fi
+
+    # Close eventual mapped LUKS devices
+    if [ -n "${crypt_opened}" ]; then
+        for mapped_partition in ${crypt_opened}; do
+            if [ -e /dev/mapper/crypt_${encrypted_partition} ]; then
+                # We are going to replace the encrypted partition anyway, so if
+                # we're unable to gracefully close the device after 5 seconds,
+                # just give up (hence the prun-opt usage)
+                wait_count=0
+                while ! prun-opt /usr/sbin/cryptsetup luksClose 
/dev/mapper/${mapped_partition} && [ ${wait_count} -lt 5 ]; do
+                    sleep 1
+                    wait_count=$((wait_count + 1))
+                done
+            fi
+        done
+    fi
 
 fi

++++++ tik.obsinfo ++++++
--- /var/tmp/diff_new_pack.Tk98bn/_old  2024-06-20 16:47:48.666920078 +0200
+++ /var/tmp/diff_new_pack.Tk98bn/_new  2024-06-20 16:47:48.666920078 +0200
@@ -1,5 +1,5 @@
 name: tik
-version: 1.1.8
-mtime: 1718637978
-commit: 965e7b0ed36f5347975cd01051ad7ea11457339d
+version: 1.1.9
+mtime: 1718799016
+commit: c53a8b45a5931d6af1b69da91031dcf40d54611a
 

Reply via email to