platform/upstream/toybox.git
4 years agopackaging: full: Modify post script to use relative path 11/209711/1
Wook Song [Wed, 10 Jul 2019 06:22:20 +0000 (15:22 +0900)]
packaging: full: Modify post script to use relative path

Creating symbolic links using absolute path in the post script usually
fails during the 'mic' procedure so that this patch fixes such issue by
changing the absolute path in the script to the relative path.

Change-Id: I7078059a22b93876c027aea05a45dc0f266dbedb
Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years agopackaging: Do not create symboic links in /bin and /sbin 10/209710/1
Wook Song [Wed, 10 Jul 2019 04:50:14 +0000 (13:50 +0900)]
packaging: Do not create symboic links in /bin and /sbin

Since the 'filesystem' package creates /bin and /sbin as symbolic links
to /usr/bin and /usr/sbin, respectively, in Tizen, it is unnecessary
that toybox creates symbolic links in /bin and /sbin by itself.

Change-Id: Ic9b799a3f1de48b5ddaa1815ab82d9adfea70871
Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years agopackaging: symlinks-full: Rename su and passwd 09/209709/1
Wook Song [Wed, 10 Jul 2019 04:29:06 +0000 (13:29 +0900)]
packaging: symlinks-full: Rename su and passwd

This patch prepends 'toybox-' to names of symbolic links for su and
passwd in the toybox-symlinks-full package in order to avoid conflict
with those binaries provided by shadow-utils-* packages.

Change-Id: If8a6d46a293c73f99d7c39afe0b83d85ae3311c5
Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years agopackaging: symlinks-full: Rename sh and iconv 45/209445/2
Wook Song [Mon, 8 Jul 2019 05:38:34 +0000 (14:38 +0900)]
packaging: symlinks-full: Rename sh and iconv

This patch prepends 'toybox-' to names of symbolic links for sh and
iconv in the toybox-symlinks-full package. Note that sh and iconv in
symlinks-full package conflicts with those of bash and glibc packages,
respectively.

Change-Id: I475844b7a12db88050e634ab58071005c1944827
Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years agoMerge "[toybox] Disable applets to avoid a QEMU/ASAN corruption" into tizen accepted/tizen/unified/20190709.113109 submit/tizen/20190709.043302
Semun Lee [Tue, 9 Jul 2019 04:30:47 +0000 (04:30 +0000)]
Merge "[toybox] Disable applets to avoid a QEMU/ASAN corruption" into tizen

4 years ago[toybox] Disable applets to avoid a QEMU/ASAN corruption 10/209510/4
Geunsik Lim [Mon, 8 Jul 2019 08:05:42 +0000 (17:05 +0900)]
[toybox] Disable applets to avoid a QEMU/ASAN corruption

Fixed JIRA/TFDF-2712.

According to the log message of "gbs build" command, ASAN has a bug.
In case that ASAN meets an unexpected situation, QEMU (ARM emulator) is
suddenly broken because of the abnormal operations of ASAN.
As a result of that, we could not get any hints from ASAN.

In order to fix this issue, This commit is to disable the below applets
to avoid an unexpected situation that ASAN option results in a corruption
of the ARM QEMU emulator of Tizen.

* Changelog:
  1. Disbled optional applets that caused a QEMU/ASAN corruption
     - CONFIG_CP_MORE: Copy files with additional option(s) such as -adlnrsv
     - CONFIG_CP_PRESERVE: Copy files by taking a comma separated list of attributes
     - CONFIG_LS_COLOR: Display file(s) and folder(s) with a tty device
     - CONFIG_MKDIR_Z: Create one or more directories with a security context
     - CONFIG_MKFIFO_Z: Create FIFOs (named pp3s) with a security context
     - CONFIG_DECOMPRESS: Decompess (deflate) file(s).

  2. Updated the configuration file
     - Disabled SMACK
     - Disabled I18N

* Error message:
[39s] qemu: uncaught target signal 11 (Segmentation fault) - core dumped
[39s] scripts/make.sh: line 218: 29303 Segmentation fault
(core dumped) generated/config2help Config.in $KCONFIG_CONFIG > generated/help.h
[39s] Makefile:11: recipe for target 'toybox' failed

* How to reproduce:
  - {arch_name}: i586, x86_64, armv7l, and aarch64
  - u1604$ gbs build -A {arch_name} --include-all \
           --extra-packs asan-force-options,asan-build-env \
           --define 'asan 1'

Change-Id: I958e8db7b7b3b4a027ea4292388f264570eea372
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
4 years agoPackaging: full: Replace 'ln' with 'toybox-full' 43/209443/2 accepted/tizen/unified/20190708.114132 submit/tizen/20190708.075352
Wook Song [Mon, 8 Jul 2019 05:29:47 +0000 (14:29 +0900)]
Packaging: full: Replace 'ln' with 'toybox-full'

This patch replaces 'ln' in the post script of the toybox-full package
with 'toybox-full ln'. This is because the ln command is availabe after
the toybox-symlinks-full package is installed.

