Re: [yocto] [PATCH] devtool: add clean command

2017-10-25 Thread Paul Eggleton
On Thursday, 26 October 2017 11:51:07 AM NZDT Paul Eggleton wrote:
> Hi Josef,
> 
> Looks good, just a couple of minor tweaks to be made:
> 
> On Thursday, 26 October 2017 1:20:39 AM NZDT Josef Holzmayr wrote:
> > Add an idiomatic way to devtool to clean a recipe.
> 
> It would be worth noting that this is particularly important within the eSDK 
> because you can't run bitbake -c clean directly there.
> 
> > Signed-off-by: Josef Holzmayr 
> > ---
> >  scripts/lib/devtool/clean.py | 48 +++
++
> +++
> >  1 file changed, 48 insertions(+)
> >  create mode 100644 scripts/lib/devtool/clean.py
> > 
> > diff --git a/scripts/lib/devtool/clean.py b/scripts/lib/devtool/clean.py
> > new file mode 100644
> > index 000..30f4044
> > --- /dev/null
> > +++ b/scripts/lib/devtool/clean.py
> > @@ -0,0 +1,48 @@
> > +# Development tool - clean command plugin
> > +#
> > +# Copyright (C) 2014-2015 Intel Corporation
> > +#   2017 R-S-I Elektrotechnik GmbH & Co. KG
> > +#
> > +# This program is free software; you can redistribute it and/or modify
> > +# it under the terms of the GNU General Public License version 2 as
> > +# published by the Free Software Foundation.
> > +#
> > +# This program is distributed in the hope that it will be useful,
> > +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> > +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> > +# GNU General Public License for more details.
> > +#
> > +# You should have received a copy of the GNU General Public License along
> > +# with this program; if not, write to the Free Software Foundation, Inc.,
> > +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
> > +"""Devtool clean plugin"""
> > +
> > +import bb
> > +from devtool import exec_build_env_command, check_workspace_recipe
> > +
> > +def _get_build_tasks(config):
> 
> This function should really be called "_get_clean_tasks".

I didn't notice until I hit send but this patch should go to the oe-core list, 
if you could send v2 there that would be great.

Thanks,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


Re: [yocto] [PATCH] devtool: add clean command

2017-10-25 Thread Paul Eggleton
Hi Josef,

Looks good, just a couple of minor tweaks to be made:

On Thursday, 26 October 2017 1:20:39 AM NZDT Josef Holzmayr wrote:
> Add an idiomatic way to devtool to clean a recipe.

It would be worth noting that this is particularly important within the eSDK 
because you can't run bitbake -c clean directly there.

> Signed-off-by: Josef Holzmayr 
> ---
>  scripts/lib/devtool/clean.py | 48 +
+++
>  1 file changed, 48 insertions(+)
>  create mode 100644 scripts/lib/devtool/clean.py
> 
> diff --git a/scripts/lib/devtool/clean.py b/scripts/lib/devtool/clean.py
> new file mode 100644
> index 000..30f4044
> --- /dev/null
> +++ b/scripts/lib/devtool/clean.py
> @@ -0,0 +1,48 @@
> +# Development tool - clean command plugin
> +#
> +# Copyright (C) 2014-2015 Intel Corporation
> +#   2017 R-S-I Elektrotechnik GmbH & Co. KG
> +#
> +# This program is free software; you can redistribute it and/or modify
> +# it under the terms of the GNU General Public License version 2 as
> +# published by the Free Software Foundation.
> +#
> +# This program is distributed in the hope that it will be useful,
> +# but WITHOUT ANY WARRANTY; without even the implied warranty of
> +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> +# GNU General Public License for more details.
> +#
> +# You should have received a copy of the GNU General Public License along
> +# with this program; if not, write to the Free Software Foundation, Inc.,
> +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
> +"""Devtool clean plugin"""
> +
> +import bb
> +from devtool import exec_build_env_command, check_workspace_recipe
> +
> +def _get_build_tasks(config):

This function should really be called "_get_clean_tasks".

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre
-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto


[yocto] [PATCH] devtool: add clean command

2017-10-25 Thread Josef Holzmayr
Add an idiomatic way to devtool to clean a recipe.

Signed-off-by: Josef Holzmayr 
---
 scripts/lib/devtool/clean.py | 48 
 1 file changed, 48 insertions(+)
 create mode 100644 scripts/lib/devtool/clean.py

diff --git a/scripts/lib/devtool/clean.py b/scripts/lib/devtool/clean.py
new file mode 100644
index 000..30f4044
--- /dev/null
+++ b/scripts/lib/devtool/clean.py
@@ -0,0 +1,48 @@
+# Development tool - clean command plugin
+#
+# Copyright (C) 2014-2015 Intel Corporation
+#   2017 R-S-I Elektrotechnik GmbH & Co. KG
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License version 2 as
+# published by the Free Software Foundation.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+"""Devtool clean plugin"""
+
+import bb
+from devtool import exec_build_env_command, check_workspace_recipe
+
+def _get_build_tasks(config):
+tasks = config.get('Clean', 'clean_task', 'clean').split(',')
+return ['do_%s' % task.strip() for task in tasks]
+
+def clean(args, config, basepath, workspace):
+"""Entry point for the devtool 'clean' subcommand"""
+
+build_tasks = _get_build_tasks(config)
+try:
+bbargs = []
+for task in build_tasks:
+bbargs.append('%s:%s' % (args.recipename, task))
+exec_build_env_command(config.init_path, basepath, 'bitbake %s' % ' 
'.join(bbargs), watch=True)
+except bb.process.ExecutionError as e:
+# We've already seen the output since watch=True, so just ensure we 
return something to the user
+return e.exitcode
+
+return 0
+
+def register_commands(subparsers, context):
+"""Register devtool subcommands from this plugin"""
+parser_build = subparsers.add_parser('clean', help='Clean a recipe',
+ description='Cleans the specified 
recipe using bitbake',
+ group='working', order=50)
+parser_build.add_argument('recipename', help='Recipe to clean')
+parser_build.set_defaults(func=clean)
-- 
2.7.4


-- 
_
R-S-I Elektrotechnik GmbH & Co. KG
Woelkestrasse 11
D-85301 Schweitenkirchen
Fon: +49 8444 9204-0
Fax: +49 8444 9204-50
www.rsi-elektrotechnik.de

_
Amtsgericht Ingolstadt - GmbH: HRB 191328 - KG: HRA 170363
Geschäftsführer: Dr.-Ing. Michael Sorg, Dipl.-Ing. Franz Sorg
USt-IdNr.: DE 128592548

-- 
___
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto