* [Buildroot] [PATCH 1/1] shellinabox: new package
@ 2016-07-06 2:27 Olivier Singla
2016-07-06 11:50 ` Thomas Petazzoni
0 siblings, 1 reply; 3+ messages in thread
From: Olivier Singla @ 2016-07-06 2:27 UTC (permalink / raw)
To: buildroot
From: "Olivier Singla" <olivier.singla@gmail.com>
Shell In A Box implements a web server that can export arbitrary command
line tools to a web based terminal emulator. This emulator is accessible
to any JavaScript and CSS enabled web browser and does not require any
additional browser plugins.
Signed-off-by: "Olivier Singla" <olivier.singla@gmail.com>
---
package/Config.in | 1 +
.../shellinabox/0001-Makefile.am-fix-static.patch | 15 +++++++++++++++
package/shellinabox/Config.in | 11 +++++++++++
package/shellinabox/shellinabox.hash | 2 ++
package/shellinabox/shellinabox.mk | 22 ++++++++++++++++++++++
5 files changed, 51 insertions(+)
create mode 100644 package/shellinabox/0001-Makefile.am-fix-static.patch
create mode 100644 package/shellinabox/Config.in
create mode 100644 package/shellinabox/shellinabox.hash
create mode 100644 package/shellinabox/shellinabox.mk
diff --git a/package/Config.in b/package/Config.in
index 15271a2..d6c7600 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1530,6 +1530,7 @@ menu "Networking applications"
source "package/sconeserver/Config.in"
source "package/ser2net/Config.in"
source "package/shairport-sync/Config.in"
+ source "package/shellinabox/Config.in"
source "package/smcroute/Config.in"
source "package/socat/Config.in"
source "package/socketcand/Config.in"
diff --git a/package/shellinabox/0001-Makefile.am-fix-static.patch b/package/shellinabox/0001-Makefile.am-fix-static.patch
new file mode 100644
index 0000000..0fadde0
--- /dev/null
+++ b/package/shellinabox/0001-Makefile.am-fix-static.patch
@@ -0,0 +1,15 @@
+Makefile: disable always building statically.
+
+Signed-off-by: "Olivier Singla" <olivier.singla@gmail.com>
+
+--- shellinabox-2.19/Makefile.am.orig 2016-07-03 20:46:42.655784211 -0400
++++ shellinabox-2.19/Makefile.am 2016-07-03 20:46:50.582801842 -0400
+@@ -126,7 +126,7 @@
+
+ shellinaboxd_LDADD = liblogging.la \
+ libhttp.la
+-shellinaboxd_LDFLAGS = -static
++shellinaboxd_LDFLAGS =
+ ## Added this for compatibility with older versions of autoconf/automake
+ docdir = ${datadir}/doc/${PACKAGE}
+
diff --git a/package/shellinabox/Config.in b/package/shellinabox/Config.in
new file mode 100644
index 0000000..393afe1
--- /dev/null
+++ b/package/shellinabox/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_SHELLINABOX
+ bool "shellinabox"
+ select BR2_PACKAGE_ZLIB
+ depends on BR2_PACKAGE_OPENSSL
+ help
+ Shell In A Box implements a web server that can export arbitrary command
+ line tools to a web based terminal emulator. This emulator is accessible
+ to any JavaScript and CSS enabled web browser and does not require any
+ additional browser plugins.
+
+ https://github.com/shellinabox/shellinabox
diff --git a/package/shellinabox/shellinabox.hash b/package/shellinabox/shellinabox.hash
new file mode 100644
index 0000000..b7d4523
--- /dev/null
+++ b/package/shellinabox/shellinabox.hash
@@ -0,0 +1,2 @@
+# Locally calculated after checking pgp signature
+sha256 d25ba9f72f04471fc1a8a564c65ef466c4553280ff3eeb365ed9c897d05ed2da v2.19.tar.gz
diff --git a/package/shellinabox/shellinabox.mk b/package/shellinabox/shellinabox.mk
new file mode 100644
index 0000000..94e49e0
--- /dev/null
+++ b/package/shellinabox/shellinabox.mk
@@ -0,0 +1,22 @@
+################################################################################
+#
+# shellinabox
+#
+################################################################################
+
+SHELLINABOX_VERSION = v2.19
+SHELLINABOX_SOURCE = $(SHELLINABOX_VERSION).tar.gz
+SHELLINABOX_SITE = https://github.com/shellinabox/shellinabox/archive
+
+# Fetching from Github, and patching Makefile.am, so we need to autoreconf
+SHELLINABOX_AUTORECONF = YES
+
+SHELLINABOX_DEPENDENCIES = zlib
+
+SHELLINABOX_LICENSE = GPLv2 with OpenSSL exception
+SHELLINABOX_CONF_OPTS += --enable-ssl
+SHELLINABOX_DEPENDENCIES += openssl
+SHELLINABOX_LICENSE_FILES = COPYING GPL-2
+SHELLINABOX_CONF_OPTS += --disable-runtime-loading
+
+$(eval $(autotools-package))
--
2.5.5
^ permalink raw reply related [flat|nested] 3+ messages in thread* [Buildroot] [PATCH 1/1] shellinabox: new package
2016-07-06 2:27 [Buildroot] [PATCH 1/1] shellinabox: new package Olivier Singla
@ 2016-07-06 11:50 ` Thomas Petazzoni
0 siblings, 0 replies; 3+ messages in thread
From: Thomas Petazzoni @ 2016-07-06 11:50 UTC (permalink / raw)
To: buildroot
Hello,
Thanks. I've applied your patch, but after doing some changes. Read on
below for the details.
When sending a new version, you should make sure the prefix of the
patch is "PATCH v2". This can be achieved by using the --subject-prefix
option of git format-patch.
On Tue, 5 Jul 2016 22:27:31 -0400, Olivier Singla wrote:
> diff --git a/package/shellinabox/0001-Makefile.am-fix-static.patch b/package/shellinabox/0001-Makefile.am-fix-static.patch
> new file mode 100644
> index 0000000..0fadde0
> --- /dev/null
> +++ b/package/shellinabox/0001-Makefile.am-fix-static.patch
> @@ -0,0 +1,15 @@
> +Makefile: disable always building statically.
> +
> +Signed-off-by: "Olivier Singla" <olivier.singla@gmail.com>
Looks good. Please submit this patch to the upstream shellinabox
developers.
> +config BR2_PACKAGE_SHELLINABOX
> + bool "shellinabox"
> + select BR2_PACKAGE_ZLIB
> + depends on BR2_PACKAGE_OPENSSL
This should have been a "select" not a "depends on". And they should be
ordered alphabetically.
> + help
> + Shell In A Box implements a web server that can export arbitrary command
> + line tools to a web based terminal emulator. This emulator is accessible
> + to any JavaScript and CSS enabled web browser and does not require any
> + additional browser plugins.
Those lines were slightly too long, so I rewrapped the Config.in help
text.
> +
> + https://github.com/shellinabox/shellinabox
> diff --git a/package/shellinabox/shellinabox.hash b/package/shellinabox/shellinabox.hash
> new file mode 100644
> index 0000000..b7d4523
> --- /dev/null
> +++ b/package/shellinabox/shellinabox.hash
> @@ -0,0 +1,2 @@
> +# Locally calculated after checking pgp signature
> +sha256 d25ba9f72f04471fc1a8a564c65ef466c4553280ff3eeb365ed9c897d05ed2da v2.19.tar.gz
> diff --git a/package/shellinabox/shellinabox.mk b/package/shellinabox/shellinabox.mk
> new file mode 100644
> index 0000000..94e49e0
> --- /dev/null
> +++ b/package/shellinabox/shellinabox.mk
> @@ -0,0 +1,22 @@
> +################################################################################
> +#
> +# shellinabox
> +#
> +################################################################################
> +
> +SHELLINABOX_VERSION = v2.19
> +SHELLINABOX_SOURCE = $(SHELLINABOX_VERSION).tar.gz
> +SHELLINABOX_SITE = https://github.com/shellinabox/shellinabox/archive
In the previous review, I think you were told to use the github helper
function, but didn't take into account this comment. So I've done the
necessary change.
> +
> +# Fetching from Github, and patching Makefile.am, so we need to autoreconf
> +SHELLINABOX_AUTORECONF = YES
> +
> +SHELLINABOX_DEPENDENCIES = zlib
> +
> +SHELLINABOX_LICENSE = GPLv2 with OpenSSL exception
> +SHELLINABOX_CONF_OPTS += --enable-ssl
> +SHELLINABOX_DEPENDENCIES += openssl
It would have been good to indicate why you force enable the OpenSSL
support, while it seemed to be optional. I've tested, and indeed with
OpenSSL disabled, it fails to build. I've reported this issue upstream.
So, I've grouped things together and added a comment:
# The OpenSSL support is supposed to be optional, but in practice,
# with OpenSSL disabled, it fails to build. See
# https://github.com/shellinabox/shellinabox/issues/385.
SHELLINABOX_DEPENDENCIES = zlib openssl
SHELLINABOX_CONF_OPTS = \
--disable-runtime-loading \
--enable-ssl
As said above, I've fixed those issues and applied your patch.
Since shellinaboxd is a daemon, it would be great to have it started
automatically at boot time. Could you submit a follow-up patch that
adds either a init script or a systemd service file (or ideally both) ?
Thanks a lot for your contribution!
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Buildroot] [PATCH 1/1] ShellInABox: new package
@ 2016-02-04 13:23 Lucas Zampar Bernardi
0 siblings, 0 replies; 3+ messages in thread
From: Lucas Zampar Bernardi @ 2016-02-04 13:23 UTC (permalink / raw)
To: buildroot
From: Lucas Zampar Bernardi <lucas@writesys.com.br>
This patch add new package ShellInABox that is a program that implements
an in-browser command line shell. It works on any JavaScript and
CSS enabled web browser.
Installing it on your Linux board you can get the access to the command
prompt directly from web without any needs to install terminal software
on your PC.
Signed-off-by: Lucas Zampar Bernardi <lucas.zampar@gmail.com>
---
package/Config.in | 1 +
package/shellinabox/Config.in | 10 +++++++
package/shellinabox/S51shellinabox | 33 ++++++++++++++++++++++
.../shellinabox-2.19-remove-static-library.patch | 12 ++++++++
package/shellinabox/shellinabox.mk | 20 +++++++++++++
5 files changed, 76 insertions(+)
create mode 100644 package/shellinabox/Config.in
create mode 100644 package/shellinabox/S51shellinabox
create mode 100644 package/shellinabox/shellinabox-2.19-remove-static-library.patch
create mode 100644 package/shellinabox/shellinabox.mk
diff --git a/package/Config.in b/package/Config.in
index 529ad33..54afbc9 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1444,6 +1444,7 @@ endif
source "package/sconeserver/Config.in"
source "package/ser2net/Config.in"
source "package/shairport-sync/Config.in"
+ source "package/shellinabox/Config.in
source "package/smcroute/Config.in"
source "package/socat/Config.in"
source "package/socketcand/Config.in"
diff --git a/package/shellinabox/Config.in b/package/shellinabox/Config.in
new file mode 100644
index 0000000..4187e18
--- /dev/null
+++ b/package/shellinabox/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_SHELLINABOX
+ bool "shellinabox"
+ select BR2_PACKAGE_ZLIB
+ help
+ Shell in a box - implements a web server that can
+ export arbitrary command line tools to a web based terminal emulator.
+ This emulator is accessible to any JavaScript and CSS
+ enabled web browser and does not require any additional browser plugins.
+
+ http://shellinabox.googlecode.com
diff --git a/package/shellinabox/S51shellinabox b/package/shellinabox/S51shellinabox
new file mode 100644
index 0000000..16298e8
--- /dev/null
+++ b/package/shellinabox/S51shellinabox
@@ -0,0 +1,33 @@
+#! /bin/sh
+
+NAME=shellinaboxd
+DAEMON=/usr/bin/$NAME
+ARGS="-s/:LOGIN -t --no-beep -b"
+
+# Gracefully exit if the package has been removed.
+test -x $DAEMON || exit 0
+
+case "$1" in
+ start)
+ printf "Starting $NAME: "
+ start-stop-daemon -S -q -x $DAEMON -- $ARGS
+ [ $? = 0 ] && echo "OK" || echo "FAIL"
+ ;;
+ stop)
+ printf "Stopping $NAME: "
+ start-stop-daemon -K -q -n $NAME
+ [ $? = 0 ] && echo "OK" || echo "FAIL"
+ ;;
+ restart|reload)
+ echo "Restarting $NAME: "
+ $0 stop
+ sleep 1
+ $0 start
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|reload}" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/package/shellinabox/shellinabox-2.19-remove-static-library.patch b/package/shellinabox/shellinabox-2.19-remove-static-library.patch
new file mode 100644
index 0000000..dcbeb05
--- /dev/null
+++ b/package/shellinabox/shellinabox-2.19-remove-static-library.patch
@@ -0,0 +1,12 @@
+diff -rup shellinabox-2.19_original/Makefile.am shellinabox-2.19/Makefile.am
+--- shellinabox-2.19_original/Makefile.am 2016-02-03 14:17:44.699913649 -0200
++++ shellinabox-2.19/Makefile.am 2016-02-03 14:08:59.795376662 -0200
+@@ -126,7 +126,7 @@ BUILT_SOURCES = shellinabox/beep.
+
+ shellinaboxd_LDADD = liblogging.la \
+ libhttp.la
+-shellinaboxd_LDFLAGS = -static
++#shellinaboxd_LDFLAGS = -static
+ ## Added this for compatibility with older versions of autoconf/automake
+ docdir = ${datadir}/doc/${PACKAGE}
+
diff --git a/package/shellinabox/shellinabox.mk b/package/shellinabox/shellinabox.mk
new file mode 100644
index 0000000..c2fe686
--- /dev/null
+++ b/package/shellinabox/shellinabox.mk
@@ -0,0 +1,20 @@
+################################################################################
+#
+# shellinabox
+#
+################################################################################
+
+SHELLINABOX_VERSION = 2.19
+SHELLINABOX_SOURCE = v$(SHELLINABOX_VERSION).tar.gz
+SHELLINABOX_SITE = https://github.com/shellinabox/shellinabox/archive
+SHELLINABOX_AUTORECONF = YES
+SHELLINABOX_DEPENDENCIES = zlib openssl
+SHELLINABOX_LICENSE = GPLv2
+
+
+define NTP_INSTALL_TARGET_CMDS
+ $(INSTALL) -D -m 755 package/shellinabox/S51shellinabox $(TARGET_DIR)/etc/init.d/S51shellinabox
+endef
+
+
+$(eval $(autotools-package))
--
2.5.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-07-06 11:50 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-06 2:27 [Buildroot] [PATCH 1/1] shellinabox: new package Olivier Singla
2016-07-06 11:50 ` Thomas Petazzoni
-- strict thread matches above, loose matches on Subject: below --
2016-02-04 13:23 [Buildroot] [PATCH 1/1] ShellInABox: " Lucas Zampar Bernardi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox