Hello community,

here is the log from the commit of package steam for openSUSE:Factory:NonFree 
checked in at 2020-07-31 15:50:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory:NonFree/steam (Old)
 and      /work/SRC/openSUSE:Factory:NonFree/.steam.new.3592 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "steam"

Fri Jul 31 15:50:49 2020 rev:25 rq:823581 version:1.0.0.66

Changes:
--------
--- /work/SRC/openSUSE:Factory:NonFree/steam/steam.changes      2020-07-01 
14:24:51.846426890 +0200
+++ /work/SRC/openSUSE:Factory:NonFree/.steam.new.3592/steam.changes    
2020-07-31 15:50:50.947943835 +0200
@@ -1,0 +2,14 @@
+Thu Jul 30 11:13:19 UTC 2020 - Callum Farmer <callumjfarme...@gmail.com>
+
+- Update to version 1.0.0.66
+  * Bootstrap using updated Steam client:
+    - Client timestamp 1595977781 (2020-07-28)
+    - Steam Runtime version 0.20200604.0
+  * Update steam-devices subproject up to 2020-07-28
+   - Replace escaped double quotes in udev rules with single quotes, for
+     compatibility with udev < 235 and eudev.
+- Add Recommends: bubblewrap, required by the experimental container
+  runtime system
+- Switch to FirewallD
+
+-------------------------------------------------------------------

Old:
----
  steam.firewall
  steam_1.0.0.64.tar.gz

New:
----
  steam-streaming.xml
  steam_1.0.0.66.tar.gz

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

Other differences:
------------------
++++++ steam.spec ++++++
--- /var/tmp/diff_new_pack.K8lvay/_old  2020-07-31 15:50:51.771944580 +0200
+++ /var/tmp/diff_new_pack.K8lvay/_new  2020-07-31 15:50:51.775944584 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           steam
-Version:        1.0.0.64
+Version:        1.0.0.66
 Release:        0
 Summary:        Installer for Valve's digital software distribution service
 # "Limited Installation License"
@@ -26,7 +26,7 @@
 URL:            http://www.steampowered.com/
 Source:         
http://repo.steampowered.com/steam/pool/steam/s/steam/steam_%{version}.tar.gz
 Source2:        steam.appdata.xml
-Source3:        %{name}.firewall
+Source3:        %{name}-streaming.xml 
 # Based on 
https://raw.githubusercontent.com/steamtricks/steamtricks/master/dist/patch/steam-invoke_steamtricks.patch
 Patch0:         steam-invoke_steamtricks.patch
 # PATCH-FIX-OPENSUSE steam-path-fix.patch bnc#1025841
@@ -36,6 +36,7 @@
 BuildRequires:  update-desktop-files
 BuildRequires:  fdupes
 BuildRequires:  pkgconfig(udev)
+BuildRequires:  firewall-macros
 
 # for Steam Hardware Survey
 Recommends:     lsb-release
@@ -108,6 +109,7 @@
 Requires:       zenity
 Requires:       libxcb-dri2-0%{dep_postfix}
 Requires:       libxcb-glx0%{dep_postfix}
+Recommends:     bubblewrap
 
 # replaces steamruntime-fix and is required for steam to boot
 Requires:       steamtricks
@@ -169,8 +171,7 @@
 # https://en.opensuse.org/openSUSE:AppStore
 install -Dm0644 %{SOURCE2} %{buildroot}%{_datadir}/appdata/%{name}.appdata.xml
 
