All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v5 1/1] mosh: new package
@ 2015-07-24 22:24 Christian Stewart
  2015-07-24 22:26 ` Christian Stewart
  2015-07-25 12:15 ` Yann E. MORIN
  0 siblings, 2 replies; 3+ messages in thread
From: Christian Stewart @ 2015-07-24 22:24 UTC (permalink / raw)
  To: buildroot

Adding mosh, the mobile shell.

Signed-off-by: Christian Stewart <christian@paral.in>
---
 package/Config.in                                  |  1 +
 package/mosh/0001-remove-system-locale-calls.patch | 49 ++++++++++++++++++++++
 package/mosh/Config.in                             | 22 ++++++++++
 package/mosh/mosh.hash                             |  1 +
 package/mosh/mosh.mk                               | 13 ++++++
 5 files changed, 86 insertions(+)
 create mode 100644 package/mosh/0001-remove-system-locale-calls.patch
 create mode 100644 package/mosh/Config.in
 create mode 100644 package/mosh/mosh.hash
 create mode 100644 package/mosh/mosh.mk

diff --git a/package/Config.in b/package/Config.in
index cfa7512..d1e6640 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1250,6 +1250,7 @@ endif
 	source "package/mongoose/Config.in"
 	source "package/mongrel2/Config.in"
 	source "package/monkey/Config.in"
+	source "package/mosh/Config.in"
 	source "package/mosquitto/Config.in"
 	source "package/mrouted/Config.in"
 	source "package/mtr/Config.in"
diff --git a/package/mosh/0001-remove-system-locale-calls.patch b/package/mosh/0001-remove-system-locale-calls.patch
new file mode 100644
index 0000000..f44e166
--- /dev/null
+++ b/package/mosh/0001-remove-system-locale-calls.patch
@@ -0,0 +1,49 @@
+From b6075c578d2104b58d55e088dccb74370019dde9 Mon Sep 17 00:00:00 2001
+From: Christian Stewart <christian@paral.in>
+Date: Thu, 23 Jul 2015 13:52:35 -0700
+Subject: [PATCH 1/1] Remove system("locale") calls.
+
+The locale command is not available on many systems. As this variable
+is unused and appears to have been written with the intent of
+displaying the locale settings to the user, it's not really necessary.
+As this breaks Mosh on a lot of systems, it's best to remove the calls.
+
+Signed-off-by: Christian Stewart <christian@paral.in>
+---
+ src/frontend/mosh-server.cc | 4 +++-
+ src/frontend/stmclient.cc   | 4 +++-
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/src/frontend/mosh-server.cc b/src/frontend/mosh-server.cc
+index 76ed2ed..0d2f222 100644
+--- a/src/frontend/mosh-server.cc
++++ b/src/frontend/mosh-server.cc
+@@ -313,7 +313,9 @@ int main( int argc, char *argv[] )
+       fprintf( stderr, "mosh-server needs a UTF-8 native locale to run.\n\n" );
+       fprintf( stderr, "Unfortunately, the local environment (%s) specifies\nthe character set \"%s\",\n\n", native_ctype.str().c_str(), native_charset.c_str() );
+       fprintf( stderr, "The client-supplied environment (%s) specifies\nthe character set \"%s\".\n\n", client_ctype.str().c_str(), client_charset.c_str() );
+-      int unused __attribute((unused)) = system( "locale" );
++
++      fprintf( stderr, "This is a buildroot system, 'locale' debug output has been removed." );
++
+       exit( 1 );
+     }
+   }
+diff --git a/src/frontend/stmclient.cc b/src/frontend/stmclient.cc
+index 9e4d916..06fac8b 100644
+--- a/src/frontend/stmclient.cc
++++ b/src/frontend/stmclient.cc
+@@ -85,7 +85,9 @@ void STMClient::init( void )
+ 
+     fprintf( stderr, "mosh-client needs a UTF-8 native locale to run.\n\n" );
+     fprintf( stderr, "Unfortunately, the client's environment (%s) specifies\nthe character set \"%s\".\n\n", native_ctype.str().c_str(), native_charset.c_str() );
+-    int unused __attribute((unused)) = system( "locale" );
++
++    fprintf( stderr, "This is a buildroot system, 'locale' debug output has been removed." );
++
+     exit( 1 );
+   }
+ 
+-- 
+2.1.4
+
diff --git a/package/mosh/Config.in b/package/mosh/Config.in
new file mode 100644
index 0000000..4013f80
--- /dev/null
+++ b/package/mosh/Config.in
@@ -0,0 +1,22 @@
+comment "mosh needs a toolchain w/ threads"
+	depends on !BR2_TOOLCHAIN_HAS_THREADS
+
+comment "mosh needs a host architecture of x64 or x86"
+	depends on BR2_arm || BR2_i386 || BR2_mipsel || BR2_x86_64
+	depends on !(BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86")
+
+config BR2_PACKAGE_MOSH
+	bool "mosh"
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_arm || BR2_i386 || BR2_mipsel || BR2_x86_64
+	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
+	select BR2_PACKAGE_PROTOBUF
+	select BR2_PACKAGE_NCURSES
+	select BR2_PACKAGE_OPENSSL
+	select BR2_PACKAGE_OPENSSH
+	help
+	  Remote terminal application that supports intermittent connectivity,
+	  allows roaming, and provides speculative local echo and line editing
+	  of user keystrokes.
+
+	  https://mosh.mit.edu
diff --git a/package/mosh/mosh.hash b/package/mosh/mosh.hash
new file mode 100644
index 0000000..a78cb33
--- /dev/null
+++ b/package/mosh/mosh.hash
@@ -0,0 +1 @@
+sha256 637adb7f67406447e9264d30468fe69a6d5e8f97518ef133d794cdc65483fa54 mosh-1.2.5.tar.gz
diff --git a/package/mosh/mosh.mk b/package/mosh/mosh.mk
new file mode 100644
index 0000000..dcb12fc
--- /dev/null
+++ b/package/mosh/mosh.mk
@@ -0,0 +1,13 @@
+################################################################################
+#
+# mosh
+#
+################################################################################
+
+MOSH_VERSION = 1.2.5
+MOSH_SITE = https://mosh.mit.edu/mosh-$(MOSH_VERSION).tar.gz
+MOSH_DEPENDENCIES = zlib ncurses protobuf openssl
+MOSH_LICENSE = GPLv3+
+MOSH_LICENSE_FILES = COPYING COPYING.iOS
+
+$(eval $(autotools-package))
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH v5 1/1] mosh: new package
  2015-07-24 22:24 [Buildroot] [PATCH v5 1/1] mosh: new package Christian Stewart
