aboutsummaryrefslogtreecommitdiffstats
path: root/usr/dash/README.dash
blob: c2735058085ca3cdd5d7886541ab4ac1b7e7331b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
This version of dash was obtained from

git://git.kernel.org/pub/scm/utils/dash/dash.git

It corresponds up to changeset f30bd155ccbc3f084bbf03d56f9cc43f4b02af2a.

Several changes have been made for klibc:

* The build system is changed from autotools to kbuild, with a static config.h
* Use of strtod() is guarded by HAVE_STRTOD, which we don't define
* The built-in times command, which requires floating-point support, is
  disabled
* The signal_names[] array is replaced by a signal_name() function using
  klibc's own signal name array.  decode_signal() is changed similarly.
* The read built-in implements the -t option like bash
* Some header files have header guards added
* Changelog and some manual pages are omitted
* Automatic whitespace fixups

HOWTO sync branch:

1) Generate mailbox of patches and fix up their paths:

 git format-patch --subject-prefix='' -N --stdout <changeset>.. \
 | awk '(FNR == 1 || blank) && /^From / { header = 1; hash = $2 }
        header && /^Subject:/ { sub("^Subject:", "Subject: [klibc] dash:") }
        { print; blank = /^$/ }
        header && blank {
            print "[ dash commit", hash, "]"; print
            header = 0
        }' \
 | filterdiff --strip 2 --addoldprefix a/usr/dash/ --addnewprefix b/usr/dash/ \
       --exclude="*/configure.ac" --exclude="*/ChangeLog" \
       --exclude="*/dash.1" --exclude="*/Makefile.am" \
       --exclude="*/mksignames.c" --exclude="*/.gitignore" \
 > dash.mbox

2) Import patches from mailbox:

 git am --whitespace=fix -k -i -s ../dash/dash.mbox

3) update config.h

Generate klibc config.h in dash repository:
 automake --add-missing
 autoreconf
 ./configure CC=klcc