On Fri, Aug 2, 2024 at 9:42 PM Anders Roxell <anders.roxell@xxxxxxxxxx> wrote: > > When merging files without trailing newlines a the end of the file, two > config fragments end up at the same row if file1.config doens't have a > trailing newline at the end of the file. > > file1.config "CONFIG_1=y" > file2.config "CONFIG_2=y" > ./scripts/kconfig/merge_config.sh -m .config file1.config file2.config > > this will generate a .config lookingn like this. > cat .config > ... > CONFIG_1=yCONFIG_2=y" > > Making sure so we add a newline at the end of every config file that is > passed into the script. > > Signed-off-by: Anders Roxell <anders.roxell@xxxxxxxxxx> > --- > scripts/kconfig/merge_config.sh | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/scripts/kconfig/merge_config.sh b/scripts/kconfig/merge_config.sh > index 902eb429b9db..ce1b77ee043b 100755 > --- a/scripts/kconfig/merge_config.sh > +++ b/scripts/kconfig/merge_config.sh > @@ -136,7 +136,7 @@ for ORIG_MERGE_FILE in $MERGE_LIST ; do > echo "The merge file '$ORIG_MERGE_FILE' does not exist. Exit." >&2 > exit 1 > fi > - cat $ORIG_MERGE_FILE > $MERGE_FILE > + cat $ORIG_MERGE_FILE | sed -e '$a\' > $MERGE_FILE Is the pipe necessary? This seems to be equivalent to: sed -e '$a\' $ORIG_MERGE_FILE > $MERGE_FILE This issue also happens if $INITFILE lacks a newline at the end. I think the right place to insert a line is there: # In case the previous file lacks a new line at the end echo >> $TMP_FILE cat $MERGE_FILE >> $TMP_FILE I am fine with always inserting a line between files. -- Best Regards Masahiro Yamada