Regards,
Jagadeesh
On Thu, Jul 12, 2018 at 7:44 PM, Khem Raj <raj.k...@gmail.com
<mailto:raj.k...@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
<jkrishnanjana...@mvista.com <mailto:jkrishnanjana...@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
<jkrishnanjana...@mvista.com <mailto:jkrishnanjana...@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....@freescale.com
<mailto:zhenhua....@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....@freescale.com
<mailto:zhenhua....@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.f...@cn.fujitsu.com
<mailto:lixin.f...@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.f...@cn.fujitsu.com
<mailto:lixin.f...@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.asselst...@windriver.com
<mailto:mark.asselst...@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.asselst...@windriver.com
<mailto:mark.asselst...@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>