Package: dmraid / 1.0.0.rc16-12

01_fix_broken_linking.patch Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
Author: Luke Yelavich <themuso@ubuntu.com>
Description: Fix library symbolic link creation and library linking.
--- a/1.0.0.rc16/configure
+++ b/1.0.0.rc16/configure
@@ -693,6 +693,7 @@ DEBUG_MALLOC
 DMRAID_TEST
 DMRAID_VERSION
 DMRAID_LIB_VERSION
+DMRAID_LIB_MAJOR_VERSION
 DIETLIBC
 GROUP
 JOBS
@@ -5767,8 +5768,10 @@ fi
 
 if test "-f lib/version.h"; then
   DMRAID_LIB_VERSION="`sed --quiet 's/^.*\(DMRAID_LIB_VERSION\)[^_].*"\(.*\)"/\2/p' lib/version.h`"
+  DMRAID_LIB_MAJOR_VERSION="`grep DMRAID_LIB_MAJOR_VERSION lib/version.h | tr '\t' ' ' | cut -f 3 -d ' '`"
 else
   DMRAID_LIB_VERSION="Unknown"
+  DMRAID_LIB_MAJOR_VERSION="Unknown"
 fi
 
 
--- a/1.0.0.rc16/configure.in
+++ b/1.0.0.rc16/configure.in
@@ -178,7 +178,7 @@ if test x$DEBUG_MALLOC = xyes; then
 fi
 
 dnl Mess with default exec_prefix
-if [[ "x$exec_prefix" = xNONE -a "x$prefix" = xNONE ]];
+if [ "x$exec_prefix" = xNONE -a "x$prefix" = xNONE ];
  then  exec_prefix="";
 fi;
 
@@ -220,8 +220,10 @@ fi
 
 if test "-f lib/version.h"; then
   DMRAID_LIB_VERSION="`sed --quiet 's/^.*\(DMRAID_LIB_VERSION\)[[^_]].*"\(.*\)"/\2/p' lib/version.h`"
+  DMRAID_LIB_MAJOR_VERSION="`grep DMRAID_LIB_MAJOR_VERSION lib/version.h | tr '\t' ' ' | cut -f 3 -d ' '`"
 else
   DMRAID_LIB_VERSION="Unknown"
+  DMRAID_LIB_MAJOR_VERSION="Unknown"
 fi
 
 AC_SUBST(CC)
@@ -232,6 +234,7 @@ AC_SUBST(DEBUG_MALLOC)
 AC_SUBST(DMRAID_TEST)
 AC_SUBST(DMRAID_VERSION)
 AC_SUBST(DMRAID_LIB_VERSION)
+AC_SUBST(DMRAID_LIB_MAJOR_VERSION)
 AC_SUBST(DIETLIBC)
 AC_SUBST(GROUP)
 AC_SUBST(JOBS)
--- a/1.0.0.rc16/lib/Makefile.in
+++ b/1.0.0.rc16/lib/Makefile.in
@@ -65,6 +65,11 @@ ifeq ("@KLIBC@", "no")
 		LIB_EVENTS_SHARED=$(top_srcdir)/lib/$(LIB_EVENTS_NAME).so
 		TARGETS += $(LIB_SHARED) $(LIB_EVENTS_SHARED)
 		INSTALL_TARGETS += $(LIB_SHARED) $(LIB_EVENTS_SHARED)
+		ifeq ("@DIETLIBC@", "yes")
+			LIBDMRAIDLIBS += -ldevmapper_dietc
+		else
+			LIBDMRAIDLIBS += -ldevmapper
+		endif
 	endif
 endif
 
@@ -82,10 +87,11 @@ install_dmraid_libs: $(INSTALL_TARGETS)
 	for f in $(INSTALL_TARGETS); \
 	do \
 		n=$$(basename $${f}) ; \
-		if [[ "$$n" =~ '.so$$' ]]; then \
+		if echo "$$n" | grep -q '.so$$'; then \
 			$(INSTALL) -m 555 $(STRIP) \
 				$$f $(libdir)/$${n}.@DMRAID_LIB_VERSION@; \
-			$(LN_S) -f $${n}.@DMRAID_LIB_VERSION@ $(libdir)/$${n}; \
+			mkdir -p $(prefix)/lib; \
+			cd $(prefix)/lib/ && $(LN_S) -f /lib/$${n}.@DMRAID_LIB_VERSION@ $${n}; \
 		else \
 			$(INSTALL) -m 555 $(STRIP) $$f $(libdir)/$${n}; \
 		fi \
--- a/1.0.0.rc16/make.tmpl.in
+++ b/1.0.0.rc16/make.tmpl.in
@@ -44,6 +44,7 @@ endif
 OWNER = @OWNER@
 GROUP = @GROUP@
 DMRAID_LIB_VERSION = @DMRAID_LIB_VERSION@
+DMRAID_LIB_MAJOR_VERSION = @DMRAID_LIB_MAJOR_VERSION@
 
 # The number of jobs to run, if blank, defaults to the make standard
 ifndef MAKEFLAGS
@@ -136,7 +137,7 @@ $(TARGETS): $(OBJECTS)
 
 %.so: $(OBJECTS)
 	$(CC) -shared -Wl,-soname,$(notdir $@).$(DMRAID_LIB_VERSION) \
-	-Wl,--version-script,.export.sym $(OBJECTS) -o $@ -ldevmapper-event
+	-Wl,--version-script,.export.sym $(OBJECTS) $(LIBDMRAIDLIBS) -o $@ -ldevmapper-event
 
 $(LIB_STATIC): $(OBJECTS)
 	$(RM) $@
--- a/1.0.0.rc16/tools/Makefile.in
+++ b/1.0.0.rc16/tools/Makefile.in
@@ -34,12 +34,16 @@ ifeq ("@KLIBC@", "yes")
 	DMRAIDLIBS += -ldevmapper_klibc
 else
 	ifeq ("@DIETLIBC@", "yes")
-		DMRAIDLIBS += -ldevmapper_dietc
+		ifeq ("@LIB_SO@", "no")
+			DMRAIDLIBS += -ldevmapper_dietc
+		endif
 		ifeq ("@STATIC_LINK@", "no")
 			DMEVENTTOOLLIBS = -ldevmapper-event_dietc
 		endif
 	else
-		DMRAIDLIBS += -ldevmapper
+		ifeq ("@LIB_SO@", "no")
+			DMRAIDLIBS += -ldevmapper
+		endif
 		ifeq ("@STATIC_LINK@", "no")
 			DMEVENTTOOLLIBS = -ldevmapper-event
 		endif