Change-Id: I509e97f71b5b8e2098c23b41329d51ab065df8df
Signed-off-by: Wook Song <wook16.song@samsung.com>
4 years agoUse shell builtins instead of calling wc/awk/sed. (Fewer forks in build loop.) accepted/tizen/unified/20190704.040502 submit/tizen/20190703.090540
Rob Landley [Wed, 2 Mar 2016 05:39:27 +0000 (23:39 -0600)]
Use shell builtins instead of calling wc/awk/sed. (Fewer forks in build loop.)
Based on suggestions from Nicholas Boichat.

4 years agoSwitch to $! for make.sh process enumeration.
Rob Landley [Fri, 26 Feb 2016 06:22:15 +0000 (00:22 -0600)]
Switch to $! for make.sh process enumeration.

4 years agoPackaging: Added a toybox-full.rpm includes most applets 16/206816/4 accepted/tizen/unified/20190605.215702 submit/tizen/20190604.012932
Geunsik Lim [Mon, 27 May 2019 11:20:10 +0000 (20:20 +0900)]
Packaging: Added a toybox-full.rpm includes most applets

This commit is to provide a sub package that is called toybox-full.rpm
as well as toybox.rpm (small package that consists of 7 applets just).
The toybox-full.rpm file includes most of the applets including 'init'
command. This commit does not affect the execution of the existing
toybox.rpm file. As we all know, Busybox has been released with GPL license.
Above all, the latest version of Busybox is GPLV3+. We need to provide
another full package including 'init' command such as Toybox (BSD)
instead of the existing Buxybox package.

* Changelog:
Ver3:
   - Declared toybox-full with "Conflicts".
   - Declared "Requires" with %{name}-full for toyboxy-symlinsks-full

Ver2:
   - Removed unnecessary line (Source44:***)

Ver1:
   - Added toybox-full.rpm package

* aarch64: Comparison of the binary size  between toybox and toybox-full
1. toybox (dynamic ELF): 84,720 bytes
   - 7 applets: dhcp dhcpd dumpleases nslookup ping traceroute traceroute6

2. toybox-full(dynamic ELF): 557,008 bytes
   - 208 applets

Change-Id: Ibc5fa77f7d1c7c80296520fe2a55561a9ca188ac
Signed-off-by: Geunsik Lim <geunsik.lim@samsung.com>
6 years agoRevert "Add -Wprint-abs-path to generate absolute path for buildwarnings" 87/176187/1 accepted/tizen_5.0_unified tizen_5.0 accepted/tizen/5.0/unified/20181102.025606 accepted/tizen/unified/20180417.173239 submit/tizen/20180417.090848 submit/tizen_5.0/20181101.000008
Jaehun Jeong [Tue, 17 Apr 2018 08:55:25 +0000 (17:55 +0900)]
Revert "Add -Wprint-abs-path to generate absolute path for buildwarnings"

This reverts commit 06c4c30907004afb917eb3c00856adadbffebfda.

Change-Id: I8bf28b2a5e5426b8f002ce2cbdfcfa4b2a0be28b

6 years agoAdd -Wprint-abs-path to generate absolute path for buildwarnings 99/172699/2 accepted/tizen/unified/20180320.141338 submit/tizen/20180318.231541 submit/tizen/20180318.232021 submit/tizen/20180320.043504
Jaehun Jeong [Thu, 15 Mar 2018 08:09:32 +0000 (17:09 +0900)]
Add -Wprint-abs-path to generate absolute path for buildwarnings

Change-Id: Ife735f35dacad281c5d291eaad32fd867aa796dd
Signed-off-by: Jaehun Jeong <jh4u.jeong@samsung.com>
6 years agoFix defect detected by static analyzer 86/153086/1 accepted/tizen/unified/20170929.081853 submit/tizen/20170928.232941
Jiung [Thu, 28 Sep 2017 02:34:53 +0000 (11:34 +0900)]
Fix defect detected by static analyzer

Change-Id: Ida9d618ce50bed3500414cd3752d7999c338468c
Signed-off-by: Yu jiung <jiung.yu@samsung.com>
6 years ago[dhcpd] Append DHCP option fields to DHCP ACK 96/132096/2 accepted/tizen/4.0/unified/20170816.012444 accepted/tizen/4.0/unified/20170828.221523 accepted/tizen/unified/20170608.072307 submit/tizen/20170607.064606 submit/tizen_4.0/20170811.094300 submit/tizen_4.0/20170828.100007
Seonah Moon [Thu, 1 Jun 2017 05:38:03 +0000 (14:38 +0900)]
[dhcpd] Append DHCP option fields to DHCP ACK

