[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug: config/apt/preferences ignored



On 08/20/2013 09:56 AM, Robert Spencer wrote:
> Most of our customers are still on squeeze and there's SLA's in place to
> support them.

Fair enough.

> Okay, but in my defense I wasn't filing a bug. I wanted confirmation
> whether I'd found one.
> 
> cron:
>   Installed: 3.0pl1-124
>   Candidate: 3.0pl1-124
>   Package pin: 3.0pl1-124
>   Version table:
>  *** 3.0pl1-124 -1
>         500 http://cdn.idms-linux.org/debian/ wheezy/main amd64 Packages
>         100 /var/lib/dpkg/status
> 
> rsyslog and logrotate are also "-1". So not a bug, just extremely
> irritating.

OK. So then we look at why it's installed. 'aptitude why' could illuminate.

>> 'cron' is actually in one of your package lists.
> 
> It's not.

When i say "your" i don't mean necessarily your custom lists only, but
everything that 'lb build' explicitly asks for. Each one of these is
going to be at least logged in your log ...

> I suspect there's some basic system that live-build always sets up and
> that's installing cron, logrotate and rsyslog.

It's not live-specific, though ...

> According to aptitude:
> 
> logrotate depends on cron.
> rsyslog recommends logrotate.
> cron suggests logrotate.
> 
> Non are marked as being automatically installed. There are no other
> dependencies on those packages.

All of them are priority "important". This is why it's important to
examine your build log before reporting. If you had done that, you would
see they are all installed in the bootstrap phase, so none of your apt
pinning has any affect on that.

> What would you say is the right way to get rid of packages you don't
> want installed?

It depends on where they are included. In this specific case, exclude
them from your bootstrap. Use DEBOOTSTRAP_OPTIONS environment variable;
see debootstrap(8) man page for what can go in here, specifically the
--exclude option in your case.

This is an unpublished option obeyed by
/usr/lib/live/build/scripts/bootstrap_debootstrap. Be aware:

a) unpublished options like this are subject to change without notice in
future versions; they go in the environment of your build script, not in
the live config itself (hint: modify the environment of the build in
auto/build)

b) you need to use the default --bootstrap debootstrap option (if you
didn't change this from the default, there's nothing to do here :)

c) because the problem is in the bootstrap, make sure you start from a
completely clean build tree (i.e. 'lb clean --purge') so the bootstrap
will be rebuilt

Ben


Reply to: