FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian Kernel

 
 
LinkBack Thread Tools
 
Old 06-07-2010, 11:03 PM
Michael Prokop
 
Default Bug#505609: new lilo package maintainer? (was lilo removal in squeeze or please test grub2)

[Dropped the @lists.debian.org from Cc]

* Stephen Powell <zlinuxman@wowway.com> [Mon Jun 07, 2010 at 11:37:57AM -0400]:
> On Mon, 07 Jun 2010 10:33:52 -0400 (EDT), Holger Levsen wrote:

> > thanks for stepping up maintaining lilo in Debian! I hope you'll manage this
> > well.

> Um, thanks; but I don't understand the reassignment of bug number 505609 to
> package initramfs-tools. If you read my previous posts to the bug log, it
> is clear that this problem started with a change to the maintainer scripts
> between Etch and Lenny. Please read my posts again carefully. Then consider
> whether this is really a bug in initramfs-tools or a bug in the kernel maintainer
> scripts.
[...]

ACK. I don't think this is an i-t issue.
Any objections against reassigning back to linux-2.6?

regards,
-mika-
 
Old 06-16-2010, 03:25 AM
Ben Hutchings
 
Default Bug#505609: new lilo package maintainer? (was lilo removal in squeeze or please test grub2)

On Tue, 2010-06-08 at 09:43 -0400, Stephen Powell wrote:
> On Tue, 08 Jun 2010 07:39:58 -0400 (EDT), Vincent Danjean wrote:
> > On 07/06/2010 17:37, Stephen Powell wrote:
> >> But for a kernel install or reconfigure, it is the responsibility of the
> >> kernel maintainer scripts to invoke the bootloader. See also, for example,
> >> linux-image-2.6.26-2-s390.postinst, where zipl is assigned as the bootloader
> >> on line 38. This really is an "open and shut case", if only I can the kernel
> >> people to actually look at it! Please look at it!
> >
> > If I recall correctly, kernel maintainers have introduced
> > /etc/kernel/post{inst,rm}.d/ in order to avoid to hardcode each possible
> > bootloader in their script.
> > Can't lilo provide a script here ?
>
> do_bootloader = yes
>
> in /etc/kernel-img.conf means "run the historic boot loader for this platform".
> For the i386 platform (and amd64) the historic boot loader is lilo. For
> the s390 platform, that boot loader is zipl. The kernel maintainer scripts
> for the s390 platform still specify zipl as the boot loader
>
> my $loader = "zipl"; # lilo, silo, quik, palo, vmelilo, nettrom, arcboot, or delo
>
> so that
>
> do_bootloader = yes
>
> in /etc/kernel-img.conf will work. The kernel maintainer scripts for i386 and amd64
> for Lenny and beyond specify a null string. That is inconsistent. It should specify
>
> my $loader = "lilo"; # lilo, silo, quik, palo, vmelilo, nettrom, arcboot, or delo
>
> for consistency between platforms.
[...]

This code and the file /etc/kernel-img.conf are vestiges of
kernel-package which are gradually being removed from the official
kernel packages. Therefore I don't think we should reinstate this idea
of the default loader but we should change the code so that it doesn't
silently fail if do_loader is set and loader is not.

All packages that need to react to kernel installation or removal should
install appropriate hook scripts in the directories under /etc/kernel
instead of relying on specific support in the kernel maintainer scripts.

Ben.

--
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.
 
Old 06-16-2010, 03:48 AM
Ben Hutchings
 
Default Bug#505609: new lilo package maintainer? (was lilo removal in squeeze or please test grub2)

I wrote:
> This code and the file /etc/kernel-img.conf are vestiges of
> kernel-package which are gradually being removed from the official
> kernel packages. Therefore I don't think we should reinstate this idea
> of the default loader but we should change the code so that it doesn't
> silently fail if do_loader is set and loader is not.

How does this change look?

Ben.

--- linux-2.6/debian/templates/temp.image.plain/postinst (revision 15874)
+++ linux-2.6/debian/templates/temp.image.plain/postinst (working copy)
@@ -1180,25 +1180,32 @@
LOADER: {
last unless $do_boot_enable; # Exit if explicitly asked to

- last if $loader =~ /silo/i; # SILO does not have to be executed.
- last if $loader =~ /yaboot/i; # yaboot does not have to be executed.
- last if $loader =~ /milo/i; # MILO does not have to be executed.
- last if $loader =~ /nettrom/i; # NETTROM does not have to be executed.
- last if $loader =~ /arcboot/i; # ARCBOOT does not have to be executed.
- last if $loader =~ /delo/i; # DELO does not have to be executed.
- if ($official_image =~ /^s*YESs*$/o) {
- last if $loader =~ /quik/i; # maintainer asked quik invocation to be ignored
+ if (!$explicit_do_loader) {
+ last if $loader =~ /silo/i; # SILO does not have to be executed.
+ last if $loader =~ /yaboot/i; # yaboot does not have to be executed.
+ last if $loader =~ /milo/i; # MILO does not have to be executed.
+ last if $loader =~ /nettrom/i; # NETTROM does not have to be executed.
+ last if $loader =~ /arcboot/i; # ARCBOOT does not have to be executed.
+ last if $loader =~ /delo/i; # DELO does not have to be executed.
+ if ($official_image =~ /^s*YESs*$/o) {
+ last if $loader =~ /quik/i; # maintainer asked quik invocation to be ignored
+ }
}

- last unless $loaderloc;
- last unless -x $loaderloc;
last unless $do_bootloader;

- if (-T "/etc/$loader.conf") {
+ if ($loaderloc && -x $loaderloc && -T "/etc/$loader.conf") {
# Trust and use the existing lilo.conf.
print STDERR "You already have a $Loader configuration in /etc/$loader.conf
";
my $ret = &run_lilo();
exit $ret if $ret;
+ } else {
+ if ($loader) {
+ print STDERR "$Loader was not found and has not been updated
";
+ } else if ($explicit_do_loader || !$postinst_hook) {
+ print STDERR "No bootloader has been configured in /etc/kernel-img.conf
"
+ . "The bootloader may need to be updated manually
";
+ }
}
}

--- END ---

--
Ben Hutchings
Once a job is fouled up, anything done to improve it makes it worse.
 
Old 06-17-2010, 04:33 PM
Stephen Powell
 
Default Bug#505609: new lilo package maintainer? (was lilo removal in squeeze or please test grub2)

On Tue, 15 Jun 2010 23:25:45 -0400 (EDT), Ben Hutchings wrote:
> On Tue, 2010-06-08 at 09:43 -0400, Stephen Powell wrote:
>>
>> do_bootloader = yes
>>
>> in /etc/kernel-img.conf means "run the historic boot loader for this platform".
>> For the i386 platform (and amd64) the historic boot loader is lilo. For
>> the s390 platform, that boot loader is zipl. The kernel maintainer scripts
>> for the s390 platform still specify zipl as the boot loader
>>
>> my $loader = "zipl"; # lilo, silo, quik, palo, vmelilo, nettrom, arcboot, or delo
>>
>> so that
>>
>> do_bootloader = yes
>>
>> in /etc/kernel-img.conf will work. The kernel maintainer scripts for i386 and amd64
>> for Lenny and beyond specify a null string. That is inconsistent. It should specify
>>
>> my $loader = "lilo"; # lilo, silo, quik, palo, vmelilo, nettrom, arcboot, or delo
>>
>> for consistency between platforms.
>> [...]
>
> This code and the file /etc/kernel-img.conf are vestiges of
> kernel-package which are gradually being removed from the official
> kernel packages. Therefore I don't think we should reinstate this idea
> of the default loader but we should change the code so that it doesn't
> silently fail if do_loader is set and loader is not.

Well, I agree that the maintainer script should not silently fail.
But removing support for the historic boot loader actually makes the
official stock Debian kernel image package maintainer scripts *more*
like kernel-package, not less. To be more precise, it makes them
more like the *Squeeze* version of kernel-package. The maintainer
scripts which get packaged with a kernel image package created by
make-kpkg under Squeeze and later releases no longer perform *any*
post installation activities. They do not create an initial RAM file
system (even if the --initrd option was specified on the make-kpkg
command line), they do not maintain symbolic links (even if
"do_symlinks = yes" is specified in /etc/kernel-img.conf), and they
do not run the historic boot loader (even if "do_bootloader = yes" is
specified in /etc/kernel-img.conf). If you want any of these things
done, then either the user or an installed package must provide hook
scripts to accomplish this. The maintainer scripts packaged
with kernel image packages created by make-kpkg under Lenny and
previous releases still do all these things.

I can maybe accept your proposal for Squeeze. But for Lenny, I believe
that the maintainer scripts should be changed back they way they
were. In other words,

my $loader = "lilo"; # lilo, silo, quik, palo, vmelilo, nettrom, arcboot, or delo

should be set in the maintainer scripts. After all, Lenny does
not have the generalized hook script environment that Squeeze does.
I believe that this bug is severe enough to warrant inclusion of the
fix in stable-proposed-updates.

>
> All packages that need to react to kernel installation or removal should
> install appropriate hook scripts in the directories under /etc/kernel
> instead of relying on specific support in the kernel maintainer scripts.
>

Again, I can maybe accept that argument for Squeeze, but not for Lenny.
However, to be consistent, if you're going to leave "my $loader" set to the null
string in i386 and amd64 kernel maintainer scripts, you should also set
it to the null string for s390 kernel maintainer scripts.
This will affect the s390-tools package, which includes the zipl boot
loader for the s390 platform; so I'm copying them in on this. If your
proposed solution goes through, they will need to create some kind of
hook script too, or at least document the need for one. And so will lilo.
And when we're all done, that leaves us with one foot in the old way
of doing things and one foot in the new way of doing things. The initial
RAM file system will still be created automatically, symlinks will still
be maintained (if requested in /etc/kernel-img.conf), but the historic
boot loader will not be run.

I would rather see the the stock kernel
maintainer scripts do none of the above, like the new kernel-package,
or all of the above, like the historic stock kernel maintainer scripts.
And this is pretty late in the Squeeze development cycle to start making
design changes. We're getting pretty close to a freeze, are we not?
It sure seems to me like a one-line change in the kernel maintainer
scripts is a much faster and much simpler fix, not to mention more
consistent. The maintainer scripts' support for the historic boot
loader should be retained, in my opinion, at least for Squeeze. Then,
if you want to change the design of how kernel maintainer scripts
work, that can be done in Squeeze+1.

--
.'`. Stephen Powell
: :' :
`. `'`
`-



--
To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 1270915198.75740.1276792438126.JavaMail.root@md01. wow.synacor.com">http://lists.debian.org/1270915198.75740.1276792438126.JavaMail.root@md01. wow.synacor.com
 
Old 06-17-2010, 10:11 PM
Ben Hutchings
 
Default Bug#505609: new lilo package maintainer? (was lilo removal in squeeze or please test grub2)

On Thu, Jun 17, 2010 at 12:33:58PM -0400, Stephen Powell wrote:
[...]
> I can maybe accept your proposal for Squeeze. But for Lenny, I believe
> that the maintainer scripts should be changed back they way they
> were. In other words,
>
> my $loader = "lilo"; # lilo, silo, quik, palo, vmelilo, nettrom, arcboot, or delo
>
> should be set in the maintainer scripts. After all, Lenny does
> not have the generalized hook script environment that Squeeze does.

But it does allow users to configure the loader to be run, using either
the 'loader' or 'postinst_hook' variable.

> I believe that this bug is severe enough to warrant inclusion of the
> fix in stable-proposed-updates.

The fact that the historical bootloader is not automatically run is not a
bug; it is an intentional change. Only the silent failure is a bug.

> >
> > All packages that need to react to kernel installation or removal should
> > install appropriate hook scripts in the directories under /etc/kernel
> > instead of relying on specific support in the kernel maintainer scripts.
> >
>
> Again, I can maybe accept that argument for Squeeze, but not for Lenny.
> However, to be consistent, if you're going to leave "my $loader" set to the null
> string in i386 and amd64 kernel maintainer scripts, you should also set
> it to the null string for s390 kernel maintainer scripts.

Yes. I think that's probably a reasonable change for squeeze.

[...]
> The maintainer scripts' support for the historic boot
> loader should be retained, in my opinion, at least for Squeeze. Then,
> if you want to change the design of how kernel maintainer scripts
> work, that can be done in Squeeze+1.

It cannot be 'retained' because it is not there at present. Nor will it
be reinstated.

Ben.

--
Ben Hutchings
We get into the habit of living before acquiring the habit of thinking.
- Albert Camus



--
To UNSUBSCRIBE, email to debian-kernel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 20100617221104.GR5306@decadent.org.uk">http://lists.debian.org/20100617221104.GR5306@decadent.org.uk
 

Thread Tools




All times are GMT. The time now is 03:57 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright 2007 - 2008, www.linux-archive.org