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