<p dir="ltr"><br>
On Nov 12, 2015 8:17 AM, &quot;Josh Boyer&quot; &lt;<a href="mailto:jwboyer@fedoraproject.org">jwboyer@fedoraproject.org</a>&gt; wrote:<br>
&gt;<br>
&gt; On Thu, Nov 12, 2015 at 11:07 AM, Andrew Lutomirski &lt;<a href="mailto:luto@mit.edu">luto@mit.edu</a>&gt; wrote:<br>
&gt; &gt;<br>
&gt; &gt; On Nov 12, 2015 7:21 AM, &quot;Josh Boyer&quot; &lt;<a href="mailto:jwboyer@fedoraproject.org">jwboyer@fedoraproject.org</a>&gt; wrote:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; On Thu, Nov 12, 2015 at 10:16 AM, Andrew Lutomirski &lt;<a href="mailto:luto@mit.edu">luto@mit.edu</a>&gt; wrote:<br>
&gt; &gt;&gt; &gt;<br>
&gt; &gt;&gt; &gt; I think that Bodhi should arrange, at least by default, to push things<br>
&gt; &gt;&gt; &gt; in<br>
&gt; &gt;&gt; &gt; the correct order.  Whether that means that karma is required separately<br>
&gt; &gt;&gt; &gt; for<br>
&gt; &gt;&gt; &gt; each branch is an orthogonal issue, except insofar as allowing karma<br>
&gt; &gt;&gt; &gt; from<br>
&gt; &gt;&gt; &gt; one branch to carry over to another would also require Bodhi to track<br>
&gt; &gt;&gt; &gt; that<br>
&gt; &gt;&gt; &gt; two updates are the same thing but just to different branches.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Two updates in separate branches are never the same thing.  They may<br>
&gt; &gt;&gt; be the same version of the specific package, but there is no guarantee<br>
&gt; &gt;&gt; that:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; a) they were built with the same toolchain<br>
&gt; &gt;&gt; b) they were built with the same configuration options<br>
&gt; &gt;&gt; c) they were built for the same reasons<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; While it would be convenient for developers to tell bodhi they are the<br>
&gt; &gt;&gt; same, it&#39;s a lie we all tell ourselves.  I don&#39;t think we should code<br>
&gt; &gt;&gt; our update tool to lie.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; &gt; At the very least, Bodhi should *not* push to F22 due to autokarma until<br>
&gt; &gt;&gt; &gt; F23<br>
&gt; &gt;&gt; &gt; stable is requested.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; I certainly agree with this in principle, but it would force<br>
&gt; &gt;&gt; everything (including rawhide composes) to be serial and the slowdown<br>
&gt; &gt;&gt; would be significant.<br>
&gt; &gt;&gt;<br>
&gt; &gt;<br>
&gt; &gt; I&#39;m a bit confused.  Wouldn&#39;t rawhide be unaffected because rawhide can<br>
&gt; &gt; always have newer versions without breaking the upgrade path?  It&#39;s only the<br>
&gt; &gt; old branch (currently F22) that would be slower, no?<br>
&gt;<br>
&gt; If you are truly protecting upgrade paths in the manner which you<br>
&gt; suggested, you would have to do them in this order:<br>
&gt;<br>
&gt; rawhide, f23, f22, f21, &lt;repeat&gt;<br>
&gt;<br>
&gt; so that updates to f23 do not break the upgrade path to rawhide.<br>
&gt;<br>
&gt; Complicating things even more is that as a release grows older, the<br>
&gt; compose time for its updates repository also grows longer.  The more<br>
&gt; updates, the more to compose.  Which means that from a time<br>
&gt; perspective you might still be composing the oldest release (f21 in<br>
&gt; this example) when it&#39;s time to start the next day&#39;s rawhide and now<br>
&gt; you cannot.  You lose the predictability of rawhide.<br>
&gt;<br>
&gt; If we ignore rawhide and focus only on stable releases, your<br>
&gt; suggestion becomes more feasible.  I&#39;m not really sure it&#39;s worth it<br>
&gt; in the long run though.  From a practical standpoint, serializing<br>
&gt; everything to protect upgrade path isn&#39;t really a solution to a<br>
&gt; prevalent problem.  The newer release (containing the equivalent<br>
&gt; package update) will complete typically within a few hours of the<br>
&gt; older release, and with mirror synchronization time taken into account<br>
&gt; it isn&#39;t usually a major issue.</p>
<p dir="ltr">Fair enough.</p>
<p dir="ltr">We could start with a much more modest variant, though: ignore compose and just make autokarma pushes to any repo depend on the same or newer NVR being either pushed *or requested* for all the newer branches.  That would avoid multi-day issues.</p>
<p dir="ltr">--Andy</p>
<p dir="ltr">&gt;<br>
&gt; josh<br>
&gt; --<br>
&gt; devel mailing list<br>
&gt; <a href="mailto:devel@lists.fedoraproject.org">devel@lists.fedoraproject.org</a><br>
&gt; <a href="https://admin.fedoraproject.org/mailman/listinfo/devel">https://admin.fedoraproject.org/mailman/listinfo/devel</a><br>
&gt; Fedora Code of Conduct: <a href="http://fedoraproject.org/code-of-conduct">http://fedoraproject.org/code-of-conduct</a></p>