Re: [PATCH] scripts: kconfig: merge_config: config files: add a trailing newline

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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





[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux