Merge branch 'qtopia-fixes' of git://git.busybox.net/~tpetazzoni/git/buildroot
[avatt.git] / scripts / get_linux_config.sh
blob1950e9d2e2a35416fad8c6ddfa74033070cbde97
1 #!/bin/bash
2 #######################################################################
4 # Copy successively all configs from the BSP directory (par #1)
5 # to the Linux directory (par #2)
6 # Do not copy config files for later linux versions than the current
7 # A well-behaved filename is
8 # "<name>-linux-2.6.<major>.<minor>.config" or
9 # "<name>-linux-2.6.<major>.config"
11 #######################################################################
13 TOPDIR=`pwd`
14 DEBUG=0
15 # parameter #1 BOARD_PATH
16 # parameter #2 LINUX26_DIR
18 CONFIGS=`ls -X $1/*linux-2.6.*.config | sed s/[.]config// - | sort`
19 LINUX26_DIR=`basename $2`
20 LINUX26_CONFIG=${2}/.config
21 LINUX_MAJOR_VERSION=${LINUX26_DIR:10:2}
22 LINUX_MINOR_VERSION=${LINUX26_DIR:13}
24 function DBG_PRINT
26 if [ ${DEBUG} == 1 ] ; then
27 echo $1
31 function linux_version()
33 local KCONFIG
34 KCONFIG=`basename $1`
35 KERNEL=`echo ${KCONFIG} | sed s/.*linux-2.6./linux-2.6./g -`
36 THIS_MAJOR=${KERNEL:10:2}
37 THIS_MINOR=${KERNEL:13}
40 # Try to be careful...
41 DBG_PRINT MAJOR=\"${LINUX_MAJOR_VERSION}\"
42 DBG_PRINT MINOR=\"${LINUX_MINOR_VERSION}\"
44 for i in ${CONFIGS} ; do
45 DBG_PRINT FILE=$i
46 linux_version $i
47 DBG_PRINT KERNEL=${KERNEL}
48 if [ ${THIS_MAJOR} -lt ${LINUX_MAJOR_VERSION} ] ; then
49 echo Copying `basename $i`.config ...
50 cp $i.config ${LINUX26_CONFIG}
51 elif [ ${THIS_MAJOR} -eq ${LINUX_MAJOR_VERSION} ] ; then
52 if [ "${LINUX_MINOR_VERSION}X" == "X" ] ; then
53 if [ "${THIS_MINOR}X" == "X" ] ; then
54 echo Copying `basename $i`.config ...
55 cp $i.config ${LINUX26_CONFIG}
56 else
57 return
59 elif [ ${THIS_MINOR} -le ${LINUX_MINOR_VERSION} ] ; then
60 echo Copying `basename $i`.config ...
61 cp $i.config ${LINUX26_CONFIG}
63 else
64 return
66 done
68 # Did not work... - be promisceous
70 if [ ! -f "${LINUX26_CONFIG}" ] ; then \
71 for i in `ls $1/*linux*.config` ; do
72 echo Copying `basename $i` ...
73 cp $i ${LINUX26_CONFIG}
74 done