[Buildroot] [git commit] package/pigpio: add soversion to shared libraries

Thomas Petazzoni thomas.petazzoni at bootlin.com
Fri Sep 27 20:22:56 UTC 2019


commit: https://git.buildroot.net/buildroot/commit/?id=bc224938d0ae3468c0e916eda378d9d0551bd91c
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

The SONAME of the libraries installed by pigpio now contain a major
version number:

$ readelf -d output/target/usr/lib/libpigpio* | grep soname
 0x0000000e (SONAME)                     Library soname: [libpigpiod_if2.so.1]
 0x0000000e (SONAME)                     Library soname: [libpigpiod_if.so.1]
 0x0000000e (SONAME)                     Library soname: [libpigpio.so.1]

So we must make sure they are installed with this name, and not just
with a .so extension. For consistency, we do the same logic for both
the target and the staging installation.

Signed-off-by: Grzegorz Blach <grzegorz at blach.pl>
[Thomas: improve commit log]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
---
 package/pigpio/pigpio.mk | 18 ++++++++++++------
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/package/pigpio/pigpio.mk b/package/pigpio/pigpio.mk
index 90a23f6678..1cf8f50afc 100644
--- a/package/pigpio/pigpio.mk
+++ b/package/pigpio/pigpio.mk
@@ -18,18 +18,24 @@ define PIGPIO_INSTALL_TARGET_CMDS
 	$(INSTALL) -D -m 0755 $(@D)/pig2vcd $(TARGET_DIR)/usr/bin/pig2vcd
 	$(INSTALL) -D -m 0755 $(@D)/pigpiod $(TARGET_DIR)/usr/bin/pigpiod
 	$(INSTALL) -D -m 0755 $(@D)/pigs $(TARGET_DIR)/usr/bin/pigs
-	$(INSTALL) -D -m 0755 $(@D)/libpigpio.so $(TARGET_DIR)/usr/lib/libpigpio.so
-	$(INSTALL) -D -m 0755 $(@D)/libpigpiod_if.so $(TARGET_DIR)/usr/lib/libpigpiod_if.so
-	$(INSTALL) -D -m 0755 $(@D)/libpigpiod_if2.so $(TARGET_DIR)/usr/lib/libpigpiod_if2.so
+	$(INSTALL) -D -m 0755 $(@D)/libpigpio.so.1 $(TARGET_DIR)/usr/lib/libpigpio.so.1
+	$(INSTALL) -D -m 0755 $(@D)/libpigpiod_if.so.1 $(TARGET_DIR)/usr/lib/libpigpiod_if.so.1
+	$(INSTALL) -D -m 0755 $(@D)/libpigpiod_if2.so.1 $(TARGET_DIR)/usr/lib/libpigpiod_if2.so.1
+	ln -sf libpigpio.so.1 $(TARGET_DIR)/usr/lib/libpigpio.so
+	ln -sf libpigpiod_if.so.1 $(TARGET_DIR)/usr/lib/libpigpiod_if.so
+	ln -sf libpigpiod_if2.so.1 $(TARGET_DIR)/usr/lib/libpigpiod_if2.so
 endef
 
 define PIGPIO_INSTALL_STAGING_CMDS
-	$(INSTALL) -D -m 0755 $(@D)/libpigpio.so $(STAGING_DIR)/usr/lib/libpigpio.so
-	$(INSTALL) -D -m 0755 $(@D)/libpigpiod_if.so $(STAGING_DIR)/usr/lib/libpigpiod_if.so
-	$(INSTALL) -D -m 0755 $(@D)/libpigpiod_if2.so $(STAGING_DIR)/usr/lib/libpigpiod_if2.so
+	$(INSTALL) -D -m 0755 $(@D)/libpigpio.so.1 $(STAGING_DIR)/usr/lib/libpigpio.so.1
+	$(INSTALL) -D -m 0755 $(@D)/libpigpiod_if.so.1 $(STAGING_DIR)/usr/lib/libpigpiod_if.so.1
+	$(INSTALL) -D -m 0755 $(@D)/libpigpiod_if2.so.1 $(STAGING_DIR)/usr/lib/libpigpiod_if2.so.1
 	$(INSTALL) -D -m 0644 $(@D)/pigpio.h $(STAGING_DIR)/usr/include/pigpio.h
 	$(INSTALL) -D -m 0644 $(@D)/pigpiod_if.h $(STAGING_DIR)/usr/include/pigpiod_if.h
 	$(INSTALL) -D -m 0644 $(@D)/pigpiod_if2.h $(STAGING_DIR)/usr/include/pigpiod_if2.h
+	ln -sf libpigpio.so.1 $(STAGING_DIR)/usr/lib/libpigpio.so
+	ln -sf libpigpiod_if.so.1 $(STAGING_DIR)/usr/lib/libpigpiod_if.so
+	ln -sf libpigpiod_if2.so.1 $(STAGING_DIR)/usr/lib/libpigpiod_if2.so
 endef
 
 $(eval $(generic-package))


More information about the buildroot mailing list