<feed xmlns='http://www.w3.org/2005/Atom'>
<title>dash/src/mkbuiltins, branch master</title>
<subtitle>patched shell with cmake build
</subtitle>
<id>https://git.causal.agency/dash/atom?h=master</id>
<link rel='self' href='https://git.causal.agency/dash/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.causal.agency/dash/'/>
<updated>2018-11-19T10:59:50+00:00</updated>
<entry>
<title>builtin: Default to mktemp, not tempfile</title>
<updated>2018-11-19T10:59:50+00:00</updated>
<author>
<name>Andrej Shadura</name>
<email>andrew.shadura@collabora.co.uk</email>
</author>
<published>2018-09-07T08:34:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/dash/commit/?id=ad072645af04c31300c84d2840fcf1a8d48588ec'/>
<id>urn:sha1:ad072645af04c31300c84d2840fcf1a8d48588ec</id>
<content type='text'>
Don't use tempfile, as it currently runs tempnam(), which is insecure
and fails under pseudo(1).

Signed-off-by: Andrej Shadura &lt;andrew.shadura@collabora.co.uk&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>shell: Fix build on Solaris 9</title>
<updated>2016-06-06T14:25:00+00:00</updated>
<author>
<name>Jonathan Perkin</name>
<email>jperkin@joyent.com</email>
</author>
<published>2015-12-11T11:56:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/dash/commit/?id=cb924afe2e3465ec2f91fab55d31f7e3c26d03f4'/>
<id>urn:sha1:cb924afe2e3465ec2f91fab55d31f7e3c26d03f4</id>
<content type='text'>
Ensure dash can build in a default Solaris 9 or older environment:

 - Execute scripts with $SHELL rather than /bin/sh, the latter does not
   support e.g. "if ! .." used by mkbuiltins.

 - /bin/awk does not support ?: syntax, use explicit statements instead.

 - /bin/nl requires no spaces between options and arguments.

Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>builtin: Clear LC_ALL in mkbuiltins</title>
<updated>2015-06-11T06:31:48+00:00</updated>
<author>
<name>Fredrik Fornwall</name>
<email>fredrik@fornwall.net</email>
</author>
<published>2015-05-24T21:05:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/dash/commit/?id=fe393c0f9ab72de5a7d32aab53e5e8275cad8735'/>
<id>urn:sha1:fe393c0f9ab72de5a7d32aab53e5e8275cad8735</id>
<content type='text'>
In mkbuiltins LC_COLLATE is set, but since "The value of the LC_ALL
environment variable has precedence over any of the other environment
variables starting with LC_"
(http://pubs.opengroup.org/onlinepubs/7908799/xbd/envvar.html), this
has no effect when LC_ALL is set.

This breaks when having e.g. LC_ALL=en_US.UTF-8 during make, which
causes the test case
    dash -c :
to fail, probably due to broken ordering in builtins.c. The patch
corrects that by clearing LC_ALL.

Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>builtin: create builtins.c properly on old cpp</title>
<updated>2014-12-25T22:50:59+00:00</updated>
<author>
<name>kabe@sra-tohoku.co.jp</name>
<email>kabe@sra-tohoku.co.jp</email>
</author>
<published>2014-12-22T05:50:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/dash/commit/?id=35ff4d5b5a44aaf6fd98edef221dcc3ddcb8dda4'/>
<id>urn:sha1:35ff4d5b5a44aaf6fd98edef221dcc3ddcb8dda4</id>
<content type='text'>
Encontered this on ancient gcc-2.95.3 environment;
src/builtins.def.in -&gt; src/builtins.def generation emitted
^ $
lines (likely by /* */), which where NOT ignored by
src/mkbuiltins and generating bogus builtins.c.

Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>[SHELL] Port to Solaris</title>
<updated>2011-03-15T07:35:14+00:00</updated>
<author>
<name>Brian Koropoff</name>
<email>bkoropoff@gmail.com</email>
</author>
<published>2011-03-15T07:35:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/dash/commit/?id=bfcdc4969510997fe81debf52982641febfa1bdf'/>
<id>urn:sha1:bfcdc4969510997fe81debf52982641febfa1bdf</id>
<content type='text'>
- Solaris lacks paths.h and the various _PATH_* #defines.
  Check for them in configure.ac and fall back on the
  usual suspects when they are missing.

- Older Solaris lacks isblank(), and versions that have it
  use a macro.  Check for the declaration in configure.ac
  and fall back on a naive version when missing.

- Older Solaris does not support %jd (intmax_t) in format
  strings, but it does support the PRIdMAX macro from inttypes.h.
  Do a configure check for PRIdMAX and use it in the code.
  If it doesn't exist, define it to "lld" when sizeof(long long)
  equals sizeof(intmax_t) as this is more likely to work on
  older systems.  Otherwise, use "jd" and hope for the best.

- Older Solaris lacks stdint.h, but inttypes.h provides the
  same types and works on all platforms I've tried dash on,
  so just use it instead.

- Older Solaris doesn't like it when vsnprintf() is passed
  a NULL buffer (in violation of the POSIX spec, of course).
  Pass a 1-byte dummy buffer instead.

- Solaris lacks tempfile and mktemp programs.  Fall back on a
  "good-enough" custom function in mkbuiltins.

Signed-off-by: Brian Koropoff &lt;bkoropoff@gmail.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>[SHELL] Port to AIX</title>
<updated>2011-03-10T12:19:16+00:00</updated>
<author>
<name>Brian Koropoff</name>
<email>bkoropoff@gmail.com</email>
</author>
<published>2011-03-10T12:19:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/dash/commit/?id=8c7562f11d4baa3316bc7b8547cf6497181468c5'/>
<id>urn:sha1:8c7562f11d4baa3316bc7b8547cf6497181468c5</id>
<content type='text'>
- AIX lacks a WCOREDUMP macro.  It's just used to
  append "(core dumped)" to the crash message, so
  #ifdef around it.

- For some reason, the nl program on AIX defaults
  to not printing line numbers ("-b n"), even though
  the spec says it should default to "-b t".
  Explicitly pass "-b a" for good measure in mkbuiltins.

Signed-off-by: Brian Koropoff &lt;bkoropoff@gmail.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>[BUILTIN] Use TMPDIR in mkbuiltins</title>
<updated>2010-04-02T05:03:27+00:00</updated>
<author>
<name>maximilian attems</name>
<email>max@stro.at</email>
</author>
<published>2010-04-02T05:03:27+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/dash/commit/?id=a650e91b6e0290a6e67cd0648d86ba9e1e4a67aa'/>
<id>urn:sha1:a650e91b6e0290a6e67cd0648d86ba9e1e4a67aa</id>
<content type='text'>
while merging upstream dash in klibc,
noticed that klibc dash had grown that useful feature.

Signed-off-by: maximilian attems &lt;max@stro.at&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>[BUILTIN] Add another missing LC_COLLATE to mkbuiltins</title>
<updated>2009-08-31T10:26:42+00:00</updated>
<author>
<name>Matthew Burgess</name>
<email>matthew@linuxfromscratch.org</email>
</author>
<published>2009-08-31T10:26:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/dash/commit/?id=6e8e09255888c506c8f434b5905f13683f8dcf51'/>
<id>urn:sha1:6e8e09255888c506c8f434b5905f13683f8dcf51</id>
<content type='text'>
On Sat, Aug 15, 2009 at 06:07:16PM +0000, Matthew Burgess wrote:
&gt; 
&gt; My system has Coreutils-7.4 compiled with the i18n patch from
&gt; http://cvs.fedoraproject.org/viewvc/devel/coreutils/coreutils-i18n.patch.
&gt; 
&gt; Using this to compile dash, when in an en_GB.UTF-8 locale, I get the following error:
&gt; 
&gt; if gcc -DHAVE_CONFIG_H -I. -I. -I..  -include ../config.h -DBSD=1 -DSHELL -DIFS_BROKEN  -Wall -g -O2 -MT eval.o -MD -MP -MF ".deps/eval.Tpo" -c -o eval.o eval.c; \
&gt;         then mv -f ".deps/eval.Tpo" ".deps/eval.Po"; else rm -f ".deps/eval.Tpo"; exit 1; fi
&gt; eval.c: In function ‘evalcommand’:
&gt; eval.c:810: error: ‘EXECCMD’ undeclared (first use in this function)
&gt; eval.c:810: error: (Each undeclared identifier is reported only once
&gt; eval.c:810: error: for each function it appears in.)
&gt; eval.c:812: error: ‘COMMANDCMD’ undeclared (first use in this function)
&gt; make[3]: *** [eval.o] Error 1
&gt; 
&gt; This is because the src/mkbuiltins script ends up generating an incomplete
&gt; src/builtins.h file.  This, in turn, is caused by 'sort -u -k 3,3' not
&gt; working correctly.
&gt; 
&gt; The attached patch fixes/works around things by setting LC_CTYPE=C, thus
&gt; overriding the build environment (in a similar manner to the earlier call to
&gt; 'sort' in that same script).

I've changed it to use LC_COLLATE.

Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>[EVAL] Pass EV_TESTED into evalcmd</title>
<updated>2009-08-11T10:48:15+00:00</updated>
<author>
<name>Herbert Xu</name>
<email>herbert@gondor.apana.org.au</email>
</author>
<published>2009-08-11T10:48:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/dash/commit/?id=68097929869a3a3e511ac2e2c3d9dc3730652286'/>
<id>urn:sha1:68097929869a3a3e511ac2e2c3d9dc3730652286</id>
<content type='text'>
This patch fixes the case where the eval command is used with
set -e and as part of a construct that should not cause the
shell to abort, e.g., as part of the condition of an if statement.

This is achieved by propagating the EV_TESTED flag into the
evalstring function through evalcmd.  As this alters the prototype
of evalcmd it is now invoked explicitly by evalbltin.  The built-in
infrastructure has been changed to accomodate this special case.

In order to ensure that the EXIT trap is properly executed this
patch clears evalskip in exitshell.  This wasn't needed before
because of the broken way evalstring worked where it always clears
evalskip when called by minusc.

Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>[BUILD] Fixed build on NetBSD</title>
<updated>2009-01-13T03:57:41+00:00</updated>
<author>
<name>Aleksey Cheusov</name>
<email>vle@gmx.net</email>
</author>
<published>2009-01-13T03:54:34+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/dash/commit/?id=508d3a2b0e44dac186738411099d43a7679fbbb2'/>
<id>urn:sha1:508d3a2b0e44dac186738411099d43a7679fbbb2</id>
<content type='text'>
Hi, I propose to apply the following patch for dash.  The problem is
alloca.h is absent on many platforms including NetBSD I'm running.

Also, NetBSD's version of mktemp doesn't work without temporary
filename pattern.

Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
</feed>
