diff options
author | Johannes Schauer <josch@debian.org> | 2016-11-09 15:28:15 +0100 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2016-11-09 16:18:54 +0100 |
commit | c5f22e483cc0f31f2938874370ac776e40792069 (patch) | |
tree | ff6f63b7fd4f6cd84908c7b4d890e5872b64f002 /apt-pkg | |
parent | 9444da765692b9f49a06720b5a75a168d6552c1c (diff) |
add support for Build-Depends/Conflicts-Arch
These new enum values might cause "interesting" behaviour in tools not
expecting them – like an old apt would think a Build-Conflicts-Arch is
some sort of Build-Depends – but that can't reasonably be avoided and
effects only packages using B-D/C-A so if there is any breakage the
tools can easily be adapted.
The APT_PKG_RELEASE number is increased so that libapt users can detect
the availability of these new enum fields via:
#if APT_PKG_ABI > 500 || (APT_PKG_ABI == 500 && APT_PKG_RELEASE >= 1)
Closes: #837395
Diffstat (limited to 'apt-pkg')
-rw-r--r-- | apt-pkg/contrib/macros.h | 2 | ||||
-rw-r--r-- | apt-pkg/deb/debsrcrecords.cc | 8 | ||||
-rw-r--r-- | apt-pkg/srcrecords.cc | 4 | ||||
-rw-r--r-- | apt-pkg/srcrecords.h | 3 |
4 files changed, 11 insertions, 6 deletions
diff --git a/apt-pkg/contrib/macros.h b/apt-pkg/contrib/macros.h index 2727fd81f..bc1f523ea 100644 --- a/apt-pkg/contrib/macros.h +++ b/apt-pkg/contrib/macros.h @@ -165,7 +165,7 @@ // See also buildlib/libversion.mak #define APT_PKG_MAJOR 5 #define APT_PKG_MINOR 0 -#define APT_PKG_RELEASE 0 +#define APT_PKG_RELEASE 1 #define APT_PKG_ABI ((APT_PKG_MAJOR * 100) + APT_PKG_MINOR) #endif diff --git a/apt-pkg/deb/debsrcrecords.cc b/apt-pkg/deb/debsrcrecords.cc index d296161d6..5f0a75cd9 100644 --- a/apt-pkg/deb/debsrcrecords.cc +++ b/apt-pkg/deb/debsrcrecords.cc @@ -103,14 +103,16 @@ bool debSrcRecordParser::BuildDepends(std::vector<pkgSrcRecords::Parser::BuildDe unsigned int I; const char *Start, *Stop; BuildDepRec rec; - const char *fields[] = {"Build-Depends", + const char *fields[] = {"Build-Depends", "Build-Depends-Indep", "Build-Conflicts", - "Build-Conflicts-Indep"}; + "Build-Conflicts-Indep", + "Build-Depends-Arch", + "Build-Conflicts-Arch"}; BuildDeps.clear(); - for (I = 0; I < 4; I++) + for (I = 0; I < 6; I++) { if (ArchOnly && (I == 1 || I == 3)) continue; diff --git a/apt-pkg/srcrecords.cc b/apt-pkg/srcrecords.cc index 53d7e604d..a76604a8d 100644 --- a/apt-pkg/srcrecords.cc +++ b/apt-pkg/srcrecords.cc @@ -139,7 +139,9 @@ const char *pkgSrcRecords::Parser::BuildDepType(unsigned char const &Type) const char *fields[] = {"Build-Depends", "Build-Depends-Indep", "Build-Conflicts", - "Build-Conflicts-Indep"}; + "Build-Conflicts-Indep", + "Build-Depends-Arch", + "Build-Conflicts-Arch"}; if (unlikely(Type >= sizeof(fields)/sizeof(fields[0]))) return ""; return fields[Type]; diff --git a/apt-pkg/srcrecords.h b/apt-pkg/srcrecords.h index 9cc58c5b4..a3c8444de 100644 --- a/apt-pkg/srcrecords.h +++ b/apt-pkg/srcrecords.h @@ -56,7 +56,8 @@ APT_IGNORE_DEPRECATED_POP public: enum BuildDep {BuildDepend=0x0,BuildDependIndep=0x1, - BuildConflict=0x2,BuildConflictIndep=0x3}; + BuildConflict=0x2,BuildConflictIndep=0x3, + BuildDependArch=0x4,BuildConflictArch=0x5}; struct BuildDepRec { |