1*8d2c0f5eSJoseph Chen#!/bin/bash 2*8d2c0f5eSJoseph Chen# 3*8d2c0f5eSJoseph Chen# Copyright (c) 2020 Rockchip Electronics Co., Ltd 4*8d2c0f5eSJoseph Chen# 5*8d2c0f5eSJoseph Chen# SPDX-License-Identifier: GPL-2.0 6*8d2c0f5eSJoseph Chen# 7*8d2c0f5eSJoseph Chenset -e 8*8d2c0f5eSJoseph Chen 9*8d2c0f5eSJoseph ChenFRAGMENT_CONFIG=$1 10*8d2c0f5eSJoseph Chen 11*8d2c0f5eSJoseph Chenif [ -z "${FRAGMENT_CONFIG}" ]; then 12*8d2c0f5eSJoseph Chen echo 13*8d2c0f5eSJoseph Chen echo "Usage: a script to sync/add config fragment." 14*8d2c0f5eSJoseph Chen echo 15*8d2c0f5eSJoseph Chen echo "Command:" 16*8d2c0f5eSJoseph Chen echo " $0 [config fragment]" 17*8d2c0f5eSJoseph Chen echo "Example:" 18*8d2c0f5eSJoseph Chen echo " $0 ./configs/rv1109.config -- add or sync rv1109.config" 19*8d2c0f5eSJoseph Chen echo 20*8d2c0f5eSJoseph Chen exit 1 21*8d2c0f5eSJoseph Chenfi 22*8d2c0f5eSJoseph Chen 23*8d2c0f5eSJoseph Chenif [ ! -f .config ]; then 24*8d2c0f5eSJoseph Chen echo "ERROR: No .config" 25*8d2c0f5eSJoseph Chen exit 1 26*8d2c0f5eSJoseph Chenfi 27*8d2c0f5eSJoseph Chen 28*8d2c0f5eSJoseph ChenBASE_DEFCONFIG=`sed -n "/CONFIG_BASE_DEFCONFIG=/s/CONFIG_BASE_DEFCONFIG=//p" .config | tr -d '\r' | tr -d '"'` 29*8d2c0f5eSJoseph Chenif [ -z "${BASE_DEFCONFIG}" ]; then 30*8d2c0f5eSJoseph Chen echo "ERROR: No base defconfig assigned by BASE_DEFCONFIG=..." 31*8d2c0f5eSJoseph Chen exit 1 32*8d2c0f5eSJoseph Chenfi 33*8d2c0f5eSJoseph Chen 34*8d2c0f5eSJoseph Chenif [ ! -f configs/${BASE_DEFCONFIG} ]; then 35*8d2c0f5eSJoseph Chen echo "ERROR: No base defconfig \"${BASE_DEFCONFIG}\"" 36*8d2c0f5eSJoseph Chen exit 1 37*8d2c0f5eSJoseph Chenfi 38*8d2c0f5eSJoseph Chen 39*8d2c0f5eSJoseph Chenif [ ! -f ${FRAGMENT_CONFIG} ]; then 40*8d2c0f5eSJoseph Chen MSG_NEW_FILE="New config fragment: ${FRAGMENT_CONFIG}" 41*8d2c0f5eSJoseph Chenfi 42*8d2c0f5eSJoseph Chen 43*8d2c0f5eSJoseph Chencp .config fragment.config 44*8d2c0f5eSJoseph Chenmake ${BASE_DEFCONFIG} 45*8d2c0f5eSJoseph Chen./scripts/diffconfig -m .config fragment.config | sort > ${FRAGMENT_CONFIG} 46*8d2c0f5eSJoseph Chencp fragment.config .config 47*8d2c0f5eSJoseph Chen 48*8d2c0f5eSJoseph Chenecho "$MSG_NEW_FILE" 49*8d2c0f5eSJoseph Chenecho "Sync ${FRAGMENT_CONFIG} ... OK." 50*8d2c0f5eSJoseph Chenecho 51*8d2c0f5eSJoseph Chen 52