<div dir="ltr">OK, should I update all currently PNBLACKLISTed recipes to add &quot; - the recipe will be removed on 2017-09-01 unless the issue is fixed&quot; in the PNBLACKLIST value, so that we can delete all blacklisted recipes before 2.4 release?</div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 24, 2017 at 9:39 PM, Philip Balister <span dir="ltr">&lt;<a href="mailto:philip@balister.org" target="_blank">philip@balister.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 02/24/2017 01:16 AM, Martin Jansa wrote:<br>
&gt;&gt; If nobody speaks up within some<br>
&gt; amount of time the maintainer considers reasonable (I&#39;m thinking a Yocto<br>
&gt; release<br>
&gt; cycle) then it&#39;s fair game to remove the recipe in question.<br>
&gt;<br>
&gt; Maybe this is different case with at least some PNBLACKLIST entries we<br>
&gt; currently have, but<br>
&gt; I don&#39;t remove PNBLACKLISTed recipes, because as we discussed it&#39;s always<br>
&gt; easier to unblacklist<br>
&gt; recipe from e.g. DISTRO config if the issue doesn&#39;t affect you for whatever<br>
&gt; reason and causes<br>
&gt; less churn in the metadata when it gets unblacklisted.<br>
&gt;<br>
&gt; And many PNBLACKLISTed recipes are also abandonware.<br>
&gt;<br>
<br>
</span>I think we need to use a different &quot;flag&quot; for recipes that need<br>
updating, and have maintained upstreams from recipes that have upstreams<br>
that are abandoned.<br>
<br>
So blacklist broken recipes with good upstreams and deprecate recipes<br>
with dead upstreams.<br>
<span class="HOEnZb"><font color="#888888"><br>
Philip<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
<br>
&gt; So my question is, if we will remove PNDEPRECATed recipes after one cycle,<br>
&gt; should we start<br>
&gt; removing PNBLACKLISTed recipes as well (maybe after 2 cycles?). In both<br>
&gt; cases it might backfire<br>
&gt; when someone will fail to find recipe for his favorite abandonware and will<br>
&gt; try to add completely<br>
&gt; new recipe for it, or we see someone restoring these recipes (e.g. in own<br>
&gt; layers instead of fixing<br>
&gt; the PNBLACKLIST/PNDEPRECATED reasons in original layer).<br>
&gt;<br>
&gt; On Fri, Feb 24, 2017 at 5:55 AM, Khem Raj &lt;<a href="mailto:raj.khem@gmail.com">raj.khem@gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt;<br>
&gt;&gt; On Thu, Feb 23, 2017 at 8:00 PM Joe MacDonald &lt;<a href="mailto:joe_macdonald@mentor.com">joe_macdonald@mentor.com</a>&gt;<br>
&gt;&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt;&gt; Based on the blacklist behaviour, recipes can be tagged as deprecated.<br>
&gt;&gt;&gt; Such recipes will produce a warning message when included in a build but<br>
&gt;&gt;&gt; unlike blacklisted recipes, the build will continue.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Perhaps this should also be documented in manuals<br>
&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Signed-off-by: Joe MacDonald &lt;<a href="mailto:joe_macdonald@mentor.com">joe_macdonald@mentor.com</a>&gt;<br>
&gt;&gt;&gt; ---<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I threw this together a long time ago and never got around to sending it<br>
&gt;&gt;&gt; out for<br>
&gt;&gt;&gt; consideration, but after the excitement last week and this, I got<br>
&gt;&gt;&gt; thinking about<br>
&gt;&gt;&gt; it again and thought it might be useful.  My specific use-case for this is<br>
&gt;&gt;&gt; recipes I see in meta-networking that I know are largely abandonware but<br>
&gt;&gt;&gt; that I<br>
&gt;&gt;&gt; don&#39;t want to completely throw out without giving some kind of heads up.<br>
&gt;&gt;&gt; Obviously this is purely informational, there&#39;s no mechanism set up for<br>
&gt;&gt;&gt; purging<br>
&gt;&gt;&gt; deprecated recipes, that&#39;s intended to be a maintainer activity, but the<br>
&gt;&gt;&gt; idea<br>
&gt;&gt;&gt; would be that the maintainer would flag a recipe as deprecated (probably<br>
&gt;&gt;&gt; when<br>
&gt;&gt;&gt; it&#39;s become more trouble than it seems to be worth) and thereafter users<br>
&gt;&gt;&gt; would<br>
&gt;&gt;&gt; have fair warning that this thing is on notice.  If nobody speaks up<br>
&gt;&gt;&gt; within some<br>
&gt;&gt;&gt; amount of time the maintainer considers reasonable (I&#39;m thinking a Yocto<br>
&gt;&gt;&gt; release<br>
&gt;&gt;&gt; cycle) then it&#39;s fair game to remove the recipe in question.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;  meta/classes/deprecated.<wbr>bbclass    | 16 ++++++++++++++++<br>
&gt;&gt;&gt;  meta/conf/distro/defaultsetup.<wbr>conf |  3 ++-<br>
&gt;&gt;&gt;  2 files changed, 18 insertions(+), 1 deletion(-)<br>
&gt;&gt;&gt;  create mode 100644 meta/classes/deprecated.<wbr>bbclass<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; diff --git a/meta/classes/deprecated.<wbr>bbclass b/meta/classes/deprecated.<br>
&gt;&gt;&gt; bbclass<br>
&gt;&gt;&gt; new file mode 100644<br>
&gt;&gt;&gt; index 0000000..3dcdadb<br>
&gt;&gt;&gt; --- /dev/null<br>
&gt;&gt;&gt; +++ b/meta/classes/deprecated.<wbr>bbclass<br>
&gt;&gt;&gt; @@ -0,0 +1,16 @@<br>
&gt;&gt;&gt; +# To use the deprecated recipe check, a distribution should<br>
&gt;&gt;&gt; +# include this class in the INHERIT_DISTRO<br>
&gt;&gt;&gt; +#<br>
&gt;&gt;&gt; +# Features:<br>
&gt;&gt;&gt; +#<br>
&gt;&gt;&gt; +# * To add a package to the deprecated list, set:<br>
&gt;&gt;&gt; +#   PNDEPRECATED[pn] = &quot;message&quot;<br>
&gt;&gt;&gt; +#<br>
&gt;&gt;&gt; +<br>
&gt;&gt;&gt; +addtask check_deprecated before do_fetch<br>
&gt;&gt;&gt; +python do_check_deprecated () {<br>
&gt;&gt;&gt; +    deprecated = d.getVarFlag(&#39;PNDEPRECATED&#39;, d.getVar(&#39;PN&#39;, True),<br>
&gt;&gt;&gt; False)<br>
&gt;&gt;&gt; +<br>
&gt;&gt;&gt; +    if deprecated:<br>
&gt;&gt;&gt; +        bb.warn(&quot;Recipe is deprecated: &quot;, (deprecated))<br>
&gt;&gt;&gt; +}<br>
&gt;&gt;&gt; diff --git a/meta/conf/distro/<wbr>defaultsetup.conf b/meta/conf/distro/<br>
&gt;&gt;&gt; defaultsetup.conf<br>
&gt;&gt;&gt; index ca2f917..16ece3a 100644<br>
&gt;&gt;&gt; --- a/meta/conf/distro/<wbr>defaultsetup.conf<br>
&gt;&gt;&gt; +++ b/meta/conf/distro/<wbr>defaultsetup.conf<br>
&gt;&gt;&gt; @@ -20,5 +20,6 @@ CACHE = &quot;${TMPDIR}/cache/${TCMODE}-${<wbr>TCLIBC}${@[&#39;&#39;,<br>
&gt;&gt;&gt; &#39;/&#39; + str(d.getVar(&#39;MACHINE&#39;<br>
&gt;&gt;&gt;  USER_CLASSES ?= &quot;&quot;<br>
&gt;&gt;&gt;  PACKAGE_CLASSES ?= &quot;package_ipk&quot;<br>
&gt;&gt;&gt;  INHERIT_BLACKLIST = &quot;blacklist&quot;<br>
&gt;&gt;&gt; +INHERIT_DEPRECATED = &quot;deprecated&quot;<br>
&gt;&gt;&gt;  INHERIT_DISTRO ?= &quot;debian devshell sstate license remove-libtool&quot;<br>
&gt;&gt;&gt; -INHERIT += &quot;${PACKAGE_CLASSES} ${USER_CLASSES} ${INHERIT_DISTRO}<br>
&gt;&gt;&gt; ${INHERIT_BLACKLIST}&quot;<br>
&gt;&gt;&gt; +INHERIT += &quot;${PACKAGE_CLASSES} ${USER_CLASSES} ${INHERIT_DISTRO}<br>
&gt;&gt;&gt; ${INHERIT_BLACKLIST} ${INHERIT_DEPRECATED}&quot;<br>
&gt;&gt;&gt; --<br>
&gt;&gt;&gt; 1.9.1<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; --<br>
&gt;&gt;&gt; ______________________________<wbr>_________________<br>
&gt;&gt;&gt; Openembedded-core mailing list<br>
&gt;&gt;&gt; <a href="mailto:Openembedded-core@lists.openembedded.org">Openembedded-core@lists.<wbr>openembedded.org</a><br>
&gt;&gt;&gt; <a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/<wbr>mailman/listinfo/openembedded-<wbr>core</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; ______________________________<wbr>_________________<br>
&gt;&gt; Openembedded-core mailing list<br>
&gt;&gt; <a href="mailto:Openembedded-core@lists.openembedded.org">Openembedded-core@lists.<wbr>openembedded.org</a><br>
&gt;&gt; <a href="http://lists.openembedded.org/mailman/listinfo/openembedded-core" rel="noreferrer" target="_blank">http://lists.openembedded.org/<wbr>mailman/listinfo/openembedded-<wbr>core</a><br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
</div></div></blockquote></div><br></div>