[PATCH 0/3] Knot: Enable DoH; build Info manual; work on aarch64-linux

  • Done
  • quality assurance status badge
Details
2 participants
  • Tobias Geerinckx-Rice
  • Simon South
Owner
unassigned
Submitted by
Simon South
Severity
normal

Debbugs page

Simon South wrote 4 years ago
(address . guix-patches@gnu.org)
cover.1601941844.git.simon@simonsouth.net
These changes to the Knot package complement work done today by
Tobias[0] by silencing the remaining warnings from configure while
adding a bit of new functionality. The patches

- Enable DNS-over-HTTPS support in the kdig utility, by adding the
nghttp2 library as a native input;

- Cause the Info manual to be built and included in the output; and

- Fix a test[1] that prevented the package from building on
aarch64-linux systems.

[0] Now that everyone's finished building commit 2eb0585.

--
Simon South
simon@simonsouth.net


Simon South (3):
gnu: knot: Enable DNS-over-HTTPS support in kdig.
gnu: knot: Build the Info manual.
gnu: knot: Fix test failure on aarch64-linux.

gnu/packages/dns.scm | 16 ++++++++++++--
...est_net_shortwrite-ensure-connection.patch | 21 +++++++++++++++++++
2 files changed, 35 insertions(+), 2 deletions(-)
create mode 100644 gnu/packages/patches/knot-test_net_shortwrite-ensure-connection.patch

--
2.28.0
Simon South wrote 4 years ago
[PATCH 1/3] gnu: knot: Enable DNS-over-HTTPS support in kdig.
(address . 43823@debbugs.gnu.org)
e1e38bde10722b9c8f48a3e17a40744735459968.1601941844.git.simon@simonsouth.net
This also silences a configure warning regarding the missing
"libnghttp2" library.

* gnu/packages/dns.scm (knot)[inputs]: Add nghttp2:lib.
---
gnu/packages/dns.scm | 1 +
1 file changed, 1 insertion(+)

Toggle diff (14 lines)
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 0cb8df94df..d791c45f69 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -862,6 +862,7 @@ Extensions} (DNSSEC).")
("libcap-ng" ,libcap-ng)
("libedit" ,libedit)
("libidn" ,libidn)
+ ("libnghttp2" ,nghttp2 "lib")
("liburcu" ,liburcu)
("lmdb" ,lmdb)
("ncurses" ,ncurses)
--
2.28.0
Simon South wrote 4 years ago
[PATCH 2/3] gnu: knot: Build the Info manual.
(address . 43823@debbugs.gnu.org)
201a17b6e4fe8abb50cf759fe50db1b339b17657.1601941844.git.simon@simonsouth.net
This also silences a configure warning about the "sphinx-build"
command being unavailable.

* gnu/packages/dns.scm (knot)[arguments]: Add "build-info" and
"install-info" phases.
[native-inputs]: Add texinfo and python-sphinx.
---
gnu/packages/dns.scm | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)

