~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/scripts/dtc/update-dtc-source.sh

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #!/bin/sh
  2 # SPDX-License-Identifier: GPL-2.0
  3 # Simple script to update the version of DTC carried by the Linux kernel
  4 #
  5 # This script assumes that the dtc and the linux git trees are in the
  6 # same directory. After building dtc in the dtc directory, it copies the
  7 # source files and generated source file(s) into the scripts/dtc directory
  8 # in the kernel and creates a git commit updating them to the new
  9 # version.
 10 #
 11 # Usage: from the top level Linux source tree, run:
 12 # $ ./scripts/dtc/update-dtc-source.sh
 13 #
 14 # The script will change into the dtc tree, build and test dtc, copy the
 15 # relevant files into the kernel tree and create a git commit. The commit
 16 # message will need to be modified to reflect the version of DTC being
 17 # imported
 18 #
 19 # TODO:
 20 # This script is pretty basic, but it is seldom used so a few manual tasks
 21 # aren't a big deal. If anyone is interested in making it more robust, the
 22 # the following would be nice:
 23 # * Actually fail to complete if any testcase fails.
 24 #   - The dtc "make check" target needs to return a failure
 25 # * Extract the version number from the dtc repo for the commit message
 26 # * Build dtc in the kernel tree
 27 # * run 'make check" on dtc built from the kernel tree
 28 
 29 set -ev
 30 
 31 DTC_UPSTREAM_PATH=`pwd`/../dtc
 32 DTC_LINUX_PATH=`pwd`/scripts/dtc
 33 
 34 DTC_SOURCE="checks.c data.c dtc.c dtc.h flattree.c fstree.c livetree.c srcpos.c \
 35                 srcpos.h treesource.c util.c util.h version_gen.h \
 36                 dtc-lexer.l dtc-parser.y"
 37 LIBFDT_SOURCE="fdt.c fdt.h fdt_addresses.c fdt_empty_tree.c \
 38                 fdt_overlay.c fdt_ro.c fdt_rw.c fdt_strerror.c fdt_sw.c \
 39                 fdt_wip.c libfdt.h libfdt_env.h libfdt_internal.h"
 40 FDTOVERLAY_SOURCE=fdtoverlay.c
 41 
 42 get_last_dtc_version() {
 43         git log --oneline scripts/dtc/ | grep 'upstream' | head -1 | sed -e 's/^.* \(.*\)/\1/'
 44 }
 45 
 46 last_dtc_ver=$(get_last_dtc_version)
 47 
 48 # Build DTC
 49 cd $DTC_UPSTREAM_PATH
 50 make clean
 51 make check
 52 dtc_version=$(git describe HEAD)
 53 dtc_log=$(git log --oneline ${last_dtc_ver}..)
 54 
 55 
 56 # Copy the files into the Linux tree
 57 cd $DTC_LINUX_PATH
 58 for f in $DTC_SOURCE $FDTOVERLAY_SOURCE; do
 59         cp ${DTC_UPSTREAM_PATH}/${f} ${f}
 60         git add ${f}
 61 done
 62 for f in $LIBFDT_SOURCE; do
 63        cp ${DTC_UPSTREAM_PATH}/libfdt/${f} libfdt/${f}
 64        git add libfdt/${f}
 65 done
 66 
 67 sed -i -- 's/#include <libfdt_env.h>/#include "libfdt_env.h"/g' ./libfdt/libfdt.h
 68 sed -i -- 's/#include <fdt.h>/#include "fdt.h"/g' ./libfdt/libfdt.h
 69 git add ./libfdt/libfdt.h
 70 
 71 commit_msg=$(cat << EOF
 72 scripts/dtc: Update to upstream version ${dtc_version}
 73 
 74 This adds the following commits from upstream:
 75 
 76 ${dtc_log}
 77 EOF
 78 )
 79 
 80 git commit -e -v -s -m "${commit_msg}"

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php