Skip to contentSkip to conversation

dt: new package

PATCH New gustavo.zacarias at free-electrons.com 2 participants 2 messages Jan 27, 2016 – Feb 25, 2016

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 dt: new package

From: Gustavo Zacarias <[email protected]>

---
Changes for v2:
* Use TARGET_CONFIGURE_OPTS + DT_CFLAGS

 package/Config.in                       |  1 +
 package/dt/0001-adjust-os-symlink.patch | 19 ++++++++++++++++
 package/dt/Config.in                    | 21 +++++++++++++++++
 package/dt/dt.hash                      |  5 +++++
 package/dt/dt.mk                        | 40 +++++++++++++++++++++++++++++++++
 5 files changed, 86 insertions(+)
 create mode 100644 package/dt/0001-adjust-os-symlink.patch
 create mode 100644 package/dt/Config.in
 create mode 100644 package/dt/dt.hash
 create mode 100644 package/dt/dt.mk
package/Config.in +1 -0
index 56435b9..aebd4c8 100644
@@ -72,6 +72,7 @@ menu "Debugging, profiling and benchmark"
 	source "package/dmalloc/Config.in"
 	source "package/dropwatch/Config.in"
 	source "package/dstat/Config.in"
+	source "package/dt/Config.in"
 	source "package/duma/Config.in"
 	source "package/fio/Config.in"
 	source "package/gdb/Config.in"
package/dt/0001-adjust-os-symlink.patch new file +19 -0
new file mode 100644
index 0000000..ad03e3e
@@ -0,0 +1,19 @@
+Don't force build-dir-in-build-dir logic, symlink the os-specific SCSI
+support file in place.
+
+Status: not suitable for upstream.
+
+Signed-off-by: Gustavo Zacarias <[email protected]>
+
+diff -Nura dt.v18.32.orig/Makefile.linux dt.v18.32/Makefile.linux
+--- a/dt.v18.32.orig/Makefile.linux	2016-01-26 09:10:03.939963780 -0300
++++ b/dt.v18.32/Makefile.linux	2016-01-26 09:10:27.140763863 -0300
+@@ -129,7 +129,7 @@
+ 	    echo "Please specify OS={aix,linux,hpux,solaris,windows}"; \
+ 	    exit 1; \
+ 	fi; \
+-	ln -sf ../scsilib-$(OS).c scsilib.c
++	ln -sf scsilib-$(OS).c scsilib.c
+ 
+ print:;
+ 		@$(PRINTER) $(PRINTFLAGS) $(ALL_CFILES)
package/dt/Config.in new file +21 -0
new file mode 100644
index 0000000..848e251
@@ -0,0 +1,21 @@
+comment "dt needs a (e)glibc or uclibc toolchain w/ threads"
+	depends on BR2_USE_MMU
+	depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_TOOLCHAIN_USES_MUSL
+
+config BR2_PACKAGE_DT
+	bool "dt"
+	depends on BR2_USE_MMU # fork()
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	# Build fails because of several BSDisms
+	depends on !BR2_TOOLCHAIN_USES_MUSL
+	help
+	  dt is a generic data test program used to verify proper
+	  operation of peripherals, file systems, device drivers,
+	  or any data stream supported by the operating system.
+	  In its' simplest mode of operation, dt writes and then
+	  verifys its' default data pattern, then displays
+	  performance statisics and other test parameters
+	  before exiting. Since verification of data is performed,
+	  dt can be thought of as a generic diagnostic tool.
+
+	  http://www.scsifaq.org/RMiller_Tools/dt.html
package/dt/dt.hash new file +5 -0
new file mode 100644
index 0000000..7cd8c64
@@ -0,0 +1,5 @@
+# From http://pkgs.fedoraproject.org/repo/pkgs/dt/dt-source-v18.32.tar.gz
+# (directory name is md5 hash)
+md5	3054aeaaba047a1dbe90c2132a382ee2	dt-source-v18.32.tar.gz
+# Calculated based on the hash above
+sha256	10d164676e918a4d07f233bcd11e4cb6bfd1052c996182cd1827ccd0c063fcc6	dt-source-v18.32.tar.gz
package/dt/dt.mk new file +40 -0
new file mode 100644
index 0000000..290ff91
@@ -0,0 +1,40 @@
+################################################################################
+#
+# dt
+#
+################################################################################
+
+DT_VERSION = v18.32
+DT_SITE = http://pkgs.fedoraproject.org/repo/pkgs/dt/$(DT_SOURCE)/3054aeaaba047a1dbe90c2132a382ee2
+DT_SOURCE = dt-source-$(DT_VERSION).tar.gz
+DT_SUBDIR = dt.$(DT_VERSION)
+DT_LICENSE = ISC-like
+DT_LICENSE_FILES = $(DT_SUBDIR)/LICENSE
+
+DT_CFLAGS = \
+	-std=c99 \
+	-DMMAP \
+	-D__linux__ \
+	-D_GNU_SOURCE \
+	-D_FILE_OFFSET_BITS=64 \
+	-DTHREADS \
+	-DSCSI
+
+# uClibc doesn't provide POSIX AIO
+ifeq ($(BR2_TOOLCHAIN_USES_UCLIBC),)
+DT_CFLAGS += -DAIO
+endif
+
+define DT_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/$(DT_SUBDIR) -f Makefile.linux \
+	$(TARGET_CONFIGURE_OPTS) \
+	CFLAGS="$(TARGET_CFLAGS) $(DT_CFLAGS)" \
+	OS=linux
+endef
+
+define DT_INSTALL_TARGET_CMDS
+	$(INSTALL) -D -m 0755 $(@D)/$(DT_SUBDIR)/dt \
+		$(TARGET_DIR)/usr/bin/dt
+endef
+
+$(eval $(generic-package))
Signature · 1 line
2.4.10
#1 lore raw

PATCH v2 1/1 dt: new package

Hello,

Quoted 6 lines · gustavo.zacarias at free-electrons.com
package/dt/dt.mk new file +0 -0
new file mode 100644
index 0000000..290ff91

package/dt/dt.mk line 10

Quoted 10 lines
package/dt/dt.mk new file +10 -0
@@ -0,0 +1,40 @@
+################################################################################
+#
+# dt
+#
+################################################################################
+
+DT_VERSION = v18.32
+DT_SITE = http://pkgs.fedoraproject.org/repo/pkgs/dt/$(DT_SOURCE)/3054aeaaba047a1dbe90c2132a382ee2
+DT_SOURCE = dt-source-$(DT_VERSION).tar.gz
+DT_SUBDIR = dt.$(DT_VERSION)

Since dt.$(DT_VERSION) was the only sub-directory, I thought it was easier to do DT_STRIP_COMPONENTS = 2, as it allows to get rid completely of all DT_SUBDIR references later, so I've done this change.

package/dt/dt.mk line 32

Quoted 5 lines
package/dt/dt.mk new file +5 -0
+define DT_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/$(DT_SUBDIR) -f Makefile.linux \
+	$(TARGET_CONFIGURE_OPTS) \
+	CFLAGS="$(TARGET_CFLAGS) $(DT_CFLAGS)" \
+	OS=linux

Indentation was not correct here, the follow-up lines should be intended with two tabs. I've fixed this minor nit.

Applied to next, thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com