Change-Id: I265952ac7adfd829c1e4ff46639e4b6afc097583
Signed-off-by: Seonah Moon <seonah1.moon@samsung.com>
7 years agoDefragment per-profile dependencies 54/83354/2 accepted/tizen_3.0.m2_mobile accepted/tizen_3.0.m2_tv accepted/tizen_3.0.m2_wearable accepted/tizen_3.0_common accepted/tizen_3.0_ivi accepted/tizen_3.0_mobile accepted/tizen_3.0_tv accepted/tizen_3.0_wearable accepted/tizen_common accepted/tizen_ivi accepted/tizen_mobile accepted/tizen_tv accepted/tizen_wearable tizen_3.0 tizen_3.0.m2 tizen_3.0_tv accepted/tizen/3.0.m2/mobile/20170105.025510 accepted/tizen/3.0.m2/tv/20170105.025657 accepted/tizen/3.0.m2/wearable/20170105.025743 accepted/tizen/3.0/common/20161114.111920 accepted/tizen/3.0/ivi/20161011.065215 accepted/tizen/3.0/mobile/20161015.034428 accepted/tizen/3.0/tv/20161016.005944 accepted/tizen/3.0/wearable/20161015.084349 accepted/tizen/common/20160831.161415 accepted/tizen/ivi/20160831.124353 accepted/tizen/mobile/20160831.124304 accepted/tizen/tv/20160831.124315 accepted/tizen/unified/20170309.040646 accepted/tizen/wearable/20160831.124336 submit/tizen/20160831.004932 submit/tizen_3.0.m2/20170104.093755 submit/tizen_3.0_common/20161104.104000 submit/tizen_3.0_ivi/20161010.000007 submit/tizen_3.0_mobile/20161015.000007 submit/tizen_3.0_tv/20161015.000006 submit/tizen_3.0_wearable/20161015.000006 submit/tizen_unified/20170308.100417 tizen_4.0.m1_release
MyungJoo Ham [Wed, 10 Aug 2016 08:14:08 +0000 (17:14 +0900)]
Defragment per-profile dependencies

General packages especially at lower layers should avoid
being direclty dependent on profile information, which
enforces build system to build things redundantly and
makes much difficult to configure a system.

Change-Id: I5ee2715c537c4ad61c903a436bd8f8552111bd49
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
7 years agoReplace ping command with BSD-3 clause based for temporal use 12/75712/2 accepted/tizen/common/20160721.180419 accepted/tizen/ivi/20160721.092137 accepted/tizen/mobile/20160721.092745 accepted/tizen/tv/20160721.091619 accepted/tizen/wearable/20160721.091627 submit/tizen/20160721.043037
Yu Jiung [Tue, 21 Jun 2016 05:54:53 +0000 (14:54 +0900)]
Replace ping command with BSD-3 clause based for temporal use

Change-Id: I57de29f91d945f2122c27f57bc8fd2a833eb0b74
Signed-off-by: Yu jiung <jiung.yu@samsung.com>
7 years agoAdd BSD License file 31/70731/1
Seonah Moon [Fri, 20 May 2016 08:23:42 +0000 (17:23 +0900)]
Add BSD License file

Change-Id: Ida6ed51cefb34826dbc01792155bcab7d280c99a
Signed-off-by: Seonah Moon <seonah1.moon@samsung.com>
8 years agoFix License 77/63277/2 accepted/tizen/common/20160323.184656 accepted/tizen/common/20160329.050418 accepted/tizen/ivi/20160323.140529 accepted/tizen/ivi/20160405.005315 accepted/tizen/mobile/20160323.134807 accepted/tizen/mobile/20160405.005227 accepted/tizen/tv/20160323.135304 accepted/tizen/tv/20160405.005240 accepted/tizen/wearable/20160323.134925 accepted/tizen/wearable/20160405.005257 submit/tizen/20160323.054927 submit/tizen/20160328.042832
Yu Jiung [Wed, 23 Mar 2016 05:08:55 +0000 (14:08 +0900)]
Fix License

Change-Id: I69ab6705c718f52afaaea472d1be911bcf56e683

8 years agoAdd ping command for TV profile and samsung developed nslookup command 86/62786/3
Yu Jiung [Fri, 18 Mar 2016 08:32:15 +0000 (17:32 +0900)]
Add ping command for TV profile and samsung developed nslookup command

Change-Id: I0680bbfdd709d26064ae67f595da692bf60b7dae

8 years agoRevert back to upstream 0.6.0 and remove all except for dhcp related 01/62701/1 submit/tizen/20160323.053424
Yu Jiung [Thu, 17 Mar 2016 12:09:12 +0000 (21:09 +0900)]
Revert back to upstream 0.6.0 and remove all except for dhcp related

Change-Id: Ide839cfefc7c4049715f86a2bf769c333175b2bf

8 years agoMerge "use consistent string for security context" into tizen
Hyejin Kim [Tue, 5 Jan 2016 02:40:24 +0000 (18:40 -0800)]
Merge "use consistent string for security context" into tizen

8 years agoRevert "Support patch, diff, sed, grep, egrep, fgrep, find commands" 49/54649/1
Hurnjoo Lee [Thu, 17 Dec 2015 02:37:39 +0000 (11:37 +0900)]
Revert "Support patch, diff, sed, grep, egrep, fgrep, find commands"

This reverts commit db57410065811e90515b62e22945f9b96140a3ac.

Change-Id: I71086db47d303cce381d769566988e68846d0dd9
Signed-off-by: Hurnjoo Lee <hurnjoo.lee@samsung.com>
8 years agoSupport patch, diff, sed, grep, egrep, fgrep, find commands 21/51621/2
Hurnjoo Lee [Wed, 11 Nov 2015 09:01:34 +0000 (18:01 +0900)]
Support patch, diff, sed, grep, egrep, fgrep, find commands

