- Restore sdl2-symvers.patch to full symbol list to facilitate application installation with Leap 15.x's SDL2.
OBS-URL: https://build.opensuse.org/package/show/games/SDL2?expand=0&rev=123
This commit is contained in:
parent
665f022c68
commit
635e4a18be
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Fri Apr 29 20:53:29 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
- Restore sdl2-symvers.patch to full symbol list to facilitate
|
||||
application installation with Leap 15.x's SDL2.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Apr 25 21:54:48 UTC 2022 - Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
|
@ -3,21 +3,27 @@ Date: 2018-01-10 23:56:12.245827883 +0100
|
||||
Should-this-be-upstream: yes
|
||||
Is-it-upstream: not submitted yet
|
||||
|
||||
Functions were added over time, but neither was the SONAME changed
|
||||
nor was a symvers file made. As a result, rpm is unable to
|
||||
prevent a too-modern program being ran against a too-old SDL library.
|
||||
It's bad user experience when symbols are resolved lazily, as the
|
||||
program may crash.
|
||||
The SDL project adds new functions over time, but they completely
|
||||
fail to do the required ABI upkeep - which involves either bumping
|
||||
the SO number or adding symvers. As a result of their lack of ABI
|
||||
upkeep, the ELF system has no way to prohibit a too-modern program
|
||||
being ran against a too-old SDL library, and that leads to bad user
|
||||
experience, because symbols are resolved lazily and can crash the
|
||||
program in the middle.
|
||||
|
||||
Also note: Leap 15.x has this patch too (in shorter version), so we
|
||||
need to keep all the individual symvers elements even for games/SDL2.
|
||||
|
||||
---
|
||||
Makefile.in | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
Makefile.in | 2
|
||||
sdl2.sym | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
2 files changed, 125 insertions(+), 1 deletion(-)
|
||||
|
||||
Index: SDL2-2.0.22/Makefile.in
|
||||
Index: SDL2-2.0.16/Makefile.in
|
||||
===================================================================
|
||||
--- SDL2-2.0.22.orig/Makefile.in
|
||||
+++ SDL2-2.0.22/Makefile.in
|
||||
@@ -134,7 +134,7 @@ LT_AGE = @LT_AGE@
|
||||
--- SDL2-2.0.16.orig/Makefile.in
|
||||
+++ SDL2-2.0.16/Makefile.in
|
||||
@@ -132,7 +132,7 @@ LT_AGE = @LT_AGE@
|
||||
LT_CURRENT = @LT_CURRENT@
|
||||
LT_RELEASE = @LT_RELEASE@
|
||||
LT_REVISION = @LT_REVISION@
|
||||
@ -26,3 +32,132 @@ Index: SDL2-2.0.22/Makefile.in
|
||||
|
||||
all: $(srcdir)/configure Makefile $(objects)/$(TARGET) $(objects)/$(SDLMAIN_TARGET) $(objects)/$(SDLTEST_TARGET)
|
||||
|
||||
Index: SDL2-2.0.16/sdl2.sym
|
||||
===================================================================
|
||||
--- /dev/null
|
||||
+++ SDL2-2.0.16/sdl2.sym
|
||||
@@ -0,0 +1,124 @@
|
||||
+SUSE_2.0.5 {
|
||||
+global:
|
||||
+ SDL_DequeueAudio;
|
||||
+ SDL_GetHintBoolean;
|
||||
+ SDL_RenderSetIntegerScale;
|
||||
+ SDL_CreateRGBSurfaceWithFormat;
|
||||
+ SDL_CreateRGBSurfaceWithFormatFrom;
|
||||
+ SDL_GetDisplayUsableBounds;
|
||||
+ SDL_GetWindowBordersSize;
|
||||
+ SDL_SetWindowResizable;
|
||||
+ SDL_SetWindowOpacity;
|
||||
+ SDL_SetWindowModalFor;
|
||||
+};
|
||||
+SUSE_2.0.6 {
|
||||
+global:
|
||||
+ SDL_Vulkan_LoadLibrary;
|
||||
+ SDL_Vulkan_GetVkGetInstanceProcAddr;
|
||||
+ SDL_Vulkan_GetInstanceExtensions;
|
||||
+ SDL_Vulkan_CreateSurface;
|
||||
+ SDL_Vulkan_GetDrawableSize;
|
||||
+ SDL_Vulkan_UnloadLibrary;
|
||||
+ SDL_ComposeCustomBlendMode;
|
||||
+ SDL_HasNEON;
|
||||
+ SDL_JoystickGetDeviceVendor;
|
||||
+ SDL_JoystickGetDeviceProduct;
|
||||
+ SDL_JoystickGetDeviceProductVersion;
|
||||
+ SDL_JoystickGetDeviceType;
|
||||
+ SDL_JoystickGetDeviceInstanceID;
|
||||
+ SDL_JoystickGetVendor;
|
||||
+ SDL_JoystickGetProduct;
|
||||
+ SDL_JoystickGetProductVersion;
|
||||
+ SDL_JoystickGetType;
|
||||
+ SDL_JoystickGetAxisInitialState;
|
||||
+ SDL_GameControllerGetVendor;
|
||||
+ SDL_GameControllerGetProduct;
|
||||
+ SDL_GameControllerGetProductVersion;
|
||||
+ SDL_GameControllerNumMappings;
|
||||
+ SDL_GameControllerMappingForIndex;
|
||||
+ SDL_LoadFile;
|
||||
+ SDL_LoadFile_RW;
|
||||
+ SDL_DuplicateSurface;
|
||||
+} SUSE_2.0.5;
|
||||
+SUSE_2.0.7 {
|
||||
+global:
|
||||
+ SDL_NewAudioStream;
|
||||
+ SDL_AudioStreamPut;
|
||||
+ SDL_AudioStreamGet;
|
||||
+ SDL_AudioStreamAvailable;
|
||||
+ SDL_AudioStreamFlush;
|
||||
+ SDL_AudioStreamClear;
|
||||
+ SDL_FreeAudioStream;
|
||||
+ SDL_GetMemoryFunctions;
|
||||
+ SDL_SetMemoryFunctions;
|
||||
+ SDL_GetNumAllocations;
|
||||
+ SDL_LockJoystick;
|
||||
+ SDL_UnlockJoystick;
|
||||
+ SDL_SetEventFilter;
|
||||
+ SDL_GetEventFilter;
|
||||
+ SDL_AddEventWatch;
|
||||
+ SDL_DelEventWatch;
|
||||
+} SUSE_2.0.6;
|
||||
+SUSE_2.0.8 {
|
||||
+global:
|
||||
+ SDL_fmod;
|
||||
+ SDL_log10;
|
||||
+ SDL_SetYUVConversionMode;
|
||||
+ SDL_GetYUVConversionMode;
|
||||
+} SUSE_2.0.7;
|
||||
+SUSE_2.0.9 {
|
||||
+global:
|
||||
+ SDL_CreateThreadWithStackSize;
|
||||
+ SDL_GameControllerGetPlayerIndex;
|
||||
+ SDL_GameControllerMappingForDeviceIndex;
|
||||
+ SDL_GameControllerRumble;
|
||||
+ SDL_GetDisplayOrientation;
|
||||
+ SDL_HasAVX512F;
|
||||
+ SDL_HasColorKey;
|
||||
+ SDL_IsTablet;
|
||||
+ SDL_JoystickGetDevicePlayerIndex;
|
||||
+ SDL_JoystickGetPlayerIndex;
|
||||
+ SDL_JoystickRumble;
|
||||
+ SDL_LinuxSetThreadPriority;
|
||||
+ SDL_NumSensors;
|
||||
+ SDL_SensorClose;
|
||||
+ SDL_SensorFromInstanceID;
|
||||
+ SDL_SensorGetData;
|
||||
+ SDL_SensorGetDeviceInstanceID;
|
||||
+ SDL_SensorGetDeviceName;
|
||||
+ SDL_SensorGetDeviceNonPortableType;
|
||||
+ SDL_SensorGetDeviceType;
|
||||
+ SDL_SensorGetInstanceID;
|
||||
+ SDL_SensorGetName;
|
||||
+ SDL_SensorGetNonPortableType;
|
||||
+ SDL_SensorGetType;
|
||||
+ SDL_SensorOpen;
|
||||
+ SDL_SensorUpdate;
|
||||
+ SDL_exp;
|
||||
+ SDL_expf;
|
||||
+ SDL_wcsdup;
|
||||
+} SUSE_2.0.8;
|
||||
+SUSE_2.0.10 {
|
||||
+global:
|
||||
+ SDL_GetTouchDeviceType;
|
||||
+ SDL_RWclose;
|
||||
+ SDL_RWread;
|
||||
+ SDL_RWseek;
|
||||
+ SDL_RWsize;
|
||||
+ SDL_RWtell;
|
||||
+ SDL_RWwrite;
|
||||
+ SDL_RenderCopyExF;
|
||||
+ SDL_RenderCopyF;
|
||||
+ SDL_RenderDrawLineF;
|
||||
+ SDL_RenderDrawLinesF;
|
||||
+ SDL_RenderDrawPointF;
|
||||
+ SDL_RenderDrawPointsF;
|
||||
+ SDL_RenderDrawRectF;
|
||||
+ SDL_RenderDrawRectsF;
|
||||
+ SDL_RenderFillRectF;
|
||||
+ SDL_RenderFillRectsF;
|
||||
+ SDL_RenderFlush;
|
||||
+ SDL_SIMDAlloc;
|
||||
+ SDL_SIMDFree;
|
||||
+ SDL_SIMDGetAlignment;
|
||||
+} SUSE_2.0.9;
|
||||
|
Loading…
Reference in New Issue
Block a user