[SPECS] rc-boot - more work

Kamil Dziedzic kamil.listy at klecza.pl
Sun Jan 6 23:46:15 CET 2008


Elan Ruusamäe wrote:
> no. but why do you need to call rc-boot from rc-boot %post and %preun?
> it shouldn't it be called just only in kernel package %post, like grubby?
> (...)
> i really did mean rc-boot* and question was why it's needed to call from
> there, rather from kernel package.
>
> as it's kernel* package that provides the image to be added, isn't it?

Ok, propably I now understand what you mean.

This is quite good question so I have long answer;)

In last days I add to memtest86+, memtest86 and rescuecd subpackages which 
provides "images" for rc-boot. I add them to automate proces of adding those 
applications to bootloader. So when you install one of rc-boot-image-* it 
will automaticly add them to bootloader menu.

Now when you try to upgrade one of this rc-boot "images" or application then 
rc-boot will reload bootloader.
In first case for example rc-boot-image-memtest86 requires memtest86 so it 
will be installed by dependency and then will be called rc-boot from %post in 
rc-boot-image-memtest86.
In second case becouse for example rc-boot-image-memtest86 requires memtest86 
in exacly version, poldek will install it by greedy dependency and then 
will be called rc-boot from %post in rc-boot-image-memtest86.

Also on uninstall there is called rc-boot so it will remove application from 
bootloader menu.

Simple, automatic and works good.

But now comes one more image which I add - rc-boot-image-PLD. I add it becouse 
of this same reason why I add other rc-boot "images". To simplify adding 
kernel to bootloader menu. So simply install rc-boot-image-PLD to add PLD to 
bootloader menu (which is default kernel).

But in this case this solution is not perfect. rc-boot-image-PLD doesn't 
require kernel at all so we need to put rc-boot call in two places - in 
kernel and rc-boot-image-PLD. Leaving rc-boot call only in kernel is not 
enough becouse then when we install rc-boot-image-PLD, bootloader will be not 
reloaded so PLD will be not added to bootloader menu.

I can't add R: kernel to rc-boot-image-PLD becouse:
- We have many kernels (kernel, grsecurity, desktop) and all (not sure) of 
them uses /boot/vmlinuz and /boot/initrd
- I read somewhere that following PLD policy nothing should R: kernel (with 
what I agree... but not in this case;))

Now proposition part;) Propably this will be not accepted (I didn't even 
search if this will not break anything) but I don't have any other idea. So 
here it is:
- add rc-boot-image-* subpackage to all kernels (which are on ftp)
- put in them R: %{name} = %{version}-%{release}
- remove from kernels rc-boot call
- create uniq simlinks for each type of kernel in /boot 
(/boot/vmlinuz, /boot/vmlinuz-grsecurity, /boot/vmlinuz-desktop) (not sure if 
this is already done)

With this everyting will be ok. Also we will get in rc-boot support for 
simply, automatic installing simultaneously diffrent types of kernel 
(rc-boot-image-PLD, rc-boot-image-PLD-grsecurity, rc-boot-image-PLD-desktop).

This is just my little idea... feel free to criticise it;)
-- 
Regards, Kamil Dziedzic
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
Url : /mailman/pipermail/pld-devel-en/attachments/20080106/eec31e29/attachment.sig 


More information about the pld-devel-en mailing list