@ 2015-07-24 22:26 ` Christian Stewart
  2015-07-25 12:15 ` Yann E. MORIN
  1 sibling, 0 replies; 3+ messages in thread
From: Christian Stewart @ 2015-07-24 22:26 UTC (permalink / raw)
  To: buildroot

All,

I believe I've addressed the concerns in the previous emails. Hopefully
this works!

The file is now from the mosh website.

Regards,
Christian

On Fri, Jul 24, 2015 at 3:25 PM Christian Stewart <christian@paral.in>
wrote:

> Adding mosh, the mobile shell.
>
> Signed-off-by: Christian Stewart <christian@paral.in>
> ---
>  package/Config.in                                  |  1 +
>  package/mosh/0001-remove-system-locale-calls.patch | 49
> ++++++++++++++++++++++
>  package/mosh/Config.in                             | 22 ++++++++++
>  package/mosh/mosh.hash                             |  1 +
>  package/mosh/mosh.mk                               | 13 ++++++
>  5 files changed, 86 insertions(+)
>  create mode 100644 package/mosh/0001-remove-system-locale-calls.patch
>  create mode 100644 package/mosh/Config.in
>  create mode 100644 package/mosh/mosh.hash
>  create mode 100644 package/mosh/mosh.mk
>
> diff --git a/package/Config.in b/package/Config.in
> index cfa7512..d1e6640 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1250,6 +1250,7 @@ endif
>         source "package/mongoose/Config.in"
>         source "package/mongrel2/Config.in"
>         source "package/monkey/Config.in"
> +       source "package/mosh/Config.in"
>         source "package/mosquitto/Config.in"
>         source "package/mrouted/Config.in"
>         source "package/mtr/Config.in"
> diff --git a/package/mosh/0001-remove-system-locale-calls.patch
> b/package/mosh/0001-remove-system-locale-calls.patch
> new file mode 100644
> index 0000000..f44e166
> --- /dev/null
> +++ b/package/mosh/0001-remove-system-locale-calls.patch
> @@ -0,0 +1,49 @@
> +From b6075c578d2104b58d55e088dccb74370019dde9 Mon Sep 17 00:00:00 2001
> +From: Christian Stewart <christian@paral.in>
> +Date: Thu, 23 Jul 2015 13:52:35 -0700
> +Subject: [PATCH 1/1] Remove system("locale") calls.
> +
> +The locale command is not available on many systems. As this variable
> +is unused and appears to have been written with the intent of
> +displaying the locale settings to the user, it's not really necessary.
> +As this breaks Mosh on a lot of systems, it's best to remove the calls.
> +
> +Signed-off-by: Christian Stewart <christian@paral.in>
> +---
> + src/frontend/mosh-server.cc | 4 +++-
> + src/frontend/stmclient.cc   | 4 +++-
> + 2 files changed, 6 insertions(+), 2 deletions(-)
> +
> +diff --git a/src/frontend/mosh-server.cc b/src/frontend/mosh-server.cc
> +index 76ed2ed..0d2f222 100644
> +--- a/src/frontend/mosh-server.cc
> ++++ b/src/frontend/mosh-server.cc
> +@@ -313,7 +313,9 @@ int main( int argc, char *argv[] )
> +       fprintf( stderr, "mosh-server needs a UTF-8 native locale to
> run.\n\n" );
> +       fprintf( stderr, "Unfortunately, the local environment (%s)
> specifies\nthe character set \"%s\",\n\n", native_ctype.str().c_str(),
> native_charset.c_str() );
> +       fprintf( stderr, "The client-supplied environment (%s)
> specifies\nthe character set \"%s\".\n\n", client_ctype.str().c_str(),
> client_charset.c_str() );
> +-      int unused __attribute((unused)) = system( "locale" );
> ++
> ++      fprintf( stderr, "This is a buildroot system, 'locale' debug
> output has been removed." );
> ++
> +       exit( 1 );
> +     }
> +   }
> +diff --git a/src/frontend/stmclient.cc b/src/frontend/stmclient.cc
> +index 9e4d916..06fac8b 100644
> +--- a/src/frontend/stmclient.cc
> ++++ b/src/frontend/stmclient.cc
> +@@ -85,7 +85,9 @@ void STMClient::init( void )
> +
> +     fprintf( stderr, "mosh-client needs a UTF-8 native locale to
> run.\n\n" );
> +     fprintf( stderr, "Unfortunately, the client's environment (%s)
> specifies\nthe character set \"%s\".\n\n", native_ctype.str().c_str(),
> native_charset.c_str() );
> +-    int unused __attribute((unused)) = system( "locale" );
> ++
> ++    fprintf( stderr, "This is a buildroot system, 'locale' debug output
> has been removed." );
> ++
> +     exit( 1 );
> +   }
> +
> +--
> +2.1.4
> +
> diff --git a/package/mosh/Config.in b/package/mosh/Config.in
> new file mode 100644
> index 0000000..4013f80
> --- /dev/null
> +++ b/package/mosh/Config.in
> @@ -0,0 +1,22 @@
> +comment "mosh needs a toolchain w/ threads"
> +       depends on !BR2_TOOLCHAIN_HAS_THREADS
> +
> +comment "mosh needs a host architecture of x64 or x86"
> +       depends on BR2_arm || BR2_i386 || BR2_mipsel || BR2_x86_64
> +       depends on !(BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86")
> +
> +config BR2_PACKAGE_MOSH
> +       bool "mosh"
> +       depends on BR2_TOOLCHAIN_HAS_THREADS
> +       depends on BR2_arm || BR2_i386 || BR2_mipsel || BR2_x86_64
> +       depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
> +       select BR2_PACKAGE_PROTOBUF
> +       select BR2_PACKAGE_NCURSES
> +       select BR2_PACKAGE_OPENSSL
> +       select BR2_PACKAGE_OPENSSH
> +       help
> +         Remote terminal application that supports intermittent
> connectivity,
> +         allows roaming, and provides speculative local echo and line
> editing
> +         of user keystrokes.
> +
> +         https://mosh.mit.edu
> diff --git a/package/mosh/mosh.hash b/package/mosh/mosh.hash
> new file mode 100644
> index 0000000..a78cb33
> --- /dev/null
> +++ b/package/mosh/mosh.hash
> @@ -0,0 +1 @@
> +sha256 637adb7f67406447e9264d30468fe69a6d5e8f97518ef133d794cdc65483fa54
> mosh-1.2.5.tar.gz
> diff --git a/package/mosh/mosh.mk b/package/mosh/mosh.mk
> new file mode 100644
> index 0000000..dcb12fc
> --- /dev/null
> +++ b/package/mosh/mosh.mk
> @@ -0,0 +1,13 @@
>
> +################################################################################
> +#
> +# mosh
> +#
>
> +################################################################################
> +
> +MOSH_VERSION = 1.2.5
> +MOSH_SITE = https://mosh.mit.edu/mosh-$(MOSH_VERSION).tar.gz
> +MOSH_DEPENDENCIES = zlib ncurses protobuf openssl
> +MOSH_LICENSE = GPLv3+
> +MOSH_LICENSE_FILES = COPYING COPYING.iOS
> +
> +$(eval $(autotools-package))
> --
> 2.1.4
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20150724/53bd3705/attachment.html>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot] [PATCH v5 1/1] mosh: new package
  2015-07-24 22:24 [Buildroot] [PATCH v5 1/1] mosh: new package Christian Stewart
  2015-07-24 22:26 ` Christian Stewart
@ 2015-07-25 12:15 ` Yann E. MORIN
  1 sibling, 0 replies; 3+ messages in thread
From: Yann E. MORIN @ 2015-07-25 12:15 UTC (permalink / raw)
  To: buildroot

Christian, All,

On 2015-07-24 15:24 -0700, Christian Stewart spake thusly:
> Adding mosh, the mobile shell.
> 
> Signed-off-by: Christian Stewart <christian@paral.in>
[--SNIP--]
> diff --git a/package/mosh/0001-remove-system-locale-calls.patch b/package/mosh/0001-remove-system-locale-calls.patch
> new file mode 100644
> index 0000000..f44e166
> --- /dev/null
> +++ b/package/mosh/0001-remove-system-locale-calls.patch
> @@ -0,0 +1,49 @@
> +From b6075c578d2104b58d55e088dccb74370019dde9 Mon Sep 17 00:00:00 2001
> +From: Christian Stewart <christian@paral.in>
> +Date: Thu, 23 Jul 2015 13:52:35 -0700
> +Subject: [PATCH 1/1] Remove system("locale") calls.
> +
> +The locale command is not available on many systems. As this variable
> +is unused and appears to have been written with the intent of
> +displaying the locale settings to the user, it's not really necessary.
> +As this breaks Mosh on a lot of systems, it's best to remove the calls.
> +
> +Signed-off-by: Christian Stewart <christian@paral.in>

Maybe add that upstream does nt want this patch, like so:

    Upstream status: refused, see:
    https://github.com/keithw/mosh/issues/650

[--SNIP--]
> diff --git a/package/mosh/Config.in b/package/mosh/Config.in
> new file mode 100644
> index 0000000..4013f80
> --- /dev/null
> +++ b/package/mosh/Config.in
> @@ -0,0 +1,22 @@
> +comment "mosh needs a toolchain w/ threads"
> +	depends on !BR2_TOOLCHAIN_HAS_THREADS
> +
> +comment "mosh needs a host architecture of x64 or x86"
> +	depends on BR2_arm || BR2_i386 || BR2_mipsel || BR2_x86_64
> +	depends on !(BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86")
> +
> +config BR2_PACKAGE_MOSH
> +	bool "mosh"
> +	depends on BR2_TOOLCHAIN_HAS_THREADS
> +	depends on BR2_arm || BR2_i386 || BR2_mipsel || BR2_x86_64
> +	depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"

In the previous iteration, Thomas asked why the host architecture had to
be x86 or x86_64, which you still does not explain here.

But looking at the dependencies of mosh, I see that it depends on
protobuf, which has those dependencies, so here's how we usually note
those inherited dependencies;

    depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"  # protobuf

so that reviewers understand why those dependencies exist. It is also
usefull later on when maintaining the package; if protobuf were to ditch
those dependencies, we can easily grep the tree for protobuf users and
propagate the new dependencies.

So, unless mosh itself needs a dependency, please add those comments at
the end of the deps lines to explain where they are inherited from, like
so:

    depends on BR2_TOOLCHAIN_HAS_THREADS # protobuf

> +	select BR2_PACKAGE_PROTOBUF
> +	select BR2_PACKAGE_NCURSES
> +	select BR2_PACKAGE_OPENSSL
> +	select BR2_PACKAGE_OPENSSH

OpenSSH depends on MMU, which you forgot to propagate.

However, we have another package, dropbear, that can provide an ssh
client, so only want to conditionally select OpenSSH, like so;

    select BR2_PACKAGE_OPENSSH if !BR2_PACKAGE_DROPBEAR_CLIENT

[--SNIP--]
> diff --git a/package/mosh/mosh.mk b/package/mosh/mosh.mk
> new file mode 100644
> index 0000000..dcb12fc
> --- /dev/null
> +++ b/package/mosh/mosh.mk
> @@ -0,0 +1,13 @@
> +################################################################################
> +#
> +# mosh
> +#
> +################################################################################
> +
> +MOSH_VERSION = 1.2.5
> +MOSH_SITE = https://mosh.mit.edu/mosh-$(MOSH_VERSION).tar.gz
> +MOSH_DEPENDENCIES = zlib ncurses protobuf openssl

Here, you build-depend on zlib, but you did not select it in Config.in.

If mosh does need zlib, then you must also select it in the Config.in;
otherwise do not add it here.

> +MOSH_LICENSE = GPLv3+
> +MOSH_LICENSE_FILES = COPYING COPYING.iOS

The COPYING.iOS is adding an exception to the GPLv3, so I owuld change
the licensing info to:

    MOSH_LICENSE = GPLv3+ with exception
    MOSH_LICENSE_FILES = COPYING COPYING.iOS

Regards,
Yann E. MORIN.

> +$(eval $(autotools-package))
> -- 
> 2.1.4
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-07-25 12:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-07-24 22:24 [Buildroot] [PATCH v5 1/1] mosh: new package Christian Stewart
2015-07-24 22:26 ` Christian Stewart
2015-07-25 12:15 ` Yann E. MORIN

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.