On Fri, 4 May 2012, Charles Plessy wrote:

> Le Thu, May 03, 2012 at 11:24:34AM -0400, Scott Moser a écrit :
> >
> > My goal would be to keep minimal changes from debian to ubuntu, and the
> > code there does not cause any issues that i'm aware of if there is no
> > readahead installed.  Is there some policy that explicitly calls that out?
>
> For ureadahead in particular, I was worried that it could cause problems as 
> the
> package does not exist in Debian.  After reading how diversions work (I never
> used them before), it looks like it would be harmless to keep that
> Ubuntu-specific code in the package for Debian.
>
> But more in general, I wonder if diversions are the good tool here.
>
>  - In the cloud-init packiage they are used to disable ureadahead.  Isn't
>    there a more propre way for package A to disable a service provided
>    by package B ?  If ureadahead must never run when cloud-init is
>    installed, its upstart job could test if cloud-init is installed and
>    exit in that case.  Or, if ureadahead and cloud-init should not be
>    installed together, wouldn't a simple Conflicts: statement solve the
>    problem ?

Disabling of readahead via diversion is the correct path in my opinion.
ureadahead is a dependency of 'ubuntu-minimal'.  So that is why we've not
conflicted with it.

ureadahead does not make sense in any virtual machine.  cloud-init was
designed to run in virtual machines... so we disable it.

cloud-init has recently been running more on real hardware, where
re-enabling ureadahead might make sense. I just opened a bug for that at
https://bugs.launchpad.net/ubuntu/+source/cloud-init/+bug/994698 , but
I consider it pretty low priority.
>
>  - In the grub-legacy-ec2, diversions are used to take over grub-set-default
>    from grub-legacy or grub2-common.  These two packages manage this
>    situation by conflicting with each other.  Wouldn't it be simpler to
>    also conflict with grub-legacy and grub2-common, or are there situations
>    where they should be installed together ?

grub-legacy-ec2 does conflict with grub.
grub-legacy-ec2's purpose in life is to manage /boot/grub/menu.lst without
worrying about installing a bootloader.  This is because EC2 instances
typically boot via pv-grub, which is a grub-alike that lives outside the
image, but reads /boot/grub/menu.lst from inside the image.

It explicitly does not conflict with grub-pc so you can create one image
(like one from cloud-images.ubuntu.com) that can run with grub-pc as the
bootloader or pv-grub as the bootloader.

> I am now looking at update-grub-legacy-ec2.  It uses debconf and ucf directly,
> wich make the package more complex (and will trigger extra work for the
> translations).  It looks like this was carried over from Ubuntu's grub-legacy
> package.  Is it still necssary in grub-legacy-ec2's context ?  Otherwise, I
> would be tempted to remove that part, in order to simplify the package.

We could separate grub-legacy-ec2 into its own source package, I would
support doing that, but its presense is necessary as described above.

Reply via email to