All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] toybox: new package
@ 2014-09-24 14:57 Rob Landley
  2015-02-11 21:24 ` Angelo Compagnucci
  0 siblings, 1 reply; 10+ messages in thread
From: Rob Landley @ 2014-09-24 14:57 UTC (permalink / raw)
  To: buildroot

From: Rob Landley <rob@landley.net>

Add toybox.

For toybox to show up you have to switch on largefile and wchar in uClibc
(or just use musl or glibc). To switch off busybox you have to disable
busybox init in the system settings.

Signed-off-by: Rob Landley <rob@landley.net>
---

 package/Config.in                            |    1 
 package/toybox/Config.in                     |   24 ++
 package/toybox/toybox-0001-portability.patch |   14 +
 package/toybox/toybox.config                 |  169 +++++++++++++++++
 package/toybox/toybox.mk                     |   26 ++
 5 files changed, 234 insertions(+)

This is the same patch as
http://lists.busybox.net/pipermail/buildroot/2014-September/106763.html
with more standard header info.

--- /dev/null	2014-08-15 22:36:13.247368743 -0500
+++ buildroot/package/toybox/Config.in	2014-09-20 18:07:19.821569067 -0500
@@ -0,0 +1,24 @@
+config BR2_PACKAGE_TOYBOX
+	bool "Toybox"
+	depends on BR2_LARGEFILE && BR2_USE_WCHAR
+	help
+	  Toybox combines common Linux command line utilities together into
+	  a single executable that's simple, small, fast, and reasonably
+	  standards compliant.
+
+	  It was started by an ex-maintainer of BusyBox, and uses the same
+	  "multicall binary configured at build time via menuconfig" approach,
+	  but is a fresh implementation that uses no busybox code.
+
+	  Toybox is licensed under a "zero clause" BSD variant which grants
+	  the same blanket permissions but removes the requirement to copy
+	  specific license text into derivative works, essentially placing
+	  its code into the public domain.
+
+config BR2_PACKAGE_TOYBOX_CONFIG
+	string "Toybox configuration file:"
+	default "package/toybox/toybox.config"
+	depends on BR2_PACKAGE_TOYBOX
+	help
+	  Specify an alternative config file location enabling a different
+	  set of commands in toybox. The default file equals "make defconfig".
--- /dev/null	2014-08-15 22:36:13.247368743 -0500
+++ buildroot/package/toybox/toybox-0001-portability.patch	2014-09-20 18:44:23.813511200 -0500
@@ -0,0 +1,14 @@
+Workaround for uClibc's lack of posix-2008 compliance.
+
+diff -r 74b29c369420 lib/portability.h
+--- a/lib/portability.h
++++ b/lib/portability.h
+@@ -74,6 +74,8 @@
+ #include <unistd.h>
+ #include <stdio.h>
+ ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream);
++char *stpcpy(char *dest, const char *src);
++pid_t getsid(pid_t pid);
+ 
+ // uClibc's last-ever release was in 2012, so of course it doesn't define
+ // any flag newer than MS_MOVE, which was added in 2001 (linux 2.5.0.5),
--- /dev/null	2014-08-15 22:36:13.247368743 -0500
+++ buildroot/package/toybox/toybox.config	2014-09-20 18:38:24.897520539 -0500
@@ -0,0 +1,169 @@
+CONFIG_TOYBOX_CONTAINER=y
+CONFIG_TOYBOX_FIFREEZE=y
+CONFIG_TOYBOX_ICONV=y
+CONFIG_TOYBOX_FALLOCATE=y
+
+#
+# Posix commands
+#
+CONFIG_BASENAME=y
+CONFIG_CAL=y
+CONFIG_CAT=y
+CONFIG_CHGRP=y
+CONFIG_CHMOD=y
+CONFIG_CKSUM=y
+CONFIG_CMP=y
+CONFIG_COMM=y
+CONFIG_CP=y
+CONFIG_CP_MORE=y
+CONFIG_CP_MV=y
+CONFIG_CP_MV_MORE=y
+CONFIG_CPIO=y
+CONFIG_CUT=y
+CONFIG_DATE=y
+CONFIG_DF=y
+CONFIG_DF_PEDANTIC=y
+CONFIG_DIRNAME=y
+CONFIG_DU=y
+CONFIG_ECHO=y
+CONFIG_ENV=y
+CONFIG_EXPAND=y
+CONFIG_FALSE=y
+CONFIG_GREP=y
+CONFIG_HEAD=y
+CONFIG_ID=y
+CONFIG_ID_GROUPS=y
+CONFIG_ID_LOGNAME=y
+CONFIG_KILL=y
+CONFIG_KILLALL5=y
+CONFIG_LINK=y
+CONFIG_LN=y
+CONFIG_LS=y
+CONFIG_LS_COLOR=y
+CONFIG_MKDIR=y
+CONFIG_MKFIFO=y
+CONFIG_NICE=y
+CONFIG_NL=y
+CONFIG_NOHUP=y
+CONFIG_OD=y
+CONFIG_PASTE=y
+CONFIG_PATCH=y
+CONFIG_PWD=y
+CONFIG_RENICE=y
+CONFIG_RM=y
+CONFIG_RMDIR=y
+CONFIG_SLEEP=y
+CONFIG_SLEEP_FLOAT=y
+CONFIG_SORT=y
+CONFIG_SORT_BIG=y
+CONFIG_SORT_FLOAT=y
+CONFIG_SPLIT=y
+CONFIG_STRINGS=y
+CONFIG_TAIL=y
+CONFIG_TAIL_SEEK=y
+CONFIG_TEE=y
+CONFIG_TIME=y
+CONFIG_TOUCH=y
+CONFIG_TRUE=y
+CONFIG_TTY=y
+CONFIG_UNAME=y
+CONFIG_UNIQ=y
+CONFIG_UNLINK=y
+CONFIG_UUDECODE=y
+CONFIG_UUENCODE=y
+CONFIG_WC=y
+CONFIG_WHO=y
+CONFIG_XARGS=y
+
+#
+# Other commands
+#
+CONFIG_ACPI=y
+CONFIG_BLKID=y
+CONFIG_BZCAT=y
+CONFIG_CATV=y
+CONFIG_CHROOT=y
+CONFIG_CHVT=y
+CONFIG_CLEAR=y
+CONFIG_COUNT=y
+CONFIG_DOS2UNIX=y
+CONFIG_EJECT=y
+CONFIG_FALLOCATE=y
+CONFIG_FREE=y
+CONFIG_FREERAMDISK=y
+CONFIG_FSFREEZE=y
+CONFIG_HELP=y
+CONFIG_HELP_EXTRAS=y
+CONFIG_IFCONFIG=y
+CONFIG_INSMOD=y
+CONFIG_LOGIN=y
+CONFIG_LOSETUP=y
+CONFIG_LSATTR=y
+CONFIG_CHATTR=y
+CONFIG_LSMOD=y
+CONFIG_LSUSB=y
+CONFIG_MAKEDEVS=y
+CONFIG_MKPASSWD=y
+CONFIG_MKSWAP=y
+CONFIG_MODINFO=y
+CONFIG_MOUNTPOINT=y
+CONFIG_NETCAT=y
+CONFIG_NETCAT_LISTEN=y
+CONFIG_ONEIT=y
+CONFIG_PARTPROBE=y
+CONFIG_PIVOT_ROOT=y
+CONFIG_PMAP=y
+CONFIG_PRINTENV=y
+CONFIG_PWDX=y
+CONFIG_READAHEAD=y
+CONFIG_READLINK=y
+CONFIG_REALPATH=y
+CONFIG_REBOOT=y
+CONFIG_REV=y
+CONFIG_RFKILL=y
+CONFIG_RMMOD=y
+CONFIG_SETSID=y
+CONFIG_STAT=y
+CONFIG_SWAPOFF=y
+CONFIG_SWAPON=y
+CONFIG_SWITCH_ROOT=y
+CONFIG_SYSCTL=y
+CONFIG_TAC=y
+CONFIG_TASKSET=y
+CONFIG_TIMEOUT=y
+CONFIG_TRUNCATE=y
+CONFIG_UNSHARE=y
+CONFIG_UPTIME=y
+CONFIG_USLEEP=y
+CONFIG_VCONFIG=y
+CONFIG_VMSTAT=y
+CONFIG_W=y
+CONFIG_WHICH=y
+CONFIG_YES=y
+
+#
+# Linux Standard Base commands
+#
+CONFIG_DMESG=y
+CONFIG_HOSTNAME=y
+CONFIG_KILLALL=y
+CONFIG_MD5SUM=y
+CONFIG_MD5SUM_SHA1SUM=y
+CONFIG_MKNOD=y
+CONFIG_MKTEMP=y
+CONFIG_PASSWD=y
+CONFIG_PIDOF=y
+CONFIG_SEQ=y
+CONFIG_SU=y
+CONFIG_SYNC=y
+CONFIG_UMOUNT=y
+
+#
+# Toybox global settings
+#
+CONFIG_TOYBOX=y
+CONFIG_TOYBOX_SUID=y
+CONFIG_TOYBOX_FLOAT=y
+CONFIG_TOYBOX_HELP=y
+CONFIG_TOYBOX_HELP_DASHDASH=y
+CONFIG_TOYBOX_I18N=y
--- /dev/null	2014-08-15 22:36:13.247368743 -0500
+++ buildroot/package/toybox/toybox.mk	2014-09-20 18:38:17.509520730 -0500
@@ -0,0 +1,26 @@
+################################################################################
+#
+# toybox
+#
+################################################################################
+
+TOYBOX_VERSION = 0.4.9
+TOYBOX_SITE = http://landley.net/toybox/downloads
+TOYBOX_SOURCE = toybox-$(TOYBOX_VERSION).tar.bz2
+TOYBOX_LICENSE = Public domain, BSD-0c
+TOYBOX_LICENSE_FILES = LICENSE
+
+TOYBOX_KCONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_TOYBOX_CONFIG))
+
+define TOYBOX_BUILD_CMDS
+	$(TARGET_MAKE_ENV) CROSS_COMPILE="$(TARGET_CROSS)" \
+		$(MAKE) -C $(@D)
+endef
+
+define TOYBOX_INSTALL_TARGET_CMDS
+	$(TARGET_MAKE_ENV) PREFIX="$(TARGET_DIR)" \
+		$(MAKE) -C $(@D) install
+endef
+
+
+$(eval $(kconfig-package))
diff --git a/package/Config.in b/package/Config.in
index 73ba86a..742a8c0 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -1,6 +1,7 @@
 menu "Target packages"
 
 	source "package/busybox/Config.in"
+	source "package/toybox/Config.in"
 
 menu "Audio and video applications"
 	source "package/alsa-utils/Config.in"

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

* [Buildroot] [PATCH 1/1] toybox: new package
  2014-09-24 14:57 [Buildroot] [PATCH 1/1] toybox: new package Rob Landley
@ 2015-02-11 21:24 ` Angelo Compagnucci
  2015-02-11 21:37   ` Rob Landley
  0 siblings, 1 reply; 10+ messages in thread
From: Angelo Compagnucci @ 2015-02-11 21:24 UTC (permalink / raw)
  To: buildroot

Hello list, Rob,

Any news on this patch? It would be really great to have toybox in buildroot!

Sincerely, Angelo

2014-09-24 16:57 GMT+02:00 Rob Landley <rob@landley.net>:
> From: Rob Landley <rob@landley.net>
>
> Add toybox.
>
> For toybox to show up you have to switch on largefile and wchar in uClibc
> (or just use musl or glibc). To switch off busybox you have to disable
> busybox init in the system settings.
>
> Signed-off-by: Rob Landley <rob@landley.net>
> ---
>
>  package/Config.in                            |    1
>  package/toybox/Config.in                     |   24 ++
>  package/toybox/toybox-0001-portability.patch |   14 +
>  package/toybox/toybox.config                 |  169 +++++++++++++++++
>  package/toybox/toybox.mk                     |   26 ++
>  5 files changed, 234 insertions(+)
>
> This is the same patch as
> http://lists.busybox.net/pipermail/buildroot/2014-September/106763.html
> with more standard header info.
>
> --- /dev/null   2014-08-15 22:36:13.247368743 -0500
> +++ buildroot/package/toybox/Config.in  2014-09-20 18:07:19.821569067 -0500
> @@ -0,0 +1,24 @@
> +config BR2_PACKAGE_TOYBOX
> +       bool "Toybox"
> +       depends on BR2_LARGEFILE && BR2_USE_WCHAR
> +       help
> +         Toybox combines common Linux command line utilities together into
> +         a single executable that's simple, small, fast, and reasonably
> +         standards compliant.
> +
> +         It was started by an ex-maintainer of BusyBox, and uses the same
> +         "multicall binary configured at build time via menuconfig" approach,
> +         but is a fresh implementation that uses no busybox code.
> +
> +         Toybox is licensed under a "zero clause" BSD variant which grants
> +         the same blanket permissions but removes the requirement to copy
> +         specific license text into derivative works, essentially placing
> +         its code into the public domain.
> +
> +config BR2_PACKAGE_TOYBOX_CONFIG
> +       string "Toybox configuration file:"
> +       default "package/toybox/toybox.config"
> +       depends on BR2_PACKAGE_TOYBOX
> +       help
> +         Specify an alternative config file location enabling a different
> +         set of commands in toybox. The default file equals "make defconfig".
> --- /dev/null   2014-08-15 22:36:13.247368743 -0500
> +++ buildroot/package/toybox/toybox-0001-portability.patch      2014-09-20 18:44:23.813511200 -0500
> @@ -0,0 +1,14 @@
> +Workaround for uClibc's lack of posix-2008 compliance.
> +
> +diff -r 74b29c369420 lib/portability.h
> +--- a/lib/portability.h
> ++++ b/lib/portability.h
> +@@ -74,6 +74,8 @@
> + #include <unistd.h>
> + #include <stdio.h>
> + ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream);
> ++char *stpcpy(char *dest, const char *src);
> ++pid_t getsid(pid_t pid);
> +
> + // uClibc's last-ever release was in 2012, so of course it doesn't define
> + // any flag newer than MS_MOVE, which was added in 2001 (linux 2.5.0.5),
> --- /dev/null   2014-08-15 22:36:13.247368743 -0500
> +++ buildroot/package/toybox/toybox.config      2014-09-20 18:38:24.897520539 -0500
> @@ -0,0 +1,169 @@
> +CONFIG_TOYBOX_CONTAINER=y
> +CONFIG_TOYBOX_FIFREEZE=y
> +CONFIG_TOYBOX_ICONV=y
> +CONFIG_TOYBOX_FALLOCATE=y
> +
> +#
> +# Posix commands
> +#
> +CONFIG_BASENAME=y
> +CONFIG_CAL=y
> +CONFIG_CAT=y
> +CONFIG_CHGRP=y
> +CONFIG_CHMOD=y
> +CONFIG_CKSUM=y
> +CONFIG_CMP=y
> +CONFIG_COMM=y
> +CONFIG_CP=y
> +CONFIG_CP_MORE=y
> +CONFIG_CP_MV=y
> +CONFIG_CP_MV_MORE=y
> +CONFIG_CPIO=y
> +CONFIG_CUT=y
> +CONFIG_DATE=y
> +CONFIG_DF=y
> +CONFIG_DF_PEDANTIC=y
> +CONFIG_DIRNAME=y
> +CONFIG_DU=y
> +CONFIG_ECHO=y
> +CONFIG_ENV=y
> +CONFIG_EXPAND=y
> +CONFIG_FALSE=y
> +CONFIG_GREP=y
> +CONFIG_HEAD=y
> +CONFIG_ID=y
> +CONFIG_ID_GROUPS=y
> +CONFIG_ID_LOGNAME=y
> +CONFIG_KILL=y
> +CONFIG_KILLALL5=y
> +CONFIG_LINK=y
> +CONFIG_LN=y
> +CONFIG_LS=y
> +CONFIG_LS_COLOR=y
> +CONFIG_MKDIR=y
> +CONFIG_MKFIFO=y
> +CONFIG_NICE=y
> +CONFIG_NL=y
> +CONFIG_NOHUP=y
> +CONFIG_OD=y
> +CONFIG_PASTE=y
> +CONFIG_PATCH=y
> +CONFIG_PWD=y
> +CONFIG_RENICE=y
> +CONFIG_RM=y
> +CONFIG_RMDIR=y
> +CONFIG_SLEEP=y
> +CONFIG_SLEEP_FLOAT=y
> +CONFIG_SORT=y
> +CONFIG_SORT_BIG=y
> +CONFIG_SORT_FLOAT=y
> +CONFIG_SPLIT=y
> +CONFIG_STRINGS=y
> +CONFIG_TAIL=y
> +CONFIG_TAIL_SEEK=y
> +CONFIG_TEE=y
> +CONFIG_TIME=y
> +CONFIG_TOUCH=y
> +CONFIG_TRUE=y
> +CONFIG_TTY=y
> +CONFIG_UNAME=y
> +CONFIG_UNIQ=y
> +CONFIG_UNLINK=y
> +CONFIG_UUDECODE=y
> +CONFIG_UUENCODE=y
> +CONFIG_WC=y
> +CONFIG_WHO=y
> +CONFIG_XARGS=y
> +
> +#
> +# Other commands
> +#
> +CONFIG_ACPI=y
> +CONFIG_BLKID=y
> +CONFIG_BZCAT=y
> +CONFIG_CATV=y
> +CONFIG_CHROOT=y
> +CONFIG_CHVT=y
> +CONFIG_CLEAR=y
> +CONFIG_COUNT=y
> +CONFIG_DOS2UNIX=y
> +CONFIG_EJECT=y
> +CONFIG_FALLOCATE=y
> +CONFIG_FREE=y
> +CONFIG_FREERAMDISK=y
> +CONFIG_FSFREEZE=y
> +CONFIG_HELP=y
> +CONFIG_HELP_EXTRAS=y
> +CONFIG_IFCONFIG=y
> +CONFIG_INSMOD=y
> +CONFIG_LOGIN=y
> +CONFIG_LOSETUP=y
> +CONFIG_LSATTR=y
> +CONFIG_CHATTR=y
> +CONFIG_LSMOD=y
> +CONFIG_LSUSB=y
> +CONFIG_MAKEDEVS=y
> +CONFIG_MKPASSWD=y
> +CONFIG_MKSWAP=y
> +CONFIG_MODINFO=y
> +CONFIG_MOUNTPOINT=y
> +CONFIG_NETCAT=y
> +CONFIG_NETCAT_LISTEN=y
> +CONFIG_ONEIT=y
> +CONFIG_PARTPROBE=y
> +CONFIG_PIVOT_ROOT=y
> +CONFIG_PMAP=y
> +CONFIG_PRINTENV=y
> +CONFIG_PWDX=y
> +CONFIG_READAHEAD=y
> +CONFIG_READLINK=y
> +CONFIG_REALPATH=y
> +CONFIG_REBOOT=y
> +CONFIG_REV=y
> +CONFIG_RFKILL=y
> +CONFIG_RMMOD=y
> +CONFIG_SETSID=y
> +CONFIG_STAT=y
> +CONFIG_SWAPOFF=y
> +CONFIG_SWAPON=y
> +CONFIG_SWITCH_ROOT=y
> +CONFIG_SYSCTL=y
> +CONFIG_TAC=y
> +CONFIG_TASKSET=y
> +CONFIG_TIMEOUT=y
> +CONFIG_TRUNCATE=y
> +CONFIG_UNSHARE=y
> +CONFIG_UPTIME=y
> +CONFIG_USLEEP=y
> +CONFIG_VCONFIG=y
> +CONFIG_VMSTAT=y
> +CONFIG_W=y
> +CONFIG_WHICH=y
> +CONFIG_YES=y
> +
> +#
> +# Linux Standard Base commands
> +#
> +CONFIG_DMESG=y
> +CONFIG_HOSTNAME=y
> +CONFIG_KILLALL=y
> +CONFIG_MD5SUM=y
> +CONFIG_MD5SUM_SHA1SUM=y
> +CONFIG_MKNOD=y
> +CONFIG_MKTEMP=y
> +CONFIG_PASSWD=y
> +CONFIG_PIDOF=y
> +CONFIG_SEQ=y
> +CONFIG_SU=y
> +CONFIG_SYNC=y
> +CONFIG_UMOUNT=y
> +
> +#
> +# Toybox global settings
> +#
> +CONFIG_TOYBOX=y
> +CONFIG_TOYBOX_SUID=y
> +CONFIG_TOYBOX_FLOAT=y
> +CONFIG_TOYBOX_HELP=y
> +CONFIG_TOYBOX_HELP_DASHDASH=y
> +CONFIG_TOYBOX_I18N=y
> --- /dev/null   2014-08-15 22:36:13.247368743 -0500
> +++ buildroot/package/toybox/toybox.mk  2014-09-20 18:38:17.509520730 -0500
> @@ -0,0 +1,26 @@
> +################################################################################
> +#
> +# toybox
> +#
> +################################################################################
> +
> +TOYBOX_VERSION = 0.4.9
> +TOYBOX_SITE = http://landley.net/toybox/downloads
> +TOYBOX_SOURCE = toybox-$(TOYBOX_VERSION).tar.bz2
> +TOYBOX_LICENSE = Public domain, BSD-0c
> +TOYBOX_LICENSE_FILES = LICENSE
> +
> +TOYBOX_KCONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_TOYBOX_CONFIG))
> +
> +define TOYBOX_BUILD_CMDS
> +       $(TARGET_MAKE_ENV) CROSS_COMPILE="$(TARGET_CROSS)" \
> +               $(MAKE) -C $(@D)
> +endef
> +
> +define TOYBOX_INSTALL_TARGET_CMDS
> +       $(TARGET_MAKE_ENV) PREFIX="$(TARGET_DIR)" \
> +               $(MAKE) -C $(@D) install
> +endef
> +
> +
> +$(eval $(kconfig-package))
> diff --git a/package/Config.in b/package/Config.in
> index 73ba86a..742a8c0 100644
> --- a/package/Config.in
> +++ b/package/Config.in
> @@ -1,6 +1,7 @@
>  menu "Target packages"
>
>         source "package/busybox/Config.in"
> +       source "package/toybox/Config.in"
>
>  menu "Audio and video applications"
>         source "package/alsa-utils/Config.in"
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot



-- 
Profile: http://it.linkedin.com/in/compagnucciangelo

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

* [Buildroot] [PATCH 1/1] toybox: new package
  2015-02-11 21:24 ` Angelo Compagnucci
