Bug#539578: [pbuilder] Non-functional if aptitude uninstallable (even in classic mode)

Loïc Minier lool at dooz.org
Sat Jan 2 16:26:31 UTC 2010


tag 539578 + pending
stop

On Sat, Aug 08, 2009, Junichi Uekawa wrote:
> At Wed, 05 Aug 2009 07:28:28 +0800,
> Jason Heeris wrote:
> > 
> > Junichi Uekawa wrote:
> > 
> > > Why not fix aptitude or remove it from base?
> > 
> > I may well be doing things wrong, but it seems impossible to do that. I
> > can put it in "REMOVEPACKAGES" and it still gets installed. I should
> > point out that I'm also trying to create a new base, and I get the same
> > problem.
> > 
> > I realise that this is a known problem, and that sid can't always be
> > expected to be sane:
> > http://lists.debian.org/debian-devel/2009/08/msg00089.html
> > 
> > ...but my point is just that aptitude seems to be installed without any
> > intervention from the user, and it isn't strictly necessary (again,
> > maybe I'm wrong).
> 
> I don't feel that sympathetic here because I'd rather have functional
> aptitude in sid all the time, and working around it isn't my priority.
> 
> However, that said, it seems like aptitude is not strictly required to
> be installed, yet it is explicitly installed in create / update. I
> don't quite remember why I added it, because
> pbuilder-satisfydepends-aptitude does try to install aptitude.

 I think the apt-get install snippet to install aptitude in
 pbuilder-satisfydepends-aptitude will cause aptitude to be installed
 each time one launches a build if aptitude is missing from the base.tgz
 / basepath.  This is a bit ugly, but I think I did this to make sure it
 would work on upgrades.  Adding aptitude to apt-get is probably how you
 avoided this recurring installation.

 I just committed a change to install aptitude when
 pbuilder-satisfydepends points to -aptitude (I had to make
 pbuilder-satisfydepends a symlink first, see #448098); this is not
 overriden with --extrapackages "", but I think this is the correct
 thing to do.  aptitude will also be removed if you don't use
 pbuilder-satisfydepends-aptitude and you update your pbuilder env.

 I tested this as follows:
 - pbuilder create in the default config => pulled aptitude in the tgz
   (note that aptitude is Priority: important, so it's debootstraped by
   default)
 - pbuilder update => kept aptitude ("aptitude is already the newest
   version.")
 - switched PBUILDERSATISFYDEPENDSCMD to -gdebi, pbuilder update =>
   removed aptitude tasksel tasksel-data (taskdel depends on aptitude
   and tasksel-data)
 - pbuilder create => installed and removed aptitude, tasksel,
   tasksel-data
 - pbuilder update => didn't install aptitude ("Package aptitude is not
   installed, so not removed")
 - switched PBUILDERSATISFYDEPENDSCMD to
   /usr/lib/pbuilder/pbuilder-satisfydepends, pbuilder update =>
   installed aptitude (and only aptitude, not its recommends or the
   suggested tasksel and tasksel-data)
 - Set DEBOOTSTRAPOPTS[0]='--variant=buildd', pbuilder create =>
   installed aptitude after the debootstrap

   Thanks,
-- 
Loïc Minier





More information about the Pbuilder-maint mailing list