On Sat, Jul 7, 2018 at 4:54 PM, Bruce Ashfield <[email protected]> wrote: > On Sat, Jul 7, 2018 at 1:25 PM, Jagadeesh Krishnanjanappa > <[email protected]> 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 <[email protected]> >> --- >> ...-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 <[email protected]> >> +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 <[email protected]> >> + >> +--- >> + 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 <[email protected]> >> +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 <[email protected]> >> + >> +--- >> + 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 <[email protected]> >> +Date: Thu, 5 Jan 2017 11:07:51 -0500 >> +Subject: [PATCH] usr/Makefile: apply LDFLAGS to all executables >> + >> +Signed-off-by: Mark Asselstine <[email protected]> >> +--- >> + 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 >> [email protected] >> 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" -- _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-devel