Change-Id: I13abf52981096e383bf2abb0afb013a9f02d5e05
Signed-off-by: Hurnjoo Lee <hurnjoo.lee@samsung.com>
8 years agouse consistent string for security context 24/49424/1
Hyejin Kim [Tue, 13 Oct 2015 06:28:37 +0000 (15:28 +0900)]
use consistent string for security context

Change-Id: Ieb878c674e058170051b1e6256a88da8cc3bf819

8 years agosupport smack feature for install, mv, cp and stat 02/48402/3 accepted/tizen/common/20160324.084130 accepted/tizen/ivi/20160218.025722 accepted/tizen/ivi/20160323.233653 accepted/tizen/mobile/20150924.051151 accepted/tizen/mobile/20160323.233607 accepted/tizen/tv/20150924.051206 accepted/tizen/tv/20160323.233621 accepted/tizen/wearable/20150924.051217 accepted/tizen/wearable/20160323.233632 submit/tizen/20150924.044319 submit/tizen/20160323.232819 submit/tizen_common/20151229.142028 submit/tizen_common/20151229.144031 submit/tizen_common/20151229.154718 submit/tizen_ivi/20160217.000000 submit/tizen_ivi/20160217.000007 tizen_3.0.m2.a1_mobile_release tizen_3.0.m2.a1_tv_release
Hyejin Kim [Mon, 21 Sep 2015 09:46:33 +0000 (18:46 +0900)]
support smack feature for install, mv, cp and stat
and enable all smack feature

Change-Id: I303da3d33c726c8b1125a8d85fd309a41e7368f6

8 years agosupport nslookup command 86/48486/2
Hyejin Kim [Tue, 22 Sep 2015 06:13:33 +0000 (15:13 +0900)]
support nslookup command

Change-Id: I8f677c6b41e1244af404e4fe995599780d01480e

8 years agounregister service for klogd, syslogd 19/47519/1 tizen_3.0.m1_mobile tizen_3.0.m1_tv accepted/tizen/mobile/20150904.104647 accepted/tizen/tv/20150904.104917 accepted/tizen/wearable/20150904.105108 submit/tizen/20150904.073051 submit/tizen_common/20151023.083358 submit/tizen_common/20151026.085049 tizen_3.0.m1_mobile_release tizen_3.0.m1_tv_release
Hyejin Kim [Fri, 4 Sep 2015 07:05:29 +0000 (16:05 +0900)]
unregister service for klogd, syslogd

Change-Id: Ie14cf29b932ad1a9c0729595f4482b5cb8ef3027

8 years agosyslogd : add the buffering option to keep logs in memory buffer 07/47407/2 accepted/tizen/mobile/20150903.110754 accepted/tizen/tv/20150903.110912 accepted/tizen/wearable/20150903.111041 submit/tizen/20150903.070527
Hyejin Kim [Thu, 3 Sep 2015 06:51:18 +0000 (15:51 +0900)]
syslogd : add the buffering option to keep logs in memory buffer

Change-Id: Ia6f475fa1e6bef4b867694a398f6f15d34480d6e

8 years agoMerge branch 'upstream' into tizen 86/46386/1 accepted/tizen/mobile/20150902.004600 accepted/tizen/tv/20150902.004610 accepted/tizen/wearable/20150902.004616 submit/tizen/20150901.111553
Hyejin Kim [Thu, 20 Aug 2015 02:21:50 +0000 (11:21 +0900)]
Merge branch 'upstream' into tizen

And version 0.6.0 applied

Change-Id: Iabc3dc2fc4bd984a114445d8b70df57eb43c3b16

8 years agoapply default manifest for service of syslogd, klogd 22/46222/1 accepted/tizen/mobile/20150818.100907 accepted/tizen/tv/20150818.101344 accepted/tizen/wearable/20150818.101647 submit/tizen/20150818.071556
Yeongdeok Suh [Mon, 17 Aug 2015 11:28:59 +0000 (20:28 +0900)]
apply default manifest for service of syslogd, klogd

Change-Id: If720a5a800aea7764f81325fed678a1b52dbb419

8 years agoMerge remote-tracking branch 'toybox/master' into upstream upstream
Hyejin Kim [Wed, 12 Aug 2015 02:22:10 +0000 (11:22 +0900)]
Merge remote-tracking branch 'toybox/master' into upstream

8 years agosyslogd,klogd : remove SmackProcessLabel and change install path of .service file 44/45844/1 accepted/tizen/mobile/20150812.110503 accepted/tizen/tv/20150812.110514 accepted/tizen/wearable/20150812.110531 submit/tizen/20150812.061719
Yeongdeok Suh [Wed, 12 Aug 2015 01:56:58 +0000 (10:56 +0900)]
syslogd,klogd : remove SmackProcessLabel and change install path of .service file

Change-Id: I102fa968d392e6b120f3f154d7fd816214d85998
Signed-off-by: Yeongdeok Suh <yduck.suh@samsung.com>
8 years agoFix more date bugs.
Elliott Hughes [Tue, 11 Aug 2015 21:06:06 +0000 (16:06 -0500)]
Fix more date bugs.

