aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMuhammad Moinur Rahman <bofh@FreeBSD.org>2020-05-30 08:31:39 +0800
committerMuhammad Moinur Rahman <bofh@FreeBSD.org>2020-05-30 08:31:39 +0800
commitd00b3ccfa3e1238131c07aead94e19b1b5dce0fe (patch)
tree4b31f724a09d8b85392f5aa23186b1c18da3ac60
parentdfae25e5d9a7dea1e5701e909114daae8d95e4da (diff)
downloadfreebsd-ports-gnome-d00b3ccfa3e1238131c07aead94e19b1b5dce0fe.tar.gz
freebsd-ports-gnome-d00b3ccfa3e1238131c07aead94e19b1b5dce0fe.tar.zst
freebsd-ports-gnome-d00b3ccfa3e1238131c07aead94e19b1b5dce0fe.zip
[NEW] net/libiscsi: Client-side library to implement the iSCSI protocol
Libiscsi is a client-side library to implement the iSCSI protocol that can be used to access the resources of an iSCSI target. The library is fully asynchronous with regards to iSCSI commands and SCSI tasks, but a synchronous layer is also provided for ease of use for simpler applications. WWW: https://github.com/sahlberg/libiscsi PR: 217355 Submitted by: d8zNeCFG@aon.at
-rw-r--r--net/Makefile1
-rw-r--r--net/libiscsi/Makefile24
-rw-r--r--net/libiscsi/distinfo3
-rw-r--r--net/libiscsi/files/patch-configure.ac12
-rw-r--r--net/libiscsi/files/patch-lib_login.c16
-rw-r--r--net/libiscsi/pkg-descr8
-rw-r--r--net/libiscsi/pkg-plist16
7 files changed, 80 insertions, 0 deletions
diff --git a/net/Makefile b/net/Makefile
index d549e611c40c..1e2616d7d065 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -361,6 +361,7 @@
SUBDIR += libgrss
SUBDIR += libgweather
SUBDIR += libilbc
+ SUBDIR += libiscsi
SUBDIR += libjson-rpc-cpp
SUBDIR += libkgapi
SUBDIR += libksieve
diff --git a/net/libiscsi/Makefile b/net/libiscsi/Makefile
new file mode 100644
index 000000000000..91762f95d0af
--- /dev/null
+++ b/net/libiscsi/Makefile
@@ -0,0 +1,24 @@
+# Created by: M. Birgmeier
+# $FreeBSD$
+
+PORTNAME= libiscsi
+DISTVERSION= 1.19.0
+CATEGORIES= net
+
+MAINTAINER= d8zNeCFG@aon.at
+COMMENT= Client-side library to implement the iSCSI protocol
+
+LICENSE= LGPL21+ GPLv2+
+LICENSE_COMB= multi
+LICENSE_FILE_LGPL21+ = ${WRKSRC}/LICENCE-LGPL-2.1.txt
+LICENSE_FILE_GPLv2+ = ${WRKSRC}/LICENCE-GPL-2.txt
+
+USES= autoreconf libtool pathfix
+USE_GITHUB= yes
+USE_LDCONFIG= yes
+
+GH_ACCOUNT= sahlberg
+
+GNU_CONFIGURE= yes
+
+.include <bsd.port.mk>
diff --git a/net/libiscsi/distinfo b/net/libiscsi/distinfo
new file mode 100644
index 000000000000..8f222be13bb2
--- /dev/null
+++ b/net/libiscsi/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1588264800
+SHA256 (sahlberg-libiscsi-1.19.0_GH0.tar.gz) = c7848ac722c8361d5064654bc6e926c2be61ef11dd3875020a63931836d806df
+SIZE (sahlberg-libiscsi-1.19.0_GH0.tar.gz) = 284969
diff --git a/net/libiscsi/files/patch-configure.ac b/net/libiscsi/files/patch-configure.ac
new file mode 100644
index 000000000000..db7ed62873b3
--- /dev/null
+++ b/net/libiscsi/files/patch-configure.ac
@@ -0,0 +1,12 @@
+--- configure.ac.orig 2019-07-13 22:04:44 UTC
++++ configure.ac
+@@ -144,7 +144,8 @@ AC_CACHE_CHECK([for iSER support],libiscsi_cv_HAVE_LIN
+ AC_TRY_COMPILE([
+ #include <infiniband/verbs.h>
+ #include <rdma/rdma_cma.h>
+-#include <rdma/rdma_verbs.h>],
++#include <rdma/rdma_verbs.h>
++#error not on FreeBSD],
+ [int ibv = IBV_WC_SEND;],
+ libiscsi_cv_HAVE_LINUX_ISER=yes,libiscsi_cv_HAVE_LINUX_ISER=no)])
+ if test x"$libiscsi_cv_HAVE_LINUX_ISER" = x"yes"; then
diff --git a/net/libiscsi/files/patch-lib_login.c b/net/libiscsi/files/patch-lib_login.c
new file mode 100644
index 000000000000..209886e35cec
--- /dev/null
+++ b/net/libiscsi/files/patch-lib_login.c
@@ -0,0 +1,16 @@
+--- lib/login.c.orig 2019-07-13 22:04:44 UTC
++++ lib/login.c
+@@ -1242,11 +1242,11 @@ iscsi_process_login_reply(struct iscsi_context *iscsi,
+
+ /* iSER specific keys */
+ if (!strncmp(ptr, "InitiatorRecvDataSegmentLength=", 31)) {
+- iscsi->initiator_max_recv_data_segment_length = MIN(strtol(ptr + 31, NULL, 10),
++ iscsi->initiator_max_recv_data_segment_length = MIN(strtoul(ptr + 31, NULL, 10),
+ iscsi->initiator_max_recv_data_segment_length);
+ }
+ if (!strncmp(ptr, "TargetRecvDataSegmentLength=", 28)) {
+- iscsi->target_max_recv_data_segment_length = MIN(strtol(ptr + 28, NULL, 10),
++ iscsi->target_max_recv_data_segment_length = MIN(strtoul(ptr + 28, NULL, 10),
+ iscsi->target_max_recv_data_segment_length);
+ }
+
diff --git a/net/libiscsi/pkg-descr b/net/libiscsi/pkg-descr
new file mode 100644
index 000000000000..159ed8230016
--- /dev/null
+++ b/net/libiscsi/pkg-descr
@@ -0,0 +1,8 @@
+Libiscsi is a client-side library to implement the iSCSI protocol
+that can be used to access the resources of an iSCSI target.
+
+The library is fully asynchronous with regards to iSCSI commands
+and SCSI tasks, but a synchronous layer is also provided for ease
+of use for simpler applications.
+
+WWW: https://github.com/sahlberg/libiscsi
diff --git a/net/libiscsi/pkg-plist b/net/libiscsi/pkg-plist
new file mode 100644
index 000000000000..a5cb3cd09132
--- /dev/null
+++ b/net/libiscsi/pkg-plist
@@ -0,0 +1,16 @@
+bin/iscsi-inq
+bin/iscsi-ls
+bin/iscsi-perf
+bin/iscsi-readcapacity16
+bin/iscsi-swp
+include/iscsi/iscsi.h
+include/iscsi/scsi-lowlevel.h
+lib/libiscsi.a
+lib/libiscsi.so
+lib/libiscsi.so.9
+lib/libiscsi.so.9.0.0
+libdata/pkgconfig/libiscsi.pc
+man/man1/iscsi-inq.1.gz
+man/man1/iscsi-ls.1.gz
+man/man1/iscsi-swp.1.gz
+man/man1/iscsi-test-cu.1.gz