From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- sys-block/tgt/Manifest | 10 ++ sys-block/tgt/files/tgt-1.0.69-sysmacros.patch | 38 ++++++++ sys-block/tgt/files/tgtd.confd | 4 + sys-block/tgt/files/tgtd.initd | 124 +++++++++++++++++++++++++ sys-block/tgt/metadata.xml | 25 +++++ sys-block/tgt/tgt-1.0.71.ebuild | 65 +++++++++++++ sys-block/tgt/tgt-1.0.72.ebuild | 65 +++++++++++++ 7 files changed, 331 insertions(+) create mode 100644 sys-block/tgt/Manifest create mode 100644 sys-block/tgt/files/tgt-1.0.69-sysmacros.patch create mode 100644 sys-block/tgt/files/tgtd.confd create mode 100644 sys-block/tgt/files/tgtd.initd create mode 100644 sys-block/tgt/metadata.xml create mode 100644 sys-block/tgt/tgt-1.0.71.ebuild create mode 100644 sys-block/tgt/tgt-1.0.72.ebuild (limited to 'sys-block/tgt') diff --git a/sys-block/tgt/Manifest b/sys-block/tgt/Manifest new file mode 100644 index 000000000000..b700550177cb --- /dev/null +++ b/sys-block/tgt/Manifest @@ -0,0 +1,10 @@ +AUX tgt-1.0.69-sysmacros.patch 1128 SHA256 81bd8d440835f30cdffcd433bb86aaa41660241361e2daa9cf94a260e2a047af SHA512 37d74d52c2a29fbbdd482b7e583d9d6e1fa175f5824b32c635b49b46a05cbe7632bab06e6850c03e47789851b88a48f43078cfc29db8ee3f7beaad3ddb87d5b8 WHIRLPOOL 436b87072ec16bdee178e0c5b54b684eb473ef08235ded5d4102592c853a711b5970bb3f2fb06b3ff0f968fc884f7b7be562223987a450edc41e2af58105a902 +AUX tgtd.confd 108 SHA256 f1bb9173de8b392116da455fdd45166f9088c7740867ac1778fe161beebfad3e SHA512 2153e99e3f6a2178bbbb2bda1d6af9a67d6080b36e7c5cbb4f951b10324c80a24fa224a7003c26b3b51d40a77bba97856bc009bbb0e664e93625face723edc91 WHIRLPOOL d1868d82c473b4790c506e6bc8b1ee03adf6779b4d848bbb7c406be59f0b30c4942be13057f93a112e784281937fc0e50f40ecffe0f71b641e407d1333000ca7 +AUX tgtd.initd 3435 SHA256 9264afb97d5d08c1ec0f6116bd28ba6acc2c794f9fc6ca61076017012a9f9f26 SHA512 1e6d114dbb89c7a26e65546b6c775bcabc3c9508e0757e118a4272fbf4299a185b4679bc510d9cc3da7db25b96343ddc8e45de044543ebe26d952132eba4de30 WHIRLPOOL 4f58501117ad135ed24a63eec64536c25639a70a676f135fb423635305ec1254bd03d87da640dbffe7abf442e0e63d236c5774d670c21f1a40f902094c0991c3 +DIST tgt-1.0.71.tar.gz 296540 SHA256 3f0b898ae341f5d8c84c83f9951dd7ef182eaf449dd7008e55747f144303e10b SHA512 db74deb199ef341577ab505b7202651e6c28aa9d62d37d3492b1775a2944284e1d3bb7c99b6d8bedd3456807641952876719ecd66553bd8c8dabbee5669f9428 WHIRLPOOL d19c2c5614d7b406d785cbe5b954a0aa2494b8a5b43a33e05b3f6876750039590524607b28c491cd00a60dd7a1bc57e327099fe36711a8c53798a4ec1300e295 +DIST tgt-1.0.72.tar.gz 296698 SHA256 2c7f4b8f831c5124192c40b0503fd6e659154393576c37f1f80dfdc5d9b8a772 SHA512 4fdb1b8f3c2487f66629024132f7fa53ab69b9eba67d380fb18aa2d9c143e77bdf808b3ff8d1e2bf1d4420cf1792944d6f79731ddbb095d52b53d573d9f1281c WHIRLPOOL 763d5d68320f9629531f6406caab9f77c1a7f3574a6ef1a7ee7192e14f41a95169b858211eedbe84d7071e1b3801744933b09a7b81d84a6772c7d0ef5801415b +EBUILD tgt-1.0.71.ebuild 1563 SHA256 285a52072729d93b1f81a0b8f3319985a07183a6195ed742e2db6fa8273c5a56 SHA512 008dfd30d1ae4363046df41f26025283faf0f7e42df4a64fa84d54391ed7fb2f832c884d0d310f158574200510c1f41a8ebb5a92339caf6e5e066a83494025c8 WHIRLPOOL b52a9160b45ab3dc66843b81cae843422e653e0a0a887f5220746142a6e4218ac3d0421bc53571dba8ac6ee6d3066b36a639371081173c8ad4b1c979f623987e +EBUILD tgt-1.0.72.ebuild 1563 SHA256 49f445ba2a3088524e9f966d044ee39002ef1ff11c9484cbc2f2e1ebbcbd3333 SHA512 f4a1bffcae7471dbdf4bad933c5b7ff82b6656da570c739aaec192389a1ae888ed8083cdb34340407a3eda692eb147aa177e5a8b59077ad22467332980c755a1 WHIRLPOOL e38cb5dffc001ecd6d9954ef17f7c703f242748f0c10dd46e6656cff365d6db76569fb4b285377630659ddfbfc9165e479df5208efc115dc4dffe029523c211a +MISC ChangeLog 6994 SHA256 80f29f38eae43a5395e7ddc2fe20ef668baa295a6eabec39d33fc98443fae449 SHA512 edf37a69f6dec80aca1b88ab35ab8e2388667fba452171ae23246248ba4fd361609b853a6aa30b2737d65cd61a7d5bb8f35d8341ba889bd3922f7aeeb51cb967 WHIRLPOOL c6593953fcb66509a6e1de3dc64a91be43b0722b3dd4024433bce57e1452e34a7bc530fc3bac7a2f3661e58bb414016e7d2eba9b88b09db6643fffaafb1a0df1 +MISC ChangeLog-2015 3622 SHA256 65a73b0bd668a11fa58deebfe049a8736e5359a72d408fd66581c543a6b58d92 SHA512 71ebf6d048a5cb4cc7b8849987a0785530206ce3c823f1f4821dee09fb20486c6bf5f30cbc19da49eb2343455d1a18459b886b63a3cd47946dc0042109b5edba WHIRLPOOL a42dcc981f29d1215ad1ba05f20bae3b44c8c3af2fd76ac2784839b9ec6c8c1e98a0302fcbb489912c2ad905e5d9dee11575137966365128fc8a53093711fc6e +MISC metadata.xml 825 SHA256 e05943c18160699e566b5e5f5a3ca7db90ff7376ac0650f1cfdfeed93cfbd9f6 SHA512 0c75be2e830ff683c8cae93175504a1e6508131d704c48d31b9fe98baa6b3a1e491661fda6180c0c1e35ef7e9bd57309d05e07b41160a7cc090934913e186f9f WHIRLPOOL 8f7b8cdf9e6ba4bf564a87114a84021ae19051a09ec0c26d56f8cd9aa9ae79886b3abf38131c67bae679082ca9b1f3ef0b078e9db0c38a8a8959934b0c3eff7c diff --git a/sys-block/tgt/files/tgt-1.0.69-sysmacros.patch b/sys-block/tgt/files/tgt-1.0.69-sysmacros.patch new file mode 100644 index 000000000000..0b28f02e2821 --- /dev/null +++ b/sys-block/tgt/files/tgt-1.0.69-sysmacros.patch @@ -0,0 +1,38 @@ +https://bugs.gentoo.org/580594 +https://github.com/fujita/tgt/pull/25 + +From b092c6fe330a2eacf4b1d4eb093fad8e2fbcaed9 Mon Sep 17 00:00:00 2001 +From: Mike Frysinger +Date: Sun, 27 Nov 2016 18:47:24 -0500 +Subject: [PATCH] fix build w/newer glibc +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Building with newer glibc versions fails like so: +bs_sg.c: In function ‘chk_sg_device’: +bs_sg.c:354:6: error: implicit declaration of function ‘major’ [-Werror=implicit-function-declaration] + if (major(st.st_rdev) == SCSI_GENERIC_MAJOR) + +This is because glibc is dropping the implicit sys/sysmacros.h include +from sys/types.h and making the few projects that need it include it +explicitly. +--- + usr/bs_sg.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/usr/bs_sg.c b/usr/bs_sg.c +index 66f4a3b22a18..fb544056f258 100644 +--- a/usr/bs_sg.c ++++ b/usr/bs_sg.c +@@ -32,6 +32,7 @@ + #include + #include + #include ++#include + #include + #include + #include +-- +2.11.0.rc2 + diff --git a/sys-block/tgt/files/tgtd.confd b/sys-block/tgt/files/tgtd.confd new file mode 100644 index 000000000000..fd4c098eaef2 --- /dev/null +++ b/sys-block/tgt/files/tgtd.confd @@ -0,0 +1,4 @@ +# Here you can specify options that are passed directly to tgt daemon +TGTD_OPTS="" + +# vim: ft=gentoo-conf-d diff --git a/sys-block/tgt/files/tgtd.initd b/sys-block/tgt/files/tgtd.initd new file mode 100644 index 000000000000..4931e2e38e93 --- /dev/null +++ b/sys-block/tgt/files/tgtd.initd @@ -0,0 +1,124 @@ +#!/sbin/openrc-run +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +TGTD_CONFIG=/etc/tgt/targets.conf + +TASK=$1 + +depend() { + need net +} + +start() { + ebegin "Starting target framework daemon" + ebegin "Starting ${SVCNAME}" + # Start tgtd first. + start-stop-daemon --start --quiet \ + --name tgtd \ + --exec /usr/sbin/tgtd -- \ + ${TGTD_OPTS} + RETVAL=$? + if [ "$RETVAL" -ne 0 ] ; then + echo "Could not start tgtd (is tgtd already running?)" + exit 1 + fi + # We need to wait for 1 second before do anything with tgtd + sleep 1 + # 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 --update ALL -c $TGTD_CONFIG + # Put tgtd into "ready" state. + tgtadm --op update --mode sys --name State -v ready + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + ebegin "Stopping target framework daemon" + # start-stop-daemon --stop --exec /usr/sbin/tgtd --quiet + if [ "$RUNLEVEL" = 0 -o "$RUNLEVEL" = 6 ] ; then + forcedstop + fi + # Remove all targets. It only removes targets which are not in use. + tgt-admin --update ALL -c /dev/null >/dev/null 2>&1 + # tgtd will exit if all targets were removed + tgtadm --op delete --mode system >/dev/null 2>&1 + RETVAL=$? + if [ "$RETVAL" -eq 107 ] ; then + echo "tgtd is not running" + if [ "$TASK" != "restart" ] ; then + exit 1 + fi + elif [ "$RETVAL" -ne 0 ] ; then + echo "Some initiators are still connected - could not stop tgtd" + exit 2 + fi + # echo -n + eend $? +} + +forcedstop() { + # NOTE: Forced shutdown of the iscsi target may cause data corruption + # for initiators that are connected. + echo "Force-stopping target framework daemon" + # Offline everything first. May be needed if we're rebooting, but + # expect the initiators to reconnect cleanly when we boot again + # (i.e. we don't want them to reconnect to a tgtd which is still + # working, but the target is gone). + tgtadm --op update --mode sys --name State -v offline >/dev/null 2>&1 + RETVAL=$? + if [ "$RETVAL" -eq 107 ] ; then + echo "tgtd is not running" + if [ "$TASK" != "restart" ] ; then + exit 1 + fi + else + tgt-admin --offline ALL + # Remove all targets, even if they are still in use. + tgt-admin --update ALL -c /dev/null -f + # It will shut down tgtd only after all targets were removed. + tgtadm --op delete --mode system + RETVAL=$? + if [ "$RETVAL" -ne 0 ] ; then + echo "Failed to shutdown tgtd" + exit 1 + fi + fi + echo -n +} + +reload() { + echo "Updating target framework daemon configuration" + # Update configuration for targets. Only targets which + # are not in use will be updated. + tgt-admin --update ALL -c $TGTD_CONFIG >/dev/null 2>&1 + RETVAL=$? + if [ "$RETVAL" -eq 107 ] ; then + echo "tgtd is not running" + exit 1 + fi +} + +forcedreload() { + echo "Force-updating target framework daemon configuration" + # Update configuration for targets, even those in use. + tgt-admin --update ALL -f -c $TGTD_CONFIG >/dev/null 2>&1 + RETVAL=$? + if [ "$RETVAL" -eq 107 ] ; then + echo "tgtd is not running" + exit 1 + fi +} + +status() { + TGTD_PROC=$(pidof -c -o $$ -o %PPID tgtd) + if [ -n "$TGTD_PROC" ] ; then + echo "tgtd is running. Run 'tgt-admin -s' to see detailed target info." + else + echo "tgtd is NOT running." + fi +} diff --git a/sys-block/tgt/metadata.xml b/sys-block/tgt/metadata.xml new file mode 100644 index 000000000000..050fb3d1cea3 --- /dev/null +++ b/sys-block/tgt/metadata.xml @@ -0,0 +1,25 @@ + + + + + prometheanfire@gentoo.org + Matthew Thode + + + cluster@gentoo.org + Gentoo Cluster Project + + +iSCSI Target daemon with rdma support + + + Add support for IBM Virtual I/O + Add support for new FC protocol + Add support for FCoE protocol + Add support for ceph block devices + + + fujita/tgt + stgt + + diff --git a/sys-block/tgt/tgt-1.0.71.ebuild b/sys-block/tgt/tgt-1.0.71.ebuild new file mode 100644 index 000000000000..ccb001c49fcd --- /dev/null +++ b/sys-block/tgt/tgt-1.0.71.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit flag-o-matic toolchain-funcs + +MY_TREE="f2a6db5" + +DESCRIPTION="Linux SCSI target framework (tgt)" +HOMEPAGE="http://stgt.sourceforge.net" +SRC_URI="https://github.com/fujita/tgt/tarball/v${PV} -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="fcoe fcp ibmvio infiniband rbd" + +CDEPEND="dev-perl/Config-General + dev-libs/libxslt + rbd? ( sys-cluster/ceph ) + infiniband? ( + sys-fabric/libibverbs:= + sys-fabric/librdmacm:= + )" +DEPEND="${CDEPEND} + app-text/docbook-xsl-stylesheets" +RDEPEND="${DEPEND} + dev-libs/libaio + sys-apps/sg3_utils" + +S=${WORKDIR}/fujita-tgt-${MY_TREE} + +pkg_setup() { + tc-export CC +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-1.0.69-sysmacros.patch #580594 + + sed -i -e 's:\($(CC)\) $^:\1 $(LDFLAGS) $^:' usr/Makefile || die + + # make sure xml docs are generated before trying to install them + sed -i -e "s@install: @& all @g" doc/Makefile || die +} + +src_compile() { + local myconf + use ibmvio && myconf="${myconf} IBMVIO=1" + use infiniband && myconf="${myconf} ISCSI_RDMA=1" + use fcp && myconf="${myconf} FCP=1" + use fcoe && myconf="${myconf} FCOE=1" + use rbd && myconf="${myconf} CEPH_RBD=1" + + emake -C usr/ KERNELSRC="${KERNEL_DIR}" ISCSI=1 ${myconf} + emake -C doc +} + +src_install() { + emake install-programs install-scripts install-doc DESTDIR="${D}" docdir=/usr/share/doc/${PF} + newinitd "${FILESDIR}"/tgtd.initd tgtd + newconfd "${FILESDIR}"/tgtd.confd tgtd + dodir /etc/tgt + keepdir /etc/tgt +} diff --git a/sys-block/tgt/tgt-1.0.72.ebuild b/sys-block/tgt/tgt-1.0.72.ebuild new file mode 100644 index 000000000000..bacdb72d61a6 --- /dev/null +++ b/sys-block/tgt/tgt-1.0.72.ebuild @@ -0,0 +1,65 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +inherit flag-o-matic toolchain-funcs + +MY_TREE="8f94634" + +DESCRIPTION="Linux SCSI target framework (tgt)" +HOMEPAGE="http://stgt.sourceforge.net" +SRC_URI="https://github.com/fujita/tgt/tarball/v${PV} -> ${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ~arm64 x86" +IUSE="fcoe fcp ibmvio infiniband rbd" + +CDEPEND="dev-perl/Config-General + dev-libs/libxslt + rbd? ( sys-cluster/ceph ) + infiniband? ( + sys-fabric/libibverbs:= + sys-fabric/librdmacm:= + )" +DEPEND="${CDEPEND} + app-text/docbook-xsl-stylesheets" +RDEPEND="${DEPEND} + dev-libs/libaio + sys-apps/sg3_utils" + +S=${WORKDIR}/fujita-tgt-${MY_TREE} + +pkg_setup() { + tc-export CC +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-1.0.69-sysmacros.patch #580594 + + sed -i -e 's:\($(CC)\) $^:\1 $(LDFLAGS) $^:' usr/Makefile || die + + # make sure xml docs are generated before trying to install them + sed -i -e "s@install: @& all @g" doc/Makefile || die +} + +src_compile() { + local myconf + use ibmvio && myconf="${myconf} IBMVIO=1" + use infiniband && myconf="${myconf} ISCSI_RDMA=1" + use fcp && myconf="${myconf} FCP=1" + use fcoe && myconf="${myconf} FCOE=1" + use rbd && myconf="${myconf} CEPH_RBD=1" + + emake -C usr/ KERNELSRC="${KERNEL_DIR}" ISCSI=1 ${myconf} + emake -C doc +} + +src_install() { + emake install-programs install-scripts install-doc DESTDIR="${D}" docdir=/usr/share/doc/${PF} + newinitd "${FILESDIR}"/tgtd.initd tgtd + newconfd "${FILESDIR}"/tgtd.confd tgtd + dodir /etc/tgt + keepdir /etc/tgt +} -- cgit v1.2.3