diff mbox series

scripts/oe-setup-builddir: Add option to force TEMPLATECONF on existing configs

Message ID 20230924122259.2697980-1-bhstalel@gmail.com (mailing list archive)
State New
Headers show
Series scripts/oe-setup-builddir: Add option to force TEMPLATECONF on existing configs | expand

Commit Message

Talel BELHADJ SALEM Sept. 24, 2023, 12:22 p.m. UTC
Since we cannot force overriding of the config samples created based on TEMPALTECONF variable,
and that's because it may remove any custom configuration done on local.conf or bblayers.conf,
and that's also because TEMPALTECONF is, usually, used to create new builds.

But, when the developer wants to recreate the build after changing the sample files, the developer
must remove the files manually.

I think introducing another variable FORCE_TEMPLATECONF can help when override is wanted.

Signed-off-by: Talel BELHAJSALEM <bhstalel@gmail.com>
---
 scripts/oe-setup-builddir | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Richard Purdie Sept. 24, 2023, 1:05 p.m. UTC | #1
On Sun, 2023-09-24 at 13:22 +0100, BELHADJ SALEM Talel wrote:
> Since we cannot force overriding of the config samples created based on TEMPALTECONF variable,
> and that's because it may remove any custom configuration done on local.conf or bblayers.conf,
> and that's also because TEMPALTECONF is, usually, used to create new builds.
> 
> But, when the developer wants to recreate the build after changing the sample files, the developer
> must remove the files manually.
> 
> I think introducing another variable FORCE_TEMPLATECONF can help when override is wanted.
> 
> Signed-off-by: Talel BELHAJSALEM <bhstalel@gmail.com>
> ---
>  scripts/oe-setup-builddir | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/scripts/oe-setup-builddir b/scripts/oe-setup-builddir
> index 678aeac4be..3bd3df0930 100755
> --- a/scripts/oe-setup-builddir
> +++ b/scripts/oe-setup-builddir
> @@ -64,7 +64,7 @@ unset SHOWYPDOC
>  if [ -z "$OECORELOCALCONF" ]; then
>      OECORELOCALCONF="$OEROOT/meta/conf/templates/default/local.conf.sample"
>  fi
> -if [ ! -r "$BUILDDIR/conf/local.conf" ]; then
> +if [ ! -r "$BUILDDIR/conf/local.conf" ] || [ -n "$FORCE_TEMPLATECONF" ]; then
>      cat <<EOM
>  You had no conf/local.conf file. This configuration file has therefore been
>  created for you from $OECORELOCALCONF
> @@ -79,7 +79,7 @@ fi
>  if [ -z "$OECORELAYERCONF" ]; then
>      OECORELAYERCONF="$OEROOT/meta/conf/templates/default/bblayers.conf.sample"
>  fi
> -if [ ! -r "$BUILDDIR/conf/bblayers.conf" ]; then
> +if [ ! -r "$BUILDDIR/conf/bblayers.conf" ] || [ -n "$FORCE_TEMPLATECONF" ]; then
>      cat <<EOM
>  You had no conf/bblayers.conf file. This configuration file has therefore been
>  created for you from $OECORELAYERCONF
> @@ -101,7 +101,7 @@ fi
>  if [ -z "$OECORENOTESCONF" ]; then
>      OECORENOTESCONF="$OEROOT/meta/conf/templates/default/conf-notes.txt"
>  fi
> -if [ ! -r "$BUILDDIR/conf/conf-notes.txt" ]; then
> +if [ ! -r "$BUILDDIR/conf/conf-notes.txt" ] || [ -n "$FORCE_TEMPLATECONF" ]; then
>      [ ! -r "$OECORENOTESCONF" ] || cp "$OECORENOTESCONF" "$BUILDDIR/conf/conf-notes.txt"
>  fi

Surely if you want to replace the files you'd just delete them? Adding
an obscure variable to do that isn't discoverable for most people or
easier?

OE-Core patches need to go to the openembedded-core list too.

Cheers,

Richard
Alexander Kanavin Sept. 24, 2023, 1:05 p.m. UTC | #2
But is it really that difficult to remove the files? Adding variables
needs documentation, and tests, and adds complexity, and this one in
particular can be easily avoided.

Alex

