sedutil: new package
authorPeter Korsgaard <peter@korsgaard.com>
Wed, 26 Sep 2018 07:52:05 +0000 (09:52 +0200)
committerPeter Korsgaard <peter@korsgaard.com>
Thu, 27 Sep 2018 11:59:09 +0000 (13:59 +0200)
Utilities to configure self encrypting drives that comply with the TCG OPAL
2.00 standard.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
DEVELOPERS
package/Config.in
package/sedutil/0001-Common-log.h-time-2-needs-time.h.patch [new file with mode: 0644]
package/sedutil/Config.in [new file with mode: 0644]
package/sedutil/sedutil.hash [new file with mode: 0644]
package/sedutil/sedutil.mk [new file with mode: 0644]

index c5d9b8bb57ba9f840f55c0def5e37c8c9df58ec5..0335aef3b1e3fd2388dcc1d1d25dbc4fe6db92eb 100644 (file)
@@ -1636,6 +1636,7 @@ F:        package/python-texttable/
 F:     package/python-validators/
 F:     package/python-webob/
 F:     package/python-websocket-client/
+F:     package/sedutil/
 F:     package/triggerhappy/
 
 N:     Peter Seiderer <ps.report@gmx.net>
index c04645a30bfaa4aac303118660926ecd2b561c14..52f11c407ad22afd9b17ab3912f79c8189d8da20 100644 (file)
@@ -503,6 +503,7 @@ endmenu
        source "package/rtl8821au/Config.in"
        source "package/sane-backends/Config.in"
        source "package/sdparm/Config.in"
+       source "package/sedutil/Config.in"
        source "package/setserial/Config.in"
        source "package/sg3_utils/Config.in"
        source "package/sigrok-cli/Config.in"
diff --git a/package/sedutil/0001-Common-log.h-time-2-needs-time.h.patch b/package/sedutil/0001-Common-log.h-time-2-needs-time.h.patch
new file mode 100644 (file)
index 0000000..9cf74b6
--- /dev/null
@@ -0,0 +1,37 @@
+From a7a48e1cda997afbfcdd985c594c3ec0516b6279 Mon Sep 17 00:00:00 2001
+From: Peter Korsgaard <peter@korsgaard.com>
+Date: Tue, 25 Sep 2018 22:49:58 +0200
+Subject: [PATCH] Common/log.h: time(2) needs <time.h>
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Otherwise the build fails with:
+
+In file included from ./linux/os.h:28:0,
+                 from Common/DtaOptions.cpp:20:
+./Common/log.h: In function ‘std::__cxx11::string NowTime()’:
+./Common/log.h:349:12: error: ‘time’ was not declared in this scope
+     time(&t);
+
+Upstream-status: https://github.com/Drive-Trust-Alliance/sedutil/pull/250
+Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
+---
+ Common/log.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/Common/log.h b/Common/log.h
+index 8c08c40..2b718ad 100644
+--- a/Common/log.h
++++ b/Common/log.h
+@@ -341,6 +341,7 @@ inline std::string NowTime() {
+ #else
++#include <time.h>
+ #include <sys/time.h>
+ inline std::string NowTime() {
+-- 
+2.11.0
+
diff --git a/package/sedutil/Config.in b/package/sedutil/Config.in
new file mode 100644 (file)
index 0000000..fbfcf0d
--- /dev/null
@@ -0,0 +1,27 @@
+config BR2_PACKAGE_SEDUTIL_ARCH_SUPPORTS
+       bool
+       # no big endian support
+       default y if BR2_arcle || BR2_arm || BR2_aarch64 || BR2_csky \
+              || BR2_i386 || BR2_microblazeel || BR2_mipsel \
+              || BR2_mips64el || BR2_nios2 || BR2_powerpc64le \
+              || BR2_sh4 || BR2_sh4a || BR2_x86_64 \
+              || BR2_XTENSA_LITTLE_ENDIAN
+
+config BR2_PACKAGE_SEDUTIL
+       bool "sedutil"
+       depends on BR2_PACKAGE_SEDUTIL_ARCH_SUPPORTS
+       depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12 # linux/nvme.h
+       depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # C++11
+       depends on BR2_INSTALL_LIBSTDCPP
+       help
+         The Drive Trust Alliance Self Encrypting Drive Utility,
+         allowing configuration the SEDs that comply with the
+         TCG OPAL 2.00 standard.
+
+          https://github.com/Drive-Trust-Alliance/sedutil
+
+comment "sedutil needs a toolchain w/ C++, gcc >= 4.8, headers >= 3.12"
+       depends on BR2_PACKAGE_SEDUTIL_ARCH_SUPPORTS
+       depends on !BR2_INSTALL_LIBSTDCPP || \
+               !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 || \
+               !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
diff --git a/package/sedutil/sedutil.hash b/package/sedutil/sedutil.hash
new file mode 100644 (file)
index 0000000..9db1011
--- /dev/null
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 9259466b4f73af276153c5245834a56f48f8721ea7263611b5d5e8326bc43d9e  sedutil-1.15.1.tar.gz
+sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903  Common/LICENSE.txt
diff --git a/package/sedutil/sedutil.mk b/package/sedutil/sedutil.mk
new file mode 100644 (file)
index 0000000..c80e434
--- /dev/null
@@ -0,0 +1,20 @@
+################################################################################
+#
+# sedutil
+#
+################################################################################
+
+SEDUTIL_VERSION = 1.15.1
+SEDUTIL_SITE = $(call github,Drive-Trust-Alliance,sedutil,$(SEDUTIL_VERSION))
+SEDUTIL_LICENSE = GPL-3.0+
+SEDUTIL_LICENSE_FILES = Common/LICENSE.txt
+# Fetched from Github with no configure script
+SEDUTIL_AUTORECONF = YES
+
+# Calls git to figure out version info
+define SEDUTIL_SET_VERSION
+       echo '#define GIT_VERSION "$(SEDUTIL_VERSION)"' > $(@D)/linux/Version.h
+endef
+SEDUTIL_POST_CONFIGURE_HOOKS += SEDUTIL_SET_VERSION
+
+$(eval $(autotools-package))