ShellInABox: new package
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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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
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.
Signed-off-by Lucas Zampar Bernardi <[email protected]>---
Changes v2 -> v3:
- Correct install target
- Install init script using SYSV makefile rule
- Just compile app with SSL, if OPENSSL package is selectedChanges v1 -> v2:
- Correct missing double quote at package/Config.inSigned-off-by Lucas Zampar Bernardi <[email protected]>--- 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.mkpackage/Config.in +1
-0@@ -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@@ -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 terminalemulator.
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 browserplugins.
package/shellinabox/Config.in new file +2
-0+ + http://shellinabox.googlecode.compackage/shellinabox/S51shellinabox new file +33
-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 + +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 0diff --git
a/package/shellinabox/shellinabox-2.19-remove-static-library.patchb/package/shellinabox/shellinabox-2.19-remove-static-library.patchnew file mode 100644
index 0000000..66b46b7package/shellinabox/shellinabox-2.19-remove-static-library.patch new file +1
-0@@ -0,0 +1,12 @@ +diff -rup shellinabox-2.19_original/Makefile.amshellinabox-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
-0shellinabox.mk
new file mode 100644
index 0000000..6f84765package/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>
PATCH v3 1/1 ShellInABox: new package
In reply to Lucas Zampar BernardiHi 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.
Signed-off-by Lucas Zampar Bernardi <[email protected]>
[snip]
package/shellinabox/Config.in line 2
Quoted 8 lines
package/shellinabox/Config.in new file +2
-0@@ -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
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 0package/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..66b46b7package/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
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 addSHELLINABOX_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
PATCH v3 1/1 ShellInABox: new package
In reply to Lucas Zampar BernardiDear 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.
Signed-off-by Lucas Zampar Bernardi <[email protected]>---
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
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.
Signed-off-by Lucas Zampar Bernardi <[email protected]>---
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
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
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.
Signed-off-by Lucas Zampar Bernardi <[email protected]>---
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>
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.oshellinabox/externalfile.oshellinabox/launcher.oshellinabox/privileges.oshellinabox/service.oshellinabox/session.oshellinabox/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