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

explanations for debian-edu cd (IRC conversation)



Hi

Here is the log from a conversation between Petter and me on IRC 
(#debian-edu).
Please read it and see if you can follow Petter's explanations as they are 
needed for working with the debian-edu CD.
If somebody has some spare time we could also start to write a wiki page 
explaining the details.
Thanks Petter for the good explanation, it gave me some more hints though I 
have to try it for myself first :)
If you have any questions please answer to that thread.

Cheers
Steffen




10:59 < pere> white: do you find the cd build commit emails useful?  do you 
understand the content?
10:59 < white> pere: what about the mutltiseat packages?
11:00 < pere> multiseat need testing before I want it on the stable CD.
11:00 < white> you added a spacelist
11:00 < white> ok leaving multiseat in etch-test
11:01 < pere> a spacelist?
11:02 < white> yeah like showing the size of the packages or am i wrong?
11:02 < pere> ah, th cdspacelist files.  yes.  it shows sizes reserved on the 
CD for a package in the wishlist/task.
11:03 < white> ok
11:03 < pere> I've used it to remove non-vital packages.
11:03 < white> was that what you mean by the commit emails?
11:03 < pere> Combined with the sort-by-popcon lists, it tell us what is 
actually needed and in use.
11:03 < pere> white: yes.
11:04 < pere> one need to understand the cdspacelist to be able to add new 
packages to the CD.  it shows the consequences.
11:05 < white> which is the sort-by-popcon list?
11:06 < white> i don't really know if i am able to interprate the list in the 
right way, maybe a small description to the commits@ list would be useful
11:07 < pere> the sort-by-popcon list is in svn, and not commited with an 
email.  the changes were too large every day.
11:07 < pere> I'm not sure either, which is why I ask.
11:07 < pere> I should perhaps start a wiki page to explain it.
11:08 < white> like i see the space and i can see that the size is increasing, 
but i don't really understand the connection between adding a new package and 
this list
11:08 < white> of course if we are running out of space the packages doesn't 
fit on the cd
11:08 < white> but how can i read the list in the right way to get the needed 
information?
11:08 < pere> let me try to explain
11:09 < white> sure
11:09 < pere> there are three things affecting the packages going onto the CD.  
the hintfile (in build/CD-administraotr/, the tasks (in debian-ed/tasks/), 
and the exclude file (in b/CD-a/debian-cd.patch.
11:10 < pere> the first two are combined to make a ordered list of packages to 
put on the CD, in that order.
11:11 < pere> the packages listed in the hintfile is placed first on the Cd, 
and next the tasks are added, ordered by task and priority (depends first, 
then recommends and finally suggests).  the tasks are added in order too, so 
first all depends for common, networked, main-server, etc are inserted, then 
the recommends for the same tasks.
11:12 < pere> finally all the "other" tasks are added, like astronomy and 
math.
11:13 < pere> so to get a package on the CD, one can add a depends in one of 
the tasks, as long as that depend is added before the CD cutoff point, aka 
when no more packages make it into the Cd because it is full.
11:13 < pere> thus moving packages up in the standalone task will increase the 
chance of getting them on the CD, because the current cutoff point is just 
after quanta in that task.
11:15 < white> ah ok
11:15 < pere> but if the package is too big, like for example emacs21 (check 
out cdspacelist-etch-test.txt), it will not help to put it as a dependency 
ahead of quanta.
11:15 < pere> quanta is 5605 KiB, and the next package sane is 4970 KiB, while 
emacs21 needs 13151 KiB on the CD.
11:16 < pere> so to get emacs21 on the first CD, it would have to be placed 
ahead of kino (2907+6820+5605 > 13151) to fit.
11:17 < pere> and it would push kino, stopmotion and quanta into the second 
Cd.
11:17 < white> ah ok
11:18 < white> ah i found it
11:18 < white> like sane vim and so on are currently on cd2
11:18 < pere> to get sane and xsane on the first CD, we would have to throw 
out something using 6755 KiB on the CD.  So redusing the priority of 
stopmotion (for example by moving it behind xsane in the standalone task) 
would get sane on the Cd.
11:18 < pere> white: yes, everything after the CD 2 marker is on the second 
cd.
11:19 < white> hmm we just have to calculate :)
11:19 < pere> the predictions get complicated because of dependencies.  the 
first package using a dependency is assigned the cost of that dependency.
11:20 < white> ok i understand
11:20 < pere> so if two packages A and B depend on libC and placed on the C 
din that order, and you want to drop package A to save the space spent by it 
on the Cd, the real saving will be reduced because package B will still 
depend on libC and get the cost of that library assigned to it.
11:21 < pere> also, I have not mentioned the exclude file yet.
11:21 < white> these information should probably be stored in a wiki file
11:21 < pere> the exclude file include a list of packages we do not want on 
the first CD.  all those packages and their reverse-dependencies are kept out 
of the CD.  so inorwegian is kept out because ispell is excluded.
11:22 < pere> white: yes.  do you have time to edit it together?
11:22 < white> not before tomorrow
11:23 < white> maybe tomorrow afternoon (= tomorrow morning), because i have 
to finish an assignment :(
11:23 < pere> the exclude list is very important to get correct, because there 
is one mechanism at work we can not tune that well.  all packages with 
standard or higher priority in the debian archive are placed on the CD 
automatically.
11:23 < pere> white: ok.
11:23 < pere> perhaps post this conversation to the mailing list?
11:23 < white> good idea
11:23 < white> do you have a log or shall i send it?
11:23 < pere> all kernel packages have priority standard or higher, so if we 
are not careful, the CD will fill up with multiple kernel versions.
11:24 < pere> I do not have a log.
11:24 < white> ok
11:24 < pere> when I started looking at the CD build last weekend, the first 
thing I did was to look at the cdspacelist, find all the kernel packages we 
do not want (this include kernel module udebs), and put them on the exclude 
list.  this gave us ~200 MiB of space to use on the CD.
11:25 < pere> each kernel is ~15 MiB, and we had 2.4.27, 2.6.15 and 2.6.16 
packages for i386, i686, k7, etc. :)
11:25 < pere> the Cd only have i686-smp kernel on the CD now.
11:25 < white> yeah i didn't really payed attention to that
11:26 < pere> every new kernel version propagating into etch will imediately 
occupy a large percentage of the CD until we exclude it or update to use the 
new version and exclude the old kernel.
11:27 < white> hmm installer freeze will fix that for us
11:27 < pere> I found that all 2.4 kernels depend on initrd-tools, so by 
excluding that package we are sure no 2.4 kernel make it to the CD.  before, 
I had to list each version independently.
11:28 < pere> there is also a bug in the debian-cd version we use (no idea if 
it is fixed in a later version).  If an udeb provides a normal package needed 
by one of our wanted packages, the normal package is not included on the CD.
11:29 < pere> debian-cd do not know the difference between udebs and normal 
debs, and assume the udeb can be used instead of the normal deb and thus skip 
the normal deb.  I've added a few packages to the hintfile to work around 
this. libsysfs2 and libdiscover1 had this problem.
11:31 < pere> any questions?
11:32 < white> i have to read it again and tryit when i want to hint a package
11:32 < white> i am sending the mail now

Attachment: pgpPsvjauf9v4.pgp
Description: PGP signature


Reply to: