Skip to contentSkip to conversation

ShellInABox: new package

PATCH Superseded Lucas Zampar Bernardi 4 participants 8 messages Feb 6, 2016 – Feb 28, 2016 1 message not in the archive

lore
Share & tools
lore
#0 lore raw

PATCH v3 1/1 ShellInABox: new package

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.

---

Changes v2 -> v3:
- Correct install target
- Install init script using SYSV makefile rule
- Just compile app with SSL, if OPENSSL package is selected

Changes v1 -> v2:
- Correct missing double quote at package/Config.in

---
 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                 | 25 ++++++++++++++++
 5 files changed, 81 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
package/Config.in +1 -0
index 529ad33..52f7cf2 100644
@@ -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"
package/shellinabox/Config.in new file +10 -0
new file mode 100644
index 0000000..1b9525c
@@ -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
package/shellinabox/S51shellinabox new file +33 -0
new file mode 100644
index 0000000..b16f03d
@@ -0,0 +1,33 @@
+#! /bin/sh
+
+NAME=shellinaboxd
+DAEMON=/usr/bin/$NAME
+ARGS="-s/:LOGIN -t --no-beep -b" # start without SSL support
+
+# 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
package/shellinabox/shellinabox-2.19-remove-static-library.patch new file +12 -0
new file mode 100644
index 0000000..66b46b7
@@ -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}
+
package/shellinabox/shellinabox.mk new file +25 -0
new file mode 100644
index 0000000..6f84765
@@ -0,0 +1,25 @@
+################################################################################
+#
+# 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
+
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+SHELLINABOX_DEPENDENCIES += openssl
+endif
+
+SHELLINABOX_LICENSE = GPLv2
+
+
+define SHELLINABOX_INSTALL_INIT_SYSV
+       $(INSTALL) -D -m 755 package/shellinabox/S51shellinabox $(TARGET_DIR)/etc/init.d/S51shellinabox
+endef
+
+
+$(eval $(autotools-package))
Signature · 1 line
2.5.0
#1 lore raw

PATCH v3 1/1 ShellInABox: new package

Sorry about the last two patch. I think that this is the last one.

BR,

Lucas

2016-02-06 13:11 GMT-02:00 Lucas Zampar Bernardi <[email protected]>:

Quoted 163 lines

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.

---

Changes v2 -> v3:
- Correct install target
- Install init script using SYSV makefile rule
- Just compile app with SSL, if OPENSSL package is selected

Changes v1 -> v2:
- Correct missing double quote at package/Config.in

---
 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                 | 25 ++++++++++++++++
 5 files changed, 81 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
package/Config.in +1 -0
index 529ad33..52f7cf2 100644
@@ -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"
package/shellinabox/Config.in new file +6 -0
new file mode 100644
index 0000000..1b9525c
@@ -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.

package/shellinabox/Config.in new file +2 -0
+       This emulator is accessible to any JavaScript and CSS
+       enabled web browser and does not require any additional browser

plugins.

package/shellinabox/Config.in new file +2 -0
+
+         http://shellinabox.googlecode.com
package/shellinabox/S51shellinabox new file +33 -0
new file mode 100644
index 0000000..b16f03d
@@ -0,0 +1,33 @@
+#! /bin/sh
+
+NAME=shellinaboxd
+DAEMON=/usr/bin/$NAME
+ARGS="-s/:LOGIN -t --no-beep -b" # start without SSL support
+
+# 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..66b46b7

package/shellinabox/shellinabox-2.19-remove-static-library.patch new file +1 -0
@@ -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.

package/shellinabox/shellinabox-2.19-remove-static-library.patch new file +8 -0
+
+ 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}
+
package/shellinabox/ renamed from package/shellinabox/shellinabox.mk +0 -0

shellinabox.mk
new file mode 100644
index 0000000..6f84765

package/shellinabox/shellinabox.mk new file +21 -0
@@ -0,0 +1,25 @@
 
+################################################################################
+#
+# 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
+
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+SHELLINABOX_DEPENDENCIES += openssl
+endif
+
+SHELLINABOX_LICENSE = GPLv2
+
+
+define SHELLINABOX_INSTALL_INIT_SYSV
+       $(INSTALL) -D -m 755 package/shellinabox/S51shellinabox

$(TARGET_DIR)/etc/init.d/S51shellinabox

