Openembedded Core Discussions
 help / color / mirror / Atom feed
* [PATCH] devtool: modify command fails to ignore source files
@ 2016-10-02 20:55 Stephano Cetola
  2016-10-02 22:40 ` Paul Eggleton
  0 siblings, 1 reply; 3+ messages in thread
From: Stephano Cetola @ 2016-10-02 20:55 UTC (permalink / raw)
  To: openembedded-core; +Cc: paul.eggleton

With recent changes to recipeutils, the list of local files returned
by get_recipe_local_files could possibly include source files. This
only happens when the recipe contains a SRC_URI using subdir= to put
files in the source tree. These files should be ignored when
populating the list of local files for oe-local-files directory.

Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com>
---
 scripts/lib/devtool/standard.py | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/scripts/lib/devtool/standard.py b/scripts/lib/devtool/standard.py
index 8319145..c7a5712 100644
--- a/scripts/lib/devtool/standard.py
+++ b/scripts/lib/devtool/standard.py
@@ -568,8 +568,12 @@ def _extract_source(srctree, keep_temp, devbranch, sync, d):
         recipe_patches = [os.path.basename(patch) for patch in
                           oe.recipeutils.get_recipe_patches(crd)]
         local_files = oe.recipeutils.get_recipe_local_files(crd)
+
+        # Ignore local files with subdir={BP}
+        srcdirname = os.path.basename(os.path.normpath(srcsubdir))
         local_files = [fname for fname in local_files if
-                       os.path.exists(os.path.join(workdir, fname))]
+                       os.path.exists(os.path.join(workdir, fname)) and
+                       srcdirname not in fname]
         if local_files:
             for fname in local_files:
                 _move_file(os.path.join(workdir, fname),
-- 
2.10.0



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] devtool: modify command fails to ignore source files
  2016-10-02 20:55 [PATCH] devtool: modify command fails to ignore source files Stephano Cetola
@ 2016-10-02 22:40 ` Paul Eggleton
  2016-10-02 23:54   ` Stephano Cetola
  0 siblings, 1 reply; 3+ messages in thread
From: Paul Eggleton @ 2016-10-02 22:40 UTC (permalink / raw)
  To: Stephano Cetola; +Cc: openembedded-core

Hi Stephano,

Thanks for looking into this, a few things:

On Sun, 02 Oct 2016 13:55:06 Stephano Cetola wrote:
> With recent changes to recipeutils, the list of local files returned
> by get_recipe_local_files could possibly include source files. This
> only happens when the recipe contains a SRC_URI using subdir= to put
> files in the source tree. These files should be ignored when
> populating the list of local files for oe-local-files directory.

You should include "Fixes [YOCTO #10326]." here. Also, if a patch fixes a 
regression that we've been able to track down, as part of the commit message I 
like to mention which revision caused it, and in this case it would be 
OE-Core revision 9069fef5dad5a873c8a8f720f7bcbc7625556309.

> Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com>
> ---
>  scripts/lib/devtool/standard.py | 6 +++++-
>  1 file changed, 5 insertions(+), 1 deletion(-)
> 
> diff --git a/scripts/lib/devtool/standard.py
> b/scripts/lib/devtool/standard.py index 8319145..c7a5712 100644
> --- a/scripts/lib/devtool/standard.py
> +++ b/scripts/lib/devtool/standard.py
> @@ -568,8 +568,12 @@ def _extract_source(srctree, keep_temp, devbranch,
> sync, d): recipe_patches = [os.path.basename(patch) for patch in
>                            oe.recipeutils.get_recipe_patches(crd)]
>          local_files = oe.recipeutils.get_recipe_local_files(crd)
> +
> +        # Ignore local files with subdir={BP}
> +        srcdirname = os.path.basename(os.path.normpath(srcsubdir))
>          local_files = [fname for fname in local_files if
> -                       os.path.exists(os.path.join(workdir, fname))]
> +                       os.path.exists(os.path.join(workdir, fname)) and
> +                       srcdirname not in fname]

This seems likely to false-trigger quite easily - you're only looking for the 
basename and whether it appears anywhere in the path rather than at the start. 
I'd suggest getting the absolute path to the source directory and check if it 
starts with that (I think that's how I dealt with that elsewhere).

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] devtool: modify command fails to ignore source files
  2016-10-02 22:40 ` Paul Eggleton
@ 2016-10-02 23:54   ` Stephano Cetola
  0 siblings, 0 replies; 3+ messages in thread
From: Stephano Cetola @ 2016-10-02 23:54 UTC (permalink / raw)
  To: Paul Eggleton; +Cc: openembedded-core

On 10/03, Paul Eggleton wrote:
> Hi Stephano,
> 
> Thanks for looking into this, a few things:
> 
> On Sun, 02 Oct 2016 13:55:06 Stephano Cetola wrote:
> > With recent changes to recipeutils, the list of local files returned
> > by get_recipe_local_files could possibly include source files. This
> > only happens when the recipe contains a SRC_URI using subdir= to put
> > files in the source tree. These files should be ignored when
> > populating the list of local files for oe-local-files directory.
> 
> You should include "Fixes [YOCTO #10326]." here. Also, if a patch fixes a 
> regression that we've been able to track down, as part of the commit message I 
> like to mention which revision caused it, and in this case it would be 
> OE-Core revision 9069fef5dad5a873c8a8f720f7bcbc7625556309.

Ops,thanks for catching that. Also, thanks for the notes on regressions.

> 
> > Signed-off-by: Stephano Cetola <stephano.cetola@linux.intel.com>
> > ---
> >  scripts/lib/devtool/standard.py | 6 +++++-
> >  1 file changed, 5 insertions(+), 1 deletion(-)
> > 
> > diff --git a/scripts/lib/devtool/standard.py
> > b/scripts/lib/devtool/standard.py index 8319145..c7a5712 100644
> > --- a/scripts/lib/devtool/standard.py
> > +++ b/scripts/lib/devtool/standard.py
> > @@ -568,8 +568,12 @@ def _extract_source(srctree, keep_temp, devbranch,
> > sync, d): recipe_patches = [os.path.basename(patch) for patch in
> >                            oe.recipeutils.get_recipe_patches(crd)]
> >          local_files = oe.recipeutils.get_recipe_local_files(crd)
> > +
> > +        # Ignore local files with subdir={BP}
> > +        srcdirname = os.path.basename(os.path.normpath(srcsubdir))
> >          local_files = [fname for fname in local_files if
> > -                       os.path.exists(os.path.join(workdir, fname))]
> > +                       os.path.exists(os.path.join(workdir, fname)) and
> > +                       srcdirname not in fname]
> 
> This seems likely to false-trigger quite easily - you're only looking for the 
> basename and whether it appears anywhere in the path rather than at the start. 
> I'd suggest getting the absolute path to the source directory and check if it 
> starts with that (I think that's how I dealt with that elsewhere).

Ah okay, I think I see what you're saying. I'll fix this and
resubmit.

> 
> Cheers,
> Paul
> 
> -- 
> 
> Paul Eggleton
> Intel Open Source Technology Centre


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2016-10-02 23:54 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-02 20:55 [PATCH] devtool: modify command fails to ignore source files Stephano Cetola
2016-10-02 22:40 ` Paul Eggleton
2016-10-02 23:54   ` Stephano Cetola

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox