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.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> > >
signature.asc
Description: OpenPGP digital signature
-- _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-devel