Correctly and portably check for non-normal dates, and explicitly show
the "before" and "after" dates (in the format of the user's choosing).
Clear the struct tm in date_main rather than parse_default because on
one path the struct tm is actually initialized. Explicitly clear the
tm_sec field in parse_default because -- experiment shows -- that
should not be preserved. Only do the "what does this 2-digit year
mean?" dance if we actually parsed a 2-digit year. Show the right
string in the error message if strptime fails.

Also add more tests, and use UTC in the tests to avoid flakiness.

8 years agoBugfixes from Elliott Hughes: debug code got checked in (oops) and
Rob Landley [Tue, 11 Aug 2015 06:50:19 +0000 (01:50 -0500)]
Bugfixes from Elliott Hughes: debug code got checked in (oops) and
uninitialized trash in struct tm fields could segfault glibc's strftime().

8 years agoDifferent tools have different ideas about what human-readable output
Elliott Hughes [Sun, 9 Aug 2015 02:10:44 +0000 (21:10 -0500)]
Different tools have different ideas about what human-readable output
looks like. dd uses "7 MB" where du uses "7M", for example. this patch
adds flags, similar to the BSD humanize_number. most callers will pass 0.

8 years agoFirst pass at proper bunzip2 command line handling.
Rob Landley [Sun, 9 Aug 2015 00:21:42 +0000 (19:21 -0500)]
First pass at proper bunzip2 command line handling.

8 years agoFix ls -l user/group field ordering.
Elliott Hughes [Sat, 8 Aug 2015 22:55:02 +0000 (17:55 -0500)]
Fix ls -l user/group field ordering.

It's user then group, not the other way round.

8 years agoMore Android roadmap updates.
Elliott Hughes [Sat, 8 Aug 2015 22:49:02 +0000 (17:49 -0500)]
More Android roadmap updates.

mkbootimg was rewritten as a python script a while ago, and I just
deleted gpttool. (gptfdisk is in external/, but I'm assuming the
existing entry for fdisk is meant to cover that.)

8 years agologin: execl() requires a path, not a file name
Isaac Dunham [Thu, 6 Aug 2015 00:48:14 +0000 (17:48 -0700)]
login: execl() requires a path, not a file name

8 years agoIsaac Dunham pointed out that SIGINT's handler was set twice in init.c.
Rob Landley [Sat, 8 Aug 2015 22:05:45 +0000 (17:05 -0500)]
Isaac Dunham pointed out that SIGINT's handler was set twice in init.c.

8 years agoscripts/mkflags.c: add missing unistd.h, ctype.h
Isaac Dunham [Wed, 5 Aug 2015 02:40:56 +0000 (19:40 -0700)]
scripts/mkflags.c: add missing unistd.h, ctype.h

8 years agomodprobe: use -q to silence
Isaac Dunham [Wed, 5 Aug 2015 05:15:56 +0000 (22:15 -0700)]
modprobe: use -q to silence

8 years agomodprobe: use basename_r()
Isaac Dunham [Wed, 5 Aug 2015 02:34:00 +0000 (19:34 -0700)]
modprobe: use basename_r()

8 years agomodprobe: delete perror_exit() that makes no sense
Isaac Dunham [Wed, 5 Aug 2015 02:23:55 +0000 (19:23 -0700)]
modprobe: delete perror_exit() that makes no sense

Given modprobe -a, it's important to not exit early for a failure to
load a module; additionally, the rest of the code presumes that this
can fail without exiting.

8 years agoFix switch_root implementation.
Alistair Strachan [Wed, 6 May 2015 22:20:19 +0000 (15:20 -0700)]
Fix switch_root implementation.

Add the MS_MOVE of cwd to / and chroot into it. chdir is also
called to ensure cwd does not point outside the chroot.

The switch_root toy was also blocking any case where NEW_ROOT/init
did not exist, even though NEW_INIT was a required parameter and
did not have to be '/init'. Change it to handle any NEW_INIT
passed as either a relative or absolute path.

With this change, the switch_root toy actually works from initramfs.

8 years agoTeach date @unixtime[.fraction], switch -s to be -D (matching busybox and
Rob Landley [Sat, 8 Aug 2015 21:06:24 +0000 (16:06 -0500)]
Teach date @unixtime[.fraction], switch -s to be -D (matching busybox and
not stomping on gnu's "an extra argument tells it to set the time so let's
add -s to do the same thing" extension).

Nanoseconds aren't uniformly supported by these apis, so had to stick it in
GLOBALS() and pull it out later. Awkward, open to suggestions for a better way.
(Also, the setting API is microseconds, not nanoseconds. Collect nano, convert
to micro so we can switch APIs later without changing date's external UI again.)

Oh, and shrink really_long_name_mktime() with a for() loop (and rename it)
although I may go back and redo that for portability to hypothetical libraries
if I can convert this mess to struct timespec with proper nanoseconds support.
But that needs an extended strptime() which needs an extended struct tm,
and between us and that is convincing posix computers got fast enough to
care about fractions of a second.

(Yes, I'm aware gnu added %N to date without adding it to strptime, implying
they reimplemented strptime longhand inside date. I'm not doing that.)

8 years agoReject invalid dates in date(1).
Elliott Hughes [Sat, 8 Aug 2015 18:39:01 +0000 (13:39 -0500)]
Reject invalid dates in date(1).

Humans get upset when date(1) lets mktime(3) work out what the 99th day
of the 99th month would be rather than rejecting the invalid date. For
the subtly wrong cases, rather than get into the leap year business,
let's rely on localtime_r(3).

8 years agoDetect swap partitions, inline loop_partitions(), various cleanups.
Rob Landley [Thu, 6 Aug 2015 21:38:03 +0000 (16:38 -0500)]
Detect swap partitions, inline loop_partitions(), various cleanups.

8 years agoInitialize uninitialized variable. (Oops.)
Rob Landley [Thu, 6 Aug 2015 21:15:29 +0000 (16:15 -0500)]
Initialize uninitialized variable. (Oops.)

8 years agoAdjust xexec() exit code to be 127, and tweaks for nommu friendliness.
Rob Landley [Thu, 6 Aug 2015 12:39:23 +0000 (07:39 -0500)]
Adjust xexec() exit code to be 127, and tweaks for nommu friendliness.

8 years agoMake multiplexer's "command not found" exit 127.
Rob Landley [Thu, 6 Aug 2015 12:37:23 +0000 (07:37 -0500)]
Make multiplexer's "command not found" exit 127.

Somebody (carsonh on freenode) objected that they were running something
like "toybox test 1 == 2" and couldn't distinguish the test failing from
toybox not having the test command. Why they were running toybox out of
the multiplexer instead of having a test symlink in the $PATH, I couldn't
tell you. (Is "I know toybox is on this system, but don't know how it was
configured" a problem people actually have?)

*shrug* They care about it more than I do, so now you can't distinguish between
the multiplexer not being found and the command the multiplexer tried to
run not being found. Progress!

8 years agoI've added support for running blkid without specifying a partition (so it scans...
Dima Krasner [Thu, 6 Aug 2015 04:05:49 +0000 (23:05 -0500)]
I've added support for running blkid without specifying a partition (so it scans /proc/partitions).

8 years agoMinor tweak of reboot.c
Rob Landley [Thu, 6 Aug 2015 02:39:53 +0000 (21:39 -0500)]
Minor tweak of reboot.c

8 years agoreboot: signal init, add -f option to call reboot();
Isaac Dunham [Thu, 6 Aug 2015 02:33:43 +0000 (21:33 -0500)]
reboot: signal init, add -f option to call reboot();
init: use SIGINT, use xsignal()

Now that oneit supports the same signals as our "sysv"-init for shutdown,
make reboot et al. signal pid 1 with the appropriate signal.
Of these signals, only SIGINT works with sysvinit 2.88, causing a reboot.
The others are only supported in Busybox init.

Also, make init accept SIGINT and use xsignal().

8 years agoCosmetic tweak: newline at the end of "make change".
Rob Landley [Thu, 6 Aug 2015 02:23:50 +0000 (21:23 -0500)]
Cosmetic tweak: newline at the end of "make change".

8 years agoSwitch nbd_client to xconnect() and make xconnect() try all returned addresses
Rob Landley [Thu, 6 Aug 2015 02:20:27 +0000 (21:20 -0500)]
Switch nbd_client to xconnect() and make xconnect() try all returned addresses
before failing.

8 years agoTweak xconnect: socket can be a string (ala "ftp") from /etc/services.
Rob Landley [Thu, 6 Aug 2015 01:32:49 +0000 (20:32 -0500)]
Tweak xconnect: socket can be a string (ala "ftp") from /etc/services.

Still need a rethink on how to handle socket/bind/connect sequence.

8 years agoFactor out xconnect(), plus some other small cleanups to telnet.c.
Rob Landley [Mon, 3 Aug 2015 19:34:01 +0000 (14:34 -0500)]
Factor out xconnect(), plus some other small cleanups to telnet.c.

8 years agoMark command-local functions static.
Rob Landley [Mon, 3 Aug 2015 02:51:41 +0000 (21:51 -0500)]
Mark command-local functions static.

8 years agoLong-overdue cleanup on login.
Rob Landley [Sun, 2 Aug 2015 23:04:17 +0000 (18:04 -0500)]
Long-overdue cleanup on login.

Only tested that it compiled so far.

8 years agoReplace xcheckrange() with atolx_range()
Rob Landley [Sat, 1 Aug 2015 17:22:18 +0000 (12:22 -0500)]
Replace xcheckrange() with atolx_range()

8 years agoMove strlower() from find to lib.
Rob Landley [Sat, 1 Aug 2015 16:48:59 +0000 (11:48 -0500)]
Move strlower() from find to lib.

8 years ago'!' replaces '/' in the sysfs paths of older drivers, so properly
Isaac Dunham [Sat, 1 Aug 2015 16:09:51 +0000 (11:09 -0500)]
'!' replaces '/' in the sysfs paths of older drivers, so properly
reverse that to get correct paths.
While we're here, reduce the duplication of initialization.

While this is enough for some drivers, it won't get 'input/' stuff
in the right folder.

8 years agoWhitespace.
Rob Landley [Fri, 31 Jul 2015 08:05:24 +0000 (03:05 -0500)]
Whitespace.

8 years agoCheck in the note about rebuilding the source tarball.
Rob Landley [Fri, 31 Jul 2015 07:59:40 +0000 (02:59 -0500)]
Check in the note about rebuilding the source tarball.

8 years agofix build error 95/44795/2 accepted/tizen/mobile/20150728.070208 accepted/tizen/tv/20150728.070226 accepted/tizen/wearable/20150728.070149 submit/tizen/20150728.023713
Hyejin Kim [Tue, 28 Jul 2015 01:59:49 +0000 (10:59 +0900)]
fix build error

Change-Id: I5fb2ed1dfcbea99fe761afc267c33a28ce4523f9
Signed-off-by: Yeongdeok Suh <yduck.suh@samsung.com>
8 years agosync spec file 06/44706/3 submit/tizen/20150727.113542
Yeongdeok Suh [Mon, 27 Jul 2015 02:12:37 +0000 (11:12 +0900)]
sync spec file

Change-Id: I7514d01cee8d9f9b0cd9382b3d9649ca30202265
Signed-off-by: Yeongdeok Suh <yduck.suh@samsung.com>
8 years agoPromote fsync.
Rob Landley [Sat, 25 Jul 2015 00:58:59 +0000 (19:58 -0500)]
Promote fsync.

8 years agoPromote hostid.
Rob Landley [Sat, 25 Jul 2015 00:55:15 +0000 (19:55 -0500)]
Promote hostid.

8 years agoAttached are new toys.
Sameer Pradhan [Sat, 25 Jul 2015 00:51:40 +0000 (19:51 -0500)]
Attached are new toys.
tftp - Client for tftp daemon.
hostid -Print the numeric identifier for the current host.
fsync -Synchronize a file's in-core state with storage device.

8 years agoRelease notes for 0.6.0. upstream/0.6.0
Rob Landley [Tue, 21 Jul 2015 04:36:01 +0000 (23:36 -0500)]
Release notes for 0.6.0.

8 years agoFix llvm build break.
Rob Landley [Tue, 21 Jul 2015 03:20:35 +0000 (22:20 -0500)]
Fix llvm build break.

8 years agoMerge branch 'upstream' 21/44221/1
Hyejin Kim [Mon, 20 Jul 2015 04:49:55 +0000 (13:49 +0900)]
Merge branch 'upstream'

Change-Id: I17036143b5e644b1857e28b04d95fbd90fa2c112

8 years agoTweak version number.
Rob Landley [Sun, 19 Jul 2015 23:41:46 +0000 (18:41 -0500)]
Tweak version number.

8 years agoMerge branch from toybox/master
Hyejin Kim [Thu, 16 Jul 2015 05:10:30 +0000 (14:10 +0900)]
Merge branch from toybox/master
Conflicts:
both modified:      lib/portability.c
both modified:      lib/portability.h
both modified:      scripts/genconfig.sh
both modified:      scripts/runtest.sh
both added:         tests/sed.test
both modified:      toys/other/acpi.c
both modified:      toys/other/ifconfig.c
deleted by them:    toys/other/unshare.c
both added:         toys/pending/hwclock.c
both modified:      toys/pending/ip.c
deleted by them:    toys/pending/sed.c
both modified:      toys/posix/chgrp.c
both modified:      toys/posix/cp.c
both modified:      toys/posix/id.c
both modified:      toys/posix/ls.c

Change-Id: Ib36c5267ec054a5683ca37da2383d83b3cb1b5b4
Signed-off-by: Hyejin Kim <hyejin0906.kim@samsung.com>
8 years agoProduce an error message for "cat /mnt", not just return code.
Rob Landley [Mon, 13 Jul 2015 05:11:25 +0000 (00:11 -0500)]
Produce an error message for "cat /mnt", not just return code.

8 years agoCommit rss feed.
Rob Landley [Mon, 13 Jul 2015 00:23:24 +0000 (19:23 -0500)]
Commit rss feed.

8 years agoFix 32-bit bionic toybox build.
Elliott Hughes [Sat, 11 Jul 2015 19:20:31 +0000 (14:20 -0500)]
Fix 32-bit bionic toybox build.

https://android-review.googlesource.com/159035/

8 years agoAdd a basename_r() and use it in names_to_pid() to avoid basename() overwriting
Rob Landley [Fri, 10 Jul 2015 19:52:14 +0000 (14:52 -0500)]
Add a basename_r() and use it in names_to_pid() to avoid basename() overwriting
itself on some inputs. (Which makes killall really impolite. Bug report
from Nicholas Noury via Elliott Hughes.)

8 years agoMore explanation of TOYBOX_DEBUG for option string checking.
Rob Landley [Fri, 10 Jul 2015 19:23:00 +0000 (14:23 -0500)]
More explanation of TOYBOX_DEBUG for option string checking.

8 years agoMove comment about TOYBOX_DEBUG to start of file so it's more obvious.
Rob Landley [Fri, 10 Jul 2015 19:12:44 +0000 (14:12 -0500)]
Move comment about TOYBOX_DEBUG to start of file so it's more obvious.

8 years agoifconfig MAC addresses should be lowercase.
Elliott Hughes [Fri, 10 Jul 2015 18:53:39 +0000 (13:53 -0500)]
ifconfig MAC addresses should be lowercase.

A minor nit, but for some reason this really stands out every time I
run ifconfig...

8 years agoI added dhcpd -6 option.
Yeongdeok Suh [Fri, 10 Jul 2015 18:49:12 +0000 (13:49 -0500)]
I added dhcpd -6 option.

It's for supporting ipv6, and I referred to RFC 3315 Specification
http://www.rfc-base.org/txt/rfc-3315.txt

There are some different kind of requests in dhcpd6,
but I inplemented only a basic protocol. (Solicit - Advertise - Request - Reply)
There's a sample packet as below. toybox dhcpd works in the same way.
http://packetlife.net/captures/DHCPv6.cap

8 years agofind: add -inum option
Greg Hackmann [Fri, 10 Jul 2015 17:14:02 +0000 (12:14 -0500)]
find: add -inum option

-inum is a commonly implemented extension to search by inode number.

Linux's fs-layer tracepoints log many events in terms of inodes, so
"find -inum" is useful for mapping those events back to specific files.

8 years agoRename a function to be more obvious, and factor out a repeated calculation
Rob Landley [Fri, 10 Jul 2015 06:23:54 +0000 (01:23 -0500)]
Rename a function to be more obvious, and factor out a repeated calculation
the compiler was almost certainly retaining in a register anyway.

8 years agoPromote hwclock.
Rob Landley [Fri, 10 Jul 2015 06:21:28 +0000 (01:21 -0500)]
Promote hwclock.

8 years agoFix hwclock -w.
Elliott Hughes [Fri, 10 Jul 2015 05:57:22 +0000 (00:57 -0500)]
Fix hwclock -w.

The gmtime_r/localtime_r error check was backwards, and the wrong argument
was being passed to the RTC_SET_TIME ioctl.

Also, the error reporting was misleading (showing errno for functions that
don't set errno) and too vague for the user to tell what failed.

8 years agoThere is a typo in mkfifo.c for __Z__ option.
Sameer Pradhan [Thu, 9 Jul 2015 22:19:03 +0000 (17:19 -0500)]
There is a typo in mkfifo.c for __Z__  option.

8 years agoFix ionice.
Elliott Hughes [Wed, 8 Jul 2015 07:32:57 +0000 (02:32 -0500)]
Fix ionice.

ioprio_set takes a "prio" argument that combines class and level. Although
bionic (via the uapi headers) includes the appropriate constants and even
a convenience macro, glibc doesn't, so just hard-code the encoding.

Also fix the sense of a conditional so we actually execute the provided
command.

8 years agoAvoid integer overflow with insane input data.
Rob Landley [Tue, 7 Jul 2015 00:41:57 +0000 (19:41 -0500)]
Avoid integer overflow with insane input data.

8 years agoSave failure reason for each make change .bad file.
Rob Landley [Mon, 6 Jul 2015 10:08:48 +0000 (05:08 -0500)]
Save failure reason for each make change .bad file.

8 years agoKylie McClain pointed out that -z affects both input and output.
Rob Landley [Sun, 5 Jul 2015 07:36:51 +0000 (02:36 -0500)]
Kylie McClain pointed out that -z affects both input and output.

Can't say I'm happy with the API (-z and -Z to keep them independent would
be nice), but compatibility with what exists trumps having a good API...

8 years agoActually set time with touch -d and -t when you don't specify nanonseconds.
Rob Landley [Sat, 4 Jul 2015 08:49:53 +0000 (03:49 -0500)]
Actually set time with touch -d and -t when you don't specify nanonseconds.

There's a nanoseconds field value that says use current time, which I set
but forgot to clear in the right places. (Oops.)

8 years agoFirst pass on cp --preserve
Rob Landley [Sat, 4 Jul 2015 04:08:39 +0000 (23:08 -0500)]
First pass on cp --preserve

8 years agoPromote xxd to other.
Rob Landley [Fri, 3 Jul 2015 20:19:07 +0000 (15:19 -0500)]
Promote xxd to other.

8 years agoProbe for fork() instead of relying on a distro-specific #define.
Rob Landley [Fri, 3 Jul 2015 20:17:25 +0000 (15:17 -0500)]
Probe for fork() instead of relying on a distro-specific #define.

8 years agoAdded i option to use other interface on running dhcpd.
Hyejin Kim [Fri, 3 Jul 2015 18:22:37 +0000 (13:22 -0500)]
Added i option to use other interface on running dhcpd.

8 years agoCleanup xxd.
Rob Landley [Thu, 2 Jul 2015 18:40:03 +0000 (13:40 -0500)]
Cleanup xxd.

8 years agoMinor cleanups on xxd.
Rob Landley [Thu, 2 Jul 2015 17:17:59 +0000 (12:17 -0500)]
Minor cleanups on xxd.

8 years agoThe android guys sent in xxd. It doesn't share code with od and hexdump. Hmmm...
Rob Landley [Thu, 2 Jul 2015 16:44:01 +0000 (11:44 -0500)]
The android guys sent in xxd. It doesn't share code with od and hexdump. Hmmm...