Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package SDL2 for openSUSE:Factory checked in 
at 2022-05-05 23:05:20
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/SDL2 (Old)
 and      /work/SRC/openSUSE:Factory/.SDL2.new.1538 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "SDL2"

Thu May  5 23:05:20 2022 rev:40 rq:974547 version:2.0.22

Changes:
--------
--- /work/SRC/openSUSE:Factory/SDL2/SDL2.changes        2022-04-28 
23:07:01.364625677 +0200
+++ /work/SRC/openSUSE:Factory/.SDL2.new.1538/SDL2.changes      2022-05-05 
23:05:55.669522428 +0200
@@ -1,0 +2,6 @@
+Fri Apr 29 20:53:29 UTC 2022 - Jan Engelhardt <jeng...@inai.de>
+
+- Restore sdl2-symvers.patch to full symbol list to facilitate
+  application installation with Leap 15.x's SDL2.
+
+-------------------------------------------------------------------

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

Other differences:
------------------
++++++ SDL2.spec ++++++
--- /var/tmp/diff_new_pack.FZ63qx/_old  2022-05-05 23:05:56.237523136 +0200
+++ /var/tmp/diff_new_pack.FZ63qx/_new  2022-05-05 23:05:56.245523146 +0200
@@ -108,7 +108,6 @@
 %prep
 %autosetup -p1
 perl -i -pe 's{\r\n}{\n}g' *.txt README.md
-echo 'V_%version { global: *; };' >sdl2.sym
 
 %build
 %global _lto_cflags %_lto_cflags -ffat-lto-objects


++++++ sdl2-symvers.patch ++++++
--- /var/tmp/diff_new_pack.FZ63qx/_old  2022-05-05 23:05:56.309523227 +0200
+++ /var/tmp/diff_new_pack.FZ63qx/_new  2022-05-05 23:05:56.313523231 +0200
@@ -3,15 +3,21 @@
 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    |  278 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 279 insertions(+), 1 deletion(-)
 
 Index: SDL2-2.0.22/Makefile.in
 ===================================================================
@@ -26,4 +32,287 @@
  
  all: $(srcdir)/configure Makefile $(objects)/$(TARGET) 
$(objects)/$(SDLMAIN_TARGET) $(objects)/$(SDLTEST_TARGET)
  
