From 45430cbf4cae3613394cdb7eb2cc82103407cb59 Mon Sep 17 00:00:00 2001 From: Arch Librarian Date: Mon, 20 Sep 2004 16:58:42 +0000 Subject: [PATCH] Add --arch-only option for apt-get build-dep only only ... Author: tausq Date: 2001-11-04 17:09:18 GMT Add --arch-only option for apt-get build-dep only only process arch-dependent build-dependencies. Small change to srcrecord class; bumped minor so number to 3.3 --- apt-pkg/deb/debsrcrecords.cc | 7 +++++-- apt-pkg/deb/debsrcrecords.h | 4 ++-- apt-pkg/init.h | 4 ++-- apt-pkg/makefile | 2 +- apt-pkg/srcrecords.h | 4 ++-- cmdline/apt-get.cc | 5 +++-- doc/apt-get.8.sgml | 6 ++++++ 7 files changed, 21 insertions(+), 11 deletions(-) diff --git a/apt-pkg/deb/debsrcrecords.cc b/apt-pkg/deb/debsrcrecords.cc index d452095c..639079be 100644 --- a/apt-pkg/deb/debsrcrecords.cc +++ b/apt-pkg/deb/debsrcrecords.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: debsrcrecords.cc,v 1.4 2001/02/20 07:03:17 jgg Exp $ +// $Id: debsrcrecords.cc,v 1.5 2001/11/04 17:09:18 tausq Exp $ /* ###################################################################### Debian Source Package Records - Parser implementation for Debian style @@ -47,7 +47,7 @@ const char **debSrcRecordParser::Binaries() package/version records representing the build dependency. The returned array need not be freed and will be reused by the next call to this function */ -bool debSrcRecordParser::BuildDepends(vector &BuildDeps) +bool debSrcRecordParser::BuildDepends(vector &BuildDeps, bool ArchOnly) { unsigned int I; const char *Start, *Stop; @@ -61,6 +61,9 @@ bool debSrcRecordParser::BuildDepends(vector for (I = 0; I < 4; I++) { + if (ArchOnly && (I == 1 || I == 3)) + continue; + if (Sect.Find(fields[I], Start, Stop) == false) continue; diff --git a/apt-pkg/deb/debsrcrecords.h b/apt-pkg/deb/debsrcrecords.h index 477fe4fe..a4973479 100644 --- a/apt-pkg/deb/debsrcrecords.h +++ b/apt-pkg/deb/debsrcrecords.h @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: debsrcrecords.h,v 1.6 2001/02/20 07:03:17 jgg Exp $ +// $Id: debsrcrecords.h,v 1.7 2001/11/04 17:09:18 tausq Exp $ /* ###################################################################### Debian Source Package Records - Parser implementation for Debian style @@ -39,7 +39,7 @@ class debSrcRecordParser : public pkgSrcRecords::Parser virtual string Maintainer() const {return Sect.FindS("Maintainer");}; virtual string Section() const {return Sect.FindS("Section");}; virtual const char **Binaries(); - virtual bool BuildDepends(vector &BuildDeps); + virtual bool BuildDepends(vector &BuildDeps, bool ArchOnly); virtual unsigned long Offset() {return iOffset;}; virtual string AsStr() { diff --git a/apt-pkg/init.h b/apt-pkg/init.h index b07bc99e..ed8a607b 100644 --- a/apt-pkg/init.h +++ b/apt-pkg/init.h @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: init.h,v 1.8 2001/04/22 05:42:52 jgg Exp $ +// $Id: init.h,v 1.9 2001/11/04 17:09:18 tausq Exp $ /* ###################################################################### Init - Initialize the package library @@ -18,7 +18,7 @@ // See the makefile #define APT_PKG_MAJOR 3 -#define APT_PKG_MINOR 2 +#define APT_PKG_MINOR 3 #define APT_PKG_RELEASE 0 extern const char *pkgVersion; diff --git a/apt-pkg/makefile b/apt-pkg/makefile index e1b4d615..f8cb1ddc 100644 --- a/apt-pkg/makefile +++ b/apt-pkg/makefile @@ -12,7 +12,7 @@ include ../buildlib/defaults.mak # The library name, don't forget to update init.h LIBRARY=apt-pkg LIBEXT=$(GLIBC_VER)$(LIBSTDCPP_VER) -MAJOR=3.2 +MAJOR=3.3 MINOR=0 SLIBS=$(PTHREADLIB) diff --git a/apt-pkg/srcrecords.h b/apt-pkg/srcrecords.h index f63d0934..4eebf48f 100644 --- a/apt-pkg/srcrecords.h +++ b/apt-pkg/srcrecords.h @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: srcrecords.h,v 1.7 2001/05/07 04:24:08 jgg Exp $ +// $Id: srcrecords.h,v 1.8 2001/11/04 17:09:18 tausq Exp $ /* ###################################################################### Source Package Records - Allows access to source package records @@ -72,7 +72,7 @@ class pkgSrcRecords virtual string Section() const = 0; virtual const char **Binaries() = 0; // Ownership does not transfer - virtual bool BuildDepends(vector &BuildDeps) = 0; + virtual bool BuildDepends(vector &BuildDeps, bool ArchOnly) = 0; static const char *BuildDepType(unsigned char Type); virtual bool Files(vector &F) = 0; diff --git a/cmdline/apt-get.cc b/cmdline/apt-get.cc index e7b747e3..76945b80 100644 --- a/cmdline/apt-get.cc +++ b/cmdline/apt-get.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: apt-get.cc,v 1.110 2001/10/02 03:16:28 tausq Exp $ +// $Id: apt-get.cc,v 1.111 2001/11/04 17:09:18 tausq Exp $ /* ###################################################################### apt-get - Cover for dpkg @@ -1860,7 +1860,7 @@ bool DoBuildDep(CommandLine &CmdL) // Process the build-dependencies vector BuildDeps; - if (Last->BuildDepends(BuildDeps) == false) + if (Last->BuildDepends(BuildDeps, _config->FindB("APT::Get::Arch-Only",false)) == false) return _error->Error(_("Unable to get build-dependency information for %s"),Src.c_str()); if (BuildDeps.size() == 0) @@ -2119,6 +2119,7 @@ int main(int argc,const char *argv[]) {0,"trivial-only","APT::Get::Trivial-Only",0}, {0,"remove","APT::Get::Remove",0}, {0,"only-source","APT::Get::Only-Source",0}, + {0,"arch-only","APT::Get::Arch-Only",0}, {'c',"config-file",0,CommandLine::ConfigFile}, {'o',"option",0,CommandLine::ArbItem}, {0,0,0,0}}; diff --git a/doc/apt-get.8.sgml b/doc/apt-get.8.sgml index 7d4b7c93..85a57b11 100644 --- a/doc/apt-get.8.sgml +++ b/doc/apt-get.8.sgml @@ -397,6 +397,12 @@ +