OSDN Git Service

b6662fbdaa4060196344e0937dbfe782eebb13a4
[android-x86/external-toybox.git] / www / news.html
1 <!--#include file="header.html" -->
2
3 <h2>News</h2>
4 <hr><b>November 13, 2012</b>
5 <blockquote><p>"Rule Six: The winning team shall be the first team that wins."
6 - The Hitchhiker's Guide to the Galaxy.</p></blockquote>
7
8 <p><a href=downloads/toybox-0.4.1.tar.bz2>Toybox 0.4.1</a> is based on
9 <a href=http://landley.net/hg/toybox/shortlog/691>commit 691</a>.</p>
10
11 <p>Elie De Brauwer contributed usleep, Ashwini Kumar contributed du, and
12 Kyungwan Han contributed vconfig. Other new commands include switch_root and
13 md5sum, and the remaining shell wrappers are now proper commands (dos2unix,
14 unix2dos).</p>
15
16 <p>The patch command now supports -l, and gethostname is now enabled by
17 default. The df command follows symlinks to get the actual device name.
18 Felix Janda added -m support to wc (for utf8).</p>
19
20 <p>On the infrastructure side, the commands have now been grouped into
21 "posix", "lsb", and "other" subdirectories (for things required by Posix-2008,
22 the Linux Standard Base 4.1, and commands in neither). This affects menuconfig
23 and the actual source layout (toys/cp.c is now toys/posix/cp.c, and so on).
24 An android directory is planned (see the updated
25 <a href=roadmap.html#android>android roadmap analysis</a>).</p>
26
27 <p>The FLAG_ macros for command option parsing and TT alias for the command's
28 global block are now automatically generated, commands should
29 #define FOR_commandname before #including <toys.h> to get the macros for that
30 command.</p>
31
32 <p>An upgrade to the build infrastructure now allows commands with _ and -
33 in them, such as switch_root.</p>
34
35 <p>Bugfixes: Avery Pennarun spotted a case where ls showed uid twice instead of
36 uid and gid, and that nice was using the wrong range of numbers.
37 The ls command also recursed inappropriately last time (not quite
38 properly converted for the dirtree changes last release), and now it's
39 fixed. Roy Tam pointed out a glitch in sh, and fixed df's percentage
40 calculation to match the POSIX spec. The kernel build didn't like our mktemp
41 and it does now. The wc command wasn't quite posix compliant (trailing spaces
42 break stuff). The ls command recursed inappropriately last time (not quite
43 properly converted for the dirtree changes last release), and now it's
44 fixed. The catv command wasn't displaying byte 255 correctly. Some lib
45 fixes (thinko in xpidfile). Fixed uname -m when running a 32 bit x86 binary
46 on an x86-64 host (it lies and says the system is i686, i586, or i486 depending
47 on what the toolchain that built the binary supported. This makes builds in
48 a 32 bit chroot on a 64 bit kernel break less.) The df command was checking
49 partitions in the wrong order (displaying undermounts instead of overmounts:
50 this used to work but some library code changed out from under it and it
51 wasn't updated to match until now). Felix Janda filled out the test suite
52 some more. The patch file creation logic got tweaked several times to
53 successfully apply more patches. Support for older (pre 2.10) glibc
54 versions was added to portability.h.</p>
55
56 <p>Miscelaneous cleanups all around (mknod, sha1sum, logname), including a
57 rewrite of taskset to be less dependent on libc getting the headers right. All
58 the command headers should now point to the current relevant standards
59 document, where applicable.</p>
60
61 <p>This news page had old news entries from before the relaunch moved into
62 a separate <a href=oldnews.html>oldnews</a> page.</p>
63
64 <p>I forgot to create <a href=bin>static binaries</a> last time, but they're
65 back now.</p>
66 </span>
67
68 <hr><b>July 23, 2012</b>
69 <blockquote><p>"Ford", Arthur said. "There's an infinite number of monkeys
70 out here who want to talk to us about this script for Hamlet they've worked
71 out." - The Hitchhiker's Guide to the Galaxy.</p></blockquote>
72
73 <p><a href=downloads/toybox-0.4.0.tar.bz2>Toybox 0.4.0</a> is based on
74 <a href=http://landley.net/hg/toybox/shortlog/640>commit 640</a>.</p>
75
76 <p>The new <a href=status.html>status page</a> is calculated from
77 the roadmap info, and should be easier to keep up to date in future.</p>
78
79 <p>Andre Renaud contributed od and modinfo. Elie De Brauwer contributed
80 taskset, bugfixes to cmp and tail, and tests for sort and tail. Kyungwan Han
81 contributed passwd. Gaurang Shastri contributed w. Ashwini Sharma spotted a
82 case where dirtree was adding extra slashes to a path.</p>
83
84 <p>I rewrote od, cleaned up comm, documented the
85 <a href=code.html#lib_llist>llist</a> and
86 <a href=code.html#lib_dirtree>dirtree</a> infrastructure, added an -r option
87 to date (and fixed a bug where -u wouldn't override /etc/localtime),
88 fixed bugs in chmod +stw, fixed ls to show suid bits properly when the
89 corresponding executable bit wasn't set, and worked around a longstanding
90 glibc bug where static linking prevents stdout from automatically flushing
91 pending output on exit.</p>
92
93 <hr><b>June 25, 2012</b>
94 <blockquote><p>"For a moment, nothing happened. Then, after a second or so, nothing continued to happen." - The Hitchhiker's Guide to the Galaxy.</p></blockquote>
95
96 <p><a href=downloads/toybox-0.3.1.tar.bz2>Toybox 0.3.1</a> is based on commit
97 <a href=http://landley.net/hg/toybox/shortlog/607>commit 607</a>. It's
98 mostly a bugfix release for ls -l (which was unhappy on targets other than
99 x86-64), plus a new "date" from Andre Renaud and rewritten chgrp/chown which
100 now support the full set of posix flags, plus a little work on the test
101 suite and some more header tweaks towards eventual compatability with the
102 musl libc.</p>
103
104 <p>The todo list runneth over, but "release early, release often", so here
105 it is. The roadmap and documentation are a bit behind, and I've got ~40
106 pending submissions to review. I need to catch up...</p>
107 </span>
108
109 <hr><b>June 12, 2012</b>
110 <blockquote><p>"For instance, on the planet Earth, man had always assumed that
111 he was more intelligent than dolphins because he had achieved so much - the
112 wheel, New York, wars and so on - whilst all the dolphins had ever done was
113 muck about in the water having a good time. But conversely, the dolphins had
114 always believed that they were far more intelligent than man - for precisely
115 the same reasons." - The Hitchhiker's Guide to the Galaxy.</p></blockquote>
116
117 <p>It's well past time for <a href=downloads/toybox-0.3.0.tar.bz2>toybox 0.3.0</a>,
118 so here it is, based
119 on <a href=http://landley.net/hg/toybox/shortlog/595>commit 595</a>, and the
120 statically linked <a href=downloads/binaries>prebuilt binaries</a> should
121 actually be statically linked this time (thanks Ashwini Sharma for spotting
122 that).</p>
123
124 <p>It's hard to figure out where to cut a release, because development
125 doesn't stop. "Long before now" is the obviuos answer, of course.
126 The project's maintainer also moved house during this development cycle, which
127 threw things off for a bit (so many boxes). Releases should hopefully be a bit
128 more frequent from here on.</p>
129
130 <p>The big things Rob worked on this time were the new dirtree (directory
131 tree traversal) infrastructure, and a complete rewrite of ls using that
132 which should now implement all 26 posix options.</p>
133
134 <p>Georgi Chorbadzhiyski added printenv, whoami, mkdir, mkfifo, chmod, chown,
135 chgrp, and uniq. He also added fraction and extension support to sleep (so if
136 you need a quarter-second sleep, it can do that now), and fixed a build bug
137 on slackware.</p>
138
139 <p>Daniel Walter contributed a string to mode_t parser (in use by chmod and
140 mkdir -m).  Ilya Kuzmich contributed comm. Elie De Brauwer added mountpoint,
141 vmstat, logname, login, and mktemp. Kevin Chase did some portability cleanups.
142 Pere Orga fixed some documentation.</p>
143
144 <p>The "tac" and "clear" commands are now normal commands instead of shell
145 wrappers, and the header #includes have been cleaned up a bit to remove
146 deprecated functions and attempt to increase compatability with the bionic and
147 musl C libraries, "tail" should now use lseek() for large files, and "id" got
148 some cleanups and bugfixes.</p>
149
150 <p>The new TOYBOX_FLOAT configuration option selects whether or not
151 to include floating point support (for embedded targets where that's
152 problematic).</p>
153
154 <p>Several random bugfixes: unshare() might actually build portably now,
155 yes 'n' | cp -i should no longer bypass stdin and prompt via the tty, the
156 SUID support no longer drops permissions going through the toybox
157 multiplexer command, and a bugfix to xargs -0 means it should no longer
158 segfault. (I have a pending bug report about xargs not doing the full
159 posix whitespace handling that -0 obsoleted, but I'll deal with that next
160 release.)</p>
161
162 <p>The build infrastructure is now automatically generating FLAG_ macros
163 for the options, but currently with the wrong names. Some more macro glue
164 is necessary, which I haven't quite figured out how to do yet.</p>
165
166 <p>A defconfig toybox at the start of the $PATH has successfully built
167 Linux From Scratch (in my Aboriginal Linux project). The commands that
168 'default n' in the config are often still broken, cleanup is ongoing.
169 (The new dirtree stuff broke several of them that haven't been converted
170 yet, but if I wait until everything works we won't have a release before
171 1.0, so here's a checkpoint.)</p>
172
173
174 <hr><b>March 3, 2012</b>
175
176 <blockquote><p>"They went unnoticed at Goonhilly, passed over Cape Canaveral
177 without a blip, and Woomera and Jodrell Bank looked straight through them.
178 Which was a pity, because it was exactly the sort of thing they'd been looking
179 for all these years."</p></p>- The Hitchhiker's Guide to the Galaxy.</p>
180 </p></blockquote>
181
182 <p>Here's <a href=downloads/toybox-0.2.1.tar.bz2>toybox 0.2.1</a> based
183 on <a href=http://landley.net/hg/toybox/shortlog/512>commit 512</a>.  This
184 time around, there are statically linked <a href=downloads/binaries>prebuilt
185 binaries</a> for various embedded targets.</p>
186
187 <p>It's been a busy few weeks, almost entirely due to new contributors. (I
188 have not quite been keeping up.)</p>
189
190 <p>Elie De Brauwer contributed free, uptime, swapon, swapoff, lsmod, mknod,
191 insmod, rmmod, and fixed a bug in basename.  Andre Renaud contributed ls, ln,
192 realpath, and hostname. Andres Heck contributed pidof and killall.  Daniel
193 Walter wrote kill and extended id. Timothy Elliott contributed tail and tests
194 for cmp. Frank Bergmann sent a warning fix. Bryce Fricke added -i to cp.
195 Nathan McSween pointed out an optimization. Georgi Chorbadzhiyski fixed
196 cross compiling to work more reliably.</p>
197
198 <p>(My own contribution this time around was just tightening up other people's
199 code, a build fix to unshare, some random bugfixes, and so on. My only new
200 code this time around was writing a bash replacement for the existing python
201 bloat-o-meter.)</p>
202
203 <p>Last time (the 0.2.0 release) included the first pass at an id command from
204 Tim Bird, env and basename from Tryn Mirell, cmp and head from Timothy Elliott,
205 more bugfixes from Nathan McSween and Elie De Brauwer, and Luis Felipe Strano
206 Moraes did a first pass at the who command plus other bugfixes and
207 optimizations.</p>
208
209 <p>(For that release I did xargs, cal, truncate, unlink, nohup, tty, wc, link,
210 dirname, unshare, and various infrastructure tweaks, but it took me 3 months
211 and those guys did their stuff in a week or so.)</p>
212
213
214 <hr><b>February 12, 2012</b>
215 <blockquote><p>
216 "for though it has many omissions and contains much that is apocryphal, or at
217 least wildly inaccurate, it scores over the older, more pedestrian work in two
218 important respects..."</p>
219 <p> - The Hitchhiker's Guide to the Galaxy</p></blockquote>
220
221 <p>Here's the first BSD licensed release,
222 <a href=downloads/toybox-0.2.0.tar.bz2>toybox-0.2.0</a>, more a synchronization
223 point than anything particularly useful.  47 commands in a reasonably
224 ready-to-use state (what "make defconfig" builds), another ten or so partially
225 finished stubs ("make allyesconfig"), and several
226 patches pending on the mailing list I need to review and merge.</p>
227
228 <p>More to come...</p>
229
230 <hr>
231 <p><b>November 15, 2011</b> - Back from the dead, Toybox is now under a 2
232 clause BSD license, and aiming to become the default command line
233 implementation of Android systems everywhere.</p>
234
235 <p>More to come...</p>
236
237 <hr>
238
239 <p><a href=oldnews.html>Old news</a> from before the relaunch.</p>
240
241 <!--#include file="footer.html" -->