+Index: SDL2-2.0.22/sdl2.sym
+===================================================================
+--- /dev/null
++++ SDL2-2.0.22/sdl2.sym
+@@ -0,0 +1,278 @@
++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;
++SUSE_2.0.12 {
++      SDL_HasARMSIMD;
++      SDL_GameControllerTypeForIndex;
++      SDL_GameControllerFromPlayerIndex;
++      SDL_GameControllerGetType;
++      SDL_GameControllerSetPlayerIndex;
++      SDL_JoystickFromPlayerIndex;
++      SDL_JoystickSetPlayerIndex;
++      SDL_Metal_CreateView;
++      SDL_Metal_DestroyView;
++      SDL_SetTextureScaleMode;
++      SDL_GetTextureScaleMode;
++      SDL_LockTextureToSurface;
++      SDL_wcsdup;
++      SDL_wcsstr;
++      SDL_wcsncmp;
++      SDL_strtokr;
++      SDL_GetAndroidSDKVersion;
++      SDL_OnApplicationWillTerminate;
++      SDL_OnApplicationDidReceiveMemoryWarning;
++      SDL_OnApplicationWillResignActive;
++      SDL_OnApplicationDidEnterBackground;
++      SDL_OnApplicationWillEnterForeground;
++      SDL_OnApplicationDidBecomeActive;
++      SDL_OnApplicationDidChangeStatusBarOrientation;
++      SDLTest_CommonUsage;
++} SUSE_2.0.10;
++SUSE_2.0.14 {
++      SDL_SIMDRealloc;
++      SDL_GetErrorMsg;
++      SDL_GameControllerGetSerial;
++      SDL_GameControllerHasAxis;
++      SDL_GameControllerHasButton;
++      SDL_GameControllerGetNumTouchpads;
++      SDL_GameControllerGetNumTouchpadFingers;
++      SDL_GameControllerGetTouchpadFinger;
++      SDL_GameControllerHasSensor;
++      SDL_GameControllerSetSensorEnabled;
++      SDL_GameControllerIsSensorEnabled;
++      SDL_GameControllerGetSensorData;
++      SDL_GameControllerRumbleTriggers;
++      SDL_GameControllerHasLED;
++      SDL_GameControllerSetLED;
++      SDL_JoystickAttachVirtual;
++      SDL_JoystickDetachVirtual;
++      SDL_JoystickDetachVirtual;
++      SDL_JoystickSetVirtualAxis;
++      SDL_JoystickSetVirtualButton;
++      SDL_JoystickSetVirtualHat;
++      SDL_JoystickGetSerial;
++      SDL_JoystickRumbleTriggers;
++      SDL_JoystickHasLED;
++      SDL_JoystickSetLED;
++      SDL_GetPreferredLocales;
++      SDL_Metal_GetLayer;
++      SDL_Metal_GetDrawableSize;
++      SDL_OpenURL;
++      SDL_LockSensors;
++      SDL_UnlockSensors;
++      SDL_crc32;
++      SDL_wcscasecmp;
++      SDL_wcsncasecmp;
++      SDL_trunc;
++      SDL_truncf;
++      SDL_HasSurfaceRLE;
++      SDL_AndroidRequestPermission;
++} SUSE_2.0.12;
++SUSE_2.0.16 {
++      SDL_GetAudioDeviceSpec;
++      SDL_GameControllerGetSensorDataRate;
++      SDL_GameControllerSendEffect;
++      SDL_JoystickSendEffect;
++      SDL_UpdateNVTexture;
++      SDL_isalpha;
++      SDL_isalnum;
++      SDL_isblank;
++      SDL_iscntrl;
++      SDL_isxdigit;
++      SDL_ispunct;
++      SDL_isprint;
++      SDL_isgraph;
++      SDL_round;
++      SDL_roundf;
++      SDL_lround;
++      SDL_lroundf;
++      SDL_SoftStretchLinear;
++      SDL_RenderGetD3D11Device;
++      SDL_AndroidShowToast;
++      SDL_TLSCleanup;
++      SDL_SetWindowAlwaysOnTop;
++      SDL_SetWindowKeyboardGrab;
++      SDL_SetWindowMouseGrab;
++      SDL_GetWindowKeyboardGrab;
++      SDL_GetWindowMouseGrab;
++      SDL_FlashWindow;
++} SUSE_2.0.14;
++SUSE_2.0.18 {
++      SDL_GameControllerHasRumble;
++      SDL_GameControllerHasRumbleTriggers;
++      SDL_GameControllerGetAppleSFSymbolsNameForButton;
++      SDL_GameControllerGetAppleSFSymbolsNameForAxis;
++      SDL_hid_init;
++      SDL_hid_exit;
++      SDL_hid_device_change_count;
++      SDL_hid_enumerate;
++      SDL_hid_free_enumeration;
++      SDL_hid_open;
++      SDL_hid_open_path;
++      SDL_hid_write;
++      SDL_hid_read_timeout;
++      SDL_hid_read;
++      SDL_hid_set_nonblocking;
++      SDL_hid_send_feature_report;
++      SDL_hid_get_feature_report;
++      SDL_hid_close;
++      SDL_hid_get_manufacturer_string;
++      SDL_hid_get_product_string;
++      SDL_hid_get_serial_number_string;
++      SDL_hid_get_indexed_string;
++      SDL_hid_ble_scan;
++      SDL_JoystickHasRumble;
++      SDL_JoystickHasRumbleTriggers;
++      SDL_RegisterApp;
++      SDL_SetTextureUserData;
++      SDL_GetTextureUserData;
++      SDL_RenderWindowToLogical;
++      SDL_RenderLogicalToWindow;
++      SDL_RenderGeometry;
++      SDL_RenderGeometryRaw;
++      SDL_RenderSetVSync;
++      SDL_RWFromFP;
++      SDL_asprintf;
++      SDL_vasprintf;
++      SDL_atan2;
++      SDL_atan2f;
++      SDL_PremultiplyAlpha;
++      SDL_LinuxSetThreadPriorityAndPolicy;
++      SDL_GetTicks64;
++      SDL_GetWindowICCProfile;
++      SDL_SetWindowMouseRect;
++      SDL_GetWindowMouseRect;
++} SUSE_2.0.16;
++SUSE_2.0.22 {
++      SDL_ClearComposition;
++      SDL_IsTextInputShown;
++      SDL_HasIntersectionF;
++      SDL_IntersectFRect;
++      SDL_UnionFRect;
++      SDL_EncloseFPoints;
++      SDL_IntersectFRectAndLine;
++      SDL_RenderGetWindow;
++      SDL_AndroidSendMessage;
++      SDL_GetTouchName;
++} SUSE_2.0.18;
 

Reply via email to