Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1345227

Re: [PATCH v3 6/7] create/adjust generated/autoksyms.h

From Zev Weiss <zev@bewilderbeest.net>
Newsgroups linux.kernel
Subject Re: [PATCH v3 6/7] create/adjust generated/autoksyms.h
Date 2016-02-28 13:20 +0100
Message-ID <r78ul-29E-9@gated-at.bofh.it> (permalink)
References <r3D3I-2sr-7@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Thu, Feb 18, 2016 at 15:07:02 -0500, Nicolas Pitre wrote:
>diff --git a/scripts/adjust_autoksyms.sh b/scripts/adjust_autoksyms.sh
>new file mode 100755
>index 0000000000..898a3ca1b2
>--- /dev/null
>+++ b/scripts/adjust_autoksyms.sh
>@@ -0,0 +1,97 @@
>+#!/bin/sh

Given the here-strings in this script, this should probably be /bin/bash 
or breakage will ensue on Debian and suchlike where /bin/sh != bash.  
However...

>+sed -ns -e '3s/ /\n/gp' "$MODVERDIR"/*.mod | sort -u |
>+while read sym; do
>+	if [ -n "$CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX" ]; then
>+		sym=$(sed 's/^_//' <<< "$sym")

...this one could (shell-portably and more efficiently) be a parameter 
expansion (sym="${sym#_}").

>+
>+# Extract changes between old and new list and touch corresponding
>+# dependency files.
>+# Note: sort -m doesn't work well with underscore prefixed symbols so we
>+# use 'cat ... | sort' instead.
>+changed=0
>+while read sympath; do
>+	[ -z "$sympath" ] && continue
>+	depfile="include/config/ksym/${sympath}.h"
>+	mkdir -p "$(dirname "$depfile")"
>+	touch "$depfile"
>+	changed=$((changed + 1))
>+done <<< "$(
>+	cat "$cur_ksyms_file" "$new_ksyms_file" | sort | uniq -u |
>+	sed -n 's/^#define __KSYM_\(.*\) 1/\1/p' | tr "A-Z_" "a-z/"  )"

Nothing super-obvious springs to mind as a pure-sh equivalent for this 
one though, so assuming the script remains bash-specific, a process 
substitution like

  done < <(cat ...)

might slightly cleaner than the here-string + command substitution 
(doesn't need quoting, and just streams through a pipe rather than bash 
snarfing it all up into a string).

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

Re: [PATCH v3 6/7] create/adjust generated/autoksyms.h Zev Weiss <zev@bewilderbeest.net> - 2016-02-28 13:20 +0100
  Re: [PATCH v3 6/7] create/adjust generated/autoksyms.h Nicolas Pitre <nicolas.pitre@linaro.org> - 2016-02-28 20:40 +0100

csiph-web