18d2c0f5eSJoseph Chen#!/bin/bash 28d2c0f5eSJoseph Chen# 38d2c0f5eSJoseph Chen# Copyright (c) 2020 Rockchip Electronics Co., Ltd 48d2c0f5eSJoseph Chen# 58d2c0f5eSJoseph Chen# SPDX-License-Identifier: GPL-2.0 68d2c0f5eSJoseph Chen# 78d2c0f5eSJoseph Chenset -e 88d2c0f5eSJoseph Chen 98d2c0f5eSJoseph ChenFRAGMENT_CONFIG=$1 108d2c0f5eSJoseph Chen 118d2c0f5eSJoseph Chenif [ -z "${FRAGMENT_CONFIG}" ]; then 128d2c0f5eSJoseph Chen echo 138d2c0f5eSJoseph Chen echo "Usage: a script to sync/add config fragment." 148d2c0f5eSJoseph Chen echo 158d2c0f5eSJoseph Chen echo "Command:" 168d2c0f5eSJoseph Chen echo " $0 [config fragment]" 178d2c0f5eSJoseph Chen echo "Example:" 188d2c0f5eSJoseph Chen echo " $0 ./configs/rv1109.config -- add or sync rv1109.config" 198d2c0f5eSJoseph Chen echo 208d2c0f5eSJoseph Chen exit 1 218d2c0f5eSJoseph Chenfi 228d2c0f5eSJoseph Chen 238d2c0f5eSJoseph Chenif [ ! -f .config ]; then 248d2c0f5eSJoseph Chen echo "ERROR: No .config" 258d2c0f5eSJoseph Chen exit 1 268d2c0f5eSJoseph Chenfi 278d2c0f5eSJoseph Chen 28d07fced2SJoseph ChenBASE_DEFCONFIG1=`sed -n "/CONFIG_BASE_DEFCONFIG=/s/CONFIG_BASE_DEFCONFIG=//p" .config | tr -d '\r' | tr -d '"'` 29d07fced2SJoseph Chenif [ -z "${BASE_DEFCONFIG1}" ]; then 30d07fced2SJoseph Chen echo "ERROR: No base defconfig assigned by BASE_DEFCONFIG1=..." 318d2c0f5eSJoseph Chen exit 1 328d2c0f5eSJoseph Chenfi 338d2c0f5eSJoseph Chen 34d07fced2SJoseph Chenif [ ! -f configs/${BASE_DEFCONFIG1} ]; then 35d07fced2SJoseph Chen echo "ERROR: No base defconfig \"${BASE_DEFCONFIG1}\"" 368d2c0f5eSJoseph Chen exit 1 378d2c0f5eSJoseph Chenfi 388d2c0f5eSJoseph Chen 39d07fced2SJoseph ChenBASE_DEFCONFIG0=`sed -n "/CONFIG_BASE_DEFCONFIG=/s/CONFIG_BASE_DEFCONFIG=//p" configs/${BASE_DEFCONFIG1} | tr -d '\r' | tr -d '"'` 40d07fced2SJoseph Chen 418d2c0f5eSJoseph Chenif [ ! -f ${FRAGMENT_CONFIG} ]; then 428d2c0f5eSJoseph Chen MSG_NEW_FILE="New config fragment: ${FRAGMENT_CONFIG}" 438d2c0f5eSJoseph Chenfi 448d2c0f5eSJoseph Chen 458d2c0f5eSJoseph Chencp .config fragment.config 46d07fced2SJoseph Chenmake ${BASE_DEFCONFIG0} ${BASE_DEFCONFIG1} 478d2c0f5eSJoseph Chen./scripts/diffconfig -m .config fragment.config | sort > ${FRAGMENT_CONFIG} 48*7d33ddceSJoseph Chenmv fragment.config .config 498d2c0f5eSJoseph Chen 508d2c0f5eSJoseph Chenecho "$MSG_NEW_FILE" 518d2c0f5eSJoseph Chenecho "Sync ${FRAGMENT_CONFIG} ... OK." 528d2c0f5eSJoseph Chenecho 538d2c0f5eSJoseph Chen 54