@ 2015-02-11 21:37   ` Rob Landley
  2017-01-24  9:33     ` Angelo Compagnucci
  0 siblings, 1 reply; 10+ messages in thread
From: Rob Landley @ 2015-02-11 21:37 UTC (permalink / raw)
  To: buildroot

Sorry, shortly after I sent that patch toybox got merged into Android
(and became an optional package in Tizen), and I've been paying
attention to those:

https://lwn.net/Articles/629362/
https://wiki.tizen.org/wiki/Toybox

I'm doing a new release this weekend, I can send a buildroot patch
updated for that version.

Thanks,

Rob

On 02/11/2015 03:24 PM, Angelo Compagnucci wrote:
> Hello list, Rob,
> 
> Any news on this patch? It would be really great to have toybox in buildroot!
> 
> Sincerely, Angelo
> 
> 2014-09-24 16:57 GMT+02:00 Rob Landley <rob@landley.net>:
>> From: Rob Landley <rob@landley.net>
>>
>> Add toybox.
>>
>> For toybox to show up you have to switch on largefile and wchar in uClibc
>> (or just use musl or glibc). To switch off busybox you have to disable
>> busybox init in the system settings.
>>
>> Signed-off-by: Rob Landley <rob@landley.net>
>> ---
>>
>>  package/Config.in                            |    1
>>  package/toybox/Config.in                     |   24 ++
>>  package/toybox/toybox-0001-portability.patch |   14 +
>>  package/toybox/toybox.config                 |  169 +++++++++++++++++
>>  package/toybox/toybox.mk                     |   26 ++
>>  5 files changed, 234 insertions(+)
>>
>> This is the same patch as
>> http://lists.busybox.net/pipermail/buildroot/2014-September/106763.html
>> with more standard header info.
>>
>> --- /dev/null   2014-08-15 22:36:13.247368743 -0500
>> +++ buildroot/package/toybox/Config.in  2014-09-20 18:07:19.821569067 -0500
>> @@ -0,0 +1,24 @@
>> +config BR2_PACKAGE_TOYBOX
>> +       bool "Toybox"
>> +       depends on BR2_LARGEFILE && BR2_USE_WCHAR
>> +       help
>> +         Toybox combines common Linux command line utilities together into
>> +         a single executable that's simple, small, fast, and reasonably
>> +         standards compliant.
>> +
>> +         It was started by an ex-maintainer of BusyBox, and uses the same
>> +         "multicall binary configured at build time via menuconfig" approach,
>> +         but is a fresh implementation that uses no busybox code.
>> +
>> +         Toybox is licensed under a "zero clause" BSD variant which grants
>> +         the same blanket permissions but removes the requirement to copy
>> +         specific license text into derivative works, essentially placing
>> +         its code into the public domain.
>> +
>> +config BR2_PACKAGE_TOYBOX_CONFIG
>> +       string "Toybox configuration file:"
>> +       default "package/toybox/toybox.config"
>> +       depends on BR2_PACKAGE_TOYBOX
>> +       help
>> +         Specify an alternative config file location enabling a different
>> +         set of commands in toybox. The default file equals "make defconfig".
>> --- /dev/null   2014-08-15 22:36:13.247368743 -0500
>> +++ buildroot/package/toybox/toybox-0001-portability.patch      2014-09-20 18:44:23.813511200 -0500
>> @@ -0,0 +1,14 @@
>> +Workaround for uClibc's lack of posix-2008 compliance.
>> +
>> +diff -r 74b29c369420 lib/portability.h
>> +--- a/lib/portability.h
>> ++++ b/lib/portability.h
>> +@@ -74,6 +74,8 @@
>> + #include <unistd.h>
>> + #include <stdio.h>
>> + ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream);
>> ++char *stpcpy(char *dest, const char *src);
>> ++pid_t getsid(pid_t pid);
>> +
>> + // uClibc's last-ever release was in 2012, so of course it doesn't define
>> + // any flag newer than MS_MOVE, which was added in 2001 (linux 2.5.0.5),
>> --- /dev/null   2014-08-15 22:36:13.247368743 -0500
>> +++ buildroot/package/toybox/toybox.config      2014-09-20 18:38:24.897520539 -0500
>> @@ -0,0 +1,169 @@
>> +CONFIG_TOYBOX_CONTAINER=y
>> +CONFIG_TOYBOX_FIFREEZE=y
>> +CONFIG_TOYBOX_ICONV=y
>> +CONFIG_TOYBOX_FALLOCATE=y
>> +
>> +#
>> +# Posix commands
>> +#
>> +CONFIG_BASENAME=y
>> +CONFIG_CAL=y
>> +CONFIG_CAT=y
>> +CONFIG_CHGRP=y
>> +CONFIG_CHMOD=y
>> +CONFIG_CKSUM=y
>> +CONFIG_CMP=y
>> +CONFIG_COMM=y
>> +CONFIG_CP=y
>> +CONFIG_CP_MORE=y
>> +CONFIG_CP_MV=y
>> +CONFIG_CP_MV_MORE=y
>> +CONFIG_CPIO=y
>> +CONFIG_CUT=y
>> +CONFIG_DATE=y
>> +CONFIG_DF=y
>> +CONFIG_DF_PEDANTIC=y
>> +CONFIG_DIRNAME=y
>> +CONFIG_DU=y
>> +CONFIG_ECHO=y
>> +CONFIG_ENV=y
>> +CONFIG_EXPAND=y
>> +CONFIG_FALSE=y
>> +CONFIG_GREP=y
>> +CONFIG_HEAD=y
>> +CONFIG_ID=y
>> +CONFIG_ID_GROUPS=y
>> +CONFIG_ID_LOGNAME=y
>> +CONFIG_KILL=y
>> +CONFIG_KILLALL5=y
>> +CONFIG_LINK=y
>> +CONFIG_LN=y
>> +CONFIG_LS=y
>> +CONFIG_LS_COLOR=y
>> +CONFIG_MKDIR=y
>> +CONFIG_MKFIFO=y
>> +CONFIG_NICE=y
>> +CONFIG_NL=y
>> +CONFIG_NOHUP=y
>> +CONFIG_OD=y
>> +CONFIG_PASTE=y
>> +CONFIG_PATCH=y
>> +CONFIG_PWD=y
>> +CONFIG_RENICE=y
>> +CONFIG_RM=y
>> +CONFIG_RMDIR=y
>> +CONFIG_SLEEP=y
>> +CONFIG_SLEEP_FLOAT=y
>> +CONFIG_SORT=y
>> +CONFIG_SORT_BIG=y
>> +CONFIG_SORT_FLOAT=y
>> +CONFIG_SPLIT=y
>> +CONFIG_STRINGS=y
>> +CONFIG_TAIL=y
>> +CONFIG_TAIL_SEEK=y
>> +CONFIG_TEE=y
>> +CONFIG_TIME=y
>> +CONFIG_TOUCH=y
>> +CONFIG_TRUE=y
>> +CONFIG_TTY=y
>> +CONFIG_UNAME=y
>> +CONFIG_UNIQ=y
>> +CONFIG_UNLINK=y
>> +CONFIG_UUDECODE=y
>> +CONFIG_UUENCODE=y
>> +CONFIG_WC=y
>> +CONFIG_WHO=y
>> +CONFIG_XARGS=y
>> +
>> +#
>> +# Other commands
>> +#
>> +CONFIG_ACPI=y
>> +CONFIG_BLKID=y
>> +CONFIG_BZCAT=y
>> +CONFIG_CATV=y
>> +CONFIG_CHROOT=y
>> +CONFIG_CHVT=y
>> +CONFIG_CLEAR=y
>> +CONFIG_COUNT=y
>> +CONFIG_DOS2UNIX=y
>> +CONFIG_EJECT=y
>> +CONFIG_FALLOCATE=y
>> +CONFIG_FREE=y
>> +CONFIG_FREERAMDISK=y
>> +CONFIG_FSFREEZE=y
>> +CONFIG_HELP=y
>> +CONFIG_HELP_EXTRAS=y
>> +CONFIG_IFCONFIG=y
>> +CONFIG_INSMOD=y
>> +CONFIG_LOGIN=y
>> +CONFIG_LOSETUP=y
>> +CONFIG_LSATTR=y
>> +CONFIG_CHATTR=y
>> +CONFIG_LSMOD=y
>> +CONFIG_LSUSB=y
>> +CONFIG_MAKEDEVS=y
>> +CONFIG_MKPASSWD=y
>> +CONFIG_MKSWAP=y
>> +CONFIG_MODINFO=y
>> +CONFIG_MOUNTPOINT=y
>> +CONFIG_NETCAT=y
>> +CONFIG_NETCAT_LISTEN=y
>> +CONFIG_ONEIT=y
>> +CONFIG_PARTPROBE=y
>> +CONFIG_PIVOT_ROOT=y
>> +CONFIG_PMAP=y
>> +CONFIG_PRINTENV=y
>> +CONFIG_PWDX=y
>> +CONFIG_READAHEAD=y
>> +CONFIG_READLINK=y
>> +CONFIG_REALPATH=y
>> +CONFIG_REBOOT=y
>> +CONFIG_REV=y
>> +CONFIG_RFKILL=y
>> +CONFIG_RMMOD=y
>> +CONFIG_SETSID=y
>> +CONFIG_STAT=y
>> +CONFIG_SWAPOFF=y
>> +CONFIG_SWAPON=y
>> +CONFIG_SWITCH_ROOT=y
>> +CONFIG_SYSCTL=y
>> +CONFIG_TAC=y
>> +CONFIG_TASKSET=y
>> +CONFIG_TIMEOUT=y
>> +CONFIG_TRUNCATE=y
>> +CONFIG_UNSHARE=y
>> +CONFIG_UPTIME=y
>> +CONFIG_USLEEP=y
>> +CONFIG_VCONFIG=y
>> +CONFIG_VMSTAT=y
>> +CONFIG_W=y
>> +CONFIG_WHICH=y
>> +CONFIG_YES=y
>> +
>> +#
>> +# Linux Standard Base commands
>> +#
>> +CONFIG_DMESG=y
>> +CONFIG_HOSTNAME=y
>> +CONFIG_KILLALL=y
>> +CONFIG_MD5SUM=y
>> +CONFIG_MD5SUM_SHA1SUM=y
>> +CONFIG_MKNOD=y
>> +CONFIG_MKTEMP=y
>> +CONFIG_PASSWD=y
>> +CONFIG_PIDOF=y
>> +CONFIG_SEQ=y
>> +CONFIG_SU=y
>> +CONFIG_SYNC=y
>> +CONFIG_UMOUNT=y
>> +
>> +#
>> +# Toybox global settings
>> +#
>> +CONFIG_TOYBOX=y
>> +CONFIG_TOYBOX_SUID=y
>> +CONFIG_TOYBOX_FLOAT=y
>> +CONFIG_TOYBOX_HELP=y
>> +CONFIG_TOYBOX_HELP_DASHDASH=y
>> +CONFIG_TOYBOX_I18N=y
>> --- /dev/null   2014-08-15 22:36:13.247368743 -0500
>> +++ buildroot/package/toybox/toybox.mk  2014-09-20 18:38:17.509520730 -0500
>> @@ -0,0 +1,26 @@
>> +################################################################################
>> +#
>> +# toybox
>> +#
>> +################################################################################
>> +
>> +TOYBOX_VERSION = 0.4.9
>> +TOYBOX_SITE = http://landley.net/toybox/downloads
>> +TOYBOX_SOURCE = toybox-$(TOYBOX_VERSION).tar.bz2
>> +TOYBOX_LICENSE = Public domain, BSD-0c
>> +TOYBOX_LICENSE_FILES = LICENSE
>> +
>> +TOYBOX_KCONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_TOYBOX_CONFIG))
>> +
>> +define TOYBOX_BUILD_CMDS
>> +       $(TARGET_MAKE_ENV) CROSS_COMPILE="$(TARGET_CROSS)" \
>> +               $(MAKE) -C $(@D)
>> +endef
>> +
>> +define TOYBOX_INSTALL_TARGET_CMDS
>> +       $(TARGET_MAKE_ENV) PREFIX="$(TARGET_DIR)" \
>> +               $(MAKE) -C $(@D) install
>> +endef
>> +
>> +
>> +$(eval $(kconfig-package))
>> diff --git a/package/Config.in b/package/Config.in
>> index 73ba86a..742a8c0 100644
>> --- a/package/Config.in
>> +++ b/package/Config.in
>> @@ -1,6 +1,7 @@
>>  menu "Target packages"
>>
>>         source "package/busybox/Config.in"
>> +       source "package/toybox/Config.in"
>>
>>  menu "Audio and video applications"
>>         source "package/alsa-utils/Config.in"
>> _______________________________________________
>> buildroot mailing list
>> buildroot at busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot
> 
> 
> 

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

* [Buildroot] [PATCH 1/1] toybox: new package
  2015-02-11 21:37   ` Rob Landley
@ 2017-01-24  9:33     ` Angelo Compagnucci
  2017-01-24 10:10       ` Peter Korsgaard
  0 siblings, 1 reply; 10+ messages in thread
From: Angelo Compagnucci @ 2017-01-24  9:33 UTC (permalink / raw)
  To: buildroot

Hi Rob,

Sorry for asking you again, but it will be a new toybox patch any time soon?

I would really like to have toybox in buildroot!

Sincerely, Angelo

2015-02-11 22:37 GMT+01:00 Rob Landley <rob@landley.net>:
> Sorry, shortly after I sent that patch toybox got merged into Android
> (and became an optional package in Tizen), and I've been paying
> attention to those:
>
> https://lwn.net/Articles/629362/
> https://wiki.tizen.org/wiki/Toybox
>
> I'm doing a new release this weekend, I can send a buildroot patch
> updated for that version.
>
> Thanks,
>
> Rob
>
> On 02/11/2015 03:24 PM, Angelo Compagnucci wrote:
>> Hello list, Rob,
>>
>> Any news on this patch? It would be really great to have toybox in buildroot!
>>
>> Sincerely, Angelo
>>
>> 2014-09-24 16:57 GMT+02:00 Rob Landley <rob@landley.net>:
>>> From: Rob Landley <rob@landley.net>
>>>
>>> Add toybox.
>>>
>>> For toybox to show up you have to switch on largefile and wchar in uClibc
>>> (or just use musl or glibc). To switch off busybox you have to disable
>>> busybox init in the system settings.
>>>
>>> Signed-off-by: Rob Landley <rob@landley.net>
>>> ---
>>>
>>>  package/Config.in                            |    1
>>>  package/toybox/Config.in                     |   24 ++
>>>  package/toybox/toybox-0001-portability.patch |   14 +
>>>  package/toybox/toybox.config                 |  169 +++++++++++++++++
>>>  package/toybox/toybox.mk                     |   26 ++
>>>  5 files changed, 234 insertions(+)
>>>
>>> This is the same patch as
>>> http://lists.busybox.net/pipermail/buildroot/2014-September/106763.html
>>> with more standard header info.
>>>
>>> --- /dev/null   2014-08-15 22:36:13.247368743 -0500
>>> +++ buildroot/package/toybox/Config.in  2014-09-20 18:07:19.821569067 -0500
>>> @@ -0,0 +1,24 @@
>>> +config BR2_PACKAGE_TOYBOX
>>> +       bool "Toybox"
>>> +       depends on BR2_LARGEFILE && BR2_USE_WCHAR
>>> +       help
>>> +         Toybox combines common Linux command line utilities together into
>>> +         a single executable that's simple, small, fast, and reasonably
>>> +         standards compliant.
>>> +
>>> +         It was started by an ex-maintainer of BusyBox, and uses the same
>>> +         "multicall binary configured at build time via menuconfig" approach,
>>> +         but is a fresh implementation that uses no busybox code.
>>> +
>>> +         Toybox is licensed under a "zero clause" BSD variant which grants
>>> +         the same blanket permissions but removes the requirement to copy
>>> +         specific license text into derivative works, essentially placing
>>> +         its code into the public domain.
>>> +
>>> +config BR2_PACKAGE_TOYBOX_CONFIG
>>> +       string "Toybox configuration file:"
>>> +       default "package/toybox/toybox.config"
>>> +       depends on BR2_PACKAGE_TOYBOX
>>> +       help
>>> +         Specify an alternative config file location enabling a different
>>> +         set of commands in toybox. The default file equals "make defconfig".
>>> --- /dev/null   2014-08-15 22:36:13.247368743 -0500
>>> +++ buildroot/package/toybox/toybox-0001-portability.patch      2014-09-20 18:44:23.813511200 -0500
>>> @@ -0,0 +1,14 @@
>>> +Workaround for uClibc's lack of posix-2008 compliance.
>>> +
>>> +diff -r 74b29c369420 lib/portability.h
>>> +--- a/lib/portability.h
>>> ++++ b/lib/portability.h
>>> +@@ -74,6 +74,8 @@
>>> + #include <unistd.h>
>>> + #include <stdio.h>
>>> + ssize_t getdelim(char **lineptr, size_t *n, int delim, FILE *stream);
>>> ++char *stpcpy(char *dest, const char *src);
>>> ++pid_t getsid(pid_t pid);
>>> +
>>> + // uClibc's last-ever release was in 2012, so of course it doesn't define
>>> + // any flag newer than MS_MOVE, which was added in 2001 (linux 2.5.0.5),
>>> --- /dev/null   2014-08-15 22:36:13.247368743 -0500
>>> +++ buildroot/package/toybox/toybox.config      2014-09-20 18:38:24.897520539 -0500
>>> @@ -0,0 +1,169 @@
>>> +CONFIG_TOYBOX_CONTAINER=y
>>> +CONFIG_TOYBOX_FIFREEZE=y
>>> +CONFIG_TOYBOX_ICONV=y
>>> +CONFIG_TOYBOX_FALLOCATE=y
>>> +
>>> +#
>>> +# Posix commands
>>> +#
>>> +CONFIG_BASENAME=y
>>> +CONFIG_CAL=y
>>> +CONFIG_CAT=y
>>> +CONFIG_CHGRP=y
>>> +CONFIG_CHMOD=y
>>> +CONFIG_CKSUM=y
>>> +CONFIG_CMP=y
>>> +CONFIG_COMM=y
>>> +CONFIG_CP=y
>>> +CONFIG_CP_MORE=y
>>> +CONFIG_CP_MV=y
>>> +CONFIG_CP_MV_MORE=y
>>> +CONFIG_CPIO=y
>>> +CONFIG_CUT=y
>>> +CONFIG_DATE=y
>>> +CONFIG_DF=y
>>> +CONFIG_DF_PEDANTIC=y
>>> +CONFIG_DIRNAME=y
>>> +CONFIG_DU=y
>>> +CONFIG_ECHO=y
>>> +CONFIG_ENV=y
>>> +CONFIG_EXPAND=y
>>> +CONFIG_FALSE=y
>>> +CONFIG_GREP=y
>>> +CONFIG_HEAD=y
>>> +CONFIG_ID=y
>>> +CONFIG_ID_GROUPS=y
>>> +CONFIG_ID_LOGNAME=y
>>> +CONFIG_KILL=y
>>> +CONFIG_KILLALL5=y
>>> +CONFIG_LINK=y
>>> +CONFIG_LN=y
>>> +CONFIG_LS=y
>>> +CONFIG_LS_COLOR=y
>>> +CONFIG_MKDIR=y
>>> +CONFIG_MKFIFO=y
>>> +CONFIG_NICE=y
>>> +CONFIG_NL=y
>>> +CONFIG_NOHUP=y
>>> +CONFIG_OD=y
>>> +CONFIG_PASTE=y
>>> +CONFIG_PATCH=y
>>> +CONFIG_PWD=y
>>> +CONFIG_RENICE=y
>>> +CONFIG_RM=y
>>> +CONFIG_RMDIR=y
>>> +CONFIG_SLEEP=y
>>> +CONFIG_SLEEP_FLOAT=y
>>> +CONFIG_SORT=y
>>> +CONFIG_SORT_BIG=y
>>> +CONFIG_SORT_FLOAT=y
>>> +CONFIG_SPLIT=y
>>> +CONFIG_STRINGS=y
>>> +CONFIG_TAIL=y
>>> +CONFIG_TAIL_SEEK=y
>>> +CONFIG_TEE=y
>>> +CONFIG_TIME=y
>>> +CONFIG_TOUCH=y
>>> +CONFIG_TRUE=y
>>> +CONFIG_TTY=y
>>> +CONFIG_UNAME=y
>>> +CONFIG_UNIQ=y
>>> +CONFIG_UNLINK=y
>>> +CONFIG_UUDECODE=y
>>> +CONFIG_UUENCODE=y
>>> +CONFIG_WC=y
>>> +CONFIG_WHO=y
>>> +CONFIG_XARGS=y
>>> +
>>> +#
>>> +# Other commands
>>> +#
>>> +CONFIG_ACPI=y
>>> +CONFIG_BLKID=y
>>> +CONFIG_BZCAT=y
>>> +CONFIG_CATV=y
>>> +CONFIG_CHROOT=y
>>> +CONFIG_CHVT=y
>>> +CONFIG_CLEAR=y
>>> +CONFIG_COUNT=y
>>> +CONFIG_DOS2UNIX=y
>>> +CONFIG_EJECT=y
>>> +CONFIG_FALLOCATE=y
>>> +CONFIG_FREE=y
>>> +CONFIG_FREERAMDISK=y
>>> +CONFIG_FSFREEZE=y
>>> +CONFIG_HELP=y
>>> +CONFIG_HELP_EXTRAS=y
>>> +CONFIG_IFCONFIG=y
>>> +CONFIG_INSMOD=y
>>> +CONFIG_LOGIN=y
>>> +CONFIG_LOSETUP=y
>>> +CONFIG_LSATTR=y
>>> +CONFIG_CHATTR=y
>>> +CONFIG_LSMOD=y
>>> +CONFIG_LSUSB=y
>>> +CONFIG_MAKEDEVS=y
>>> +CONFIG_MKPASSWD=y
>>> +CONFIG_MKSWAP=y
>>> +CONFIG_MODINFO=y
>>> +CONFIG_MOUNTPOINT=y
>>> +CONFIG_NETCAT=y
>>> +CONFIG_NETCAT_LISTEN=y
>>> +CONFIG_ONEIT=y
>>> +CONFIG_PARTPROBE=y
>>> +CONFIG_PIVOT_ROOT=y
>>> +CONFIG_PMAP=y
>>> +CONFIG_PRINTENV=y
>>> +CONFIG_PWDX=y
>>> +CONFIG_READAHEAD=y
>>> +CONFIG_READLINK=y
>>> +CONFIG_REALPATH=y
>>> +CONFIG_REBOOT=y
>>> +CONFIG_REV=y
>>> +CONFIG_RFKILL=y
>>> +CONFIG_RMMOD=y
>>> +CONFIG_SETSID=y
>>> +CONFIG_STAT=y
>>> +CONFIG_SWAPOFF=y
>>> +CONFIG_SWAPON=y
>>> +CONFIG_SWITCH_ROOT=y
>>> +CONFIG_SYSCTL=y
>>> +CONFIG_TAC=y
>>> +CONFIG_TASKSET=y
>>> +CONFIG_TIMEOUT=y
>>> +CONFIG_TRUNCATE=y
>>> +CONFIG_UNSHARE=y
>>> +CONFIG_UPTIME=y
>>> +CONFIG_USLEEP=y
>>> +CONFIG_VCONFIG=y
>>> +CONFIG_VMSTAT=y
>>> +CONFIG_W=y
>>> +CONFIG_WHICH=y
>>> +CONFIG_YES=y
>>> +
>>> +#
>>> +# Linux Standard Base commands
>>> +#
>>> +CONFIG_DMESG=y
>>> +CONFIG_HOSTNAME=y
>>> +CONFIG_KILLALL=y
>>> +CONFIG_MD5SUM=y
>>> +CONFIG_MD5SUM_SHA1SUM=y
>>> +CONFIG_MKNOD=y
>>> +CONFIG_MKTEMP=y
>>> +CONFIG_PASSWD=y
>>> +CONFIG_PIDOF=y
>>> +CONFIG_SEQ=y
>>> +CONFIG_SU=y
>>> +CONFIG_SYNC=y
>>> +CONFIG_UMOUNT=y
>>> +
>>> +#
>>> +# Toybox global settings
>>> +#
>>> +CONFIG_TOYBOX=y
>>> +CONFIG_TOYBOX_SUID=y
>>> +CONFIG_TOYBOX_FLOAT=y
>>> +CONFIG_TOYBOX_HELP=y
>>> +CONFIG_TOYBOX_HELP_DASHDASH=y
>>> +CONFIG_TOYBOX_I18N=y
>>> --- /dev/null   2014-08-15 22:36:13.247368743 -0500
>>> +++ buildroot/package/toybox/toybox.mk  2014-09-20 18:38:17.509520730 -0500
>>> @@ -0,0 +1,26 @@
>>> +################################################################################
>>> +#
>>> +# toybox
>>> +#
>>> +################################################################################
>>> +
>>> +TOYBOX_VERSION = 0.4.9
>>> +TOYBOX_SITE = http://landley.net/toybox/downloads
>>> +TOYBOX_SOURCE = toybox-$(TOYBOX_VERSION).tar.bz2
>>> +TOYBOX_LICENSE = Public domain, BSD-0c
>>> +TOYBOX_LICENSE_FILES = LICENSE
>>> +
>>> +TOYBOX_KCONFIG_FILE = $(call qstrip,$(BR2_PACKAGE_TOYBOX_CONFIG))
>>> +
>>> +define TOYBOX_BUILD_CMDS
>>> +       $(TARGET_MAKE_ENV) CROSS_COMPILE="$(TARGET_CROSS)" \
>>> +               $(MAKE) -C $(@D)
>>> +endef
>>> +
>>> +define TOYBOX_INSTALL_TARGET_CMDS
>>> +       $(TARGET_MAKE_ENV) PREFIX="$(TARGET_DIR)" \
>>> +               $(MAKE) -C $(@D) install
>>> +endef
>>> +
>>> +
>>> +$(eval $(kconfig-package))
>>> diff --git a/package/Config.in b/package/Config.in
>>> index 73ba86a..742a8c0 100644
>>> --- a/package/Config.in
>>> +++ b/package/Config.in
>>> @@ -1,6 +1,7 @@
>>>  menu "Target packages"
>>>
>>>         source "package/busybox/Config.in"
>>> +       source "package/toybox/Config.in"
>>>
>>>  menu "Audio and video applications"
>>>         source "package/alsa-utils/Config.in"
>>> _______________________________________________
>>> buildroot mailing list
>>> buildroot at busybox.net
>>> http://lists.busybox.net/mailman/listinfo/buildroot
>>
>>
>>



-- 
Profile: http://it.linkedin.com/in/compagnucciangelo

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

* [Buildroot] [PATCH 1/1] toybox: new package
  2017-01-24  9:33     ` Angelo Compagnucci
