[Aptitude-devel] Bug#843789: aptitude: please support Build-Depends/Conflicts-Arch

David Kalnischkies david at kalnischkies.de
Wed Nov 9 16:17:13 UTC 2016


Package: aptitude
Version: 0.8.3-1
Severity: wishlist
Control: block -1 by #837395
Tags: patch

Hi,

Bug #837395 requests support for these fields in apt which dpkg has for a while
now – see there for details on why. It would be nice if we could get support
for this into stretch so that packages can eventually use it.

The apt bug I marked as "blocker" is going to be fixed in the next upload (but
that might be still a few eons in the future) implementing the needed bits for
you to support it as well. As far as I can see all it takes is this patch, but
I haven't even tried to compile it…


diff --git a/src/cmdline/cmdline_action.cc b/src/cmdline/cmdline_action.cc
index 7926b1a..564b8d0 100644
--- a/src/cmdline/cmdline_action.cc
+++ b/src/cmdline/cmdline_action.cc
@@ -21,6 +21,7 @@
 #include <apt-pkg/pkgsystem.h>
 #include <apt-pkg/policy.h>
 #include <apt-pkg/version.h>
+#include <apt-pkg/macros.h>

 #include <stdio.h>
 #include <stdlib.h>
@@ -71,6 +72,9 @@ namespace
        it != sourcepkg.get_build_deps().end(); ++it)
       {
        bool is_conflict = (it->Type == pkgSrcRecords::Parser::BuildConflictIndep ||
+#if APT_PKG_ABI > 500 || (APT_PKG_ABI == 500 && APT_PKG_RELEASE >= 1)
+                           it->Type == pkgSrcRecords::Parser::BuildConflictArch ||
+#endif
                            it->Type == pkgSrcRecords::Parser::BuildConflict);

        if(arch_only && (it->Type == pkgSrcRecords::Parser::BuildDependIndep ||


As you see it should be possible to guard the changes so that aptitude remains
buildable in backport situations or whatnot. I would recommend (at least
temporary) to build-depend on a high enough apt version for the next upload to
have the binary built against the right version through. I haven't tried, but I
think your runtime dependencies do not increase by this automatically – I would
suggest to not push them manually through as that tighting dependencies tends
to cause more problems than it would solve in this situation… (aka: we don't do
it in the libapt <-> apt relation either && no breaks or similar).

btw: If this patch isn't applied aptitude treats Build-Conflicts-Arch packages as
Build-Depends which means it is going to install those packages… not really
what we want it to do (apt unpatched + libapt support would do the same btw).


Thanks for consideration & Best regards

David Kalnischkies
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/aptitude-devel/attachments/20161109/456ccd08/attachment.sig>


More information about the Aptitude-devel mailing list