[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