summaryrefslogtreecommitdiffstats
path: root/package/hiredis
diff options
context:
space:
mode:
authorRomain Naour <romain.naour@gmail.com>2017-04-12 00:26:30 +0200
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>2017-04-12 21:34:12 +0200
commit96daacb720cffe1f83259462bef9d3da92925cd9 (patch)
treec4a609e67debe483915426e176ab598085493853 /package/hiredis
parent2803f36ea7f7c4711d36b84dfb4dcc78b6b3f924 (diff)
downloadbuildroot-96daacb720cffe1f83259462bef9d3da92925cd9.tar.gz
buildroot-96daacb720cffe1f83259462bef9d3da92925cd9.zip
package/hiredis: fix installation logic of library
While testing minetest with libhiredis library, the game crached due to missing libhiredis.so.0.13 library. The hiredis.mk doesn't use "make install" because "make install" depends on building both the shared and static libraries, which fails in static-only scenarios. However, the installation logic in hiredis.mk is bogus: it installs the library as libhiredis.so, while its SONAME is libhiredis.so.0.13. We fix this by using the same logic as the one done by the package "make install" process: install the library as libhiredis.so.0.13, and create libhiredis.so as a symbolic link to it. While at it: - Install the library 0755, this is more common. - Do not create $(TARGET_DIR)/usr/lib, since $(INSTALL) -D will create the necessary directories for the destination path. Signed-off-by: Romain Naour <romain.naour@gmail.com> Cc: Fabrice Fontaine <fontaine.fabrice@gmail.com> [Thomas: rework to use the same installation logic as the one from hiredis "make install".] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Diffstat (limited to 'package/hiredis')
-rw-r--r--package/hiredis/hiredis.mk12
1 files changed, 8 insertions, 4 deletions
diff --git a/package/hiredis/hiredis.mk b/package/hiredis/hiredis.mk
index 53ad0b9e4a..c2be936507 100644
--- a/package/hiredis/hiredis.mk
+++ b/package/hiredis/hiredis.mk
@@ -4,7 +4,8 @@
#
################################################################################
-HIREDIS_VERSION = v0.13.3
+HIREDIS_VERSION_MAJOR = 0.13
+HIREDIS_VERSION = v$(HIREDIS_VERSION_MAJOR).3
HIREDIS_SITE = $(call github,redis,hiredis,$(HIREDIS_VERSION))
HIREDIS_LICENSE = BSD-3-Clause
HIREDIS_LICENSE_FILES = COPYING
@@ -37,12 +38,15 @@ define HIREDIS_INSTALL_STAGING_CMDS
$(@D)/adapters $(HIREDIS_INCLUDE_DIR)
$(INSTALL) -D -m 0644 $(@D)/hiredis.pc \
$(STAGING_DIR)/usr/lib/pkgconfig/hiredis.pc
- $(INSTALL) -m 0644 -t $(STAGING_DIR)/usr/lib $(@D)/libhiredis*
+ $(INSTALL) -D -m 0755 $(@D)/libhiredis.so \
+ $(STAGING_DIR)/usr/lib/libhiredis.so.$(HIREDIS_VERSION_MAJOR)
+ ln -sf libhiredis.so.$(HIREDIS_VERSION_MAJOR) $(STAGING_DIR)/usr/lib/libhiredis.so
endef
define HIREDIS_INSTALL_TARGET_CMDS
- mkdir -p $(TARGET_DIR)/usr/lib
- $(INSTALL) -m 0644 -t $(TARGET_DIR)/usr/lib $(@D)/libhiredis*
+ $(INSTALL) -D -m 0755 $(@D)/libhiredis.so \
+ $(TARGET_DIR)/usr/lib/libhiredis.so.$(HIREDIS_VERSION_MAJOR)
+ ln -sf libhiredis.so.$(HIREDIS_VERSION_MAJOR) $(TARGET_DIR)/usr/lib/libhiredis.so
endef
$(eval $(generic-package))
OpenPOWER on IntegriCloud