package/shellinabox/shellinabox.mk new file +4 -1
+endef
+
+
+$(eval $(autotools-package))
--
Quoted 3 lines

2.5.0

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160206/d3949b4a/attachment.html>

#2 lore raw

PATCH v3 1/1 ShellInABox: new package

In reply to Lucas Zampar Bernardi

Hi Lucas,

Thank you for your patch. There are still some things missing, do you care to
fix that and repost?

In the subject line, you should put shellinabox in lower case since that is the
(buildroot) name of the package.

Quoted 9 lines · Lucas Zampar Bernardi

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.

[snip]

package/shellinabox/Config.in line 2

Quoted 8 lines
package/shellinabox/Config.in new file +2 -0
new file mode 100644
index 0000000..1b9525c
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_SHELLINABOX
+       bool "shellinabox"

Indentation should be with a tab.

package/shellinabox/Config.in line 5

Quoted 3 lines
package/shellinabox/Config.in new file +3 -0
+       select BR2_PACKAGE_ZLIB
+       help
+       Shell in a box - implements a web server that can

And here a tab + two spaces.

package/shellinabox/Config.in line 8

Quoted 3 lines
package/shellinabox/Config.in new file +3 -0
+       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.

Please re-wrap the paragraph at 72 columns, where the tab counts for 8 (so that
means 62 characters in the text itself).

package/shellinabox/Config.in line 10

Quoted 2 lines
package/shellinabox/Config.in new file +2 -0
+
+         http://shellinabox.googlecode.com

Since google code is shutting down, this is not the best imaginable URL. And
since we anyway use the github fork, better point to that.

package/shellinabox/S51shellinabox

Quoted 5 lines
package/shellinabox/S51shellinabox new file +0 -0
new file mode 100644
index 0000000..b16f03d

There is also a start script in the debian directory. It has many things that I
think would be useful for buildroot as well, like setting a non-privileged user. If you use that, don't forget to install the defaults file as well, and to create the user and group with SHELLINABOX_USERS.

That said, this version is acceptable as well.

package/shellinabox/S51shellinabox line 8

Quoted 9 lines
package/shellinabox/S51shellinabox new file +8 -0
@@ -0,0 +1,33 @@
+#! /bin/sh
+
+NAME=shellinaboxd
+DAEMON=/usr/bin/$NAME
+ARGS="-s/:LOGIN -t --no-beep -b" # start without SSL support
+
+# Gracefully exit if the package has been removed.
+test -x $DAEMON || exit 0

It's better not to do that. If the program isn't there, it means something has
gone wrong. Better not be silent about it.

package/shellinabox/shellinabox-2.19-remove-static-library.patch

Quoted 26 lines
package/shellinabox/S51shellinabox new file +25 -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
package/shellinabox/shellinabox-2.19-remove-static-library.patch +0 -0

Patches should be named <number>-<description>.patch, so in this case
0001-remove-static-library.patch.

package/shellinabox/shellinabox-2.19-remove-static-library.patch

Quoted 4 lines

new file mode 100644
index 0000000..66b46b7

package/shellinabox/shellinabox-2.19-remove-static-library.patch new file +0 -0

Patches need to have a description as if they are a full commit. In particular,
explain why this is needed. They also need a Signed-off-by line, to indicate that you agree with submitting it under the upstream license.

Also, please send your patch upstream as well. Since upstream is on github,
that probably means you'll end up creating a git-formatted patch, which we anyway prefer.

Quoted 19 lines
package/shellinabox/shellinabox-2.19-remove-static-library.patch new file +12 -0
@@ -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}
+
package/shellinabox/shellinabox.mk new file +0 -0
new file mode 100644
index 0000000..6f84765

package/shellinabox/shellinabox.mk line 9

Quoted 9 lines
package/shellinabox/shellinabox.mk new file +9 -0
@@ -0,0 +1,25 @@
+################################################################################
+#
+# shellinabox
+#
+################################################################################
+
+SHELLINABOX_VERSION = 2.19
+SHELLINABOX_SOURCE = v$(SHELLINABOX_VERSION).tar.gz
+SHELLINABOX_SITE = https://github.com/shellinabox/shellinabox/archive

This doesn't look like a uploaded file, so you should use the github helper
instead.

package/shellinabox/shellinabox.mk line 10

Quoted 1 line
package/shellinabox/shellinabox.mk new file +1 -0
+SHELLINABOX_AUTORECONF = YES

Add a comment above why autoreconf is needed, e.g.:

# source from git without configure, and 0001-remove-static-library.patch
# touches Makefile.am

package/shellinabox/shellinabox.mk line 14

Quoted 4 lines
package/shellinabox/shellinabox.mk new file +4 -0
+SHELLINABOX_DEPENDENCIES = zlib
+
+ifeq ($(BR2_PACKAGE_OPENSSL),y)
+SHELLINABOX_DEPENDENCIES += openssl

You should also pass --enable-ssl and --disable-ssl explicitly, as appropriate.

package/shellinabox/shellinabox.mk line 15

Quoted 1 line
package/shellinabox/shellinabox.mk new file +1 -0
+endif

It looks like there is also an optional dependency on linux-pam, with
--enable/disable-pam. Can you check? Alternatively, pass --disable-pam unconditionally.

package/shellinabox/shellinabox.mk line 17

Quoted 2 lines
package/shellinabox/shellinabox.mk new file +2 -0
+
+SHELLINABOX_LICENSE = GPLv2

Add "with OpenSSL exception"

Also add
SHELLINABOX_LICENSE_FILES = COPYING GPL-2

package/shellinabox/shellinabox.mk line 25

Quoted 9 lines
package/shellinabox/shellinabox.mk new file +8 -0
+
+
+define SHELLINABOX_INSTALL_INIT_SYSV
+       $(INSTALL) -D -m 755 package/shellinabox/S51shellinabox $(TARGET_DIR)/etc/init.d/S51shellinabox
+endef
+
+
+$(eval $(autotools-package))

There should also be a shellinabox.hash file containing the locally calculated
sha256 of the tarball.

There are also a few toolchain issues you need to consider:

- I'm pretty sure it will not work with musl. Can you test? Don't forget to add the appropriate comment.

- It is using dlopen, but I think that can be avoided with --disable-runtime-loading. But possibly it will do that automatically. Can you test with static-library-only?

- It's using fork() pretty drastically, so it will have to depend on BR2_USE_MMU.

So, quite some work still :-)

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
#3 lore raw

PATCH v3 1/1 ShellInABox: new package

In reply to Lucas Zampar Bernardi

Dear Lucas Zampar Bernardi,

Quoted 10 lines · Lucas Zampar Bernardi

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.

---

Following the feedback from Arnout Vandecappelle on your patch on February, 10th, which requested a number of changes, I've marked your patch as "Changes Requested" in our patch tracking system.

Could you take into account the comments from Arnout, and send an updated version? Now that your v3 is marked as "Changes Requested" in our patch tracking system, we will forget about your patch, so the only way to make progress is to post an updated version :-)

Thanks for your contribution!

Thomas

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

PATCH v3 1/1 ShellInABox: new package

Hi,
comments below.

Il 21/02/2016 22:35, Thomas Petazzoni ha scritto:

Quoted 13 lines

Dear Lucas Zampar Bernardi,

Quoted 10 lines · Lucas Zampar Bernardi

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.

---

Quoted 8 lines

Following the feedback from Arnout Vandecappelle on your patch on February, 10th, which requested a number of changes, I've marked your patch as "Changes Requested" in our patch tracking system.

Could you take into account the comments from Arnout, and send an updated version? Now that your v3 is marked as "Changes Requested" in our patch tracking system, we will forget about your patch, so the only way to make progress is to post an updated version :-)

I am also interested in this package (I already started porting, but stopped since I saw someone was already doing i)t. If Lucas somehow lost interest I can take over the mods (to be done together with zerotier porting). Let me know what is the best practice here.

Thanks.

Quoted 3 lines

Thanks for your contribution!

Thomas

Regards
Mauro

#5 lore raw

PATCH v3 1/1 ShellInABox: new package

Quoted 6 lines · Mauro Condarelli

Hi,
comments below.

Il 21/02/2016 22:35, Thomas Petazzoni ha scritto:

Quoted 2 lines

Dear Lucas Zampar Bernardi,

[snip]

Quoted 9 lines
Quoted 4 lines

Could you take into account the comments from Arnout, and send an updated version? Now that your v3 is marked as "Changes Requested" in our patch tracking system, we will forget about your patch, so the only way to make progress is to post an updated version :-)

I am also interested in this package (I already started porting, but stopped since I saw someone was already doing i)t.
If Lucas somehow lost interest I can take over the mods (to be done together with zerotier porting).
Let me know what is the best practice here.

