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
|
require 'formula'
class Libiscsi < Formula
homepage 'https://github.com/sahlberg/libiscsi'
url 'https://sites.google.com/site/libiscsitarballs/libiscsitarballs/libiscsi-1.9.0.tar.gz'
sha1 'b3d079cbafab68fe39a8061c4ed5094353094e3b'
head 'https://github.com/sahlberg/libiscsi.git'
option 'with-noinst', 'Install the noinst binaries (e.g. iscsi-test-cu)'
depends_on 'cunit' if build.with? 'noinst'
depends_on 'popt'
depends_on :autoconf
depends_on :automake
depends_on :libtool
# Fix version number being too large for clang's linker (fixed upstream)
# Workaround Silent Rules complaint with automake 1.10 from XCode 3.2.6 on
# 10.6
# Fix typo in libiscsi.syms (fixed upstream)
# Fix SOL_TCP not being defined on OSX (fixed upstream)
def patches
DATA
end
def install
if build.with? 'noinst'
# Install the noinst binaries
inreplace 'Makefile.am', 'noinst_PROGRAMS +=', 'bin_PROGRAMS +='
end
# inline usage requires gnu89 semantics
ENV.append 'CFLAGS', '-std=gnu89 -g -O2' if ENV.compiler == :clang
system "./autogen.sh"
system "./configure", "--disable-dependency-tracking",
"--prefix=#{prefix}"
system "make install"
end
end
__END__
diff --git a/Makefile.am b/Makefile.am
index 1797ddf..1cf0732 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -34,8 +34,12 @@ lib_libiscsi_la_SOURCES = \
lib/logging.c
SONAME=$(firstword $(subst ., ,$(VERSION)))
-SOREL=$(shell printf "%d%02d%02d" $(subst ., ,$(VERSION)))
-lib_libiscsi_la_LDFLAGS = \
+version_split = $(subst ., ,$(VERSION))
+SOMAJOR = $(firstword $(version_split))
+SOMINOR = $(word 2, $(version_split))
+SOREVISION = $(word 3, $(version_split))
+SOREL = $(shell echo $(SOMINOR) + $(SOREVISION) | bc)
+ lib_libiscsi_la_LDFLAGS = \
-version-info $(SONAME):$(SOREL):0 -bindir $(bindir) -no-undefined \
-export-symbols $(srcdir)/lib/libiscsi.syms
diff --git a/configure.ac b/configure.ac
index 7995d06..bbdabe9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3,8 +3,8 @@ AC_INIT(libiscsi, m4_esyscmd([grep 'Version:' ./packaging/RPM/libiscsi.spec.in 2
AC_CONFIG_SRCDIR([lib/init.c])
AC_CONFIG_MACRO_DIR([m4])
-AM_INIT_AUTOMAKE
-AM_SILENT_RULES
+AM_INIT_AUTOMAKE([foreign])
+m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES])
LT_INIT
AC_CANONICAL_HOST
diff --git a/lib/libiscsi.syms b/lib/libiscsi.syms
index 80673f5..35e06d1 100644
--- a/lib/libiscsi.syms
+++ b/lib/libiscsi.syms
@@ -87,7 +87,7 @@ iscsi_set_tcp_keepidle
iscsi_set_tcp_keepcnt
iscsi_set_tcp_keepintvl
iscsi_set_tcp_syncnt
-iscsi_set_bind_interface
+iscsi_set_bind_interfaces
iscsi_startstopunit_sync
iscsi_startstopunit_task
iscsi_synchronizecache10_sync
diff --git a/lib/socket.c b/lib/socket.c
index 54d6234..53c9581 100644
--- a/lib/socket.c
+++ b/lib/socket.c
@@ -103,7 +103,7 @@ int set_tcp_sockopt(int sockfd, int optname, int value)
{
int level;
- #if defined(__FreeBSD__) || defined(__sun)
+ #if defined(__FreeBSD__) || defined(__sun) || (defined(__APPLE__) && defined(__MACH__))
struct protoent *buf;
if ((buf = getprotobyname("tcp")) != NULL)
|