rpms/steam/F-20 steam-disable-runtime.patch, NONE, 1.1 steam.csh, 1.2, 1.3 steam.sh, 1.2, 1.3 README.Fedora, 1.2, 1.3 steam.spec, 1.5, 1.6

Simone Caronni slaanesh at rpmfusion.org
Mon Jan 6 12:19:56 CET 2014


Author: slaanesh

Update of /cvs/nonfree/rpms/steam/F-20
In directory old02.ovh.rpmfusion.lan:/tmp/cvs-serv3326

Modified Files:
	README.Fedora steam.spec 
Added Files:
	steam-disable-runtime.patch steam.csh steam.sh 
Log Message:
* Mon Jan 06 2014 Simone Caronni <negativo17 at gmail.com> - 1.0.0.45-5
- Update README.Fedora with new instructions.


steam-disable-runtime.patch:
 steam |   12 ++++++++++++
 1 file changed, 12 insertions(+)

--- NEW FILE steam-disable-runtime.patch ---
diff -Naur steam.old/steam steam/steam
--- steam.old/steam	2013-12-20 20:50:34.014610244 +0100
+++ steam/steam	2014-01-06 11:56:29.576011740 +0100
@@ -186,6 +186,18 @@
 # go to the install directory and run the client
 cp "$LAUNCHSTEAMBOOTSTRAPFILE" "$LAUNCHSTEAMDIR/bootstrap.tar.xz"
 cd "$LAUNCHSTEAMDIR"
+
+if [ "$STEAM_RUNTIME" == "0" ]; then
+    if [ ! -h $LAUNCHSTEAMPLATFORM/libudev.so.0 ]; then
+        ln -sf /usr/lib/libudev.so.1 $LAUNCHSTEAMPLATFORM/libudev.so.0
+    fi
+    rm -fr $LAUNCHSTEAMPLATFORM/steam-runtime
+else
+    if [ -h $LAUNCHSTEAMPLATFORM/libudev.so.0 ]; then
+        rm -f $LAUNCHSTEAMPLATFORM/libudev.so.0
+    fi  
+fi
+
 if [ "`command -v tee`" != "" ]; then
 	mkdir -p --mode=777 /tmp/dumps
 	exec "$LAUNCHSTEAMDIR/$STEAMBOOTSTRAP" "$@" 2>&1 | tee "/tmp/dumps/${USER}_stdout.txt"


Index: steam.csh
===================================================================
RCS file: steam.csh
diff -N steam.csh
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ steam.csh	6 Jan 2014 11:19:56 -0000	1.3
@@ -0,0 +1,5 @@
+# Disable Ubuntu 32 bit runtime
+if ( -x /usr/bin/steam ) then
+  setenv STEAM_RUNTIME "0"
+endif
+


Index: steam.sh
===================================================================
RCS file: steam.sh
diff -N steam.sh
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ steam.sh	6 Jan 2014 11:19:56 -0000	1.3
@@ -0,0 +1,2 @@
+# Disable Ubuntu 32 bit runtime
+[ -x /usr/bin/steam ] && export STEAM_RUNTIME=0


Index: README.Fedora
===================================================================
RCS file: /cvs/nonfree/rpms/steam/F-20/README.Fedora,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- README.Fedora	9 Nov 2013 01:09:57 -0000	1.2
+++ README.Fedora	6 Jan 2014 11:19:55 -0000	1.3
@@ -50,33 +50,11 @@
 ==========================================================
 
 Normally the package uses Ubuntu libraries. To use instead Fedora provided
