From 9e05689406c83ae3020ca32a6ec6387466209138 Mon Sep 17 00:00:00 2001 From: Christian Eppler Date: Mon, 13 May 2013 16:22:27 +0200 Subject: Implement Kconfig build system Signed-off-by: Christian Eppler --- kconfig-frontends/scripts/ksync.sh | 61 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 kconfig-frontends/scripts/ksync.sh (limited to 'kconfig-frontends/scripts/ksync.sh') diff --git a/kconfig-frontends/scripts/ksync.sh b/kconfig-frontends/scripts/ksync.sh new file mode 100644 index 0000000..97fb3fe --- /dev/null +++ b/kconfig-frontends/scripts/ksync.sh @@ -0,0 +1,61 @@ +#!/bin/sh + +my_name="${0##*/}" + +# If an argument is given, it's the location +# of the Linux kernel source tree +k_dir="${1}" +if [ ! \( -n "${k_dir}" -a -d "${k_dir}/kernel" \) ]; then + if [ -n "${k_dir}" ]; then + printf "%s: \`%s': not a Linux kernel source tree\n" \ + "${my_name}" "${k_dir}" + else + printf "Usage: %s /path/to/kernel/dir\n" "${my_name}" + fi + exit 1 +fi + +# Save current version +k_cset_old=$( head -n 1 .version |awk '{ print $(2); }' ) + +# Get the kernel version +eval $( head -n 5 "${k_dir}/Makefile" \ + |sed -r -e 's/^/K_/; s/"//g; s/ = ?/="/; s/$/"/;' \ + ) +k_cset="$( cd "${k_dir}"; \ + git log -n 1 --pretty='format:%H' \ + )" +printf "Found Linux kernel %d.%d.%d%s '%s' (%7.7s)\n" \ + "${K_VERSION}" "${K_PATCHLEVEL}" "${K_SUBLEVEL}" \ + "${K_EXTRAVERSION}" "${K_NAME}" "${k_cset}" + +# Get the kconfig-frontends version +kf_version="$( tail -n 1 .version )" + +# Store the new version +printf "%d.%d.%d%s %s %s\n%s\n" \ + "${K_VERSION}" "${K_PATCHLEVEL}" \ + "${K_SUBLEVEL}" "${K_EXTRAVERSION}" \ + "${k_cset}" "${K_NAME}" \ + "${kf_version}" \ + >.version + +# Sync-up the files +k_files="" +while read k_file trash kf_file; do + k_files="${k_files} ${k_file}" + mkdir -p "${kf_file%/*}" + cp -v "${k_dir}/${k_file}" "${kf_file}" + if [ -f "${kf_file}.patch" ]; then + patch --no-backup-if-mismatch -g0 -F1 -p1 -f <"${kf_file}.patch" + fi +done