-install -d %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/
-install -m 644 %{SOURCE3} 
%{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/%{name}
+install -Dm644 %{SOURCE3} 
%{buildroot}%{_prefix}/lib/firewalld/services/steam-streaming.xml
 
 %fdupes %{buildroot}%{_prefix}
 
@@ -178,6 +179,7 @@
 %desktop_database_post
 %icon_theme_cache_post
 %mime_database_post
+%firewalld_reload
 
 %postun
 %desktop_database_postun
@@ -205,7 +207,9 @@
 %{_mandir}/man6/%{name}.6%{?ext_man}
 %dir %{_datadir}/appdata/
 %{_datadir}/appdata/%{name}.appdata.xml
-%config %{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/%{name}
+%dir %{_prefix}/lib/firewalld
+%dir %{_prefix}/lib/firewalld/services
+%{_prefix}/lib/firewalld/services/steam-streaming.xml
 %{_prefix}/lib/steam/bin_steam.sh
 %{_prefix}/lib/steam/steam.desktop
 

++++++ steam-streaming.xml ++++++
<?xml version="1.0" encoding="utf-8"?>
<service>
  <short>Steam In-Home Streaming</short>
  <description>Steam in-home streaming allows you to play a game on one 
computer when the game process is actually running on another computer 
elsewhere in your home. Through Steam, game audio and video is captured on the 
remote computer and sent to the player's computer. The game input (keyboard, 
mouse or gamepad) is sent from the player's computer to the game process on the 
remote computer.</description>
  <port protocol="tcp" port="27036"/>
  <port protocol="tcp" port="27037"/>
  <port protocol="udp" port="27031-27036"/>
</service>
++++++ steam_1.0.0.64.tar.gz -> steam_1.0.0.66.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/steam-launcher/bin_steam.sh 
new/steam-launcher/bin_steam.sh
--- old/steam-launcher/bin_steam.sh     2020-06-24 12:36:09.000000000 +0200
+++ new/steam-launcher/bin_steam.sh     2020-07-29 17:44:37.000000000 +0200
@@ -14,7 +14,7 @@
 bootstrapscript="$(readlink -f "$STEAMSCRIPT")"
 bootstrapdir="$(dirname "$bootstrapscript")"
 
-export STEAMSCRIPT_VERSION=1.0.0.64
+export STEAMSCRIPT_VERSION=1.0.0.66
 
 # Set up domain for script localization
 export TEXTDOMAIN=steam
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/steam-launcher/bin_steamdeps.py 
new/steam-launcher/bin_steamdeps.py
--- old/steam-launcher/bin_steamdeps.py 2020-06-24 12:36:09.000000000 +0200
+++ new/steam-launcher/bin_steamdeps.py 2020-07-29 17:44:37.000000000 +0200
@@ -7,14 +7,21 @@
     Usage: steamdeps dependencies.txt
 """
 
+import argparse
 import os
 import re
+import shlex
 import stat
 import subprocess
 import sys
 import tempfile
 
 try:
+    import typing
+except ImportError:
+    pass
+
+try:
     import apt
 except ImportError:
     sys.stderr.write("Couldn't import apt, please install python3-apt or "
@@ -30,6 +37,64 @@
 _arch = None
 
 
+class OsRelease:
+    def __init__(self):
+        # type: () -> None
+        self._load_any()
+        self._is_like = self._data.get('ID_LIKE', '').split()
+
+    def _load_any(self):
+        # type: () -> None
+        for path in ('/etc/os-release', '/usr/lib/os-release'):
+            self._data = self._load('/etc/os-release')
+
+            if self._data:
+                return
+
+    def _load(
+        self,
+        path        # type: str
+    ):
+        # type: (...) -> typing.Dict[str, str]
+
+        data = {}       # type: typing.Dict[str, str]
+
+        try:
+            with open(path, 'r', encoding='utf-8', errors='replace') as reader:
+                for line in reader:
+                    try:
+                        line = line.strip()
+
+                        if not line or line.startswith('#'):
+                            continue
+
+                        key, value = line.split('=', 1)
+
+                        data[key] = ''.join(shlex.split(value))
+
+                    except Exception as e:
+                        print(
+                            'Warning: error parsing %s: line %r: %s'
+                            % (path, line, e),
+                            file=sys.stderr
+                        )
+                        continue
+        except OSError:
+            return {}
+        else:
+            return data
+
+    def is_os(self, os_id):
+        # type: (str) -> bool
+        if self._data.get('ID') == os_id:
+            return True
+
+        return os_id in self._is_like
+
+    def dump(self):
+        print(self._data, file=sys.stderr)
+
+
 #
 # Get the current package architecture
 # This may be different than the actual architecture for the case of i386
@@ -57,7 +122,7 @@
     else:
         return name
 
-#
+
 # N.B. Version checks are not supported on virtual packages
 #
 def is_provided(pkgname):
@@ -332,10 +397,10 @@
 
 
 ###
-def check_config(config):
+def check_config(path, config):
     if "STEAM_RUNTIME" not in config:
         sys.stderr.write(
-            "Missing STEAM_RUNTIME definition in %s\n" % sys.argv[1])
+            "Missing STEAM_RUNTIME definition in %s\n" % path)
         return False
 
     if config["STEAM_RUNTIME"] not in SUPPORTED_STEAM_RUNTIME:
@@ -345,8 +410,7 @@
 
     if "STEAM_DEPENDENCY_VERSION" not in config:
         sys.stderr.write(
-            "Missing STEAM_DEPENDENCY_VERSION definition in %s\n" % sys.argv[
-                1])
+            "Missing STEAM_DEPENDENCY_VERSION definition in %s\n" % path)
         return False
 
     if config["STEAM_DEPENDENCY_VERSION"]\
@@ -369,15 +433,33 @@
 ###
 def main():
     config = {}
+    os_release = OsRelease()
 
-    # Check the command line arguments
-    if len(sys.argv) < 2:
-        sys.stderr.write("Usage: %s dependencies.txt\n" % sys.argv[0])
-        return 1
+    parser = argparse.ArgumentParser(description='Install Steam dependencies')
+    parser.add_argument(
+        '--dry-run',
+        action='store_true',
+        help="Don't install anything, just report",
+    )
+    parser.add_argument(
+        '--debug-dump-os-release',
+        action='store_true',
+        help=argparse.SUPPRESS,
+    )
+    parser.add_argument(
+        'dependencies',
+        metavar='$HOME/.steam/root/steamdeps.txt',
+        help='Path to steamdeps.txt',
+    )
+    args = parser.parse_args()
+
+    if args.debug_dump_os_release:
+        os_release.dump()
+        return 0
 
     # Make sure we can open the file
     try:
-        fp = open(sys.argv[1])
+        fp = open(args.dependencies)
     except Exception as e:
         sys.stderr.write("Couldn't open file: %s\n" % e)
         return 2
@@ -394,7 +476,7 @@
             config[match.group(1)] = match.group(2)
 
     # Check to make sure we have a valid config
-    if not check_config(config):
+    if not check_config(args.dependencies, config):
         return 3
 
     # Seek back to the beginning of the file
@@ -434,6 +516,23 @@
                 packages[package.name] = package
                 dependencies.append([package])
 
+    # The Steam container runtime (pressure-vessel) requires a setuid
+    # bubblewrap executable on some kernel configurations. Steam is
+    # unprivileged, so we have to get it from the host OS.
+    if (
+        # Debian's kernel doesn't allow unprivileged users to create
+        # new namespaces (https://bugs.debian.org/898446) so we need the
+        # setuid bubblewrap
+        os_release.is_os('debian')
+        # Ubuntu's kernel does allow that. We assume Ubuntu derivatives
+        # like Linux Mint will inherit that, rather than reverting to the
+        # Debian behaviour
+        and not os_release.is_os('ubuntu')
+    ):
+        package = Package('bubblewrap', [])
+        packages[package.name] = package
+        dependencies.append([package])
+
     # Print package dependency information for debug
     """
     for row in dependencies:
@@ -485,7 +584,10 @@
                 print("Package %s needs to be installed" % package.name,
                       file=sys.stderr)
 
-        return update_packages(needed)
+        if args.dry_run:
+            return 1
+        else:
+            return update_packages(needed)
     else:
         return 0
 
Binary files old/steam-launcher/bootstraplinux_ubuntu12_32.tar.xz and 
new/steam-launcher/bootstraplinux_ubuntu12_32.tar.xz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/steam-launcher/client-versions.json 
new/steam-launcher/client-versions.json
--- old/steam-launcher/client-versions.json     2020-06-24 12:36:49.000000000 
+0200
+++ new/steam-launcher/client-versions.json     2020-07-29 17:45:10.000000000 
+0200
@@ -1,4 +1,4 @@
 {
-  "client_version": "1591251555",
-  "runtime_version": "0.20200505.0"
+  "client_version": "1595977781",
+  "runtime_version": "0.20200604.0"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/steam-launcher/debian/changelog 
new/steam-launcher/debian/changelog
--- old/steam-launcher/debian/changelog 2020-06-24 12:36:09.000000000 +0200
+++ new/steam-launcher/debian/changelog 2020-07-29 17:44:37.000000000 +0200
@@ -1,3 +1,29 @@
+steam (1:1.0.0.66) beta; urgency=medium
+
+  * Bootstrap using updated Steam client:
+    - Client timestamp 1595977781 (2020-07-28)
+    - Steam Runtime version 0.20200604.0
+
+ -- Simon McVittie <s...@collabora.com>  Wed, 29 Jul 2020 16:43:18 +0100
+
+steam (1:1.0.0.65) beta; urgency=medium
+
+  * Update steam-devices subproject up to 2020-07-28
+    - Replace escaped double quotes in udev rules with single quotes, for
+      compatibility with udev < 235 and eudev.
+      (thanks, James Le Cuirot) (Fixes: steam-devices#10)
+  * bin_steamdeps: Install bubblewrap on Debian systems.
+    The Steam container runtime relies on bubblewrap to launch containers.
+    The Debian kernel doesn't allow unprivileged users to create new
+    user namespaces by default, so we have to install an OS-provided,
+    setuid-root bubblewrap executable instead of using the unprivileged
+    copy bundled with pressure-vessel.
+    (Fixes: T22758; see also Debian#898446)
+  * bin_steamdeps: Make pycodestyle happier
+  * bin_steamdeps: Add a --dry-run mode
+
+ -- Simon McVittie <s...@collabora.com>  Wed, 29 Jul 2020 16:37:42 +0100
+
 steam (1:1.0.0.64) beta; urgency=medium
 
   [ Simon McVittie ]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/steam-launcher/subprojects/steam-devices/60-steam-input.rules 
new/steam-launcher/subprojects/steam-devices/60-steam-input.rules
--- old/steam-launcher/subprojects/steam-devices/60-steam-input.rules   
2020-06-24 12:36:09.000000000 +0200
+++ new/steam-launcher/subprojects/steam-devices/60-steam-input.rules   
2020-07-29 17:44:37.000000000 +0200
@@ -39,7 +39,7 @@
 # instead of udevadm directly becuase we need to use '*' glob at the
 # end of "hidraw" name since we don't know the index it'd have.
 #
-KERNEL=="input*", ATTRS{name}=="Lic Pro Controller", RUN{program}+="/bin/sh -c 
\"udevadm test-builtin uaccess /sys/%p/../../hidraw/hidraw*\""
+KERNEL=="input*", ATTRS{name}=="Lic Pro Controller", RUN{program}+="/bin/sh -c 
'udevadm test-builtin uaccess /sys/%p/../../hidraw/hidraw*'"
 
 # Nacon PS4 Revolution Pro Controller
 KERNEL=="hidraw*", ATTRS{idVendor}=="146b", ATTRS{idProduct}=="0d01", 
MODE="0660", TAG+="uaccess"


Reply via email to