[gl2ps] 1.4.1 SONAME change

Dominik 'Rathann' Mierzejewski dominik at greysector.net
Mon Apr 6 22:49:18 CEST 2020


Hello!
1.4.1 CMakeLists.txt has this change:

@@ -119,15 +135,18 @@
 
   add_library(shared SHARED gl2ps.c gl2ps.h)
   target_link_libraries(shared ${EXTERNAL_LIBRARIES})
-  set_target_properties(shared PROPERTIES OUTPUT_NAME gl2ps)
-  set_target_properties(shared PROPERTIES
+  set_target_properties(shared PROPERTIES OUTPUT_NAME gl2ps
     VERSION ${GL2PS_MAJOR_VERSION}.${GL2PS_MINOR_VERSION}.${GL2PS_PATCH_VERSION}
-    SOVERSION ${GL2PS_MAJOR_VERSION})
-  if(MSVC)
-    set_target_properties(shared PROPERTIES COMPILE_FLAGS "-DGL2PSDLL -DGL2PSDLL_EXPORTS")
-  endif(MSVC)
-
-  install(TARGETS lib shared DESTINATION lib${LIB_SUFFIX})
+    SOVERSION ${GL2PS_MAJOR_VERSION}.${GL2PS_MINOR_VERSION})
+  if(WIN32 OR CYGWIN)
+    # set_target_properties(shared PROPERTIES PREFIX "" IMPORT_PREFIX ""
+    #   IMPORT_SUFFIX ".lib" COMPILE_FLAGS "-DGL2PSDLL -DGL2PSDLL_EXPORTS")
+    set_target_properties(shared PROPERTIES
+        COMPILE_FLAGS "-DGL2PSDLL -DGL2PSDLL_EXPORTS")
+  endif(WIN32 OR CYGWIN)
+  install(TARGETS lib shared RUNTIME DESTINATION bin
+                             LIBRARY DESTINATION lib${LIB_SUFFIX}
+                             ARCHIVE DESTINATION lib${LIB_SUFFIX})
 endif(OPENGL_FOUND)
 
 if(WIN32)

Effectively, this breaks ABI, because the shared library for the new
version gets built with "-Wl,-soname,libgl2ps.so.1.4" instead of
"-Wl,-soname,libgl2ps.so.1" as in 1.4.0. There don't seem to be any
incompatible ABI changes, only addition of 3 new functions, so there's
no reason to break ABI and require rebuilds of all dependent software.

Please revert this change:
-    SOVERSION ${GL2PS_MAJOR_VERSION})
+    SOVERSION ${GL2PS_MAJOR_VERSION}.${GL2PS_MINOR_VERSION})

Regards,
Dominik
-- 
Fedora   https://getfedora.org  |  RPM Fusion  http://rpmfusion.org
There should be a science of discontent. People need hard times and
oppression to develop psychic muscles.
        -- from "Collected Sayings of Muad'Dib" by the Princess Irulan