[OE-core] [PATCH] deprecated.bbclass: Add a PNDEPRECATED variable for recipes

Khem Raj raj.khem at gmail.com
Fri Feb 24 04:55:40 UTC 2017


On Thu, Feb 23, 2017 at 8:00 PM Joe MacDonald <joe_macdonald at mentor.com>
wrote:

> Based on the blacklist behaviour, recipes can be tagged as deprecated.
> Such recipes will produce a warning message when included in a build but
> unlike blacklisted recipes, the build will continue.


Perhaps this should also be documented in manuals

>
>
> Signed-off-by: Joe MacDonald <joe_macdonald at mentor.com>
> ---
>
> I threw this together a long time ago and never got around to sending it
> out for
> consideration, but after the excitement last week and this, I got thinking
> about
> it again and thought it might be useful.  My specific use-case for this is
> recipes I see in meta-networking that I know are largely abandonware but
> that I
> don't want to completely throw out without giving some kind of heads up.
> Obviously this is purely informational, there's no mechanism set up for
> purging
> deprecated recipes, that's intended to be a maintainer activity, but the
> idea
> would be that the maintainer would flag a recipe as deprecated (probably
> when
> it's become more trouble than it seems to be worth) and thereafter users
> would
> have fair warning that this thing is on notice.  If nobody speaks up
> within some
> amount of time the maintainer considers reasonable (I'm thinking a Yocto
> release
> cycle) then it's fair game to remove the recipe in question.
>
>  meta/classes/deprecated.bbclass    | 16 ++++++++++++++++
>  meta/conf/distro/defaultsetup.conf |  3 ++-
>  2 files changed, 18 insertions(+), 1 deletion(-)
>  create mode 100644 meta/classes/deprecated.bbclass
>
> diff --git a/meta/classes/deprecated.bbclass
> b/meta/classes/deprecated.bbclass
> new file mode 100644
> index 0000000..3dcdadb
> --- /dev/null
> +++ b/meta/classes/deprecated.bbclass
> @@ -0,0 +1,16 @@
> +# To use the deprecated recipe check, a distribution should
> +# include this class in the INHERIT_DISTRO
> +#
> +# Features:
> +#
> +# * To add a package to the deprecated list, set:
> +#   PNDEPRECATED[pn] = "message"
> +#
> +
> +addtask check_deprecated before do_fetch
> +python do_check_deprecated () {
> +    deprecated = d.getVarFlag('PNDEPRECATED', d.getVar('PN', True), False)
> +
> +    if deprecated:
> +        bb.warn("Recipe is deprecated: ", (deprecated))
> +}
> diff --git a/meta/conf/distro/defaultsetup.conf
> b/meta/conf/distro/defaultsetup.conf
> index ca2f917..16ece3a 100644
> --- a/meta/conf/distro/defaultsetup.conf
> +++ b/meta/conf/distro/defaultsetup.conf
> @@ -20,5 +20,6 @@ CACHE = "${TMPDIR}/cache/${TCMODE}-${TCLIBC}${@['', '/'
> + str(d.getVar('MACHINE'
>  USER_CLASSES ?= ""
>  PACKAGE_CLASSES ?= "package_ipk"
>  INHERIT_BLACKLIST = "blacklist"
> +INHERIT_DEPRECATED = "deprecated"
>  INHERIT_DISTRO ?= "debian devshell sstate license remove-libtool"
> -INHERIT += "${PACKAGE_CLASSES} ${USER_CLASSES} ${INHERIT_DISTRO}
> ${INHERIT_BLACKLIST}"
> +INHERIT += "${PACKAGE_CLASSES} ${USER_CLASSES} ${INHERIT_DISTRO}
> ${INHERIT_BLACKLIST} ${INHERIT_DEPRECATED}"
> --
> 1.9.1
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core at lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20170224/1cbe9bbd/attachment-0002.html>


More information about the Openembedded-core mailing list