On Sun, 24 Sept 2023 at 14:24, BELHADJ SALEM Talel <bhstalel@gmail.com> wrote:
>
> Since we cannot force overriding of the config samples created based on TEMPALTECONF variable,
> and that's because it may remove any custom configuration done on local.conf or bblayers.conf,
> and that's also because TEMPALTECONF is, usually, used to create new builds.
>
> But, when the developer wants to recreate the build after changing the sample files, the developer
> must remove the files manually.
>
> I think introducing another variable FORCE_TEMPLATECONF can help when override is wanted.
>
> Signed-off-by: Talel BELHAJSALEM <bhstalel@gmail.com>
> ---
>  scripts/oe-setup-builddir | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/scripts/oe-setup-builddir b/scripts/oe-setup-builddir
> index 678aeac4be..3bd3df0930 100755
> --- a/scripts/oe-setup-builddir
> +++ b/scripts/oe-setup-builddir
> @@ -64,7 +64,7 @@ unset SHOWYPDOC
>  if [ -z "$OECORELOCALCONF" ]; then
>      OECORELOCALCONF="$OEROOT/meta/conf/templates/default/local.conf.sample"
>  fi
> -if [ ! -r "$BUILDDIR/conf/local.conf" ]; then
> +if [ ! -r "$BUILDDIR/conf/local.conf" ] || [ -n "$FORCE_TEMPLATECONF" ]; then
>      cat <<EOM
>  You had no conf/local.conf file. This configuration file has therefore been
>  created for you from $OECORELOCALCONF
> @@ -79,7 +79,7 @@ fi
>  if [ -z "$OECORELAYERCONF" ]; then
>      OECORELAYERCONF="$OEROOT/meta/conf/templates/default/bblayers.conf.sample"
>  fi
> -if [ ! -r "$BUILDDIR/conf/bblayers.conf" ]; then
> +if [ ! -r "$BUILDDIR/conf/bblayers.conf" ] || [ -n "$FORCE_TEMPLATECONF" ]; then
>      cat <<EOM
>  You had no conf/bblayers.conf file. This configuration file has therefore been
>  created for you from $OECORELAYERCONF
> @@ -101,7 +101,7 @@ fi
>  if [ -z "$OECORENOTESCONF" ]; then
>      OECORENOTESCONF="$OEROOT/meta/conf/templates/default/conf-notes.txt"
>  fi
> -if [ ! -r "$BUILDDIR/conf/conf-notes.txt" ]; then
> +if [ ! -r "$BUILDDIR/conf/conf-notes.txt" ] || [ -n "$FORCE_TEMPLATECONF" ]; then
>      [ ! -r "$OECORENOTESCONF" ] || cp "$OECORENOTESCONF" "$BUILDDIR/conf/conf-notes.txt"
>  fi
>
> --
> 2.25.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#13162): https://lists.yoctoproject.org/g/poky/message/13162
> Mute This Topic: https://lists.yoctoproject.org/mt/101554603/1686489
> Group Owner: poky+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/poky/unsub [alex.kanavin@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Talel BELHADJ SALEM Sept. 24, 2023, 3:14 p.m. UTC | #3
I, totally agree with you, I did thought about adding the variable to the
documentation page, but I forgot that developers can easily forget about it
since they do not dig into the documentation well, but if you forget to set
the variable, the script will behave the same way, hince [ -n ] option.

So, only who knows about the variable will use it correctly and explicitly.
This is maybe the last argument that I have for introducing this new
variable.

What do you think?

Kind regards
Talel

On Sun, Sep 24, 2023 at 2:06 PM Alexander Kanavin <alex.kanavin@gmail.com>
wrote:

> But is it really that difficult to remove the files? Adding variables
> needs documentation, and tests, and adds complexity, and this one in
> particular can be easily avoided.
>
> Alex
>
> On Sun, 24 Sept 2023 at 14:24, BELHADJ SALEM Talel <bhstalel@gmail.com>
> wrote:
> >
> > Since we cannot force overriding of the config samples created based on
> TEMPALTECONF variable,
> > and that's because it may remove any custom configuration done on
> local.conf or bblayers.conf,
> > and that's also because TEMPALTECONF is, usually, used to create new
> builds.
> >
> > But, when the developer wants to recreate the build after changing the
> sample files, the developer
> > must remove the files manually.
> >
> > I think introducing another variable FORCE_TEMPLATECONF can help when
> override is wanted.
> >
> > Signed-off-by: Talel BELHAJSALEM <bhstalel@gmail.com>
> > ---
> >  scripts/oe-setup-builddir | 6 +++---
> >  1 file changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/scripts/oe-setup-builddir b/scripts/oe-setup-builddir
> > index 678aeac4be..3bd3df0930 100755
> > --- a/scripts/oe-setup-builddir
> > +++ b/scripts/oe-setup-builddir
> > @@ -64,7 +64,7 @@ unset SHOWYPDOC
> >  if [ -z "$OECORELOCALCONF" ]; then
> >
> OECORELOCALCONF="$OEROOT/meta/conf/templates/default/local.conf.sample"
> >  fi
> > -if [ ! -r "$BUILDDIR/conf/local.conf" ]; then
> > +if [ ! -r "$BUILDDIR/conf/local.conf" ] || [ -n "$FORCE_TEMPLATECONF"
> ]; then
> >      cat <<EOM
> >  You had no conf/local.conf file. This configuration file has therefore
> been
> >  created for you from $OECORELOCALCONF
> > @@ -79,7 +79,7 @@ fi
> >  if [ -z "$OECORELAYERCONF" ]; then
> >
> OECORELAYERCONF="$OEROOT/meta/conf/templates/default/bblayers.conf.sample"
> >  fi
> > -if [ ! -r "$BUILDDIR/conf/bblayers.conf" ]; then
> > +if [ ! -r "$BUILDDIR/conf/bblayers.conf" ] || [ -n
> "$FORCE_TEMPLATECONF" ]; then
> >      cat <<EOM
> >  You had no conf/bblayers.conf file. This configuration file has
> therefore been
> >  created for you from $OECORELAYERCONF
> > @@ -101,7 +101,7 @@ fi
> >  if [ -z "$OECORENOTESCONF" ]; then
> >      OECORENOTESCONF="$OEROOT/meta/conf/templates/default/conf-notes.txt"
> >  fi
> > -if [ ! -r "$BUILDDIR/conf/conf-notes.txt" ]; then
> > +if [ ! -r "$BUILDDIR/conf/conf-notes.txt" ] || [ -n
> "$FORCE_TEMPLATECONF" ]; then
> >      [ ! -r "$OECORENOTESCONF" ] || cp "$OECORENOTESCONF"
> "$BUILDDIR/conf/conf-notes.txt"
> >  fi
> >
> > --
> > 2.25.1
> >
> >
> > -=-=-=-=-=-=-=-=-=-=-=-
> > Links: You receive all messages sent to this group.
> > View/Reply Online (#13162):
> https://lists.yoctoproject.org/g/poky/message/13162
> > Mute This Topic: https://lists.yoctoproject.org/mt/101554603/1686489
> > Group Owner: poky+owner@lists.yoctoproject.org
> > Unsubscribe: https://lists.yoctoproject.org/g/poky/unsub [
> alex.kanavin@gmail.com]
> > -=-=-=-=-=-=-=-=-=-=-=-
> >
>
diff mbox series

Patch

diff --git a/scripts/oe-setup-builddir b/scripts/oe-setup-builddir
index 678aeac4be..3bd3df0930 100755
--- a/scripts/oe-setup-builddir
+++ b/scripts/oe-setup-builddir
@@ -64,7 +64,7 @@  unset SHOWYPDOC
 if [ -z "$OECORELOCALCONF" ]; then
     OECORELOCALCONF="$OEROOT/meta/conf/templates/default/local.conf.sample"
 fi
-if [ ! -r "$BUILDDIR/conf/local.conf" ]; then
+if [ ! -r "$BUILDDIR/conf/local.conf" ] || [ -n "$FORCE_TEMPLATECONF" ]; then
     cat <<EOM
 You had no conf/local.conf file. This configuration file has therefore been
 created for you from $OECORELOCALCONF
@@ -79,7 +79,7 @@  fi
 if [ -z "$OECORELAYERCONF" ]; then
     OECORELAYERCONF="$OEROOT/meta/conf/templates/default/bblayers.conf.sample"
 fi
-if [ ! -r "$BUILDDIR/conf/bblayers.conf" ]; then
+if [ ! -r "$BUILDDIR/conf/bblayers.conf" ] || [ -n "$FORCE_TEMPLATECONF" ]; then
     cat <<EOM
 You had no conf/bblayers.conf file. This configuration file has therefore been
 created for you from $OECORELAYERCONF
@@ -101,7 +101,7 @@  fi
 if [ -z "$OECORENOTESCONF" ]; then
     OECORENOTESCONF="$OEROOT/meta/conf/templates/default/conf-notes.txt"
 fi
-if [ ! -r "$BUILDDIR/conf/conf-notes.txt" ]; then
+if [ ! -r "$BUILDDIR/conf/conf-notes.txt" ] || [ -n "$FORCE_TEMPLATECONF" ]; then
     [ ! -r "$OECORENOTESCONF" ] || cp "$OECORENOTESCONF" "$BUILDDIR/conf/conf-notes.txt"
 fi