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

Joe MacDonald Joe_MacDonald at mentor.com
Mon Feb 27 13:50:14 UTC 2017


[Re: [OE-core] [PATCH] deprecated.bbclass: Add a PNDEPRECATED variable for recipes] On 17.02.24 (Fri 21:51) Martin Jansa wrote:

> OK, should I update all currently PNBLACKLISTed recipes to add " - the
> recipe will be removed on 2017-09-01 unless the issue is fixed" in the
> PNBLACKLIST value, so that we can delete all blacklisted recipes
> before 2.4 release?

I haven't seen any additional discussion on this yet but my personal
opinion on this is it seems reasonable to draw a line in the sand and
one that's quite far out.  I also expect that there'll be a flurry of
activity as the deadline draws close, so there's room for flexibility in
the drop-dead date, but that'd be a discretionary thing.  If we wanted
to be slightly less contentious, the wording could be 'may' rather than
'will' and then the message is "if it isn't fixed by this date, it's
fair game to be removed whenever someone gets around to it".

-J.

> 
> On Fri, Feb 24, 2017 at 9:39 PM, Philip Balister <philip at balister.org> wrote:
> 
>     On 02/24/2017 01:16 AM, Martin Jansa wrote:
>     >> 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.
>     >
>     > Maybe this is different case with at least some PNBLACKLIST entries we
>     > currently have, but
>     > I don't remove PNBLACKLISTed recipes, because as we discussed it's always
>     > easier to unblacklist
>     > recipe from e.g. DISTRO config if the issue doesn't affect you for
>     whatever
>     > reason and causes
>     > less churn in the metadata when it gets unblacklisted.
>     >
>     > And many PNBLACKLISTed recipes are also abandonware.
>     >
> 
>     I think we need to use a different "flag" for recipes that need
>     updating, and have maintained upstreams from recipes that have upstreams
>     that are abandoned.
> 
>     So blacklist broken recipes with good upstreams and deprecate recipes
>     with dead upstreams.
>    
>     Philip
>    
> 
> 
>     > So my question is, if we will remove PNDEPRECATed recipes after one
>     cycle,
>     > should we start
>     > removing PNBLACKLISTed recipes as well (maybe after 2 cycles?). In both
>     > cases it might backfire
>     > when someone will fail to find recipe for his favorite abandonware and
>     will
>     > try to add completely
>     > new recipe for it, or we see someone restoring these recipes (e.g. in own
>     > layers instead of fixing
>     > the PNBLACKLIST/PNDEPRECATED reasons in original layer).
>     >
>     > On Fri, Feb 24, 2017 at 5:55 AM, Khem Raj <raj.khem at gmail.com> wrote:
>     >
>     >>
>     >> 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
>     >>>
>     >>
>     >> --
>     >> _______________________________________________
>     >> Openembedded-core mailing list
>     >> Openembedded-core at lists.openembedded.org
>     >> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>     >>
>     >>
>     >
>     >
>     >
> 
> 

-- 
-Joe MacDonald.
:wq
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20170227/e05b3ce4/attachment-0002.sig>


More information about the Openembedded-core mailing list