[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: task packages support in debian-cd



On Tue, Mar 01, 2011 at 12:29:47PM -0400, Joey Hess wrote:
>I mailed about this before, but I can be a bit more concrete now since a
>tasksel using task packages is in BYHAND waiting to get into
>experimental.

OK, cool.

>These task packages each Depend on what used to be called the "Key"
>packages of a task. And they tend to Recommend a lot of other packages.
>
>So, it will be important that debian-cd attempts to install the Recommends
>of task-* packages that it puts on the CD. Ideally, it should put the
>task on the CD, put all its Depends on the CD, and then attempt to put
>all its Recommends on the CD. (Whether to put transative Recommends on
>is up to you. Probably they should be considered lesser priority than
>direct Recommends.) If the Recommends don't all fit, it would still make
>sense to include the task package on the CD.

Hmmm, OK. That'll be *interesting* to code. Should we:

 1. fit all tasks in order (Depends then Recommends), placing all of
    each one before going on to the next (i.e. depth-first); or

 2. fit all the Depends from each task, then go back and restart with
    the Recommends (breadth-first) ?

>I don't know what method is used now. Maybe it currently puts all
>listed packages and Depends on the CD, and only tries to fill in
>Recommends at the end, if there is extra space. That's not the right
>approach for task packages; including a Recommends of task-gnome-desktop
>is more important than including some less important task.

Right, so you mean #1 above. My initial way would be something like
#1, basically because it's easiest to code, BUT: the normal dependency
following code will only place the task package *itself* on the CD iff
all of the Depends and Recommends have already been placed there. We'd
have to add special case code for the task packages if we want to
change that.

>BTW, I hope this will make it a lot easier to check what tasks fit on
>the CD, since we can just look to see where task-* ends up.

And this suggests that we probably *shouldn't* do that special casing,
in fact.

If I understand you correctly, the main thing we have to do to achieve
what we need is to switch *on* inclusion of Recommends: for our
builds.

In terms of the transitive Recommends, again it would be much easier
to simply include them down the package chain. We don't have a concept
of priority in debian-cd per se, just some simple decision making code
to sort by dependencies from the input package list.

Now... turning on Recommends all over *is* going to hurt in terms of
fitting things on CDs. I'll turn it on now and do a test build, then
we can see by how much.

-- 
Steve McIntyre, Cambridge, UK.                                steve@einval.com
"Because heaters aren't purple!" -- Catherine Pitt


Reply to: