Re: Building d-i using wheezy-backports bits

2014-02-02 Thread Luca Capello
Hi there!

On Thu, 30 Jan 2014 15:39:59 +0100, Didier 'OdyX' Raboud wrote:
> Le jeudi, 30 janvier 2014, 02.51:48 Cyril Brulebois a écrit :
>> II. How to install a backported kernel
>> ==
>> (…)
>>  Now here's another way which doesn't look so scary:
>> 
>>  1) Make sure the kernel installation step still installs stable's
>> kernel (which might not be functional, but having it shouldn't
>> hurt; and not changing such critical code doesn't look too
>> bad…), and make sure it stores the package name somewhere for
>> later use.
>
> Sure. Having the stable kernel installed in all cases is definitely 
> good.

Fully agree, which is actually what I do IRL (the stable kernel is never
removed).  And then I realized that even on my laptop with sid, I always
keep the sid kernel installed, despite most of the time using the latest
experimental one ;-)

>> IV. How to maintain wheezy-backports compared to master
>> ===
>> 
>> Since master both gets kernel config updates (which we want for
>> backports) and many other irrelevant stuff, I'm a bit undecided on how
>> to keep track of wheezy-backports: either cherry-pick relevant stuff
>> from master; or merge regularly, reverting unnecessary bits. I would
>> tend to go with the former.
>
> It looks like a matter of intent: either we want "stable d-i + kernel 
> from backports + glue" or "testing d-i built against stable + kernel 
> from backports". The first is less risky for what d-i is concerned, 
> while the latter allows a wider testing of the jessie d-i… The latter is 
> what you have in your branch currently, no?

Interesting question: I was under the impression that we wanted Didier's
former, i.e. "stable d-i + kernel from backports + glue" at least
because we modify the least possible bits.  Which seems to me very
similar to the general rules for backports.

Thx, bye,
Gismo / Luca


signature.asc
Description: PGP signature


Re: Building d-i using wheezy-backports bits

2014-01-30 Thread Didier 'OdyX' Raboud
Hi Cyril,

Le jeudi, 30 janvier 2014, 02.51:48 Cyril Brulebois a écrit :
> as mentioned earlier this month, I had a little proof of concept for
> Paris Mini-DebConf 2014[1]. I've polished a few things, so here we go.
> 
>  1. https://lists.debian.org/debian-boot/2014/01/msg00239.html

Thanks for the report; your progress on that front is really awesome!

> I. How to build and run images
> ==
> 
> At least 2 source packages need updating:
> 
>  1. debian-installer, so that one can upload to wheezy-backports, and
> get extra bits set up, in order to pull the kernel and some kernel
> modules from wheezy-backports. You can find a few patches for this in
> my wheezy-backports-v3 branch:
> (…
> QUESTION: How to specify which extra bits to pull from
>   wheezy-backports?

The most logical place to store this information would be in build/pkg-
lists/, with either version specifiers ( lowmemcheck=1.40~bpo70+1 ) or 
target release specifiers ( lowmemcheck/wheezy-backports ). That's for 
storing the information; but that involves patching various tools. The 
first I've encountered was get-packages (patch attached).

As far as I could test, the attached patch is sufficient to allow either 
of the syntaxes in build/pkg-lists/ to build netboot-gtk on amd64.

(Now that's probably unrelated, but mini.iso fails on me with "Kernel 
panic - not syncing: No init found.")

>  2. net-retriever, which needs to pull regular bits from wheezy, and
> kernel module udebs from wheezy-backports. Unfortunately, contrary
> to the above, anna is used here, instead of apt. That means using an
> overlay (not self-contained) suite like wheezy-backports isn't
> possible by default.
> (…)
> I'm not yet convinced about “resolve conflicts with backports”
> vs. “resolve conflicts with stable”. 
> (…)
> QUESTION: Should we pick a different policy? If we were to pick a
>   handful of packages from backports, how to do that?
>   [Also, see above question.]

(Easier said than done, but) I would tend to think that making anna 
understand both of the above syntaxes would empower it most. Now, that's 
certainly quite a bunch of work and I think your approach of merging the 
Packages* files is good for now. As for conflicts resolution, I agree 
with your current "resolve conflicts with backports", given that most 
udebs are uploaded by -boot (meaning that udebs in backports are there 
for a reason).

The next step (as you wrote) would be to allow suite or version 
specifications to be consumed by the Packages* files merger, which is 
still quite easier than patching anna's resolver I guess.

> II. How to install a backported kernel
> ==
> (…)
>  Now here's another way which doesn't look so scary:
> 
>  1) Make sure the kernel installation step still installs stable's
> kernel (which might not be functional, but having it shouldn't
> hurt; and not changing such critical code doesn't look too
> bad…), and make sure it stores the package name somewhere for
> later use.

Sure. Having the stable kernel installed in all cases is definitely 
good.

> 2) Patch apt-setup so that wheezy-backports gets automatically
> enabled when such an installation medium is detected
>(e.g. /etc/udeb-backports-source exists).

That would be patching /usr/lib/apt-setup/generators/93backports to 
ignore apt-setup/services if the flagfile exists; patch attached.

> QUESTION: Is there any saner/more straightforward/better option here?
> 
> QUESTION: How do we make sure we pull the relevant patched packages at
> this point? (apt-setup comes to mind, ditto for the package possibly
> containing the finish-install script.)

Hrm. base-installer/library.sh 's pick_kernel makes sure that one gets 
the "currently running" kernel image installed. It might be easier to 
let that happen and _then_ make sure stable's kernel is installed… Note 
that it uses `apt-cache search "^linux-image"` in the target to find the 
needed packages…

I'm not navigating very easily through these installation steps, so I'll 
let someone else chime with better ideas here…

> IV. How to maintain wheezy-backports compared to master
> ===
> 
> Since master both gets kernel config updates (which we want for
> backports) and many other irrelevant stuff, I'm a bit undecided on how
> to keep track of wheezy-backports: either cherry-pick relevant stuff
> from master; or merge regularly, reverting unnecessary bits. I would
> tend to go with the former.

It looks like a matter of intent: either we want "stable d-i + kernel 
from backports + glue" or "testing d-i built against stable + kernel 
from backports". The first is less risky for what d-i is concerned, 
while the latter allows a wider testing of the jessie d-i… The latter is 
what you have in your branch currently, no?

As for maintaining the branches, I'd rather go for