Re: Packaging python-mocker and cloud-init in Debian ?

2012-05-09 Thread Scott Moser
On Wed, 9 May 2012, Charles Plessy wrote:

 Le Sat, May 05, 2012 at 01:29:24PM -0400, Scott Moser a écrit :
  On Sat, 5 May 2012, Charles Plessy wrote:
 
   I think that your proposition to separate grub-legacy-ec2 is good, 
   especially
   that in Debian, the plan is to maintain cloud-init in the python 
   applications
   packaging team, and grub-legacy-ec2 has nothing to do with Python.
  
   It looks like ideally, the functions of grub-legacy-ec2 could be attached 
   to
   the grub2 package so that they can share their configuration.  How about 
   if I
   contact the grub2 maintainers and tell about the need to create menu.lst 
   in
   pv-grub-booted systems, proposing grub-legacy-ec2's code as a starting 
   point ?
 
  I think that sounds like a good idea.

 Hi again,

 I proposed the idea to the grub2 maintainers in http://bugs.debian.org/672104.

I spoke to Colin Watson about this today, and he suggested that grub2 was
not the right place for this.  But, he would help/sponsor a
grub-legacy-ec2 package into debian.  So I think we'll chase that.

 In the meantime, I consider uploading a version of cloud-init where
 grub-legacy-ec2 and all the diversions have been removed.  Would this make 
 your
 work hader in Ubuntu ?

As long as you're willing to work towards a unified package in the
future, I'm not opposed to that.

The biggest missing piece is the sysvinit scripts.  I don't think you added
any, did you?

 Have a nice day,

Thanks for your help, Charles.
Scott

Re: Packaging python-mocker and cloud-init in Debian ?

2012-05-05 Thread Scott Moser
On Sat, 5 May 2012, Charles Plessy wrote:

 Hi again,

 I think that the best start would be to upload a lean version of cloud-init,
 see below for details.  Would it inflict you a significant work overhead ?

 Le Fri, May 04, 2012 at 03:18:45PM -0400, Scott Moser a écrit :
  On Fri, 4 May 2012, Charles Plessy wrote:
  
- 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.

 I sampled opinions on the matter on debian-mentors, and the one answer I had
 for the moment is also supporting that it is ureadahead that should contain
 what is necessary for not running in presence of cloud-init.

I agree that it would be better to have ureadahead know that it
shouldn't run.  I'll chase that a bit.


 I can keep the current Ubuntu code in the Debian package, but if somebody 
 would
 upload ureadahead to Debian, I think that would made cloud-init seriously 
 buggy
 according to Debian's policy.  So if possible, I would prefer to keep the code
 out.

which policy would that be?  IIRC, I was advised to do the dpkg-divert by
an experienced debian developer.

- 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.

 On Debian Sid, grub depends on grub-pc, which is grub 2.  So cloud-init in
 Debian should at least be corrected to conflict against grub-legacy.  For the

I think you meant 'grub-legacy-ec2' in debian should be corrected to
conflict against grub-legacy. (not cloud-init, but grub-legacy-ec2).  I
agree with that.

 use of grub-pc and grub-legacy-ec2 at the same time, do you forsee cases where
 there would need different defaults for grub-legacy-ec2 and grub-pc ?

I'm sorry, I'm not sure what you mean by 'defaults'.
If you mean which kernel to boot, there is some unfortunate code in
grub-legacy-ec2 that explicitly ignores certain kernels by kernel name
because they're known not to boot (due to buggyness of kernel, not
config... thats largely historical).


 I think that your proposition to separate grub-legacy-ec2 is good, especially
 that in Debian, the plan is to maintain cloud-init in the python applications
 packaging team, and grub-legacy-ec2 has nothing to do with Python.

 It looks like ideally, the functions of grub-legacy-ec2 could be attached to
 the grub2 package so that they can share their configuration.  How about if I
 contact the grub2 maintainers and tell about the need to create menu.lst in
 pv-grub-booted systems, proposing grub-legacy-ec2's code as a starting point ?

I think that sounds like a good idea.

 Have a nice day,

Re: Packaging python-mocker and cloud-init in Debian ?

2012-05-04 Thread Scott Moser
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.

Re: Packaging python-mocker and cloud-init in Debian ?

2012-05-03 Thread Scott Moser
On Thu, 3 May 2012, Charles Plessy wrote:

 I have injected cloud-init to the python-apps repository (thanks to the
 admins).  I am currently studying how it works, and have done a couple of
 cleanings and updates on low-hanging fruits.  Any help will be much 
 appreciated !

   
 http://anonscm.debian.org/viewvc/python-apps/packages/cloud-init/trunk/debian/?view=log

Thanks.
I'm fine with all the changes I see there other than
http://anonscm.debian.org/viewvc/python-apps/packages/cloud-init/trunk/debian/cloud-init.postrm?revision=8606view=markuppathrev=8607

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?


-- 
To UNSUBSCRIBE, email to debian-python-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/alpine.DEB.2.02.1205031118580.4667@brickies