<feed xmlns='http://www.w3.org/2005/Atom'>
<title>forks/toybox/lib, branch 0.5.1</title>
<subtitle>Toybox with POSIX patches from E5ten
</subtitle>
<id>https://git.carbslinux.org/forks/toybox/atom?h=0.5.1</id>
<link rel='self' href='https://git.carbslinux.org/forks/toybox/atom?h=0.5.1'/>
<link rel='alternate' type='text/html' href='https://git.carbslinux.org/forks/toybox/'/>
<updated>2014-11-19T22:55:12+00:00</updated>
<entry>
<title>Fixups for the android/bionic build probes patch.</title>
<updated>2014-11-19T22:55:12+00:00</updated>
<author>
<name>Rob Landley</name>
<email>rob@landley.net</email>
</author>
<published>2014-11-19T22:55:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.carbslinux.org/forks/toybox/commit/?id=561478541dbeb92e2c82c2fda7b43461293938e9'/>
<id>urn:sha1:561478541dbeb92e2c82c2fda7b43461293938e9</id>
<content type='text'>
The CFG_* symbols are always defined so if() can use them as compile-time
constants, so don't if defined() them.

Doing USE_BLAH() around variable definitions opens up the same potential for
config-dependent build breaks as #ifdefs do, just make the whole command
depend on the symbol for now, factor out the utmpx infrastructure later.

The PTY probe was always failing because it used NULL without #including
the header that defines it. Substitute 0 instead.
</content>
</entry>
<entry>
<title>probe for getspnam(), forkpty(), utmpx, replace sethostname()</title>
<updated>2014-11-19T22:38:46+00:00</updated>
<author>
<name>Isaac Dunham</name>
<email>ibid.ag@gmail.com</email>
</author>
<published>2014-11-19T22:38:46+00:00</published>
<link rel='alternate' type='text/html' href='https://git.carbslinux.org/forks/toybox/commit/?id=46ddf0e34b03f7711a9c80f7a70dc8cbf732f782'/>
<id>urn:sha1:46ddf0e34b03f7711a9c80f7a70dc8cbf732f782</id>
<content type='text'>
Android is missing all of these; we need to probe for some so we have
a config symbol to depend on.
sethostname() is easily replaced.
We got termios.h via pty.h; now it's not included in configure-step tools,
so we need termios.h to generate globals.
</content>
</entry>
<entry>
<title>Remove unnecessary assignment spotted by Cynt Rynt.</title>
<updated>2014-11-11T21:08:25+00:00</updated>
<author>
<name>Rob Landley</name>
<email>rob@landley.net</email>
</author>
<published>2014-11-11T21:08:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.carbslinux.org/forks/toybox/commit/?id=6e087a3a6fb420efc5cb77e13818668212034225'/>
<id>urn:sha1:6e087a3a6fb420efc5cb77e13818668212034225</id>
<content type='text'>
</content>
</entry>
<entry>
<title>O_CLOEXEC was confusing the O_RDONLY test in loopfiles(), resulting in attempts to read from stdout instead of stdin for "-" or no arguments.</title>
<updated>2014-10-27T23:08:59+00:00</updated>
<author>
<name>Rob Landley</name>
<email>rob@landley.net</email>
</author>
<published>2014-10-27T23:08:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.carbslinux.org/forks/toybox/commit/?id=45b3882a1187f0e957efbc4fc5d797ba9603f545'/>
<id>urn:sha1:45b3882a1187f0e957efbc4fc5d797ba9603f545</id>
<content type='text'>
</content>
</entry>
<entry>
<title>More static analysis fixes from Ashwini Sharma.</title>
<updated>2014-10-21T00:56:05+00:00</updated>
<author>
<name>Rob Landley</name>
<email>rob@landley.net</email>
</author>
<published>2014-10-21T00:56:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.carbslinux.org/forks/toybox/commit/?id=21f3c8db00f0d4a3f0989559847d2564f4c73a11'/>
<id>urn:sha1:21f3c8db00f0d4a3f0989559847d2564f4c73a11</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add TOYBOX_NORECURSE so xexec() won't make internal function calls.</title>
<updated>2014-10-21T00:52:29+00:00</updated>
<author>
<name>Rob Landley</name>
<email>rob@landley.net</email>
</author>
<published>2014-10-21T00:52:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.carbslinux.org/forks/toybox/commit/?id=977e48e1626b3e3f1f1f9b14f05ffc11e252455f'/>
<id>urn:sha1:977e48e1626b3e3f1f1f9b14f05ffc11e252455f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Factor out printf-style escape parsing logic from echo.c.</title>
<updated>2014-10-18T22:14:12+00:00</updated>
<author>
<name>Rob Landley</name>
<email>rob@landley.net</email>
</author>
<published>2014-10-18T22:14:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.carbslinux.org/forks/toybox/commit/?id=5fcc71581abdf8839d10786d7ac437cc5b0bf4c5'/>
<id>urn:sha1:5fcc71581abdf8839d10786d7ac437cc5b0bf4c5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use O_CLOEXEC instead of O_RDONLY to signal loopfiles_rw() to close filehandles.</title>
<updated>2014-10-14T19:16:34+00:00</updated>
<author>
<name>Rob Landley</name>
<email>rob@landley.net</email>
</author>
<published>2014-10-14T19:16:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.carbslinux.org/forks/toybox/commit/?id=784eb9c2d2cbd8ec49ff40dbaba17f4407f3b85a'/>
<id>urn:sha1:784eb9c2d2cbd8ec49ff40dbaba17f4407f3b85a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Workaround for musl's faccessat bug (the rm -r "error: is a directory" thing).</title>
<updated>2014-10-02T12:24:38+00:00</updated>
<author>
<name>Rob Landley</name>
<email>rob@landley.net</email>
</author>
<published>2014-10-02T12:24:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.carbslinux.org/forks/toybox/commit/?id=2ccab0260f6812f78cc0bafdf2bb2a92942ee6f3'/>
<id>urn:sha1:2ccab0260f6812f78cc0bafdf2bb2a92942ee6f3</id>
<content type='text'>
The Linux man page says I can use AT_SYMLINK_NOFOLLOW. It works in glibc,
uclibc, and klibc, but musl returns -EINVAL any time you pass in that flag
and the maintainer says that's not a bug and insists the man page and those
other libraries all change to match musl's behavior.

Toybox uses it to avoid scheduling unnecessary metadata writes for things we're
about to delete (have to chmod unreadable directories so we can descend into
them to delete their contents, the chmod happens before we descend so the
disk I/O has plenty of time to be scheduled) because the extra writes wear out
SSD faster. It's just an optimization and I don't really care if it works
_well_ (the fchmodat call _also_ takes AT_SYMLINK_NOFOLLOW so that's covered),
but musl's behavior uniquely makes the check always error and thus breaks normal
"rm -r".

Yes this workaround is checking #ifdef __MUSL__ which the library does not
supply (because its code is perfect and will thus never need to be worked
around). You can CFLAGS=-D__MUSL__ if you don't echo "#define __MUSL__" &gt;&gt;
include/features.h when installing the library.
</content>
</entry>
<entry>
<title>Brown paper bag time: comma_scan() didn't work for anything but the last entry.</title>
<updated>2014-09-28T18:11:20+00:00</updated>
<author>
<name>Rob Landley</name>
<email>rob@landley.net</email>
</author>
<published>2014-09-28T18:11:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.carbslinux.org/forks/toybox/commit/?id=562af2c0f2f4bd8420a26560f1816b6a81ac417e'/>
<id>urn:sha1:562af2c0f2f4bd8420a26560f1816b6a81ac417e</id>
<content type='text'>
</content>
</entry>
</feed>