If you don't hear from Lucas in a couple of days, feel free to take it over.

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

A message that is not in the archive (sent off-list or not yet received): CAMt=8UJvLdPCTm1aNgbd_szbbRhmpb005GNE9VOs-jfHLwN9tQ@mail.gmail.com

#7 lore raw

PATCH v3 1/1 ShellInABox: new package

Hello guys,

The work is almost done. I have a question:
When I`m compiling the package I get:

libtool: link:
/work/buildroot/output/host/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc -g -std=gnu99 -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os -static -o shellinaboxd shellinabox/shellinaboxd.o shellinabox/externalfile.o shellinabox/launcher.o shellinabox/privileges.o shellinabox/service.o shellinabox/session.o shellinabox/usercss.o ./.libs/liblogging.a ./.libs/libhttp.a -lz -ldl -lutil

/work/buildroot/output/host/usr/lib/gcc/arm-buildroot-linux-uclibcgnueabi/4.9.3/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld:
cannot find -lz
collect2: error: ld returned 1 exit status

To solve the problem with libz, I created the patch shellinabox -2.19-remove-static-library.patch:
..
+#shellinaboxd_LDFLAGS = -static
..

Is it the best way to solve this? I checked and libz is compiled and available at my buildroot environment.

BR,

Lucas

2016-02-23 15:31 GMT-03:00 Lucas Zampar <[email protected]>:

Quoted 5 lines

Hello guys! I'm working a lot and I hope modify all pending changes on weekend.
I think that on Moday I send the new patch.

Quoted 52 lines

BR,

Lucas

2016-02-23 13:46 GMT-03:00 Mauro Condarelli <[email protected]>:

Quoted 44 lines

Hi,
comments below.

Il 21/02/2016 22:35, Thomas Petazzoni ha scritto:

Quoted 15 lines

Dear Lucas Zampar Bernardi,

Quoted 11 lines · Lucas Zampar Bernardi

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.

---

Quoted 9 lines

Following the feedback from Arnout Vandecappelle on your patch on February, 10th, which requested a number of changes, I've marked your patch as "Changes Requested" in our patch tracking system.

Could you take into account the comments from Arnout, and send an updated version? Now that your v3 is marked as "Changes Requested" in our patch tracking system, we will forget about your patch, so the only way to make progress is to post an updated version :-)

I am also interested in this package (I already started porting, but stopped since I saw someone was already doing i)t.
If Lucas somehow lost interest I can take over the mods (to be done together with zerotier porting).
Let me know what is the best practice here.

Thanks.

Thanks for your contribution!

Quoted 3 lines

Thomas

Regards
Mauro

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160228/920c563e/attachment.html>

#8 lore raw

PATCH v3 1/1 ShellInABox: new package

Hello,

Quoted 17 lines · Lucas Zampar

The work is almost done. I have a question:
When I`m compiling the package I get:

libtool: link:
/work/buildroot/output/host/usr/bin/arm-buildroot-linux-uclibcgnueabi-gcc

(quoted diff) +0 -2
-g -std=gnu99 -Wall -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-D_FILE_OFFSET_BITS=64 -Os -static -o shellinaboxd

shellinabox/shellinaboxd.o shellinabox/externalfile.o shellinabox/launcher.o shellinabox/privileges.o shellinabox/service.o shellinabox/session.o shellinabox/usercss.o ./.libs/liblogging.a ./.libs/libhttp.a -lz -ldl -lutil

/work/buildroot/output/host/usr/lib/gcc/arm-buildroot-linux-uclibcgnueabi/4.9.3/../../../../arm-buildroot-linux-uclibcgnueabi/bin/ld:
cannot find -lz
collect2: error: ld returned 1 exit status

Quoted 8 lines

To solve the problem with libz, I created the patch shellinabox -2.19-remove-static-library.patch:
..
+#shellinaboxd_LDFLAGS = -static
..

Is it the best way to solve this? I checked and libz is compiled and available at my buildroot environment.

Linking with -static by default is indeed not very good, so removing -static is a good idea.

However, it doesn't solve the problem: the user may have, in his Buildroot configuration, request to link everything statically, in which case Buildroot will pass -static in LDFLAGS.

So you really need to fix the problem.

Can you send the patch so that we can reproduce the problem?

Thanks,

Thomas

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