Toggle diff (45 lines)
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index d791c45f69..0eab03fbbd 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -69,6 +69,7 @@
#:use-module (gnu packages shells)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages swig)
+ #:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
@@ -841,6 +842,9 @@ Extensions} (DNSSEC).")
;; This is needed even when using ‘make config_dir=... install’.
(substitute* "src/Makefile.in" (("\\$\\(INSTALL\\) -d") "true"))
#t))
+ (add-after 'build 'build-info
+ (lambda _
+ (invoke "make" "info")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -848,13 +852,18 @@ Extensions} (DNSSEC).")
(etc (string-append doc "/examples/etc")))
(invoke "make"
(string-append "config_dir=" etc)
- "install")))))))
+ "install"))))
+ (add-after 'install 'install-info
+ (lambda _
+ (invoke "make" "install-info"))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
+ ("makeinfo" ,texinfo)
("pkg-config" ,pkg-config)
- ("ragel" ,ragel)))
+ ("ragel" ,ragel)
+ ("sphinx-build" ,python-sphinx)))
(inputs
`(("fstrm" ,fstrm)
("gnutls" ,gnutls)
--
2.28.0
Simon South wrote 4 years ago
[PATCH 3/3] gnu: knot: Fix test failure on aarch64-linux.
(address . 43823@debbugs.gnu.org)
e15bcd63e47c9d07496579d5b2a271b5f22382e1.1601941844.git.simon@simonsouth.net
* gnu/packages/dns.scm (knot)[source]: Apply patch from upstream that
helps ensure the "test_net_shortwrite" test suite can complete
regardless of platform or configuration.
* gnu/packages/patches/knot-test_net_shortwrite-ensure-connection.patch:
New file.
---
gnu/packages/dns.scm | 2 ++
...est_net_shortwrite-ensure-connection.patch | 21 +++++++++++++++++++
2 files changed, 23 insertions(+)
create mode 100644 gnu/packages/patches/knot-test_net_shortwrite-ensure-connection.patch

Toggle diff (42 lines)
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 0eab03fbbd..40739b2dfa 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -815,6 +815,8 @@ Extensions} (DNSSEC).")
(file-name (git-file-name name version))
(sha256
(base32 "0fkvip7n5ihjfwnnivdc3jf44y8p85ifglvq7b0anxvj9cg1m78f"))
+ (patches
+ (search-patches "knot-test_net_shortwrite-ensure-connection.patch"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/patches/knot-test_net_shortwrite-ensure-connection.patch b/gnu/packages/patches/knot-test_net_shortwrite-ensure-connection.patch
new file mode 100644
index 0000000000..63b949e576
--- /dev/null
+++ b/gnu/packages/patches/knot-test_net_shortwrite-ensure-connection.patch
@@ -0,0 +1,21 @@
+commit 4144d1e9b73ce18d919d980e803e935ba4e7c109
+Author: Simon South <simon@simonsouth.net>
+Date: Tue Sep 29 14:53:30 2020 -0400
+
+ test_net_shortwrite: ensure connection can succeed
+
+ closes #693
+
+diff --git a/tests/contrib/test_net_shortwrite.c b/tests/contrib/test_net_shortwrite.c
+index 8c8cf92ec..69bab7155 100644
+--- a/tests/contrib/test_net_shortwrite.c
++++ b/tests/contrib/test_net_shortwrite.c
+@@ -88,7 +88,7 @@ int main(int argc, char *argv[])
+ int server = net_bound_socket(SOCK_STREAM, &addr, 0);
+ ok(server >= 0, "server: bind socket");
+
+- r = listen(server, 0);
++ r = listen(server, 1);
+ ok(r == 0, "server: start listening");
+
+ struct sockaddr *sa = (struct sockaddr *)&addr;
--
2.28.0
Tobias Geerinckx-Rice wrote 4 years ago
Re: [PATCH 0/3] Knot: Enable DoH; build Info manual; work on aarch64-linux
(name . Simon South)(address . simon@simonsouth.net)(address . guix-patches@gnu.org)
87h7r888kh.fsf@nckx
Simon,

Simon South 写道:
Toggle quote (5 lines)
> These changes to the Knot package complement work done today by
> Tobias[0] by silencing the remaining warnings from configure
> while
> adding a bit of new functionality. The patches

Neatness! Thank you.

I would like to take another stab at enabling the new XDP support
and sneak it into your series before pushing the lot. Everyone's
built quite enough knots for a while.

Kind regards,

T G-R
-----BEGIN PGP SIGNATURE-----

iIMEARYKACsWIQT12iAyS4c9C3o4dnINsP+IT1VteQUCX3vDng0cbWVAdG9iaWFz
LmdyAAoJEA2w/4hPVW15aEEBAIJ5mnPDC3Pxb8+ALIs4qiPYwcYqW3KkCbkhCMoq
ZbnAAQDtevIUuPKgHPusj1QadYYbIZHGo9h6IdPht/LwDnS3DQ==
=HT89
-----END PGP SIGNATURE-----

Tobias Geerinckx-Rice wrote 4 years ago
Re: [PATCH 2/3] gnu: knot: Build the Info manual.
(name . Simon South)(address . simon@simonsouth.net)(address . 43823@debbugs.gnu.org)
87eemc88hy.fsf@nckx
Simon,

Simon South 写道:
Toggle quote (3 lines)
> This also silences a configure warning about the "sphinx-build"
> command being unavailable.

./configure is a noisy boy; not every ‘warning’ warrants action.
A GNU info manual is definitely nice to have though!

Toggle quote (6 lines)
> + ("makeinfo" ,texinfo)
> ("pkg-config" ,pkg-config)
> - ("ragel" ,ragel)))
> + ("ragel" ,ragel)
> + ("sphinx-build" ,python-sphinx)))

It's a subjective line but I'd prefer the labels match the package
here. Nitpick, can be fixed up in post.

Otherwise LGTM,

T G-R
-----BEGIN PGP SIGNATURE-----

iIMEARYKACsWIQT12iAyS4c9C3o4dnINsP+IT1VteQUCX3vD+Q0cbWVAdG9iaWFz
LmdyAAoJEA2w/4hPVW15lw8BAPT6pMXV1Fw2suVDVGexDqQLHdw/FUmlrflpxaWF
gxS9AQCwRfvoYxlKuBBznKUnFUgpGGaEeg7lBHElHF2Hu7hNBQ==
=W/6M
-----END PGP SIGNATURE-----

Tobias Geerinckx-Rice wrote 4 years ago
Re: [PATCH 1/3] gnu: knot: Enable DNS-over-HTTPS support in kdig.
(name . Simon South)(address . simon@simonsouth.net)(address . 43823@debbugs.gnu.org)
87blhg88ge.fsf@nckx
Simon South 写道:
Toggle quote (6 lines)
> @@ -862,6 +862,7 @@ Extensions} (DNSSEC).")
> ("libcap-ng" ,libcap-ng)
> ("libedit" ,libedit)
> ("libidn" ,libidn)
> + ("libnghttp2" ,nghttp2 "lib")

LGTM.

Kind regards,

T G-R
-----BEGIN PGP SIGNATURE-----

iIMEARYKACsWIQT12iAyS4c9C3o4dnINsP+IT1VteQUCX3vEMQ0cbWVAdG9iaWFz
LmdyAAoJEA2w/4hPVW15xK4A/0tk9UIeh7+vRLcxIQzs4coiQ+LhUPZ6sEtgBcVD
EYQ9AP4h2N17AU7Kg21OaYVOGJ7tUXNf9dv2mIKWR7NVoV8EBw==
=TDhW
-----END PGP SIGNATURE-----

Tobias Geerinckx-Rice wrote 4 years ago
Re: [PATCH 3/3] gnu: knot: Fix test failure on aarch64-linux.
(name . Simon South)(address . simon@simonsouth.net)(address . 43823@debbugs.gnu.org)
878sck889j.fsf@nckx
Simon,

Simon South 写道:
Toggle quote (5 lines)
> * gnu/packages/dns.scm (knot)[source]: Apply patch from upstream
> that
> helps ensure the "test_net_shortwrite" test suite can complete
> regardless of platform or configuration.

[...]

Toggle quote (6 lines)
> +++
> b/gnu/packages/patches/knot-test_net_shortwrite-ensure-connection.patch
> @@ -0,0 +1,21 @@
> +commit 4144d1e9b73ce18d919d980e803e935ba4e7c109
> +Author: Simon South <simon@simonsouth.net>

You're upstream? More neatness.

Toggle quote (2 lines)
> + closes #693

Can we include a Web link to the upstream patch or bug report?

Each new patch file must also be added to dist_patch_DATA in
gnu/local.mk and the commit message. Otherwise LGTM.

Kind regards,

T G-R
-----BEGIN PGP SIGNATURE-----

iIMEARYKACsWIQT12iAyS4c9C3o4dnINsP+IT1VteQUCX3vFKA0cbWVAdG9iaWFz
LmdyAAoJEA2w/4hPVW15cJoA/1hzn//ihQedxR/ckozc/CVd8uws2LJGSuoy8z0O
96ZzAP4uxiyMGZ4BFe65C5C38s5inYknVrMbWUUOun7n42HiAA==
=I4ou
-----END PGP SIGNATURE-----

Simon South wrote 4 years ago
[PATCH v2 1/3] gnu: knot: Enable DNS-over-HTTPS support in kdig.
(address . 43823@debbugs.gnu.org)
c047cf398b2820dd30a244e59f52ab5b34b303c8.1601991615.git.simon@simonsouth.net
* gnu/packages/dns.scm (knot)[inputs]: Add nghttp2:lib.
---
gnu/packages/dns.scm | 1 +
1 file changed, 1 insertion(+)

Toggle diff (14 lines)
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index 0cb8df94df..d791c45f69 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -862,6 +862,7 @@ Extensions} (DNSSEC).")
("libcap-ng" ,libcap-ng)
("libedit" ,libedit)
("libidn" ,libidn)
+ ("libnghttp2" ,nghttp2 "lib")
("liburcu" ,liburcu)
("lmdb" ,lmdb)
("ncurses" ,ncurses)
--
2.28.0
Simon South wrote 4 years ago
[PATCH v2 0/3] Knot: Enable DoH; build Info Manual; work on aarch64-linux
(address . 43823@debbugs.gnu.org)
cover.1601991615.git.simon@simonsouth.net
This updated set of patches incorporates feedback from Tobias
Geerinckx-Rice (thank you!) and improves on the original by

- Using input packages' own name as their label;

- Removing mention in the commit descriptions of silencing warnings
from configure (he's right, it's a bit silly to worry about this);

- Replacing the description in the patch file with something more
informative that includes a link to the original issue; and

- Registering the patch file in gnu/local.mk.

For convenience, here's my original cover letter:

These changes to the Knot package complement work done today by
Tobias[0] by silencing the remaining warnings from configure while
adding a bit of new functionality. The patches

- Enable DNS-over-HTTPS support in the kdig utility, by adding the
nghttp2 library as a native [actually regular] input;

- Cause the Info manual to be built and included in the output; and

- Fix a test[1] that prevented the package from building on
aarch64-linux systems.

[0] Now that everyone's finished building commit 2eb0585.

--
Simon South
simon@simonsouth.net


Simon South (3):
gnu: knot: Enable DNS-over-HTTPS support in kdig.
gnu: knot: Build the Info manual.
gnu: knot: Fix test failure on aarch64-linux.

gnu/local.mk | 1 +
gnu/packages/dns.scm | 16 ++++++++++++++--
...est_net_shortwrite-ensure-connection.patch | 19 +++++++++++++++++++
3 files changed, 34 insertions(+), 2 deletions(-)
create mode 100644 gnu/packages/patches/knot-test_net_shortwrite-ensure-connection.patch

--
2.28.0
Simon South wrote 4 years ago
[PATCH v2 2/3] gnu: knot: Build the Info manual.
(address . 43823@debbugs.gnu.org)
eed78821579ed03dbc2f49e350d83ef02637f3c8.1601991615.git.simon@simonsouth.net
* gnu/packages/dns.scm (knot)[arguments]: Add "build-info" and
"install-info" phases.
[native-inputs]: Add texinfo and python-sphinx.
---
gnu/packages/dns.scm | 13 +++++++++++--
1 file changed, 11 insertions(+), 2 deletions(-)

Toggle diff (45 lines)
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index d791c45f69..b3dd68ccbd 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -69,6 +69,7 @@
#:use-module (gnu packages shells)
#:use-module (gnu packages sphinx)
#:use-module (gnu packages swig)
+ #:use-module (gnu packages texinfo)
#:use-module (gnu packages tls)
#:use-module (gnu packages web)
#:use-module (gnu packages xml)
@@ -841,6 +842,9 @@ Extensions} (DNSSEC).")
;; This is needed even when using ‘make config_dir=... install’.
(substitute* "src/Makefile.in" (("\\$\\(INSTALL\\) -d") "true"))
#t))
+ (add-after 'build 'build-info
+ (lambda _
+ (invoke "make" "info")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
@@ -848,13 +852,18 @@ Extensions} (DNSSEC).")
(etc (string-append doc "/examples/etc")))
(invoke "make"
(string-append "config_dir=" etc)
- "install")))))))
+ "install"))))
+ (add-after 'install 'install-info
+ (lambda _
+ (invoke "make" "install-info"))))))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("pkg-config" ,pkg-config)
- ("ragel" ,ragel)))
+ ("python-sphinx" ,python-sphinx)
+ ("ragel" ,ragel)
+ ("texinfo" ,texinfo)))
(inputs
`(("fstrm" ,fstrm)
("gnutls" ,gnutls)
--
2.28.0
Simon South wrote 4 years ago
[PATCH v2 3/3] gnu: knot: Fix test failure on aarch64-linux.
(address . 43823@debbugs.gnu.org)
11f47227ef927f18f0c8d77a26173247360128d9.1601991615.git.simon@simonsouth.net
* gnu/packages/dns.scm (knot)[source]: Apply patch from upstream that
helps ensure the "test_net_shortwrite" test suite can complete
regardless of platform or configuration.
* gnu/packages/patches/knot-test_net_shortwrite-ensure-connection.patch:
New file.
* gnu/local.mk: Add it.
---
gnu/local.mk | 1 +
gnu/packages/dns.scm | 2 ++
...est_net_shortwrite-ensure-connection.patch | 19 +++++++++++++++++++
3 files changed, 22 insertions(+)
create mode 100644 gnu/packages/patches/knot-test_net_shortwrite-ensure-connection.patch

Toggle diff (52 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 59cad38504..83d2d72ab1 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1198,6 +1198,7 @@ dist_patch_DATA = \
%D%/packages/patches/kpackage-allow-external-paths.patch \
%D%/packages/patches/kmplayer-aarch64.patch \
%D%/packages/patches/kmplayer-upstream_Fix-build-with-Qt-5.9.patch \
+ %D%/packages/patches/knot-test_net_shortwrite-ensure-connection.patch \
%D%/packages/patches/kobodeluxe-paths.patch \
%D%/packages/patches/kobodeluxe-enemies-pipe-decl.patch \
%D%/packages/patches/kobodeluxe-const-charp-conversion.patch \
diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index b3dd68ccbd..97e919517c 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -815,6 +815,8 @@ Extensions} (DNSSEC).")
(file-name (git-file-name name version))
(sha256
(base32 "0fkvip7n5ihjfwnnivdc3jf44y8p85ifglvq7b0anxvj9cg1m78f"))
+ (patches
+ (search-patches "knot-test_net_shortwrite-ensure-connection.patch"))
(modules '((guix build utils)))
(snippet
'(begin
diff --git a/gnu/packages/patches/knot-test_net_shortwrite-ensure-connection.patch b/gnu/packages/patches/knot-test_net_shortwrite-ensure-connection.patch
new file mode 100644
index 0000000000..9e86fbdb58
--- /dev/null
+++ b/gnu/packages/patches/knot-test_net_shortwrite-ensure-connection.patch
@@ -0,0 +1,19 @@
+This patch duplicates upstream commit 4144d1e, which helps ensure the
+"test_net_shortwrite" test suite can succeed across all platforms by
+deepening the pending-connection queue of the server it creates from 0
+to 1.
+
+See the original report at
+https://gitlab.nic.cz/knot/knot-dns/-/issues/693
+
+--- a/tests/contrib/test_net_shortwrite.c
++++ b/tests/contrib/test_net_shortwrite.c
+@@ -88,7 +88,7 @@ int main(int argc, char *argv[])
+ int server = net_bound_socket(SOCK_STREAM, &addr, 0);
+ ok(server >= 0, "server: bind socket");
+
+- r = listen(server, 0);
++ r = listen(server, 1);
+ ok(r == 0, "server: start listening");
+
+ struct sockaddr *sa = (struct sockaddr *)&addr;
--
2.28.0
Tobias Geerinckx-Rice wrote 4 years ago
Re: [PATCH v2 0/3] Knot: Enable DoH; build Info Manual; work on aarch64-linux
(name . Simon South)(address . simon@simonsouth.net)(address . 43823-done@debbugs.gnu.org)
87mu0zzaaz.fsf@nckx
Simon,

Thank you for this series. I really like the way our Knot package
looks now.

Pushed to master as 4e869b180a94aa5bf5ae70ca48e0527e8e8db8db
together with XDP support, and some insignificant changes:

Simon South 写道:
Toggle quote (5 lines)
> - Removing mention in the commit descriptions of silencing
> warnings
> from configure (he's right, it's a bit silly to worry about
> this);

These warnings weren't worth it but it's certainly not silly to
pay attention to ./configure output. Good habit. ./configure
can't know if we're regressing, after all.

Toggle quote (4 lines)
> - Replacing the description in the patch file with something
> more
> informative that includes a link to the original issue; and

Thanks.

Toggle quote (2 lines)
> - Registering the patch file in gnu/local.mk.

Perfect. I added ‘(dist_patch_DATA)’ to the commit message.

Closing,

T G-R
-----BEGIN PGP SIGNATURE-----

iIMEARYKACsWIQT12iAyS4c9C3o4dnINsP+IT1VteQUCX3yCFA0cbWVAdG9iaWFz
LmdyAAoJEA2w/4hPVW15MQoBANiHQTh99UuEXMr6i5lPnc+HJjpUKpsu1Hmy6dYF
0WDTAP9BWafp87o27W0hV0zTx6qzsElXuOaAdvmFv1W8uYsrBQ==
=gPqI
-----END PGP SIGNATURE-----

Closed
Tobias Geerinckx-Rice wrote 4 years ago
Re: bug#43823: [PATCH v2 0/3] Knot: Enable DoH; build Info Manual; work on aarch64-linux
(name . Tobias Geerinckx-Rice via Guix-patches)(address . guix-patches@gnu.org)
87k0w3z9x0.fsf@nckx
Tobias Geerinckx-Rice via Guix-patches via 写道:
Toggle quote (4 lines)
> Pushed to master as 4e869b180a94aa5bf5ae70ca48e0527e8e8db8db
> together
> with XDP support, and some insignificant changes:

Oh, and of course a copyright line for you in (gnu packages dns).

Kind regards,

T G-R
-----BEGIN PGP SIGNATURE-----

iIMEARYKACsWIQT12iAyS4c9C3o4dnINsP+IT1VteQUCX3yECw0cbWVAdG9iaWFz
LmdyAAoJEA2w/4hPVW15u00BAMMyLHN1xc/esXRo8GtUNEHNQOtyQzSJVg8nRSRc
qo1pAP9frLe/irnFa67hoHhRf+EdcM9FQ762fU6RDUGPRIFoAA==
=CoLM
-----END PGP SIGNATURE-----

?
Your comment

This issue is archived.

To comment on this conversation send an email to 43823@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 43823
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help