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