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

Re: Sbuild doesn't pick experimental over unstable



Hi,

Quoting Daniel Stender (2015-07-10 09:32:19)
> The problem is, I can add experimental as extra repository (--extra-repository),
> but the dependency solver won't pick over the package in Sid and always pulls 1.9.0 [1].
> 
> Is this the way it's mend to work? Is there a way to cheat this?

the problem is, that the experimental repository has a Release file with
"NotAutomatic: yes" which means that apt will assign a pin priority of 1 to it.
The apt resolver will only consider the packages with the highest pin priority
for the solution (unless you instruct it to do otherwise) so it will by default
not consider packages coming from experimental.

As jwilk already noted, one solution is to choose aptitude as a resolver. Since
this seems to be a common problem, I wrote an entry in the sbuild Debian wiki
about this. Please extend or correct where necessary:

https://wiki.debian.org/sbuild#enabling_experimental

For example it currently misses that you might also be able to use
--extra-repository to temporarily enable experimental. If this indeed works,
please add this as a solution.

Another way to solve this would be to use apt with an external resolver like
this:

apt-get install --simulate --solver aspcud \
	-o APT::Solver::Strict-Pinning=false \
	-o APT::Solver::aspcud::Preferences="-new,-removed,-changed,+sum(solution,apt-pin)" \
	pkg-a

This would also consider packages from experimental when installing pkg-a while
at the same time find the solution with the most packages with a high pin value
(ie. least packages from experimental).

But this would of course require a change in sbuild and would probably not be
desirable because an external resolver like aspcud would have to become part of
the base chroot.

See apt bug #786609 for some discussion about apt's behaviour with
experimental.

Thanks!

cheers, josch

Attachment: signature.asc
Description: signature


Reply to: