All of lore.kernel.org
 help / color / mirror / Atom feed
* [meta-networking][PATCH] tgt: Migrate recipe from meta-openstack layer
@ 2018-07-07 17:25 Jagadeesh Krishnanjanappa
  2018-07-07 20:54 ` Bruce Ashfield
  2018-07-12 14:14 ` Khem Raj
  0 siblings, 2 replies; 8+ messages in thread
From: Jagadeesh Krishnanjanappa @ 2018-07-07 17:25 UTC (permalink / raw)
  To: openembedded-devel

As iscsitarget cannot be built with Linux kernel >= 4.14, so
migrate Linux SCSI target framework (tgt) recipe from meta-openstack
layer; to allow users to test iSCSI target feature with tgt in
meta-networking layer.

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
---
 ...-path-of-header-files-check-in-Yocto-buil.patch |  47 +++++++++
 .../tgt/files/0001-usr-Makefile-WARNING-fix.patch  |  29 ++++++
 .../recipes-support/tgt/files/tgtd.init            | 116 +++++++++++++++++++++
 ...Makefile-apply-LDFLAGS-to-all-executables.patch |  35 +++++++
 meta-networking/recipes-support/tgt/tgt_git.bb     |  73 +++++++++++++
 5 files changed, 300 insertions(+)
 create mode 100644 meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
 create mode 100644 meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
 create mode 100644 meta-networking/recipes-support/tgt/files/tgtd.init
 create mode 100644 meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
 create mode 100644 meta-networking/recipes-support/tgt/tgt_git.bb

diff --git a/meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch b/meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
new file mode 100644
index 0000000..173ecb6
--- /dev/null
+++ b/meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
@@ -0,0 +1,47 @@
+From 93fea40915d01be6d02587a0b8be85a642e6a8d5 Mon Sep 17 00:00:00 2001
+From: Zhenhua Luo <zhenhua.luo@freescale.com>
+Date: Thu, 10 Apr 2014 11:26:39 +0800
+Subject: [PATCH] Correct the path of header files check in Yocto build env
+
+Upstream-Status: Inappropriate [the fix is specific to Yocto build env]
+
+Current Makefile will check headers on host instead of Yocto sysroot, following
+error appears. Change the path of header check.
+| bs_aio.c:34:20: fatal error: libaio.h: No such file or directory
+| #include <libaio.h>
+|                     ^
+| compilation terminated.
+
+Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
+
+---
+ usr/Makefile | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/usr/Makefile b/usr/Makefile
+index decf13c..9ff8f15 100644
+--- a/usr/Makefile
++++ b/usr/Makefile
+@@ -1,11 +1,11 @@
+ sbindir ?= $(PREFIX)/sbin
+ libdir ?= $(PREFIX)/lib/tgt
+ 
+-ifneq ($(shell test -e /usr/include/linux/signalfd.h && echo 1),)
++ifneq ($(shell test -e $(SYSROOT)/usr/include/linux/signalfd.h && echo 1),)
+ CFLAGS += -DUSE_SIGNALFD
+ endif
+ 
+-ifneq ($(shell test -n $(shell find /usr/include -name "timerfd.h" | head -n1) && echo 1),)
++ifneq ($(shell test -n $(shell find $(SYSROOT)/usr/include -name "timerfd.h" | head -n1) && echo 1),)
+ CFLAGS += -DUSE_TIMERFD
+ endif
+ 
+@@ -25,7 +25,7 @@ ifneq ($(SD_NOTIFY),)
+ CFLAGS += -DUSE_SYSTEMD
+ endif
+ 
+-ifneq ($(shell test -e /usr/include/sys/eventfd.h && test -e /usr/include/libaio.h && echo 1),)
++ifneq ($(shell test -e $(SYSROOT)/usr/include/sys/eventfd.h && test -e $(SYSROOT)/usr/include/libaio.h && echo 1),)
+ CFLAGS += -DUSE_EVENTFD
+ TGTD_OBJS += bs_aio.o
+ LIBS += -laio
diff --git a/meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch b/meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
new file mode 100644
index 0000000..078ba9e
--- /dev/null
+++ b/meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
@@ -0,0 +1,29 @@
+From 6f4e3b11c7dccf83e2d18635c84837b212dfcc1c Mon Sep 17 00:00:00 2001
+From: Li xin <lixin.fnst@cn.fujitsu.com>
+Date: Sun, 26 Jul 2015 04:23:51 +0900
+Subject: [PATCH] usr/Makefile: WARNING fix WARNING: QA Issue: tgt:
+ /work/i586-oe-linux/tgt/1.0.60+gitAUTOINC+ab51727a36-r0/
+ packages-split/tgt/usr/sbin/tgtd contains probably-redundant RPATH /usr/lib
+ [useless-rpaths]
+
+Upstream-Status: pending
+
+Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
+
+---
+ usr/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/usr/Makefile b/usr/Makefile
+index 9ff8f15..cc8df11 100644
+--- a/usr/Makefile
++++ b/usr/Makefile
+@@ -63,7 +63,7 @@ TGTD_OBJS += tgtd.o mgmt.o target.o scsi.o log.o driver.o util.o work.o \
+ 
+ TGTD_DEP = $(TGTD_OBJS:.o=.d)
+ 
+-LDFLAGS = -Wl,-E,-rpath=$(libdir)
++LDFLAGS += -Wl,-E
+ 
+ .PHONY:all
+ all: $(PROGRAMS) $(MODULES)
diff --git a/meta-networking/recipes-support/tgt/files/tgtd.init b/meta-networking/recipes-support/tgt/files/tgtd.init
new file mode 100644
index 0000000..4b0ce94
--- /dev/null
+++ b/meta-networking/recipes-support/tgt/files/tgtd.init
@@ -0,0 +1,116 @@
+#!/bin/sh
+
+### BEGIN INIT INFO
+# Provides: tgtd
+# Required-Start: $remote_fs $network $syslog
+# Required-Stop: $remote_fs $syslog
+# Default-Start:     3 5
+# Default-Stop:      0 1 2 6
+# Short-Description: SCSI target daemon
+# Description: Linux SCSI target framework (tgt)
+### END INIT INFO
+
+DESC="tgtd"
+DAEMON="/usr/sbin/tgtd"
+TGTD_CONFIG=/etc/tgt/targets.conf
+
+start ()
+{
+    echo -n "Starting $DESC..."
+
+    # Ensure service isn't running
+    tgt-admin -s >/dev/null 2>&1
+    RETVAL=$?
+    if [ "$RETVAL" -ne 107 ] ; then
+        echo "$DESC is already running."
+        exit 1
+    fi
+
+    # Start tgtd first
+    $DAEMON &>/dev/null
+    RETVAL=$?
+    if [ "$RETVAL" -ne 0 ]; then
+        echo "failed."
+        exit 1
+    fi
+
+    # Put tgtd into "offline" state until all the targets are configured.
+    # We don't want initiators to (re)connect and fail the connection
+    # if it's not ready.
+    tgtadm --op update --mode sys --name State -v offline
+    # Configure the targets.
+    tgt-admin -f -e -c $TGTD_CONFIG
+    # Put tgtd into "ready" state.
+    tgtadm --op update --mode sys --name State -v ready
+
+    echo "done."
+}
+
+stop ()
+{
+    echo -n "Stopping $DESC..."
+
+    # Remove all targets. It only removes targets which are not in use.
+    tgt-admin --update ALL -c /dev/null &>/dev/null
+    # tgtd will exit if all targets were removed
+    tgtadm --op delete --mode system &>/dev/null
+    RETVAL=$?
+    if [ "$RETVAL" -eq 107 ] ; then
+        if [ "$TASK" != "restart" ] ; then
+            return 1
+        fi
+    elif [ "$RETVAL" -ne 0 ] ; then
+        echo "Some initiators are still connected - could not stop tgtd"
+        return 2
+    fi
+    echo -n
+}
+
+reload()
+{
+        echo "Reloading configuration of $DESC" "$NAME"
+        # Update configuration for targets. Only targets which
+        # are not in use will be updated.
+        tgt-admin --update ALL -c $TGTD_CONFIG &>/dev/null
+        RETVAL=$?
+        if [ "$RETVAL" -eq 107 ] ; then
+                echo "tgtd is not running"
+                exit 1
+        fi
+}
+
+status()
+{
+        tgt-admin -s >/dev/null 2>&1
+	RETVAL=$?
+        if [ "$RETVAL" -eq 107 ] ; then
+                echo "tgtd is not running"
+        else
+                echo "tgtd is running"
+        fi
+}
+
+case "$1" in
+    start)
+        start
+        ;;
+    stop)
+        stop
+        ;;
+    restart|force-reload)
+        stop
+        start
+        ;;
+    reload)
+        reload
+        ;;
+    status)
+        status
+        ;;
+    *)
+        echo "Usage: $0 {start|stop|force-reload|restart|status|reload}"
+        exit 1
+        ;;
+esac
+
+exit 0
diff --git a/meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch b/meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
new file mode 100644
index 0000000..d480ef7
--- /dev/null
+++ b/meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
@@ -0,0 +1,35 @@
+From a815ac8ee16b344d9e24b445957f32bf2aafa532 Mon Sep 17 00:00:00 2001
+From: Mark Asselstine <mark.asselstine@windriver.com>
+Date: Thu, 5 Jan 2017 11:07:51 -0500
+Subject: [PATCH] usr/Makefile: apply LDFLAGS to all executables
+
+Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
+---
+ usr/Makefile | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/usr/Makefile b/usr/Makefile
+index cc8df11..c55fd68 100644
+--- a/usr/Makefile
++++ b/usr/Makefile
+@@ -78,7 +78,7 @@ TGTADM_OBJS = tgtadm.o concat_buf.o
+ TGTADM_DEP = $(TGTADM_OBJS:.o=.d)
+ 
+ tgtadm: $(TGTADM_OBJS)
+-	$(CC) $^ -o $@
++	$(CC) $^ -o $@ $(LDFLAGS)
+ 
+ -include $(TGTADM_DEP)
+ 
+@@ -86,7 +86,7 @@ TGTIMG_OBJS = tgtimg.o libssc.o libcrc32c.o
+ TGTIMG_DEP = $(TGTIMG_OBJS:.o=.d)
+ 
+ tgtimg: $(TGTIMG_OBJS)
+-	$(CC) $^ -o $@
++	$(CC) $^ -o $@ $(LDFLAGS)
+ 
+ -include $(TGTIMG_DEP)
+ 
+-- 
+2.7.4
+
diff --git a/meta-networking/recipes-support/tgt/tgt_git.bb b/meta-networking/recipes-support/tgt/tgt_git.bb
new file mode 100644
index 0000000..9ca181a
--- /dev/null
+++ b/meta-networking/recipes-support/tgt/tgt_git.bb
@@ -0,0 +1,73 @@
+DESCRIPTION = "Linux SCSI target framework (tgt)"
+HOMEPAGE = "http://stgt.sourceforge.net"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://scripts/tgtd.spec;beginline=7;endline=7;md5=21c19ea7dad04648b9c2f791b6e29b4c"
+DEPENDS = "sg3-utils"
+
+SRCREV = "cb7971cfeecaa43c15eed4719dc82516d7e87b6c"
+PV = "1.0.67+git${SRCPV}"
+
+SRC_URI = "git://github.com/fujita/tgt.git \
+	file://0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch \
+        file://0001-usr-Makefile-WARNING-fix.patch \
+        file://usr-Makefile-apply-LDFLAGS-to-all-executables.patch \
+"
+SRC_URI += "file://tgtd.init"
+
+S = "${WORKDIR}/git"
+
+CONFFILES_${PN} += "${sysconfdir}/tgt/targets.conf"
+
+inherit update-rc.d
+
+CFLAGS += ' -I. -DUSE_SIGNALFD -DUSE_TIMERFD -D_GNU_SOURCE -DTGT_VERSION=\\"1.0.63\\" -DBSDIR=\\"${libdir}/backing-store\\"'
+
+#do_compile() {
+#    oe_runmake SYSROOT="${STAGING_DIR_TARGET}" -e programs conf scripts
+#}
+EXTRA_OEMAKE = "-e programs conf scripts"
+
+do_install() {
+    oe_runmake -e DESTDIR="${D}" install-programs install-conf install-scripts
+
+    if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
+        install -d ${D}${sysconfdir}/init.d
+        install -m 0755 ${WORKDIR}/tgtd.init ${D}${sysconfdir}/init.d/tgtd
+    fi
+}
+
+RDEPENDS_${PN} = " \
+    bash \
+    libaio \
+    libconfig-general-perl \
+    perl-module-english \
+    perl-module-tie-hash-namedcapture \
+    perl-module-xsloader \
+    perl-module-carp \
+    perl-module-exporter \
+    perl-module-errno \
+    perl-module-exporter-heavy \
+    perl-module-symbol \
+    perl-module-selectsaver \
+    perl-module-dynaloader \
+    perl-module-carp-heavy \
+    perl-module-filehandle \
+    perl-module-feature \
+    perl-module-overload \
+    perl-module-fcntl \
+    perl-module-io \
+    perl-module-io-file \
+    perl-module-io-handle \
+    perl-module-io-seekable \
+    perl-module-file-glob \
+    perl-module-base \
+    perl-module-encoding-warnings \
+    perl-module-file-spec-unix \
+    perl-module-file-spec \
+    perl-module-file-spec-functions \
+    perl-module-getopt-long \
+    perl-module-constant \
+    "
+INITSCRIPT_PACKAGES = "${PN}"
+INITSCRIPT_NAME_${PN} = "tgtd"
+
-- 
2.7.4



^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [meta-networking][PATCH] tgt: Migrate recipe from meta-openstack layer
  2018-07-07 17:25 [meta-networking][PATCH] tgt: Migrate recipe from meta-openstack layer Jagadeesh Krishnanjanappa
@ 2018-07-07 20:54 ` Bruce Ashfield
  2018-07-07 21:01   ` Bruce Ashfield
  2018-07-12 14:14 ` Khem Raj
  1 sibling, 1 reply; 8+ messages in thread
From: Bruce Ashfield @ 2018-07-07 20:54 UTC (permalink / raw)
  To: Jagadeesh Krishnanjanappa; +Cc: openembedded-devel

On Sat, Jul 7, 2018 at 1:25 PM, Jagadeesh Krishnanjanappa
<jkrishnanjanappa@mvista.com> wrote:
> As iscsitarget cannot be built with Linux kernel >= 4.14, so
> migrate Linux SCSI target framework (tgt) recipe from meta-openstack
> layer; to allow users to test iSCSI target feature with tgt in
> meta-networking layer.

What error is including the meta-openstack layer causing ? i.e. is
there an issue of
non-compliance that should be fixed ?

We have specific version requirements with openstack, so we'll keep the original
recipe in place in meta-openstack, so you might want to change the short log of
your patch to "copy recipe from meta-openstack".

Cheers,

Bruce

>
> Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
> ---
>  ...-path-of-header-files-check-in-Yocto-buil.patch |  47 +++++++++
>  .../tgt/files/0001-usr-Makefile-WARNING-fix.patch  |  29 ++++++
>  .../recipes-support/tgt/files/tgtd.init            | 116 +++++++++++++++++++++
>  ...Makefile-apply-LDFLAGS-to-all-executables.patch |  35 +++++++
>  meta-networking/recipes-support/tgt/tgt_git.bb     |  73 +++++++++++++
>  5 files changed, 300 insertions(+)
>  create mode 100644 meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
>  create mode 100644 meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
>  create mode 100644 meta-networking/recipes-support/tgt/files/tgtd.init
>  create mode 100644 meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
>  create mode 100644 meta-networking/recipes-support/tgt/tgt_git.bb
>
> diff --git a/meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch b/meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
> new file mode 100644
> index 0000000..173ecb6
> --- /dev/null
> +++ b/meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
> @@ -0,0 +1,47 @@
> +From 93fea40915d01be6d02587a0b8be85a642e6a8d5 Mon Sep 17 00:00:00 2001
> +From: Zhenhua Luo <zhenhua.luo@freescale.com>
> +Date: Thu, 10 Apr 2014 11:26:39 +0800
> +Subject: [PATCH] Correct the path of header files check in Yocto build env
> +
> +Upstream-Status: Inappropriate [the fix is specific to Yocto build env]
> +
> +Current Makefile will check headers on host instead of Yocto sysroot, following
> +error appears. Change the path of header check.
> +| bs_aio.c:34:20: fatal error: libaio.h: No such file or directory
> +| #include <libaio.h>
> +|                     ^
> +| compilation terminated.
> +
> +Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
> +
> +---
> + usr/Makefile | 6 +++---
> + 1 file changed, 3 insertions(+), 3 deletions(-)
> +
> +diff --git a/usr/Makefile b/usr/Makefile
> +index decf13c..9ff8f15 100644
> +--- a/usr/Makefile
> ++++ b/usr/Makefile
> +@@ -1,11 +1,11 @@
> + sbindir ?= $(PREFIX)/sbin
> + libdir ?= $(PREFIX)/lib/tgt
> +
> +-ifneq ($(shell test -e /usr/include/linux/signalfd.h && echo 1),)
> ++ifneq ($(shell test -e $(SYSROOT)/usr/include/linux/signalfd.h && echo 1),)
> + CFLAGS += -DUSE_SIGNALFD
> + endif
> +
> +-ifneq ($(shell test -n $(shell find /usr/include -name "timerfd.h" | head -n1) && echo 1),)
> ++ifneq ($(shell test -n $(shell find $(SYSROOT)/usr/include -name "timerfd.h" | head -n1) && echo 1),)
> + CFLAGS += -DUSE_TIMERFD
> + endif
> +
> +@@ -25,7 +25,7 @@ ifneq ($(SD_NOTIFY),)
> + CFLAGS += -DUSE_SYSTEMD
> + endif
> +
> +-ifneq ($(shell test -e /usr/include/sys/eventfd.h && test -e /usr/include/libaio.h && echo 1),)
> ++ifneq ($(shell test -e $(SYSROOT)/usr/include/sys/eventfd.h && test -e $(SYSROOT)/usr/include/libaio.h && echo 1),)
> + CFLAGS += -DUSE_EVENTFD
> + TGTD_OBJS += bs_aio.o
> + LIBS += -laio
> diff --git a/meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch b/meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
> new file mode 100644
> index 0000000..078ba9e
> --- /dev/null
> +++ b/meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
> @@ -0,0 +1,29 @@
> +From 6f4e3b11c7dccf83e2d18635c84837b212dfcc1c Mon Sep 17 00:00:00 2001
> +From: Li xin <lixin.fnst@cn.fujitsu.com>
> +Date: Sun, 26 Jul 2015 04:23:51 +0900
> +Subject: [PATCH] usr/Makefile: WARNING fix WARNING: QA Issue: tgt:
> + /work/i586-oe-linux/tgt/1.0.60+gitAUTOINC+ab51727a36-r0/
> + packages-split/tgt/usr/sbin/tgtd contains probably-redundant RPATH /usr/lib
> + [useless-rpaths]
> +
> +Upstream-Status: pending
> +
> +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
> +
> +---
> + usr/Makefile | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/usr/Makefile b/usr/Makefile
> +index 9ff8f15..cc8df11 100644
> +--- a/usr/Makefile
> ++++ b/usr/Makefile
> +@@ -63,7 +63,7 @@ TGTD_OBJS += tgtd.o mgmt.o target.o scsi.o log.o driver.o util.o work.o \
> +
> + TGTD_DEP = $(TGTD_OBJS:.o=.d)
> +
> +-LDFLAGS = -Wl,-E,-rpath=$(libdir)
> ++LDFLAGS += -Wl,-E
> +
> + .PHONY:all
> + all: $(PROGRAMS) $(MODULES)
> diff --git a/meta-networking/recipes-support/tgt/files/tgtd.init b/meta-networking/recipes-support/tgt/files/tgtd.init
> new file mode 100644
> index 0000000..4b0ce94
> --- /dev/null
> +++ b/meta-networking/recipes-support/tgt/files/tgtd.init
> @@ -0,0 +1,116 @@
> +#!/bin/sh
> +
> +### BEGIN INIT INFO
> +# Provides: tgtd
> +# Required-Start: $remote_fs $network $syslog
> +# Required-Stop: $remote_fs $syslog
> +# Default-Start:     3 5
> +# Default-Stop:      0 1 2 6
> +# Short-Description: SCSI target daemon
> +# Description: Linux SCSI target framework (tgt)
> +### END INIT INFO
> +
> +DESC="tgtd"
> +DAEMON="/usr/sbin/tgtd"
> +TGTD_CONFIG=/etc/tgt/targets.conf
> +
> +start ()
> +{
> +    echo -n "Starting $DESC..."
> +
> +    # Ensure service isn't running
> +    tgt-admin -s >/dev/null 2>&1
> +    RETVAL=$?
> +    if [ "$RETVAL" -ne 107 ] ; then
> +        echo "$DESC is already running."
> +        exit 1
> +    fi
> +
> +    # Start tgtd first
> +    $DAEMON &>/dev/null
> +    RETVAL=$?
> +    if [ "$RETVAL" -ne 0 ]; then
> +        echo "failed."
> +        exit 1
> +    fi
> +
> +    # Put tgtd into "offline" state until all the targets are configured.
> +    # We don't want initiators to (re)connect and fail the connection
> +    # if it's not ready.
> +    tgtadm --op update --mode sys --name State -v offline
> +    # Configure the targets.
> +    tgt-admin -f -e -c $TGTD_CONFIG
> +    # Put tgtd into "ready" state.
> +    tgtadm --op update --mode sys --name State -v ready
> +
> +    echo "done."
> +}
> +
> +stop ()
> +{
> +    echo -n "Stopping $DESC..."
> +
> +    # Remove all targets. It only removes targets which are not in use.
> +    tgt-admin --update ALL -c /dev/null &>/dev/null
> +    # tgtd will exit if all targets were removed
> +    tgtadm --op delete --mode system &>/dev/null
> +    RETVAL=$?
> +    if [ "$RETVAL" -eq 107 ] ; then
> +        if [ "$TASK" != "restart" ] ; then
> +            return 1
> +        fi
> +    elif [ "$RETVAL" -ne 0 ] ; then
> +        echo "Some initiators are still connected - could not stop tgtd"
> +        return 2
> +    fi
> +    echo -n
> +}
> +
> +reload()
> +{
> +        echo "Reloading configuration of $DESC" "$NAME"
> +        # Update configuration for targets. Only targets which
> +        # are not in use will be updated.
> +        tgt-admin --update ALL -c $TGTD_CONFIG &>/dev/null
> +        RETVAL=$?
> +        if [ "$RETVAL" -eq 107 ] ; then
> +                echo "tgtd is not running"
> +                exit 1
> +        fi
> +}
> +
> +status()
> +{
> +        tgt-admin -s >/dev/null 2>&1
> +       RETVAL=$?
> +        if [ "$RETVAL" -eq 107 ] ; then
> +                echo "tgtd is not running"
> +        else
> +                echo "tgtd is running"
> +        fi
> +}
> +
> +case "$1" in
> +    start)
> +        start
> +        ;;
> +    stop)
> +        stop
> +        ;;
> +    restart|force-reload)
> +        stop
> +        start
> +        ;;
> +    reload)
> +        reload
> +        ;;
> +    status)
> +        status
> +        ;;
> +    *)
> +        echo "Usage: $0 {start|stop|force-reload|restart|status|reload}"
> +        exit 1
> +        ;;
> +esac
> +
> +exit 0
> diff --git a/meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch b/meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
> new file mode 100644
> index 0000000..d480ef7
> --- /dev/null
> +++ b/meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
> @@ -0,0 +1,35 @@
> +From a815ac8ee16b344d9e24b445957f32bf2aafa532 Mon Sep 17 00:00:00 2001
> +From: Mark Asselstine <mark.asselstine@windriver.com>
> +Date: Thu, 5 Jan 2017 11:07:51 -0500
> +Subject: [PATCH] usr/Makefile: apply LDFLAGS to all executables
> +
> +Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
> +---
> + usr/Makefile | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/usr/Makefile b/usr/Makefile
> +index cc8df11..c55fd68 100644
> +--- a/usr/Makefile
> ++++ b/usr/Makefile
> +@@ -78,7 +78,7 @@ TGTADM_OBJS = tgtadm.o concat_buf.o
> + TGTADM_DEP = $(TGTADM_OBJS:.o=.d)
> +
> + tgtadm: $(TGTADM_OBJS)
> +-      $(CC) $^ -o $@
> ++      $(CC) $^ -o $@ $(LDFLAGS)
> +
> + -include $(TGTADM_DEP)
> +
> +@@ -86,7 +86,7 @@ TGTIMG_OBJS = tgtimg.o libssc.o libcrc32c.o
> + TGTIMG_DEP = $(TGTIMG_OBJS:.o=.d)
> +
> + tgtimg: $(TGTIMG_OBJS)
> +-      $(CC) $^ -o $@
> ++      $(CC) $^ -o $@ $(LDFLAGS)
> +
> + -include $(TGTIMG_DEP)
> +
> +--
> +2.7.4
> +
> diff --git a/meta-networking/recipes-support/tgt/tgt_git.bb b/meta-networking/recipes-support/tgt/tgt_git.bb
> new file mode 100644
> index 0000000..9ca181a
> --- /dev/null
> +++ b/meta-networking/recipes-support/tgt/tgt_git.bb
> @@ -0,0 +1,73 @@
> +DESCRIPTION = "Linux SCSI target framework (tgt)"
> +HOMEPAGE = "http://stgt.sourceforge.net"
> +LICENSE = "GPLv2"
> +LIC_FILES_CHKSUM = "file://scripts/tgtd.spec;beginline=7;endline=7;md5=21c19ea7dad04648b9c2f791b6e29b4c"
> +DEPENDS = "sg3-utils"
> +
> +SRCREV = "cb7971cfeecaa43c15eed4719dc82516d7e87b6c"
> +PV = "1.0.67+git${SRCPV}"
> +
> +SRC_URI = "git://github.com/fujita/tgt.git \
> +       file://0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch \
> +        file://0001-usr-Makefile-WARNING-fix.patch \
> +        file://usr-Makefile-apply-LDFLAGS-to-all-executables.patch \
> +"
> +SRC_URI += "file://tgtd.init"
> +
> +S = "${WORKDIR}/git"
> +
> +CONFFILES_${PN} += "${sysconfdir}/tgt/targets.conf"
> +
> +inherit update-rc.d
> +
> +CFLAGS += ' -I. -DUSE_SIGNALFD -DUSE_TIMERFD -D_GNU_SOURCE -DTGT_VERSION=\\"1.0.63\\" -DBSDIR=\\"${libdir}/backing-store\\"'
> +
> +#do_compile() {
> +#    oe_runmake SYSROOT="${STAGING_DIR_TARGET}" -e programs conf scripts
> +#}
> +EXTRA_OEMAKE = "-e programs conf scripts"
> +
> +do_install() {
> +    oe_runmake -e DESTDIR="${D}" install-programs install-conf install-scripts
> +
> +    if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
> +        install -d ${D}${sysconfdir}/init.d
> +        install -m 0755 ${WORKDIR}/tgtd.init ${D}${sysconfdir}/init.d/tgtd
> +    fi
> +}
> +
> +RDEPENDS_${PN} = " \
> +    bash \
> +    libaio \
> +    libconfig-general-perl \
> +    perl-module-english \
> +    perl-module-tie-hash-namedcapture \
> +    perl-module-xsloader \
> +    perl-module-carp \
> +    perl-module-exporter \
> +    perl-module-errno \
> +    perl-module-exporter-heavy \
> +    perl-module-symbol \
> +    perl-module-selectsaver \
> +    perl-module-dynaloader \
> +    perl-module-carp-heavy \
> +    perl-module-filehandle \
> +    perl-module-feature \
> +    perl-module-overload \
> +    perl-module-fcntl \
> +    perl-module-io \
> +    perl-module-io-file \
> +    perl-module-io-handle \
> +    perl-module-io-seekable \
> +    perl-module-file-glob \
> +    perl-module-base \
> +    perl-module-encoding-warnings \
> +    perl-module-file-spec-unix \
> +    perl-module-file-spec \
> +    perl-module-file-spec-functions \
> +    perl-module-getopt-long \
> +    perl-module-constant \
> +    "
> +INITSCRIPT_PACKAGES = "${PN}"
> +INITSCRIPT_NAME_${PN} = "tgtd"
> +
> --
> 2.7.4
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [meta-networking][PATCH] tgt: Migrate recipe from meta-openstack layer
  2018-07-07 20:54 ` Bruce Ashfield
@ 2018-07-07 21:01   ` Bruce Ashfield
  2018-07-08  5:48     ` Jagadeesh Krishnanjanappa
  0 siblings, 1 reply; 8+ messages in thread
From: Bruce Ashfield @ 2018-07-07 21:01 UTC (permalink / raw)
  To: Jagadeesh Krishnanjanappa; +Cc: openembedded-devel

On Sat, Jul 7, 2018 at 4:54 PM, Bruce Ashfield <bruce.ashfield@gmail.com> wrote:
> On Sat, Jul 7, 2018 at 1:25 PM, Jagadeesh Krishnanjanappa
> <jkrishnanjanappa@mvista.com> wrote:
>> As iscsitarget cannot be built with Linux kernel >= 4.14, so
>> migrate Linux SCSI target framework (tgt) recipe from meta-openstack
>> layer; to allow users to test iSCSI target feature with tgt in
>> meta-networking layer.
>
> What error is including the meta-openstack layer causing ? i.e. is
> there an issue of
> non-compliance that should be fixed ?

never mind. I see it wasn't that the openstack layer was causing a problem,
just that you were asked about doing the copy.

I'll have to run meta-openstack through compliance anyway, I was just
hoping there were existing hints on breakage.

Cheers,

Bruce

>
> We have specific version requirements with openstack, so we'll keep the original
> recipe in place in meta-openstack, so you might want to change the short log of
> your patch to "copy recipe from meta-openstack".
>
> Cheers,
>
> Bruce
>
>>
>> Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
>> ---
>>  ...-path-of-header-files-check-in-Yocto-buil.patch |  47 +++++++++
>>  .../tgt/files/0001-usr-Makefile-WARNING-fix.patch  |  29 ++++++
>>  .../recipes-support/tgt/files/tgtd.init            | 116 +++++++++++++++++++++
>>  ...Makefile-apply-LDFLAGS-to-all-executables.patch |  35 +++++++
>>  meta-networking/recipes-support/tgt/tgt_git.bb     |  73 +++++++++++++
>>  5 files changed, 300 insertions(+)
>>  create mode 100644 meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
>>  create mode 100644 meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
>>  create mode 100644 meta-networking/recipes-support/tgt/files/tgtd.init
>>  create mode 100644 meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
>>  create mode 100644 meta-networking/recipes-support/tgt/tgt_git.bb
>>
>> diff --git a/meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch b/meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
>> new file mode 100644
>> index 0000000..173ecb6
>> --- /dev/null
>> +++ b/meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
>> @@ -0,0 +1,47 @@
>> +From 93fea40915d01be6d02587a0b8be85a642e6a8d5 Mon Sep 17 00:00:00 2001
>> +From: Zhenhua Luo <zhenhua.luo@freescale.com>
>> +Date: Thu, 10 Apr 2014 11:26:39 +0800
>> +Subject: [PATCH] Correct the path of header files check in Yocto build env
>> +
>> +Upstream-Status: Inappropriate [the fix is specific to Yocto build env]
>> +
>> +Current Makefile will check headers on host instead of Yocto sysroot, following
>> +error appears. Change the path of header check.
>> +| bs_aio.c:34:20: fatal error: libaio.h: No such file or directory
>> +| #include <libaio.h>
>> +|                     ^
>> +| compilation terminated.
>> +
>> +Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
>> +
>> +---
>> + usr/Makefile | 6 +++---
>> + 1 file changed, 3 insertions(+), 3 deletions(-)
>> +
>> +diff --git a/usr/Makefile b/usr/Makefile
>> +index decf13c..9ff8f15 100644
>> +--- a/usr/Makefile
>> ++++ b/usr/Makefile
>> +@@ -1,11 +1,11 @@
>> + sbindir ?= $(PREFIX)/sbin
>> + libdir ?= $(PREFIX)/lib/tgt
>> +
>> +-ifneq ($(shell test -e /usr/include/linux/signalfd.h && echo 1),)
>> ++ifneq ($(shell test -e $(SYSROOT)/usr/include/linux/signalfd.h && echo 1),)
>> + CFLAGS += -DUSE_SIGNALFD
>> + endif
>> +
>> +-ifneq ($(shell test -n $(shell find /usr/include -name "timerfd.h" | head -n1) && echo 1),)
>> ++ifneq ($(shell test -n $(shell find $(SYSROOT)/usr/include -name "timerfd.h" | head -n1) && echo 1),)
>> + CFLAGS += -DUSE_TIMERFD
>> + endif
>> +
>> +@@ -25,7 +25,7 @@ ifneq ($(SD_NOTIFY),)
>> + CFLAGS += -DUSE_SYSTEMD
>> + endif
>> +
>> +-ifneq ($(shell test -e /usr/include/sys/eventfd.h && test -e /usr/include/libaio.h && echo 1),)
>> ++ifneq ($(shell test -e $(SYSROOT)/usr/include/sys/eventfd.h && test -e $(SYSROOT)/usr/include/libaio.h && echo 1),)
>> + CFLAGS += -DUSE_EVENTFD
>> + TGTD_OBJS += bs_aio.o
>> + LIBS += -laio
>> diff --git a/meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch b/meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
>> new file mode 100644
>> index 0000000..078ba9e
>> --- /dev/null
>> +++ b/meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
>> @@ -0,0 +1,29 @@
>> +From 6f4e3b11c7dccf83e2d18635c84837b212dfcc1c Mon Sep 17 00:00:00 2001
>> +From: Li xin <lixin.fnst@cn.fujitsu.com>
>> +Date: Sun, 26 Jul 2015 04:23:51 +0900
>> +Subject: [PATCH] usr/Makefile: WARNING fix WARNING: QA Issue: tgt:
>> + /work/i586-oe-linux/tgt/1.0.60+gitAUTOINC+ab51727a36-r0/
>> + packages-split/tgt/usr/sbin/tgtd contains probably-redundant RPATH /usr/lib
>> + [useless-rpaths]
>> +
>> +Upstream-Status: pending
>> +
>> +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
>> +
>> +---
>> + usr/Makefile | 2 +-
>> + 1 file changed, 1 insertion(+), 1 deletion(-)
>> +
>> +diff --git a/usr/Makefile b/usr/Makefile
>> +index 9ff8f15..cc8df11 100644
>> +--- a/usr/Makefile
>> ++++ b/usr/Makefile
>> +@@ -63,7 +63,7 @@ TGTD_OBJS += tgtd.o mgmt.o target.o scsi.o log.o driver.o util.o work.o \
>> +
>> + TGTD_DEP = $(TGTD_OBJS:.o=.d)
>> +
>> +-LDFLAGS = -Wl,-E,-rpath=$(libdir)
>> ++LDFLAGS += -Wl,-E
>> +
>> + .PHONY:all
>> + all: $(PROGRAMS) $(MODULES)
>> diff --git a/meta-networking/recipes-support/tgt/files/tgtd.init b/meta-networking/recipes-support/tgt/files/tgtd.init
>> new file mode 100644
>> index 0000000..4b0ce94
>> --- /dev/null
>> +++ b/meta-networking/recipes-support/tgt/files/tgtd.init
>> @@ -0,0 +1,116 @@
>> +#!/bin/sh
>> +
>> +### BEGIN INIT INFO
>> +# Provides: tgtd
>> +# Required-Start: $remote_fs $network $syslog
>> +# Required-Stop: $remote_fs $syslog
>> +# Default-Start:     3 5
>> +# Default-Stop:      0 1 2 6
>> +# Short-Description: SCSI target daemon
>> +# Description: Linux SCSI target framework (tgt)
>> +### END INIT INFO
>> +
>> +DESC="tgtd"
>> +DAEMON="/usr/sbin/tgtd"
>> +TGTD_CONFIG=/etc/tgt/targets.conf
>> +
>> +start ()
>> +{
>> +    echo -n "Starting $DESC..."
>> +
>> +    # Ensure service isn't running
>> +    tgt-admin -s >/dev/null 2>&1
>> +    RETVAL=$?
>> +    if [ "$RETVAL" -ne 107 ] ; then
>> +        echo "$DESC is already running."
>> +        exit 1
>> +    fi
>> +
>> +    # Start tgtd first
>> +    $DAEMON &>/dev/null
>> +    RETVAL=$?
>> +    if [ "$RETVAL" -ne 0 ]; then
>> +        echo "failed."
>> +        exit 1
>> +    fi
>> +
>> +    # Put tgtd into "offline" state until all the targets are configured.
>> +    # We don't want initiators to (re)connect and fail the connection
>> +    # if it's not ready.
>> +    tgtadm --op update --mode sys --name State -v offline
>> +    # Configure the targets.
>> +    tgt-admin -f -e -c $TGTD_CONFIG
>> +    # Put tgtd into "ready" state.
>> +    tgtadm --op update --mode sys --name State -v ready
>> +
>> +    echo "done."
>> +}
>> +
>> +stop ()
>> +{
>> +    echo -n "Stopping $DESC..."
>> +
>> +    # Remove all targets. It only removes targets which are not in use.
>> +    tgt-admin --update ALL -c /dev/null &>/dev/null
>> +    # tgtd will exit if all targets were removed
>> +    tgtadm --op delete --mode system &>/dev/null
>> +    RETVAL=$?
>> +    if [ "$RETVAL" -eq 107 ] ; then
>> +        if [ "$TASK" != "restart" ] ; then
>> +            return 1
>> +        fi
>> +    elif [ "$RETVAL" -ne 0 ] ; then
>> +        echo "Some initiators are still connected - could not stop tgtd"
>> +        return 2
>> +    fi
>> +    echo -n
>> +}
>> +
>> +reload()
>> +{
>> +        echo "Reloading configuration of $DESC" "$NAME"
>> +        # Update configuration for targets. Only targets which
>> +        # are not in use will be updated.
>> +        tgt-admin --update ALL -c $TGTD_CONFIG &>/dev/null
>> +        RETVAL=$?
>> +        if [ "$RETVAL" -eq 107 ] ; then
>> +                echo "tgtd is not running"
>> +                exit 1
>> +        fi
>> +}
>> +
>> +status()
>> +{
>> +        tgt-admin -s >/dev/null 2>&1
>> +       RETVAL=$?
>> +        if [ "$RETVAL" -eq 107 ] ; then
>> +                echo "tgtd is not running"
>> +        else
>> +                echo "tgtd is running"
>> +        fi
>> +}
>> +
>> +case "$1" in
>> +    start)
>> +        start
>> +        ;;
>> +    stop)
>> +        stop
>> +        ;;
>> +    restart|force-reload)
>> +        stop
>> +        start
>> +        ;;
>> +    reload)
>> +        reload
>> +        ;;
>> +    status)
>> +        status
>> +        ;;
>> +    *)
>> +        echo "Usage: $0 {start|stop|force-reload|restart|status|reload}"
>> +        exit 1
>> +        ;;
>> +esac
>> +
>> +exit 0
>> diff --git a/meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch b/meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
>> new file mode 100644
>> index 0000000..d480ef7
>> --- /dev/null
>> +++ b/meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
>> @@ -0,0 +1,35 @@
>> +From a815ac8ee16b344d9e24b445957f32bf2aafa532 Mon Sep 17 00:00:00 2001
>> +From: Mark Asselstine <mark.asselstine@windriver.com>
>> +Date: Thu, 5 Jan 2017 11:07:51 -0500
>> +Subject: [PATCH] usr/Makefile: apply LDFLAGS to all executables
>> +
>> +Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
>> +---
>> + usr/Makefile | 4 ++--
>> + 1 file changed, 2 insertions(+), 2 deletions(-)
>> +
>> +diff --git a/usr/Makefile b/usr/Makefile
>> +index cc8df11..c55fd68 100644
>> +--- a/usr/Makefile
>> ++++ b/usr/Makefile
>> +@@ -78,7 +78,7 @@ TGTADM_OBJS = tgtadm.o concat_buf.o
>> + TGTADM_DEP = $(TGTADM_OBJS:.o=.d)
>> +
>> + tgtadm: $(TGTADM_OBJS)
>> +-      $(CC) $^ -o $@
>> ++      $(CC) $^ -o $@ $(LDFLAGS)
>> +
>> + -include $(TGTADM_DEP)
>> +
>> +@@ -86,7 +86,7 @@ TGTIMG_OBJS = tgtimg.o libssc.o libcrc32c.o
>> + TGTIMG_DEP = $(TGTIMG_OBJS:.o=.d)
>> +
>> + tgtimg: $(TGTIMG_OBJS)
>> +-      $(CC) $^ -o $@
>> ++      $(CC) $^ -o $@ $(LDFLAGS)
>> +
>> + -include $(TGTIMG_DEP)
>> +
>> +--
>> +2.7.4
>> +
>> diff --git a/meta-networking/recipes-support/tgt/tgt_git.bb b/meta-networking/recipes-support/tgt/tgt_git.bb
>> new file mode 100644
>> index 0000000..9ca181a
>> --- /dev/null
>> +++ b/meta-networking/recipes-support/tgt/tgt_git.bb
>> @@ -0,0 +1,73 @@
>> +DESCRIPTION = "Linux SCSI target framework (tgt)"
>> +HOMEPAGE = "http://stgt.sourceforge.net"
>> +LICENSE = "GPLv2"
>> +LIC_FILES_CHKSUM = "file://scripts/tgtd.spec;beginline=7;endline=7;md5=21c19ea7dad04648b9c2f791b6e29b4c"
>> +DEPENDS = "sg3-utils"
>> +
>> +SRCREV = "cb7971cfeecaa43c15eed4719dc82516d7e87b6c"
>> +PV = "1.0.67+git${SRCPV}"
>> +
>> +SRC_URI = "git://github.com/fujita/tgt.git \
>> +       file://0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch \
>> +        file://0001-usr-Makefile-WARNING-fix.patch \
>> +        file://usr-Makefile-apply-LDFLAGS-to-all-executables.patch \
>> +"
>> +SRC_URI += "file://tgtd.init"
>> +
>> +S = "${WORKDIR}/git"
>> +
>> +CONFFILES_${PN} += "${sysconfdir}/tgt/targets.conf"
>> +
>> +inherit update-rc.d
>> +
>> +CFLAGS += ' -I. -DUSE_SIGNALFD -DUSE_TIMERFD -D_GNU_SOURCE -DTGT_VERSION=\\"1.0.63\\" -DBSDIR=\\"${libdir}/backing-store\\"'
>> +
>> +#do_compile() {
>> +#    oe_runmake SYSROOT="${STAGING_DIR_TARGET}" -e programs conf scripts
>> +#}
>> +EXTRA_OEMAKE = "-e programs conf scripts"
>> +
>> +do_install() {
>> +    oe_runmake -e DESTDIR="${D}" install-programs install-conf install-scripts
>> +
>> +    if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
>> +        install -d ${D}${sysconfdir}/init.d
>> +        install -m 0755 ${WORKDIR}/tgtd.init ${D}${sysconfdir}/init.d/tgtd
>> +    fi
>> +}
>> +
>> +RDEPENDS_${PN} = " \
>> +    bash \
>> +    libaio \
>> +    libconfig-general-perl \
>> +    perl-module-english \
>> +    perl-module-tie-hash-namedcapture \
>> +    perl-module-xsloader \
>> +    perl-module-carp \
>> +    perl-module-exporter \
>> +    perl-module-errno \
>> +    perl-module-exporter-heavy \
>> +    perl-module-symbol \
>> +    perl-module-selectsaver \
>> +    perl-module-dynaloader \
>> +    perl-module-carp-heavy \
>> +    perl-module-filehandle \
>> +    perl-module-feature \
>> +    perl-module-overload \
>> +    perl-module-fcntl \
>> +    perl-module-io \
>> +    perl-module-io-file \
>> +    perl-module-io-handle \
>> +    perl-module-io-seekable \
>> +    perl-module-file-glob \
>> +    perl-module-base \
>> +    perl-module-encoding-warnings \
>> +    perl-module-file-spec-unix \
>> +    perl-module-file-spec \
>> +    perl-module-file-spec-functions \
>> +    perl-module-getopt-long \
>> +    perl-module-constant \
>> +    "
>> +INITSCRIPT_PACKAGES = "${PN}"
>> +INITSCRIPT_NAME_${PN} = "tgtd"
>> +
>> --
>> 2.7.4
>>
>> --
>> _______________________________________________
>> Openembedded-devel mailing list
>> Openembedded-devel@lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>
>
>
> --
> "Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at its end"



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [meta-networking][PATCH] tgt: Migrate recipe from meta-openstack layer
  2018-07-07 21:01   ` Bruce Ashfield
@ 2018-07-08  5:48     ` Jagadeesh Krishnanjanappa
  0 siblings, 0 replies; 8+ messages in thread
From: Jagadeesh Krishnanjanappa @ 2018-07-08  5:48 UTC (permalink / raw)
  To: Bruce Ashfield; +Cc: openembedded-devel

Hi Bruce,

Nothing breaks if tgt recipe exists in meta-openstack or in meta-networking
layer.
It requires sg3-utils (which is part of meta-oe), so meta-openstack layer
needs
layer dependency on meta-oe.

We thought having tgt in meta-networking layer would help users verify
iscsi target/multipath feature, just as they were doing with iscsitarget
recipe. If
tgt under meta-openstack receives updates regularly, we are fine to keep it
there.

Regards,
Jagadeesh


On Sun, Jul 8, 2018 at 2:31 AM, Bruce Ashfield <bruce.ashfield@gmail.com>
wrote:

> On Sat, Jul 7, 2018 at 4:54 PM, Bruce Ashfield <bruce.ashfield@gmail.com>
> wrote:
> > On Sat, Jul 7, 2018 at 1:25 PM, Jagadeesh Krishnanjanappa
> > <jkrishnanjanappa@mvista.com> wrote:
> >> As iscsitarget cannot be built with Linux kernel >= 4.14, so
> >> migrate Linux SCSI target framework (tgt) recipe from meta-openstack
> >> layer; to allow users to test iSCSI target feature with tgt in
> >> meta-networking layer.
> >
> > What error is including the meta-openstack layer causing ? i.e. is
> > there an issue of
> > non-compliance that should be fixed ?
>
> never mind. I see it wasn't that the openstack layer was causing a problem,
> just that you were asked about doing the copy.
>
> I'll have to run meta-openstack through compliance anyway, I was just
> hoping there were existing hints on breakage.
>
> Cheers,
>
> Bruce
>
> >
> > We have specific version requirements with openstack, so we'll keep the
> original
> > recipe in place in meta-openstack, so you might want to change the short
> log of
> > your patch to "copy recipe from meta-openstack".
> >
> > Cheers,
> >
> > Bruce
> >
> >>
> >> Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
> >> ---
> >>  ...-path-of-header-files-check-in-Yocto-buil.patch |  47 +++++++++
> >>  .../tgt/files/0001-usr-Makefile-WARNING-fix.patch  |  29 ++++++
> >>  .../recipes-support/tgt/files/tgtd.init            | 116
> +++++++++++++++++++++
> >>  ...Makefile-apply-LDFLAGS-to-all-executables.patch |  35 +++++++
> >>  meta-networking/recipes-support/tgt/tgt_git.bb     |  73 +++++++++++++
> >>  5 files changed, 300 insertions(+)
> >>  create mode 100644 meta-networking/recipes-support/tgt/files/0001-
> Correct-the-path-of-header-files-check-in-Yocto-buil.patch
> >>  create mode 100644 meta-networking/recipes-support/tgt/files/0001-usr-
> Makefile-WARNING-fix.patch
> >>  create mode 100644 meta-networking/recipes-support/tgt/files/tgtd.init
> >>  create mode 100644 meta-networking/recipes-support/tgt/files/usr-
> Makefile-apply-LDFLAGS-to-all-executables.patch
> >>  create mode 100644 meta-networking/recipes-support/tgt/tgt_git.bb
> >>
> >> diff --git a/meta-networking/recipes-support/tgt/files/0001-
> Correct-the-path-of-header-files-check-in-Yocto-buil.patch
> b/meta-networking/recipes-support/tgt/files/0001-
> Correct-the-path-of-header-files-check-in-Yocto-buil.patch
> >> new file mode 100644
> >> index 0000000..173ecb6
> >> --- /dev/null
> >> +++ b/meta-networking/recipes-support/tgt/files/0001-
> Correct-the-path-of-header-files-check-in-Yocto-buil.patch
> >> @@ -0,0 +1,47 @@
> >> +From 93fea40915d01be6d02587a0b8be85a642e6a8d5 Mon Sep 17 00:00:00 2001
> >> +From: Zhenhua Luo <zhenhua.luo@freescale.com>
> >> +Date: Thu, 10 Apr 2014 11:26:39 +0800
> >> +Subject: [PATCH] Correct the path of header files check in Yocto build
> env
> >> +
> >> +Upstream-Status: Inappropriate [the fix is specific to Yocto build env]
> >> +
> >> +Current Makefile will check headers on host instead of Yocto sysroot,
> following
> >> +error appears. Change the path of header check.
> >> +| bs_aio.c:34:20: fatal error: libaio.h: No such file or directory
> >> +| #include <libaio.h>
> >> +|                     ^
> >> +| compilation terminated.
> >> +
> >> +Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
> >> +
> >> +---
> >> + usr/Makefile | 6 +++---
> >> + 1 file changed, 3 insertions(+), 3 deletions(-)
> >> +
> >> +diff --git a/usr/Makefile b/usr/Makefile
> >> +index decf13c..9ff8f15 100644
> >> +--- a/usr/Makefile
> >> ++++ b/usr/Makefile
> >> +@@ -1,11 +1,11 @@
> >> + sbindir ?= $(PREFIX)/sbin
> >> + libdir ?= $(PREFIX)/lib/tgt
> >> +
> >> +-ifneq ($(shell test -e /usr/include/linux/signalfd.h && echo 1),)
> >> ++ifneq ($(shell test -e $(SYSROOT)/usr/include/linux/signalfd.h &&
> echo 1),)
> >> + CFLAGS += -DUSE_SIGNALFD
> >> + endif
> >> +
> >> +-ifneq ($(shell test -n $(shell find /usr/include -name "timerfd.h" |
> head -n1) && echo 1),)
> >> ++ifneq ($(shell test -n $(shell find $(SYSROOT)/usr/include -name
> "timerfd.h" | head -n1) && echo 1),)
> >> + CFLAGS += -DUSE_TIMERFD
> >> + endif
> >> +
> >> +@@ -25,7 +25,7 @@ ifneq ($(SD_NOTIFY),)
> >> + CFLAGS += -DUSE_SYSTEMD
> >> + endif
> >> +
> >> +-ifneq ($(shell test -e /usr/include/sys/eventfd.h && test -e
> /usr/include/libaio.h && echo 1),)
> >> ++ifneq ($(shell test -e $(SYSROOT)/usr/include/sys/eventfd.h && test
> -e $(SYSROOT)/usr/include/libaio.h && echo 1),)
> >> + CFLAGS += -DUSE_EVENTFD
> >> + TGTD_OBJS += bs_aio.o
> >> + LIBS += -laio
> >> diff --git a/meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
> b/meta-networking/recipes-support/tgt/files/0001-usr-
> Makefile-WARNING-fix.patch
> >> new file mode 100644
> >> index 0000000..078ba9e
> >> --- /dev/null
> >> +++ b/meta-networking/recipes-support/tgt/files/0001-usr-
> Makefile-WARNING-fix.patch
> >> @@ -0,0 +1,29 @@
> >> +From 6f4e3b11c7dccf83e2d18635c84837b212dfcc1c Mon Sep 17 00:00:00 2001
> >> +From: Li xin <lixin.fnst@cn.fujitsu.com>
> >> +Date: Sun, 26 Jul 2015 04:23:51 +0900
> >> +Subject: [PATCH] usr/Makefile: WARNING fix WARNING: QA Issue: tgt:
> >> + /work/i586-oe-linux/tgt/1.0.60+gitAUTOINC+ab51727a36-r0/
> >> + packages-split/tgt/usr/sbin/tgtd contains probably-redundant RPATH
> /usr/lib
> >> + [useless-rpaths]
> >> +
> >> +Upstream-Status: pending
> >> +
> >> +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
> >> +
> >> +---
> >> + usr/Makefile | 2 +-
> >> + 1 file changed, 1 insertion(+), 1 deletion(-)
> >> +
> >> +diff --git a/usr/Makefile b/usr/Makefile
> >> +index 9ff8f15..cc8df11 100644
> >> +--- a/usr/Makefile
> >> ++++ b/usr/Makefile
> >> +@@ -63,7 +63,7 @@ TGTD_OBJS += tgtd.o mgmt.o target.o scsi.o log.o
> driver.o util.o work.o \
> >> +
> >> + TGTD_DEP = $(TGTD_OBJS:.o=.d)
> >> +
> >> +-LDFLAGS = -Wl,-E,-rpath=$(libdir)
> >> ++LDFLAGS += -Wl,-E
> >> +
> >> + .PHONY:all
> >> + all: $(PROGRAMS) $(MODULES)
> >> diff --git a/meta-networking/recipes-support/tgt/files/tgtd.init
> b/meta-networking/recipes-support/tgt/files/tgtd.init
> >> new file mode 100644
> >> index 0000000..4b0ce94
> >> --- /dev/null
> >> +++ b/meta-networking/recipes-support/tgt/files/tgtd.init
> >> @@ -0,0 +1,116 @@
> >> +#!/bin/sh
> >> +
> >> +### BEGIN INIT INFO
> >> +# Provides: tgtd
> >> +# Required-Start: $remote_fs $network $syslog
> >> +# Required-Stop: $remote_fs $syslog
> >> +# Default-Start:     3 5
> >> +# Default-Stop:      0 1 2 6
> >> +# Short-Description: SCSI target daemon
> >> +# Description: Linux SCSI target framework (tgt)
> >> +### END INIT INFO
> >> +
> >> +DESC="tgtd"
> >> +DAEMON="/usr/sbin/tgtd"
> >> +TGTD_CONFIG=/etc/tgt/targets.conf
> >> +
> >> +start ()
> >> +{
> >> +    echo -n "Starting $DESC..."
> >> +
> >> +    # Ensure service isn't running
> >> +    tgt-admin -s >/dev/null 2>&1
> >> +    RETVAL=$?
> >> +    if [ "$RETVAL" -ne 107 ] ; then
> >> +        echo "$DESC is already running."
> >> +        exit 1
> >> +    fi
> >> +
> >> +    # Start tgtd first
> >> +    $DAEMON &>/dev/null
> >> +    RETVAL=$?
> >> +    if [ "$RETVAL" -ne 0 ]; then
> >> +        echo "failed."
> >> +        exit 1
> >> +    fi
> >> +
> >> +    # Put tgtd into "offline" state until all the targets are
> configured.
> >> +    # We don't want initiators to (re)connect and fail the connection
> >> +    # if it's not ready.
> >> +    tgtadm --op update --mode sys --name State -v offline
> >> +    # Configure the targets.
> >> +    tgt-admin -f -e -c $TGTD_CONFIG
> >> +    # Put tgtd into "ready" state.
> >> +    tgtadm --op update --mode sys --name State -v ready
> >> +
> >> +    echo "done."
> >> +}
> >> +
> >> +stop ()
> >> +{
> >> +    echo -n "Stopping $DESC..."
> >> +
> >> +    # Remove all targets. It only removes targets which are not in use.
> >> +    tgt-admin --update ALL -c /dev/null &>/dev/null
> >> +    # tgtd will exit if all targets were removed
> >> +    tgtadm --op delete --mode system &>/dev/null
> >> +    RETVAL=$?
> >> +    if [ "$RETVAL" -eq 107 ] ; then
> >> +        if [ "$TASK" != "restart" ] ; then
> >> +            return 1
> >> +        fi
> >> +    elif [ "$RETVAL" -ne 0 ] ; then
> >> +        echo "Some initiators are still connected - could not stop
> tgtd"
> >> +        return 2
> >> +    fi
> >> +    echo -n
> >> +}
> >> +
> >> +reload()
> >> +{
> >> +        echo "Reloading configuration of $DESC" "$NAME"
> >> +        # Update configuration for targets. Only targets which
> >> +        # are not in use will be updated.
> >> +        tgt-admin --update ALL -c $TGTD_CONFIG &>/dev/null
> >> +        RETVAL=$?
> >> +        if [ "$RETVAL" -eq 107 ] ; then
> >> +                echo "tgtd is not running"
> >> +                exit 1
> >> +        fi
> >> +}
> >> +
> >> +status()
> >> +{
> >> +        tgt-admin -s >/dev/null 2>&1
> >> +       RETVAL=$?
> >> +        if [ "$RETVAL" -eq 107 ] ; then
> >> +                echo "tgtd is not running"
> >> +        else
> >> +                echo "tgtd is running"
> >> +        fi
> >> +}
> >> +
> >> +case "$1" in
> >> +    start)
> >> +        start
> >> +        ;;
> >> +    stop)
> >> +        stop
> >> +        ;;
> >> +    restart|force-reload)
> >> +        stop
> >> +        start
> >> +        ;;
> >> +    reload)
> >> +        reload
> >> +        ;;
> >> +    status)
> >> +        status
> >> +        ;;
> >> +    *)
> >> +        echo "Usage: $0 {start|stop|force-reload|
> restart|status|reload}"
> >> +        exit 1
> >> +        ;;
> >> +esac
> >> +
> >> +exit 0
> >> diff --git a/meta-networking/recipes-support/tgt/files/usr-
> Makefile-apply-LDFLAGS-to-all-executables.patch b/meta-networking/recipes-
> support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
> >> new file mode 100644
> >> index 0000000..d480ef7
> >> --- /dev/null
> >> +++ b/meta-networking/recipes-support/tgt/files/usr-
> Makefile-apply-LDFLAGS-to-all-executables.patch
> >> @@ -0,0 +1,35 @@
> >> +From a815ac8ee16b344d9e24b445957f32bf2aafa532 Mon Sep 17 00:00:00 2001
> >> +From: Mark Asselstine <mark.asselstine@windriver.com>
> >> +Date: Thu, 5 Jan 2017 11:07:51 -0500
> >> +Subject: [PATCH] usr/Makefile: apply LDFLAGS to all executables
> >> +
> >> +Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
> >> +---
> >> + usr/Makefile | 4 ++--
> >> + 1 file changed, 2 insertions(+), 2 deletions(-)
> >> +
> >> +diff --git a/usr/Makefile b/usr/Makefile
> >> +index cc8df11..c55fd68 100644
> >> +--- a/usr/Makefile
> >> ++++ b/usr/Makefile
> >> +@@ -78,7 +78,7 @@ TGTADM_OBJS = tgtadm.o concat_buf.o
> >> + TGTADM_DEP = $(TGTADM_OBJS:.o=.d)
> >> +
> >> + tgtadm: $(TGTADM_OBJS)
> >> +-      $(CC) $^ -o $@
> >> ++      $(CC) $^ -o $@ $(LDFLAGS)
> >> +
> >> + -include $(TGTADM_DEP)
> >> +
> >> +@@ -86,7 +86,7 @@ TGTIMG_OBJS = tgtimg.o libssc.o libcrc32c.o
> >> + TGTIMG_DEP = $(TGTIMG_OBJS:.o=.d)
> >> +
> >> + tgtimg: $(TGTIMG_OBJS)
> >> +-      $(CC) $^ -o $@
> >> ++      $(CC) $^ -o $@ $(LDFLAGS)
> >> +
> >> + -include $(TGTIMG_DEP)
> >> +
> >> +--
> >> +2.7.4
> >> +
> >> diff --git a/meta-networking/recipes-support/tgt/tgt_git.bb
> b/meta-networking/recipes-support/tgt/tgt_git.bb
> >> new file mode 100644
> >> index 0000000..9ca181a
> >> --- /dev/null
> >> +++ b/meta-networking/recipes-support/tgt/tgt_git.bb
> >> @@ -0,0 +1,73 @@
> >> +DESCRIPTION = "Linux SCSI target framework (tgt)"
> >> +HOMEPAGE = "http://stgt.sourceforge.net"
> >> +LICENSE = "GPLv2"
> >> +LIC_FILES_CHKSUM = "file://scripts/tgtd.spec;
> beginline=7;endline=7;md5=21c19ea7dad04648b9c2f791b6e29b4c"
> >> +DEPENDS = "sg3-utils"
> >> +
> >> +SRCREV = "cb7971cfeecaa43c15eed4719dc82516d7e87b6c"
> >> +PV = "1.0.67+git${SRCPV}"
> >> +
> >> +SRC_URI = "git://github.com/fujita/tgt.git \
> >> +       file://0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
> \
> >> +        file://0001-usr-Makefile-WARNING-fix.patch \
> >> +        file://usr-Makefile-apply-LDFLAGS-to-all-executables.patch \
> >> +"
> >> +SRC_URI += "file://tgtd.init"
> >> +
> >> +S = "${WORKDIR}/git"
> >> +
> >> +CONFFILES_${PN} += "${sysconfdir}/tgt/targets.conf"
> >> +
> >> +inherit update-rc.d
> >> +
> >> +CFLAGS += ' -I. -DUSE_SIGNALFD -DUSE_TIMERFD -D_GNU_SOURCE
> -DTGT_VERSION=\\"1.0.63\\" -DBSDIR=\\"${libdir}/backing-store\\"'
> >> +
> >> +#do_compile() {
> >> +#    oe_runmake SYSROOT="${STAGING_DIR_TARGET}" -e programs conf
> scripts
> >> +#}
> >> +EXTRA_OEMAKE = "-e programs conf scripts"
> >> +
> >> +do_install() {
> >> +    oe_runmake -e DESTDIR="${D}" install-programs install-conf
> install-scripts
> >> +
> >> +    if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true',
> 'false', d)}; then
> >> +        install -d ${D}${sysconfdir}/init.d
> >> +        install -m 0755 ${WORKDIR}/tgtd.init
> ${D}${sysconfdir}/init.d/tgtd
> >> +    fi
> >> +}
> >> +
> >> +RDEPENDS_${PN} = " \
> >> +    bash \
> >> +    libaio \
> >> +    libconfig-general-perl \
> >> +    perl-module-english \
> >> +    perl-module-tie-hash-namedcapture \
> >> +    perl-module-xsloader \
> >> +    perl-module-carp \
> >> +    perl-module-exporter \
> >> +    perl-module-errno \
> >> +    perl-module-exporter-heavy \
> >> +    perl-module-symbol \
> >> +    perl-module-selectsaver \
> >> +    perl-module-dynaloader \
> >> +    perl-module-carp-heavy \
> >> +    perl-module-filehandle \
> >> +    perl-module-feature \
> >> +    perl-module-overload \
> >> +    perl-module-fcntl \
> >> +    perl-module-io \
> >> +    perl-module-io-file \
> >> +    perl-module-io-handle \
> >> +    perl-module-io-seekable \
> >> +    perl-module-file-glob \
> >> +    perl-module-base \
> >> +    perl-module-encoding-warnings \
> >> +    perl-module-file-spec-unix \
> >> +    perl-module-file-spec \
> >> +    perl-module-file-spec-functions \
> >> +    perl-module-getopt-long \
> >> +    perl-module-constant \
> >> +    "
> >> +INITSCRIPT_PACKAGES = "${PN}"
> >> +INITSCRIPT_NAME_${PN} = "tgtd"
> >> +
> >> --
> >> 2.7.4
> >>
> >> --
> >> _______________________________________________
> >> Openembedded-devel mailing list
> >> Openembedded-devel@lists.openembedded.org
> >> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
> >
> >
> >
> > --
> > "Thou shalt not follow the NULL pointer, for chaos and madness await
> > thee at its end"
>
>
>
> --
> "Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at its end"
>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [meta-networking][PATCH] tgt: Migrate recipe from meta-openstack layer
  2018-07-07 17:25 [meta-networking][PATCH] tgt: Migrate recipe from meta-openstack layer Jagadeesh Krishnanjanappa
  2018-07-07 20:54 ` Bruce Ashfield
@ 2018-07-12 14:14 ` Khem Raj
       [not found]   ` <CAD3vsf7kL2tq28JxbTjrU0UHJNiYohcDcAw8qyD8q-me=rTm1A@mail.gmail.com>
  1 sibling, 1 reply; 8+ messages in thread
From: Khem Raj @ 2018-07-12 14:14 UTC (permalink / raw)
  To: Jagadeesh Krishnanjanappa; +Cc: openembeded-devel

I guess more recipes needs to be migrated. This fails with

ERROR: Nothing RPROVIDES 'libconfig-general-perl' (but
/mnt/a/oe/sources/meta-openembedded/meta-networking/recipes-support/tgt/tgt_git.bb
RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'libconfig-general-perl' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['libconfig-general-perl']
NOTE: Runtime target 'tgt' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['tgt', 'libconfig-general-perl']
ERROR: Nothing RPROVIDES 'tgt-dev' (but
/mnt/a/oe/sources/meta-openembedded/meta-networking/recipes-support/tgt/tgt_git.bb
RDEPENDS on or otherwise requires it)
No eligible RPROVIDERs exist for 'tgt-dev'
NOTE: Runtime target 'tgt-dev' is unbuildable, removing...
Missing or unbuildable dependency chain was: ['tgt-dev']


On Sat, Jul 7, 2018 at 11:26 AM Jagadeesh Krishnanjanappa
<jkrishnanjanappa@mvista.com> wrote:
>
> As iscsitarget cannot be built with Linux kernel >= 4.14, so
> migrate Linux SCSI target framework (tgt) recipe from meta-openstack
> layer; to allow users to test iSCSI target feature with tgt in
> meta-networking layer.
>
> Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
> ---
>  ...-path-of-header-files-check-in-Yocto-buil.patch |  47 +++++++++
>  .../tgt/files/0001-usr-Makefile-WARNING-fix.patch  |  29 ++++++
>  .../recipes-support/tgt/files/tgtd.init            | 116 +++++++++++++++++++++
>  ...Makefile-apply-LDFLAGS-to-all-executables.patch |  35 +++++++
>  meta-networking/recipes-support/tgt/tgt_git.bb     |  73 +++++++++++++
>  5 files changed, 300 insertions(+)
>  create mode 100644 meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
>  create mode 100644 meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
>  create mode 100644 meta-networking/recipes-support/tgt/files/tgtd.init
>  create mode 100644 meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
>  create mode 100644 meta-networking/recipes-support/tgt/tgt_git.bb
>
> diff --git a/meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch b/meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
> new file mode 100644
> index 0000000..173ecb6
> --- /dev/null
> +++ b/meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
> @@ -0,0 +1,47 @@
> +From 93fea40915d01be6d02587a0b8be85a642e6a8d5 Mon Sep 17 00:00:00 2001
> +From: Zhenhua Luo <zhenhua.luo@freescale.com>
> +Date: Thu, 10 Apr 2014 11:26:39 +0800
> +Subject: [PATCH] Correct the path of header files check in Yocto build env
> +
> +Upstream-Status: Inappropriate [the fix is specific to Yocto build env]
> +
> +Current Makefile will check headers on host instead of Yocto sysroot, following
> +error appears. Change the path of header check.
> +| bs_aio.c:34:20: fatal error: libaio.h: No such file or directory
> +| #include <libaio.h>
> +|                     ^
> +| compilation terminated.
> +
> +Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
> +
> +---
> + usr/Makefile | 6 +++---
> + 1 file changed, 3 insertions(+), 3 deletions(-)
> +
> +diff --git a/usr/Makefile b/usr/Makefile
> +index decf13c..9ff8f15 100644
> +--- a/usr/Makefile
> ++++ b/usr/Makefile
> +@@ -1,11 +1,11 @@
> + sbindir ?= $(PREFIX)/sbin
> + libdir ?= $(PREFIX)/lib/tgt
> +
> +-ifneq ($(shell test -e /usr/include/linux/signalfd.h && echo 1),)
> ++ifneq ($(shell test -e $(SYSROOT)/usr/include/linux/signalfd.h && echo 1),)
> + CFLAGS += -DUSE_SIGNALFD
> + endif
> +
> +-ifneq ($(shell test -n $(shell find /usr/include -name "timerfd.h" | head -n1) && echo 1),)
> ++ifneq ($(shell test -n $(shell find $(SYSROOT)/usr/include -name "timerfd.h" | head -n1) && echo 1),)
> + CFLAGS += -DUSE_TIMERFD
> + endif
> +
> +@@ -25,7 +25,7 @@ ifneq ($(SD_NOTIFY),)
> + CFLAGS += -DUSE_SYSTEMD
> + endif
> +
> +-ifneq ($(shell test -e /usr/include/sys/eventfd.h && test -e /usr/include/libaio.h && echo 1),)
> ++ifneq ($(shell test -e $(SYSROOT)/usr/include/sys/eventfd.h && test -e $(SYSROOT)/usr/include/libaio.h && echo 1),)
> + CFLAGS += -DUSE_EVENTFD
> + TGTD_OBJS += bs_aio.o
> + LIBS += -laio
> diff --git a/meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch b/meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
> new file mode 100644
> index 0000000..078ba9e
> --- /dev/null
> +++ b/meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
> @@ -0,0 +1,29 @@
> +From 6f4e3b11c7dccf83e2d18635c84837b212dfcc1c Mon Sep 17 00:00:00 2001
> +From: Li xin <lixin.fnst@cn.fujitsu.com>
> +Date: Sun, 26 Jul 2015 04:23:51 +0900
> +Subject: [PATCH] usr/Makefile: WARNING fix WARNING: QA Issue: tgt:
> + /work/i586-oe-linux/tgt/1.0.60+gitAUTOINC+ab51727a36-r0/
> + packages-split/tgt/usr/sbin/tgtd contains probably-redundant RPATH /usr/lib
> + [useless-rpaths]
> +
> +Upstream-Status: pending
> +
> +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
> +
> +---
> + usr/Makefile | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/usr/Makefile b/usr/Makefile
> +index 9ff8f15..cc8df11 100644
> +--- a/usr/Makefile
> ++++ b/usr/Makefile
> +@@ -63,7 +63,7 @@ TGTD_OBJS += tgtd.o mgmt.o target.o scsi.o log.o driver.o util.o work.o \
> +
> + TGTD_DEP = $(TGTD_OBJS:.o=.d)
> +
> +-LDFLAGS = -Wl,-E,-rpath=$(libdir)
> ++LDFLAGS += -Wl,-E
> +
> + .PHONY:all
> + all: $(PROGRAMS) $(MODULES)
> diff --git a/meta-networking/recipes-support/tgt/files/tgtd.init b/meta-networking/recipes-support/tgt/files/tgtd.init
> new file mode 100644
> index 0000000..4b0ce94
> --- /dev/null
> +++ b/meta-networking/recipes-support/tgt/files/tgtd.init
> @@ -0,0 +1,116 @@
> +#!/bin/sh
> +
> +### BEGIN INIT INFO
> +# Provides: tgtd
> +# Required-Start: $remote_fs $network $syslog
> +# Required-Stop: $remote_fs $syslog
> +# Default-Start:     3 5
> +# Default-Stop:      0 1 2 6
> +# Short-Description: SCSI target daemon
> +# Description: Linux SCSI target framework (tgt)
> +### END INIT INFO
> +
> +DESC="tgtd"
> +DAEMON="/usr/sbin/tgtd"
> +TGTD_CONFIG=/etc/tgt/targets.conf
> +
> +start ()
> +{
> +    echo -n "Starting $DESC..."
> +
> +    # Ensure service isn't running
> +    tgt-admin -s >/dev/null 2>&1
> +    RETVAL=$?
> +    if [ "$RETVAL" -ne 107 ] ; then
> +        echo "$DESC is already running."
> +        exit 1
> +    fi
> +
> +    # Start tgtd first
> +    $DAEMON &>/dev/null
> +    RETVAL=$?
> +    if [ "$RETVAL" -ne 0 ]; then
> +        echo "failed."
> +        exit 1
> +    fi
> +
> +    # Put tgtd into "offline" state until all the targets are configured.
> +    # We don't want initiators to (re)connect and fail the connection
> +    # if it's not ready.
> +    tgtadm --op update --mode sys --name State -v offline
> +    # Configure the targets.
> +    tgt-admin -f -e -c $TGTD_CONFIG
> +    # Put tgtd into "ready" state.
> +    tgtadm --op update --mode sys --name State -v ready
> +
> +    echo "done."
> +}
> +
> +stop ()
> +{
> +    echo -n "Stopping $DESC..."
> +
> +    # Remove all targets. It only removes targets which are not in use.
> +    tgt-admin --update ALL -c /dev/null &>/dev/null
> +    # tgtd will exit if all targets were removed
> +    tgtadm --op delete --mode system &>/dev/null
> +    RETVAL=$?
> +    if [ "$RETVAL" -eq 107 ] ; then
> +        if [ "$TASK" != "restart" ] ; then
> +            return 1
> +        fi
> +    elif [ "$RETVAL" -ne 0 ] ; then
> +        echo "Some initiators are still connected - could not stop tgtd"
> +        return 2
> +    fi
> +    echo -n
> +}
> +
> +reload()
> +{
> +        echo "Reloading configuration of $DESC" "$NAME"
> +        # Update configuration for targets. Only targets which
> +        # are not in use will be updated.
> +        tgt-admin --update ALL -c $TGTD_CONFIG &>/dev/null
> +        RETVAL=$?
> +        if [ "$RETVAL" -eq 107 ] ; then
> +                echo "tgtd is not running"
> +                exit 1
> +        fi
> +}
> +
> +status()
> +{
> +        tgt-admin -s >/dev/null 2>&1
> +       RETVAL=$?
> +        if [ "$RETVAL" -eq 107 ] ; then
> +                echo "tgtd is not running"
> +        else
> +                echo "tgtd is running"
> +        fi
> +}
> +
> +case "$1" in
> +    start)
> +        start
> +        ;;
> +    stop)
> +        stop
> +        ;;
> +    restart|force-reload)
> +        stop
> +        start
> +        ;;
> +    reload)
> +        reload
> +        ;;
> +    status)
> +        status
> +        ;;
> +    *)
> +        echo "Usage: $0 {start|stop|force-reload|restart|status|reload}"
> +        exit 1
> +        ;;
> +esac
> +
> +exit 0
> diff --git a/meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch b/meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
> new file mode 100644
> index 0000000..d480ef7
> --- /dev/null
> +++ b/meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
> @@ -0,0 +1,35 @@
> +From a815ac8ee16b344d9e24b445957f32bf2aafa532 Mon Sep 17 00:00:00 2001
> +From: Mark Asselstine <mark.asselstine@windriver.com>
> +Date: Thu, 5 Jan 2017 11:07:51 -0500
> +Subject: [PATCH] usr/Makefile: apply LDFLAGS to all executables
> +
> +Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
> +---
> + usr/Makefile | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/usr/Makefile b/usr/Makefile
> +index cc8df11..c55fd68 100644
> +--- a/usr/Makefile
> ++++ b/usr/Makefile
> +@@ -78,7 +78,7 @@ TGTADM_OBJS = tgtadm.o concat_buf.o
> + TGTADM_DEP = $(TGTADM_OBJS:.o=.d)
> +
> + tgtadm: $(TGTADM_OBJS)
> +-      $(CC) $^ -o $@
> ++      $(CC) $^ -o $@ $(LDFLAGS)
> +
> + -include $(TGTADM_DEP)
> +
> +@@ -86,7 +86,7 @@ TGTIMG_OBJS = tgtimg.o libssc.o libcrc32c.o
> + TGTIMG_DEP = $(TGTIMG_OBJS:.o=.d)
> +
> + tgtimg: $(TGTIMG_OBJS)
> +-      $(CC) $^ -o $@
> ++      $(CC) $^ -o $@ $(LDFLAGS)
> +
> + -include $(TGTIMG_DEP)
> +
> +--
> +2.7.4
> +
> diff --git a/meta-networking/recipes-support/tgt/tgt_git.bb b/meta-networking/recipes-support/tgt/tgt_git.bb
> new file mode 100644
> index 0000000..9ca181a
> --- /dev/null
> +++ b/meta-networking/recipes-support/tgt/tgt_git.bb
> @@ -0,0 +1,73 @@
> +DESCRIPTION = "Linux SCSI target framework (tgt)"
> +HOMEPAGE = "http://stgt.sourceforge.net"
> +LICENSE = "GPLv2"
> +LIC_FILES_CHKSUM = "file://scripts/tgtd.spec;beginline=7;endline=7;md5=21c19ea7dad04648b9c2f791b6e29b4c"
> +DEPENDS = "sg3-utils"
> +
> +SRCREV = "cb7971cfeecaa43c15eed4719dc82516d7e87b6c"
> +PV = "1.0.67+git${SRCPV}"
> +
> +SRC_URI = "git://github.com/fujita/tgt.git \
> +       file://0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch \
> +        file://0001-usr-Makefile-WARNING-fix.patch \
> +        file://usr-Makefile-apply-LDFLAGS-to-all-executables.patch \
> +"
> +SRC_URI += "file://tgtd.init"
> +
> +S = "${WORKDIR}/git"
> +
> +CONFFILES_${PN} += "${sysconfdir}/tgt/targets.conf"
> +
> +inherit update-rc.d
> +
> +CFLAGS += ' -I. -DUSE_SIGNALFD -DUSE_TIMERFD -D_GNU_SOURCE -DTGT_VERSION=\\"1.0.63\\" -DBSDIR=\\"${libdir}/backing-store\\"'
> +
> +#do_compile() {
> +#    oe_runmake SYSROOT="${STAGING_DIR_TARGET}" -e programs conf scripts
> +#}
> +EXTRA_OEMAKE = "-e programs conf scripts"
> +
> +do_install() {
> +    oe_runmake -e DESTDIR="${D}" install-programs install-conf install-scripts
> +
> +    if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
> +        install -d ${D}${sysconfdir}/init.d
> +        install -m 0755 ${WORKDIR}/tgtd.init ${D}${sysconfdir}/init.d/tgtd
> +    fi
> +}
> +
> +RDEPENDS_${PN} = " \
> +    bash \
> +    libaio \
> +    libconfig-general-perl \
> +    perl-module-english \
> +    perl-module-tie-hash-namedcapture \
> +    perl-module-xsloader \
> +    perl-module-carp \
> +    perl-module-exporter \
> +    perl-module-errno \
> +    perl-module-exporter-heavy \
> +    perl-module-symbol \
> +    perl-module-selectsaver \
> +    perl-module-dynaloader \
> +    perl-module-carp-heavy \
> +    perl-module-filehandle \
> +    perl-module-feature \
> +    perl-module-overload \
> +    perl-module-fcntl \
> +    perl-module-io \
> +    perl-module-io-file \
> +    perl-module-io-handle \
> +    perl-module-io-seekable \
> +    perl-module-file-glob \
> +    perl-module-base \
> +    perl-module-encoding-warnings \
> +    perl-module-file-spec-unix \
> +    perl-module-file-spec \
> +    perl-module-file-spec-functions \
> +    perl-module-getopt-long \
> +    perl-module-constant \
> +    "
> +INITSCRIPT_PACKAGES = "${PN}"
> +INITSCRIPT_NAME_${PN} = "tgtd"
> +
> --
> 2.7.4
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [meta-networking][PATCH] tgt: Migrate recipe from meta-openstack layer
       [not found]   ` <CAD3vsf7kL2tq28JxbTjrU0UHJNiYohcDcAw8qyD8q-me=rTm1A@mail.gmail.com>
@ 2018-07-13 18:47     ` Khem Raj
  2018-07-16  3:44       ` Yu, Mingli
  0 siblings, 1 reply; 8+ messages in thread
From: Khem Raj @ 2018-07-13 18:47 UTC (permalink / raw)
  To: Jagadeesh Krishnanjanappa; +Cc: openembeded-devel


[-- Attachment #1.1: Type: text/plain, Size: 18112 bytes --]

On 7/13/18 12:35 PM, Jagadeesh Krishnanjanappa wrote:
> Yes, we need to copy libconfig-general-perl recipe (from meta-openstack) to
> meta-networking as well.
> 
> Bruce comment:
> We have specific version requirements with openstack, so we'll keep the
> original
> recipe in place in meta-openstack, so you might want to change the short
> log of
> your patch to "copy recipe from meta-openstack".
> 
> Since tgt recipe will continue to exists under meta-openstack layer as
> per above comment,
> copying it under meta-networking would create duplication. Is it OK?
> 

this is SCSI target framework, in my mind this is neither openstack
specific nor networking specific. same is true for
libconfig-general-perl, however if there are no users of this outside
openstack layer users then its better it stays there, otherwise it
should move to meta-oe

> Regards,
> Jagadeesh
> 
> On Thu, Jul 12, 2018 at 7:44 PM, Khem Raj <raj.khem@gmail.com
> <mailto:raj.khem@gmail.com>> wrote:
> 
>     I guess more recipes needs to be migrated. This fails with
> 
>     ERROR: Nothing RPROVIDES 'libconfig-general-perl' (but
>     /mnt/a/oe/sources/meta-openembedded/meta-networking/recipes-support/tgt/tgt_git.bb
>     <http://tgt_git.bb>
>     RDEPENDS on or otherwise requires it)
>     NOTE: Runtime target 'libconfig-general-perl' is unbuildable,
>     removing...
>     Missing or unbuildable dependency chain was: ['libconfig-general-perl']
>     NOTE: Runtime target 'tgt' is unbuildable, removing...
>     Missing or unbuildable dependency chain was: ['tgt',
>     'libconfig-general-perl']
>     ERROR: Nothing RPROVIDES 'tgt-dev' (but
>     /mnt/a/oe/sources/meta-openembedded/meta-networking/recipes-support/tgt/tgt_git.bb
>     <http://tgt_git.bb>
>     RDEPENDS on or otherwise requires it)
>     No eligible RPROVIDERs exist for 'tgt-dev'
>     NOTE: Runtime target 'tgt-dev' is unbuildable, removing...
>     Missing or unbuildable dependency chain was: ['tgt-dev']
> 
> 
>     On Sat, Jul 7, 2018 at 11:26 AM Jagadeesh Krishnanjanappa
>     <jkrishnanjanappa@mvista.com <mailto:jkrishnanjanappa@mvista.com>>
>     wrote:
>     >
>     > As iscsitarget cannot be built with Linux kernel >= 4.14, so
>     > migrate Linux SCSI target framework (tgt) recipe from meta-openstack
>     > layer; to allow users to test iSCSI target feature with tgt in
>     > meta-networking layer.
>     >
>     > Signed-off-by: Jagadeesh Krishnanjanappa
>     <jkrishnanjanappa@mvista.com <mailto:jkrishnanjanappa@mvista.com>>
>     > ---
>     >  ...-path-of-header-files-check-in-Yocto-buil.patch |  47 +++++++++
>     >  .../tgt/files/0001-usr-Makefile-WARNING-fix.patch  |  29 ++++++
>     >  .../recipes-support/tgt/files/tgtd.init            | 116
>     +++++++++++++++++++++
>     >  ...Makefile-apply-LDFLAGS-to-all-executables.patch |  35 +++++++
>     >  meta-networking/recipes-support/tgt/tgt_git.bb
>     <http://tgt_git.bb>     |  73 +++++++++++++
>     >  5 files changed, 300 insertions(+)
>     >  create mode 100644
>     meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
>     >  create mode 100644
>     meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
>     >  create mode 100644
>     meta-networking/recipes-support/tgt/files/tgtd.init
>     >  create mode 100644
>     meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
>     >  create mode 100644 meta-networking/recipes-support/tgt/tgt_git.bb
>     <http://tgt_git.bb>
>     >
>     > diff --git
>     a/meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
>     b/meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
>     > new file mode 100644
>     > index 0000000..173ecb6
>     > --- /dev/null
>     > +++
>     b/meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
>     > @@ -0,0 +1,47 @@
>     > +From 93fea40915d01be6d02587a0b8be85a642e6a8d5 Mon Sep 17 00:00:00
>     2001
>     > +From: Zhenhua Luo <zhenhua.luo@freescale.com
>     <mailto:zhenhua.luo@freescale.com>>
>     > +Date: Thu, 10 Apr 2014 11:26:39 +0800
>     > +Subject: [PATCH] Correct the path of header files check in Yocto
>     build env
>     > +
>     > +Upstream-Status: Inappropriate [the fix is specific to Yocto
>     build env]
>     > +
>     > +Current Makefile will check headers on host instead of Yocto
>     sysroot, following
>     > +error appears. Change the path of header check.
>     > +| bs_aio.c:34:20: fatal error: libaio.h: No such file or directory
>     > +| #include <libaio.h>
>     > +|                     ^
>     > +| compilation terminated.
>     > +
>     > +Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com
>     <mailto:zhenhua.luo@freescale.com>>
>     > +
>     > +---
>     > + usr/Makefile | 6 +++---
>     > + 1 file changed, 3 insertions(+), 3 deletions(-)
>     > +
>     > +diff --git a/usr/Makefile b/usr/Makefile
>     > +index decf13c..9ff8f15 100644
>     > +--- a/usr/Makefile
>     > ++++ b/usr/Makefile
>     > +@@ -1,11 +1,11 @@
>     > + sbindir ?= $(PREFIX)/sbin
>     > + libdir ?= $(PREFIX)/lib/tgt
>     > +
>     > +-ifneq ($(shell test -e /usr/include/linux/signalfd.h && echo 1),)
>     > ++ifneq ($(shell test -e $(SYSROOT)/usr/include/linux/signalfd.h
>     && echo 1),)
>     > + CFLAGS += -DUSE_SIGNALFD
>     > + endif
>     > +
>     > +-ifneq ($(shell test -n $(shell find /usr/include -name
>     "timerfd.h" | head -n1) && echo 1),)
>     > ++ifneq ($(shell test -n $(shell find $(SYSROOT)/usr/include -name
>     "timerfd.h" | head -n1) && echo 1),)
>     > + CFLAGS += -DUSE_TIMERFD
>     > + endif
>     > +
>     > +@@ -25,7 +25,7 @@ ifneq ($(SD_NOTIFY),)
>     > + CFLAGS += -DUSE_SYSTEMD
>     > + endif
>     > +
>     > +-ifneq ($(shell test -e /usr/include/sys/eventfd.h && test -e
>     /usr/include/libaio.h && echo 1),)
>     > ++ifneq ($(shell test -e $(SYSROOT)/usr/include/sys/eventfd.h &&
>     test -e $(SYSROOT)/usr/include/libaio.h && echo 1),)
>     > + CFLAGS += -DUSE_EVENTFD
>     > + TGTD_OBJS += bs_aio.o
>     > + LIBS += -laio
>     > diff --git
>     a/meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
>     b/meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
>     > new file mode 100644
>     > index 0000000..078ba9e
>     > --- /dev/null
>     > +++
>     b/meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
>     > @@ -0,0 +1,29 @@
>     > +From 6f4e3b11c7dccf83e2d18635c84837b212dfcc1c Mon Sep 17 00:00:00
>     2001
>     > +From: Li xin <lixin.fnst@cn.fujitsu.com
>     <mailto:lixin.fnst@cn.fujitsu.com>>
>     > +Date: Sun, 26 Jul 2015 04:23:51 +0900
>     > +Subject: [PATCH] usr/Makefile: WARNING fix WARNING: QA Issue: tgt:
>     > + /work/i586-oe-linux/tgt/1.0.60+gitAUTOINC+ab51727a36-r0/
>     > + packages-split/tgt/usr/sbin/tgtd contains probably-redundant
>     RPATH /usr/lib
>     > + [useless-rpaths]
>     > +
>     > +Upstream-Status: pending
>     > +
>     > +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com
>     <mailto:lixin.fnst@cn.fujitsu.com>>
>     > +
>     > +---
>     > + usr/Makefile | 2 +-
>     > + 1 file changed, 1 insertion(+), 1 deletion(-)
>     > +
>     > +diff --git a/usr/Makefile b/usr/Makefile
>     > +index 9ff8f15..cc8df11 100644
>     > +--- a/usr/Makefile
>     > ++++ b/usr/Makefile
>     > +@@ -63,7 +63,7 @@ TGTD_OBJS += tgtd.o mgmt.o target.o scsi.o
>     log.o driver.o util.o work.o \
>     > +
>     > + TGTD_DEP = $(TGTD_OBJS:.o=.d)
>     > +
>     > +-LDFLAGS = -Wl,-E,-rpath=$(libdir)
>     > ++LDFLAGS += -Wl,-E
>     > +
>     > + .PHONY:all
>     > + all: $(PROGRAMS) $(MODULES)
>     > diff --git a/meta-networking/recipes-support/tgt/files/tgtd.init
>     b/meta-networking/recipes-support/tgt/files/tgtd.init
>     > new file mode 100644
>     > index 0000000..4b0ce94
>     > --- /dev/null
>     > +++ b/meta-networking/recipes-support/tgt/files/tgtd.init
>     > @@ -0,0 +1,116 @@
>     > +#!/bin/sh
>     > +
>     > +### BEGIN INIT INFO
>     > +# Provides: tgtd
>     > +# Required-Start: $remote_fs $network $syslog
>     > +# Required-Stop: $remote_fs $syslog
>     > +# Default-Start:     3 5
>     > +# Default-Stop:      0 1 2 6
>     > +# Short-Description: SCSI target daemon
>     > +# Description: Linux SCSI target framework (tgt)
>     > +### END INIT INFO
>     > +
>     > +DESC="tgtd"
>     > +DAEMON="/usr/sbin/tgtd"
>     > +TGTD_CONFIG=/etc/tgt/targets.conf
>     > +
>     > +start ()
>     > +{
>     > +    echo -n "Starting $DESC..."
>     > +
>     > +    # Ensure service isn't running
>     > +    tgt-admin -s >/dev/null 2>&1
>     > +    RETVAL=$?
>     > +    if [ "$RETVAL" -ne 107 ] ; then
>     > +        echo "$DESC is already running."
>     > +        exit 1
>     > +    fi
>     > +
>     > +    # Start tgtd first
>     > +    $DAEMON &>/dev/null
>     > +    RETVAL=$?
>     > +    if [ "$RETVAL" -ne 0 ]; then
>     > +        echo "failed."
>     > +        exit 1
>     > +    fi
>     > +
>     > +    # Put tgtd into "offline" state until all the targets are
>     configured.
>     > +    # We don't want initiators to (re)connect and fail the connection
>     > +    # if it's not ready.
>     > +    tgtadm --op update --mode sys --name State -v offline
>     > +    # Configure the targets.
>     > +    tgt-admin -f -e -c $TGTD_CONFIG
>     > +    # Put tgtd into "ready" state.
>     > +    tgtadm --op update --mode sys --name State -v ready
>     > +
>     > +    echo "done."
>     > +}
>     > +
>     > +stop ()
>     > +{
>     > +    echo -n "Stopping $DESC..."
>     > +
>     > +    # Remove all targets. It only removes targets which are not
>     in use.
>     > +    tgt-admin --update ALL -c /dev/null &>/dev/null
>     > +    # tgtd will exit if all targets were removed
>     > +    tgtadm --op delete --mode system &>/dev/null
>     > +    RETVAL=$?
>     > +    if [ "$RETVAL" -eq 107 ] ; then
>     > +        if [ "$TASK" != "restart" ] ; then
>     > +            return 1
>     > +        fi
>     > +    elif [ "$RETVAL" -ne 0 ] ; then
>     > +        echo "Some initiators are still connected - could not
>     stop tgtd"
>     > +        return 2
>     > +    fi
>     > +    echo -n
>     > +}
>     > +
>     > +reload()
>     > +{
>     > +        echo "Reloading configuration of $DESC" "$NAME"
>     > +        # Update configuration for targets. Only targets which
>     > +        # are not in use will be updated.
>     > +        tgt-admin --update ALL -c $TGTD_CONFIG &>/dev/null
>     > +        RETVAL=$?
>     > +        if [ "$RETVAL" -eq 107 ] ; then
>     > +                echo "tgtd is not running"
>     > +                exit 1
>     > +        fi
>     > +}
>     > +
>     > +status()
>     > +{
>     > +        tgt-admin -s >/dev/null 2>&1
>     > +       RETVAL=$?
>     > +        if [ "$RETVAL" -eq 107 ] ; then
>     > +                echo "tgtd is not running"
>     > +        else
>     > +                echo "tgtd is running"
>     > +        fi
>     > +}
>     > +
>     > +case "$1" in
>     > +    start)
>     > +        start
>     > +        ;;
>     > +    stop)
>     > +        stop
>     > +        ;;
>     > +    restart|force-reload)
>     > +        stop
>     > +        start
>     > +        ;;
>     > +    reload)
>     > +        reload
>     > +        ;;
>     > +    status)
>     > +        status
>     > +        ;;
>     > +    *)
>     > +        echo "Usage: $0
>     {start|stop|force-reload|restart|status|reload}"
>     > +        exit 1
>     > +        ;;
>     > +esac
>     > +
>     > +exit 0
>     > diff --git
>     a/meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
>     b/meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
>     > new file mode 100644
>     > index 0000000..d480ef7
>     > --- /dev/null
>     > +++
>     b/meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
>     > @@ -0,0 +1,35 @@
>     > +From a815ac8ee16b344d9e24b445957f32bf2aafa532 Mon Sep 17 00:00:00
>     2001
>     > +From: Mark Asselstine <mark.asselstine@windriver.com
>     <mailto:mark.asselstine@windriver.com>>
>     > +Date: Thu, 5 Jan 2017 11:07:51 -0500
>     > +Subject: [PATCH] usr/Makefile: apply LDFLAGS to all executables
>     > +
>     > +Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com
>     <mailto:mark.asselstine@windriver.com>>
>     > +---
>     > + usr/Makefile | 4 ++--
>     > + 1 file changed, 2 insertions(+), 2 deletions(-)
>     > +
>     > +diff --git a/usr/Makefile b/usr/Makefile
>     > +index cc8df11..c55fd68 100644
>     > +--- a/usr/Makefile
>     > ++++ b/usr/Makefile
>     > +@@ -78,7 +78,7 @@ TGTADM_OBJS = tgtadm.o concat_buf.o
>     > + TGTADM_DEP = $(TGTADM_OBJS:.o=.d)
>     > +
>     > + tgtadm: $(TGTADM_OBJS)
>     > +-      $(CC) $^ -o $@
>     > ++      $(CC) $^ -o $@ $(LDFLAGS)
>     > +
>     > + -include $(TGTADM_DEP)
>     > +
>     > +@@ -86,7 +86,7 @@ TGTIMG_OBJS = tgtimg.o libssc.o libcrc32c.o
>     > + TGTIMG_DEP = $(TGTIMG_OBJS:.o=.d)
>     > +
>     > + tgtimg: $(TGTIMG_OBJS)
>     > +-      $(CC) $^ -o $@
>     > ++      $(CC) $^ -o $@ $(LDFLAGS)
>     > +
>     > + -include $(TGTIMG_DEP)
>     > +
>     > +--
>     > +2.7.4
>     > +
>     > diff --git a/meta-networking/recipes-support/tgt/tgt_git.bb
>     <http://tgt_git.bb> b/meta-networking/recipes-support/tgt/tgt_git.bb
>     <http://tgt_git.bb>
>     > new file mode 100644
>     > index 0000000..9ca181a
>     > --- /dev/null
>     > +++ b/meta-networking/recipes-support/tgt/tgt_git.bb
>     <http://tgt_git.bb>
>     > @@ -0,0 +1,73 @@
>     > +DESCRIPTION = "Linux SCSI target framework (tgt)"
>     > +HOMEPAGE = "http://stgt.sourceforge.net"
>     > +LICENSE = "GPLv2"
>     > +LIC_FILES_CHKSUM =
>     "file://scripts/tgtd.spec;beginline=7;endline=7;md5=21c19ea7dad04648b9c2f791b6e29b4c"
>     > +DEPENDS = "sg3-utils"
>     > +
>     > +SRCREV = "cb7971cfeecaa43c15eed4719dc82516d7e87b6c"
>     > +PV = "1.0.67+git${SRCPV}"
>     > +
>     > +SRC_URI = "git://github.com/fujita/tgt.git
>     <http://github.com/fujita/tgt.git> \
>     > +     
>      file://0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
>     \
>     > +        file://0001-usr-Makefile-WARNING-fix.patch \
>     > +        file://usr-Makefile-apply-LDFLAGS-to-all-executables.patch \
>     > +"
>     > +SRC_URI += "file://tgtd.init"
>     > +
>     > +S = "${WORKDIR}/git"
>     > +
>     > +CONFFILES_${PN} += "${sysconfdir}/tgt/targets.conf"
>     > +
>     > +inherit update-rc.d
>     > +
>     > +CFLAGS += ' -I. -DUSE_SIGNALFD -DUSE_TIMERFD -D_GNU_SOURCE
>     -DTGT_VERSION=\\"1.0.63\\" -DBSDIR=\\"${libdir}/backing-store\\"'
>     > +
>     > +#do_compile() {
>     > +#    oe_runmake SYSROOT="${STAGING_DIR_TARGET}" -e programs conf
>     scripts
>     > +#}
>     > +EXTRA_OEMAKE = "-e programs conf scripts"
>     > +
>     > +do_install() {
>     > +    oe_runmake -e DESTDIR="${D}" install-programs install-conf
>     install-scripts
>     > +
>     > +    if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit',
>     'true', 'false', d)}; then
>     > +        install -d ${D}${sysconfdir}/init.d
>     > +        install -m 0755 ${WORKDIR}/tgtd.init
>     ${D}${sysconfdir}/init.d/tgtd
>     > +    fi
>     > +}
>     > +
>     > +RDEPENDS_${PN} = " \
>     > +    bash \
>     > +    libaio \
>     > +    libconfig-general-perl \
>     > +    perl-module-english \
>     > +    perl-module-tie-hash-namedcapture \
>     > +    perl-module-xsloader \
>     > +    perl-module-carp \
>     > +    perl-module-exporter \
>     > +    perl-module-errno \
>     > +    perl-module-exporter-heavy \
>     > +    perl-module-symbol \
>     > +    perl-module-selectsaver \
>     > +    perl-module-dynaloader \
>     > +    perl-module-carp-heavy \
>     > +    perl-module-filehandle \
>     > +    perl-module-feature \
>     > +    perl-module-overload \
>     > +    perl-module-fcntl \
>     > +    perl-module-io \
>     > +    perl-module-io-file \
>     > +    perl-module-io-handle \
>     > +    perl-module-io-seekable \
>     > +    perl-module-file-glob \
>     > +    perl-module-base \
>     > +    perl-module-encoding-warnings \
>     > +    perl-module-file-spec-unix \
>     > +    perl-module-file-spec \
>     > +    perl-module-file-spec-functions \
>     > +    perl-module-getopt-long \
>     > +    perl-module-constant \
>     > +    "
>     > +INITSCRIPT_PACKAGES = "${PN}"
>     > +INITSCRIPT_NAME_${PN} = "tgtd"
>     > +
>     > --
>     > 2.7.4
>     >
>     > --
>     > _______________________________________________
>     > Openembedded-devel mailing list
>     > Openembedded-devel@lists.openembedded.org
>     <mailto:Openembedded-devel@lists.openembedded.org>
>     > http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>     <http://lists.openembedded.org/mailman/listinfo/openembedded-devel>
> 
> 



[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 201 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [meta-networking][PATCH] tgt: Migrate recipe from meta-openstack layer
  2018-07-13 18:47     ` Khem Raj
@ 2018-07-16  3:44       ` Yu, Mingli
  2018-07-16 16:07         ` Bruce Ashfield
  0 siblings, 1 reply; 8+ messages in thread
From: Yu, Mingli @ 2018-07-16  3:44 UTC (permalink / raw)
  To: Khem Raj, Jagadeesh Krishnanjanappa; +Cc: openembeded-devel



On 2018年07月14日 02:47, Khem Raj wrote:
> On 7/13/18 12:35 PM, Jagadeesh Krishnanjanappa wrote:
>> Yes, we need to copy libconfig-general-perl recipe (from meta-openstack) to
>> meta-networking as well.
>>
>> Bruce comment:
>> We have specific version requirements with openstack, so we'll keep the
>> original
>> recipe in place in meta-openstack, so you might want to change the short
>> log of
>> your patch to "copy recipe from meta-openstack".
>>
>> Since tgt recipe will continue to exists under meta-openstack layer as
>> per above comment,
>> copying it under meta-networking would create duplication. Is it OK?
>>
>
> this is SCSI target framework, in my mind this is neither openstack
> specific nor networking specific. same is true for
> libconfig-general-perl, however if there are no users of this outside
> openstack layer users then its better it stays there, otherwise it
> should move to meta-oe

If we won't support the iscsitarget in the future as it needs too much 
change to work with kernel >= 4.14, it should be convenient to move tgt 
to meta-oe.

Thanks,

>
>> Regards,
>> Jagadeesh
>>
>> On Thu, Jul 12, 2018 at 7:44 PM, Khem Raj <raj.khem@gmail.com
>> <mailto:raj.khem@gmail.com>> wrote:
>>
>>      I guess more recipes needs to be migrated. This fails with
>>
>>      ERROR: Nothing RPROVIDES 'libconfig-general-perl' (but
>>      /mnt/a/oe/sources/meta-openembedded/meta-networking/recipes-support/tgt/tgt_git.bb
>>      <http://tgt_git.bb>
>>      RDEPENDS on or otherwise requires it)
>>      NOTE: Runtime target 'libconfig-general-perl' is unbuildable,
>>      removing...
>>      Missing or unbuildable dependency chain was: ['libconfig-general-perl']
>>      NOTE: Runtime target 'tgt' is unbuildable, removing...
>>      Missing or unbuildable dependency chain was: ['tgt',
>>      'libconfig-general-perl']
>>      ERROR: Nothing RPROVIDES 'tgt-dev' (but
>>      /mnt/a/oe/sources/meta-openembedded/meta-networking/recipes-support/tgt/tgt_git.bb
>>      <http://tgt_git.bb>
>>      RDEPENDS on or otherwise requires it)
>>      No eligible RPROVIDERs exist for 'tgt-dev'
>>      NOTE: Runtime target 'tgt-dev' is unbuildable, removing...
>>      Missing or unbuildable dependency chain was: ['tgt-dev']
>>
>>
>>      On Sat, Jul 7, 2018 at 11:26 AM Jagadeesh Krishnanjanappa
>>      <jkrishnanjanappa@mvista.com <mailto:jkrishnanjanappa@mvista.com>>
>>      wrote:
>>      >
>>      > As iscsitarget cannot be built with Linux kernel >= 4.14, so
>>      > migrate Linux SCSI target framework (tgt) recipe from meta-openstack
>>      > layer; to allow users to test iSCSI target feature with tgt in
>>      > meta-networking layer.
>>      >
>>      > Signed-off-by: Jagadeesh Krishnanjanappa
>>      <jkrishnanjanappa@mvista.com <mailto:jkrishnanjanappa@mvista.com>>
>>      > ---
>>      >  ...-path-of-header-files-check-in-Yocto-buil.patch |  47 +++++++++
>>      >  .../tgt/files/0001-usr-Makefile-WARNING-fix.patch  |  29 ++++++
>>      >  .../recipes-support/tgt/files/tgtd.init            | 116
>>      +++++++++++++++++++++
>>      >  ...Makefile-apply-LDFLAGS-to-all-executables.patch |  35 +++++++
>>      >  meta-networking/recipes-support/tgt/tgt_git.bb
>>      <http://tgt_git.bb>     |  73 +++++++++++++
>>      >  5 files changed, 300 insertions(+)
>>      >  create mode 100644
>>      meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
>>      >  create mode 100644
>>      meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
>>      >  create mode 100644
>>      meta-networking/recipes-support/tgt/files/tgtd.init
>>      >  create mode 100644
>>      meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
>>      >  create mode 100644 meta-networking/recipes-support/tgt/tgt_git.bb
>>      <http://tgt_git.bb>
>>      >
>>      > diff --git
>>      a/meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
>>      b/meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
>>      > new file mode 100644
>>      > index 0000000..173ecb6
>>      > --- /dev/null
>>      > +++
>>      b/meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
>>      > @@ -0,0 +1,47 @@
>>      > +From 93fea40915d01be6d02587a0b8be85a642e6a8d5 Mon Sep 17 00:00:00
>>      2001
>>      > +From: Zhenhua Luo <zhenhua.luo@freescale.com
>>      <mailto:zhenhua.luo@freescale.com>>
>>      > +Date: Thu, 10 Apr 2014 11:26:39 +0800
>>      > +Subject: [PATCH] Correct the path of header files check in Yocto
>>      build env
>>      > +
>>      > +Upstream-Status: Inappropriate [the fix is specific to Yocto
>>      build env]
>>      > +
>>      > +Current Makefile will check headers on host instead of Yocto
>>      sysroot, following
>>      > +error appears. Change the path of header check.
>>      > +| bs_aio.c:34:20: fatal error: libaio.h: No such file or directory
>>      > +| #include <libaio.h>
>>      > +|                     ^
>>      > +| compilation terminated.
>>      > +
>>      > +Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com
>>      <mailto:zhenhua.luo@freescale.com>>
>>      > +
>>      > +---
>>      > + usr/Makefile | 6 +++---
>>      > + 1 file changed, 3 insertions(+), 3 deletions(-)
>>      > +
>>      > +diff --git a/usr/Makefile b/usr/Makefile
>>      > +index decf13c..9ff8f15 100644
>>      > +--- a/usr/Makefile
>>      > ++++ b/usr/Makefile
>>      > +@@ -1,11 +1,11 @@
>>      > + sbindir ?= $(PREFIX)/sbin
>>      > + libdir ?= $(PREFIX)/lib/tgt
>>      > +
>>      > +-ifneq ($(shell test -e /usr/include/linux/signalfd.h && echo 1),)
>>      > ++ifneq ($(shell test -e $(SYSROOT)/usr/include/linux/signalfd.h
>>      && echo 1),)
>>      > + CFLAGS += -DUSE_SIGNALFD
>>      > + endif
>>      > +
>>      > +-ifneq ($(shell test -n $(shell find /usr/include -name
>>      "timerfd.h" | head -n1) && echo 1),)
>>      > ++ifneq ($(shell test -n $(shell find $(SYSROOT)/usr/include -name
>>      "timerfd.h" | head -n1) && echo 1),)
>>      > + CFLAGS += -DUSE_TIMERFD
>>      > + endif
>>      > +
>>      > +@@ -25,7 +25,7 @@ ifneq ($(SD_NOTIFY),)
>>      > + CFLAGS += -DUSE_SYSTEMD
>>      > + endif
>>      > +
>>      > +-ifneq ($(shell test -e /usr/include/sys/eventfd.h && test -e
>>      /usr/include/libaio.h && echo 1),)
>>      > ++ifneq ($(shell test -e $(SYSROOT)/usr/include/sys/eventfd.h &&
>>      test -e $(SYSROOT)/usr/include/libaio.h && echo 1),)
>>      > + CFLAGS += -DUSE_EVENTFD
>>      > + TGTD_OBJS += bs_aio.o
>>      > + LIBS += -laio
>>      > diff --git
>>      a/meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
>>      b/meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
>>      > new file mode 100644
>>      > index 0000000..078ba9e
>>      > --- /dev/null
>>      > +++
>>      b/meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
>>      > @@ -0,0 +1,29 @@
>>      > +From 6f4e3b11c7dccf83e2d18635c84837b212dfcc1c Mon Sep 17 00:00:00
>>      2001
>>      > +From: Li xin <lixin.fnst@cn.fujitsu.com
>>      <mailto:lixin.fnst@cn.fujitsu.com>>
>>      > +Date: Sun, 26 Jul 2015 04:23:51 +0900
>>      > +Subject: [PATCH] usr/Makefile: WARNING fix WARNING: QA Issue: tgt:
>>      > + /work/i586-oe-linux/tgt/1.0.60+gitAUTOINC+ab51727a36-r0/
>>      > + packages-split/tgt/usr/sbin/tgtd contains probably-redundant
>>      RPATH /usr/lib
>>      > + [useless-rpaths]
>>      > +
>>      > +Upstream-Status: pending
>>      > +
>>      > +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com
>>      <mailto:lixin.fnst@cn.fujitsu.com>>
>>      > +
>>      > +---
>>      > + usr/Makefile | 2 +-
>>      > + 1 file changed, 1 insertion(+), 1 deletion(-)
>>      > +
>>      > +diff --git a/usr/Makefile b/usr/Makefile
>>      > +index 9ff8f15..cc8df11 100644
>>      > +--- a/usr/Makefile
>>      > ++++ b/usr/Makefile
>>      > +@@ -63,7 +63,7 @@ TGTD_OBJS += tgtd.o mgmt.o target.o scsi.o
>>      log.o driver.o util.o work.o \
>>      > +
>>      > + TGTD_DEP = $(TGTD_OBJS:.o=.d)
>>      > +
>>      > +-LDFLAGS = -Wl,-E,-rpath=$(libdir)
>>      > ++LDFLAGS += -Wl,-E
>>      > +
>>      > + .PHONY:all
>>      > + all: $(PROGRAMS) $(MODULES)
>>      > diff --git a/meta-networking/recipes-support/tgt/files/tgtd.init
>>      b/meta-networking/recipes-support/tgt/files/tgtd.init
>>      > new file mode 100644
>>      > index 0000000..4b0ce94
>>      > --- /dev/null
>>      > +++ b/meta-networking/recipes-support/tgt/files/tgtd.init
>>      > @@ -0,0 +1,116 @@
>>      > +#!/bin/sh
>>      > +
>>      > +### BEGIN INIT INFO
>>      > +# Provides: tgtd
>>      > +# Required-Start: $remote_fs $network $syslog
>>      > +# Required-Stop: $remote_fs $syslog
>>      > +# Default-Start:     3 5
>>      > +# Default-Stop:      0 1 2 6
>>      > +# Short-Description: SCSI target daemon
>>      > +# Description: Linux SCSI target framework (tgt)
>>      > +### END INIT INFO
>>      > +
>>      > +DESC="tgtd"
>>      > +DAEMON="/usr/sbin/tgtd"
>>      > +TGTD_CONFIG=/etc/tgt/targets.conf
>>      > +
>>      > +start ()
>>      > +{
>>      > +    echo -n "Starting $DESC..."
>>      > +
>>      > +    # Ensure service isn't running
>>      > +    tgt-admin -s >/dev/null 2>&1
>>      > +    RETVAL=$?
>>      > +    if [ "$RETVAL" -ne 107 ] ; then
>>      > +        echo "$DESC is already running."
>>      > +        exit 1
>>      > +    fi
>>      > +
>>      > +    # Start tgtd first
>>      > +    $DAEMON &>/dev/null
>>      > +    RETVAL=$?
>>      > +    if [ "$RETVAL" -ne 0 ]; then
>>      > +        echo "failed."
>>      > +        exit 1
>>      > +    fi
>>      > +
>>      > +    # Put tgtd into "offline" state until all the targets are
>>      configured.
>>      > +    # We don't want initiators to (re)connect and fail the connection
>>      > +    # if it's not ready.
>>      > +    tgtadm --op update --mode sys --name State -v offline
>>      > +    # Configure the targets.
>>      > +    tgt-admin -f -e -c $TGTD_CONFIG
>>      > +    # Put tgtd into "ready" state.
>>      > +    tgtadm --op update --mode sys --name State -v ready
>>      > +
>>      > +    echo "done."
>>      > +}
>>      > +
>>      > +stop ()
>>      > +{
>>      > +    echo -n "Stopping $DESC..."
>>      > +
>>      > +    # Remove all targets. It only removes targets which are not
>>      in use.
>>      > +    tgt-admin --update ALL -c /dev/null &>/dev/null
>>      > +    # tgtd will exit if all targets were removed
>>      > +    tgtadm --op delete --mode system &>/dev/null
>>      > +    RETVAL=$?
>>      > +    if [ "$RETVAL" -eq 107 ] ; then
>>      > +        if [ "$TASK" != "restart" ] ; then
>>      > +            return 1
>>      > +        fi
>>      > +    elif [ "$RETVAL" -ne 0 ] ; then
>>      > +        echo "Some initiators are still connected - could not
>>      stop tgtd"
>>      > +        return 2
>>      > +    fi
>>      > +    echo -n
>>      > +}
>>      > +
>>      > +reload()
>>      > +{
>>      > +        echo "Reloading configuration of $DESC" "$NAME"
>>      > +        # Update configuration for targets. Only targets which
>>      > +        # are not in use will be updated.
>>      > +        tgt-admin --update ALL -c $TGTD_CONFIG &>/dev/null
>>      > +        RETVAL=$?
>>      > +        if [ "$RETVAL" -eq 107 ] ; then
>>      > +                echo "tgtd is not running"
>>      > +                exit 1
>>      > +        fi
>>      > +}
>>      > +
>>      > +status()
>>      > +{
>>      > +        tgt-admin -s >/dev/null 2>&1
>>      > +       RETVAL=$?
>>      > +        if [ "$RETVAL" -eq 107 ] ; then
>>      > +                echo "tgtd is not running"
>>      > +        else
>>      > +                echo "tgtd is running"
>>      > +        fi
>>      > +}
>>      > +
>>      > +case "$1" in
>>      > +    start)
>>      > +        start
>>      > +        ;;
>>      > +    stop)
>>      > +        stop
>>      > +        ;;
>>      > +    restart|force-reload)
>>      > +        stop
>>      > +        start
>>      > +        ;;
>>      > +    reload)
>>      > +        reload
>>      > +        ;;
>>      > +    status)
>>      > +        status
>>      > +        ;;
>>      > +    *)
>>      > +        echo "Usage: $0
>>      {start|stop|force-reload|restart|status|reload}"
>>      > +        exit 1
>>      > +        ;;
>>      > +esac
>>      > +
>>      > +exit 0
>>      > diff --git
>>      a/meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
>>      b/meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
>>      > new file mode 100644
>>      > index 0000000..d480ef7
>>      > --- /dev/null
>>      > +++
>>      b/meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
>>      > @@ -0,0 +1,35 @@
>>      > +From a815ac8ee16b344d9e24b445957f32bf2aafa532 Mon Sep 17 00:00:00
>>      2001
>>      > +From: Mark Asselstine <mark.asselstine@windriver.com
>>      <mailto:mark.asselstine@windriver.com>>
>>      > +Date: Thu, 5 Jan 2017 11:07:51 -0500
>>      > +Subject: [PATCH] usr/Makefile: apply LDFLAGS to all executables
>>      > +
>>      > +Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com
>>      <mailto:mark.asselstine@windriver.com>>
>>      > +---
>>      > + usr/Makefile | 4 ++--
>>      > + 1 file changed, 2 insertions(+), 2 deletions(-)
>>      > +
>>      > +diff --git a/usr/Makefile b/usr/Makefile
>>      > +index cc8df11..c55fd68 100644
>>      > +--- a/usr/Makefile
>>      > ++++ b/usr/Makefile
>>      > +@@ -78,7 +78,7 @@ TGTADM_OBJS = tgtadm.o concat_buf.o
>>      > + TGTADM_DEP = $(TGTADM_OBJS:.o=.d)
>>      > +
>>      > + tgtadm: $(TGTADM_OBJS)
>>      > +-      $(CC) $^ -o $@
>>      > ++      $(CC) $^ -o $@ $(LDFLAGS)
>>      > +
>>      > + -include $(TGTADM_DEP)
>>      > +
>>      > +@@ -86,7 +86,7 @@ TGTIMG_OBJS = tgtimg.o libssc.o libcrc32c.o
>>      > + TGTIMG_DEP = $(TGTIMG_OBJS:.o=.d)
>>      > +
>>      > + tgtimg: $(TGTIMG_OBJS)
>>      > +-      $(CC) $^ -o $@
>>      > ++      $(CC) $^ -o $@ $(LDFLAGS)
>>      > +
>>      > + -include $(TGTIMG_DEP)
>>      > +
>>      > +--
>>      > +2.7.4
>>      > +
>>      > diff --git a/meta-networking/recipes-support/tgt/tgt_git.bb
>>      <http://tgt_git.bb> b/meta-networking/recipes-support/tgt/tgt_git.bb
>>      <http://tgt_git.bb>
>>      > new file mode 100644
>>      > index 0000000..9ca181a
>>      > --- /dev/null
>>      > +++ b/meta-networking/recipes-support/tgt/tgt_git.bb
>>      <http://tgt_git.bb>
>>      > @@ -0,0 +1,73 @@
>>      > +DESCRIPTION = "Linux SCSI target framework (tgt)"
>>      > +HOMEPAGE = "http://stgt.sourceforge.net"
>>      > +LICENSE = "GPLv2"
>>      > +LIC_FILES_CHKSUM =
>>      "file://scripts/tgtd.spec;beginline=7;endline=7;md5=21c19ea7dad04648b9c2f791b6e29b4c"
>>      > +DEPENDS = "sg3-utils"
>>      > +
>>      > +SRCREV = "cb7971cfeecaa43c15eed4719dc82516d7e87b6c"
>>      > +PV = "1.0.67+git${SRCPV}"
>>      > +
>>      > +SRC_URI = "git://github.com/fujita/tgt.git
>>      <http://github.com/fujita/tgt.git> \
>>      > +
>>       file://0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
>>      \
>>      > +        file://0001-usr-Makefile-WARNING-fix.patch \
>>      > +        file://usr-Makefile-apply-LDFLAGS-to-all-executables.patch \
>>      > +"
>>      > +SRC_URI += "file://tgtd.init"
>>      > +
>>      > +S = "${WORKDIR}/git"
>>      > +
>>      > +CONFFILES_${PN} += "${sysconfdir}/tgt/targets.conf"
>>      > +
>>      > +inherit update-rc.d
>>      > +
>>      > +CFLAGS += ' -I. -DUSE_SIGNALFD -DUSE_TIMERFD -D_GNU_SOURCE
>>      -DTGT_VERSION=\\"1.0.63\\" -DBSDIR=\\"${libdir}/backing-store\\"'
>>      > +
>>      > +#do_compile() {
>>      > +#    oe_runmake SYSROOT="${STAGING_DIR_TARGET}" -e programs conf
>>      scripts
>>      > +#}
>>      > +EXTRA_OEMAKE = "-e programs conf scripts"
>>      > +
>>      > +do_install() {
>>      > +    oe_runmake -e DESTDIR="${D}" install-programs install-conf
>>      install-scripts
>>      > +
>>      > +    if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit',
>>      'true', 'false', d)}; then
>>      > +        install -d ${D}${sysconfdir}/init.d
>>      > +        install -m 0755 ${WORKDIR}/tgtd.init
>>      ${D}${sysconfdir}/init.d/tgtd
>>      > +    fi
>>      > +}
>>      > +
>>      > +RDEPENDS_${PN} = " \
>>      > +    bash \
>>      > +    libaio \
>>      > +    libconfig-general-perl \
>>      > +    perl-module-english \
>>      > +    perl-module-tie-hash-namedcapture \
>>      > +    perl-module-xsloader \
>>      > +    perl-module-carp \
>>      > +    perl-module-exporter \
>>      > +    perl-module-errno \
>>      > +    perl-module-exporter-heavy \
>>      > +    perl-module-symbol \
>>      > +    perl-module-selectsaver \
>>      > +    perl-module-dynaloader \
>>      > +    perl-module-carp-heavy \
>>      > +    perl-module-filehandle \
>>      > +    perl-module-feature \
>>      > +    perl-module-overload \
>>      > +    perl-module-fcntl \
>>      > +    perl-module-io \
>>      > +    perl-module-io-file \
>>      > +    perl-module-io-handle \
>>      > +    perl-module-io-seekable \
>>      > +    perl-module-file-glob \
>>      > +    perl-module-base \
>>      > +    perl-module-encoding-warnings \
>>      > +    perl-module-file-spec-unix \
>>      > +    perl-module-file-spec \
>>      > +    perl-module-file-spec-functions \
>>      > +    perl-module-getopt-long \
>>      > +    perl-module-constant \
>>      > +    "
>>      > +INITSCRIPT_PACKAGES = "${PN}"
>>      > +INITSCRIPT_NAME_${PN} = "tgtd"
>>      > +
>>      > --
>>      > 2.7.4
>>      >
>>      > --
>>      > _______________________________________________
>>      > Openembedded-devel mailing list
>>      > Openembedded-devel@lists.openembedded.org
>>      <mailto:Openembedded-devel@lists.openembedded.org>
>>      > http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>>      <http://lists.openembedded.org/mailman/listinfo/openembedded-devel>
>>
>>
>
>
>
>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [meta-networking][PATCH] tgt: Migrate recipe from meta-openstack layer
  2018-07-16  3:44       ` Yu, Mingli
@ 2018-07-16 16:07         ` Bruce Ashfield
  0 siblings, 0 replies; 8+ messages in thread
From: Bruce Ashfield @ 2018-07-16 16:07 UTC (permalink / raw)
  To: Yu, Mingli; +Cc: openembeded-devel

On Sun, Jul 15, 2018 at 11:44 PM, Yu, Mingli <mingli.yu@windriver.com> wrote:
>
>
> On 2018年07月14日 02:47, Khem Raj wrote:
>>
>> On 7/13/18 12:35 PM, Jagadeesh Krishnanjanappa wrote:
>>>
>>> Yes, we need to copy libconfig-general-perl recipe (from meta-openstack)
>>> to
>>> meta-networking as well.
>>>
>>> Bruce comment:
>>> We have specific version requirements with openstack, so we'll keep the
>>> original
>>> recipe in place in meta-openstack, so you might want to change the short
>>> log of
>>> your patch to "copy recipe from meta-openstack".
>>>
>>> Since tgt recipe will continue to exists under meta-openstack layer as
>>> per above comment,
>>> copying it under meta-networking would create duplication. Is it OK?
>>>
>>
>> this is SCSI target framework, in my mind this is neither openstack
>> specific nor networking specific. same is true for
>> libconfig-general-perl, however if there are no users of this outside
>> openstack layer users then its better it stays there, otherwise it
>> should move to meta-oe
>
>
> If we won't support the iscsitarget in the future as it needs too much
> change to work with kernel >= 4.14, it should be convenient to move tgt to
> meta-oe.

That statement actually makes little sense. If the meta-openstack
layer doesn't break anything, keeping the recipe there is one line in
a bblayers file. Not exactly a grand challenge.

In meta-openstack there are very specific version requirements and
system level testing that happens, so the uprev cadence is different.
If more frequent updates, and unit testing via meta-oe are going to be
done, then that is definitely a reason for a copy to be made (since
depending on meta-openstack could be a problem) .. that's an actual
reason, versus stating some fact that has nothing to do with recipe
placement.

But again, I'm not arguing one way or the other, and I'm certainly not
objecting to anything here .. I'll need to keep the recipe in
meta-openstack either way.

It is just Monday and I thought I'd point out that using valid
technical points makes decision making easier.

Cheers,

Bruce

>
> Thanks,
>
>
>>
>>> Regards,
>>> Jagadeesh
>>>
>>> On Thu, Jul 12, 2018 at 7:44 PM, Khem Raj <raj.khem@gmail.com
>>> <mailto:raj.khem@gmail.com>> wrote:
>>>
>>>      I guess more recipes needs to be migrated. This fails with
>>>
>>>      ERROR: Nothing RPROVIDES 'libconfig-general-perl' (but
>>>
>>> /mnt/a/oe/sources/meta-openembedded/meta-networking/recipes-support/tgt/tgt_git.bb
>>>      <http://tgt_git.bb>
>>>      RDEPENDS on or otherwise requires it)
>>>      NOTE: Runtime target 'libconfig-general-perl' is unbuildable,
>>>      removing...
>>>      Missing or unbuildable dependency chain was:
>>> ['libconfig-general-perl']
>>>      NOTE: Runtime target 'tgt' is unbuildable, removing...
>>>      Missing or unbuildable dependency chain was: ['tgt',
>>>      'libconfig-general-perl']
>>>      ERROR: Nothing RPROVIDES 'tgt-dev' (but
>>>
>>> /mnt/a/oe/sources/meta-openembedded/meta-networking/recipes-support/tgt/tgt_git.bb
>>>      <http://tgt_git.bb>
>>>      RDEPENDS on or otherwise requires it)
>>>      No eligible RPROVIDERs exist for 'tgt-dev'
>>>      NOTE: Runtime target 'tgt-dev' is unbuildable, removing...
>>>      Missing or unbuildable dependency chain was: ['tgt-dev']
>>>
>>>
>>>      On Sat, Jul 7, 2018 at 11:26 AM Jagadeesh Krishnanjanappa
>>>      <jkrishnanjanappa@mvista.com <mailto:jkrishnanjanappa@mvista.com>>
>>>      wrote:
>>>      >
>>>      > As iscsitarget cannot be built with Linux kernel >= 4.14, so
>>>      > migrate Linux SCSI target framework (tgt) recipe from
>>> meta-openstack
>>>      > layer; to allow users to test iSCSI target feature with tgt in
>>>      > meta-networking layer.
>>>      >
>>>      > Signed-off-by: Jagadeesh Krishnanjanappa
>>>      <jkrishnanjanappa@mvista.com <mailto:jkrishnanjanappa@mvista.com>>
>>>      > ---
>>>      >  ...-path-of-header-files-check-in-Yocto-buil.patch |  47
>>> +++++++++
>>>      >  .../tgt/files/0001-usr-Makefile-WARNING-fix.patch  |  29 ++++++
>>>      >  .../recipes-support/tgt/files/tgtd.init            | 116
>>>      +++++++++++++++++++++
>>>      >  ...Makefile-apply-LDFLAGS-to-all-executables.patch |  35 +++++++
>>>      >  meta-networking/recipes-support/tgt/tgt_git.bb
>>>      <http://tgt_git.bb>     |  73 +++++++++++++
>>>      >  5 files changed, 300 insertions(+)
>>>      >  create mode 100644
>>>
>>> meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
>>>      >  create mode 100644
>>>
>>> meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
>>>      >  create mode 100644
>>>      meta-networking/recipes-support/tgt/files/tgtd.init
>>>      >  create mode 100644
>>>
>>> meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
>>>      >  create mode 100644 meta-networking/recipes-support/tgt/tgt_git.bb
>>>      <http://tgt_git.bb>
>>>      >
>>>      > diff --git
>>>
>>> a/meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
>>>
>>> b/meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
>>>      > new file mode 100644
>>>      > index 0000000..173ecb6
>>>      > --- /dev/null
>>>      > +++
>>>
>>> b/meta-networking/recipes-support/tgt/files/0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
>>>      > @@ -0,0 +1,47 @@
>>>      > +From 93fea40915d01be6d02587a0b8be85a642e6a8d5 Mon Sep 17 00:00:00
>>>      2001
>>>      > +From: Zhenhua Luo <zhenhua.luo@freescale.com
>>>      <mailto:zhenhua.luo@freescale.com>>
>>>      > +Date: Thu, 10 Apr 2014 11:26:39 +0800
>>>      > +Subject: [PATCH] Correct the path of header files check in Yocto
>>>      build env
>>>      > +
>>>      > +Upstream-Status: Inappropriate [the fix is specific to Yocto
>>>      build env]
>>>      > +
>>>      > +Current Makefile will check headers on host instead of Yocto
>>>      sysroot, following
>>>      > +error appears. Change the path of header check.
>>>      > +| bs_aio.c:34:20: fatal error: libaio.h: No such file or
>>> directory
>>>      > +| #include <libaio.h>
>>>      > +|                     ^
>>>      > +| compilation terminated.
>>>      > +
>>>      > +Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com
>>>      <mailto:zhenhua.luo@freescale.com>>
>>>      > +
>>>      > +---
>>>      > + usr/Makefile | 6 +++---
>>>      > + 1 file changed, 3 insertions(+), 3 deletions(-)
>>>      > +
>>>      > +diff --git a/usr/Makefile b/usr/Makefile
>>>      > +index decf13c..9ff8f15 100644
>>>      > +--- a/usr/Makefile
>>>      > ++++ b/usr/Makefile
>>>      > +@@ -1,11 +1,11 @@
>>>      > + sbindir ?= $(PREFIX)/sbin
>>>      > + libdir ?= $(PREFIX)/lib/tgt
>>>      > +
>>>      > +-ifneq ($(shell test -e /usr/include/linux/signalfd.h && echo
>>> 1),)
>>>      > ++ifneq ($(shell test -e $(SYSROOT)/usr/include/linux/signalfd.h
>>>      && echo 1),)
>>>      > + CFLAGS += -DUSE_SIGNALFD
>>>      > + endif
>>>      > +
>>>      > +-ifneq ($(shell test -n $(shell find /usr/include -name
>>>      "timerfd.h" | head -n1) && echo 1),)
>>>      > ++ifneq ($(shell test -n $(shell find $(SYSROOT)/usr/include -name
>>>      "timerfd.h" | head -n1) && echo 1),)
>>>      > + CFLAGS += -DUSE_TIMERFD
>>>      > + endif
>>>      > +
>>>      > +@@ -25,7 +25,7 @@ ifneq ($(SD_NOTIFY),)
>>>      > + CFLAGS += -DUSE_SYSTEMD
>>>      > + endif
>>>      > +
>>>      > +-ifneq ($(shell test -e /usr/include/sys/eventfd.h && test -e
>>>      /usr/include/libaio.h && echo 1),)
>>>      > ++ifneq ($(shell test -e $(SYSROOT)/usr/include/sys/eventfd.h &&
>>>      test -e $(SYSROOT)/usr/include/libaio.h && echo 1),)
>>>      > + CFLAGS += -DUSE_EVENTFD
>>>      > + TGTD_OBJS += bs_aio.o
>>>      > + LIBS += -laio
>>>      > diff --git
>>>
>>> a/meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
>>>
>>> b/meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
>>>      > new file mode 100644
>>>      > index 0000000..078ba9e
>>>      > --- /dev/null
>>>      > +++
>>>
>>> b/meta-networking/recipes-support/tgt/files/0001-usr-Makefile-WARNING-fix.patch
>>>      > @@ -0,0 +1,29 @@
>>>      > +From 6f4e3b11c7dccf83e2d18635c84837b212dfcc1c Mon Sep 17 00:00:00
>>>      2001
>>>      > +From: Li xin <lixin.fnst@cn.fujitsu.com
>>>      <mailto:lixin.fnst@cn.fujitsu.com>>
>>>      > +Date: Sun, 26 Jul 2015 04:23:51 +0900
>>>      > +Subject: [PATCH] usr/Makefile: WARNING fix WARNING: QA Issue:
>>> tgt:
>>>      > + /work/i586-oe-linux/tgt/1.0.60+gitAUTOINC+ab51727a36-r0/
>>>      > + packages-split/tgt/usr/sbin/tgtd contains probably-redundant
>>>      RPATH /usr/lib
>>>      > + [useless-rpaths]
>>>      > +
>>>      > +Upstream-Status: pending
>>>      > +
>>>      > +Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com
>>>      <mailto:lixin.fnst@cn.fujitsu.com>>
>>>      > +
>>>      > +---
>>>      > + usr/Makefile | 2 +-
>>>      > + 1 file changed, 1 insertion(+), 1 deletion(-)
>>>      > +
>>>      > +diff --git a/usr/Makefile b/usr/Makefile
>>>      > +index 9ff8f15..cc8df11 100644
>>>      > +--- a/usr/Makefile
>>>      > ++++ b/usr/Makefile
>>>      > +@@ -63,7 +63,7 @@ TGTD_OBJS += tgtd.o mgmt.o target.o scsi.o
>>>      log.o driver.o util.o work.o \
>>>      > +
>>>      > + TGTD_DEP = $(TGTD_OBJS:.o=.d)
>>>      > +
>>>      > +-LDFLAGS = -Wl,-E,-rpath=$(libdir)
>>>      > ++LDFLAGS += -Wl,-E
>>>      > +
>>>      > + .PHONY:all
>>>      > + all: $(PROGRAMS) $(MODULES)
>>>      > diff --git a/meta-networking/recipes-support/tgt/files/tgtd.init
>>>      b/meta-networking/recipes-support/tgt/files/tgtd.init
>>>      > new file mode 100644
>>>      > index 0000000..4b0ce94
>>>      > --- /dev/null
>>>      > +++ b/meta-networking/recipes-support/tgt/files/tgtd.init
>>>      > @@ -0,0 +1,116 @@
>>>      > +#!/bin/sh
>>>      > +
>>>      > +### BEGIN INIT INFO
>>>      > +# Provides: tgtd
>>>      > +# Required-Start: $remote_fs $network $syslog
>>>      > +# Required-Stop: $remote_fs $syslog
>>>      > +# Default-Start:     3 5
>>>      > +# Default-Stop:      0 1 2 6
>>>      > +# Short-Description: SCSI target daemon
>>>      > +# Description: Linux SCSI target framework (tgt)
>>>      > +### END INIT INFO
>>>      > +
>>>      > +DESC="tgtd"
>>>      > +DAEMON="/usr/sbin/tgtd"
>>>      > +TGTD_CONFIG=/etc/tgt/targets.conf
>>>      > +
>>>      > +start ()
>>>      > +{
>>>      > +    echo -n "Starting $DESC..."
>>>      > +
>>>      > +    # Ensure service isn't running
>>>      > +    tgt-admin -s >/dev/null 2>&1
>>>      > +    RETVAL=$?
>>>      > +    if [ "$RETVAL" -ne 107 ] ; then
>>>      > +        echo "$DESC is already running."
>>>      > +        exit 1
>>>      > +    fi
>>>      > +
>>>      > +    # Start tgtd first
>>>      > +    $DAEMON &>/dev/null
>>>      > +    RETVAL=$?
>>>      > +    if [ "$RETVAL" -ne 0 ]; then
>>>      > +        echo "failed."
>>>      > +        exit 1
>>>      > +    fi
>>>      > +
>>>      > +    # Put tgtd into "offline" state until all the targets are
>>>      configured.
>>>      > +    # We don't want initiators to (re)connect and fail the
>>> connection
>>>      > +    # if it's not ready.
>>>      > +    tgtadm --op update --mode sys --name State -v offline
>>>      > +    # Configure the targets.
>>>      > +    tgt-admin -f -e -c $TGTD_CONFIG
>>>      > +    # Put tgtd into "ready" state.
>>>      > +    tgtadm --op update --mode sys --name State -v ready
>>>      > +
>>>      > +    echo "done."
>>>      > +}
>>>      > +
>>>      > +stop ()
>>>      > +{
>>>      > +    echo -n "Stopping $DESC..."
>>>      > +
>>>      > +    # Remove all targets. It only removes targets which are not
>>>      in use.
>>>      > +    tgt-admin --update ALL -c /dev/null &>/dev/null
>>>      > +    # tgtd will exit if all targets were removed
>>>      > +    tgtadm --op delete --mode system &>/dev/null
>>>      > +    RETVAL=$?
>>>      > +    if [ "$RETVAL" -eq 107 ] ; then
>>>      > +        if [ "$TASK" != "restart" ] ; then
>>>      > +            return 1
>>>      > +        fi
>>>      > +    elif [ "$RETVAL" -ne 0 ] ; then
>>>      > +        echo "Some initiators are still connected - could not
>>>      stop tgtd"
>>>      > +        return 2
>>>      > +    fi
>>>      > +    echo -n
>>>      > +}
>>>      > +
>>>      > +reload()
>>>      > +{
>>>      > +        echo "Reloading configuration of $DESC" "$NAME"
>>>      > +        # Update configuration for targets. Only targets which
>>>      > +        # are not in use will be updated.
>>>      > +        tgt-admin --update ALL -c $TGTD_CONFIG &>/dev/null
>>>      > +        RETVAL=$?
>>>      > +        if [ "$RETVAL" -eq 107 ] ; then
>>>      > +                echo "tgtd is not running"
>>>      > +                exit 1
>>>      > +        fi
>>>      > +}
>>>      > +
>>>      > +status()
>>>      > +{
>>>      > +        tgt-admin -s >/dev/null 2>&1
>>>      > +       RETVAL=$?
>>>      > +        if [ "$RETVAL" -eq 107 ] ; then
>>>      > +                echo "tgtd is not running"
>>>      > +        else
>>>      > +                echo "tgtd is running"
>>>      > +        fi
>>>      > +}
>>>      > +
>>>      > +case "$1" in
>>>      > +    start)
>>>      > +        start
>>>      > +        ;;
>>>      > +    stop)
>>>      > +        stop
>>>      > +        ;;
>>>      > +    restart|force-reload)
>>>      > +        stop
>>>      > +        start
>>>      > +        ;;
>>>      > +    reload)
>>>      > +        reload
>>>      > +        ;;
>>>      > +    status)
>>>      > +        status
>>>      > +        ;;
>>>      > +    *)
>>>      > +        echo "Usage: $0
>>>      {start|stop|force-reload|restart|status|reload}"
>>>      > +        exit 1
>>>      > +        ;;
>>>      > +esac
>>>      > +
>>>      > +exit 0
>>>      > diff --git
>>>
>>> a/meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
>>>
>>> b/meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
>>>      > new file mode 100644
>>>      > index 0000000..d480ef7
>>>      > --- /dev/null
>>>      > +++
>>>
>>> b/meta-networking/recipes-support/tgt/files/usr-Makefile-apply-LDFLAGS-to-all-executables.patch
>>>      > @@ -0,0 +1,35 @@
>>>      > +From a815ac8ee16b344d9e24b445957f32bf2aafa532 Mon Sep 17 00:00:00
>>>      2001
>>>      > +From: Mark Asselstine <mark.asselstine@windriver.com
>>>      <mailto:mark.asselstine@windriver.com>>
>>>      > +Date: Thu, 5 Jan 2017 11:07:51 -0500
>>>      > +Subject: [PATCH] usr/Makefile: apply LDFLAGS to all executables
>>>      > +
>>>      > +Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com
>>>      <mailto:mark.asselstine@windriver.com>>
>>>      > +---
>>>      > + usr/Makefile | 4 ++--
>>>      > + 1 file changed, 2 insertions(+), 2 deletions(-)
>>>      > +
>>>      > +diff --git a/usr/Makefile b/usr/Makefile
>>>      > +index cc8df11..c55fd68 100644
>>>      > +--- a/usr/Makefile
>>>      > ++++ b/usr/Makefile
>>>      > +@@ -78,7 +78,7 @@ TGTADM_OBJS = tgtadm.o concat_buf.o
>>>      > + TGTADM_DEP = $(TGTADM_OBJS:.o=.d)
>>>      > +
>>>      > + tgtadm: $(TGTADM_OBJS)
>>>      > +-      $(CC) $^ -o $@
>>>      > ++      $(CC) $^ -o $@ $(LDFLAGS)
>>>      > +
>>>      > + -include $(TGTADM_DEP)
>>>      > +
>>>      > +@@ -86,7 +86,7 @@ TGTIMG_OBJS = tgtimg.o libssc.o libcrc32c.o
>>>      > + TGTIMG_DEP = $(TGTIMG_OBJS:.o=.d)
>>>      > +
>>>      > + tgtimg: $(TGTIMG_OBJS)
>>>      > +-      $(CC) $^ -o $@
>>>      > ++      $(CC) $^ -o $@ $(LDFLAGS)
>>>      > +
>>>      > + -include $(TGTIMG_DEP)
>>>      > +
>>>      > +--
>>>      > +2.7.4
>>>      > +
>>>      > diff --git a/meta-networking/recipes-support/tgt/tgt_git.bb
>>>      <http://tgt_git.bb> b/meta-networking/recipes-support/tgt/tgt_git.bb
>>>      <http://tgt_git.bb>
>>>      > new file mode 100644
>>>      > index 0000000..9ca181a
>>>      > --- /dev/null
>>>      > +++ b/meta-networking/recipes-support/tgt/tgt_git.bb
>>>      <http://tgt_git.bb>
>>>      > @@ -0,0 +1,73 @@
>>>      > +DESCRIPTION = "Linux SCSI target framework (tgt)"
>>>      > +HOMEPAGE = "http://stgt.sourceforge.net"
>>>      > +LICENSE = "GPLv2"
>>>      > +LIC_FILES_CHKSUM =
>>>
>>> "file://scripts/tgtd.spec;beginline=7;endline=7;md5=21c19ea7dad04648b9c2f791b6e29b4c"
>>>      > +DEPENDS = "sg3-utils"
>>>      > +
>>>      > +SRCREV = "cb7971cfeecaa43c15eed4719dc82516d7e87b6c"
>>>      > +PV = "1.0.67+git${SRCPV}"
>>>      > +
>>>      > +SRC_URI = "git://github.com/fujita/tgt.git
>>>      <http://github.com/fujita/tgt.git> \
>>>      > +
>>>
>>> file://0001-Correct-the-path-of-header-files-check-in-Yocto-buil.patch
>>>      \
>>>      > +        file://0001-usr-Makefile-WARNING-fix.patch \
>>>      > +
>>> file://usr-Makefile-apply-LDFLAGS-to-all-executables.patch \
>>>      > +"
>>>      > +SRC_URI += "file://tgtd.init"
>>>      > +
>>>      > +S = "${WORKDIR}/git"
>>>      > +
>>>      > +CONFFILES_${PN} += "${sysconfdir}/tgt/targets.conf"
>>>      > +
>>>      > +inherit update-rc.d
>>>      > +
>>>      > +CFLAGS += ' -I. -DUSE_SIGNALFD -DUSE_TIMERFD -D_GNU_SOURCE
>>>      -DTGT_VERSION=\\"1.0.63\\" -DBSDIR=\\"${libdir}/backing-store\\"'
>>>      > +
>>>      > +#do_compile() {
>>>      > +#    oe_runmake SYSROOT="${STAGING_DIR_TARGET}" -e programs conf
>>>      scripts
>>>      > +#}
>>>      > +EXTRA_OEMAKE = "-e programs conf scripts"
>>>      > +
>>>      > +do_install() {
>>>      > +    oe_runmake -e DESTDIR="${D}" install-programs install-conf
>>>      install-scripts
>>>      > +
>>>      > +    if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit',
>>>      'true', 'false', d)}; then
>>>      > +        install -d ${D}${sysconfdir}/init.d
>>>      > +        install -m 0755 ${WORKDIR}/tgtd.init
>>>      ${D}${sysconfdir}/init.d/tgtd
>>>      > +    fi
>>>      > +}
>>>      > +
>>>      > +RDEPENDS_${PN} = " \
>>>      > +    bash \
>>>      > +    libaio \
>>>      > +    libconfig-general-perl \
>>>      > +    perl-module-english \
>>>      > +    perl-module-tie-hash-namedcapture \
>>>      > +    perl-module-xsloader \
>>>      > +    perl-module-carp \
>>>      > +    perl-module-exporter \
>>>      > +    perl-module-errno \
>>>      > +    perl-module-exporter-heavy \
>>>      > +    perl-module-symbol \
>>>      > +    perl-module-selectsaver \
>>>      > +    perl-module-dynaloader \
>>>      > +    perl-module-carp-heavy \
>>>      > +    perl-module-filehandle \
>>>      > +    perl-module-feature \
>>>      > +    perl-module-overload \
>>>      > +    perl-module-fcntl \
>>>      > +    perl-module-io \
>>>      > +    perl-module-io-file \
>>>      > +    perl-module-io-handle \
>>>      > +    perl-module-io-seekable \
>>>      > +    perl-module-file-glob \
>>>      > +    perl-module-base \
>>>      > +    perl-module-encoding-warnings \
>>>      > +    perl-module-file-spec-unix \
>>>      > +    perl-module-file-spec \
>>>      > +    perl-module-file-spec-functions \
>>>      > +    perl-module-getopt-long \
>>>      > +    perl-module-constant \
>>>      > +    "
>>>      > +INITSCRIPT_PACKAGES = "${PN}"
>>>      > +INITSCRIPT_NAME_${PN} = "tgtd"
>>>      > +
>>>      > --
>>>      > 2.7.4
>>>      >
>>>      > --
>>>      > _______________________________________________
>>>      > Openembedded-devel mailing list
>>>      > Openembedded-devel@lists.openembedded.org
>>>      <mailto:Openembedded-devel@lists.openembedded.org>
>>>      > http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>>>      <http://lists.openembedded.org/mailman/listinfo/openembedded-devel>
>>>
>>>
>>
>>
>>
>>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel



-- 
"Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end"


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-07-16 16:07 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-07 17:25 [meta-networking][PATCH] tgt: Migrate recipe from meta-openstack layer Jagadeesh Krishnanjanappa
2018-07-07 20:54 ` Bruce Ashfield
2018-07-07 21:01   ` Bruce Ashfield
2018-07-08  5:48     ` Jagadeesh Krishnanjanappa
2018-07-12 14:14 ` Khem Raj
     [not found]   ` <CAD3vsf7kL2tq28JxbTjrU0UHJNiYohcDcAw8qyD8q-me=rTm1A@mail.gmail.com>
2018-07-13 18:47     ` Khem Raj
2018-07-16  3:44       ` Yu, Mingli
2018-07-16 16:07         ` Bruce Ashfield

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.