-libraries, first of all figure out which libraries are needed:
-
- $ cd ~/.local/share/Steam/ubuntu12_32/
- $ for i in `ldd *.so | egrep -v "linux-gate.so|ld-linux.so" | awk '{print $1}'`; do
- >   repoquery --disablerepo=* --enablerepo=fedora,updates -q --qf="%{name}" --whatprovides "$i"
- > done | sort | uniq | sed 's/$/i686/g' > libraries.txt
-
-This will generate a text file containing the required libraries. You can install
-them with the following command:
-
- # yum -y install `cat libraries.txt`
-
-Then you can launch Steam with:
-
- $ STEAM_RUNTIME=0 steam
-
-To disable permanently the use of the Ubuntu runtime and always use the
-installed libraries, you can create a profile environment like the following:
-
- $ cat /etc/profile.d/steam.sh 
- # Disable Ubuntu 32 bit runtime
- [ -x /usr/bin/steam ] && export STEAM_RUNTIME=0
-
-If Steam is launched with the Fedora libraries; you can remove the Ubuntu
-runtime folder which is nearly 400 mb:
-
- $ rm -fr /.local/share/Steam/ubuntu12_32/steam-runtime
- 
+libraries, install the additional package "steam-noruntime".
 
+After installing, log out and log in back again so the environment file is
+sourced, setting STEAM_RUNTIME to 0.
 
+Running Steam this way is unsupported and may lead to unexpected results. Also
+videos in the client are not played, regardless of the installation of the Flash
+Plugin.


Index: steam.spec
===================================================================
RCS file: /cvs/nonfree/rpms/steam/F-20/steam.spec,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- steam.spec	27 Nov 2013 17:37:12 -0000	1.5
+++ steam.spec	6 Jan 2014 11:19:56 -0000	1.6
@@ -3,13 +3,16 @@
 
 Name:           steam
 Version:        1.0.0.45
-Release:        1%{?dist}
+Release:        5%{?dist}
 Summary:        Installer for the Steam software distribution service
 # Redistribution and repackaging for Linux is allowed, see license file
-License:        Steam License Agreement   
+License:        Steam License Agreement
 URL:            http://www.steampowered.com/
 Source0:        http://repo.steampowered.com/steam/pool/%{name}/s/%{name}/%{name}_%{version}.tar.gz
 Source10:       README.Fedora
+Patch0:         %{name}-disable-runtime.patch
+Source1:        %{name}.sh
+Source2:        %{name}.csh
 ExclusiveArch:  i686
 
 BuildRequires:  desktop-file-utils
@@ -36,16 +39,78 @@
 installation, automatic updates, achievements, SteamCloud synchronized
 savegame and screenshot functionality, and many social features.
 
+%package        noruntime
+Summary:        Use system libraries instead of the Steam Runtime
+Requires:       steam = %{version}-%{release}
+
+# After the Steam client has been downloaded run the following command and then
+# adjust the list of requirements to remove dependencies pulled in by other
+# packages.
+
+# cd ~/.local/share/Steam/ubuntu12_32/
+# for i in `ldd *.so | egrep -v "linux-gate.so|ld-linux.so" | awk '{print $1}'` `find steam-runtime/i386 -name "*.so*" -exec basename {} \;` do
+#   repoquery --disablerepo=* --enablerepo=fedora,updates -q --qf="Requires:       %{name}" --whatprovides "$i"
+# done | sort | uniq | sed 's/$/%{_isa}/g'
+
+# Required for enabling Steam system tray icon
+Requires:       libappindicator%{_isa}
+# Requirements for the main client
+Requires:       alsa-plugins-pulseaudio%{_isa}
+Requires:       avahi-libs%{_isa}
+Requires:       expat%{_isa}
+Requires:       harfbuzz%{_isa}
+Requires:       json-c%{_isa}
+Requires:       keyutils-libs%{_isa}
+Requires:       libasyncns%{_isa}
+Requires:       libattr%{_isa}
+Requires:       libffi%{_isa}
+Requires:       libsndfile%{_isa}
+Requires:       libusbx%{_isa}
+Requires:       libXau%{_isa}
+Requires:       libXdmcp%{_isa}
+Requires:       mesa-dri-drivers%{_isa}
+Requires:       mesa-libEGL%{_isa}
+Requires:       mesa-libgbm%{_isa}
+Requires:       NetworkManager-glib%{_isa}
+Requires:       openal-soft%{_isa}
+Requires:       openssl-libs%{_isa}
+Requires:       pcre%{_isa}
+Requires:       pixman%{_isa}
+Requires:       pulseaudio-libs%{_isa}
+Requires:       tcp_wrappers-libs%{_isa}
+# Additional requirements for games that use the Steam runtime libraries
+%if 0%{?fedora} >= 19
+Requires:       SDL2_image%{_isa}
+Requires:       SDL2_mixer%{_isa}
+%endif
+Requires:       SDL_image%{_isa}
+Requires:       SDL_mixer%{_isa}
+Requires:       SDL_ttf%{_isa}
+
+%description    noruntime
+The Steam client normally uses a set of libraries derived from Ubuntu (the Steam
+Runtime); and all titles on Steam are compiled against those libraries.
+
+This package takes care of installing all the requirements to use system
+libraries in place of the Steam Runtime and a profile environment file to enable
+it. Please note that this is not a supported Valve configuration and it may lead
+to unexpected results.
+
+
 %prep
 %setup -q -n %{name}
+%patch0 -p1
 sed -i 's/\r$//' %{name}.desktop
 sed -i 's/\r$//' steam_install_agreement.txt
 cp %{SOURCE10} .
 
+
 %build
 # Nothing to build
 
+
 %install
+# Steam package
 make install DESTDIR=%{buildroot}
 rm -fr %{buildroot}%{_docdir}/%{name}/ %{buildroot}%{_bindir}/%{name}deps
 
@@ -54,16 +119,10 @@
 install -D -m 644 -p lib/udev/rules.d/99-steam-controller-perms.rules \
     %{buildroot}%{_udevrulesdir}/99-steam-controller-perms.rules
 
-%files
-%doc README COPYING steam_install_agreement.txt debian/changelog README.Fedora
-%{_bindir}/%{name}
-%{_datadir}/applications/%{name}.desktop
-%{_datadir}/icons/hicolor/*/apps/%{name}.png
-%{_datadir}/pixmaps/%{name}.png
-%{_datadir}/pixmaps/%{name}_tray_mono.png
-%{_libdir}/%{name}/
-%{_mandir}/man6/%{name}.*
-%{_udevrulesdir}/99-steam-controller-perms.rules
+# Steam no-runtime package
+mkdir -p %{buildroot}%{_sysconfdir}/profile.d
+install -pm 644 %{SOURCE1} %{SOURCE2} %{buildroot}%{_sysconfdir}/profile.d
+
 
 %post
 /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
@@ -79,7 +138,39 @@
 %posttrans
 %{_bindir}/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 
+
+%files
+%doc README COPYING steam_install_agreement.txt debian/changelog README.Fedora
+%{_bindir}/%{name}
+%{_datadir}/applications/%{name}.desktop
+%{_datadir}/icons/hicolor/*/apps/%{name}.png
+%{_datadir}/pixmaps/%{name}.png
+%{_datadir}/pixmaps/%{name}_tray_mono.png
+%{_libdir}/%{name}/
+%{_mandir}/man6/%{name}.*
+%{_udevrulesdir}/99-steam-controller-perms.rules
+
+%files noruntime
+%config(noreplace) %{_sysconfdir}/profile.d/%{name}.*sh
+
 %changelog
+* Mon Jan 06 2014 Simone Caronni <negativo17 at gmail.com> - 1.0.0.45-5
+- Update README.Fedora with new instructions.
+
+* Mon Jan 06 2014 Simone Caronni <negativo17 at gmail.com> - 1.0.0.45-4
+- Create a no-runtime subpackage leaving the main package to behave as intended
+  by Valve. All the Steam Runtime dependencies are against the subpackage.
+
+* Mon Dec 23 2013 Simone Caronni <negativo17 at gmail.com> - 1.0.0.45-3
+- Additional system libraries required by games.
+
+* Fri Dec 20 2013 Simone Caronni <negativo17 at gmail.com> - 1.0.0.45-2
+- If STEAM_RUNTIME is not set, perform the following actions by default from the
+  main commmand:
+    Disable the Ubuntu runtime.
+    Delete the unpacked Ubuntu runtime.
+    Create the obsolete libudev.so.0.
+
 * Wed Nov 27 2013 Simone Caronni <negativo17 at gmail.com> - 1.0.0.45-1
 - Update to 1.0.0.45.
 


More information about the rpmfusion-commits mailing list