From 27c38490fce9fc5b23ea3e4726228044bd3e410b Mon Sep 17 00:00:00 2001 From: Zheng Ruoqin Date: Wed, 30 Oct 2019 18:10:39 +0800 Subject: iscsi-initiator-utils: upgrade 2.0.877 -> 2.0.878 1) Upgrade iscsi-initiator-utils from 2.0.877 to 2.0.878. 2) Remove patches have been merged in 2.0.878. 0001-Fix-i586-build-issues-with-string-length-overflow.patch 0001-Make-iscsid-systemd-usage-optional.patch 0001-Use-pkg-config-in-Makefiles-for-newer-libraries.patch 3) Fix DEPENDS and EXTRA_OECONF for systemd as in new version systemd is default on. Signed-off-by: Zheng Ruoqin Signed-off-by: Khem Raj --- ...-build-issues-with-string-length-overflow.patch | 115 -------------------- .../0001-Make-iscsid-systemd-usage-optional.patch | 88 --------------- ...g-config-in-Makefiles-for-newer-libraries.patch | 92 ---------------- .../iscsi-initiator-utils_2.0.877.bb | 119 -------------------- .../iscsi-initiator-utils_2.0.878.bb | 120 +++++++++++++++++++++ 5 files changed, 120 insertions(+), 414 deletions(-) delete mode 100644 meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Fix-i586-build-issues-with-string-length-overflow.patch delete mode 100644 meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Make-iscsid-systemd-usage-optional.patch delete mode 100644 meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Use-pkg-config-in-Makefiles-for-newer-libraries.patch delete mode 100644 meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.877.bb create mode 100644 meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.878.bb (limited to 'meta-networking') diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Fix-i586-build-issues-with-string-length-overflow.patch b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Fix-i586-build-issues-with-string-length-overflow.patch deleted file mode 100644 index f945c636f7..0000000000 --- a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Fix-i586-build-issues-with-string-length-overflow.patch +++ /dev/null @@ -1,115 +0,0 @@ -From 24ce8f62e042e69497e1299212504c356179e15b Mon Sep 17 00:00:00 2001 -From: Lee Duncan -Date: Tue, 6 Nov 2018 11:16:06 -0800 -Subject: [PATCH] Fix i586 build issues with string length overflow. - -Gcc7 warns of possible string print overflow, on i586, -when printing password length (via a macro), generating -errors like: - -[ 59s] ^~~~~~~~~~~~~~~~~~~~ -[ 59s] In file included from /usr/include/stdio.h:862:0, -[ 59s] from idbm.h:27, -[ 59s] from context.h:22, -[ 59s] from idbm.c:59: -[ 59s] /usr/include/bits/stdio2.h:64:10: note: -'__builtin___snprintf_chk' output between 2 and 11 bytes into a -destination of size 8 -[ 59s] return __builtin___snprintf_chk (__s, __n, -__USE_FORTIFY_LEVEL - 1, -[ 59s] ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -~~~~~~~~~~ -[ 59s] __bos (__s), __fmt, __va_arg_pack ()); -[ 59s] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -[ 59s] cc1: all warnings being treated as errors -[ 59s] make[1]: *** [: idbm.o] Error 1 -[ 59s] make[1]: Leaving directory - -The fix is to limit the size of the string printed, so that no -overflow is possible. - -The print macros in usr/idbm.c were updated, as well, to match -the newer version in libopeniscsiusr/idbm.c, also to help the -i586 build. - -Upstream-Status: Backport[https://github.com/open-iscsi/open-iscsi/commit/24ce8f62e042e69497e1299212504c356179e15b] - -Signed-off-by: Mingli Yu ---- - libopeniscsiusr/idbm.c | 2 +- - usr/idbm.c | 11 ++++++----- - 2 files changed, 7 insertions(+), 6 deletions(-) - -diff --git a/libopeniscsiusr/idbm.c b/libopeniscsiusr/idbm.c -index 7724de2..055dd9a 100644 ---- a/libopeniscsiusr/idbm.c -+++ b/libopeniscsiusr/idbm.c -@@ -676,7 +676,7 @@ updated: - if (!passwd_done && !strcmp(#_param, name)) { \ - passwd_done = 1; \ - name = #_param "_length"; \ -- snprintf(passwd_len, 8, "%d", (int)strlen(value)); \ -+ snprintf(passwd_len, 8, "%.7d", (int)strlen(value) & 0xffff); \ - value = passwd_len; \ - goto setup_passwd_len; \ - } -diff --git a/usr/idbm.c b/usr/idbm.c -index a0207e2..89a6c27 100644 ---- a/usr/idbm.c -+++ b/usr/idbm.c -@@ -30,6 +30,7 @@ - #include - #include - #include -+#include - - #include "idbm.h" - #include "idbm_fields.h" -@@ -65,7 +66,7 @@ static struct idbm *db; - #define __recinfo_int(_key, _info, _rec, _name, _show, _n, _mod) do { \ - _info[_n].type = TYPE_INT; \ - strlcpy(_info[_n].name, _key, NAME_MAXVAL); \ -- snprintf(_info[_n].value, VALUE_MAXVAL, "%d", _rec->_name); \ -+ snprintf(_info[_n].value, VALUE_MAXVAL, "%" PRIi32, _rec->_name); \ - _info[_n].data = &_rec->_name; \ - _info[_n].data_len = sizeof(_rec->_name); \ - _info[_n].visible = _show; \ -@@ -76,7 +77,7 @@ static struct idbm *db; - #define __recinfo_uint8(_key, _info, _rec, _name, _show, _n, _mod) do { \ - _info[_n].type = TYPE_UINT8; \ - strlcpy(_info[_n].name, _key, NAME_MAXVAL); \ -- snprintf(_info[_n].value, VALUE_MAXVAL, "%d", _rec->_name); \ -+ snprintf(_info[_n].value, VALUE_MAXVAL, "%" PRIu8, _rec->_name); \ - _info[_n].data = &_rec->_name; \ - _info[_n].data_len = sizeof(_rec->_name); \ - _info[_n].visible = _show; \ -@@ -87,7 +88,7 @@ static struct idbm *db; - #define __recinfo_uint16(_key, _info, _rec, _name, _show, _n, _mod) do { \ - _info[_n].type = TYPE_UINT16; \ - strlcpy(_info[_n].name, _key, NAME_MAXVAL); \ -- snprintf(_info[_n].value, VALUE_MAXVAL, "%d", _rec->_name); \ -+ snprintf(_info[_n].value, VALUE_MAXVAL, "%" PRIu16, _rec->_name); \ - _info[_n].data = &_rec->_name; \ - _info[_n].data_len = sizeof(_rec->_name); \ - _info[_n].visible = _show; \ -@@ -98,7 +99,7 @@ static struct idbm *db; - #define __recinfo_uint32(_key, _info, _rec, _name, _show, _n, _mod) do { \ - _info[_n].type = TYPE_UINT32; \ - strlcpy(_info[_n].name, _key, NAME_MAXVAL); \ -- snprintf(_info[_n].value, VALUE_MAXVAL, "%d", _rec->_name); \ -+ snprintf(_info[_n].value, VALUE_MAXVAL, "%" PRIu32, _rec->_name); \ - _info[_n].data = &_rec->_name; \ - _info[_n].data_len = sizeof(_rec->_name); \ - _info[_n].visible = _show; \ -@@ -1041,7 +1042,7 @@ updated: - if (!passwd_done && !strcmp(#_param, name)) { \ - passwd_done = 1; \ - name = #_param "_length"; \ -- snprintf(passwd_len, 8, "%d", (int)strlen(value)); \ -+ snprintf(passwd_len, 8, "%.7" PRIi32, (int)strlen(value) & 0xffff); \ - value = passwd_len; \ - goto setup_passwd_len; \ - } --- -2.7.4 - diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Make-iscsid-systemd-usage-optional.patch b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Make-iscsid-systemd-usage-optional.patch deleted file mode 100644 index 08248d3584..0000000000 --- a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Make-iscsid-systemd-usage-optional.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 365efb2fd3062065af4b6eb3dc1661b96557dae8 Mon Sep 17 00:00:00 2001 -From: Changqing Li -Date: Wed, 21 Aug 2019 16:37:53 +0800 -Subject: [PATCH] Make iscsid systemd usage optional - -Upstream-Status: Backport[https://github.com/open-iscsi/open-iscsi -/commit/f71581bd641dc26d330cb8b97e5ec272dd08f811] - -Signed-off-by: Changqing Li ---- - Makefile | 5 +++++ - usr/Makefile | 2 ++ - usr/iscsid.c | 6 ++++++ - 3 files changed, 13 insertions(+) - -diff --git a/Makefile b/Makefile -index c533e9d..1ef0921 100644 ---- a/Makefile -+++ b/Makefile -@@ -39,6 +39,11 @@ ifneq (,$(CFLAGS)) - export CFLAGS - endif - -+# export systemd disablement if set -+ifneq ($(NO_SYSTEMD),) -+export NO_SYSTEMD -+endif -+ - # Random comments: - # using '$(MAKE)' instead of just 'make' allows make to run in parallel - # over multiple makefile. -diff --git a/usr/Makefile b/usr/Makefile -index f9445ad..0203127 100644 ---- a/usr/Makefile -+++ b/usr/Makefile -@@ -41,7 +41,9 @@ CFLAGS += $(WARNFLAGS) -I../include -I. -D_GNU_SOURCE \ - CFLAGS += $(shell $(PKG_CONFIG) --cflags libkmod) - ISCSI_LIB = -L$(TOPDIR)/libopeniscsiusr -lopeniscsiusr - LDFLAGS += $(shell $(PKG_CONFIG) --libs libkmod) -+ifneq ($(NO_SYSTEMD),) - LDFLAGS += $(shell $(PKG_CONFIG) --libs libsystemd) -+endif - PROGRAMS = iscsid iscsiadm iscsistart - - # libc compat files -diff --git a/usr/iscsid.c b/usr/iscsid.c -index 0c98440..164325e 100644 ---- a/usr/iscsid.c -+++ b/usr/iscsid.c -@@ -34,7 +34,9 @@ - #include - #include - #include -+#ifndef NO_SYSTEMD - #include -+#endif - - #include "iscsid.h" - #include "mgmt_ipc.h" -@@ -339,6 +341,7 @@ static void missing_iname_warn(char *initiatorname_file) - /* called right before we enter the event loop */ - static void set_state_to_ready(void) - { -+#ifndef NO_SYSTEMD - if (sessions_to_recover) - sd_notify(0, "READY=1\n" - "RELOADING=1\n" -@@ -346,14 +349,17 @@ static void set_state_to_ready(void) - else - sd_notify(0, "READY=1\n" - "STATUS=Ready to process requests\n"); -+#endif - } - - /* called when recovery process has been reaped */ - static void set_state_done_reloading(void) - { -+#ifndef NO_SYSTEMD - sessions_to_recover = 0; - sd_notifyf(0, "READY=1\n" - "STATUS=Ready to process requests\n"); -+#endif - } - - int main(int argc, char *argv[]) --- -2.7.4 - diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Use-pkg-config-in-Makefiles-for-newer-libraries.patch b/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Use-pkg-config-in-Makefiles-for-newer-libraries.patch deleted file mode 100644 index 37b764e854..0000000000 --- a/meta-networking/recipes-daemons/iscsi-initiator-utils/files/0001-Use-pkg-config-in-Makefiles-for-newer-libraries.patch +++ /dev/null @@ -1,92 +0,0 @@ -From e9b49664e969fd5cad1abef7b8b59e1fb8d02a47 Mon Sep 17 00:00:00 2001 -From: Lee Duncan -Date: Mon, 12 Nov 2018 13:10:04 -0800 -Subject: [PATCH] Use pkg-config in Makefiles for newer libraries. - -These two recently-added libraries can be in different -locations on different distros, so use pkg-config to -added the appropriate actions in the make files. - -Upstream-Status: Backport[https://github.com/open-iscsi/open-iscsi/commit/ -623a81123c494f5c69dc6616bd72e838862e2f1f#diff-c4bf6688222ad28c9719cfaf88c16329] - -Signed-off-by: Changqing Li ---- - libopeniscsiusr/Makefile | 8 +++++++- - usr/Makefile | 11 ++++++++--- - 2 files changed, 15 insertions(+), 4 deletions(-) - -diff --git a/libopeniscsiusr/Makefile b/libopeniscsiusr/Makefile -index bf7c96c..a045a45 100644 ---- a/libopeniscsiusr/Makefile -+++ b/libopeniscsiusr/Makefile -@@ -23,6 +23,8 @@ endif - INCLUDE_DIR ?= $(prefix)/include - PKGCONF_DIR ?= $(LIB_DIR)/pkgconfig - -+PKG_CONFIG = /usr/bin/pkg-config -+ - LIBISCSI_USR_DIR=$(TOPDIR)/libopeniscsiusr - - LIBISCSI_USR_VERSION_MAJOR=0 -@@ -43,13 +45,17 @@ 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 += $(shell $(PKG_CONFIG) --cflags libkmod) -+ -+LDFLAGS += $(shell $(PKG_CONFIG) --libs libkmod) - - LIBADD = - - all: $(LIBS) $(LIBS_MAJOR) $(TESTS) doc - - $(LIBS): $(OBJS) -- $(CC) $(CFLAGS) $(LDFLAGS) -shared -Wl,-soname=$@ -o $@ $(OBJS) $(LIBADD) -+ @echo CFLAGS= $(CFLAGS) -+ $(CC) $(CFLAGS) -shared -Wl,-soname=$@ -o $@ $(OBJS) $(LDFLAGS) $(LIBADD) - ln -sf $@ $(DEVLIB) - - $(LIBS_MAJOR): $(LIBS) -diff --git a/usr/Makefile b/usr/Makefile -index f9445ad..f1c35aa 100644 ---- a/usr/Makefile -+++ b/usr/Makefile -@@ -32,11 +32,16 @@ IPC_OBJ=ioctl.o - endif - endif - -+PKG_CONFIG = /usr/bin/pkg-config -+ - CFLAGS ?= -O2 -g - WARNFLAGS ?= -Wall -Wstrict-prototypes - CFLAGS += $(WARNFLAGS) -I../include -I. -D_GNU_SOURCE \ - -I$(TOPDIR)/libopeniscsiusr -+CFLAGS += $(shell $(PKG_CONFIG) --cflags libkmod) - ISCSI_LIB = -L$(TOPDIR)/libopeniscsiusr -lopeniscsiusr -+LDFLAGS += $(shell $(PKG_CONFIG) --libs libkmod) -+LDFLAGS += $(shell $(PKG_CONFIG) --libs libsystemd) - PROGRAMS = iscsid iscsiadm iscsistart - - # libc compat files -@@ -60,14 +65,14 @@ all: $(PROGRAMS) - - iscsid: $(ISCSI_LIB_SRCS) $(INITIATOR_SRCS) $(DISCOVERY_SRCS) \ - iscsid.o session_mgmt.o discoveryd.o mntcheck.o -- $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ -lisns -lcrypto -lrt -lmount $(ISCSI_LIB) -+ $(CC) $(CFLAGS) $^ -o $@ -lisns -lcrypto -lrt -lmount $(LDFLAGS) $(ISCSI_LIB) - - iscsiadm: $(ISCSI_LIB_SRCS) $(DISCOVERY_SRCS) iscsiadm.o session_mgmt.o mntcheck.o -- $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ -lisns -lcrypto -lmount $(ISCSI_LIB) -+ $(CC) $(CFLAGS) $^ -o $@ -lisns -lcrypto -lmount $(LDFLAGS) $(ISCSI_LIB) - - iscsistart: $(ISCSI_LIB_SRCS) $(INITIATOR_SRCS) $(FW_BOOT_SRCS) \ - iscsistart.o statics.o -- $(CC) $(CFLAGS) $(LDFLAGS) $^ -o $@ -lrt $(ISCSI_LIB) -+ $(CC) $(CFLAGS) $^ -o $@ -lrt $(LDFLAGS) $(ISCSI_LIB) - clean: - rm -f *.o $(PROGRAMS) .depend $(LIBSYS) - --- -2.7.4 - diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.877.bb b/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.877.bb deleted file mode 100644 index 3cef70f5e0..0000000000 --- a/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.877.bb +++ /dev/null @@ -1,119 +0,0 @@ -SUMMARY = "iSCSI daemon and utility programs" -DESCRIPTION = "Open-iSCSI project is a high performance, transport \ -independent, multi-platform implementation of RFC3720. The iscsi package \ -provides the server daemon for the iSCSI protocol, as well as the utility \ -programs used to manage it. iSCSI is a protocol for distributed \ -disk access using SCSI commands sent over Internet Protocol networks." -HOMEPAGE = "http://www.open-iscsi.com/" -LICENSE = "GPLv2 & LGPLv2.1" -SECTION = "net" -DEPENDS = "openssl flex-native bison-native open-isns util-linux kmod" - -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -SRCREV ?= "120ac127654c4644d46a74799fffe527ab1f4f42" - -SRC_URI = "git://github.com/open-iscsi/open-iscsi \ - file://0001-Fix-i586-build-issues-with-string-length-overflow.patch \ - file://initd.debian \ - file://99_iscsi-initiator-utils \ - file://iscsi-initiator \ - file://iscsi-initiator.service \ - file://iscsi-initiator-targets.service \ - file://set_initiatorname \ - file://0001-Use-pkg-config-in-Makefiles-for-newer-libraries.patch \ - file://0001-Make-iscsid-systemd-usage-optional.patch \ - " -S = "${WORKDIR}/git" -B = "${WORKDIR}/build" - -PV .= "+git${SRCPV}" - -inherit update-rc.d systemd autotools pkgconfig - -EXTRA_OECONF = " \ - --target=${TARGET_SYS} \ - --host=${BUILD_SYS} \ -" - -EXTRA_OEMAKE = ' \ - OS="${TARGET_SYS}" \ - TARGET="${TARGET_OS}" \ - BASE="${prefix}" \ - MANDIR="${mandir}" \ - OPTFLAGS="-DNO_SYSTEMD ${CFLAGS}" \ - PKG_CONFIG="${STAGING_BINDIR_NATIVE}/pkg-config" \ - NO_SYSTEMD=1 \ -' - -do_configure () { - cd ${S}/iscsiuio ; autoreconf --install; ./configure ${EXTRA_OECONF} -} - -do_compile () { - # Make sure we DO NOT regenerate prom_lex.c. - if [ -f ${S}/utils/fwparam_ibft/prom_lex.l ]; then - mv ${S}/utils/fwparam_ibft/prom_lex.l ${S}/utils/fwparam_ibft/prom_lex.l.unused - fi - oe_runmake -C ${S} ${EXTRA_OEMAKE} user -} - -do_install () { - #install necessary directories - install -d ${D}${sbindir} \ - ${D}${sysconfdir}/init.d \ - ${D}${sysconfdir}/iscsi \ - ${D}${localstatedir}/lib/iscsi/nodes \ - ${D}${localstatedir}/lib/iscsi/send_targets \ - ${D}${localstatedir}/lib/iscsi/static \ - ${D}${localstatedir}/lib/iscsi/isns \ - ${D}${localstatedir}/lib/iscsi/slp \ - ${D}${localstatedir}/lib/iscsi/ifaces \ - ${D}${libdir} \ - ${D}${mandir}/man8 - - install -p -m 755 ${S}/usr/iscsid ${S}/usr/iscsiadm \ - ${S}/utils/iscsi-iname \ - ${S}/usr/iscsistart ${D}/${sbindir} - - cp -dR ${S}/libopeniscsiusr/libopeniscsiusr.so* ${D}${libdir} - install -p -m 644 ${S}/doc/iscsiadm.8 ${S}/doc/iscsid.8 ${D}/${mandir}/man8 - install -p -m 644 ${S}/etc/iscsid.conf ${D}${sysconfdir}/iscsi - install -p -m 755 ${WORKDIR}/initd.debian ${D}${sysconfdir}/init.d/iscsid - - sed -i -e "s:= /sbin/iscsid:= ${sbindir}/iscsid:" ${D}${sysconfdir}/iscsi/iscsid.conf - - if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then - install -d ${D}${sysconfdir}/tmpfiles.d - echo "d /run/${BPN}/lock - - - -" \ - > ${D}${sysconfdir}/tmpfiles.d/iscsi.conf - install -d ${D}/etc/default/ - install -p -m 755 ${WORKDIR}/iscsi-initiator ${D}${sysconfdir}/default/ - - install -d ${D}${systemd_unitdir}/system/ - install -m 0644 ${WORKDIR}/iscsi-initiator.service \ - ${WORKDIR}/iscsi-initiator-targets.service \ - ${D}${systemd_unitdir}/system/ - install -d ${D}${nonarch_libdir}/iscsi - install -m 0755 ${WORKDIR}/set_initiatorname ${D}${nonarch_libdir}/iscsi - else - install -d ${D}/etc/default/volatiles - install -m 0644 ${WORKDIR}/99_iscsi-initiator-utils ${D}/etc/default/volatiles - fi -} - -pkg_postinst_${PN}() { - if [ "x$D" = "x" ]; then - if [ -e /etc/init.d/populate-volatile.sh ]; then - /etc/init.d/populate-volatile.sh update - elif command -v systemd-tmpfiles >/dev/null; then - systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/iscsi.conf - fi - fi -} - -SYSTEMD_SERVICE = " iscsi-initiator.service iscsi-initiator-targets.service " -INITSCRIPT_NAME = "iscsid" -INITSCRIPT_PARAMS = "start 30 1 2 3 4 5 . stop 70 0 1 2 3 4 5 6 ." - -FILES_${PN} += "${nonarch_libdir}/iscsi" diff --git a/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.878.bb b/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.878.bb new file mode 100644 index 0000000000..b75e54b9cc --- /dev/null +++ b/meta-networking/recipes-daemons/iscsi-initiator-utils/iscsi-initiator-utils_2.0.878.bb @@ -0,0 +1,120 @@ +SUMMARY = "iSCSI daemon and utility programs" +DESCRIPTION = "Open-iSCSI project is a high performance, transport \ +independent, multi-platform implementation of RFC3720. The iscsi package \ +provides the server daemon for the iSCSI protocol, as well as the utility \ +programs used to manage it. iSCSI is a protocol for distributed \ +disk access using SCSI commands sent over Internet Protocol networks." +HOMEPAGE = "http://www.open-iscsi.com/" +LICENSE = "GPLv2 & LGPLv2.1" +SECTION = "net" +DEPENDS = "openssl flex-native bison-native open-isns util-linux kmod" +DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" + +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +SRCREV ?= "288add22d6b61cc68ede358faeec9affb15019cd" + +SRC_URI = "git://github.com/open-iscsi/open-iscsi \ + file://initd.debian \ + file://99_iscsi-initiator-utils \ + file://iscsi-initiator \ + file://iscsi-initiator.service \ + file://iscsi-initiator-targets.service \ + file://set_initiatorname \ + " +S = "${WORKDIR}/git" +B = "${WORKDIR}/build" + +PV .= "+git${SRCPV}" + +inherit update-rc.d systemd autotools pkgconfig + +EXTRA_OECONF = " \ + --target=${TARGET_SYS} \ + --host=${BUILD_SYS} \ +" + +EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '', '--without-systemd', d)}" + +EXTRA_OEMAKE = ' \ + OS="${TARGET_SYS}" \ + TARGET="${TARGET_OS}" \ + BASE="${prefix}" \ + MANDIR="${mandir}" \ + OPTFLAGS="-DNO_SYSTEMD ${CFLAGS}" \ + PKG_CONFIG="${STAGING_BINDIR_NATIVE}/pkg-config" \ + NO_SYSTEMD=1 \ +' + + +do_configure () { + cd ${S}/iscsiuio ; autoreconf --install; ./configure ${EXTRA_OECONF} +} + +do_compile () { + # Make sure we DO NOT regenerate prom_lex.c. + if [ -f ${S}/utils/fwparam_ibft/prom_lex.l ]; then + mv ${S}/utils/fwparam_ibft/prom_lex.l ${S}/utils/fwparam_ibft/prom_lex.l.unused + fi + oe_runmake -C ${S} ${EXTRA_OEMAKE} user +} + +do_install () { + #install necessary directories + install -d ${D}${sbindir} \ + ${D}${sysconfdir}/init.d \ + ${D}${sysconfdir}/iscsi \ + ${D}${localstatedir}/lib/iscsi/nodes \ + ${D}${localstatedir}/lib/iscsi/send_targets \ + ${D}${localstatedir}/lib/iscsi/static \ + ${D}${localstatedir}/lib/iscsi/isns \ + ${D}${localstatedir}/lib/iscsi/slp \ + ${D}${localstatedir}/lib/iscsi/ifaces \ + ${D}${libdir} \ + ${D}${mandir}/man8 + + install -p -m 755 ${S}/usr/iscsid ${S}/usr/iscsiadm \ + ${S}/utils/iscsi-iname \ + ${S}/usr/iscsistart ${D}/${sbindir} + + cp -dR ${S}/libopeniscsiusr/libopeniscsiusr.so* ${D}${libdir} + install -p -m 644 ${S}/doc/iscsiadm.8 ${S}/doc/iscsid.8 ${D}/${mandir}/man8 + install -p -m 644 ${S}/etc/iscsid.conf ${D}${sysconfdir}/iscsi + install -p -m 755 ${WORKDIR}/initd.debian ${D}${sysconfdir}/init.d/iscsid + + sed -i -e "s:= /sbin/iscsid:= ${sbindir}/iscsid:" ${D}${sysconfdir}/iscsi/iscsid.conf + + if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then + install -d ${D}${sysconfdir}/tmpfiles.d + echo "d /run/${BPN}/lock - - - -" \ + > ${D}${sysconfdir}/tmpfiles.d/iscsi.conf + install -d ${D}/etc/default/ + install -p -m 755 ${WORKDIR}/iscsi-initiator ${D}${sysconfdir}/default/ + + install -d ${D}${systemd_unitdir}/system/ + install -m 0644 ${WORKDIR}/iscsi-initiator.service \ + ${WORKDIR}/iscsi-initiator-targets.service \ + ${D}${systemd_unitdir}/system/ + install -d ${D}${nonarch_libdir}/iscsi + install -m 0755 ${WORKDIR}/set_initiatorname ${D}${nonarch_libdir}/iscsi + else + install -d ${D}/etc/default/volatiles + install -m 0644 ${WORKDIR}/99_iscsi-initiator-utils ${D}/etc/default/volatiles + fi +} + +pkg_postinst_${PN}() { + if [ "x$D" = "x" ]; then + if [ -e /etc/init.d/populate-volatile.sh ]; then + /etc/init.d/populate-volatile.sh update + elif command -v systemd-tmpfiles >/dev/null; then + systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/iscsi.conf + fi + fi +} + +SYSTEMD_SERVICE = " iscsi-initiator.service iscsi-initiator-targets.service " +INITSCRIPT_NAME = "iscsid" +INITSCRIPT_PARAMS = "start 30 1 2 3 4 5 . stop 70 0 1 2 3 4 5 6 ." + +FILES_${PN} += "${nonarch_libdir}/iscsi" -- cgit 1.2.3-korg