Re: Helping with backports: linux-next, linux, linux-stable - a few enhancements

From: Luis R. Rodriguez
Date: Fri Sep 21 2012 - 12:25:11 EST


On Fri, Sep 21, 2012 at 1:16 AM, Greg Kroah-Hartman
<gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
> On Thu, Sep 20, 2012 at 03:45:46PM -0700, Luis R. Rodriguez wrote:
>> Greg, Stephen, Konstantin,
>>
>> so for the Linux backports project [0] we rely on a few git trees:
>>
>> * linux-next.git
>> * linux-stable.git
>> * linux.git
>>
>> The linux.git tree is required for RC releases. The linux-stable.git
>> tree for extraversion stable releases, and the linux-next.git tree for
>> daily snapshots. There is a trick for stable releases whereby we
>> accelerate the integration of pending-stable patches by cherry picking
>> them out of linux-next.git if the commit log entry has the
>> 'stable@xxxxxxxxxxxxxxx' on the commit log, and if the stable patch
>> does not apply we require the developers to provide a backport
>> compatible port. This trick works swell on linux-next.git for RC
>> release given that we can query for rc releases there as linux-next
>> carries them but linux-next.git does not carry extra version tags.
>> Additionally the requirement of linux.git is only there given that at
>> times there are delays between which linux-stable.git will not have an
>> RC release on it. I have a way to address all these issues, namely to
>> add linux.git as a remote for my local linux-stable tree, and also by
>> adding linux-stable as a local remote for my linux-next tree. Now, I
>> document how I resolve this for backport package consumers / builders
>> but it occurs to me perhaps we can simplify this if we had:
>>
>> * linux-next - pulling in linux-stable packs / tags
>> * a new linux-releases.git - which has both linux.git and
>> linux-stable pulled together through a cronjob
>>
>> Would this be reasonable to accommodate to help ease of use or shall
>> we just live with folks having to do the remote / local remote hacks?
>
> I pull the linux.git tree into linux-stable.git every few -rc releases,
> and as it's based on linux.git, it's really not a big deal.

Keyword: "few", which is fine for those who can / want to wait, in my
case I need them as they come.

> I don't see how pulling linux-stable into linux-next really helps anyone
> out, linux-stable is so far behind what is in linux-next it's not funny.

By pulling linux-stable into linux-next you get to be able to run
things like this from within linux-next:

git format-patch --grep="stable@xxxxxxxxxxxxxxx" -o
$PENDING_STABLE_DIR v3.5.4.. $MY_FILES

That is, from v3.5.4 up to that day's linux-next tag.

Without linux-stable linux-next does not get the v3.5.4 tags to allow
me / users of compat-drivers to do this. We do this to accelerate the
incorporation of stable pending-stable patches into a release based on
a stable extraversion release.

> But, if you really want it all in a single tree, can't you just do this
> with a few 'remote' markings in your git configuration file for the repo
> and do it locally if you want to?
>
> Otherwise I don't see the real question here.

Right, absolutely! Using a remote arrangements fixes this completely
for me. I alone can live happy doing what I do but since I have users
depending on using compat-drivers to make their own set of releases
and test things it means I have to get folks using compat-drivers to
also set up the same git remotes arrangements. That's fine but I'm
looking to simplify it if I can for users.

> confused probably due to a bad case of jet lag,

No problem :) I obviously could just push my own tree to do this as
well but as for linux-next pulling linux-stable it seemed a trusty
cronjob would be more trustworthy than me pushing stuff regularly.
Likewise for linux-stable pulling more regularly linux.

Luis
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/