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.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>






--
_______________________________________________
Openembedded-devel mailing list
Openembedded-devel@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

Reply via email to