@ 2017-01-24 10:10       ` Peter Korsgaard
  2017-01-25 23:00         ` Rob Landley
  0 siblings, 1 reply; 10+ messages in thread
From: Peter Korsgaard @ 2017-01-24 10:10 UTC (permalink / raw)
  To: buildroot

>>>>> "Angelo" == Angelo Compagnucci <angelo.compagnucci@gmail.com> writes:

 > Hi Rob,
 > Sorry for asking you again, but it will be a new toybox patch any time soon?

 > I would really like to have toybox in buildroot!

Out of interest, why? What does it bring you that busybox doesn't have?

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 1/1] toybox: new package
  2017-01-24 10:10       ` Peter Korsgaard
@ 2017-01-25 23:00         ` Rob Landley
  2017-01-26  7:25           ` Peter Korsgaard
  0 siblings, 1 reply; 10+ messages in thread
From: Rob Landley @ 2017-01-25 23:00 UTC (permalink / raw)
  To: buildroot

On 01/24/2017 04:10 AM, Peter Korsgaard wrote:
>>>>>> "Angelo" == Angelo Compagnucci <angelo.compagnucci@gmail.com> writes:
> 
>  > Hi Rob,
>  > Sorry for asking you again, but it will be a new toybox patch any time soon?
> 
>  > I would really like to have toybox in buildroot!
> 
> Out of interest, why? What does it bring you that busybox doesn't have?

I don't think 'iotop' is the answer you're looking for. :)

Toybox provides the standard command line of Android since the "M"
release, as covered by Linux Weekly News here:
https://lwn.net/Articles/629362/ A few months ago Elliott Hughes (the
Android toolbox and bionic maintainer) posted a roadmap to replacing the
last bits of toolbox with toybox:

http://lists.landley.net/pipermail/toybox-landley.net/2016-June/008484.html

I explained my plan for toybox and Android in this 2013 ELC talk:

  video; https://www.youtube.com/watch?v=SGmtP5Lg_t0
  outline: http://landley.net/talks/celf-2013.txt

The tl;dr is phones ship a billion units a year which is going to do to
the PC what the PC did to the minicomputer, but a read-only iPad future
would be a bad thing, so I'm trying to turn Android into a self-hosting
development environment capable of rebuilding itself from source code,
so that _having_ an android phone is sufficient to become a first class
Android developer up to and including doing OS development. (This has
been the case on the PC for decades; if it doesn't _become_ the case on
phones then when PC unit volume drops and they become rare and expensive
we're kinda screwed. Think what happened to Solaris after they got
kicked out of the workstation market by cheap PCs.)

My model use case is an 8 year old girl in india inheriting her mother's
old phone and scrounging up an old USB hub/keyboard/mouse and HDTV. (Or
bluetooth+chromecast and plug the phone into the wall to keep it
powered. Or a solar panel.) Does she have enough to become a systems
developer? What do I need to add to android so that _having_ an android
phone is sufficient to being a first class Android developer, up to and
including OS development? (Like it's been on the PC since Linux started?)

So yes you need a full set of command line utilities good enough to run
build scripts, along with a native llvm and maybe a posix chroot you can
access via Android's container infrastructure (minijail:
https://lwn.net/Articles/700557/). And it should all be preinstalled:
how old can the phone be before there's no active app store for it? But
most of those details are still way down the road.

My previous project (http://landley.net/aboriginal/about.html) is what
led me to extend BusyBox in the first place (and eventually become
maintainer for a bit). I extended it until it could replace all the gnu
packages in Linux From Scratch and give you a tiny development
environment still capable of rebuilding itself (and the original Linux
From Scratch). My motivation back _then_ was that Knoppix had a 700 meg
CD space budget but 100 megs of that was the gnu packages in Linux From
Scratch which tomsrtbt fit in 1.7 megs using busybox and uClibc; and if
I could free up an extra 100 megs for knopix they could work wonders
with it. The 1.0 release of that (I.E. 'does what it set out to do') was
several years ago.

Now instead of Linux From Scratch, I need to take apart the Android Open
Source Project and turn it into a layered system where you can build a
simple "base OS" (boot to a shell prompt layer, init and service demons
layer, app runtime layer...) without downloading 20-something gigabytes
of source code first. But that giant todo item is next up _after_ a 1.0
toybox release, and I've still got a lot of
http://landley.net/toybox/roadmap.html to work through.

Rob

P.S. You asked.

P.P.S. No asking people to reimage their phone before they can do
anything isn't good enough: less than 2% of PC users ever did this, it's
not going to get more common with phones. Preinstalls matter.

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

* [Buildroot] [PATCH 1/1] toybox: new package
  2017-01-25 23:00         ` Rob Landley
