ct-ng.comp
author Joachim Nilsson <jocke@vmlinux.org>
Fri Jan 01 12:17:39 2010 +0100 (2010-01-01)
changeset 1671 08a5129e6eb0
parent 1025 fc64f85e41cc
child 1683 09ae4c09ba83
permissions -rw-r--r--
debug/strace: fix strace 4.5.19 to properly build with latest Linux kernels

Here's a couple of patches to get strace 4.5.19 to configure and build
properly with the latest kernel headers. Not pretty, but hopefully
enough while we wait for 4.5.20 to be released.

With the current strace-4.5.19 patches I failed to get the configure
script running even on my host environment. Also, when cross building
the configure script needs to look for the proper system headers to be
able to properly set HAVE_LINUX_NETLINK_H. Otherwise you get:

[EXTRA] Building strace
[ERROR] /home/jocke/x-tools/targets/src/strace-4.5.19/net.c:976:
error: field 'nl' has incomplete type
[ERROR] make[2]: *** [net.o] Error 1
[ERROR] make[1]: *** [all] Error 2

The fix was simple, backport a change set from the git[1] tree and run
autoreconf to update the configure script.

[1] - http://strace.git.sourceforge.net/git/gitweb.cgi?p=strace/strace;a=commit;h=f0df31e71a58c6e79ba77c1a9d84b2f38d44bec7
yann@835
     1
# To be sourced
yann@835
     2
yann@835
     3
_ct-ng () {
yann@835
     4
    local cur prev samples show_samples actions steps start_steps stop_steps ct_ng_opts vars
yann@835
     5
    COMPREPLY=()
yann@835
     6
    cur=$(_get_cword)
yann@835
     7
    prev=${COMP_WORDS[COMP_CWORD-1]}
yann@835
     8
yann@918
     9
    samples=$(${COMP_WORDS[0]} list-samples 2>/dev/null)
yann@835
    10
    show_samples=$(echo "${samples}" |sed -r -e 's/(^| )/\1show-/g;')
yann@1025
    11
    build_samples=$(echo "${samples}" |sed -r -e 's/(^| )/\1build-/g;')
yann@835
    12
yann@918
    13
    steps=$(${COMP_WORDS[0]} list-steps 2>/dev/null |awk '$1 == "-" { print $2; }')
yann@934
    14
    start_steps=$(echo "${steps}" |sed -r -e 's/($| )/\1+/;')
yann@835
    15
    stop_steps=$(echo "${steps}" |sed -r -e 's/(^| )/+\1/;')
yann@835
    16
yann@1000
    17
    actions='help menuconfig oldconfig saveconfig
yann@1025
    18
             build build. build-all build-all.
yann@1336
    19
             list-samples list-steps show-tuple
yann@1025
    20
             clean distclean wiki-samples updatetools
yann@932
    21
             tarball version'
yann@835
    22
yann@835
    23
    vars="RESTART= STOP="
yann@835
    24
yann@1025
    25
    ct_ng_opts="${samples} ${show_samples} ${build_samples}
yann@835
    26
                ${steps} ${start_steps} ${stop_steps}
yann@835
    27
                ${actions} ${vars}"
yann@835
    28
yann@835
    29
    COMPREPLY=($(compgen -W "${ct_ng_opts}" -- "${cur}"))
yann@835
    30
    return 0
yann@835
    31
}
yann@835
    32
complete -F _ct-ng ct-ng