<div dir="ltr">Daniel, agreed that lp:mir is release, and will only ever be what's in archive and the touch images. But what kdub is saying, is that we do want lp:mir/devel to reflect proper versioning as it relates to coordinating builds of unity-mir, platform-api, unity-system-compositor, and xorg-server against it. Doing so in such a way that we can achieve 2 things, first a nice catch for accidental ABI breaks (or even API breaks), and second an always reliable tip build with all those components. <div>
Not only for our own debug but sometimes others will help verify something but they need a set of packages to do so (e.g. QA helped by testing some android screencasting, not yet in archive)</div><div><br></div><div>br,kg </div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Mar 11, 2014 at 8:30 PM, Daniel van Vugt <span dir="ltr"><<a href="mailto:daniel.van.vugt@canonical.com" target="_blank">daniel.van.vugt@canonical.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Aside from PPAs for experimentation and internal development testing, I don't think there should ever be "packages made from lp:mir/devel". Even a minor point release should be built from lp:mir. Anything that could hit archive will always do so via lp:mir.<div class="">
<br>
<br>
<br>
On 12/03/14 06:36, Kevin DuBois wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">
I think this proposal is sensible, and its a good improvement to the way<br>
we have to build the stack from lp:mir/devel.<br>
<br>
If we get a bug that's filed against unity, but the bug is in mir<br>
libraries, I find most of the time in solving the bug is spent building<br>
the stack to verify that the bug is fixed. Hopefully being keeping track<br>
of when things break will ease some branch-chasing.<br>
<br>
We should figure out a way to auto-bump the debian/changelog when<br>
branches land so the packages made from lp:mir/devel have accurate<br>
versioning. This might take some tinkering with the jenkins scripts to<br>
designate each branch as a abi-breaking or not.<br>
<br>
Kevin<br>
<br>
<br>
<br>
On Mon, Mar 10, 2014 at 7:20 PM, Daniel van Vugt<br></div>
<<a href="mailto:daniel.van.vugt@canonical.com" target="_blank">daniel.van.vugt@canonical.com</a> <mailto:<a href="mailto:daniel.van.vugt@canonical.com" target="_blank">daniel.van.vugt@<u></u>canonical.com</a>>><div>
<div class="h5"><br>
wrote:<br>
<br>
Yeah the removal of "configure_output" coming in Mir 0.1.7 is a good<br>
example. As I did that, I will document it thoroughly in the release<br>
notes of 0.1.7.<br>
<br>
Accelerating the building of branches (as I hear racarr is working<br>
on) is good. But it means you're still building code for multiple<br>
projects. What I'm suggesting in this thread is how to remove the<br>
variable of having to rebuild at all.<br>
<br>
If unity-mir is built against Mir 1.2.3 today then it should have<br>
the confidence that upgrading to Mir 1.2.7 will not require any<br>
rebuild. Having an understanding in place as to what the Mir version<br>
number /means/ will help us to avoid some (maybe most) rebuilds,<br>
which of course would be dramatically more efficient.<br>
<br>
- Daniel<br>
<br>
<br>
<br>
On 10/03/14 23:52, Kevin Gunn wrote:<br>
<br>
I'm +1 in general on the proposal.<br>
The only thing I would correct is expectations. I think what we've<br>
proven over the last several months is that we do actually<br>
require ABI<br>
update for the server more weekly than monthly.<br>
<br>
Also, we have become fairly disciplined at bumping the server<br>
.so name<br>
on the dev branch at the point of breaking ABI or API. Which is<br>
extremely helpful, speaking as the person designated to ride the "CI<br>
train" at the moment. However, we had one sneak in recently...from<br>
memory, configure_output removed.<br>
<br>
I think the more important problem to solve for the team is to<br>
have a<br>
centralized/remote way of building the latest dev branch +<br>
updated known<br>
dependent components (unity-mir, platform-api,<br></div></div>
unity-system-compositor...__<u></u>note, i'm leaving out xorg-server<div><div class="h5"><br>
atm since<br>
its only client api). Not only for folks to be able to easily test<br>
cooperative features that might span say mir & unity-mir, but to<br>
also<br>
catch the accidental server break.<br>
<br>
I've been wrestling with using launchpad ppa, which I just want<br>
to share<br>
has some idiosyncrasies not readily apparent. First, if you just<br>
use the<br>
launchpad ppa builders as is, you are built on a virtualized hardy<br>
kernel - so you have to ask to be non-virtualized from webops.<br>
Second,<br>
if you run our Mir android integration tests they fail due to<br>
lacking<br>
access to the gl drivers. So the ppa builders aren't quite the<br>
same as<br>
the builders on our "dev branch ci runs" - however more similar<br>
to our<br>
"ci train" silo builds.<br>
<br>
In parallel to me trying to get a ppa working for mir-dev,<br>
unity-mir,<br>
platform-api, & unity-system-compositor. I think Robert was going to<br>
chase a solution to do this with our jenkins jobs used on our<br>
dev-branch. And, I hope he beats me in that race :) as the<br>
jenkins runs<br>
have the android driver capability.<br>
<br>
br,kg<br>
<br>
<br>
<br>
On Sun, Mar 9, 2014 at 10:58 PM, Daniel van Vugt<br>
<<a href="mailto:daniel.van.vugt@canonical.com" target="_blank">daniel.van.vugt@canonical.com</a><br>
<mailto:<a href="mailto:daniel.van.vugt@canonical.com" target="_blank">daniel.van.vugt@<u></u>canonical.com</a>><br></div></div>
<mailto:<a href="mailto:daniel.van.vugt@" target="_blank">daniel.van.vugt@</a>__<a href="http://canonical.com" target="_blank">cano<u></u>nical.com</a><div><div class="h5"><br>
<mailto:<a href="mailto:daniel.van.vugt@canonical.com" target="_blank">daniel.van.vugt@<u></u>canonical.com</a>>>><br>
<br>
wrote:<br>
<br>
A nice clean way to approach this is to designate Mir version<br>
numbers like this (partly based on the current patterns):<br>
<br>
0.1.7 Bug fixes<br>
0.1.8 Bug fixes<br>
0.2.0 Server ABI bump / bug fixes<br>
0.2.1 Bug fixes<br>
0.2.2 Bug fixes<br>
0.2.3 Bug fixes<br>
0.3.0 Server ABI bump / bug fixes<br>
0.3.1 Bug fixes<br>
1.0.0 Client ABI bump / server ABI bump / bug fixes<br>
<br>
"Bug fixes" can also include any enhancements which don't<br>
break the<br>
ABIs. So effectively a Mir version number would become:<br>
<br>
MIR_VERSION = CLIENT_ABI . SERVER_ABI_DECIMAL . FIX_REVISION<br>
SERVER_ABI = CLIENT_ABI . SERVER_ABI_DECIMAL<br>
<br>
This means the expected frequency (which I think is<br>
realistic) would be:<br>
<br>
Bug fixes: Very regularly (daily/weekly)<br>
Server ABI change: Less regular (one or two per month, to limit<br>
package rebuild pain).<br>
Client ABI change: Very seldom, none planned.<br>
<br>
This is actually quite a simple plan to implement. We don't<br>
have any<br>
client ABI changes on the horizon just yet, but when we do<br>
that can<br>
form the basis of choosing "1.0.0".<br>
<br>
- Daniel<br>
<br>
<br>
On 07/03/14 14:42, Daniel van Vugt wrote:<br>
<br>
I notice how non-trivial it is to update all the projects,<br>
rebuilds and<br>
packages every time we need to integrate a new Mir<br>
release into<br>
touch.<br>
<br>
But we could make this much easier if the Mir team<br>
consciously<br>
separated<br>
ABI-break releases from smaller (and more frequent) minor<br>
releases. This<br>
would allow us to install most smaller Mir releases without<br>
having to<br>
update any other projects/packages. It just requires a<br>
little<br>
planning<br>
by the Mir team to somehow "save up" and separate<br>
ABI-changing<br>
proposals. I think the trouble might be worthwhile for the<br>
benefit we'd<br>
get in being able to do instant system integration<br>
testing on<br>
touch images.<br>
<br>
For example, given we roughly do a Mir release every<br>
2-3 weeks<br>
now, we<br>
could instead do:<br>
<br>
A minor release more often, every week or so (no ABI<br>
changes).<br>
A larger release (ABI break) with more intrusive<br>
changes less often<br>
(like monthly?).<br>
<br>
- Daniel<br>
<br>
<br>
--<br>
Mir-devel mailing list<br>
<a href="mailto:Mir-devel@lists.ubuntu.com" target="_blank">Mir-devel@lists.ubuntu.com</a> <mailto:<a href="mailto:Mir-devel@lists.ubuntu.com" target="_blank">Mir-devel@lists.<u></u>ubuntu.com</a>><br></div>
</div>
<mailto:<a href="mailto:Mir-devel@lists." target="_blank">Mir-devel@lists.</a>__<a href="http://ubuntu.com" target="_blank">ubun<u></u>tu.com</a><div class=""><br>
<mailto:<a href="mailto:Mir-devel@lists.ubuntu.com" target="_blank">Mir-devel@lists.<u></u>ubuntu.com</a>>><br>
<br>
Modify settings or unsubscribe at:<br></div>
<a href="https://lists.ubuntu.com/____mailman/listinfo/mir-devel" target="_blank">https://lists.ubuntu.com/____<u></u>mailman/listinfo/mir-devel</a><br>
<<a href="https://lists.ubuntu.com/__mailman/listinfo/mir-devel" target="_blank">https://lists.ubuntu.com/__<u></u>mailman/listinfo/mir-devel</a>><div class=""><br>
<<a href="https://lists.ubuntu.com/__mailman/listinfo/mir-devel" target="_blank">https://lists.ubuntu.com/__<u></u>mailman/listinfo/mir-devel</a><br>
<<a href="https://lists.ubuntu.com/mailman/listinfo/mir-devel" target="_blank">https://lists.ubuntu.com/<u></u>mailman/listinfo/mir-devel</a>>><br>
<br>
<br>
<br>
--<br>
Mir-devel mailing list<br>
<a href="mailto:Mir-devel@lists.ubuntu.com" target="_blank">Mir-devel@lists.ubuntu.com</a> <mailto:<a href="mailto:Mir-devel@lists.ubuntu.com" target="_blank">Mir-devel@lists.<u></u>ubuntu.com</a>><br>
Modify settings or unsubscribe at:<br>
<a href="https://lists.ubuntu.com/__mailman/listinfo/mir-devel" target="_blank">https://lists.ubuntu.com/__<u></u>mailman/listinfo/mir-devel</a><br>
<<a href="https://lists.ubuntu.com/mailman/listinfo/mir-devel" target="_blank">https://lists.ubuntu.com/<u></u>mailman/listinfo/mir-devel</a>><br>
<br>
<br>
</div></blockquote><div class="HOEnZb"><div class="h5">
<br>
-- <br>
Mir-devel mailing list<br>
<a href="mailto:Mir-devel@lists.ubuntu.com" target="_blank">Mir-devel@lists.ubuntu.com</a><br>
Modify settings or unsubscribe at: <a href="https://lists.ubuntu.com/mailman/listinfo/mir-devel" target="_blank">https://lists.ubuntu.com/<u></u>mailman/listinfo/mir-devel</a><br>
</div></div></blockquote></div><br></div>