@ 2017-01-26  7:25           ` Peter Korsgaard
  2017-01-26  7:31             ` Angelo Compagnucci
  0 siblings, 1 reply; 10+ messages in thread
From: Peter Korsgaard @ 2017-01-26  7:25 UTC (permalink / raw)
  To: buildroot

>>>>> "Rob" == Rob Landley <rob@landley.net> writes:

 > On 01/24/2017 04:10 AM, Peter Korsgaard wrote:
 >>>>>>> "Angelo" == Angelo Compagnucci <angelo.compagnucci@gmail.com> writes:
 >> 
 >> > Hi Rob,
 >> > Sorry for asking you again, but it will be a new toybox patch any time soon?
 >> 
 >> > I would really like to have toybox in buildroot!
 >> 
 >> Out of interest, why? What does it bring you that busybox doesn't have?

 > I don't think 'iotop' is the answer you're looking for. :)

[snip long ramblings about android]

Sorry Rob, but I always find your mails hard to deal with. They are
always so long and only somewhat related to the subject.

So let me clarify: In the context of Buildroot, what would be the
technical reason to use toybox instead of busybox today? Please keep it
short.

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 1/1] toybox: new package
  2017-01-26  7:25           ` Peter Korsgaard
@ 2017-01-26  7:31             ` Angelo Compagnucci
  2017-01-26  7:48               ` Peter Korsgaard
  0 siblings, 1 reply; 10+ messages in thread
From: Angelo Compagnucci @ 2017-01-26  7:31 UTC (permalink / raw)
  To: buildroot

Hi Peter,

2017-01-26 8:25 GMT+01:00 Peter Korsgaard <peter@korsgaard.com>:
>>>>>> "Rob" == Rob Landley <rob@landley.net> writes:
>
>  > On 01/24/2017 04:10 AM, Peter Korsgaard wrote:
>  >>>>>>> "Angelo" == Angelo Compagnucci <angelo.compagnucci@gmail.com> writes:
>  >>
>  >> > Hi Rob,
>  >> > Sorry for asking you again, but it will be a new toybox patch any time soon?
>  >>
>  >> > I would really like to have toybox in buildroot!
>  >>
>  >> Out of interest, why? What does it bring you that busybox doesn't have?
>
>  > I don't think 'iotop' is the answer you're looking for. :)
>
> [snip long ramblings about android]
>
> Sorry Rob, but I always find your mails hard to deal with. They are
> always so long and only somewhat related to the subject.
>
> So let me clarify: In the context of Buildroot, what would be the
> technical reason to use toybox instead of busybox today? Please keep it
> short.

For me it's releated to licensing. IMHO it's important to have the
freedom to choose between a copyleft/non copyleft license for such a
vital component like busybox/toybox in an embedded linux distro.

Sincerely, Angelo

>
> --
> Bye, Peter Korsgaard



-- 
Profile: http://it.linkedin.com/in/compagnucciangelo

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

* [Buildroot] [PATCH 1/1] toybox: new package
  2017-01-26  7:31             ` Angelo Compagnucci
