SHA256
1
0
forked from pool/SDL2

- 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:
Jan Engelhardt 2022-04-29 20:59:08 +00:00 committed by Git OBS Bridge
parent 665f022c68
commit 635e4a18be
2 changed files with 152 additions and 11 deletions

View File

@ -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> Mon Apr 25 21:54:48 UTC 2022 - Jan Engelhardt <jengelh@inai.de>

View File

@ -3,21 +3,27 @@ Date: 2018-01-10 23:56:12.245827883 +0100
Should-this-be-upstream: yes Should-this-be-upstream: yes
Is-it-upstream: not submitted yet Is-it-upstream: not submitted yet
Functions were added over time, but neither was the SONAME changed The SDL project adds new functions over time, but they completely
nor was a symvers file made. As a result, rpm is unable to fail to do the required ABI upkeep - which involves either bumping
prevent a too-modern program being ran against a too-old SDL library. the SO number or adding symvers. As a result of their lack of ABI
It's bad user experience when symbols are resolved lazily, as the upkeep, the ELF system has no way to prohibit a too-modern program
program may crash. 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 +++++-- Makefile.in | 2
1 file changed, 5 insertions(+), 2 deletions(-) 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.16.orig/Makefile.in
+++ SDL2-2.0.22/Makefile.in +++ SDL2-2.0.16/Makefile.in
@@ -134,7 +134,7 @@ LT_AGE = @LT_AGE@ @@ -132,7 +132,7 @@ LT_AGE = @LT_AGE@
LT_CURRENT = @LT_CURRENT@ LT_CURRENT = @LT_CURRENT@
LT_RELEASE = @LT_RELEASE@ LT_RELEASE = @LT_RELEASE@
LT_REVISION = @LT_REVISION@ 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) 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;