package/azure-iot-sdk-c: fix installation of libumqtt
authorStephan Hoffmann <stephan.hoffmann@ext.grandcentrix.net>
Mon, 13 Apr 2020 13:22:31 +0000 (15:22 +0200)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Mon, 13 Apr 2020 13:43:11 +0000 (15:43 +0200)
Unlike the other libraries built by azure-iot-sdk-c, libumqtt follows
a regular versioning scheme. It has a libumqtt.so.1 SONAME, with
libumqtt.so.1 being a symlink to libumqtt.so.1.1.11.

However, we currently install the library itself as libumqtt.so to the
target filesystem, which is not its SONAME, which means it cannot be
found by any other library/program linked against it.

This commit fixes that by installing the library as
libumqtt.so.1.1.11, and creating the appropriate symlinks. The static
library installation is not modified.

Signed-off-by: Stephan Hoffmann <stephan.hoffmann@ext.grandcentrix.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/azure-iot-sdk-c/azure-iot-sdk-c.mk

index 6781da41775b4465b52666ced7d029695cb631bb..35ddb672fba6a042cae148adfa3ec3d16304dcbf 100644 (file)
@@ -41,13 +41,19 @@ AZURE_IOT_SDK_C_LIBS += \
        iothub_client/libiothub_client_mqtt_transport.so \
        iothub_service_client/libiothub_service_client.so \
        serializer/libserializer.so \
-       umqtt/libumqtt.so
+       umqtt/libumqtt.so.1.1.11
+
+define AZURE_IOT_SDK_C_CREATE_SYMLINKS
+       ln -sf libumqtt.so.1.1.11 $(1)/usr/lib/libumqtt.so.1
+       ln -sf libumqtt.so.1.1.11 $(1)/usr/lib/libumqtt.so
+endef
 endif
 
 define AZURE_IOT_SDK_C_INSTALL_LIBS
        $(foreach l,$(AZURE_IOT_SDK_C_LIBS), \
                $(INSTALL) -D -m 0755 $(@D)/$(l) $(1)/usr/lib/$(notdir $(l))
        )
+       $(call AZURE_IOT_SDK_C_CREATE_SYMLINKS,$(1))
 endef
 
 define AZURE_IOT_SDK_C_INSTALL_STAGING_CMDS