]> git.saurik.com Git - apt.git/commitdiff
implement $(NATIVE_ARCHITECTURE) substvar for indextargets
authorDavid Kalnischkies <david@kalnischkies.de>
Sun, 30 Aug 2015 10:14:06 +0000 (12:14 +0200)
committerDavid Kalnischkies <david@kalnischkies.de>
Sun, 30 Aug 2015 10:14:06 +0000 (12:14 +0200)
apt-pkg/deb/debmetaindex.cc
doc/acquire-additional-files.txt

index 08d8ef05e795c671645ec485f328214dfc59c966..419de12e8669817499b0acc012d79d562e89bd11 100644 (file)
@@ -133,6 +133,7 @@ static void GetIndexTargetsFor(char const * const Type, std::string const &URI,
         DefCompressionTypes = os.str();
       }
    }
+   std::string const NativeArch = _config->Find("APT::Architecture");
    bool const GzipIndex = _config->FindB("Acquire::GzipIndexes", false);
    for (std::vector<debReleaseIndexPrivate::debSectionEntry>::const_iterator E = entries.begin(); E != entries.end(); ++E)
    {
@@ -170,6 +171,10 @@ static void GetIndexTargetsFor(char const * const Type, std::string const &URI,
                  Options.insert(std::make_pair("LANGUAGE", *L));
               if (tplMetaKey.find("$(ARCHITECTURE)") != std::string::npos)
                  Options.insert(std::make_pair("ARCHITECTURE", *A));
+              else if (tplMetaKey.find("$(NATIVE_ARCHITECTURE)") != std::string::npos)
+                 Options.insert(std::make_pair("ARCHITECTURE", NativeArch));
+              if (tplMetaKey.find("$(NATIVE_ARCHITECTURE)") != std::string::npos)
+                 Options.insert(std::make_pair("NATIVE_ARCHITECTURE", NativeArch));
 
               std::string MetaKey = tplMetaKey;
               std::string ShortDesc = tplShortDesc;
index 37773c321d7882e4c50f9aa741b28b58ee40fc55..c52955619164dea7f7d6beda0f056cb62d39abeb 100644 (file)
@@ -168,6 +168,9 @@ printed as-is.
   APT::Architectures (potentially modified by sources.list options),
   e.g. "amd64", "i386" or "armel" for the 'deb' type. In type 'deb-src'
   this variable has the value "source".
+* $(NATIVE_ARCHITECTURE): The architecture apt treats as the native
+  architecture for this system configured as APT::Architecture
+  defaulting to the architecture apt itself was built for.
 
 Note that while more variables might exist in the implementation, these
 are to be considered undefined and their usage strongly discouraged. If