From 0f558761aa2dee1017b4751e4017205e015a9560 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Wed, 29 Jun 2022 12:04:12 +0100 Subject: gentoo resync : 29.12.2022 --- sys-block/open-iscsi/Manifest | 8 +- .../files/open-iscsi-2.1.6-Makefiles.patch | 81 ------------ .../files/open-iscsi-2.1.7-fix_bitwise.patch | 52 ++++++++ .../files/open-iscsi-2.1.7-fix_sed.patch | 67 ++++++++++ .../files/open-iscsi-2.1.7-no_werror.patch | 26 ++++ sys-block/open-iscsi/open-iscsi-2.1.6-r1.ebuild | 132 ------------------- sys-block/open-iscsi/open-iscsi-2.1.7.ebuild | 145 +++++++++++++++++++++ 7 files changed, 295 insertions(+), 216 deletions(-) delete mode 100644 sys-block/open-iscsi/files/open-iscsi-2.1.6-Makefiles.patch create mode 100644 sys-block/open-iscsi/files/open-iscsi-2.1.7-fix_bitwise.patch create mode 100644 sys-block/open-iscsi/files/open-iscsi-2.1.7-fix_sed.patch create mode 100644 sys-block/open-iscsi/files/open-iscsi-2.1.7-no_werror.patch delete mode 100644 sys-block/open-iscsi/open-iscsi-2.1.6-r1.ebuild create mode 100644 sys-block/open-iscsi/open-iscsi-2.1.7.ebuild (limited to 'sys-block/open-iscsi') diff --git a/sys-block/open-iscsi/Manifest b/sys-block/open-iscsi/Manifest index e368820e1d47..c5957c333eaf 100644 --- a/sys-block/open-iscsi/Manifest +++ b/sys-block/open-iscsi/Manifest @@ -2,9 +2,11 @@ AUX initiatorname.iscsi 1152 BLAKE2B 32ddfef007a3cef2c22c6f49319587065d527000d0d AUX iscsid-conf.d 422 BLAKE2B 2871024472d5308b395aeb8c67f7b47aed4618790295d3ef7e51aaddd32f12fafbe1b8542fc8a34d5da0233a26ee557c7e9613fa8436d9c9312a9e2f6902a1e5 SHA512 d197bbe2ce610cc2d4a1269c8d7a067ca5e3b0f3d8bb0804c2c39e0cf512bcbf7b5de45b7d6ffd5cf918dc395c7cf32c40e64b4348d00a4d0223ee44c463709a AUX iscsid-init.d 2094 BLAKE2B e13fc820e74a79e3c1f220b827c3188b6cb3bc149f450e3ee668d851faacd59e1e44b51250ba3f53a321d287eb81b580a332605226564269dbcd3e2762c0c95e SHA512 a5544e35da3433dfde96984d2e5783991d961554b8843f4f96d4317a38d7534864882342633ed0dc15c2f9e49a419e51958593b0de1ce84644938dafabe392fc AUX open-iscsi-2.1.1-Makefiles.patch 2185 BLAKE2B ab4dc518f12f0975cf472c94dfa883e98dcce57b2d203c39730ee67c4e6b548ff6554dd4ec8ffd7a624aca99e38c88284ea1bd41cbf89f077e5017e4bc45fd5a SHA512 1b37cfde4889d2f00f91cd173cb323fcb131040ac14351bb66aa4b8250cb527334e869faac4b0fa1ee9160ed7f44ffe2c9cd9a78075d3fec2ca32e0c27c0ba4b -AUX open-iscsi-2.1.6-Makefiles.patch 3157 BLAKE2B 160e0c6c85d40bdd12561695dda6db55cce7d81de2ada55936cf3a7caeff828589c65915159151b56389c73b36f13322c49ecf79c9598da034a8f03ce9e6f404 SHA512 29206acd3e3ad73de1e1b055184cca24f6f17348c709791e4e2929940b20e6974f3e3ba34cb2de105d196c4ff546085b3436cad9881a511e56958a502b3d2365 +AUX open-iscsi-2.1.7-fix_bitwise.patch 1480 BLAKE2B c5076f91885866042d99eef8d905fef4375645863bbf840fbec6c1bbc568ee98866b7fc74b2a78eb675a72cf800c82d11fd28438e9653e696f7d6260896b3f1a SHA512 b9474d78f1616bfdcfc2e11f51faa4a0398a30d00af50a7ae885a8ea07fdf1ba06a354e2ffec777ee2d9598c386093a1f89c4bb633a85a85011f6fa42b307a71 +AUX open-iscsi-2.1.7-fix_sed.patch 1518 BLAKE2B 382889e1bcc0af1cb8306343079efe62935c3539759a0b811c03d13e7df02b248da685badf52d3cf750e704ddd30ad2404d4b2ea030ca8c5919af5b089b5af94 SHA512 29e8a3321198c9270eb3b408cd425670e8535a3299c912bd19d883ca57460fc555c2f672c41b658bcabf326c8a676a7380c3a904d00ed0ee17e83418a5232a50 +AUX open-iscsi-2.1.7-no_werror.patch 1025 BLAKE2B 2d96bc5c35708206c68281d3153bbfbbc38a052ca36d7cd3b437ac714201b393296b75896ef1d2216ddb75f0da472922f41ef400c77b0c8662f75fa6d3e0b2e0 SHA512 d59d723db29d570cc0045c32393a28ffa2d96f57adafd9f1bf278fbf2c4027231e4128e64bade460b3c9d7c81f761cd57b19f27f510f0e76fa5a666aefe60477 DIST open-iscsi-2.1.4.tar.gz 621247 BLAKE2B 043a999b2f397a6c740d61654079d7ab966caee6cf6cfb244ddd70eae4f5201045b371ce5fbe244216a2a210a5379c92e8c3fbe62d33707cf05e7a4a20a13a91 SHA512 ae0663a964d86e6a4c19203598b859173c93ecce550f9bc9855ff735dd51a3c45822f2bc1cc99e6891c56ef1d16c42223803f07a961558fe6e38ead2164faef3 -DIST open-iscsi-2.1.6.tar.gz 623721 BLAKE2B c7c09e38fd10bd5c2a5e8ad8030cf2338de3382fe4acae0e3c1bf3cacb6e244e411b7556403e0c43fd03035836f46cc4836683188e2f159cd7fc066aef78a868 SHA512 4a32a76c1c32d7d1a01fe3a0f88ce9616a54323ec043757be73051eb41ebae8de90ce057acce72fb6fe07aa47e814c9bc6ee88b13fa7d7769ca10c5175974f1d +DIST open-iscsi-2.1.7.tar.gz 627848 BLAKE2B c8b572dc71046b722b9455799b4360c17963f05ce2cac48f122d40fc61bef6f01b98287003fc222bdb0dd4706218add8c41d3eb40464023b9b240a8205069dd3 SHA512 619c57b988c6972da09428b3a84ca375ca46653fbfca9cb61389c70a95871b665f93b75b8e6ff2aa993bdb89e2a078a188c0a7b45c3bf9c15a16b496e9ebc892 EBUILD open-iscsi-2.1.4-r2.ebuild 3995 BLAKE2B cde9eedfd0adce665015ced51a9a6a83c6d4e163ebcd3578c4733b9816829d815db0d0c11a502be52c15a9ec1ea47a4b248a1ed4d44e9939096281b8fc69b0e8 SHA512 7a3fa0b2296478e1fe7b00f73b6aa7dc6117781958835d6e9f038e7b6cd2b22e4ae53c78543addc69bba1079238d7b455260ce825d6ef6792865323202735896 -EBUILD open-iscsi-2.1.6-r1.ebuild 3799 BLAKE2B 4f03566c748d8db7db690ec8ec716a7c01d27bc6a646c4348ab590d6e91837b85aa1b388efe2f45382ea2c4437abebd071df9259568ad80e43f0b9424977f9bd SHA512 517b3a2d0e6d262e73569fd0d8ddf2699530c0bf00a6eb7a04ef1a7e46fb25a34079470ed86c53ac38681e9cf9016c228b88c357effa2ee9207ea1ab74d238b6 +EBUILD open-iscsi-2.1.7.ebuild 4260 BLAKE2B c739e129ed8b0b1e4060a3cd385ac2c5746b9bf9110d05fb257c62fbe600e03b4def1a66609505761ca323f1e2b69989ee1c6caf7c82d8ab29413e710c84cd39 SHA512 cbb91c0f06affd6f8bfdbbd5f78d1a2f17c12e19f4f401a51eac601e81e208446640eab79960203596a4f56f0e46e8fde30219dba0a0c538d7bbaee07babf654 MISC metadata.xml 532 BLAKE2B 201e4a44b240ad6ba1096927924ef8c84027f092ffed238db0d92cce1fe8f37e4c927dc1f8ae8393578cf66831df2c2590409349b980edb09e5187ac4369aad0 SHA512 67ed8a95407e6cce2fbfc35a6b0df99586eff99ec51f41666de298739f233282cad15c4d9d73fb42d3d2972f85da274fe47699c87f8ba2ccc44a841d563087f4 diff --git a/sys-block/open-iscsi/files/open-iscsi-2.1.6-Makefiles.patch b/sys-block/open-iscsi/files/open-iscsi-2.1.6-Makefiles.patch deleted file mode 100644 index a25acc0c85db..000000000000 --- a/sys-block/open-iscsi/files/open-iscsi-2.1.6-Makefiles.patch +++ /dev/null @@ -1,81 +0,0 @@ -https://github.com/open-iscsi/open-iscsi/pull/333 - -It's not the full series from that PR yet because -our previous patch handles some of it (the most important bits) -and some layout changed upstream pre-next release. - -From 96667e0e06a65c94fd875db048776aad29eea829 Mon Sep 17 00:00:00 2001 -From: Sam James -Date: Sun, 3 Apr 2022 03:22:32 +0100 -Subject: [PATCH] iscsiuio: don't clobber LDFLAGS in configure.ac - -The systemd check currently clobbers LDFLAGS from the environment -rather than appending to it. - -But we actually want LIBS here anyway, rather than LDFLAGS. - -Signed-off-by: Sam James ---- a/iscsiuio/configure.ac -+++ b/iscsiuio/configure.ac -@@ -72,7 +72,7 @@ AC_ARG_WITH([systemd], - *) AC_MSG_ERROR([bad value $withval for --with-systemd]) ;; - esac],[with_libsystemd=auto]) - AS_IF([test "$with_libsystemd" != no],[ -- PKG_CHECK_MODULES([LIBSYSTEMD],[libsystemd],[LDFLAGS=$LIBSYSTEMD_LIBS],[ -+ PKG_CHECK_MODULES([LIBSYSTEMD],[libsystemd],[LIBS="${LIBS} $LIBSYSTEMD_LIBS"],[ - if test "$with_libsystemd" = yes; then - AC_MSG_ERROR([could not find libsystemd using pkg-config]) - else -From 9fbd6009cd917f1152a367fa7e5ae3993133c1e4 Mon Sep 17 00:00:00 2001 -From: Sam James -Date: Sun, 3 Apr 2022 03:23:28 +0100 -Subject: [PATCH] iscsiuio: respect LDFLAGS fully - -Use LIBS rather than LDFLAGS which ensures automake gets the ordering -right (some LDFLAGS values won't work correctly if not placed exactly before -libraries). - -This should functionally work the same as before, just improve compatibility -with bits like -Wl,--as-needed. - -Signed-off-by: Sam James ---- a/iscsiuio/src/unix/Makefile.am -+++ b/iscsiuio/src/unix/Makefile.am -@@ -27,13 +27,14 @@ iscsiuio_CFLAGS = $(AM_CFLAGS) \ - $(LIBNL_CFLAGS) \ - -DBYTE_ORDER=@ENDIAN@ - --iscsiuio_LDFLAGS= $(AM_LDADD) \ -+iscsiuio_LIBS = $(AM_LIBS) \ - -ldl \ - -rdynamic \ - $(LIBNL_LIBS) \ - -lpthread - --iscsiuio_LDADD = ${top_srcdir}/src/uip/lib_iscsi_uip.a \ -+iscsiuio_LDADD = $(AM_LDADD) \ -+ ${top_srcdir}/src/uip/lib_iscsi_uip.a \ - ${top_srcdir}/src/apps/dhcpc/lib_apps_dhcpc.a\ - ${top_srcdir}/src/apps/brcm-iscsi/lib_apps_brcm_iscsi.a \ - ${top_srcdir}/src/unix/libs/lib_iscsiuio_hw_cnic.a -From 980b1d36e1f5f38c6b33fe3b68a2cb89e4a77b90 Mon Sep 17 00:00:00 2001 -From: Sam James -Date: Sun, 3 Apr 2022 03:34:48 +0100 -Subject: [PATCH] libopeniscsiusr: fix version in installed pkgconfig (.pc) - file - -Looks like a typo from libnvme. Previously, the installed -.pc file had a blank Version field. - -Signed-off-by: Sam James ---- a/libopeniscsiusr/Makefile -+++ b/libopeniscsiusr/Makefile -@@ -89,7 +89,7 @@ install: $(LIBS) $(LIBS_MAJOR) - ln -sf $(LIBS) $(DESTDIR)/$(LIB_DIR)/$(LIBS_MAJOR) - $(INSTALL) $(HEADERS) $(DESTDIR)$(INCLUDE_DIR)/ - $(INSTALL) -m 644 -D $(PKGFILE).in $(DESTDIR)$(PKGCONF_DIR)/$(PKGFILE) -- perl -i -pe 's|__VERSION__|$(LIBNVME_VERSION)|g' \ -+ perl -i -pe 's|__VERSION__|$(LIBISCSI_USR_VERSION)|g' \ - $(DESTDIR)$(PKGCONF_DIR)/$(PKGFILE) - perl -i -pe 's|__LIB_DIR__|$(LIB_DIR)|g' \ - $(DESTDIR)$(PKGCONF_DIR)/$(PKGFILE) diff --git a/sys-block/open-iscsi/files/open-iscsi-2.1.7-fix_bitwise.patch b/sys-block/open-iscsi/files/open-iscsi-2.1.7-fix_bitwise.patch new file mode 100644 index 000000000000..2ff094c83f0f --- /dev/null +++ b/sys-block/open-iscsi/files/open-iscsi-2.1.7-fix_bitwise.patch @@ -0,0 +1,52 @@ +From 0a6432de1a2186449d5e6557f75a9f30e487471d Mon Sep 17 00:00:00 2001 +From: Matthias Maier +Date: Thu, 2 Jun 2022 13:12:43 -0500 +Subject: [PATCH] Use __bitwise instead of __bitwise__ + +The iscsi_proto.h header goes into great length ensuring that the +__bitwise macro is defined: + + #if !defined(__bitwise) + /* + * If running svn modules we may need to define these. + * This should not go upstream since this is already properly defined there + */ + #ifdef __CHECKER__ + #define __bitwise__ __attribute__((bitwise)) + #else + #define __bitwise__ + #endif + #ifdef __CHECK_ENDIAN__ + #define __bitwise __bitwise__ + #else + #define __bitwise + #endif + #endif + +But then uses the __bitwise__ macro instead: + + typedef uint32_t __bitwise__ itt_t; + +(This is the only occurence where the __bitwise__ (or __bitwise) macro +is actually used). This seems to be a typo, changing this to __bitwise +fixes compilation with gcc-11 onwards. +--- + include/iscsi_proto.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/include/iscsi_proto.h b/include/iscsi_proto.h +index 1d14b89..3fe9018 100644 +--- a/include/iscsi_proto.h ++++ b/include/iscsi_proto.h +@@ -63,7 +63,7 @@ + #endif + + /* initiator tags; opaque for target */ +-typedef uint32_t __bitwise__ itt_t; ++typedef uint32_t __bitwise itt_t; + /* below makes sense only for initiator that created this tag */ + #define build_itt(itt, age) ((__force itt_t)\ + ((itt) | ((age) << ISCSI_AGE_SHIFT))) +-- +2.35.1 + diff --git a/sys-block/open-iscsi/files/open-iscsi-2.1.7-fix_sed.patch b/sys-block/open-iscsi/files/open-iscsi-2.1.7-fix_sed.patch new file mode 100644 index 000000000000..ad56b823b557 --- /dev/null +++ b/sys-block/open-iscsi/files/open-iscsi-2.1.7-fix_sed.patch @@ -0,0 +1,67 @@ +From 66d76978f2ffbe276e84b03a7fac1041a7c3b4c3 Mon Sep 17 00:00:00 2001 +From: Matthias Maier +Date: Thu, 2 Jun 2022 13:17:10 -0500 +Subject: [PATCH] Do not hardcode the path of sed + +--- + doc/Makefile | 2 +- + etc/Makefile | 2 +- + libopeniscsiusr/Makefile | 2 +- + utils/Makefile | 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +diff --git a/doc/Makefile b/doc/Makefile +index 9ed025d..e121270 100644 +--- a/doc/Makefile ++++ b/doc/Makefile +@@ -7,7 +7,7 @@ ifeq ($(TOPDIR),) + TOPDIR = .. + endif + +-SED = /usr/bin/sed ++SED = sed + INSTALL = install + + DESTDIR ?= +diff --git a/etc/Makefile b/etc/Makefile +index d065319..2d98027 100644 +--- a/etc/Makefile ++++ b/etc/Makefile +@@ -19,7 +19,7 @@ initddir ?= $(etcdir)/init.d + + HOMEDIR ?= $(etcdir)/iscsi + +-SED = /usr/bin/sed ++SED = sed + INSTALL = install + + SYSTEMD_SOURCE_FILES = iscsid.socket iscsiuio.socket +diff --git a/libopeniscsiusr/Makefile b/libopeniscsiusr/Makefile +index 523518b..90903dd 100644 +--- a/libopeniscsiusr/Makefile ++++ b/libopeniscsiusr/Makefile +@@ -29,7 +29,7 @@ PKGCONF_DIR ?= $(LIB_DIR)/pkgconfig + MAN_DIR = $(prefix)/share/man + + PKG_CONFIG ?= /usr/bin/pkg-config +-SED ?= /usr/bin/sed ++SED ?= sed + + LIBISCSI_USR_DIR=$(TOPDIR)/libopeniscsiusr + +diff --git a/utils/Makefile b/utils/Makefile +index a7eb352..15539eb 100644 +--- a/utils/Makefile ++++ b/utils/Makefile +@@ -7,7 +7,7 @@ + # from the top-level make file. + # + +-SED = /usr/bin/sed ++SED = sed + INSTALL = install + CHMOD = chmod + +-- +2.35.1 + diff --git a/sys-block/open-iscsi/files/open-iscsi-2.1.7-no_werror.patch b/sys-block/open-iscsi/files/open-iscsi-2.1.7-no_werror.patch new file mode 100644 index 000000000000..a94caebafb13 --- /dev/null +++ b/sys-block/open-iscsi/files/open-iscsi-2.1.7-no_werror.patch @@ -0,0 +1,26 @@ +diff --git a/libopeniscsiusr/Makefile b/libopeniscsiusr/Makefile +index 52e453a..523518b 100644 +--- a/libopeniscsiusr/Makefile ++++ b/libopeniscsiusr/Makefile +@@ -51,7 +51,7 @@ EXTRA_MAN_FILES = libopeniscsiusr.h.3 + OBJS = context.o misc.o session.o sysfs.o iface.o idbm.o node.o default.o + + CFLAGS ?= -O2 -g +-CFLAGS += -Wall -Werror -Wextra -fvisibility=hidden -fPIC ++CFLAGS += -Wall -Wextra -fvisibility=hidden -fPIC + CFLAGS += $(shell $(PKG_CONFIG) --cflags libkmod) + CFLAGS += -DSBINDIR=\"$(SBINDIR)\" + CFLAGS += -DISCSI_DB_ROOT=\"$(DBROOT)\" +diff --git a/usr/Makefile b/usr/Makefile +index 3fc2248..c3580a3 100644 +--- a/usr/Makefile ++++ b/usr/Makefile +@@ -44,7 +44,7 @@ HOMEDIR ?= $(etcdir)/iscsi + PKG_CONFIG ?= /usr/bin/pkg-config + + CFLAGS ?= -O2 -g +-WARNFLAGS ?= -Wall -Wextra -Werror -Wstrict-prototypes -fno-common ++WARNFLAGS ?= -Wall -Wextra -Wstrict-prototypes -fno-common + CFLAGS += $(WARNFLAGS) -I../include -I. -D_GNU_SOURCE \ + -I$(TOPDIR)/libopeniscsiusr + CFLAGS += $(shell $(PKG_CONFIG) --cflags libkmod) diff --git a/sys-block/open-iscsi/open-iscsi-2.1.6-r1.ebuild b/sys-block/open-iscsi/open-iscsi-2.1.6-r1.ebuild deleted file mode 100644 index 576fdc85f330..000000000000 --- a/sys-block/open-iscsi/open-iscsi-2.1.6-r1.ebuild +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools linux-info flag-o-matic toolchain-funcs systemd - -DESCRIPTION="A performant, transport independent, multi-platform implementation of RFC3720" -HOMEPAGE="https://www.open-iscsi.com/" -SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="GPL-2" -SLOT="0/0.2" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" -IUSE="debug infiniband +tcp rdma systemd" -REQUIRED_USE="infiniband? ( rdma ) || ( rdma tcp )" - -DEPEND=" - sys-apps/kmod - sys-block/open-isns:= - sys-kernel/linux-headers - infiniband? ( sys-cluster/rdma-core ) - dev-libs/openssl:0= - systemd? ( sys-apps/systemd ) -" -RDEPEND="${DEPEND} - sys-fs/lsscsi - sys-apps/util-linux" -BDEPEND="virtual/pkgconfig" - -PATCHES=( - "${FILESDIR}"/${PN}-2.1.1-Makefiles.patch - "${FILESDIR}"/open-iscsi-2.1.6-Makefiles.patch -) - -pkg_setup() { - linux-info_pkg_setup - - if kernel_is -lt 2 6 16; then - die "Sorry, your kernel must be 2.6.16-rc5 or newer!" - fi - - # Needs to be done, as iscsid currently only starts, when having the iSCSI - # support loaded as module. Kernel builtin options don't work. See this for - # more information: - # https://groups.google.com/group/open-iscsi/browse_thread/thread/cc10498655b40507/fd6a4ba0c8e91966 - # If there's a new release, check whether this is still valid! - TCP_MODULES="SCSI_ISCSI_ATTRS ISCSI_TCP" - RDMA_MODULES="INFINIBAND_ISER" - INFINIBAND_MODULES="INFINIBAND_IPOIB INIBAND_USER_MAD INFINIBAND_USER_ACCESS" - CONFIG_CHECK_MODULES="tcp? ( ${TCP_MODULES} ) rdma? ( ${RDMA_MODULES} ) infiniband? ( ${INFINIBAND_MODULES} )" - if linux_config_exists; then - if use tcp; then - for module in ${TCP_MODULES}; do - linux_chkconfig_module ${module} || ewarn "${module} needs to be built as module (builtin doesn't work)" - done - fi - if use infiniband; then - for module in ${INFINIBAND_MODULES}; do - linux_chkconfig_module ${module} || ewarn "${module} needs to be built as module (builtin doesn't work)" - done - fi - if use rdma; then - for module in ${RDMA_MODULES}; do - linux_chkconfig_module ${module} || ewarn "${module} needs to be built as module (builtin doesn't work)"$ - done - fi - fi -} - -src_prepare() { - default - - pushd iscsiuio >/dev/null || die - eautoreconf - popd >/dev/null || die -} - -src_configure() { - use debug && append-cppflags -DDEBUG_TCP -DDEBUG_SCSI - - append-lfs-flags -} - -src_compile() { - # Stuffing CPPFLAGS into CFLAGS isn't entirely correct, but the build - # is messed up already here, so it's not making it that much worse. - KSRC="${KV_DIR}" CFLAGS="" \ - emake \ - OPTFLAGS="${CFLAGS} ${CPPFLAGS} $(usex systemd '' -DNO_SYSTEMD)" \ - AR="$(tc-getAR)" CC="$(tc-getCC)" \ - $(usex systemd '' NO_SYSTEMD=1) \ - user -} - -src_install() { - emake \ - DESTDIR="${ED}" \ - sbindir="/usr/sbin" \ - SED="${EPREFIX}/bin/sed" \ - systemddir="$(systemd_get_utildir)" \ - install install_systemd - - # Upstream make is not deterministic, per bug #601514 - rm -f "${ED}"/etc/initiatorname.iscsi - - dodoc README THANKS - - docinto test/ - dodoc $(find test -maxdepth 1 -type f ! -name ".*") - - insinto /etc/iscsi - newins "${FILESDIR}"/initiatorname.iscsi initiatorname.iscsi.example - - newconfd "${FILESDIR}"/iscsid-conf.d iscsid - newinitd "${FILESDIR}"/iscsid-init.d iscsid - - keepdir /var/db/iscsi - fperms 700 /var/db/iscsi - fperms 600 /etc/iscsi/iscsid.conf -} - -pkg_postinst() { - in='/etc/iscsi/initiatorname.iscsi' - if [[ ! -f "${EROOT}${in}" ]] && [[ -f "${EROOT}${in}.example" ]] ; then - { - cat "${EROOT}${in}.example" - echo "# InitiatorName generated by ${CATEGORY}/${PF} at $(date -uR)" - echo "InitiatorName=$(${ROOT}/usr/sbin/iscsi-iname)" - } >> "${EROOT}${in}.tmp" && mv -f "${EROOT}${in}.tmp" "${EROOT}${in}" - fi -} diff --git a/sys-block/open-iscsi/open-iscsi-2.1.7.ebuild b/sys-block/open-iscsi/open-iscsi-2.1.7.ebuild new file mode 100644 index 000000000000..552d373862e7 --- /dev/null +++ b/sys-block/open-iscsi/open-iscsi-2.1.7.ebuild @@ -0,0 +1,145 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit autotools linux-info flag-o-matic toolchain-funcs systemd udev + +DESCRIPTION="A performant, transport independent, multi-platform implementation of RFC3720" +HOMEPAGE="https://www.open-iscsi.com/" +SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0/0.2" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +IUSE="debug infiniband +tcp rdma systemd" +REQUIRED_USE="infiniband? ( rdma ) || ( rdma tcp )" + +DEPEND=" + sys-apps/kmod + sys-block/open-isns:= + sys-kernel/linux-headers + infiniband? ( sys-cluster/rdma-core ) + dev-libs/openssl:0= + systemd? ( sys-apps/systemd ) +" +RDEPEND="${DEPEND} + sys-fs/lsscsi + sys-apps/util-linux" +BDEPEND="virtual/pkgconfig" + +PATCHES=( + "${FILESDIR}"/${PN}-2.1.7-fix_bitwise.patch + "${FILESDIR}"/${PN}-2.1.7-fix_sed.patch + "${FILESDIR}"/${PN}-2.1.7-no_werror.patch +) + +pkg_setup() { + linux-info_pkg_setup + + if kernel_is -lt 2 6 16; then + die "Sorry, your kernel must be 2.6.16-rc5 or newer!" + fi + + # Needs to be done, as iscsid currently only starts, when having the iSCSI + # support loaded as module. Kernel builtin options don't work. See this for + # more information: + # https://groups.google.com/group/open-iscsi/browse_thread/thread/cc10498655b40507/fd6a4ba0c8e91966 + # If there's a new release, check whether this is still valid! + TCP_MODULES="SCSI_ISCSI_ATTRS ISCSI_TCP" + RDMA_MODULES="INFINIBAND_ISER" + INFINIBAND_MODULES="INFINIBAND_IPOIB INIBAND_USER_MAD INFINIBAND_USER_ACCESS" + CONFIG_CHECK_MODULES="tcp? ( ${TCP_MODULES} ) rdma? ( ${RDMA_MODULES} ) infiniband? ( ${INFINIBAND_MODULES} )" + if linux_config_exists; then + if use tcp; then + for module in ${TCP_MODULES}; do + linux_chkconfig_module ${module} || ewarn "${module} needs to be built as module (builtin doesn't work)" + done + fi + if use infiniband; then + for module in ${INFINIBAND_MODULES}; do + linux_chkconfig_module ${module} || ewarn "${module} needs to be built as module (builtin doesn't work)" + done + fi + if use rdma; then + for module in ${RDMA_MODULES}; do + linux_chkconfig_module ${module} || ewarn "${module} needs to be built as module (builtin doesn't work)"$ + done + fi + fi +} + +src_prepare() { + default + + pushd iscsiuio >/dev/null || die + eautoreconf + popd >/dev/null || die +} + +src_configure() { + use debug && append-cppflags -DDEBUG_TCP -DDEBUG_SCSI + + append-lfs-flags +} + +src_compile() { + # Stuffing CPPFLAGS into CFLAGS isn't entirely correct, but the build + # is messed up already here, so it's not making it that much worse. + KSRC="${KV_DIR}" CFLAGS="" \ + emake \ + OPTFLAGS="${CFLAGS} ${CPPFLAGS} $(usex systemd '' -DNO_SYSTEMD)" \ + AR="$(tc-getAR)" CC="$(tc-getCC)" \ + $(usex systemd '' NO_SYSTEMD=1) \ + user +} + +src_install() { + # Force serial install to avoid race conditions + emake -j1 \ + DESTDIR="${ED}" \ + sbindir="/usr/sbin" \ + SED="${EPREFIX}/bin/sed" \ + systemddir="$(systemd_get_utildir)" \ + install install_systemd + + # Upstream make is not deterministic, per bug #601514 + rm -f "${ED}"/etc/initiatorname.iscsi + + # QA: install udev rule into right place + mkdir -p "${ED}"/lib/udev/rules.d + mv "${ED}"/etc/udev/rules.d/50-iscsi-firmware-login.rules \ + "${ED}"/lib/udev/rules.d || die "mv failed" + + # QA: let docompress compress man pages + gunzip -r "${ED}"/usr/share/man/man3/ || die "gunzip failed" + gunzip -r "${ED}"/usr/share/man/man8/ || die "gunzip failed" + + dodoc README THANKS + + docinto test/ + dodoc $(find test -maxdepth 1 -type f ! -name ".*") + + insinto /etc/iscsi + newins "${FILESDIR}"/initiatorname.iscsi initiatorname.iscsi.example + + newconfd "${FILESDIR}"/iscsid-conf.d iscsid + newinitd "${FILESDIR}"/iscsid-init.d iscsid + + keepdir /var/db/iscsi + fperms 700 /var/db/iscsi + fperms 600 /etc/iscsi/iscsid.conf +} + +pkg_postinst() { + in='/etc/iscsi/initiatorname.iscsi' + if [[ ! -f "${EROOT}${in}" ]] && [[ -f "${EROOT}${in}.example" ]] ; then + { + cat "${EROOT}${in}.example" + echo "# InitiatorName generated by ${CATEGORY}/${PF} at $(date -uR)" + echo "InitiatorName=$(${ROOT}/usr/sbin/iscsi-iname)" + } >> "${EROOT}${in}.tmp" && mv -f "${EROOT}${in}.tmp" "${EROOT}${in}" + fi + + udev_reload +} -- cgit v1.2.3