Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package legendary for openSUSE:Factory 
checked in at 2026-10-18 22:54:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/legendary (Old)
 and      /work/SRC/openSUSE:Factory/.legendary.new.3698736 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "legendary"

Sun Oct 18 22:54:30 2026 rev:11 rq:1386052 version:0.21.1

Changes:
--------
--- /work/SRC/openSUSE:Factory/legendary/legendary.changes      2026-08-24 
12:15:56.911239142 +0200
+++ /work/SRC/openSUSE:Factory/.legendary.new.3698736/legendary.changes 
2026-10-18 22:55:08.269683637 +0200
@@ -1,0 +2,15 @@
+Sun Oct 18 06:13:08 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to 0.21.1 Lowlife (hotfix release)
+  * Smaller Linux binaries (~13 MiB -> ~3 MiB, dev dependencies excluded
+  from zipapp packaging)
+  * Restore Wrapper EXE support, fixing titles expecting
+  "EpicGamesLauncher.exe" as parent process (e.g. Rockstar titles)
+  * Fix launching third-party-launcher games (Ubisoft Connect / EA App)
+  from Flatpak or /usr installs with umu/Proton, incl. CWD for EA app
+  launches
+  * macOS: support symlinks used by some native games
+- Add relax-uv-build-upper-bound.patch: drop upstream's uv_build<0.12
+  build-system pin so the build uses the distro backend (0.13.x)
+
+-------------------------------------------------------------------

Old:
----
  legendary-0.21.0.tar.gz

New:
----
  legendary-0.21.1.tar.gz
  relax-uv-build-upper-bound.patch

----------(New B)----------
  New:  * macOS: support symlinks used by some native games
- Add relax-uv-build-upper-bound.patch: drop upstream's uv_build<0.12
  build-system pin so the build uses the distro backend (0.13.x)
----------(New E)----------

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

Other differences:
------------------
++++++ legendary.spec ++++++
--- /var/tmp/diff_new_pack.ezrraq/_old  2026-10-18 22:55:08.827707076 +0200
+++ /var/tmp/diff_new_pack.ezrraq/_new  2026-10-18 22:55:08.829707160 +0200
@@ -16,12 +16,13 @@
 #
 
 Name:           legendary
-Version:        0.21.0
+Version:        0.21.1
 Release:        0
 Summary:        An Epic Games Launcher alternative
 License:        GPL-3.0-only
 URL:            https://github.com/legendary-gl/legendary.git
 Source:         %{name}-%{version}.tar.gz
+Patch0:         relax-uv-build-upper-bound.patch
 BuildRequires:  fdupes
 BuildRequires:  python3-build
 BuildRequires:  python3-installer

++++++ legendary-0.21.0.tar.gz -> legendary-0.21.1.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/legendary-0.21.0/.github/workflows/build-base.yml 
new/legendary-0.21.1/.github/workflows/build-base.yml
--- old/legendary-0.21.0/.github/workflows/build-base.yml       2026-08-04 
19:07:29.000000000 +0200
+++ new/legendary-0.21.1/.github/workflows/build-base.yml       2026-09-08 
22:12:07.000000000 +0200
@@ -80,7 +80,7 @@
     - run: mkdir -p build dist
 
     - name: Dependencies
-      run: uv export --format requirements.txt --no-editable | uv pip install 
--requirement - --target build
+      run: uv export --format requirements.txt --no-editable --no-dev | uv pip 
install --requirement - --target build
 
     - run: cp zipapp_main.py build/__main__.py
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/legendary-0.21.0/legendary/cli.py 
new/legendary-0.21.1/legendary/cli.py
--- old/legendary-0.21.0/legendary/cli.py       2026-08-04 19:07:29.000000000 
+0200
+++ new/legendary-0.21.1/legendary/cli.py       2026-09-08 22:12:07.000000000 
+0200
@@ -687,15 +687,18 @@
         if args.json:
             return self._print_json(vars(params), args.pretty_json)
 
+        # Copying existing env vars is required on Windows, probably a good 
idea on Linux
+        full_env = os.environ.copy()
+        full_env.update(params.environment)
+
         full_params = list()
         full_params.extend(params.launch_command)
+        if 'LEGENDARY_WRAPPER_EXE' in full_env:
+            full_params.append(full_env['LEGENDARY_WRAPPER_EXE'].strip())
         full_params.append(os.path.join(params.game_directory, 
params.game_executable))
         full_params.extend(params.game_parameters)
         full_params.extend(params.user_parameters)
         full_params.extend(params.egl_parameters)
-        # Copying existing env vars is required on Windows, probably a good 
idea on Linux
-        full_env = os.environ.copy()
-        full_env.update(params.environment)
 
         if 'CX_BOTTLE' in full_env and any('SharedSupport/CrossOver' in p for 
p in params.launch_command):
             # if using crossover, unset WINEPREFIX
@@ -836,7 +839,7 @@
                     logger.warning(f'Pre-launch command failed: {e!r}')
 
             logger.debug(f'Opening URI with command: {shlex.join(command)}')