@ 2017-01-26  7:48               ` Peter Korsgaard
  2017-01-26  7:52                 ` Angelo Compagnucci
  0 siblings, 1 reply; 10+ messages in thread
From: Peter Korsgaard @ 2017-01-26  7:48 UTC (permalink / raw)
  To: buildroot

>>>>> "Angelo" == Angelo Compagnucci <angelo.compagnucci@gmail.com> writes:

Hi,

 >> So let me clarify: In the context of Buildroot, what would be the
 >> technical reason to use toybox instead of busybox today? Please keep it
 >> short.

 > For me it's releated to licensing. IMHO it's important to have the
 > freedom to choose between a copyleft/non copyleft license for such a
 > vital component like busybox/toybox in an embedded linux distro.

But busybox is licensed under the same license as the Linux kernel. What
do you use instead of Linux?

-- 
Bye, Peter Korsgaard

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

* [Buildroot] [PATCH 1/1] toybox: new package
  2017-01-26  7:48               ` Peter Korsgaard
@ 2017-01-26  7:52                 ` Angelo Compagnucci
  0 siblings, 0 replies; 10+ messages in thread
From: Angelo Compagnucci @ 2017-01-26  7:52 UTC (permalink / raw)
  To: buildroot

Dear Peter,

2017-01-26 8:48 GMT+01:00 Peter Korsgaard <peter@korsgaard.com>:
>>>>>> "Angelo" == Angelo Compagnucci <angelo.compagnucci@gmail.com> writes:
>
> Hi,
>
>  >> So let me clarify: In the context of Buildroot, what would be the
>  >> technical reason to use toybox instead of busybox today? Please keep it
>  >> short.
>
>  > For me it's releated to licensing. IMHO it's important to have the
>  > freedom to choose between a copyleft/non copyleft license for such a
>  > vital component like busybox/toybox in an embedded linux distro.
>
> But busybox is licensed under the same license as the Linux kernel. What
> do you use instead of Linux?

I hope to not start a flame war here, but no one in the kernel world
has sued someone for the use of linux, for busybox instead ...

Sincerely, Angelo

>
> --
> Bye, Peter Korsgaard



-- 
Profile: http://it.linkedin.com/in/compagnucciangelo

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

end of thread, other threads:[~2017-01-26  7:52 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-09-24 14:57 [Buildroot] [PATCH 1/1] toybox: new package Rob Landley
2015-02-11 21:24 ` Angelo Compagnucci
2015-02-11 21:37   ` Rob Landley
2017-01-24  9:33     ` Angelo Compagnucci
2017-01-24 10:10       ` Peter Korsgaard
2017-01-25 23:00         ` Rob Landley
2017-01-26  7:25           ` Peter Korsgaard
2017-01-26  7:31             ` Angelo Compagnucci
2017-01-26  7:48               ` Peter Korsgaard
2017-01-26  7:52                 ` Angelo Compagnucci

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.