Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package opensuse-migration-tool for 
openSUSE:Leap:16.0 checked in at 2025-11-27 13:19:51
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Leap:16.0/opensuse-migration-tool (Old)
 and      /work/SRC/openSUSE:Leap:16.0/.opensuse-migration-tool.new.14147 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "opensuse-migration-tool"

Thu Nov 27 13:19:51 2025 rev:7 rq: version:20251029.ed0d12d

Changes:
--------
--- 
/work/SRC/openSUSE:Leap:16.0/opensuse-migration-tool/opensuse-migration-tool.changes
        2025-07-29 16:45:17.466334842 +0200
+++ 
/work/SRC/openSUSE:Leap:16.0/.opensuse-migration-tool.new.14147/opensuse-migration-tool.changes
     2025-11-27 13:19:53.489359858 +0100
@@ -1,0 +2,53 @@
+Fri Nov  7 11:05:51 UTC 2025 - Lubos Kocman <[email protected]>
+
+- Drop accidentally created submodule
+  * Add opensuse-migration-tool to .gitignore
+
+-------------------------------------------------------------------
+Wed Oct 29 20:31:04 UTC 2025 - [email protected]
+
+- Update to version 20251029.ed0d12d:
+  * Update opensuse-migration-tool
+
+-------------------------------------------------------------------
+Fri Oct 17 11:28:12 UTC 2025 - [email protected]
+
+- Update to version 20251017.e28f94c:
+  * fix: remove the check for x86-64-v3 flag xsave from the v2 check
+
+-------------------------------------------------------------------
+Wed Oct 01 20:43:21 UTC 2025 - [email protected]
+
+- Update to version 20251001.d4b9783:
+  * Be consistently not using abbreviations in zypper
+  * Refactor upgrade for not just Tumbleweed
+  * Update migration matrix
+  * Add support from MicroOS-Slowroll -> MicroOS
+  * Enable MicroOS-Slowroll migration target
+  * fix: remove the check for x86-64-v3 flag `movbe` from the v2 check
+  * Update README to remove duplicate warning
+  * Revise experimental usage warning in README
+  * Update screenshot
+  * Keep only Experimental in the title
+
+-------------------------------------------------------------------
+Fri Sep 12 13:22:56 UTC 2025 - [email protected]
+
+- Update to version 20250815.344dba5:
+  * Keep only Experimental in the title
+  * Install custom dialogrc with a green theme
+
+-------------------------------------------------------------------
+Thu Jul 31 13:20:21 UTC 2025 - [email protected]
+
+- Update to version 20250731.8b95d00:
+  * Do not enable migration scripts by default
+
+-------------------------------------------------------------------
+Wed Jul 30 23:38:59 UTC 2025 - [email protected]
+
+- Update to version 20250731.2b96308:
+  * Add 10_keepapparmor.sh 10_keepselinux.sh 20_ia32.sh migration services
+  * Fancy README.md
+
+-------------------------------------------------------------------

Old:
----
  opensuse-migration-tool-20250729.4ed6ec5.obscpio

New:
----
  opensuse-migration-tool-20251029.ed0d12d.obscpio

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

Other differences:
------------------
++++++ opensuse-migration-tool.spec ++++++
--- /var/tmp/diff_new_pack.lodMjV/_old  2025-11-27 13:19:55.421441357 +0100
+++ /var/tmp/diff_new_pack.lodMjV/_new  2025-11-27 13:19:55.437442031 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package opensuse-migration-tool
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
 # Copyright (c) 2025 Marcela Maslanova
 # Copyright (c) 2025 Lubos Kocman
 #
@@ -19,7 +19,7 @@
 
 
 Name:           opensuse-migration-tool
-Version:        20250729.4ed6ec5
+Version:        20251029.ed0d12d
 Release:        0
 Summary:        Migration and Upgrade tool for openSUSE
 License:        Apache-2.0
@@ -53,15 +53,19 @@
 # Install scripts directory
 cp -a scripts %{buildroot}/%{_datadir}/%{name}/
 
+# Dialogrc custom theme
+cp dialogrc %{buildroot}%{_datadir}/%{name}/dialogrc
+
 %check
 
 %files
 %defattr(644,root,root,755)
 %attr(0755, root, root) %{_sbindir}/%{name}
-%{_datadir}/%{name}
-%{_datadir}/%{name}/scripts
 %dir %{_datadir}/%{name}
 %dir %{_datadir}/%{name}/scripts
+%{_datadir}/%{name}
+%{_datadir}/%{name}/scripts
+%{_datadir}/%{name}/dialogrc
 %attr(0755, root, root) %{_datadir}/%{name}/scripts/*
 %attr(0644, root, root) %{_datadir}/%{name}/SLES.prod
 

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.lodMjV/_old  2025-11-27 13:19:55.613449456 +0100
+++ /var/tmp/diff_new_pack.lodMjV/_new  2025-11-27 13:19:55.637450468 +0100
@@ -1,7 +1,7 @@
-mtime: 1753868719
-commit: 0363e36b3852b5182a2d2399424bc05d378b2da094fdc46c2835296f34772a72
+mtime: 1763481938
+commit: 99f08127a2bad47e4c8d40549725c9114e81b38b0802f1fe21a6bcc60e6fe7c9
 url: https://src.opensuse.org/pool/opensuse-migration-tool
-revision: 0363e36b3852b5182a2d2399424bc05d378b2da094fdc46c2835296f34772a72
+revision: 99f08127a2bad47e4c8d40549725c9114e81b38b0802f1fe21a6bcc60e6fe7c9
 trackingbranch: Leap-16.0
 projectscmsync: https://src.opensuse.org/openSUSE/Leap
 

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.lodMjV/_old  2025-11-27 13:19:55.845459242 +0100
+++ /var/tmp/diff_new_pack.lodMjV/_new  2025-11-27 13:19:55.869460255 +0100
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/openSUSE/opensuse-migration-tool.git</param>
-              <param 
name="changesrevision">4ed6ec561640b43eadfdcf2fb6b0474816a97b65</param></service></servicedata>
+              <param 
name="changesrevision">ed0d12d53c7eeab780c8c81b18a469d18c4a59df</param></service></servicedata>
 (No newline at EOF)
 

++++++ build.specials.obscpio ++++++
--- old/.gitignore      2025-10-21 12:00:11.000000000 +0200
+++ new/.gitignore      2025-11-27 13:19:50.000000000 +0100
@@ -1 +1,2 @@
 .osc
+opensuse-migration-tool

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2025-11-27 13:19:50.000000000 +0100
@@ -0,0 +1,2 @@
+.osc
+opensuse-migration-tool

++++++ opensuse-migration-tool-20250729.4ed6ec5.obscpio -> 
opensuse-migration-tool-20251029.ed0d12d.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/opensuse-migration-tool-20250729.4ed6ec5/README.md 
new/opensuse-migration-tool-20251029.ed0d12d/README.md
--- old/opensuse-migration-tool-20250729.4ed6ec5/README.md      2025-07-29 
15:01:42.000000000 +0200
+++ new/opensuse-migration-tool-20251029.ed0d12d/README.md      2025-10-29 
21:29:32.000000000 +0100
@@ -1,143 +1,172 @@
-# openSUSE migration tool
+# ๐Ÿ›๏ธ openSUSE Migration Tool
 
-The tool was created during [Hackweek 
24](https://hackweek.opensuse.org/24/projects/new-migration-tool-for-leap).
+&#x20;  &#x20;
 
-The goal is to simplify upgrades and cross-distribution migrations within 
openSUSE distributions.
+> ๐Ÿ—ช **Experimental** โ€” Use with caution until a complete test suite is 
implemented.
+> 
+A command-line tool to **simplify upgrades and migrations** across openSUSE 
distributions โ€” including *Leap*, *Tumbleweed*, *Slowroll*, and even migrations 
from **Leap to SLE**.
 
-It also supports migration from openSUSE Leap to SUSE Linux Enterprise.
+General documentation about openSUSE Leap upgrade or Migration can be found at 
[SDB:System_upgrade](https://en.opensuse.org/SDB:System_upgrade) wiki.
 
-**The tool is still experimental and is not expected to be used in production 
until we have a proper test suite.**
+---
+<img width="1443" height="910" alt="image" 
src="https://github.com/user-attachments/assets/e7a37163-88a5-4de0-8e05-d8f543a3f61b";
 />
 
-![image](https://github.com/user-attachments/assets/5eb2e5ee-ce07-4319-a477-6e66b27f339b)
+## ๐ŸŒŸ Key Features
 
+๐Ÿ‘‰ **Upgrade to pre-releases such as Leap 16.0 Beta**
+๐Ÿ‘‰ **Migration across various openSUSE distributions**
+๐Ÿ‘‰ **Migration to SUSE Linux Enterprise products**
+๐Ÿ‘‰ **Integrates get.opensuse.org product API + openSUSE-repos**
+๐Ÿ‘‰ **Dry-run mode for safe previews**
+๐Ÿ‘‰ **Support for immutable systems (Leap Micro)**
+๐Ÿ‘‰ **Disabling 3rd party repos prior to migration**
 
-The tool gets information about point releases from [get.opensuse.org 
API](https://get.opensuse.org/api/v0/distributions.json) 
-and also utilizes [openSUSE-repos](https://github.com/openSUSE/openSUSE-repos) 
for a cross distribution migration.
-Installing openSUSE-repos from the target repo of an upgrade or migration 
takes away any manual tinkering of distribution repositories.
+---
+
+## ๐Ÿ”„ Supported Migration Paths
 
-**Intended supported scenarios**
 ```
-Leap -> Leap n+1, Leap -> SLES, Leap -> Tumbleweed, Leap -> Slowroll
-Leap Micro -> Leap Micro n+1, Leap Micro -> MicroOS
-Slowroll -> Tumbleweed
-Tumbleweed -> Slowroll
+Tumbleweed       โ†’ Slowroll
+Slowroll         โ†’ Tumbleweed
+MicroOS          โ†’ MicroOS-Slowroll
+MicroOS-Slowroll โ†’ MicroOS
+Leap             โ†’ Leap n+1, SLES, Tumbleweed, Slowroll
+Leap Micro       โ†’ Leap Micro n+1, MicroOS, MicroOS-Slowroll
 ```
 
-**Known unsupported scenarios**
+โš ๏ธ **Unsupported or discouraged paths**:
 
-Migration from Tumbleweed (rolling) to any point release is not possible as 
it's effectively a downgrade.
-Migration from non-immutable to immutable is generally unsupported and not 
recommended. 
-So no option for Tumbleweed -> MicroOS either.
-For such unsupported cases please do a clean install.
+* Tumbleweed โ†’ Leap (downgrade, not supported)
+* Tumbleweed โ†’ MicroOS (immutable shift)
+* Non-immutable โ†’ Immutable (generally unsupported)
 
+---
 
+## ๐Ÿ“œ License
 
+This project is licensed under the [Apache-2.0 
License](http://www.apache.org/licenses/LICENSE-2.0). ๐Ÿ‘
 
-## License
-This project uses the [Apache-2.0](http://www.apache.org/licenses/LICENSE-2.0) 
license.
+---
 
-## Testing
+## ๐Ÿงช Quick Start: Testing the Tool
 
-Please always run the tool first with --dry-run to get an overall idea of what 
the tool would do to your system.
-I highly recommend testing the tool in a virtual machine or container via e.g. 
distrobox.
+> Always use `--dry-run` first to preview planned changes!
 
-### Execution on a regular system such as Leap, Tumbleweed, Slowroll
+### ๐Ÿ”ง On regular systems (Leap, Tumbleweed, Slowroll)
 
-```
-$ sudo zypper in opensuse-migration-tool
-$ opensuse-migration-tool --dry-run
-$ sudo opensuse-migration-tool
-$ reboot
+```bash
+sudo zypper in opensuse-migration-tool
+opensuse-migration-tool --dry-run
+sudo opensuse-migration-tool
+reboot
 ```
 
-### Execution on Immutable systems such as Leap Micro
+---
 
-```
-$ sudo transactional-update shell
-# Inside the shell
-$ sudo zypper in opensuse-migration-tool
-$ opensuse-migration-tool --dry-run
-$ sudo opensuse-migration-tool
-$ exit && reboot # into new snapshot
-```
+### ๐Ÿ’จ On immutable systems (Leap Micro)
 
-### Upgrading to pre-releases such as Alpha, Beta
+```bash
+sudo transactional-update shell
+# Inside shell:
+zypper in opensuse-migration-tool
+opensuse-migration-tool --dry-run
+sudo opensuse-migration-tool
+exit && reboot  # boot into new snapshot
+```
 
-By default the tool with **not show up** Alpha, Beta, RC releases of point 
releases as viable targets for upgrade/migration.
-E.g. Leap Micro 6.1 Beta or Leap 16.9 Alpha.
+---
 
-This is on purpose. We want to ensure that nobody accidentally upgrades their 
system to e.g. Alpha version of an upcoming release.
+### ๐Ÿšง Upgrading to Alpha/Beta/RC Releases
 
-The --pre-release argument does the trick, then we'll fetch information from 
[get.opensuse.org API](https://get.opensuse.org/api/v0/distributions.json) 
about all available releases which are not EOL.
-Default behavior is to fetch only releases with state "Stable" which means 
released/supported.
+By default, **pre-release versions are hidden** to avoid accidental installs.
 
+Use `--pre-release` to opt-in:
 
-```
+```bash
 ./opensuse-migration-tool --pre-release --dry-run
 sudo ./opensuse-migration-tool --pre-release
-
 ```
 
-### Alternatively with git/distrobox (recommended for development)
+---
 
-Leap Micro migration can be easily developed/tested on a toolbox image. 
-Just be aware that the toolbox container won't be immutable inside, so no need 
for transactional-update here.
+## ๐Ÿณ Development & Testing in Distrobox (Recommended)
 
-Please be aware that in such a container environment there could be an issue 
with updating bind-mounted files such as 
[/etc/hostname](https://bugzilla.opensuse.org/show_bug.cgi?id=1233982).
-```
-$ git clone https://github.com/openSUSE/opensuse-migration-tool.git
-$ cd opensuse-migration-tool
-$ distrobox create --image 
registry.opensuse.org/opensuse/leap-micro/6.0/toolbox --name micro60
-$ distrobox enter micro60
-$ zypper in bc jq curl dialog sed gawk
-$ ./opensuse-migration-tool --dry-run
-$ sudo ./opensuse-migration-tool
-```
+### Leap Micro inside Toolbox container
+
+```bash
+git clone https://github.com/openSUSE/opensuse-migration-tool.git
+cd opensuse-migration-tool
 
+distrobox create --image registry.opensuse.org/opensuse/leap-micro/6.0/toolbox 
--name micro60
+distrobox enter micro60
+
+zypper in bc jq curl dialog sed gawk
+./opensuse-migration-tool --dry-run
+sudo ./opensuse-migration-tool
 ```
-$ git clone https://github.com/openSUSE/opensuse-migration-tool.git
-$ cd opensuse-migration-tool
-$ distrobox create --image opensuse/leap:15.5 --name leap155
-$ distrobox enter leap155
-$ sudo zypper in bc jq curl dialog sed gawk
-$ ./opensuse-migration-tool --dry-run
-$ sudo ./opensuse-migration-tool
+
+### Leap 15.5 container
+
+```bash
+distrobox create --image opensuse/leap:15.5 --name leap155
+distrobox enter leap155
+
+sudo zypper in bc jq curl dialog sed gawk
+./opensuse-migration-tool --dry-run
+sudo ./opensuse-migration-tool
 ```
 
-## Documentation for a manual migration
+โš ๏ธ **Heads-up:** Toolbox environments are not truly immutable and may exhibit 
issues (e.g. bind-mounted `/etc/hostname` โ€” [bug 
1233982](https://bugzilla.opensuse.org/show_bug.cgi?id=1233982)).
 
-These are wiki that describe the manual upgrade process with zypper dup
+---
 
-https://en.opensuse.org/SDB:System_upgrade
+## ๐Ÿ“‹ Manual Migration Resources
 
-https://en.opensuse.org/SDB:How_to_migrate_to_SLE
+For traditional `zypper dup` approaches:
 
-https://en.opensuse.org/SDB:System_upgrade_to_LeapMicro_6.0
+* ๐Ÿ”— [System Upgrade (Leap)](https://en.opensuse.org/SDB:System_upgrade)
+* ๐Ÿ”— [Leap โ†’ SLE Migration 
Guide](https://en.opensuse.org/SDB:How_to_migrate_to_SLE)
+* ๐Ÿ”— [Leap Micro 
Upgrade](https://en.opensuse.org/SDB:System_upgrade_to_LeapMicro_6.0)
 
-### Packaging
-```
-$ osc bco Base:System opensuse-migration-tool # fork Package from Base:System
-$ cd Base:System/opensuse-migration-tool
-$ osc service runall
-$ osc addremove
-$ vim *.changes # review changelog, deduplicate lines from git history etc.
-$ osc build # ensure that changes build locally
-$ osc commit
-$ osc sr # submit changes to the Base:System
-```
-**Maintainer typically forwards submission from devel project to 
openSUSE:Factory on accept.**
+---
 
-If this is not the case you can submit it manually.
+## ๐Ÿ“ฆ Packaging & Submitting to openSUSE
 
+### Working on the package (Base\:System)
+
+```bash
+osc bco Base:System opensuse-migration-tool
+cd Base:System/opensuse-migration-tool
+
+osc service runall
+osc addremove
+vim *.changes     # Review changelog
+osc build         # Test build locally
+osc commit
+osc sr            # Submit to Base:System
 ```
-$ osc sr Base:System opensuse-migration-tool openSUSE:Factory
-```
 
-Aside from Factory we want to ensure that supported Leap Micro and Leap 
releases get the update too.
-**Once changes are accepted in openUSSE:Factory do following.**
+### Forwarding to openSUSE\:Factory
+
+If not done by the maintainer:
 
+```bash
+osc sr Base:System opensuse-migration-tool openSUSE:Factory
 ```
-$ osc sr openSUSE:Factory opensuse-migration-tool openSUSE:Leap:Micro:6.1
-$ osc sr openSUSE:Factory opensuse-migration-tool openSUSE:Leap:16.0
-$ osc sr openSUSE:Factory opensuse-migration-tool openSUSE:Leap:15.6:Update
+
+### Submitting to Leap and Leap Micro
+
+After Factory acceptance:
+
+```bash
+osc sr openSUSE:Factory opensuse-migration-tool openSUSE:Leap:Micro:6.1
+osc sr openSUSE:Factory opensuse-migration-tool openSUSE:Leap:16.0
+osc sr openSUSE:Factory opensuse-migration-tool openSUSE:Leap:15.6:Update
 ```
+
+---
+
+## ๐Ÿค Contributions Welcome!
+
+We're happy to receive PRs, testing reports, or feedback on supported 
scenarios.
+Please open issues or pull requests on GitHub.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/opensuse-migration-tool-20250729.4ed6ec5/opensuse-migration-tool 
new/opensuse-migration-tool-20251029.ed0d12d/opensuse-migration-tool
--- old/opensuse-migration-tool-20250729.4ed6ec5/opensuse-migration-tool        
2025-07-29 15:01:42.000000000 +0200
+++ new/opensuse-migration-tool-20251029.ed0d12d/opensuse-migration-tool        
2025-10-29 21:29:32.000000000 +0100
@@ -59,7 +59,7 @@
 for tool in "${REQUIRED_TOOLS[@]}"; do
     if ! command -v "$tool" &>/dev/null; then
         echo "$tool is required but not installed."
-        echo "Please run: sudo zypper in ${REQUIRED_TOOLS[*]}"
+        echo "Please run: sudo zypper install ${REQUIRED_TOOLS[*]}"
         exit 1
     fi
 done
@@ -130,7 +130,7 @@
 
 # Required x86_64-v2 flags
 #required_v2_flags=("cx16" "sse4_1" "sse4_2" "popcnt" "movbe" "xsave")
-required_v2_flags=("cx16" "sse4_1" "sse4_2" "popcnt" "movbe" "xsave")
+required_v2_flags=("cx16" "sse4_1" "sse4_2" "popcnt")
 
 # Required x86_64-v3 flags
 #required_v3_flags=("cx16" "sse4_1" "sse4_2" "popcnt" "movbe" "xsave" "avx" 
"avx2" "bmi1" "bmi2" "fma" "abm")
@@ -163,9 +163,17 @@
 
 # System-specific options
 if [[ "$NAME" == "openSUSE Leap Micro" ]]; then
+    MIGRATION_OPTIONS["$CURRENT_INDEX"]="openSUSE MicroOS-Slowroll"
+    ((CURRENT_INDEX++))
     MIGRATION_OPTIONS["$CURRENT_INDEX"]="MicroOS"
     ((CURRENT_INDEX++))
     populate_options "LeapMicro" "$VERSION" '.state!="EOL"'
+elif [[ "$NAME" == "openSUSE MicroOS" ]]; then
+    MIGRATION_OPTIONS["$CURRENT_INDEX"]="openSUSE MicroOS-Slowroll"
+    ((CURRENT_INDEX++))
+elif [[ "$NAME" == "openSUSE MicroOS-Slowroll" ]]; then
+    MIGRATION_OPTIONS["$CURRENT_INDEX"]="MicroOS"
+    ((CURRENT_INDEX++))
 elif [[ "$NAME" == "openSUSE Leap" ]]; then
     MIGRATION_OPTIONS["$CURRENT_INDEX"]="SUSE Linux Enterprise $(sed 's/\./ 
SP/' <<<"$VERSION")"
     ((CURRENT_INDEX++))
@@ -183,7 +191,7 @@
     ((CURRENT_INDEX++))
 else
     dialog --clear \
-    --title "[EXPERIMENTAL] System Migration - NOT FOR PRODUCTION" \
+    --title "[EXPERIMENTAL] System Migration" \
        --msgbox "\nMigration from $NAME is currently not supported.\n\nPlease 
report issue at https://github.com/openSUSE/opensuse-migration-tool"; \
     10 60
     reset; exit 1;
@@ -192,7 +200,7 @@
 # Display migration options
 if [[ ${#MIGRATION_OPTIONS[@]} -eq 0 ]]; then
     dialog --clear \
-    --title "[EXPERIMENTAL] System Migration - NOT FOR PRODUCTION" \
+    --title "[EXPERIMENTAL] System Migration" \
        --msgbox "\nNo migration options available from $NAME.\n\nPlease report 
issue at https://github.com/openSUSE/opensuse-migration-tool."; \
     10 60
     reset; exit 1
@@ -204,45 +212,16 @@
 done
 # Display dialog and get choice
 CHOICE=$(dialog --clear \
-    --title "[EXPERIMENTAL] System Migration - NOT FOR PRODUCTION" \
+    --title "[EXPERIMENTAL] System Migration" \
     --menu "Select the migration target from $NAME:" \
     20 60 10 \
     "${DIALOG_ITEMS[@]}" \
     2>&1 >/dev/tty) || exit
 
-rpmsave_repo() {
-### XXX: This could go away if we install openSUSE-repos before migration
-### It does the same thing
-for repo_file in \
-repo-backports-debug-update.repo repo-oss.repo repo-backports-update.repo \
-repo-sle-debug-update.repo repo-debug-non-oss.repo repo-sle-update.repo \
-repo-debug.repo repo-source.repo repo-debug-update.repo repo-update.repo \
-repo-debug-update-non-oss.repo repo-update-non-oss.repo repo-non-oss.repo \
-download.opensuse.org-oss.repo download.opensuse.org-non-oss.repo 
download.opensuse.org-tumbleweed.repo \
-repo-openh264.repo openSUSE-*-0.repo repo-main.repo $TMP_REPO_NAME.repo; do
-  if [ -f /etc/zypp/repos.d/$repo_file ]; then
-    echo "Storing old copy as /etc/zypp/repos.d/$repo_file.rpmsave"
-    $DRYRUN mv /etc/zypp/repos.d/$repo_file 
/etc/zypp/repos.d/$repo_file.rpmsave
-  fi
-done
-# regexpes
-for file in /etc/zypp/repos.d/openSUSE-*.repo; do
-    repo_file=$(basename $file)
-    if [ -f /etc/zypp/repos.d/$repo_file ]; then
-        echo "Storing old copy as /etc/zypp/repos.d/$repo_file.rpmsave"
-        $DRYRUN mv /etc/zypp/repos.d/$repo_file 
/etc/zypp/repos.d/$repo_file.rpmsave
-    fi
-done
-# Ensure to drop any SCC generated service/repo files for Leap
-# e.g. /etc/zypp/services.d/openSUSE_Leap_15.6_x86_64.service
-for file in /etc/zypp/services.d/openSUSE_*.service; do
-    service_file=$(basename $file)
-    if [ -f /etc/zypp/services.d/$service_file ]; then
-        echo "Storing old copy as /etc/zypp/repos.d/$service_file.rpmsave"
-        $DRYRUN mv /etc/zypp/services.d/$service_file 
/etc/zypp/services.d/$service_file.rpmsave
-    fi
-done
-}
+# Ensure that openSUSE-repos is always installed.
+# That handles also the old distribution repository cleanup
+$DRYRUN zypper install -y --force-resolution openSUSE-repos
+$DRYRUN zypper refresh-services # so we don't see further refresh after 
disabling repo
 
 # Step: Detect and offer to disable 3rd-party repositories
 # This is the #1 reason for failed migration
@@ -343,14 +322,14 @@
 
             # This is a dream workflow that doesn't really work. Enable BCI 
repo and register as SLES with BCI-release
             # Perhaps we can fix it in near future
-            #$DRYRUN zypper ar -f 
https://updates.suse.com/SUSE/Products/SLE-BCI/$SP/$ARCH/product/ $TMP_REPO_NAME
-            #$DRYRUN zypper in --force-resolution -y suseconnect-ng
-            #$DRYRUN zypper in --force-resolution -y unified-installer-release 
SLE_BCI-release # sles-release is not in BCI
+            #$DRYRUN zypper addrepo -f 
https://updates.suse.com/SUSE/Products/SLE-BCI/$SP/$ARCH/product/ $TMP_REPO_NAME
+            #$DRYRUN zypper install --force-resolution -y suseconnect-ng
+            #$DRYRUN zypper install --force-resolution -y 
unified-installer-release SLE_BCI-release # sles-release is not in BCI
 
             MAJVER=$(echo $VERSION| awk -F"." '{ print $1 }') # 15
             MINVER=$(echo $VERSION| awk -F"." '{ print $2 }') # 6
             echo $REGCODE
-            $DRYRUN zypper in -y suseconnect-ng snapper grub2-snapper-plugin
+            $DRYRUN zypper install -y suseconnect-ng snapper 
grub2-snapper-plugin
             # Backup /etc/os-release before release package removal
             echo "Backing up /etc/os-release as /etc/os-release.backup"
             $DRYRUN cp /etc/os-release /etc/os-release.backup
@@ -379,9 +358,6 @@
                        fi
             $DRYRUN rm -r /etc/products.d/baseproduct
             $DRYRUN ln -s /etc/products.d/SLES.prod /etc/products.d/baseproduct
-            if [ -z "$DRYRUN" ]; then
-                rpmsave_repo # invalidates all standard openSUSE repos
-            fi
 
                $DRYRUN suseconnect -e  $EMAIL -r $REGCODE 
                $DRYRUN SUSEConnect -p PackageHub/$VERSION/$ARCH
@@ -394,7 +370,7 @@
 
             $DRYRUN rpm -e --nodeps branding-openSUSE grub2-branding-openSUSE 
wallpaper-branding-openSUSE plymouth-branding-openSUSE 
systemd-presets-branding-openSUSE systemd-presets-branding-MicroOS
                $DRYRUN zypper remove -y opensuse-welcome # might not be 
present on text-installations
-               $DRYRUN zypper in -y branding-SLE-15 grub2-branding-SLE 
wallpaper-branding-SLE-15 plymouth-branding-SLE systemd-presets-branding-SLE
+               $DRYRUN zypper install -y branding-SLE-15 grub2-branding-SLE 
wallpaper-branding-SLE-15 plymouth-branding-SLE systemd-presets-branding-SLE
             ;;
         "openSUSE Tumbleweed")
             $DRYRUN echo "Upgrading to ${MIGRATION_OPTIONS[$CHOICE]}"
@@ -411,9 +387,9 @@
                 fi
             fi
             $DRYRUN zypper addrepo -f $REPOURL $TMP_REPO_NAME
-            $DRYRUN zypper in -y --from $TMP_REPO_NAME openSUSE-repos-Leap # 
install repos from the nextrelease
+            $DRYRUN zypper install --repo $TMP_REPO_NAME -y --force-resolution 
--from $TMP_REPO_NAME openSUSE-repos-Tumbleweed # install repos from the 
nextrelease
             $DRYRUN zypper removerepo $TMP_REPO_NAME # drop the temp repo, we 
have now definitions of all repos we need
-            $DRYRUN zypper refs # !Important! make sure that all repo files 
under index service were regenerated
+            $DRYRUN zypper refresh-services # !Important! make sure that all 
repo files under index service were regenerated
             
             $DRYRUN zypper dup -y --force-resolution --allow-vendor-change 
--download in-advance
             if [ $? -ne 0 ]; then # re-run zypper dup as interactive in case 
of failure in non-interactive mode
@@ -429,13 +405,14 @@
                 exit 1
             fi
             $DRYRUN zypper addrepo -f $REPOURL $TMP_REPO_NAME
-            $DRYRUN zypper in -y --from $TMP_REPO_NAME openSUSE-repos-Slowroll 
# install repos from the nextrelease
+            $DRYRUN zypper install --repo $TMP_REPO_NAME -y --force-resolution 
--from $TMP_REPO_NAME --allow-downgrade openSUSE-repos-Slowroll # install repos 
from the nextrelease
             $DRYRUN zypper removerepo $TMP_REPO_NAME # drop the temp repo, we 
have now definitions of all repos we need
-            $DRYRUN zypper refs # !Important! make sure that all repo files 
under index service were regenerated
-            
-            $DRYRUN zypper dup -y --force-resolution --allow-vendor-change 
--download in-advance
+            $DRYRUN zypper refresh-services # !Important! make sure that all 
repo files under index service were regenerated
+
+            # --allow-downgrade is important in case that you choose Tumblweed 
-> Slowroll migration
+            $DRYRUN zypper dup -y --force-resolution --allow-downgrade 
--allow-vendor-change --download in-advance
             if [ $? -ne 0 ]; then # re-run zypper dup as interactive in case 
of failure in non-interactive mode
-                $DRYRUN zypper dup --force-resolution --allow-vendor-change 
--download in-advance 
+                $DRYRUN zypper dup --force-resolution --allow-downgrade 
--allow-vendor-change --download in-advance
             fi
             ;;
         *"openSUSE LeapMicro"*)
@@ -443,9 +420,9 @@
             $DRYRUN echo "Upgrading to ${MIGRATION_OPTIONS[$CHOICE]}"
             TARGET_VER=`echo ${MIGRATION_OPTIONS[$CHOICE]} | awk '{ print $NF 
}'`
             $DRYRUN zypper addrepo -f 
https://download.opensuse.org/distribution/leap-micro/$TARGET_VER/product/repo/openSUSE-Leap-Micro-$TARGET_VER-$ARCH/
 $TMP_REPO_NAME
-            $DRYRUN zypper in -y --from $TMP_REPO_NAME 
openSUSE-repos-LeapMicro # install repos from the nextrelease
+            $DRYRUN zypper install --repo $TMP_REPO_NAME -y --force-resolution 
--from $TMP_REPO_NAME openSUSE-repos-LeapMicro # install repos from the 
nextrelease
             $DRYRUN zypper removerepo $TMP_REPO_NAME # drop the temp repo, we 
have now definitions of all repos we need
-            $DRYRUN zypper refs # !Important! make sure that all repo files 
under index service were regenerated
+            $DRYRUN zypper refresh-services # !Important! make sure that all 
repo files under index service were regenerated
 
             $DRYRUN zypper --releasever $TARGET_VER dup -y --force-resolution 
--allow-vendor-change --download in-advance
             if [ $? -ne 0 ]; then # re-run zypper dup as interactive in case 
of failure in non-interactive mode
@@ -465,15 +442,37 @@
             fi
                 
             $DRYRUN zypper addrepo -f 
https://download.opensuse.org/distribution/leap/$TARGET_VER/repo/oss 
$TMP_REPO_NAME
-            $DRYRUN zypper in -y --from $TMP_REPO_NAME openSUSE-repos-Leap # 
install repos from the nextrelease
+            $DRYRUN zypper install --repo $TMP_REPO_NAME -y --force-resolution 
--from $TMP_REPO_NAME openSUSE-repos-Leap # install repos from the nextrelease
             $DRYRUN zypper removerepo $TMP_REPO_NAME # drop the temp repo, we 
have now definitions of all repos we need
-            $DRYRUN zypper refs # !Important! make sure that all repo files 
under index service were regenerated
+            $DRYRUN zypper refresh-services # !Important! make sure that all 
repo files under index service were regenerated
 
             $DRYRUN zypper --releasever $TARGET_VER dup -y --force-resolution 
--allow-vendor-change --download-in-advance
             if [ $? -ne 0 ]; then # re-run zypper dup as interactive in case 
of failure in non-interactive mode
                 $DRYRUN zypper --releasever $TARGET_VER dup --force-resolution 
--allow-vendor-change --download-in-advance
             fi
             ;;
+        *"MicroOS-Slowroll"*)
+            $DRYRUN echo "Upgrading to ${MIGRATION_OPTIONS[$CHOICE]}"
+            # https://download.opensuse.org/ports/ # for other arches
+            REPOURL="https://download.opensuse.org/slowroll/repo/oss/";
+            if [ "$ARCH" != "x86_64" ]; then
+                # Let's not messup any systems and make sure this is properly 
implemented first
+                echo "Unsupported arch '$ARCH'."
+                echo "Please open an issue at 
https://github.com/openSUSE/opensuse-migration-tool/issues";
+                echo "Make sure to add output of 'uname -i' and content of 
your /etc/os-release into the ticket."
+                exit 1
+            fi
+            $DRYRUN zypper addrepo -f $REPOURL $TMP_REPO_NAME
+                       $DRYRUN zypper install --repo $TMP_REPO_NAME -y 
--force-resolution --from $TMP_REPO_NAME --allow-downgrade 
openSUSE-repos-Slowroll # install repos from the nextrelease
+            $DRYRUN zypper removerepo $TMP_REPO_NAME # drop the temp repo, we 
have now definitions of all repos we need
+            $DRYRUN zypper refresh-services # !Important! make sure that all 
repo files under index service were regenerated
+
+            # --allow-downgrade is important in case that you choose MicroOS 
-> MicroOS-Slowroll migration
+            $DRYRUN zypper dup -y --force-resolution --allow-downgrade 
--allow-vendor-change --download in-advance
+            if [ $? -ne 0 ]; then # re-run zypper dup as interactive in case 
of failure in non-interactive mode
+                $DRYRUN zypper dup --force-resolution --allow-downgrade 
--allow-vendor-change --download in-advance
+            fi
+            ;;
         *"MicroOS"*)
             $DRYRUN echo "Upgrading to ${MIGRATION_OPTIONS[$CHOICE]}"
             # https://download.opensuse.org/ports/ # for other arches
@@ -489,9 +488,9 @@
                 fi
             fi
             $DRYRUN zypper addrepo -f $REPOURL $TMP_REPO_NAME
-                       $DRYRUN zypper in -y --from $TMP_REPO_NAME 
openSUSE-repos-MicroOS # install repos from the nextrelease
+                       $DRYRUN zypper install --repo $TMP_REPO_NAME -y 
--force-resolution --from $TMP_REPO_NAME openSUSE-repos-MicroOS # install repos 
from the nextrelease
             $DRYRUN zypper removerepo $TMP_REPO_NAME # drop the temp repo, we 
have now definitions of all repos we need
-            $DRYRUN zypper refs # !Important! make sure that all repo files 
under index service were regenerated
+            $DRYRUN zypper refresh-services # !Important! make sure that all 
repo files under index service were regenerated
             
             $DRYRUN zypper dup -y --force-resolution --allow-vendor-change 
--download in-advance
             if [ $? -ne 0 ]; then # re-run zypper dup as interactive in case 
of failure in non-interactive mode
@@ -510,7 +509,10 @@
     name=$(basename "$script" .sh)
     if "$script" --check; then
         case "$name" in
-            "20_pulse2pipewire") desc="Switch to PipeWire" ;;
+            "10_keepapparmor") desc="Keep AppArmor (SELinux is the new 
default)" ;;
+            "10_keepselinux") desc="Switch to SELinux (new default)" ;;
+            "20_pulse2pipewire") desc="Switch to PipeWire (new default)" ;;
+            "20_ia32") desc="Allow 32bit binary execution (Steam)" ;;
             *)                   desc="Run $name" ;;
         esac
         AVAILABLE_TASKS["$name"]="$desc"
@@ -520,7 +522,7 @@
 if [[ ${#AVAILABLE_TASKS[@]} -gt 0 ]]; then
     CHECKLIST_ITEMS=()
     for key in "${!AVAILABLE_TASKS[@]}"; do
-        CHECKLIST_ITEMS+=("$key" "${AVAILABLE_TASKS[$key]}" "on")
+        CHECKLIST_ITEMS+=("$key" "${AVAILABLE_TASKS[$key]}" "off")
     done
     SELECTED_TASKS=$(dialog --clear \
         --title "Post-Migration Optional Tasks" \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/opensuse-migration-tool-20250729.4ed6ec5/scripts/10_keepapparmor.sh 
new/opensuse-migration-tool-20251029.ed0d12d/scripts/10_keepapparmor.sh
--- old/opensuse-migration-tool-20250729.4ed6ec5/scripts/10_keepapparmor.sh     
1970-01-01 01:00:00.000000000 +0100
+++ new/opensuse-migration-tool-20251029.ed0d12d/scripts/10_keepapparmor.sh     
2025-10-29 21:29:32.000000000 +0100
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+# SELinux is the new default but some people prefer AppArmor
+# https://code.opensuse.org/leap/features/issue/182
+# 
https://en.opensuse.org/SDB:AppArmor#Switching_from_SELinux_to_AppArmor_for_Leap_16.0_and_Tumbleweed
+
+set -euo pipefail
+
+log() {
+    echo "[MIGRATION] $1"
+}
+
+error_exit() {
+    echo "[MIGRATION][ERROR] $1" >&2
+    exit 1
+}
+
+# Check if we have security=apparmor as boot param
+if [[ "${1:-}" == "--check" ]]; then
+    if ! /usr/sbin/update-bootloader --get-option security | grep apparmor 
&>/dev/null; then
+        exit 0
+    else
+        exit 1
+    fi
+fi
+
+log "Drop any SELinux boot options"
+sudo update-bootloader --del-option "security=selinux"
+sudo update-bootloader --del-option "enforcing=1"
+sudo update-bootloader --del-option "selinux=1"
+log "Adding AppArmor boot options"
+sudo update-bootloader --add-option "security=apparmor"
+
+if rpm -q patterns-base-apparmor &>/dev/null; then
+    log "Package patterns-base-apparmor is already installed. Skipping."
+    exit 0
+
+else
+    log "Installing packages: patterns-base-apparmor"
+    if sudo zypper --non-interactive install --force-resolution 
patterns-base-apparmor; then
+        log "Installation completed successfully."
+    else
+        error_exit "Package installation failed. Please check zypper logs or 
try again manually."
+    fi
+fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/opensuse-migration-tool-20250729.4ed6ec5/scripts/10_keepselinux.sh 
new/opensuse-migration-tool-20251029.ed0d12d/scripts/10_keepselinux.sh
--- old/opensuse-migration-tool-20250729.4ed6ec5/scripts/10_keepselinux.sh      
1970-01-01 01:00:00.000000000 +0100
+++ new/opensuse-migration-tool-20251029.ed0d12d/scripts/10_keepselinux.sh      
2025-10-29 21:29:32.000000000 +0100
@@ -0,0 +1,48 @@
+#!/bin/bash
+
+# SELinux is the new default manual switch
+# might be needed for people migrating from 15.X
+
+# 
https://en.opensuse.org/SDB:AppArmor#Switching_from_SELinux_to_AppArmor_for_Leap_16.0_and_Tumbleweed
+
+set -euo pipefail
+
+log() {
+    echo "[MIGRATION] $1"
+}
+
+error_exit() {
+    echo "[MIGRATION][ERROR] $1" >&2
+    exit 1
+}
+
+# Check if we have security=selinux as boot param
+if [[ "${1:-}" == "--check" ]]; then
+    if ! /usr/sbin/update-bootloader --get-option security | grep selinux 
&>/dev/null; then
+        exit 0
+    else
+        exit 1
+    fi
+fi
+
+log "Drop AppArmor boot options"
+sudo update-bootloader --del-option "security=apparmor"
+
+log "Add any SELinux boot options"
+sudo update-bootloader --add-option "security=selinux"
+sudo update-bootloader --add-option "enforcing=1"
+sudo update-bootloader --add-option "selinux=1"
+
+if rpm -q patterns-base-apparmor &>/dev/null; then
+    log "Uninstalling packages: patterns-base-apparmor"
+    if sudo zypper --non-interactive remove --force-resolution 
patterns-base-apparmor; then
+        log "Uninstallation of AppArmor completed successfully."
+    else
+        error_exit "Package uninstallation failed. Please check zypper logs or 
try again manually."
+    fi
+
+else
+    log "Installing packages: patterns-selinux selinux-policy-targeted-gaming"
+    sudo zypper --non-interactive install -t pattern --force-resolution selinux
+    sudo zypper --non-interactive install selinux-policy-targeted-gaming
+fi
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/opensuse-migration-tool-20250729.4ed6ec5/scripts/20_ia32.sh 
new/opensuse-migration-tool-20251029.ed0d12d/scripts/20_ia32.sh
--- old/opensuse-migration-tool-20250729.4ed6ec5/scripts/20_ia32.sh     
1970-01-01 01:00:00.000000000 +0100
+++ new/opensuse-migration-tool-20251029.ed0d12d/scripts/20_ia32.sh     
2025-10-29 21:29:32.000000000 +0100
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+# SLES 16 disables 32bit support in kernel by default
+# Things like Steam, Proton, Virtualbox will need it
+
+set -euo pipefail
+
+log() {
+    echo "[MIGRATION] $1"
+}
+
+error_exit() {
+    echo "[MIGRATION][ERROR] $1" >&2
+    exit 1
+}
+
+# This is used to generate dynamic list of tasks
+if [[ "${1:-}" == "--check" ]]; then
+    if ! rpm -q grub2-compat-ia32 &>/dev/null; then
+        exit 0
+    else
+        exit 1
+    fi
+fi
+
+log "Installing packages: grub2-compat-ia32"
+if sudo zypper --non-interactive install --force-resolution grub2-compat-ia32; 
then
+    log "Installation completed successfully."
+else
+    error_exit "Package installation failed. Please check zypper logs or try 
again manually."
+fi

++++++ opensuse-migration-tool.obsinfo ++++++
--- /var/tmp/diff_new_pack.lodMjV/_old  2025-11-27 13:19:57.101512225 +0100
+++ /var/tmp/diff_new_pack.lodMjV/_new  2025-11-27 13:19:57.121513069 +0100
@@ -1,5 +1,5 @@
 name: opensuse-migration-tool
-version: 20250729.4ed6ec5
-mtime: 1753794102
-commit: 4ed6ec561640b43eadfdcf2fb6b0474816a97b65
+version: 20251029.ed0d12d
+mtime: 1761769772
+commit: ed0d12d53c7eeab780c8c81b18a469d18c4a59df
 

Reply via email to