-            subprocess.Popen(command, env=full_env)
+            subprocess.Popen(command, env=full_env, 
cwd=full_env.get('WINEPREFIX', None))
 
     def install_game(self, args):
         if not self.core.lgd.lock_installed():
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/legendary-0.21.0/legendary/downloader/mp/manager.py 
new/legendary-0.21.1/legendary/downloader/mp/manager.py
--- old/legendary-0.21.0/legendary/downloader/mp/manager.py     2026-08-04 
19:07:29.000000000 +0200
+++ new/legendary-0.21.1/legendary/downloader/mp/manager.py     2026-09-08 
22:12:07.000000000 +0200
@@ -344,6 +344,10 @@
             # skip unchanged and empty files
             if current_file.filename in mc.unchanged:
                 continue
+            elif current_file.symlink_target:
+                self.tasks.append(FileTask(current_file.filename, 
old_file=current_file.symlink_target,
+                                           flags=TaskFlags.CREATE_SYMLINK))
+                continue
             elif not current_file.chunk_parts:
                 self.tasks.append(FileTask(current_file.filename, 
flags=TaskFlags.CREATE_EMPTY_FILE))
                 continue
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/legendary-0.21.0/legendary/downloader/mp/workers.py 
new/legendary-0.21.1/legendary/downloader/mp/workers.py
--- old/legendary-0.21.0/legendary/downloader/mp/workers.py     2026-08-04 
19:07:29.000000000 +0200
+++ new/legendary-0.21.1/legendary/downloader/mp/workers.py     2026-09-08 
22:12:07.000000000 +0200
@@ -207,6 +207,29 @@
                     open(full_path, 'a').close()
                     self.o_q.put(WriterTaskResult(success=True, **j.__dict__))
                     continue
+                if j.flags & TaskFlags.CREATE_SYMLINK:
+                    if current_file:
+                        logger.warning('Trying to create symlink without 
closing first!')
+                        current_file.close()
+                        current_file = None
+
+                    try:
+                        os.symlink(j.old_file, full_path)
+                    except FileExistsError:
+                        try:
+                            os.remove(full_path)
+                            os.symlink(j.old_file, full_path)
+                        except OSError as e:
+                            logger.error(f'Creating symlink failed: {e!r}')
+                            self.o_q.put(WriterTaskResult(success=False, 
**j.__dict__))
+                            continue
+                    except OSError as e:
+                        logger.error(f'Creating symlink failed: {e!r}')
+                        self.o_q.put(WriterTaskResult(success=False, 
**j.__dict__))
+                        continue
+
+                    self.o_q.put(WriterTaskResult(success=True, **j.__dict__))
+                    continue
                 elif j.flags & TaskFlags.OPEN_FILE:
                     if current_file:
                         logger.warning(f'Opening new file {j.filename} without 
closing previous! {last_filename}')
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/legendary-0.21.0/legendary/models/downloading.py 
new/legendary-0.21.1/legendary/models/downloading.py
--- old/legendary-0.21.0/legendary/models/downloading.py        2026-08-04 
19:07:29.000000000 +0200
+++ new/legendary-0.21.1/legendary/models/downloading.py        2026-09-08 
22:12:07.000000000 +0200
@@ -59,6 +59,7 @@
     CLOSE_FILE = auto()
     DELETE_FILE = auto()
     CREATE_EMPTY_FILE = auto()
+    CREATE_SYMLINK = auto()
     RENAME_FILE = auto()
     RELEASE_MEMORY = auto()
     MAKE_EXECUTABLE = auto()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/legendary-0.21.0/pyproject.toml 
new/legendary-0.21.1/pyproject.toml
--- old/legendary-0.21.0/pyproject.toml 2026-08-04 19:07:29.000000000 +0200
+++ new/legendary-0.21.1/pyproject.toml 2026-09-08 22:12:07.000000000 +0200
@@ -4,7 +4,7 @@
 
 [project]
 name = "legendary-gl"
-version = "0.21.0"
+version = "0.21.1"
 dependencies = [
     "requests",
     "filelock",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/legendary-0.21.0/uv.lock new/legendary-0.21.1/uv.lock
--- old/legendary-0.21.0/uv.lock        2026-08-04 19:07:29.000000000 +0200
+++ new/legendary-0.21.1/uv.lock        2026-09-08 22:12:07.000000000 +0200
@@ -194,7 +194,7 @@
 
 [[package]]
 name = "legendary-gl"
-version = "0.20.35"
+version = "0.21.1"
 source = { editable = "." }
 dependencies = [
     { name = "filelock" },

++++++ relax-uv-build-upper-bound.patch ++++++
Allow building with system uv_build >= 0.12 (e.g. 0.13.x in Factory):
upstream pins build-system.requires to uv_build>=0.11.4,<0.12, which
fails the PEP 517 dependency check under --no-isolation as soon as the
distro ships a newer backend. The backend interface is stable, so drop
the upper bound and use whatever the distro provides.

--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,5 +1,5 @@
 [build-system]
-requires = ["uv_build>=0.11.4,<0.12"]
+requires = ["uv_build>=0.11.4"]
 build-backend = "uv_build"
 
 [project]

Reply via email to