[buildd-tools-devel] Bug#570463: Hint aptitude to produce better solutions in AptitudeBuildDepSatisfier.
Modestas Vainius
modestas at vainius.eu
Fri Feb 19 00:39:54 UTC 2010
Package: libsbuild-perl
Version: 0.59.0-1
Severity: normal
File: /usr/share/perl5/Sbuild/AptitudeBuildDepSatisfier.pm
Tags: patch
Hello,
(this bug is actually against not-yet-released version 0.59.1-1).
All revelant information about aptitude features exercised by the patch can be
found in the aptitude-doc-en package at:
"Search tiers in the interactive dependency resolver"
file:///usr/share/doc/aptitude/html/en/ch02s03s04.html
"Configuring the interactive dependency resolver"
file:///usr/share/doc/aptitude/html/en/ch02s03s05.html
The patch and commit log is below. It applies on the top of the current
buildd/master branch.
Author: Modestas Vainius <modax at debian.org>
Date: Thu Feb 18 21:44:06 2010 +0200
Hint aptitude to produce better solutions in AptitudeBuildDepSatisfier.
Configure aptitude (0.6) to:
* Refuse solutions which involve removal of the dummy build depends package.
This is done by adding a respective resolver hint.
* Move "cancel all user's actions" (Keep-All-Tier) tier after Non-Default-Tier.
Generally, we want aptitude to try solutions with non-default versions before
refusing to do anything.
* Refuse solutions which involve removal of essential packages. The source
packages that need this are not worth building anyway.
Signed-off-by: Modestas Vainius <modax at debian.org>
diff --git a/lib/Sbuild/AptitudeBuildDepSatisfier.pm b/lib/Sbuild/AptitudeBuildDepSatisfier.pm
index 6dbf287..eb23725 100644
--- a/lib/Sbuild/AptitudeBuildDepSatisfier.pm
+++ b/lib/Sbuild/AptitudeBuildDepSatisfier.pm
@@ -155,6 +155,9 @@ EOF
'-o', 'APT::Install-Recommends=false',
'-o', 'Aptitude::CmdLine::Ignore-Trust-Violations=true',
'-o', 'Aptitude::ProblemResolver::StepScore=100',
+ '-o', "Aptitude::ProblemResolver::Hints::KeepDummy=reject $dummy_pkg_name :UNINST",
+ '-o', 'Aptitude::ProblemResolver::Keep-All-Tier=55000',
+ '-o', 'Aptitude::ProblemResolver::Remove-Essential-Tier=conflict',
'install',
$dummy_pkg_name,
(map { $_->[0] . "=" . $_->[1] } @non_default_deps)
-- System Information:
Debian Release: squeeze/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (101, 'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.32-2-amd64 (SMP w/1 CPU core)
Locale: LANG=lt_LT.UTF-8, LC_CTYPE=lt_LT.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages libsbuild-perl depends on:
ii adduser 3.112 add and remove users and groups
ii apt 0.7.25.3 Advanced front-end for dpkg
ii dctrl-tools 2.14 Command-line tools to process Debi
ii devscripts 2.10.61 scripts to make the life of a Debi
ii dpkg-dev 1.15.5.6 Debian package development tools
ii exim4 4.71-3 metapackage to ease Exim MTA (v4)
ii exim4-daemon-light [mail-tran 4.71-3 lightweight Exim MTA (v4) daemon
ii libfilesys-df-perl 0.92-3+b1 Module to obtain filesystem disk s
ii perl 5.10.1-11 Larry Wall's Practical Extraction
ii perl-modules 5.10.1-11 Core Perl modules
ii schroot 1.4.0-1 Execute commands in a chroot envir
libsbuild-perl recommends no packages.
libsbuild-perl suggests no packages.
-- no debconf information
More information about the Buildd-tools-devel
mailing list